:root{--navy:#103247;--ink:#17374a;--red:#c74449;--pale:#eef2f4;--muted:#62747f;--rule:#d9e1e5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafbfc;font-family:Arial,sans-serif;color:var(--ink)}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}figure{margin:0}h1,h2,p{margin:0}h1,h2{font-weight:400}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip-link{position:fixed;top:8px;left:280px;z-index:2000;transform:translateY(-150%);background:#fff;padding:12px}.skip-link:focus{transform:none}
.case-site{overflow:hidden}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:38px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.kicker{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;color:var(--muted)}.catalog-header{padding:40px 54px 48px;background:var(--navy);color:#fff}.catalog-header .breadcrumbs,.catalog-header .kicker{color:#b8cad6}.catalog-header h1{font-size:clamp(34px,3.5vw,56px);line-height:1.12;letter-spacing:-.03em;max-width:900px;margin:20px 0 22px}.catalog-header h1 span,.case-heading h1 span{color:var(--red)}.catalog-intro{font-size:16px;line-height:1.75;color:#d2dfe7;max-width:680px}.project-grid{padding:46px 54px 64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--rule);transition:border-color .2s}.project-card:hover{border-color:#96aab7}.card-picture{height:240px;position:relative;overflow:hidden}.card-picture img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover .card-picture img{transform:scale(1.025)}.card-number{position:absolute;left:18px;top:18px;background:var(--navy);color:white;padding:9px 12px;font-size:12px}.card-copy{padding:28px 28px 24px;display:flex;flex-direction:column;flex:1}.card-copy .kicker{font-size:10px;color:#926165}.card-copy h2{font-size:26px;letter-spacing:-.02em;line-height:1.2;margin:13px 0 16px}.card-copy>p:not(.kicker){font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:24px}.read-link{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid var(--rule);font-size:13px}.read-link>span{color:var(--red);font-size:23px}
.case-heading{padding:40px 54px 42px;background:#fff;border-bottom:1px solid var(--rule)}.case-heading h1{font-size:clamp(33px,3.45vw,54px);line-height:1.13;letter-spacing:-.03em;margin:18px 0;max-width:1000px;text-wrap:balance}.case-heading .kicker{color:#98636a}.case-location{font-size:13px;color:var(--muted);line-height:1.6}.case-opening{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(0,1fr);align-items:stretch;background:var(--pale)}.main-photo{display:flex;flex-direction:column}.main-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;flex:1;min-height:350px;max-height:550px}.main-photo figcaption{background:#fff;padding:14px 28px;font-size:11px;line-height:1.5;color:var(--muted)}.opening-copy{padding:38px 34px 40px}.section-index{font-size:11px;letter-spacing:.08em;line-height:1.6;text-transform:uppercase;color:#8f5e64;margin-bottom:24px}.opening-copy h2,.case-work h2,.case-materials h2,.detail-copy h2{font-size:30px;line-height:1.18;letter-spacing:-.02em}.opening-copy>p:last-child{font-size:16px;line-height:1.75;margin-top:24px;color:#425d6d}.case-work{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding:58px 54px;background:#fff}.case-work .section-index,.case-materials .section-index{margin-bottom:14px}.work-description{padding-top:28px}.work-description p{font-size:18px;line-height:1.75;color:#425d6d}.case-detail{display:grid;grid-template-columns:1fr 1.25fr;background:var(--navy);color:#fff}.detail-copy{padding:48px 42px 48px 54px;align-self:center}.detail-copy .kicker{color:#a8bfce;margin-bottom:20px}.detail-copy h2{max-width:380px}.detail-copy>p:last-child{font-size:15px;line-height:1.8;color:#c7d8e2;margin-top:24px}.case-detail figure{display:flex;flex-direction:column}.case-detail img{width:100%;height:440px;object-fit:cover}.case-detail figcaption{padding:12px 24px;color:#c7d8e2;font-size:11px;line-height:1.6;border-top:1px solid #ffffff20}.case-materials{padding:58px 54px;background:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.case-materials h2{max-width:360px}.case-materials ol{list-style:none;padding:0;margin:0}.case-materials li{padding:20px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:35px 1fr;gap:18px;font-size:16px;line-height:1.6}.case-materials li span{font-size:11px;color:var(--red);padding-top:3px}.case-next{display:flex;gap:32px;justify-content:space-between;align-items:center;padding:32px 54px;border-top:1px solid var(--rule);background:var(--pale)}.case-next>a{text-decoration:none;font-size:14px;line-height:1.6}.case-next>a:first-child{flex-shrink:0}.case-next>a:last-child{max-width:440px;text-align:right;font-size:18px}.case-next>a>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:5px}.case-next b{color:var(--red);font-size:23px;font-weight:400;padding-left:8px}.case-footer{padding:26px 54px;display:flex;justify-content:space-between;gap:24px;background:var(--navy);color:#d4e0e8;border-top:1px solid #ffffff20;font-size:12px;line-height:1.7}.case-footer a{text-decoration:none}.case-footer a>span{display:block;color:#9eb6c6}.case-footer a:last-child>span{display:inline;padding-left:12px;color:#dc7f83}
@media(min-width:1600px){.catalog-header,.case-heading{padding-left:70px;padding-right:70px}.project-grid,.case-work,.case-materials{padding-left:70px;padding-right:70px}.opening-copy{padding:50px 42px}.detail-copy{padding-left:70px}.main-photo img{max-height:650px}}
@media(min-width:961px) and (max-width:1200px){.catalog-header,.case-heading,.project-grid,.case-work,.case-materials,.case-next,.case-footer{padding-left:32px;padding-right:32px}.project-grid{gap:20px}.card-copy{padding:22px}.card-picture{height:205px}.case-opening{grid-template-columns:1.2fr 1fr}.opening-copy{padding:28px 25px}.opening-copy h2,.detail-copy h2,.case-work h2,.case-materials h2{font-size:26px}.opening-copy>p:last-child{font-size:14px;line-height:1.7}.main-photo img{min-height:360px}.case-work,.case-materials{gap:30px}.detail-copy{padding:32px}.case-detail img{height:420px}}
@media(max-width:960px){.skip-link{left:16px}.catalog-header,.case-heading{padding:28px 28px 36px}.breadcrumbs{margin-bottom:30px}.catalog-header h1{font-size:42px}.case-heading h1{font-size:42px}.project-grid{padding:28px;gap:22px}.case-opening{grid-template-columns:1.35fr 1fr}.main-photo img{min-height:340px}.opening-copy{padding:30px 26px}.opening-copy h2,.detail-copy h2,.case-work h2,.case-materials h2{font-size:27px}.opening-copy>p:last-child{font-size:14px}.case-work,.case-materials{padding:40px 28px;gap:28px}.work-description p{font-size:16px}.detail-copy{padding:34px 28px}.case-detail img{height:410px}.case-next,.case-footer{padding:24px 28px}.card-copy{padding:22px}.card-copy h2{font-size:25px}.card-picture{height:220px}}
@media(max-width:650px){.catalog-header,.case-heading{padding:25px 24px 32px}.catalog-header h1,.case-heading h1{font-size:35px;line-height:1.14}.catalog-header h1 br{display:none}.catalog-intro{font-size:14px;line-height:1.75}.catalog-intro br{display:none}.breadcrumbs{margin-bottom:28px;font-size:12px}.kicker{font-size:10px}.project-grid{grid-template-columns:1fr;padding:24px;gap:24px}.card-picture{height:auto;aspect-ratio:4/3}.card-copy{padding:24px}.card-copy h2{font-size:26px}.case-opening,.case-work,.case-detail,.case-materials{display:block}.main-photo img{aspect-ratio:4/3;min-height:0;height:auto;max-height:none;flex:none}.main-photo figcaption{padding:12px 24px}.opening-copy{padding:30px 24px 36px}.opening-copy h2{font-size:28px}.opening-copy h2 br{display:none}.section-index{margin-bottom:18px}.opening-copy>p:last-child{font-size:16px;margin-top:18px}.case-work,.case-materials{padding:36px 24px}.case-work h2,.case-materials h2{font-size:29px}.work-description{padding-top:20px}.work-description p{font-size:16px;line-height:1.8}.detail-copy{padding:36px 24px}.detail-copy h2{font-size:29px}.detail-copy>p:last-child{margin-top:18px}.case-detail img{height:auto;max-height:550px;aspect-ratio:4/3;object-fit:cover}.case-detail figcaption{padding:12px 24px}.case-materials ol{margin-top:26px}.case-materials li{font-size:15px}.case-next{padding:26px 24px;display:block}.case-next>a:last-child{display:block;text-align:left;margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}.case-footer{padding:24px;font-size:11px}.case-footer a:first-child{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.case-evidence{padding:clamp(32px,5vw,64px);background:#eaf0f3;color:#103247}.case-evidence h2{font-size:clamp(28px,3vw,42px);line-height:1.15;max-width:750px;font-weight:400}.evidence-intro>p{max-width:800px;line-height:1.75}.case-evidence .evidence-note{font-size:13px;color:#5c6c77}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:32px 0}.evidence-grid figure{margin:0;max-width:680px}.evidence-grid img{display:block;width:100%;height:auto;border:1px solid #d5e0e6}.evidence-grid figcaption{font-size:13px;line-height:1.6;padding-top:12px}.case-evidence a{color:#103247;text-underline-offset:4px}.evidence-caption{font-size:13px;line-height:1.65}.evidence-grid a:focus-visible{outline:3px solid #bd444c;outline-offset:5px}@media(max-width:650px){.evidence-grid{grid-template-columns:1fr}.case-evidence{padding:32px 22px}}
.case-evidence{padding:58px 54px}.evidence-intro h2+p{margin-top:18px}.evidence-intro .evidence-note{margin-top:10px}.evidence-grid>figure{min-width:0}.evidence-grid figcaption{overflow-wrap:anywhere}
@media(min-width:1600px){.case-evidence{padding-left:70px;padding-right:70px}}
@media(min-width:961px) and (max-width:1200px){.case-evidence{padding-left:32px;padding-right:32px}}
@media(max-width:960px){.case-evidence{padding:40px 28px}}
@media(max-width:650px){.case-evidence{padding:36px 24px}}
