/* Homepage only: the original shared styles and all interior pages stay untouched. */
.agency-home{--agency-blue:#377cff;--agency-muted:#aaa9a6;--agency-rule:#242424;--agency-space:clamp(90px,10vw,160px);width:calc(100% - 112px);max-width:1440px;margin:0 auto}
html:has(.agency-home){scroll-behavior:smooth;scroll-padding-top:110px}
.agency-header{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 112px);max-width:1440px;padding:0;height:88px;grid-template-columns:150px 1fr auto 16px;gap:32px;font-size:13px;border-bottom:1px solid #242424}
.agency-header:before{backdrop-filter:blur(16px);background:#080808d9;inset:0 -20px;mask-image:none}
.agency-header .availability{width:16px}.agency-header .availability span{width:9px;height:9px}.agency-header .role{display:block;visibility:visible!important}
.agency-home h1,.agency-home h2,.agency-home h3{font-family:Open Sauce Two,Arial,sans-serif;font-weight:400}
.agency-home .agency-blue{background:linear-gradient(100deg,#174bff 0%,#377cff 48%,#70c9ff 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media(forced-colors:active){.agency-home .agency-blue{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}
.agency-hero{position:relative;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;min-height:max(850px,100svh);padding:160px 0 100px;gap:0}
.agency-hero-copy{position:relative;z-index:2}
.agency-status{display:inline-flex;align-items:center;gap:10px;font-size:11px;line-height:1.5;padding:9px 14px;border:1px solid #303030;border-radius:30px;margin-bottom:30px;color:#d6d6d3;animation:agency-enter .9s var(--ease) both}
.agency-status>span{width:7px;height:7px;border-radius:50%;background:var(--agency-blue);flex:none}
.agency-hero h1{font-size:clamp(74px,6.9vw,106px);line-height:1;letter-spacing:-.068em;animation:agency-enter 1.1s .06s var(--ease) both}
.agency-lead{font-size:clamp(16px,1.35vw,20px);line-height:1.65;max-width:480px;color:#d6d6d3;margin-top:30px;letter-spacing:-.025em;animation:agency-enter 1.1s .14s var(--ease) both}
.agency-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;animation:agency-enter 1.1s .2s var(--ease) both}
.agency-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:52px;padding:15px 20px;border:1px solid #3a3a39;border-radius:12px;font-size:13px;line-height:1.4;transition:background .35s,border-color .35s}
.agency-button-primary{background:#f1f1ef;border-color:#f1f1ef;color:#080808}.agency-button-primary .arrow{color:#080808}
.agency-button:hover{border-color:#777;background:#151515}.agency-button-primary:hover{background:#dce7ff;border-color:#dce7ff}.agency-button:hover .arrow,.agency-link:hover .arrow{transform:translate(3px,-3px)}
.agency-portrait{position:absolute;right:-3%;top:140px;bottom:50px;width:54%;margin:0;display:flex;align-items:center;min-width:0;pointer-events:none;animation:agency-portrait-enter 1.5s var(--ease) both}
.agency-portrait img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.08);mask-image:linear-gradient(to right,transparent,#000 18%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 74%,transparent 97%);mask-composite:intersect;-webkit-mask-composite:source-in;mix-blend-mode:lighten}
.agency-portrait figcaption{position:absolute;right:0;bottom:5%;font-size:12px;color:#b7b7b3;letter-spacing:-.02em;text-align:right}.agency-portrait figcaption span{display:block;font-size:10px;color:#888884;margin-top:4px}
.agency-section{padding:var(--agency-space) 0;border-top:1px solid var(--agency-rule)}
.agency-eyebrow{font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.065em;color:var(--agency-muted)}
.agency-section-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:center;margin-top:32px}
.agency-section-intro h2{font-size:clamp(38px,4.25vw,64px);line-height:1.12;letter-spacing:-.06em}
.agency-section-intro>p,.agency-contact-copy>p,.agency-testimonial blockquote p{max-width:380px;font-size:16px;line-height:1.7;color:#c3c3bf;letter-spacing:-.025em}
.agency-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:80px 0 0}.agency-metrics>div{border-left:1px solid var(--agency-rule);padding-left:28px}.agency-metrics dt{font-size:20px;line-height:1.4;letter-spacing:-.04em;white-space:nowrap}.agency-metrics strong{font-size:40px;font-weight:500;letter-spacing:-.065em;margin-right:4px}.agency-metrics dd{margin:16px 0 0;font-size:14px;color:var(--agency-muted);line-height:1.65}
.agency-section-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.agency-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;line-height:1.5}.agency-link .arrow{width:17px;height:17px}
.agency-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:42px}.agency-project{min-width:0;display:block}.agency-project-image{overflow:hidden;aspect-ratio:1.3;background:#1c1c1c;border-radius:4px;display:flex;align-items:center}.agency-project-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .9s var(--ease)}.agency-project:hover img,.agency-project:focus-visible img{transform:scale(1.035)}
.agency-project-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:22px}.agency-project-caption h3{font-size:21px;line-height:1.35;letter-spacing:-.04em}.agency-project-caption p{font-size:12px;color:var(--agency-muted);line-height:1.6;margin-top:6px}.agency-project-caption>.arrow{width:18px;height:18px;align-self:center}
.agency-services .agency-section-intro{grid-template-columns:1.6fr 1fr;gap:8%}.agency-services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:80px}.agency-service{border-left:1px solid var(--agency-rule);padding:0 0 0 22px}.agency-service:first-child{border:0;padding-left:0}.agency-service h3{font-size:18px;line-height:1.4;letter-spacing:-.04em;max-width:170px;min-height:52px}.agency-service ul{list-style:none;padding:0;margin:23px 0 0;color:var(--agency-muted);font-size:13px;line-height:1.85}
.agency-about{display:grid;grid-template-columns:1fr 2fr;gap:8%}.agency-about-copy{max-width:830px}.agency-about-copy>p{font-size:clamp(26px,3vw,44px);line-height:1.4;letter-spacing:-.045em;color:#d6d6d3}.agency-about-copy .agency-link{margin-top:35px}
.agency-contact{padding-block:calc(var(--agency-space)*1.25)}.agency-contact .agency-section-intro{grid-template-columns:1.5fr 1fr;gap:8%}.agency-contact-copy .agency-button{margin-top:28px;min-width:145px}
.agency-footer{border-top:1px solid var(--agency-rule);padding:34px 0 30px;font-size:12px}.agency-footer-top{display:flex;justify-content:space-between;gap:24px;line-height:1.8}.agency-footer-top p{color:var(--agency-muted)}.agency-footer-top>p{text-align:right}.agency-footer-bottom{display:flex;align-items:center;gap:32px;margin-top:38px;font-size:11px;color:var(--agency-muted)}.agency-footer nav,.agency-social{display:flex;gap:24px;flex-wrap:wrap}.agency-footer-bottom small{font-size:10px;margin-left:auto}.agency-footer .arrow{width:13px;height:13px}.agency-footer a:hover{color:#f1f1ef}
@keyframes agency-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes agency-portrait-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.agency-hero{min-height:1040px}.agency-portrait{max-height:850px}.agency-portrait img{max-height:900px;object-fit:contain}}
@media(max-width:1100px){.agency-home,.agency-header{width:calc(100% - 72px)}.agency-header{grid-template-columns:110px 1fr auto 12px;gap:20px;font-size:11px}.agency-hero{min-height:820px;padding-top:145px;grid-template-columns:1.1fr 1fr}.agency-hero h1{font-size:clamp(72px,8vw,88px)}.agency-lead{font-size:16px;max-width:400px}.agency-actions{gap:10px}.agency-button{font-size:11px;padding:14px 16px;gap:18px}.agency-portrait{width:54%;margin:0}.agency-section-intro{gap:7%;grid-template-columns:1.25fr 1fr}.agency-section-intro>p,.agency-contact-copy>p,.agency-testimonial blockquote p{font-size:14px}.agency-metrics{gap:20px;margin-top:60px}.agency-metrics>div{padding-left:20px}.agency-metrics strong{font-size:33px}.agency-metrics dt{font-size:16px}.agency-work-grid{gap:20px}.agency-project-caption h3{font-size:18px}.agency-project-caption p{font-size:11px}.agency-services-grid{gap:16px}.agency-service{padding-left:16px}.agency-service h3{font-size:16px}.agency-service ul{font-size:12px}.agency-footer-bottom{gap:25px}.agency-footer nav,.agency-social{gap:18px}}
@media(max-width:760px){.agency-home,.agency-header{width:calc(100% - 48px)}.agency-header{height:76px;grid-template-columns:1fr auto 10px;gap:14px;font-size:12px}.agency-header .role{display:none}.agency-header .location{font-size:11px}.agency-hero{padding:132px 0 70px;min-height:auto;grid-template-columns:1fr}.agency-hero h1{font-size:clamp(66px,11.5vw,92px)}.agency-status{font-size:10px;margin-bottom:28px}.agency-lead{font-size:16px;max-width:470px;margin-top:28px}.agency-actions{margin-top:28px;gap:12px}.agency-button{font-size:12px;padding:15px 17px;gap:20px}.agency-portrait{position:relative;inset:auto;width:min(100%,520px);height:auto;margin:15px 0 -12px auto;align-self:auto}.agency-portrait img{height:auto}.agency-portrait img{mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,#000 70%,transparent 98%)}.agency-portrait figcaption{bottom:8%;font-size:11px;right:0}.agency-portrait figcaption span{font-size:9px}.agency-section-intro,.agency-services .agency-section-intro,.agency-contact .agency-section-intro{grid-template-columns:1fr;gap:32px;margin-top:28px}.agency-section-intro h2{font-size:clamp(36px,6.8vw,52px)}.agency-section-intro>p,.agency-contact-copy>p,.agency-testimonial blockquote p{font-size:15px;max-width:470px}.agency-metrics{grid-template-columns:1fr 1fr;gap:36px 22px;margin-top:48px}.agency-metrics dt{font-size:17px}.agency-metrics strong{font-size:36px}.agency-metrics dd{font-size:13px;margin-top:12px}.agency-work-grid{grid-template-columns:1fr;gap:44px;margin-top:34px}.agency-project-image{aspect-ratio:1.55}.agency-project-caption{margin-top:17px}.agency-project-caption h3{font-size:23px}.agency-project-caption p{font-size:12px}.agency-section-top .agency-link{font-size:11px;gap:10px}.agency-services-grid{grid-template-columns:1fr 1fr;gap:42px 24px;margin-top:48px}.agency-service,.agency-service:first-child{padding-left:18px;border-left:1px solid var(--agency-rule)}.agency-service h3{font-size:18px;min-height:auto}.agency-service ul{font-size:13px;margin-top:17px}.agency-about{grid-template-columns:1fr;gap:30px}.agency-about-copy>p{font-size:30px}.agency-footer-top{font-size:11px}.agency-footer-bottom{flex-wrap:wrap;gap:24px;margin-top:30px}.agency-footer nav{width:100%;gap:22px}.agency-footer-bottom small{margin-left:auto}.agency-footer .agency-social{gap:20px}}
@media(max-width:380px){.agency-home,.agency-header{width:calc(100% - 36px)}.agency-hero h1{font-size:64px}.agency-actions{flex-direction:column;align-items:flex-start}.agency-button{min-width:175px}.agency-section-intro h2{font-size:34px}.agency-metrics strong{font-size:32px}.agency-metrics dt{font-size:15px}.agency-footer-top{flex-direction:column}.agency-footer-top>p{text-align:left}}
@media(prefers-reduced-motion:reduce){.agency-home *{animation:none!important;transition:none!important}.agency-project:hover img,.agency-project:focus-visible img{transform:none}html:has(.agency-home){scroll-behavior:auto}}

/* Rolling digits overlay the original text, which reserves its exact geometry. */
.agency-metrics .metric-odometer{position:relative}
.metric-odometer-source{color:transparent}
.metric-odometer-layer{position:absolute;inset:0;pointer-events:none}
.metric-odometer-window{position:absolute;overflow:hidden}
.metric-odometer-track{position:absolute;left:0;display:block;white-space:nowrap}
.metric-odometer-row{display:block}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.metric-odometer-source{color:inherit}.metric-odometer-layer{display:none}}

/* Secondary hero showcase; the approved left column keeps its original geometry. */
.agency-showcase{position:absolute;left:56%;right:0;top:50%;transform:translateY(-43%);min-width:0;padding-left:28px;border-left:1px solid var(--agency-rule)}
.agency-showcase-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px;color:#999996}
.agency-showcase-heading>p{display:flex;align-items:center;justify-content:space-between;flex:1;gap:10px;font-size:9px;line-height:1.7;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap}.agency-showcase-heading>p>span{flex:none}
.agency-showcase-pause{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:4px;border:1px solid #303030;border-radius:50%;background:none;color:#b3b3af;cursor:pointer}
.agency-showcase-pause[hidden]{display:none}.agency-showcase-pause:hover{color:#f1f1ef;border-color:#555}.agency-showcase-pause svg{width:18px;height:18px}
.agency-showcase-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;mask-image:linear-gradient(to right,transparent,#000 4%,#000 92%,transparent);padding:2px 0;outline-offset:6px}
.agency-showcase-viewport::-webkit-scrollbar{display:none}.agency-showcase.is-dragging .agency-showcase-viewport{cursor:grabbing;user-select:none}
.agency-showcase-track{display:flex;width:max-content}.agency-showcase-group{display:flex;flex:none;gap:18px;padding-right:18px}
.agency-showcase-card{position:relative;flex:none;width:clamp(165px,14.5vw,218px);aspect-ratio:1240/2000;overflow:hidden;border:1px solid #2c2c2c;border-radius:16px;background:#111;user-select:none}.agency-showcase-card img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

.agency-about{align-items:center}.agency-about-photo{width:min(100%,250px);margin:32px 0 0;aspect-ratio:4/5;overflow:hidden;border-radius:4px}.agency-about-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
@media(max-width:1100px){.agency-showcase{left:56%;padding-left:20px}.agency-showcase-card{width:170px}.agency-showcase-heading{gap:8px}.agency-showcase-heading>p{font-size:7px;letter-spacing:.25em;gap:5px}}
@media(max-width:1000px) and (min-width:761px){.agency-header .role{font-size:10px;max-width:150px;white-space:normal}.agency-header .header-brand{font-size:30px;top:26px}}
@media(max-width:760px){.agency-showcase{position:relative;inset:auto;transform:none;grid-column:1;width:100%;padding:0;border-left:0;margin-top:66px}.agency-showcase-heading{margin-bottom:24px}.agency-showcase-heading>p{font-size:8px;letter-spacing:.25em;gap:5px}.agency-showcase-card{width:190px}.agency-about-photo{width:min(100%,230px);margin-top:28px}.agency-about{gap:40px}.agency-header .location{font-size:0;gap:0}.agency-header .location .separator{display:none}.agency-header #clock{font-size:11px}.agency-header .header-brand{font-size:25px;top:24px;height:36px}}

/* About follows the supplied composition; the original portrait asset stays intact. */
.agency-about{display:block;border-top:0;padding:95px 0 65px}
.agency-about>.agency-eyebrow{margin-bottom:27px}
.agency-about-layout{display:grid;grid-template-columns:30% minmax(0,1fr);column-gap:9%;align-items:center;border-top:1px solid var(--agency-rule);padding-top:30px}
.agency-about .agency-about-photo{width:400px;max-width:calc(100% + 20px);aspect-ratio:941/1379;margin:0 0 0 -30px;border-radius:0;overflow:visible}
.agency-about-photo img{object-fit:contain;filter:none;mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%)}
.agency-about .agency-about-copy{max-width:830px;padding-top:40px}
@media(max-width:1100px){.agency-about{padding-block:80px 60px}.agency-about-layout{grid-template-columns:32% minmax(0,1fr);column-gap:7%}.agency-about .agency-about-photo{width:300px;margin-left:-15px}.agency-about .agency-about-copy{padding-top:20px}}
@media(max-width:760px){.agency-about{padding-block:72px 70px}.agency-about>.agency-eyebrow{margin-bottom:24px}.agency-about-layout{grid-template-columns:1fr;gap:36px;padding-top:30px}.agency-about .agency-about-photo{width:min(100%,300px);max-width:100%;margin:0 auto}.agency-about .agency-about-copy{padding-top:0}}
.agency-project-image{aspect-ratio:5/4;background:#080808}

@media(max-width:360px){.agency-showcase-heading>p{font-size:7.5px;gap:4px}}

/* Fine outline service icons follow the supplied reference. */
.agency-service-icon{display:block;width:32px;height:32px;margin-bottom:24px;color:#dededb}
@media(max-width:1000px){body[data-page="home"] .site-header .role{visibility:hidden}}
@media(max-width:600px){body[data-page="home"] .site-header .location{font-size:0;gap:0}body[data-page="home"] .site-header .location .separator{display:none}body[data-page="home"] .site-header #clock{font-size:11px}}

/* Client reviews: editorial columns with soft edges and continuous movement. */
.agency-testimonials{padding-block:34px 24px}
.agency-testimonials-intro{grid-template-columns:1.6fr 1fr;gap:8%}
.agency-testimonials-carousel{position:relative;margin-top:38px}
.agency-testimonials-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);outline-offset:7px;padding:2px 0}
.agency-testimonials-viewport::-webkit-scrollbar{display:none}
.agency-testimonials.is-dragging .agency-testimonials-viewport{cursor:grabbing;user-select:none}
.agency-testimonials-track,.agency-testimonials-group{display:flex;width:max-content}
.agency-testimonials-group{flex:none}
.agency-testimonial{flex:none;width:clamp(290px,26.6vw,380px);margin:0;border-right:1px solid var(--agency-rule);padding:0 32px;display:flex;flex-direction:column}
.agency-testimonial blockquote{position:relative;margin:0;padding:16px 0 0 30px;flex:1}
.agency-testimonial-quote{position:absolute;left:0;top:-5px;font-family:Georgia,serif;font-size:48px;line-height:1;color:#686864}
.agency-testimonial figcaption{margin:24px 0 0 30px;padding-top:20px;position:relative;font-size:13px;line-height:1.85;letter-spacing:-.025em;color:#bdbdb9}
.agency-testimonial figcaption:before{content:'';position:absolute;left:0;top:0;width:36px;height:1px;background:#656561}
.agency-testimonial strong{font-weight:400;color:#f1f1ef}
.agency-testimonial-source{font-size:11px;color:#898985}
.agency-testimonial-source a{color:#b6b6b1;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#666662;transition:color .2s}
.agency-testimonial-source a:hover{color:#f1f1ef}
.agency-testimonials-pause{position:absolute;right:0;top:-36px;display:grid;place-items:center;width:28px;height:28px;padding:4px;border:1px solid #303030;border-radius:50%;background:#080808;color:#b3b3af;cursor:pointer;opacity:0;transition:opacity .2s}
.agency-testimonials-pause[hidden]{display:none}
.agency-testimonials:hover .agency-testimonials-pause,.agency-testimonials:focus-within .agency-testimonials-pause{opacity:1}
.agency-testimonials-pause svg{width:18px;height:18px}
@media(max-width:1100px){.agency-testimonial{padding-inline:24px;width:300px}.agency-testimonial figcaption{font-size:12px}}
@media(max-width:760px){.agency-testimonials-intro{grid-template-columns:1fr;gap:32px}.agency-testimonial figcaption{font-size:13px}.agency-testimonials-carousel{margin-top:44px}.agency-testimonial{width:min(310px,84vw);padding-inline:20px}.agency-testimonial blockquote{padding-left:25px}.agency-testimonial figcaption{margin-left:25px}.agency-testimonials-viewport{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}.agency-testimonials-pause{opacity:1}}
