/* Shared finishing layer: the approved typography and palette stay intact. */
html{scroll-padding-top:140px}header{position:sticky;top:0;background:rgba(10,10,10,.95);z-index:30;transition:background .2s,border-color .2s;backdrop-filter:blur(16px)}header.is-scrolled{background:rgba(10,10,10,.98);border-bottom-color:#484048}.nav{min-height:104px}nav>a:not(.btn){position:relative;padding:8px 0}nav>a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .22s}nav>a:not(.btn):hover::after,nav>a[aria-current=location]:not(.btn)::after{transform:scaleX(1)}
.btn{border-radius:7px;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.btn:hover{background:#ff33ad;box-shadow:0 7px 24px #ff00991a}.btn:active{transform:translateY(0)}.btn.secondary:hover{background:#ffffff08;border-color:#ff0099;color:#ff0099}.contact .btn:hover,.service-cta .btn:hover{background:#252025;color:#ff0099}.hero .eyebrow,.service-hero .eyebrow{display:flex;align-items:center;gap:15px}.hero .eyebrow::before,.service-hero .eyebrow::before{content:"";height:1px;width:34px;background:var(--lime)}.hero h1 em{background:linear-gradient(110deg,#ff0099 10%,#ff69bd 55%,#ff0099 95%);background-clip:text;-webkit-background-clip:text;color:transparent}.strip{color:#c2b9bf}.card{position:relative;transition:background .22s,border-color .22s}.card:hover,.card:focus-within{background:#ff009906;border-top-color:#ff0099}.card h3 a{transition:color .18s}.service-link{text-decoration:none;position:relative;padding-bottom:4px}.service-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--lime);transform:scaleX(.28);transform-origin:left;transition:transform .2s}.service-link:hover::after,.service-link:focus-visible::after{transform:scaleX(1)}.tags span{background:#ffffff04;border:1px solid #343034;border-radius:20px;padding:4px 11px;font-size:12px}.steps article .number{transition:border-color .2s,color .2s}.steps article:hover .number{border-color:var(--lime)}.why-list h3{transition:color .2s}.why-list div:hover h3{color:var(--lime)}.deliverable{transition:border-color .2s}.deliverable:hover{border-color:var(--lime)}
details{transition:border-color .2s}details[open]{border-color:#ff009980}summary{display:flex;justify-content:space-between;gap:24px;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'+';font:400 28px/1 'Outfit',sans-serif;color:var(--lime);flex-shrink:0}details[open] summary::after{content:'−'}details[open] summary{color:var(--lime)}details p{animation:answer-in .25s ease-out}.footer-services a,.footer-policies a,.footer-logo-contact a{transition:color .18s}.footer-policies a{color:var(--muted)}.contact form small a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.policy-body section{scroll-margin-top:25px}.policy-toc{top:135px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#ff0099;color:#080808;padding:12px 18px;border-radius:5px;transform:translateY(-180%)}.skip-link:focus{transform:none}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}.reveal-ready.is-visible{opacity:1;transform:none}.reveal-ready:focus-within{opacity:1;transform:none}@keyframes answer-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.card:hover{background:none}.btn:hover{transform:none;box-shadow:none}}@media(max-width:650px){.nav{min-height:92px}nav{top:92px;max-height:calc(100dvh - 92px);overflow-y:auto}.hero h1{font-size:clamp(48px,11.5vw,74px)}.policy-toc{position:static}.tags{gap:8px}.strip{line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none;transition:none}*,*::before,*::after{animation:none!important;transition:none!important}.btn:hover{transform:none}}@media print{header,.policy-toc,.draft-status .btn{position:static}.reveal-ready{opacity:1;transform:none}}
@media(min-width:651px) and (max-width:1000px){.menu{display:block}.nav{min-height:104px}nav{display:none;position:absolute;top:104px;left:0;right:0;padding:25px 5%;background:#111;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 104px);overflow-y:auto}nav.open{display:flex}.brand-tagline{white-space:nowrap}}

.footer-logo-contact .google-word{display:inline-flex;gap:0;font-weight:600}.footer-logo-contact a:hover .google-word{text-decoration:underline;text-underline-offset:3px}

/* Consistent keyboard navigation and narrow-screen wrapping. */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #ff0099;outline-offset:5px}.footer-logo-contact{overflow-wrap:anywhere}.concept-card-body{display:flex;flex-direction:column}.concept-card-body .service-link{margin-top:auto;align-self:flex-start}.concept-card{display:flex;flex-direction:column}.concept-card-body{flex:1}

/* Keep the services-to-concepts transition balanced. */
#services{padding-bottom:40px}#work{padding-top:40px}@media(max-width:650px){#services{padding-bottom:28px}#work{padding-top:28px}}

/* Simplified footer with one divider above copyright. */
footer .footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:32px}footer .foot{padding-bottom:0}@media(max-width:650px){footer .footer-bottom{margin-top:26px;padding-top:20px}}

.service-cta .service-call{font-size:14px;margin-top:14px}.service-call a{text-decoration:underline;text-underline-offset:4px}.service-call a:hover{opacity:.75}
.policy-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;padding:8px 0;color:#d4d4d4;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;transition:color .2s}
.policy-back span:first-child{font-size:20px;transition:transform .2s}
.policy-back:hover{color:#ff0099}
.policy-back:hover span:first-child{transform:translateX(-3px)}
.policy-back:focus-visible{outline:2px solid #ff0099;outline-offset:5px;border-radius:3px}
@media(prefers-reduced-motion:reduce){.policy-back,.policy-back span:first-child{transition:none}.policy-back:hover span:first-child{transform:none}}
/* Compact, accessible mobile navigation icon. */
@media(max-width:1000px){
header .menu{font-size:0;width:44px;height:44px;min-width:44px;padding:0;position:relative;color:var(--white);border:1px solid var(--line);border-radius:8px;background:var(--panel)}
header .menu::before,header .menu::after{content:"";position:absolute;left:11px;top:20px;width:20px;height:2px;background:currentColor}
header .menu::before{box-shadow:0 -6px currentColor,0 6px currentColor}
header .menu::after{opacity:0}
header .menu[aria-expanded="true"]::before{box-shadow:none;transform:rotate(45deg)}
header .menu[aria-expanded="true"]::after{opacity:1;transform:rotate(-45deg)}
}
