:root{--paper:#f3efe5;--ink:#171716;--red:#ed4028;--muted:#57564f;--rule:#b9b6ac;--display:'Archivo Black',sans-serif;--body:'DM Sans',sans-serif;--gutter:3.5vw;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--red);color:var(--paper)}:focus-visible{outline:3px solid currentColor;outline-offset:6px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}img{display:block;max-width:100%;height:auto}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.06}p{max-width:65ch}ul{padding:0;list-style:none}svg.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.keep-line{white-space:nowrap}.red{color:var(--red)}.skip{position:absolute;top:0;left:20px;background:var(--ink);color:var(--paper);padding:15px;transform:translateY(-150%);z-index:100}.skip:focus{transform:none}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:24px;position:relative;z-index:20}.wordmark{font-weight:700;font-size:clamp(25px,2.5vw,40px);letter-spacing:-.045em;white-space:nowrap}.brand-dot{color:var(--red)}.desktop-nav{display:flex;gap:3vw;margin-left:8vw;font-size:15px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 23px;min-height:52px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-weight:600;font-size:15px;line-height:1.2;transition:background .25s,color .25s,transform .25s var(--ease)}.button svg,.text-link svg{transition:transform .3s var(--ease)}.button:hover{background:var(--red);border-color:var(--red);color:var(--ink)}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.button:active{transform:scale(.98)}.header-cta{padding:13px 21px;min-height:46px}.menu-toggle,.mobile-nav{display:none}.hero{position:relative;isolation:isolate;min-height:57vw;max-height:940px;padding:24px var(--gutter) 60px;overflow:hidden}.hero h1{position:relative;z-index:2;pointer-events:none;font-family:var(--display);font-weight:400;font-size:clamp(85px,9.1vw,155px);letter-spacing:-.025em;line-height:1.01;max-width:70%;width:max-content}.headline-line{display:block;white-space:nowrap;transform-origin:bottom left}.hero-art{position:absolute;z-index:1;top:0;right:-.5%;width:68%;pointer-events:none}.hero-art img{width:100%;height:auto}.hero-copy{position:relative;z-index:3;margin-top:3.9vw;width:43%;max-width:620px}.hero-copy h2{font-family:var(--body);font-size:clamp(21px,2.35vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.1}.hero-copy p{font-size:clamp(14px,1.33vw,18px);line-height:1.45;margin:18px 0 25px}.capability-strip{padding:17px var(--gutter);display:flex;align-items:center;justify-content:space-evenly;gap:18px;background:var(--red);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.capability-strip i{font-style:normal}.campaign{background:var(--ink);color:var(--paper);padding:5vw var(--gutter) 4.8vw;overflow:hidden}.campaign-top{display:grid;grid-template-columns:36% 64%;align-items:center;min-height:33vw}.campaign h2{font-family:var(--display);font-size:clamp(50px,6.35vw,108px);font-weight:400;letter-spacing:-.025em;line-height:1.02;position:relative;z-index:1}.campaign-heading .caption{font-size:12px;color:#b9b7b0;margin-top:24px}.campaign-art{position:relative;margin-left:-2vw;transform-origin:center center}.campaign-art img{width:100%}.campaign-art figcaption{font-size:13px;text-align:right;margin-top:16px;color:#b9b7b0}.campaign-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #4b4b45;margin-top:5vw;padding-top:34px}.campaign-bottom>p{font-size:clamp(24px,2.5vw,38px);line-height:1.2;letter-spacing:-.03em}.campaign-bottom em{font-style:normal;color:#ff6b52}.campaign-bottom>div>p{max-width:49ch;color:#cfccc2}.text-link{display:inline-flex;align-items:center;gap:20px;font-weight:600;border-bottom:1px solid currentColor;padding:8px 0;margin-top:20px}.section{padding:9vw var(--gutter)}.display{font-family:var(--display);font-weight:400;font-size:clamp(58px,7.4vw,124px);line-height:1.03;letter-spacing:-.025em}.services{display:grid;grid-template-columns:54% 40%;gap:6%}.service-intro>p{margin-top:30px;font-size:20px;line-height:1.5;max-width:31ch}.service-list{padding-top:10px}details{border-top:1px solid var(--rule)}details:last-child{border-bottom:1px solid var(--rule)}summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:23px 0;cursor:pointer;font-size:21px;font-weight:500;line-height:1.25}summary::-webkit-details-marker{display:none}summary svg{transition:transform .25s var(--ease)}details[open] summary svg{transform:rotate(45deg)}.detail-body{padding:0 0 25px;font-size:16px;line-height:1.6;color:var(--muted);animation:detail-in .25s var(--ease)}.detail-body ul{margin:18px 0 0}.detail-body li{position:relative;padding-left:16px;margin:8px 0}.detail-body li:before{content:'';position:absolute;left:0;top:.65em;width:4px;height:4px;background:var(--red)}.detail-body a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.process{overflow:clip;background:#e8e3d9;display:grid;grid-template-columns:50% 43%;gap:7%;align-items:start}.process-intro{position:sticky;top:60px}.process-intro p{margin-top:30px;font-size:18px;max-width:35ch}.process-steps{list-style:none;padding:0;margin:0}.process-steps li{display:grid;grid-template-columns:45px 1fr;gap:24px;padding:35px 0;border-top:1px solid #a9a69c}.process-steps li:first-child{padding-top:22px}.process-steps li:last-child{padding-bottom:0}.step-count{font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:5px}.process-steps h3{font-size:27px;letter-spacing:-.035em;line-height:1.15}.process-steps p{margin-top:15px;color:var(--muted);max-width:43ch}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:5vw}.section-heading>p{font-size:20px;line-height:1.5;padding-bottom:8px;max-width:30ch}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.plan{padding:35px 30px;display:flex;flex-direction:column}.plan:first-child{padding-left:0}.plan:last-child{padding-right:0}.plan+.plan{border-left:1px solid var(--rule)}.plan.growth{background:#e7e1d4}.plan h3{font-size:27px;letter-spacing:-.03em}.plan-purpose{font-size:14px;margin-top:9px;color:var(--muted);min-height:42px}.price{margin:22px 0 28px;white-space:nowrap}.price span{font-family:var(--display);font-size:clamp(42px,4.4vw,72px);letter-spacing:-.025em}.price small{font-size:14px}.plan-summary{font-size:16px;min-height:74px}.plan ul{margin:24px 0 35px}.plan li{padding:10px 0;border-top:1px solid var(--rule);font-size:14px;min-height:44px}.plan .button{margin-top:auto;padding:17px;gap:8px;font-size:14px}.outline{background:transparent;color:var(--ink)}.plan-note{font-size:13px;color:var(--muted);max-width:105ch;margin-top:24px;line-height:1.7}.faq{display:grid;grid-template-columns:44% 50%;gap:6%;padding-top:3vw}.faq .display{font-size:clamp(50px,5.3vw,90px)}.faq summary{font-size:19px;padding:25px 0}.contact{background:var(--red);position:relative;padding-top:6vw;padding-bottom:6vw;overflow:hidden}.contact>p{font-size:18px;margin-bottom:30px}.contact h2{font-family:var(--display);font-size:clamp(88px,13vw,220px);font-weight:400;line-height:1.02;letter-spacing:-.02em}.contact h2 span{color:var(--paper)}.contact .button{margin-top:40px;min-width:250px}.contact .button:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.contact-note{display:inline-block;margin-left:25px;font-size:14px;max-width:32ch;vertical-align:middle}footer{padding:60px var(--gutter) 25px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}footer>p{font-size:16px;color:#cfccc2}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px}footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #4b4b45;padding-top:25px;margin-top:35px;font-size:12px;color:#c3c0b6}.footer-bottom a{display:flex;align-items:center;gap:8px}.footer-bottom svg{width:16px;height:16px}
@keyframes detail-in{from{opacity:.3;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1700px){:root{--gutter:max(60px,calc((100vw - 1580px)/2))}.hero{min-height:900px}.hero-art{width:1150px;right:calc((100vw - 1680px)/2)}.hero-copy{margin-top:55px}.campaign-top{min-height:540px}}
@media(max-width:1000px) and (min-width:701px){.header{height:72px}.hero{min-height:64vw;padding-top:28px}.hero-copy{width:47%;margin-top:30px}.hero-copy h2{font-size:22px}.hero-copy p{font-size:14px}.hero-art{top:22px;right:-10%;width:78%}.services{grid-template-columns:48% 46%}.display{font-size:7.2vw}.plan{padding:26px 17px}.plan .button{font-size:12px;padding:14px 10px}.plan-purpose{min-height:48px}.plan-summary{min-height:96px}.price small{font-size:12px}.section-heading>p{font-size:17px}}
@media(max-width:700px){:root{--gutter:22px}.header{height:74px;gap:12px}.wordmark{font-size:29px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;padding:12px 0 12px 12px;background:none;border:0;font-size:14px;min-height:44px}.menu-lines{width:23px;height:10px;border-top:1.5px solid;border-bottom:1.5px solid}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg);border-bottom:0;height:0}.mobile-nav{display:flex;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 22px 30px;flex-direction:column;border-bottom:1px solid var(--ink)}.mobile-nav a{padding:14px 0;border-top:1px solid var(--rule);font-size:22px;display:flex;justify-content:space-between}.hero{padding:26px var(--gutter) 34px;min-height:0;max-height:none;display:flex;flex-direction:column}.hero h1{max-width:100%;font-size:clamp(45px,12.4vw,86px);line-height:1.02;letter-spacing:-.02em;z-index:2}.hero-art{position:relative;width:120%;right:auto;top:auto;margin:12px -10% 18px;order:2;z-index:1}.hero-copy{order:3;width:100%;max-width:none;margin:20px 0 0}.hero-copy h2{font-size:25px;line-height:1.13}.hero-copy p{font-size:15px;margin:16px 0 24px;max-width:39ch}.desktop-break{display:none}.hero-copy .button{min-height:54px}.capability-strip{flex-wrap:wrap;justify-content:center;gap:10px 16px;font-size:10px;letter-spacing:.09em;padding:17px 22px}.capability-strip i{display:none}.campaign{padding:48px var(--gutter)}.campaign-top{display:block;min-height:0}.campaign h2{font-size:clamp(55px,13.5vw,88px);line-height:1.02}.campaign h2 br:nth-child(2){display:block}.campaign-heading .caption{margin-top:20px;font-size:11px}.campaign-art{margin:24px -14px 0}.campaign-art figcaption{font-size:11px;margin:12px 14px 0;text-align:left}.campaign-bottom{display:block;margin-top:35px;padding-top:26px}.campaign-bottom>p{font-size:26px;max-width:23ch}.campaign-bottom>div{margin-top:22px;font-size:15px}.section{padding:65px var(--gutter)}.services,.process,.faq{display:block}.display{font-size:clamp(44px,11.3vw,74px);line-height:1.03}.service-intro>p{font-size:17px;margin-top:25px}.service-list{margin-top:35px;padding:0}summary{font-size:20px;padding:22px 0}.detail-body{font-size:15px}.process-intro{position:static}.process-intro p{font-size:16px;margin-top:24px}.process-steps{margin-top:40px}.process-steps li{gap:8px;grid-template-columns:35px 1fr;padding:27px 0}.process-steps h3{font-size:23px}.process-steps p{font-size:15px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:25px;font-size:17px}.plan-grid{display:block;border-bottom:0}.plan,.plan:first-child,.plan:last-child{padding:30px 0}.plan+.plan{border-left:0;border-top:1px solid var(--ink)}.plan.growth{padding:30px 22px;margin:0 -22px}.plan h3{font-size:29px}.plan-purpose{min-height:0;font-size:15px}.price{margin:20px 0}.price span{font-size:58px}.price small{font-size:15px}.plan-summary{min-height:0;max-width:36ch}.plan ul{margin:25px 0}.plan li{font-size:15px}.plan .button{font-size:15px;padding:17px}.plan-note{font-size:12px;margin-top:20px}.faq{padding-top:0}.faq .display{font-size:42px}.faq-list{margin-top:30px}.faq summary{font-size:18px}.contact>p{font-size:15px;max-width:27ch;margin-bottom:26px}.contact h2{font-size:clamp(47px,12.4vw,83px)}.contact .button{margin-top:30px;min-width:0}.contact-note{display:block;margin:18px 0 0;font-size:13px}footer{padding:40px var(--gutter) 24px;grid-template-columns:1fr;gap:22px}footer>p{font-size:15px}footer nav{padding-top:12px;font-size:14px;gap:18px}.footer-bottom{margin-top:15px;align-items:flex-start;font-size:11px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art,.headline-line,.campaign-art,.process-steps li{transform:none!important;opacity:1!important}}
/* Campaign Editions: independent artwork and scroll narrative. */
.hero-layered{height:49vw;max-height:790px;top:0;overflow:visible}.campaign-layers{position:relative;width:100%;height:100%;perspective:1200px}.creative-piece{position:absolute;will-change:transform;box-shadow:0 18px 35px #0003;transform-origin:center center}.creative-piece img{width:100%;height:100%;object-fit:cover}.piece-poster{width:29%;aspect-ratio:2/3;background:var(--red);overflow:hidden}.piece-poster img{position:absolute;inset:0}.poster-type{position:absolute;left:9%;top:12%;font:400 clamp(35px,5vw,80px)/.9 var(--display);letter-spacing:-.04em;color:var(--paper)}.piece-poster small{position:absolute;top:4%;left:9%;font-weight:700;font-size:12px;color:var(--paper)}.piece-phone{width:23%;aspect-ratio:1/2;padding:7px;background:#171716;border:2px solid #555;border-radius:27px}.phone-screen{position:relative;height:100%;overflow:hidden;border-radius:19px}.phone-screen:after{content:'';position:absolute;top:0;left:30%;width:40%;height:12px;border-radius:0 0 12px 12px;background:#171716}.phone-screen img{object-position:65% center}.phone-screen>span{position:absolute;bottom:15%;left:10%;font:400 clamp(18px,2.5vw,38px)/1 var(--display);color:var(--paper);text-shadow:0 2px 14px #0008}.phone-screen small{position:absolute;bottom:5%;left:10%;color:white;font-size:9px}.piece-web{width:48%;background:var(--paper);color:var(--ink);padding:12px;aspect-ratio:1.45}.browser-bar{display:flex;justify-content:space-between;font-size:9px;padding-bottom:14px}.browser-bar span:first-child{font-weight:700}.web-layout{display:grid;grid-template-columns:52% 48%;height:75%;gap:3px;overflow:hidden}.web-layout strong{font:400 clamp(16px,2vw,33px)/1.1 var(--display);letter-spacing:-.03em;padding-top:8px}.piece-web>small{display:block;font-size:8px;padding-top:10px}.piece-email{width:30%;background:var(--paper);padding:14px;color:var(--ink)}.piece-email>small{font-size:9px;display:block;margin-bottom:14px}.piece-email>strong{font:400 clamp(14px,1.7vw,26px)/1.1 var(--display);display:block;margin-bottom:12px}.piece-email img{height:100px;object-position:50% 64%}.piece-email>span{display:block;margin-top:12px;background:var(--red);font-size:9px;padding:8px}.hero-layers .piece-poster{left:35%;top:8%;transform:rotate(-9deg)}.hero-layers .piece-phone{left:68%;top:11%;transform:rotate(9deg)}.hero-layers .piece-web{left:25%;top:55%;transform:rotate(-7deg)}.hero-layers .piece-email{left:65%;top:57%;transform:rotate(7deg)}.hero-ribbon{position:absolute;inset:22% auto auto -7%;width:110%!important;z-index:3;pointer-events:none}.hero-layered .creative-piece{z-index:2}.hero-layered .piece-web,.hero-layered .piece-email{z-index:4}
.campaign{overflow:clip;padding-top:0}.campaign-pin{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:35% 65%;align-items:center;min-height:760px;padding:60px 0;position:relative}.campaign-theater{position:relative;min-width:0}.story-layers{height:510px}.story-layers .creative-piece{left:50%;top:50%}.story-layers .piece-poster{transform:translate(-145%,-65%) rotate(-9deg)}.story-layers .piece-phone{transform:translate(-55%,-40%) rotate(6deg)}.story-layers .piece-web{transform:translate(-5%,-80%) rotate(6deg)}.story-layers .piece-email{transform:translate(15%,-35%) rotate(-5deg)}.story-copy{position:relative;padding:25px 10px 0;max-width:560px;margin:auto}.story-caption{padding:18px 0;border-top:1px solid #555}.story-caption h3{font-size:23px;line-height:1.15;letter-spacing:-.025em}.story-caption p{font-size:15px;color:#cfccc2;margin-top:9px}.story-navigation{display:none}.scroll-cue{display:none;font-size:13px;color:#cfccc2;margin-top:35px}.scroll-cue span{display:inline-block;margin-left:12px}.campaign.motion-story .campaign-pin{height:100svh;min-height:650px;max-height:1100px;padding:35px 0}.motion-story .scroll-cue{display:block}.motion-story .story-layers{height:min(52vh,520px)}.motion-story .story-copy{height:125px}.motion-story .story-caption{position:absolute;inset:20px 10px auto;border:0;padding:0;opacity:0;visibility:hidden;transition:opacity .22s ease}.motion-story .story-caption.active{opacity:1;visibility:visible}.motion-story .story-navigation{display:flex;position:relative;justify-content:space-between;gap:8px;margin:18px 10px 0;padding-bottom:16px;border-bottom:1px solid #56554f}.story-navigation button{background:none;border:0;color:#bcb9b1;padding:10px 0;font-size:12px;min-height:44px}.story-navigation button[aria-current=true]{color:var(--paper)}.story-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left}.process-steps li{transition:color .3s}.process-steps li.is-current .step-count{color:var(--red)}.process-steps li.is-current h3{color:var(--red)}.contact{isolation:isolate}.contact::before{content:'';position:absolute;inset:0;background:var(--ink);z-index:-1;transform:translateY(var(--contact-cover,100%))}.contact h2{position:relative}.service-list details{overflow:clip}.service-list summary{transition:color .2s}.service-list summary:hover{color:var(--red)}
@media(hover:hover) and (pointer:fine){.plan{transition:background .3s}.plan:hover{background:#e1dacb}.plan.growth:hover{background:#dcd3c2}.button:hover svg{transform:translate(5px,-5px)}}
@media(max-width:1000px) and (min-width:701px){.hero-layered{height:57vw}.story-layers{height:420px}.campaign-pin{min-height:700px}.story-caption h3{font-size:20px}.story-caption p{font-size:14px}.piece-email img{height:75px}}
@media(max-width:700px){.hero-layered{height:88vw;max-height:none;top:auto;margin:14px -10% 25px}.hero-ribbon{top:25%;left:-3%;width:105%!important}.hero-layers .piece-poster{width:31%;left:27%;top:5%}.hero-layers .piece-phone{width:24%;left:64%;top:7%}.hero-layers .piece-web{width:48%;left:18%;top:57%}.hero-layers .piece-email{width:30%;left:64%;top:53%}.poster-type{font-size:clamp(30px,9vw,55px)}.piece-poster small{font-size:8px}.piece-web{padding:8px}.browser-bar{font-size:6px;padding-bottom:7px}.web-layout strong{font-size:clamp(12px,3.8vw,20px)}.piece-web>small{font-size:6px;padding-top:5px}.piece-email{padding:9px}.piece-email>small{font-size:6px;margin-bottom:7px}.piece-email>strong{font-size:clamp(12px,3.4vw,18px);margin-bottom:7px}.piece-email img{height:55px}.piece-email>span{font-size:6px;margin-top:7px;padding:5px}.piece-phone{border-radius:18px;padding:4px}.phone-screen{border-radius:12px}.phone-screen>span{font-size:clamp(16px,4.6vw,24px)}.phone-screen small{font-size:6px}.phone-screen:after{height:7px}.campaign{padding-top:0}.campaign-pin{display:block;min-height:0;padding:45px 0}.campaign h2{font-size:clamp(35px,9vw,54px);line-height:1.05}.campaign h2 br:nth-of-type(2){display:none}.campaign-heading .caption{margin-top:12px;font-size:10px}.campaign h2 .keep-line{display:block}.campaign h2 br:first-of-type{display:none}.story-layers{height:350px}.campaign.motion-story .campaign-pin{height:100svh;min-height:650px;padding:25px 0 18px;display:flex;flex-direction:column;justify-content:center}.motion-story .campaign-heading{width:100%}.motion-story .campaign-theater{width:100%}.motion-story .story-layers{height:38svh;max-height:360px;min-height:245px}.motion-story .scroll-cue{display:none}.motion-story .story-copy{height:108px;padding-top:12px}.story-caption h3{font-size:19px}.story-caption p{font-size:13px}.motion-story .story-caption{top:10px}.motion-story .story-navigation{margin-top:8px;padding-bottom:8px;gap:10px}.story-navigation button{font-size:10px}.story-layers .piece-poster{width:34%}.story-layers .piece-phone{width:27%}.story-layers .piece-web{width:53%}.story-layers .piece-email{width:33%}}
@media(prefers-reduced-motion:reduce){.creative-piece{will-change:auto}.contact::before{display:none}.scroll-cue{display:none!important}}

@media(min-width:701px){.hero-layers .piece-poster{left:45%;width:25%}.hero-layers .piece-phone{left:74%;width:21%}.hero-layers .piece-web{left:34%;width:43%}.hero-layers .piece-email{left:71%;width:27%}.hero-ribbon{left:30%;width:80%!important;top:25%}}

/* Contain transformed decorative descendants without creating a scroll container. */
html,body{overflow-x:clip}

/* Approved hero is one art-directed composition; the scroll story owns the individual formats. */
.hero-composition{width:68%;right:-1%;top:24px;max-height:none;transform-origin:70% 60%}
.hero-master{width:100%;height:auto}
.process-intro{position:static}
.services,.plans,.faq{background:var(--paper)}
.creative-piece{container-type:inline-size}
.story-layers .piece-poster{background:var(--red)}
.story-layers .piece-poster img{top:43%;height:57%;object-position:center 65%}
.story-layers .poster-type{left:8%;top:12%;font:400 33cqw/.93 'Anton',sans-serif;letter-spacing:-.015em;white-space:nowrap}
.story-layers .piece-poster small{top:5%;left:8%;font-size:4.7cqw}
.story-layers .phone-screen>span{font:700 15cqw/.98 var(--body);letter-spacing:-.04em;bottom:17%;left:9%;text-shadow:0 2px 16px #0006}
.story-layers .phone-screen img{object-position:50% center}
.story-layers .phone-screen small{font-size:3.4cqw;bottom:5%;left:9%}
.film-play{position:absolute;right:9%;bottom:6%;width:17%;height:auto;color:var(--paper);stroke-width:1.2}
.film-play path{fill:currentColor;stroke:none}
.story-layers .piece-web{aspect-ratio:1.45}
.story-layers .browser-bar{font-size:2.7cqw;padding-bottom:4%;border-bottom:1px solid #b9b6ac;margin-bottom:4%}
.story-layers .web-layout{height:72%;grid-template-columns:46% 54%;gap:3%}
.story-layers .web-layout strong{font:700 8cqw/.98 var(--body);letter-spacing:-.04em;padding-top:2%}
.story-layers .web-layout img{object-position:70% center}
.story-layers .piece-web>small{font-size:2.3cqw;padding-top:3%;display:flex;align-items:center;justify-content:space-between;gap:4%}
.mock-cta{background:var(--red);padding:3%;white-space:nowrap}

.story-layers .piece-email>small{font-size:3.3cqw;border-bottom:1px solid var(--rule);padding-bottom:6%;margin-bottom:8%}
.story-layers .piece-email>strong{font:700 10cqw/1.02 var(--body);letter-spacing:-.035em;margin-bottom:8%}
.story-layers .piece-email img{height:32cqw;object-position:50% 60%}
.story-layers .piece-email>span{font-size:3.5cqw;padding:5%;margin-top:7%}
@media(min-width:1700px){.hero-composition{width:1150px;right:calc((100vw - 1680px)/2)}}
@media(max-width:1000px) and (min-width:701px){.hero-composition{width:72%;right:-6%;top:65px}}
@media(max-width:700px){.hero-composition{width:118%;right:auto;top:auto;margin:20px -9% 0}.hero-master{width:100%}.hero-copy{margin-top:24px}}

@media(min-width:701px){.plans .section-heading{display:grid;grid-template-columns:70% 26%;gap:4%}.plans .section-heading .display{font-size:clamp(50px,6.4vw,108px)}}

/* Refinement: clear hero type, complete pricing viewport, balanced question spread. */
@media(min-width:701px){.hero h1{font-size:clamp(72px,8.4vw,143px)}}
.service-reveal-line{display:block;overflow:clip}.service-reveal-line>span{display:block}
.faq{min-height:100svh;align-items:center;padding-top:8vh;padding-bottom:8vh;border-top:8px solid var(--red)}
@media(min-width:1001px){
.plans{padding-top:24px;padding-bottom:24px}
.plans .section-heading{margin-bottom:20px}
.plans .section-heading .display{font-size:clamp(42px,min(5vw,7vh),72px)}
.plans .section-heading>p{font-size:16px}
.plan,.plan:first-child,.plan:last-child{padding-top:16px;padding-bottom:16px}
.plan h3{font-size:24px}.plan-purpose{font-size:13px;min-height:36px;margin-top:7px}
.price{margin:12px 0 16px;line-height:1.1}.price span{font-size:clamp(42px,4vw,58px)}
.plan-summary{font-size:14px;min-height:44px}
.plan ul{margin:16px 0}.plan li{font-size:13px;padding:7px 0;min-height:34px}
.plan .button{padding:14px;min-height:46px;font-size:13px}
.plan-note{font-size:12px;line-height:1.5;margin-top:14px}
}
@media(max-width:700px){.faq{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:90svh;padding-top:48px;padding-bottom:48px}.faq-list{margin-top:28px}}

@media(min-width:1001px){.plans{min-height:100svh;display:flex;flex-direction:column;justify-content:center}}

/* Use the approved artwork’s exact alpha contour to keep the edited montage clean. */
.hero-master{mask-image:url(/assets/agency/hero-approved.webp);mask-mode:alpha;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url(/assets/agency/hero-approved.webp);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
/* Shared agency navigation and footer across the campaign home and editorial pages. */
.site-header{position:relative;z-index:30;background:var(--paper);border-bottom:1px solid var(--ink)}
.site-header .site-nav{min-height:78px;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .brand{font:700 clamp(26px,2.4vw,36px)/1 'DM Sans',sans-serif;letter-spacing:-.045em;white-space:nowrap}
.site-header .brand b,.site-footer .brand b{color:var(--red)}
.site-links{display:flex;align-items:center;gap:clamp(12px,2vw,32px);flex-wrap:wrap}
.site-links a{font-size:14px;font-weight:700;white-space:nowrap}
.site-links a:hover{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:5px}
.site-links .site-cta{background:var(--ink);color:var(--paper);padding:12px 17px;min-height:44px;display:inline-flex;align-items:center}
.site-links .site-cta:hover{background:var(--red);color:var(--ink);text-decoration:none}
.site-footer{display:block;padding:55px var(--gutter) 25px;background:var(--ink);color:var(--paper)}
.site-footer-inner{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.site-footer .brand{font-size:30px;font-weight:700;letter-spacing:-.04em}
.site-footer p{color:#d5d0c7;margin-top:1rem}
.site-footer nav{display:grid;grid-template-columns:1fr;gap:10px;align-content:start}
.site-footer nav a{font-size:14px}
.site-footer small{grid-column:1/-1;border-top:1px solid #58564f;padding-top:18px;color:#c7c1b9}
@media(max-width:760px){.site-header .site-nav{padding:16px var(--gutter);flex-wrap:wrap}.site-links{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.site-links a{font-size:13px}.site-footer-inner{grid-template-columns:1fr}.site-footer small{grid-column:1}}

/* Pin the complete process spread and keep Lenis from competing with CSS smooth scroll. */
html.lenis{scroll-behavior:auto!important}
@media(min-width:701px){.process{min-height:100svh;padding-top:min(7vh,80px);padding-bottom:min(7vh,80px);align-items:center}}
