/* Shared public header/footer appearance; policy content keeps its own typography. */
body>header a.logo{display:flex;align-items:center;justify-content:center;width:76px;height:64px;overflow:hidden;flex-shrink:0}
body>header .header-chameleon{display:block;width:76px;height:76px;max-width:none;flex-shrink:0;object-fit:contain;filter:brightness(0);mix-blend-mode:normal}
/* Reuse the transparent silhouette for an exact brand-color logo. */
@supports (mask-image: url("")) or (-webkit-mask-image: url("")){
body>header a.logo{position:relative!important}
body>header .header-chameleon{opacity:0}
body>header a.logo::before{content:"";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:76px;height:76px;background:#40583e;-webkit-mask:url('../branding/chameleon-black-transparent.png') center/contain no-repeat;mask:url('../branding/chameleon-black-transparent.png') center/contain no-repeat}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)) a.logo::before{background:#fff}
}
/* Readable rhythm without enlarging the hero, menus, or photo grid. */
body main p{line-height:1.8}
body main p+p{margin-top:18px}
body main :is(.about-description,.capabilities-intro,.podcast-description,.service-description-main,.blog-excerpt,.article-content p,.service-row p,.legal-main p){line-height:1.8}
body main :is(.about-description,.podcast-description,.service-description-main){margin-bottom:24px}
body main :is(.article-content,.legal-main) h2{margin-top:40px;margin-bottom:18px}
body main :is(.article-content,.legal-main) li{line-height:1.75;margin-block:10px}
body .agency-footer-lead{line-height:1.8}
body .agency-footer-col>a{padding-block:5px;line-height:1.6}
body section#services .capabilities-intro{margin-top:20px;margin-bottom:0;max-width:48ch}
body section#services .studio-action{margin-top:28px;min-height:48px;padding:13px 20px;line-height:1.4}
body .about-actions{margin-top:28px;row-gap:16px}
body .service-row{padding-block:46px}
@media(max-width:700px){body section#services .studio-action{margin-top:24px}body .service-row{padding-block:32px}body main p+p{margin-top:16px}}
body>header #menu_items a::after,body>.mobile-nav a::after{content:none!important;display:none!important}
body>header #menu_items a,body>.mobile-nav a{border-bottom:0!important;box-shadow:none!important}
body>header #menu_items a:is(:hover,.active,[aria-current]),body>.mobile-nav a:is(:hover,.active,[aria-current]){text-decoration-line:underline;text-decoration-thickness:3px;text-underline-offset:8px}
main section[id]{scroll-margin-top:104px}
.service-special-art{display:grid!important;place-items:center;min-height:180px;background:#e3e9db;border-radius:48% 42% 45% 38%;margin:0 0 24px;color:#40583e}
.service-special-art i{font-size:78px}
.service-detail-link{display:inline-flex;min-height:44px;align-items:center;margin-top:18px;color:#40583e;text-underline-offset:5px}
.press-feature-image{margin:32px 0 48px}
.press-feature-image img{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:10px}
.press-feature-image figcaption{font-size:12px;margin-top:10px;color:#52644e}
.studio-press-intro h1{font-family:Fraunces,serif;font-size:clamp(44px,6vw,80px);font-weight:400}
@media(max-width:800px){body>header .logo_with_btn{display:flex;align-items:center;justify-content:space-between;width:100%}}
body:has(>main.error-container){display:block;height:auto;min-height:100vh;padding:120px 0 0;overflow:visible}
body:has(>main.error-container)::before{display:none}
body>main.error-container{max-width:min(600px,calc(100% - 40px));margin:0 auto 48px}
body>header .logo{position:static;text-decoration:none;transform:none}
body:has(>main.container){display:block;padding:112px 0 0;height:auto;min-height:100vh}
body:has(>main.container) :is(.bg-orb,.decoration){display:none}
body>main.container{margin:0 auto 48px;max-width:min(760px,calc(100% - 40px));width:100%}
body>header #menu_items a[aria-current],body>.mobile-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px;font-weight:700}
body>header{position:fixed;top:0;left:0;width:100%;height:80px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,4vw,64px);background:rgba(247,247,241,.94);backdrop-filter:blur(14px);z-index:1002;border:0;border-bottom:1px solid #d3dbcd}
body>header .logo{font:italic 500 26px/1 'Maven Pro',sans-serif;letter-spacing:-.04em;color:#303b32}
body>header #menu_items ul{display:flex;align-items:center;list-style:none;gap:28px;margin:0;padding:0}
body>header #menu_items a{font:500 14px/1.4 'Maven Pro',sans-serif;color:#303b32;text-decoration:none;letter-spacing:.04em;padding:12px 0;display:inline-block}
body>header #menu_items a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
body>.mobile-nav{position:fixed;top:80px;left:0;width:100%;height:auto;max-height:calc(100dvh - 80px);overflow-y:auto;padding:0;background:#f7f7f1;z-index:1001;transform:translateX(-100%);visibility:hidden}
body>.mobile-nav.active{transform:translateX(0);visibility:visible}
body>.mobile-nav .mobile-nav-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:20px;list-style:none;margin:0}
body>.mobile-nav a{display:block;font:500 18px/1.4 'Maven Pro',sans-serif;padding:12px 8px;color:#40583e;text-decoration:none;min-height:44px;box-sizing:border-box}
body>.mobile-nav .studio-menu-secondary{display:flex;flex-wrap:wrap;border-top:1px solid #cbd3c5;padding:12px 20px;gap:16px}
body>.mobile-nav .studio-menu-secondary a{font-size:14px}
body:has(.legal-main) .legal-main{padding-top:128px}
body>.agency-footer{position:relative;width:100%;box-sizing:border-box;text-align:left}
body>.agency-footer .agency-footer-top{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(140px,1fr));gap:32px}
body>header a:focus-visible,body>.mobile-nav a:focus-visible{outline:3px solid #40583e;outline-offset:4px}
@media(min-width:801px){body>header .hamburger{display:none}body>.mobile-nav{display:none}}
@media(max-width:800px){body>header #menu_items{display:none}body>header .hamburger{display:flex}body>.agency-footer .agency-footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:480px){body>.agency-footer .agency-footer-top{grid-template-columns:1fr}.agency-footer{padding:40px 22px 24px}}
@media(prefers-reduced-motion:reduce){body>.mobile-nav{transition:none}}
@media(prefers-reduced-motion:no-preference){
body main :is(.website-project,.blog-card,.video-item,.cp-card){transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
body main :is(.website-project,.blog-card,.video-item,.cp-card):hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(48,59,50,.1)}
body main :is(.story-button,.service-action,.studio-action,.about-action-primary){position:relative;overflow:hidden}
body main :is(.story-button,.service-action,.studio-action,.about-action-primary)::after{content:'';pointer-events:none;position:absolute;inset:-50% auto -50% -60%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);transition:left .65s}
body main :is(.story-button,.service-action,.studio-action,.about-action-primary):hover::after{left:130%}
body main .service-offerings a{transition:padding .25s,background-color .25s}
body main .service-offerings a:hover{padding-left:8px;padding-right:8px}
body main .service-offerings i{transition:transform .3s}
body main .service-offerings a:hover i{transform:rotate(-9deg) scale(1.15)}
body main :is(.story-capability-list article,.story-process li){transition:transform .3s,border-color .3s}
body main :is(.story-capability-list article,.story-process li):hover{transform:translateY(-4px);border-color:#40583e}
body>header a.logo::before{transition:background-color .3s,rotate .35s}
body>header a.logo:hover::before{rotate:-7deg}
body>.agency-footer a{transition:translate .2s,color .2s}
body>.agency-footer a:hover{translate:3px 0}
}
@media(prefers-reduced-motion:no-preference){
body main :is(.story-button,.service-action,.studio-action,.about-actions a,.service-primary-link,.service-secondary-link){transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
body main :is(.story-button,.service-action,.studio-action,.about-actions a,.service-primary-link,.service-secondary-link):hover{transform:translateY(-2px)}
body main :is(.service-offerings a,.story-faq summary){transition:background-color .2s ease,color .2s ease}
body main .service-offerings a:hover{background-color:rgba(64,88,62,.06)}
body>.agency-footer a{transition:color .2s ease}
body>.agency-footer a:hover{color:#40583e}
}
/* White over the homepage film; black on light headers and open menus. */
/* Replace repetitive lifts and sweeps with section-specific entrances. */
body main :is(.website-project,.blog-card,.video-item,.cp-card):hover{transform:none;box-shadow:none}
body main :is(.story-button,.service-action,.studio-action,.about-action-primary)::after{display:none}
body main :is(.story-button,.service-action,.studio-action,.about-actions a,.service-primary-link,.service-secondary-link):hover{transform:none}
body main .service-offerings a:hover{padding-left:0;padding-right:0}
body main .service-offerings a:hover i{transform:none}
body main :is(.story-capability-list article,.story-process li):hover{transform:none}
body>header a.logo:hover::before{rotate:0deg}
body>.agency-footer a:hover{translate:none}
body main .service-row:hover .service-symbol svg{transform:none}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,0));border-bottom-color:transparent;backdrop-filter:none}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)) .header-chameleon{filter:brightness(0) invert(1)}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)) #menu_items a{color:#fff}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)) .hamburger-line{background:#fff}
body.has-video-hero>header:not(.scrolled):not(:has(.hamburger.active)) a:focus-visible{outline-color:#fff}

/* Footer links have no arrows. Only the four policy links have icons. */
body .agency-footer a::before,body .agency-footer a::after,
body:where(:has(.legal-main)) .agency-footer a::before,body:where(:has(.legal-main)) .agency-footer a::after{content:none!important;display:none!important}
body .agency-footer-bottom a:is([href$="privacy.html"],[href$="terms.html"],[href$="accessibility.html"],[href$="privacy.html#cookies"])::before{content:""!important;display:inline-block!important;width:18px;height:18px;margin-right:7px;vertical-align:-4px;background:currentColor;flex-shrink:0;mask:var(--footer-policy-icon) center/contain no-repeat;-webkit-mask:var(--footer-policy-icon) center/contain no-repeat}
body .agency-footer-bottom a[href$="privacy.html"]{--footer-policy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 5 8 9 8 9s8-4 8-9V6zM8 12l3 3 5-6'/%3E%3C/svg%3E")}
body .agency-footer-bottom a[href$="terms.html"]{--footer-policy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 12h6M9 16h6'/%3E%3C/svg%3E")}
body .agency-footer-bottom a[href$="accessibility.html"]{--footer-policy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M4 9h16M12 8v7m0 0-5 6m5-6 5 6'/%3E%3C/svg%3E")}
body .agency-footer-bottom a[href$="privacy.html#cookies"]{--footer-policy-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M20 12a8 8 0 1 1-8-8c-1 3 1 5 4 5-1 2 1 4 4 3Z'/%3E%3Ccircle cx='8' cy='10' r='1'/%3E%3Ccircle cx='9' cy='16' r='1'/%3E%3Ccircle cx='15' cy='15' r='1'/%3E%3C/svg%3E")}
