:root{--paper:#fff;--ink:#202b32;--muted:#55616a;--line:#dce1e5;--blue:#244b69;--panel:#edf1f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Calibri,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.13}h1{font-size:clamp(44px,6.4vw,100px);letter-spacing:-.045em}h2{font-size:clamp(30px,3vw,48px);letter-spacing:-.025em}h3{font-size:25px;letter-spacing:-.01em}p{max-width:65ch}button,a{-webkit-tap-highlight-color:transparent}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px 20px;z-index:9}.skip:focus{top:10px}.review-bar{background:var(--panel);padding:8px 5vw;color:#3a4e5c;font-size:13px}.site-header{padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:44px;line-height:1;letter-spacing:-.08em;font-weight:650;display:flex;align-items:center;gap:22px}.brand span{font-size:13px;letter-spacing:0;font-weight:400;max-width:115px;line-height:1.35}nav{display:flex;gap:28px;align-items:center;font-size:16px}nav a{padding:10px 0}nav a:hover,nav a[aria-current]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.language{margin-left:10px;border-left:1px solid var(--line);padding-left:22px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 15px}.hero{padding:34px 5vw 0}.hero-title{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end;margin-bottom:44px}.hero-title>div{max-width:390px;padding-bottom:6px}.hero-title p{font-size:19px;line-height:1.5;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--blue);padding:8px 0;color:var(--blue);font-size:17px}.text-link span{font-size:24px;line-height:1}.hero-image{display:block;position:relative;overflow:hidden;background:var(--panel)}.hero-image img{aspect-ratio:1.92;object-fit:cover}.hero-caption{position:absolute;left:22px;bottom:22px;padding:7px 13px;background:#fff;color:#202b32;font-size:14px}.section{padding:88px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 30px}.project-card img{aspect-ratio:1.37;object-fit:cover;background:var(--panel);transition:filter .3s}.project-card a:hover img{filter:brightness(.93)}.card-caption{margin-top:19px}.card-caption p{font-size:15px;color:var(--muted);margin-top:8px}.practice-intro{background:var(--panel);padding:75px 12vw;display:grid;grid-template-columns:2fr 1fr;gap:6vw;align-items:end}.practice-intro>p{font-size:clamp(28px,3.2vw,47px);line-height:1.3;letter-spacing:-.02em}.service-list{margin-top:30px}.service-list>a{display:grid;grid-template-columns:1fr 1fr 40px;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.service-list>a:hover h3{color:var(--blue)}.service-list span{font-size:30px}.service-list p{font-size:17px;color:var(--muted)}.working{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.working p{font-size:22px}.contact-band{background:var(--ink);color:#fff;padding:64px 5vw;display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-band .text-link{color:#fff;border-color:#fff}footer{padding:54px 5vw 28px;display:grid;grid-template-columns:.5fr 2fr 1fr;gap:30px;font-size:15px}footer p{margin-bottom:9px}footer a{display:block;margin-bottom:8px}.footer-brand{font-size:50px;line-height:1;letter-spacing:-.07em}footer .footer-note{grid-column:1/-1;padding-top:25px;color:var(--muted);border-top:1px solid var(--line);font-size:13px}.page-heading{padding:65px 5vw 42px;max-width:1100px}.page-heading p{font-size:23px;margin-top:28px;max-width:57ch}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:white;padding:10px 19px;cursor:pointer;font-size:16px;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.filter-status{font-size:14px;color:var(--muted);margin:18px 0 30px}.portfolio{padding-top:12px}.project-card[hidden]{display:none}.prose{max-width:760px}.prose h2{font-size:29px;margin:48px 0 20px}.prose h2:first-child{margin-top:0}.prose p{margin-bottom:21px}.service-body{padding-top:30px;display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:start}.service-aside{position:sticky;top:30px}.service-aside p{margin-top:18px;font-size:14px;color:var(--muted)}.material-panel{padding:38px;background:var(--panel);min-height:380px;display:flex;flex-direction:column;justify-content:space-between}.material-panel p{font-size:15px;margin-top:38px}.studio-body{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;padding-top:25px}.studio-year{font-size:clamp(90px,12vw,180px);letter-spacing:-.07em;line-height:1.1;color:var(--blue)}.studio-year span{display:block;font-size:15px;line-height:1.6;letter-spacing:0;max-width:250px;margin-top:25px}.notice{background:var(--panel)}.notice p{margin-top:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-top:20px}.contact-layout h2{font-size:26px;margin:30px 0 18px}.contact-address{display:block;font-size:clamp(18px,2.2vw,29px);color:var(--blue);text-decoration:underline;text-underline-offset:5px;margin:12px 0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:14px;margin-top:18px}.breadcrumbs{padding:35px 5vw 0;font-size:14px;display:flex;flex-wrap:wrap;gap:12px;color:var(--muted)}.breadcrumbs a{text-decoration:underline}.detail-hero{margin:0 5vw}.detail-hero img{max-height:850px;object-fit:contain;background:var(--panel)}figcaption{font-size:14px;color:var(--muted);padding:16px 0}.project-story{display:grid;grid-template-columns:1fr 2fr;gap:9vw}.project-story p{margin-top:25px}dl{margin:0}dt{font-size:14px;color:var(--muted);margin-bottom:4px}dd{margin:0 0 24px}.project-story h2{font-size:34px}
@media(max-width:1000px){nav{gap:18px}.brand span{display:none}.hero-title{gap:5vw}.practice-intro{padding:60px 5vw}.service-body{gap:4vw}}
@media(max-width:700px){body{font-size:17px}.site-header{padding:20px 6vw;flex-wrap:wrap;gap:16px}.brand{font-size:39px}.menu-toggle{display:block}.site-header nav{width:100%;display:flex;flex-wrap:wrap;gap:12px 22px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.language{margin-left:0}.review-bar{padding:8px 6vw;font-size:12px}.hero{padding:24px 6vw 0}.hero-title{grid-template-columns:1fr;gap:25px;margin-bottom:30px}h1{font-size:54px}.hero-title p{font-size:18px}.hero-image img{aspect-ratio:1.15;object-position:center}.hero-caption{left:10px;bottom:10px;font-size:12px;max-width:calc(100% - 20px)}.section{padding:54px 6vw}.project-grid{grid-template-columns:1fr;gap:36px}.section-heading{display:block}.section-heading .text-link{margin-top:15px}.practice-intro{display:block;padding:46px 6vw}.practice-intro>p{font-size:30px}.practice-intro>div{margin-top:24px}.service-list>a{grid-template-columns:1fr 28px;gap:12px;padding:25px 0}.service-list p{grid-column:1;grid-row:2}.service-list span{grid-column:2;grid-row:1}.working{grid-template-columns:1fr;gap:24px;padding-top:0}.working p{font-size:19px}.contact-band{padding:45px 6vw;display:block}.contact-band .text-link{margin-top:25px}footer{padding:42px 6vw 24px;grid-template-columns:1fr 1fr}footer>.footer-brand{grid-column:1/-1}footer>div:first-of-type{grid-column:1/-1}.page-heading{padding:40px 6vw 30px}.page-heading p{font-size:20px}.portfolio{padding-top:10px}.service-body,.studio-body,.project-story,.contact-layout{grid-template-columns:1fr;gap:35px;padding-top:10px}.service-aside{position:static}.studio-year{font-size:110px}.studio-year span{margin-top:5px}.detail-hero{margin:0 6vw}.breadcrumbs{padding:25px 6vw 0}.project-story h2{font-size:29px}.prose h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.hero-image img{aspect-ratio:auto;object-fit:contain}.project-card img{object-fit:contain}
/* About page: readable editorial sections and original certificate evidence. */
.studio-jump{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 5vw 30px}
.studio-jump a{padding:10px 0;text-decoration:underline;text-underline-offset:5px;color:var(--blue)}
.studio-section{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:7vw;border-top:1px solid var(--line);margin:0 5vw;padding:60px 0;scroll-margin-top:30px}
.studio-section>h2{font-size:clamp(28px,3vw,43px);line-height:1.22;max-width:17ch}
.studio-section>div>p{max-width:68ch;margin-bottom:24px}
.studio-facts{display:flex;flex-wrap:wrap;gap:25px 45px;margin-top:32px}
.studio-facts dd{font-size:22px;margin-bottom:0}
.studio-capabilities article{margin-bottom:28px}
.studio-capabilities h3{font-size:23px;margin-bottom:12px}
.studio-capabilities p{max-width:65ch}
.studio-clients{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin:32px 0}
.studio-clients h3{font-size:30px;margin-bottom:12px}
.studio-clients p{font-size:17px}
.studio-certificates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}
.studio-certificates img{width:100%;height:auto;display:block;background:var(--panel)}
.studio-certificates h3{font-size:20px;line-height:1.35;margin:18px 0 10px}
.studio-certificates p{font-size:15px;line-height:1.55}
.studio-certificates .muted{font-size:13px}
@media(max-width:1000px){.studio-section{grid-template-columns:1fr;gap:28px}.studio-section>h2{max-width:28ch}.studio-section>div{max-width:850px}}
@media(max-width:700px){.studio-jump{padding:0 6vw 25px;gap:8px 20px}.studio-section{margin:0 6vw;padding:40px 0}.studio-clients{grid-template-columns:1fr;gap:24px}.studio-certificates{grid-template-columns:1fr;gap:36px}.studio-certificates img{max-width:360px}.studio-certificates h3{font-size:23px}}
.certificate-list{list-style:none;padding:0;margin:28px 0}
.certificate-list li{padding:22px 0;border-top:1px solid var(--line)}
.certificate-list li:last-child{border-bottom:1px solid var(--line)}
.certificate-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:4px 0;color:var(--ink)}
.certificate-trigger strong{display:block;font-size:23px;line-height:1.35;font-weight:500}
.certificate-trigger small{display:block;color:var(--muted);font-size:13px;margin-top:8px}
.certificate-action{flex-shrink:0;font-size:14px;color:var(--blue)}
.certificate-trigger:hover strong{text-decoration:underline;text-underline-offset:5px}
.certificate-list li>p{font-size:16px;margin-top:12px;max-width:65ch}
.certificate-list li>.muted{font-size:13px;margin-top:8px}
.certificate-pending{padding-left:20px;margin:20px 0 28px;color:var(--muted);font-size:15px}
.certificate-pending li{margin:12px 0}
.certificate-annex{margin-top:24px}
.certificate-dialog{border:0;padding:0;width:min(960px,94vw);max-width:94vw;max-height:92dvh;background:#fff;color:var(--ink);box-shadow:0 20px 80px #0006}
.certificate-dialog[open]{display:flex;flex-direction:column;animation:certificate-reveal 180ms ease-out}
.certificate-dialog::backdrop{background:rgba(12,23,31,.78)}
.certificate-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line)}
.certificate-dialog-header h2{font-size:22px;line-height:1.35}
.certificate-close{flex-shrink:0;min-height:44px;padding:8px 14px;background:#fff;border:1px solid var(--line);cursor:pointer;font-size:16px}
.certificate-dialog-body{overflow:auto;overscroll-behavior:contain;padding:16px;min-height:0}
.certificate-full{display:block;width:100%;height:auto;margin:auto}
.certificate-open{overflow:hidden}
@keyframes certificate-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:700px){.certificate-trigger{align-items:flex-start;flex-direction:column;gap:12px}.certificate-trigger strong{font-size:21px}.certificate-dialog-header{padding:12px}.certificate-dialog-header h2{font-size:18px}.certificate-dialog-body{padding:6px}}
@media(prefers-reduced-motion:reduce){.certificate-dialog[open]{animation:none}}
