.content-page{background:#f4f3ef}
.content-page main{overflow:hidden}
.back{min-height:44px;padding:10px 12px}
.home-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:clamp(60px,9vw,130px);border-top:1px solid var(--line)}
.home-services h2{margin:34px 0 24px;font-size:clamp(44px,5.4vw,78px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.home-services h2 em{font-family:var(--serif);font-weight:500;color:#7f929f}
.home-services>div>p{max-width:580px;color:var(--muted);font-size:16px;line-height:1.65}
.home-services nav{align-self:end;border-top:1px solid var(--line)}
.home-services nav a{min-height:78px;padding:18px 0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);font-size:18px;transition:padding .25s}
.home-services nav a:hover{padding-left:10px}
.home-services nav span{color:var(--muted);font-size:10px}
.home-services nav b{font-weight:500}
.projects-all-link{display:flex;width:max-content;min-height:48px;margin:24px max(var(--pad),calc((100vw - 1360px)/2 + var(--pad))) 0;align-items:center;color:#c6c7c2}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:clamp(58px,8vw,110px);color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.breadcrumbs a{border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.breadcrumbs a:hover{color:var(--ink);border-color:currentColor}
.breadcrumbs span[aria-hidden]{opacity:.45}
.content-hero{min-height:clamp(680px,88vh,940px);padding:clamp(145px,16vh,190px) max(var(--pad),calc((100vw - 1360px)/2 + var(--pad))) clamp(80px,9vw,130px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);align-items:end;gap:clamp(50px,10vw,150px)}
.content-hero--dark{background:#171818;color:#f4f3ef;border-radius:0 0 var(--radius) var(--radius)}
.content-hero .section-label{margin-bottom:32px}
.content-hero h1,.case-hero h1{margin:0;font-size:clamp(58px,7.6vw,118px);font-weight:500;line-height:.91;letter-spacing:-.065em}
.content-hero h1 em,.content-cta h2 em{font-family:var(--serif);font-weight:500;color:#7f929f}
.content-hero__lead{max-width:520px;margin:0 0 6px;color:var(--muted);font-size:clamp(17px,1.5vw,22px);line-height:1.55}
.content-hero--dark .content-hero__lead,.content-hero--dark .breadcrumbs{color:#a7a8a4}
.content-grid{max-width:var(--container);margin:auto;padding:clamp(90px,11vw,155px) var(--pad);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.content-card>a{height:100%;min-height:360px;padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:clamp(24px,3vw,38px);background:rgba(255,255,255,.52);transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.content-card>a:hover{transform:translateY(-5px);background:#fff;box-shadow:0 28px 75px rgba(20,25,30,.08)}
.content-card>a>span,.content-card__copy>span{color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.content-card h2,.content-card h3{margin:55px 0 14px;font-size:clamp(31px,3.5vw,52px);font-weight:500;line-height:1;letter-spacing:-.045em}
.content-card p{max-width:520px;margin:0;color:var(--muted);font-size:15px}
.content-card b{margin-top:auto;padding-top:42px;font-size:12px;font-weight:600}
.content-card img{width:calc(100% + clamp(56px,8vw,108px));max-width:none;height:auto;aspect-ratio:16/9;margin:calc(clamp(28px,4vw,54px) * -1) calc(clamp(28px,4vw,54px) * -1) 0;object-fit:contain;background:#0c0d0e;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.content-card__copy{min-height:285px;display:flex;flex-direction:column;padding-top:30px}
.content-card__copy h3{margin-top:34px}
.content-split{max-width:var(--container);margin:auto;padding:clamp(100px,13vw,180px) var(--pad);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(60px,10vw,150px);border-top:1px solid var(--line)}
.content-split h2,.process-section h2,.related-head h2,.case-chapter h2,.case-duo h2,.case-specs h2,.case-result h2{margin:24px 0 0;font-size:clamp(38px,5.2vw,76px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.content-split>div:last-child{align-self:end;color:#555653;font-size:clamp(16px,1.35vw,19px);line-height:1.7}
.content-split>div:last-child p{margin:0 0 24px}
.content-split .text-link{width:max-content;margin-right:28px}
.content-split--reverse{border-top:0;background:#e8e8e3;border-radius:var(--radius)}
.content-values{max-width:var(--container);margin:auto;padding:0 var(--pad) clamp(100px,13vw,180px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.content-values article{min-height:290px;padding:30px 30px 25px;border-top:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column}
.content-values article:first-child{padding-left:0}
.content-values article:last-child{border-right:0}
.content-values span{color:var(--muted);font-size:11px}
.content-values h2{margin:auto 0 10px;font-size:25px;font-weight:500}
.content-values p{margin:0;color:var(--muted)}
.content-cta{max-width:var(--container);margin:clamp(70px,8vw,120px) auto;padding:clamp(70px,9vw,125px) var(--pad);background:#dbe5e8;border-radius:var(--radius)}
.content-cta h2{margin:28px 0 45px;font-size:clamp(48px,7vw,102px);font-weight:500;line-height:.94;letter-spacing:-.06em}
.content-cta>div{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.project-list{padding:clamp(90px,11vw,150px) max(var(--pad),calc((100vw - 1360px)/2 + var(--pad)));display:grid;gap:clamp(70px,9vw,130px)}
.project-list-card>a{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(35px,7vw,100px);align-items:center}
.project-list-card:nth-child(even)>a{grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}
.project-list-card:nth-child(even) img{order:2}
.project-list-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#0b0d0e;border-radius:clamp(24px,3vw,40px);box-shadow:0 28px 80px rgba(20,24,26,.12)}
.project-list-card__copy>span{color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.project-list-card__copy h2{margin:24px 0 14px;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.95;letter-spacing:-.055em}
.project-list-card__copy p{color:var(--muted);font-size:16px}
.project-list-card__copy b{display:block;margin-top:35px;font-size:12px}
.content-list{margin:0;padding:0;list-style:none}
.content-list li{min-height:76px;padding:20px 0;display:grid;grid-template-columns:55px minmax(0,1fr);align-items:center;border-top:1px solid var(--line);font-size:17px}
.content-list li:last-child{border-bottom:1px solid var(--line)}
.content-list span{color:var(--muted);font-size:10px;letter-spacing:.13em}
.process-section,.related-section{padding:clamp(90px,11vw,155px) max(var(--pad),calc((100vw - 1360px)/2 + var(--pad)))}
.process-section{background:#171818;color:#f4f3ef;border-radius:var(--radius)}
.process-section>div:first-child{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:80px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #414242}
.process-grid article{min-height:260px;padding:25px 30px;border-right:1px solid #414242;display:flex;flex-direction:column}
.process-grid article:first-child{padding-left:0}
.process-grid article:last-child{border-right:0}
.process-grid span{color:#8e908c;font-size:10px}
.process-grid p{margin:auto 0 0;color:#c6c7c2;font-size:15px;line-height:1.6}
.related-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:55px}
.related-head .section-label{grid-column:1/3}
.related-head h2{margin-top:20px}
.related-section>.content-grid{padding:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.related-section .content-card>a{min-height:470px}
.contact-page-hero{min-height:720px}
.contact-direct{align-self:end}
.contact-direct>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.contact-direct>a{display:block;margin:18px 0 30px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-direct p{color:var(--muted);font-size:16px;line-height:1.65}
.content-contact{margin-bottom:clamp(70px,8vw,120px)}
.case-study-static{padding-top:150px}
.case-hero{max-width:var(--container);min-height:560px;margin:auto;padding:0 var(--pad) 80px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:clamp(50px,9vw,130px)}
.case-hero .breadcrumbs{grid-column:1/3;margin-bottom:30px}
.case-hero .section-label{margin-bottom:27px}
.case-hero .case-lead{max-width:820px;margin:28px 0 0;color:var(--muted)!important;font-size:clamp(20px,2.3vw,32px)!important;line-height:1.35}
.case-hero dl{margin:0;border-top:1px solid var(--line)}
.case-hero dl>div{padding:17px 0;display:grid;grid-template-columns:95px minmax(0,1fr);border-bottom:1px solid var(--line)}
.case-hero dt{color:var(--muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.case-hero dd{margin:0;font-size:13px}
.case-study-static>.case-media{max-width:calc(var(--container) - var(--pad)*2);margin:0 auto clamp(90px,11vw,150px);aspect-ratio:var(--media-ratio,16/9);background:var(--media-bg,#0b0d0e)}
.case-study-static .case-poster,.case-study-static .case-video{object-fit:contain}
.case-chapter{max-width:var(--container);margin:auto;padding:clamp(75px,9vw,125px) var(--pad);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.6fr);gap:clamp(50px,9vw,130px);border-top:1px solid var(--line)}
.case-chapter>div>span{color:var(--muted);font-size:11px}
.case-chapter>p{align-self:end;margin:0;color:#555653;font-size:17px;line-height:1.7}
.case-duo,.case-specs{max-width:var(--container);margin:auto;padding:clamp(80px,10vw,140px) var(--pad);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.case-duo article,.case-specs>div{min-height:420px;padding:clamp(30px,4vw,55px);border-radius:clamp(24px,3vw,38px);background:#e8e8e3}
.case-duo h2,.case-specs h2{margin:65px 0 22px;font-size:clamp(35px,4vw,54px)}
.case-duo p:last-child{color:var(--muted);font-size:16px;line-height:1.68}
.case-specs{padding-top:0}
.case-specs>div:first-child{background:#171818;color:#f4f3ef}
.case-specs ul{margin:40px 0 0;padding:0;list-style:none}
.case-specs li{padding:15px 0;border-top:1px solid currentColor;font-size:14px;opacity:.78}
.case-result{max-width:var(--container);margin:0 auto;padding:clamp(90px,12vw,165px) var(--pad);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,130px)}
.case-result .section-label{grid-column:1/3}
.case-result h2{margin:0}
.case-result>p:last-child{align-self:end;margin:0;color:#555653;font-size:clamp(17px,1.5vw,21px);line-height:1.68}
.related-services{max-width:var(--container);margin:auto;padding:0 var(--pad) clamp(90px,11vw,150px)}
.related-services>div{margin-top:25px;border-top:1px solid var(--line)}
.related-services a{min-height:80px;padding:20px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:clamp(20px,2.3vw,30px);transition:padding .25s}
.related-services a:hover{padding-left:12px}

@media(max-width:800px){
  .home-services{display:grid;grid-template-columns:1fr;gap:42px}
  .home-services h2{font-size:clamp(37px,10.6vw,48px)}
  .home-services nav a{min-height:68px;font-size:16px}
  .projects-all-link{margin-inline:var(--mobile-gutter)}
  .content-hero{min-height:auto;padding:calc(125px + env(safe-area-inset-top)) var(--mobile-gutter) 78px;grid-template-columns:1fr;gap:40px}
  .breadcrumbs{margin-bottom:55px;gap:7px;font-size:9px}
  .content-hero .section-label{margin-bottom:22px}
  .content-hero h1,.case-hero h1{font-size:clamp(43px,12.6vw,58px);line-height:.94}
  .content-hero__lead{font-size:16px}
  .content-grid{padding:78px var(--mobile-gutter);grid-template-columns:1fr}
  .content-card>a{min-height:330px;padding:26px;border-radius:24px}
  .content-card h2,.content-card h3{margin-top:42px;font-size:35px}
  .content-card img{width:calc(100% + 52px);margin:-26px -26px 0}
  .content-card__copy{min-height:260px}
  .content-split{padding:82px var(--mobile-gutter);grid-template-columns:1fr;gap:38px}
  .content-split h2,.process-section h2,.related-head h2,.case-chapter h2,.case-duo h2,.case-specs h2,.case-result h2{font-size:clamp(36px,10.5vw,48px)}
  .content-split>div:last-child{font-size:16px}
  .content-split .text-link{width:100%;margin:8px 0}
  .content-values{padding:0 var(--mobile-gutter) 82px;grid-template-columns:1fr}
  .content-values article,.content-values article:first-child{min-height:205px;padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}
  .content-cta{margin:58px var(--mobile-gutter);padding:58px 24px;border-radius:24px}
  .content-cta h2{margin:24px 0 36px;font-size:clamp(42px,12vw,56px)}
  .content-cta .button{width:100%}
  .project-list{padding:75px var(--mobile-gutter);gap:72px}
  .project-list-card>a,.project-list-card:nth-child(even)>a{grid-template-columns:1fr;gap:28px}
  .project-list-card:nth-child(even) img{order:0}
  .project-list-card__copy h2{font-size:42px}
  .content-list li{font-size:15px}
  .process-section,.related-section{padding:80px var(--mobile-gutter);border-radius:24px}
  .process-section>div:first-child{display:block;margin-bottom:48px}
  .process-grid{grid-template-columns:1fr}
  .process-grid article,.process-grid article:first-child{min-height:175px;padding:22px 0;border-right:0;border-bottom:1px solid #414242}
  .related-head{display:block}
  .related-head .text-link{margin-top:20px}
  .related-section>.content-grid{grid-template-columns:1fr}
  .related-section .content-card>a{min-height:420px}
  .contact-direct>a{font-size:24px}
  .case-study-static{padding-top:calc(115px + env(safe-area-inset-top))}
  .case-hero{min-height:auto;padding:0 var(--mobile-gutter) 58px;grid-template-columns:1fr;gap:38px}
  .case-hero .breadcrumbs{grid-column:1;margin-bottom:20px}
  .case-hero .case-lead{font-size:21px!important}
  .case-study-static>.case-media{width:calc(100% - var(--mobile-gutter)*2);margin:0 var(--mobile-gutter) 80px;border-radius:20px}
  .case-chapter{padding:70px var(--mobile-gutter);grid-template-columns:1fr;gap:30px}
  .case-chapter>p{font-size:16px}
  .case-duo,.case-specs{padding:70px var(--mobile-gutter);grid-template-columns:1fr}
  .case-duo article,.case-specs>div{min-height:360px;padding:28px}
  .case-duo h2,.case-specs h2{margin-top:48px}
  .case-specs{padding-top:0}
  .case-result{padding:80px var(--mobile-gutter);grid-template-columns:1fr;gap:30px}
  .case-result .section-label{grid-column:1}
  .related-services{padding:0 var(--mobile-gutter) 80px}
  .related-services a{min-height:70px;font-size:20px}
}

@media(prefers-reduced-motion:reduce){.content-card>a{transition:none}.content-card>a:hover{transform:none}.related-services a{transition:none}}
