/* A dimensional version of the supplied mark, with a flat SVG fallback. */
.hero{padding:94px 0 0;background:var(--bg);color:var(--ink)}
.hero-main{position:relative;display:grid;grid-template-columns:54% 46%;min-height:690px;align-items:center;padding-left:var(--gutter);overflow:hidden}
.hero-message{position:relative;z-index:2;padding:75px 0 95px}
.hero-title{font-size:clamp(58px,6.8vw,112px);line-height:1.02;letter-spacing:-.065em}
.headline-row{display:block}
.hero-message>p{font-size:19px;line-height:1.55;margin-top:36px;letter-spacing:-.02em}
.hero-message>.button{margin-top:36px}
.brand-stage{position:relative;min-width:0;width:125%;height:640px;right:3%;isolation:isolate}
.brand-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;animation:reveal-object 1.4s var(--ease) .15s forwards}
.brand-fallback{width:100%;height:100%;transform:rotate(-6deg);position:absolute;inset:0;stroke:none}
.brand-fallback path{stroke:none}
.model-ready .brand-fallback{visibility:hidden}
.hero-gallery .discipline-reel{margin:0;padding:0 8px;height:210px}
.reel-panel span{font-size:16px}
.reel-panel[href="#marketing-demand"] img{object-position:center 20%}
.experience .lead{font-size:25px;line-height:1.4}
.contact h2{font-size:clamp(48px,5.4vw,78px)}
details:not([open])>.detail-body{display:none}
.header .brand-crop{width:208px;height:44px}
.header .brand img{left:-43px;top:-25px}
.service-list details{scroll-margin-top:24px}
.contact-copy .callback-promise{color:var(--ink);font-size:18px}
.callback-promise>span{display:block}
.callback-promise strong{display:block;color:var(--accent);font-size:84px;font-weight:600;letter-spacing:-.06em;line-height:1.15;font-variant-numeric:tabular-nums}
.callback-promise strong span{font-size:34px;font-weight:500;letter-spacing:-.035em}
.footer-word{display:block;font-size:20.35vw;line-height:1.2;margin:0 0 28px}
@keyframes reveal-object{from{opacity:0;transform:translateX(95px) rotate(3deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
@media(max-width:1000px){
 .hero{padding-top:94px}.hero-main{min-height:590px;grid-template-columns:56% 44%}
 .hero-title{font-size:6.9vw}.brand-stage{height:520px;width:150%;right:12%}
 .hero-message>p{font-size:17px}.hero-gallery .discipline-reel{height:200px}
}
@media(max-width:650px){
 .hero{padding-top:80px;min-height:calc(100vh + 64px);min-height:calc(100lvh + 64px)}.hero-main{display:block;padding:0 var(--gutter);min-height:0}
 .hero-message{padding:52px 0 0}.hero-title{font-size:11.5vw;line-height:1.06;letter-spacing:-.065em}
 .hero-message>p{font-size:16px;margin-top:26px;max-width:340px}
 .hero-message>.button{margin-top:25px;min-height:52px}
 .brand-stage{height:360px;width:120%;right:auto;margin:0 -10%;margin-top:-6px}
 .header .brand-crop{width:160px;height:36px}.header .brand img{width:220px;left:-32px;top:-18px}
 .hero-gallery .discipline-reel{height:320px;display:grid;grid-template-columns:1fr 1fr;padding:0 6px;gap:6px}
 .reel-panel:nth-child(n){display:block;min-width:0;min-height:0}
 .reel-panel span{font-size:14px;left:14px;bottom:16px;right:14px;max-width:16ch}
 .callback-promise strong{font-size:76px}.callback-promise strong span{font-size:30px}
 .footer-word{font-size:19.25vw;line-height:1.3;margin-bottom:24px}
 .experience .lead{font-size:23px}.contact h2{font-size:60px}
}
@media(prefers-reduced-motion:reduce){.brand-stage canvas{opacity:1;transform:none}}

/* Search additions: homepage eyebrow, service links and service pages. */
.hero .eyebrow,.crumbs{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--soft);margin-bottom:28px}
.hero .eyebrow:before{content:'';width:7px;height:7px;background:var(--accent);flex-shrink:0}
.crumbs{flex-wrap:wrap;max-width:none}
.hero .eyebrow{margin:0 0 28px;max-width:none}
.crumbs a{min-height:44px;display:inline-flex;align-items:center}
.crumbs a:hover{color:var(--accent)}
.detail-body li a,.related a{text-decoration:underline;text-decoration-color:#55565c;text-underline-offset:4px;transition:color var(--duration)}
.detail-body li a:hover{color:var(--accent)}
.footer-links{display:flex;flex-wrap:wrap;gap:0 28px;font-size:14px;color:var(--soft);padding-bottom:24px}
.footer-links a{min-height:44px;display:flex;align-items:center}
.footer-links a:hover{color:var(--accent)}
.page-hero{padding:190px var(--gutter) 120px;background:var(--bg)}
.page-hero h1{font-size:clamp(52px,7vw,112px);font-weight:500;line-height:1.02;letter-spacing:-.065em;max-width:14ch;text-wrap:balance}
.page-hero .lead{max-width:780px;margin-top:40px;color:var(--soft)}
.page-hero .button{margin-top:44px}
.page-light{background:var(--paper);color:var(--dark)}
.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.page-grid article{background:#e6e6e9;padding:36px 32px 40px}
.page-grid h3,.steps h3{font-size:24px;line-height:1.15;margin-bottom:14px}
.page-grid p{font-size:16px;color:#47484d}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;counter-reset:step}
.steps li{counter-increment:step;border-top:1px solid #36373c;padding-top:28px}
.steps li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--accent);font-size:14px;font-weight:500;margin-bottom:48px;font-variant-numeric:tabular-nums}
.steps p{font-size:16px;color:var(--soft)}
.faq summary{grid-template-columns:1fr 20px;min-height:96px}
.faq h3{font-size:clamp(20px,2vw,28px)}
.faq .detail-body{display:block;padding-right:0}
.faq .detail-body p{max-width:760px}
.related{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 40px;font-size:clamp(20px,2vw,28px);letter-spacing:-.025em}
.related a{display:inline-flex;min-height:44px;align-items:center}
.related a:hover{color:var(--accent)}
.page-section>h2+.related{margin-top:40px}

@media(max-width:1000px){
.page-grid{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:1fr 1fr;gap:48px 32px}
}

@media(max-width:650px){
.hero .eyebrow,.crumbs{font-size:14px;margin:0 0 20px}
.page-hero{padding:140px var(--gutter) 80px}
.page-hero h1{font-size:12vw}
.page-hero .lead{margin-top:28px}
.page-hero .button{margin-top:32px}
.page-grid,.steps{grid-template-columns:1fr}
.page-grid article{padding:28px 24px 32px}
.steps li:before{margin-bottom:24px}
.faq summary{min-height:84px}
.footer-links{font-size:13px;gap:0 20px}
}
