/* V22 — desktop-first project + service subpages, using the approved V21 palette. */
:root{
  --sub-bg:#E8EEEE;
  --sub-soft:#DFE8E8;
  --sub-ink:#0B2324;
  --sub-muted:#66797A;
  --sub-line:#C7D3D3;
  --sub-coral:#E94B2B;
  --sub-cyan:#50B3C4;
  --sub-pink:#E2A5E6;
  --sub-cream:#F4F0E7;
}
body{background:var(--sub-bg);color:var(--sub-ink)}
.site-header{background:var(--sub-bg)}
.sub-main{overflow:hidden}
.sub-hero{padding:58px 0 120px}
.sub-hero-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:7%;align-items:end}
.sub-kicker{font-size:10px;letter-spacing:.16em;font-weight:750;color:#738485;margin-bottom:34px}
.sub-hero h1{font-size:clamp(76px,7.2vw,118px);letter-spacing:-.078em;line-height:.92;font-weight:560;max-width:720px}
.sub-hero h1 .soft{color:#809293}
.sub-lead{font-size:18px;line-height:1.7;color:#566A6B;max-width:570px;margin-top:35px}
.sub-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:33px}
.sub-meta span{border:1px solid #B9C9C9;border-radius:99px;padding:9px 14px;font-size:11px;font-weight:650;background:rgba(255,255,255,.28)}
.sub-cta-row{display:flex;align-items:center;gap:20px;margin-top:38px}
.sub-hero-visual{min-width:0}
.project-browser{background:#fff;border:1px solid #B9C8C8;border-radius:32px;overflow:hidden;box-shadow:0 28px 80px rgba(11,35,36,.12)}
.browser-chrome{height:48px;border-bottom:1px solid #D5DFDF;display:flex;align-items:center;gap:7px;padding:0 18px;color:#819091;font-size:10px;letter-spacing:.05em}.browser-chrome i{width:7px;height:7px;border-radius:50%;background:#A9B8B8}.browser-chrome span{margin-left:10px}
.project-browser img{width:100%;display:block;aspect-ratio:1.34;object-fit:cover;object-position:top}
.sub-statbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--sub-line);border-bottom:1px solid var(--sub-line);margin-top:70px}.sub-stat{padding:24px 20px;border-right:1px solid var(--sub-line)}.sub-stat:last-child{border-right:0}.sub-stat small{display:block;font-size:9px;letter-spacing:.12em;color:#78898A;margin-bottom:9px}.sub-stat strong{font-size:16px;font-weight:600}
.sub-section{padding:125px 0;border-top:1px solid var(--sub-line)}
.sub-section.soft-bg{background:rgba(255,255,255,.24)}
.sub-section.dark{background:var(--sub-ink);color:white;border:0}
.sub-section.cream{background:var(--sub-cream)}
.sub-rule{display:flex;justify-content:space-between;gap:30px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#78898A;margin-bottom:62px}
.dark .sub-rule{color:#8EA1A1}
.sub-split{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start}
.sub-section h2{font-size:clamp(54px,5.2vw,86px);line-height:1.01;letter-spacing:-.065em;font-weight:520}.sub-section h2 .soft{color:#879899}.dark h2 .soft{color:#809596}
.sub-copy{max-width:590px}.sub-copy p{font-size:17px;line-height:1.78;color:#586B6C;margin-bottom:22px}.dark .sub-copy p{color:#B5C2C2}.sub-copy strong{color:var(--sub-ink)}.dark .sub-copy strong{color:white}
.case-image{border-radius:32px;overflow:hidden;background:#DCE5E5}.case-image img{width:100%;height:100%;object-fit:cover;display:block}.case-image.tall{height:760px}.case-image.medium{height:520px}.case-image img.top{object-position:top}
.case-overlap{position:relative;min-height:670px}.case-overlap .case-image:first-child{width:78%;height:620px}.case-overlap .case-image:last-child{position:absolute;width:48%;height:350px;right:0;bottom:0;border:12px solid var(--sub-bg);border-radius:32px}
.case-quote{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(42px,4.1vw,68px);line-height:1.12;letter-spacing:-.035em;max-width:720px}.case-quote small{display:block;font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:12px;letter-spacing:.08em;margin-top:28px;color:#829494}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px}.feature-card{border-top:1px solid var(--sub-line);padding:28px 0 20px}.feature-card span{font-size:10px;color:#7A8B8C;letter-spacing:.12em}.feature-card h3{font-size:26px;letter-spacing:-.04em;font-weight:580;margin:55px 0 15px}.feature-card p{font-size:14px;line-height:1.65;color:#637677}
.dark .feature-card{border-color:#355052}.dark .feature-card p,.dark .feature-card span{color:#9FB0B0}
.fullcase{padding:115px 0}.fullpage-window{width:min(1200px,calc(100% - 112px));margin:auto;border-radius:30px;overflow:hidden;border:1px solid #B9CACA;background:white;box-shadow:0 35px 100px rgba(11,35,36,.16)}.fullpage-window .browser-chrome{position:sticky;top:0;background:#fff;z-index:2}.fullpage-scroll{height:740px;overflow:auto;scrollbar-width:thin}.fullpage-scroll img{width:100%;display:block}
.case-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-top:65px}.case-gallery .case-image:first-child{grid-row:span 2;height:680px}.case-gallery .case-image{height:328px}
.next-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:end}.next-panel h2{font-size:clamp(68px,8vw,126px)}.next-panel a{font-size:28px;border-bottom:1px solid #7C8F90;padding-bottom:14px;display:flex;justify-content:space-between;align-items:center}
/* Service pages */
.service-hero-visual{border-radius:38px;overflow:hidden;min-height:570px;background:#DCE7E8;position:relative}.service-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,35,36,.02),rgba(11,35,36,.12))}
.service-number{position:absolute;right:28px;bottom:22px;z-index:2;color:white;font-size:11px;letter-spacing:.12em}
.service-list{margin-top:55px;border-top:1px solid var(--sub-line)}.service-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;align-items:center;min-height:118px;border-bottom:1px solid var(--sub-line)}.service-list>div>span:first-child{font-size:10px;color:#7F9090}.service-list strong{font-size:29px;font-weight:540;letter-spacing:-.04em}.service-list p{font-size:14px;color:#627576;line-height:1.55}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:65px}.process-step{border-top:1px solid currentColor;padding-top:22px;min-height:250px}.process-step small{font-size:10px;letter-spacing:.12em;opacity:.6}.process-step h3{font-size:25px;letter-spacing:-.04em;margin:80px 0 15px}.process-step p{font-size:14px;line-height:1.6;opacity:.68}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:55px}.related-card{display:block}.related-card figure{margin:0;aspect-ratio:1.55;border-radius:22px;overflow:hidden;background:#D9E4E5}.related-card img{width:100%;height:100%;object-fit:cover}.related-card h3{font-size:28px;margin:18px 0 5px;letter-spacing:-.04em}.related-card p{font-size:13px;color:#697B7C}
.service-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.service-overview-card{min-height:480px;border:1px solid var(--sub-line);border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s,background .3s}.service-overview-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.35)}.service-overview-card .n{font-size:11px;letter-spacing:.12em;color:#78898A}.service-overview-card h2{font-size:42px;line-height:1.05;letter-spacing:-.05em}.service-overview-card p{font-size:14px;line-height:1.6;color:#617475}.service-overview-card .arrow{font-size:30px;color:var(--sub-coral)}
.sub-footer{border-top:1px solid var(--sub-line);padding:45px 0 38px;display:flex;justify-content:space-between;align-items:center;color:#6D7E7F;font-size:11px}.sub-footer .footer-logo{width:140px}
@media(max-width:1100px){.sub-hero-grid,.sub-split,.next-panel{grid-template-columns:1fr;gap:50px}.sub-hero-visual{min-height:500px}.sub-statbar{grid-template-columns:repeat(2,1fr)}.sub-stat:nth-child(2){border-right:0}.feature-grid,.service-overview-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.case-gallery{grid-template-columns:1fr}.case-gallery .case-image:first-child{grid-row:auto;height:520px}}
@media(max-width:760px){.sub-hero{padding-top:35px}.sub-hero h1{font-size:14vw}.sub-section{padding:80px 0}.sub-section h2{font-size:11vw}.sub-statbar{grid-template-columns:1fr}.sub-stat{border-right:0}.feature-grid,.service-overview-grid,.process-grid,.related-grid{grid-template-columns:1fr}.case-overlap{min-height:0}.case-overlap .case-image:first-child{width:100%;height:440px}.case-overlap .case-image:last-child{position:relative;width:75%;height:250px;margin:-80px 0 0 auto;border-width:8px}.fullpage-window{width:calc(100% - 38px)}.fullpage-scroll{height:550px}.service-list>div{grid-template-columns:34px 1fr}.service-list p{grid-column:2}.sub-footer{flex-wrap:wrap;gap:18px}}
/* Homepage service rows can now be links. */
.service-rows>a{min-height:128px;border-bottom:1px solid #314B4C;display:grid;grid-template-columns:9% 45% 1fr 28px;align-items:center;gap:20px;color:inherit}.service-rows>a>span:first-child{color:#7E9696;font-size:11px}.service-rows>a>span:nth-of-type(2){font-size:13px;color:#AFC0C0}.service-rows>a strong{font-weight:450;font-size:32px;letter-spacing:-.045em}.service-rows>a b{font-size:24px;font-weight:300;color:var(--sub-coral);transition:transform .25s}.service-rows>a:hover b{transform:translate(4px,-4px);color:var(--sub-cyan)}
@media(max-width:760px){.service-rows>a{grid-template-columns:28px 1fr 25px;min-height:130px;gap:12px}.service-rows>a>span:nth-of-type(2){display:none}.service-rows>a strong{font-size:25px}}
