/* Shared layout and restrained service hierarchy. */
@font-face{font-family:DM Sans;src:url('assets/dm-sans-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
:root{--lime-on-dark:#dfff45}
.approach{--lime:var(--lime-on-dark)}
.contact-intro .keep-together,.approach-copy .keep-together{white-space:nowrap}
.approach-copy p:not(.lead)+p{margin-top:16px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.header-descriptor{display:block;margin-left:1.932%;width:73.124%;font-size:9px;letter-spacing:1.14px;line-height:1.3;white-space:nowrap}
.header nav{letter-spacing:.02em}
.services{background:var(--paper);padding:44px var(--pad) 48px}
.services .section-label{border-bottom:var(--rule)}
.services .section-label h2{font:inherit;letter-spacing:inherit;line-height:inherit;margin:0}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9%}
.service{padding:36px 0 40px;border-bottom:var(--rule)}
.service-name{font-size:clamp(28px,2.7vw,43px);font-weight:700;letter-spacing:-.045em;line-height:1.1;margin:0 0 22px}
.scope-label{font-size:9px;letter-spacing:.08em;line-height:1.5;margin:0 0 10px;color:#56574f}
.service-scope{display:flex;flex-wrap:wrap;gap:7px 18px;list-style:none;padding:0;margin:0;font-size:12px;line-height:1.6;color:var(--ink)}
.service-scope li+li{margin-top:0}
.service--production{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9%;align-items:start}
.service--production .service-name{margin-bottom:0}
@media(max-width:700px){.service--production{display:block}.service--production .service-name{margin-bottom:16px}.service--production .service-scope{display:flex;gap:5px 15px}}
.services-end{display:flex;justify-content:flex-end;margin-top:28px}
.text-link{font-size:16px;min-height:44px}
.services-end .text-link{margin:0}
.contact{background:var(--lavender);padding:42px var(--pad) 46px}
.contact .section-label{border-bottom:var(--rule)}
.contact-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center;padding:57px 0 35px}
.contact h2{font-size:clamp(56px,6.6vw,106px);font-weight:400;letter-spacing:-.065em;line-height:1}
.contact h2 em{font-size:1.1em}
.contact-intro p{font-size:17px;line-height:1.5;max-width:380px}
.contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(28px,5vw,80px);letter-spacing:-.055em;line-height:1.2;padding:12px 0 24px;border-bottom:var(--rule)}
.contact-email>span{font-size:.6em;transition:transform .25s var(--ease)}
.contact-email:hover>span{transform:translate(5px,-5px)}
.contact-actions{display:flex;align-items:center;gap:26px;padding-top:15px;min-height:54px}
.copy-email{background:none;border:0;min-height:44px;padding:8px 0;display:flex;gap:18px;align-items:center;font-size:12px}
.copy-email span{font-size:18px}.copy-status{font-size:12px}
.motion-control{width:44px;height:44px;justify-content:center;padding:0}
.motion-icon{display:block;width:18px;height:18px}
.motion-icon .icon-play{display:none}
.motion-control[aria-pressed="true"] .icon-pause{display:none}
.motion-control[aria-pressed="true"] .icon-play{display:block}
.motion-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.services,.contact{padding-left:max(var(--pad),calc((100vw - 1744px)/2));padding-right:max(var(--pad),calc((100vw - 1744px)/2))}}
@media(max-width:1100px){.header nav{gap:25px}.contact-intro{grid-template-columns:1.2fr 1fr;gap:5%}}
@media(max-width:700px){.header{flex-wrap:wrap;row-gap:15px;padding-bottom:12px}.brand{width:190px;gap:9px}.header nav{width:100%;justify-content:space-between;margin:0;gap:12px;font-size:12px}.header nav a{min-height:40px;display:flex;align-items:center}.services{padding:30px var(--pad) 35px}.service-list{display:block}.service{padding:28px 0 30px}.service-name{font-size:28px;line-height:1.12;margin-bottom:16px}.service-name br{display:none}.scope-label{font-size:8px;margin-bottom:9px}.service-scope{font-size:12px;line-height:1.6;gap:5px 15px}.service-scope li+li{margin-top:0}.services-end{margin-top:22px}.manifesto-body{margin-top:30px}.contact{padding:29px var(--pad) 30px}.contact-intro{display:block;padding:30px 0 17px}.contact h2{font-size:clamp(42px,11.5vw,60px)}.contact-intro p{font-size:15px;line-height:1.5;margin-top:18px;max-width:360px}.contact-email{font-size:clamp(22px,6.5vw,36px);gap:8px;padding:12px 0 20px;letter-spacing:-.04em}.contact-actions{align-items:flex-start;flex-direction:column;gap:0;padding-top:9px}.copy-email,.copy-status{font-size:11px}.copy-status:empty{display:none}}
@media(max-width:360px){:root{--pad:24px}h1{font-size:58px}.service-name{font-size:26px}}
@media(prefers-reduced-motion:reduce){.contact-email>span{transition:none!important}}

.service-scope li{display:flex;align-items:baseline;gap:7px}.service-scope li:before{content:'+';font-size:12px;color:var(--ink);line-height:1;flex:none}
.hero-description{align-self:start;padding-top:0}
.hero-description .text-link{margin-top:0}
.form-playground{width:88%;max-width:510px}
@media(min-width:701px) and (max-height:800px){.form-playground{max-width:min(510px,calc((100svh - 290px)*.88))}}
@media(max-width:700px){.form-playground{width:88%;max-width:380px;align-self:center;margin-left:auto;margin-right:auto}}
#hero-title{font-size:clamp(78px,9.9vw,180px)}
#hero-title>span:first-child{font-size:1.04em;letter-spacing:-.07em}
#hero-title .second-line em{margin-right:0;letter-spacing:-.06em}
#hero-title .hero-period{display:inline-block;font-size:.55em;font-weight:400;margin-left:.12em;vertical-align:baseline}
@media(max-width:700px){#hero-title{font-size:clamp(61px,19.8vw,130px)}#hero-title>span:first-child{letter-spacing:-.068em}}
.production-line>span:last-child{align-items:baseline}
.production-line>span:first-child,.production-line>span:last-child{letter-spacing:-.05em}
.production-line .small-disc{align-self:auto;margin-bottom:0}
.hero-bottom>span,.footer-bottom>span:first-child{font-size:13px;line-height:1.4;letter-spacing:.02em;text-transform:none}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
.brand-signature,.hero-bottom>.brand-signature,.footer-bottom>.brand-signature{white-space:nowrap;font-weight:500}
.manifesto{background:var(--paper)}
.manifesto h2{font-size:clamp(52px,6.3vw,106px)}
.manifesto h2 em{position:relative;top:.05em;font-size:1.1em;background-image:linear-gradient(var(--lavender),var(--lavender));background-size:100% .075em;background-position:left 95%;background-repeat:no-repeat}
.manifesto-body{font-size:clamp(18px,1.55vw,23px)}
.manifesto-body em{font-size:1.2em}
.approach h2{font-size:clamp(44px,5.5vw,94px)}
.approach h2 .creative-team{font-size:1.09em}
.eyebrow .signal{background:#9462e3;flex:none;transform:translateY(-1px)}
.approach::selection,.approach ::selection{background:var(--lime);color:var(--ink)}
@media(max-width:700px){.hero-bottom>span,.footer-bottom>span:first-child{font-size:12px}}
@media(max-width:700px){.hero-description{width:100%;max-width:none}.hero-description p{max-width:none}.hero-copy-main{display:block}}
@media(max-width:700px){.text-link{font-size:14px}}
@media(max-width:700px){.manifesto h2{font-size:clamp(46px,12.5vw,64px)}.manifesto-body{font-size:18px}}
@media(max-width:700px){.approach h2{font-size:clamp(42px,9vw,64px)}}


/* Compact brand signature: the opening lime is used without a hue shift. */
.footer{--footer-brand-width:clamp(215px,25.1vw,405px);background:var(--lime);color:var(--ink);padding-top:40px;padding-bottom:24px}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:38px}
.footer-brand{--brand-width:var(--footer-brand-width);display:flex;flex:none;flex-direction:column;gap:13px;width:var(--brand-width)}
.footer-logo{width:100%;max-width:none;height:auto;margin:0}
.footer-descriptor{display:block;width:73.124%;margin-left:1.932%;font-size:calc(var(--brand-width)*.0473684);letter-spacing:calc(var(--brand-width)*.006);line-height:1.3;white-space:nowrap;word-spacing:normal}
.footer-top .footer-back{display:flex;align-items:center;gap:20px;min-height:44px;font-size:13px;line-height:1.4;letter-spacing:.02em;font-weight:400;border-bottom:1px solid currentColor;padding:4px 0;flex:none}
.footer-back>span{font-size:22px}
.footer-bottom{display:flex;justify-content:space-between;align-items:baseline;border-top:var(--rule);padding-top:16px;gap:16px;font-weight:500}
.footer-bottom>span,.footer-bottom>span:last-child{font-size:13px;line-height:1.4;letter-spacing:.02em}
.footer-bottom>.brand-signature{margin-left:calc(var(--footer-brand-width)*.01932)}
@media(max-width:700px){.footer{padding-top:28px;padding-bottom:20px}.footer-top{gap:12px;margin-bottom:28px}.footer-brand{--brand-width:clamp(160px,44vw,230px);gap:9px}.footer-top .footer-back{min-height:36px;font-size:12px;gap:10px;padding-top:0}.footer-bottom{padding-top:13px;gap:12px}.footer-bottom>span,.footer-bottom>span:last-child{font-size:12px}}
@media(max-width:360px){.footer-top{gap:8px}.footer-top .footer-back{font-size:11px;gap:6px}}

.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 20px;font-size:14px;letter-spacing:.02em}.footer-links a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.footer-links a:hover{opacity:.7}@media(max-width:700px){.footer-links{gap:8px 22px;margin-bottom:14px;font-size:12px}.footer-top{margin-bottom:22px}}

/* Utility links remain secondary to the agency descriptor. */
.footer-links a{color:var(--ink);font-weight:300;letter-spacing:.04em;text-decoration-color:#20211f80}.footer-links a:hover{opacity:1;text-decoration-color:currentColor}

.footer-current{display:inline-flex;align-items:center;min-height:32px;color:var(--ink);font-weight:300;letter-spacing:.04em;cursor:default}
.footer-links{padding-left:calc(var(--footer-brand-width)*.01932)}

/* The footer wordmark is a home link on every page. */
.footer-top .footer-home{display:block;width:100%;line-height:0;padding:0;margin:0}
.footer-home:focus-visible{outline:2px solid var(--ink);outline-offset:7px}

/* Actual i-dot outlines, preserving each heading font's shape and size. */
.heading-period{display:inline-block;position:relative;width:.116em;height:.114em;margin-left:.065em;vertical-align:baseline;background:currentColor;mask:url('assets/dm-sans-regular-dot.svg') center/100% 100% no-repeat}
.heading-period--serif{width:.122em;height:.117em;margin-left:.075em;mask-image:url('assets/newsreader-italic-dot.svg')}
.period-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.footer{--footer-brand-width:clamp(160px,44vw,230px)}.footer-brand{--brand-width:var(--footer-brand-width)}}
