.calm-home{--plan-yellow:#ffd400}
/* One shared interaction layer: no layout movement on touch or reduced motion. */
.nav-past-projects{white-space:nowrap}
.menu-sections .menu-past-projects{background:#fff0e7;color:var(--accent);font-weight:700}
.calm-home .campaign-enquiry{padding:32px 0}
.campaign-enquiry-layout{width:min(1120px,calc(100% - 56px));grid-template-columns:minmax(0,1fr) minmax(390px,520px);gap:64px}
.campaign-enquiry-copy.enquiry-plan-circle{width:min(100%,400px);max-width:400px;aspect-ratio:1;justify-self:center;border-radius:50%;padding:30px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:3px solid var(--plan-yellow);box-shadow:none}
.calm-home .enquiry-plan-circle h2{font-size:29px;line-height:1.15;max-width:290px}
.calm-home .enquiry-plan-circle .eyebrow{color:#17191a;font-size:10px;margin-bottom:12px}
.calm-home .enquiry-plan-circle>p:not(.eyebrow){font-size:14px;line-height:1.55;margin-top:12px;max-width:280px}
.calm-case-feature>.project-reel-frame{position:relative;padding:0;min-height:350px;overflow:hidden;background:#eef1ed}
.project-reel-frame .reel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transition:opacity .45s ease,transform .4s ease;pointer-events:none}
.project-reel-frame .reel-photo.is-current{opacity:1}
.project-reel-controls[hidden]{display:none}
.project-reel-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.project-reel-controls button{min-height:44px;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:700}
.project-reel-controls button[disabled]{opacity:.6;cursor:default}
.reel-count{font-size:12px;margin-left:auto;color:var(--muted)}
.calm-home .project-reel-caption{font-size:12px;line-height:1.6;margin-top:9px;max-width:760px}
@media(min-width:1001px) and (max-width:1150px){.desktop-nav>a:not(.nav-past-projects){display:none}.desktop-nav{gap:6px}}

@media(max-width:900px){
 .campaign-enquiry-layout{width:calc(100% - 32px);grid-template-columns:1fr;gap:22px}
 .calm-home .campaign-enquiry{padding:26px 0 30px}
 .campaign-enquiry-copy.enquiry-plan-circle{justify-self:stretch;width:100%;max-width:none;aspect-ratio:auto;border-radius:24px;padding:23px;text-align:left;align-items:flex-start;box-shadow:none}
 .calm-home .enquiry-plan-circle h2{font-size:27px;max-width:360px}
 .calm-home .enquiry-plan-circle>p:not(.eyebrow){font-size:14px;max-width:none;margin-top:13px}
 .calm-case-feature>.project-reel-frame{min-height:290px}
 .project-reel-controls{gap:6px}
 .project-reel-controls button{padding:9px 12px;font-size:11px}
 .reel-count{font-size:11px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 a,button,summary{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
 a:hover,button:not([disabled]):hover,summary:hover{transform:translateY(-1px)}
 .calm-service:hover,.calm-project-card:hover,.calm-case-feature:hover,.project-card:hover,.area-directory-grid>a:hover,.regional-related-links>a:hover,.mega-link:hover,.calm-resource-grid>a:hover{transform:translateY(-3px);box-shadow:0 10px 25px #17212610}
 main a img,main figure img{transition:transform .4s ease}
 main a:hover img,main figure:hover img{transform:scale(1.035)}
 .calm-case-feature:hover .reel-photo{transform:scale(1.04)}
 .header .brand:hover,.mobile-dock a:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.reel-photo{transition:none!important}a,button,summary,main img{transform:none!important;transition:none!important}}
.motion-paused .reel-photo,.motion-paused a,.motion-paused button,.motion-paused main img{transition:none!important;transform:none!important}

.plan-icons{display:flex;justify-content:center;gap:23px;width:100%;margin-top:18px}.plan-icons>span{display:flex;flex-direction:column;align-items:center;gap:6px}.plan-icons svg{width:29px;height:29px;fill:none;stroke:#17191a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.plan-icons small{font-size:9px;line-height:1.2;color:#454b48;white-space:nowrap}@media(max-width:900px) and (min-width:701px){.plan-icons{gap:12px;margin-top:14px}.plan-icons svg{width:25px;height:25px}.plan-icons small{font-size:8px}}@media(max-width:900px){.plan-icons{justify-content:flex-start;gap:26px;margin-top:18px}}
