:root{--ink:#18313a;--paper:#f4f3ed;--accent:#dfc77f;--line:#d5d8d0;--muted:#56696d;font-family:Arial,Helvetica,sans-serif;font-size:17px}html{scroll-behavior:smooth;scroll-padding-top:105px}header{position:sticky;top:0;z-index:30;padding:18px 5.5vw;background:#f4f3edf5;backdrop-filter:blur(12px)}.topbar{padding:11px 5.5vw;letter-spacing:.13em}.brand strong{font-size:1.5rem}.button{border-radius:0;font-size:.85rem;padding:18px 24px;background:var(--ink);color:#fff}.button:hover{background:#36565e;color:white}nav{font-size:.8rem}.topbar span{color:#d9d4b7}.section{padding:100px 6vw;max-width:1600px;margin:auto}.eyebrow{letter-spacing:.16em;font-size:.66rem;font-weight:700;margin-bottom:26px}.v2-hero{padding:0 3vw}.hero-top{padding:60px 3vw 45px}.hero-top h1{font-size:clamp(3.5rem,6.7vw,7rem);line-height:.99;font-weight:500;letter-spacing:-.065em;margin-bottom:32px;max-width:1300px}.hero-top h1 em{font-family:Georgia,serif;font-weight:400;color:#6a7863}.hero-intro{display:flex;justify-content:space-between;gap:35px;align-items:center}.hero-intro p{font-size:.95rem;line-height:1.6;margin:0;color:var(--muted)}.text-link{text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:.85rem;font-weight:bold;display:inline-flex;gap:30px;align-items:center}.text-link:hover{color:#65775f}.hero-panorama{height:540px;position:relative;overflow:hidden;background:var(--ink)}.hero-panorama>img{width:100%;height:100%;object-fit:cover;object-position:50% 57%}.hero-panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b202666,transparent 65%);pointer-events:none}.hero-label{position:absolute;left:4vw;bottom:45px;z-index:1;color:white}.hero-label>span{font-size:.6rem;letter-spacing:.2em}.hero-label strong{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;line-height:1.05;display:block;margin:16px 0 23px;font-weight:500}.hero-label>a{font-size:.85rem}.vertical-note{position:absolute;right:25px;bottom:28px;writing-mode:vertical-rl;color:white;font-size:.65rem;letter-spacing:.2em;z-index:1}.credentials{display:grid;grid-template-columns:repeat(3,1fr);margin:0 6vw;border-bottom:1px solid var(--line);padding:35px 0;gap:25px}.credentials div{padding-left:30px;border-left:1px solid var(--line)}.credentials div:first-child{padding-left:0;border:0}.credentials strong,.credentials span{display:block}.credentials strong{font-size:1.3rem;font-weight:500;margin-bottom:10px}.credentials span{font-size:.74rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:45px}.section-heading h2,.section h2{font-size:clamp(2.4rem,4.3vw,4.5rem);font-weight:500;letter-spacing:-.055em;margin-bottom:0}.section-heading>p{max-width:410px;font-size:.92rem;color:var(--muted);margin:0}.expertise-list{border-top:1px solid var(--ink)}.expertise{display:grid;grid-template-columns:55px 1.3fr 1fr 40px;gap:24px;align-items:center;padding:30px 10px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}.expertise:hover{background:#e9e9df;padding-left:22px}.expertise .number{font-size:.75rem;color:var(--muted)}.expertise h3{font-weight:500;font-size:1.6rem;margin:0;letter-spacing:-.035em}.expertise p{font-size:.84rem;color:var(--muted);margin:0}.arrow{font-size:1.7rem;font-weight:400}.projects{background:#e9ece5;max-width:none}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:30px}.project{display:block;text-decoration:none;min-width:0}.project figure{margin:0}.project img{width:100%;height:340px;object-fit:cover;transition:filter .25s}.project:hover img{filter:brightness(.9)}.project:first-child{grid-row:span 2}.project:first-child img{height:770px}.project figcaption{position:relative;padding:20px 45px 0 0}.project figcaption>span:first-child{font-size:.58rem;letter-spacing:.12em;display:block;margin-bottom:10px}.project figcaption strong{font-size:1.1rem;font-weight:500}.project figcaption .arrow{position:absolute;right:0;top:18px}.guide-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:50px}.guide-options button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:22px;border:0;border-bottom:1px solid var(--line);padding:26px 16px;background:transparent;color:var(--ink);cursor:pointer;font-size:.7rem;text-align:left}.guide-options button span{font-size:1.1rem;flex:1}.guide-options button[aria-pressed=true]{background:var(--ink);color:white}.guide-result{background:#e9ece5;padding:45px;display:flex;flex-direction:column;align-items:flex-start}.guide-result h3{font-size:2rem;font-weight:500}.guide-result p{font-size:.9rem}.guide-result>a{font-size:.82rem;margin-bottom:28px}.calculator{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.calculator h2{margin-bottom:25px}.calculator p{color:#d2dedc;max-width:470px;font-size:.9rem}.calculator .fine{font-size:.7rem;color:#bdc9c9}.calculator form{background:#29434b;padding:35px}.calculator input,.calculator select{background:#f4f3ed;border:0;border-radius:0}.calculator .button{background:var(--accent);color:var(--ink)}.calculator output{display:block;margin-top:30px;font-size:1.7rem;line-height:1.3;min-height:55px;letter-spacing:-.02em}#surface-use{background:transparent;color:white;border:0;border-bottom:1px solid #b2bdbd;padding:12px 0;cursor:pointer}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.process-grid>div{border-top:1px solid var(--ink);padding-top:22px}.process-grid span{font-family:Georgia,serif;font-size:2.5rem;color:#8c997f;display:block;margin-bottom:35px}.process-grid h3{font-weight:500;font-size:1.4rem;line-height:1.2}.process-grid p{font-size:.85rem;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:25px 0;cursor:pointer;font-size:.98rem;line-height:1.5}details p{font-size:.85rem;color:var(--muted);padding:0 15px 20px 0}.heritage{text-align:center;background:#e9ece5;max-width:none}.heritage p:not(.eyebrow){max-width:740px;margin:30px auto;font-size:.95rem}.closing{background:var(--accent);padding:70px 6vw}.closing h2{font-size:clamp(2.3rem,4vw,4rem);font-weight:500}.closing p:not(.eyebrow){margin:20px 0 0;font-size:.95rem}footer{padding:70px 6vw 25px;gap:50px}footer>div>p{margin-top:24px}footer a{font-size:.85rem}.mobile-action{display:none}.filters{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.filters button{border:1px solid var(--line);padding:13px 20px;background:transparent;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:white}.gallery-full{grid-template-columns:repeat(2,1fr);gap:40px}.gallery-full .project:first-child{grid-row:auto}.gallery-full .project img{height:420px}#gallery-count{font-size:.75rem;margin:20px 0}.project[hidden]{display:none}.contact-layout h1{font-weight:500;letter-spacing:-.05em}.contact-layout form{border-radius:0}#project-summary{background:#e9ece5;padding:15px;line-height:1.5}#clear-project{padding:5px 0;margin-bottom:20px;border:0;border-bottom:1px solid var(--ink);background:none;cursor:pointer}.content h1,.legal h1{font-weight:500;font-size:clamp(2.4rem,4vw,4rem)}.content h2{font-weight:500}.content .blk-image img{border-radius:0}.gallery-dialog{max-width:94vw}.gallery-dialog img{width:auto;max-width:88vw;max-height:78vh}.gallery-dialog button{border-radius:0}#surface-use[hidden]{display:none}@media(max-width:1000px){.expertise{grid-template-columns:35px 1.2fr 1fr 25px;gap:15px}.hero-panorama{height:470px}.project:first-child img{height:650px}.project img{height:280px}.guide-result{padding:30px}.calculator{gap:35px}.calculator form{padding:25px}.section{padding:75px 5vw}nav{gap:18px}.brand strong{font-size:1.2rem}}@media(max-width:720px){html{scroll-padding-top:90px}header{padding:14px 5vw}.hero-top{padding:42px 2vw 30px}.hero-top h1{font-size:clamp(2.7rem,10.5vw,4rem);line-height:1.06;letter-spacing:-.06em}.hero-top .eyebrow{font-size:.57rem;margin-bottom:23px}.hero-intro{display:block}.hero-intro p{font-size:.82rem}.hero-intro .text-link{margin-top:25px}.hero-panorama{height:410px}.hero-panorama>img{object-position:61% 50%}.hero-label{left:6vw;bottom:30px}.hero-label strong{font-size:2.4rem}.vertical-note{right:14px;font-size:.55rem}.credentials{gap:16px;padding:25px 0}.credentials strong{font-size:1rem;line-height:1.3}.credentials span{font-size:.62rem;line-height:1.45}.credentials div{padding-left:12px}.section{padding:55px 5vw}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:25px}.section-heading h2,.section h2{font-size:2.4rem}.expertise{grid-template-columns:25px 1fr 25px;padding:23px 0;gap:13px}.expertise h3{font-size:1.25rem}.expertise p{grid-column:2;grid-row:2;font-size:.8rem}.expertise .arrow{grid-column:3;grid-row:1}.project-grid,.gallery-full{grid-template-columns:1fr;gap:30px}.project:first-child{grid-row:auto}.project img,.project:first-child img,.gallery-full .project img{height:300px}.guide-layout,.calculator,.faq{display:block}.guide-result{margin-top:25px;padding:28px}.guide-options button span{font-size:.95rem}.calculator form{margin-top:35px}.calculator .field-row{display:flex;flex-wrap:wrap}.calculator .field-row label{flex-basis:30%}.calculator output{font-size:1.4rem}.process-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.process-grid span{font-size:2rem;margin-bottom:15px}.process-grid h3{margin-bottom:12px}.faq>div+div{margin-top:25px}.closing{padding:45px 5vw}.closing h2{font-size:2.6rem}footer{padding:45px 5vw 85px;gap:20px}.mobile-action{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--ink);box-shadow:0 -2px 12px #0001;padding-bottom:env(safe-area-inset-bottom)}.mobile-action a{text-align:center;color:white;padding:17px;font-size:.82rem;text-decoration:none}.mobile-action a:last-child{background:var(--accent);color:var(--ink);font-weight:700}.gallery-dialog{margin:auto;max-height:85vh}.contact-layout{padding-bottom:70px}nav .button{color:white}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.photo-credit{font-size:.58rem;color:var(--muted);margin:10px 3vw 0;line-height:1.5}
.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px}.gallery-navigation button{margin:0;font-size:.8rem}.gallery-navigation span{font-size:.75rem}
