:root{--ink:#193e35;--paper:#f8f6ef;--gold:#aa874a;--muted:#63746b;--line:#dcded4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit}.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:white;padding:10px;z-index:20}.skip:focus{top:10px}header,main,footer{max-width:1380px;margin:auto;padding-inline:6%}.topline{background:var(--ink);color:#f8f6ef;font-size:12px;letter-spacing:.08em;padding:9px 6%;display:flex;justify-content:space-between}.topline a{text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:26px Georgia,serif;white-space:nowrap}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:2.8px;margin-top:10px}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:13px}.portal{border:1px solid var(--ink);padding:9px 16px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;padding:85px 0 75px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--muted)}h1{font:clamp(44px,5.5vw,77px)/1.08 Georgia,serif;letter-spacing:-2.5px;margin:24px 0;font-weight:400}h2{font:clamp(33px,3.4vw,46px)/1.18 Georgia,serif;font-weight:400;letter-spacing:-1px}h3{font:27px/1.25 Georgia,serif;font-weight:400}.hero-intro{max-width:470px;color:var(--muted);font-size:17px}.hero-links{display:flex;gap:26px;align-items:center;margin-top:33px}.button{display:inline-block;background:var(--ink);color:white;padding:13px 23px;text-decoration:none;font-size:14px}.visual{position:relative;min-height:450px;background:#e5e9df;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual:before,.visual:after{content:'';position:absolute;width:410px;height:410px;border:1px solid #bdc8b8;border-radius:50%}.visual:after{width:300px;height:300px}.monogram{font:115px Georgia,serif;letter-spacing:-10px;z-index:1}.visual-label{position:absolute;left:28px;bottom:24px;right:28px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.hero-note{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:32px;justify-content:space-between;color:var(--muted);font-size:13px}.section{padding:75px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.section-head{display:grid;grid-template-columns:220px 1fr;gap:45px;margin-bottom:25px}.section-head h2{margin:0 0 22px}.section-head p{margin-top:0}.section-head>div{max-width:770px}.practice{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:42px}.practice article{border-top:2px solid var(--gold);padding-top:22px}.number{font-size:11px;letter-spacing:2px;color:var(--muted)}.service-list{padding-left:19px;line-height:2.1;font-size:14px;color:#425d50}.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px;margin-left:265px}.industry-grid article{border-bottom:1px solid var(--line);padding:13px 0}.industry-grid h3{font-size:23px;margin-bottom:8px}.industry-grid p{font-size:14px;color:var(--muted)}.partners{display:grid;grid-template-columns:repeat(2,1fr);gap:35px;margin-left:265px}.partners article{border-top:1px solid var(--gold);padding-top:24px}.partners p{color:var(--muted);font-size:14px}.portal-block{background:var(--ink);color:var(--paper);padding:45px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.portal-block .eyebrow,.portal-block .note{color:#c8d1c6}.portal-block h2{margin:12px 0}.portal-block .portal-status{border:1px solid #698477;padding:10px 20px;white-space:nowrap;font-size:13px}.note{font-size:13px;color:var(--muted)}address{font-style:normal}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-grid h3{margin-top:5px}.contact-grid p,.contact-grid address{font-size:15px}.contact-grid a{display:inline-block}.contact-email{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.archive{font-size:14px;padding-left:18px}.archive li{margin-bottom:8px}footer{border-top:1px solid var(--line);padding-block:30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.menu{display:none}a:hover{color:#96743d}.button:hover{background:#285447;color:white}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:1050px){nav{gap:15px}.brand{font-size:23px}.hero{gap:5%}.section-head{grid-template-columns:160px 1fr;gap:30px}.industry-grid,.partners{margin-left:190px}.visual{min-height:380px}}@media(max-width:800px){.topline{font-size:10px;letter-spacing:0}.topline span{max-width:55%}header{flex-wrap:wrap;padding-block:22px}.menu{display:block;background:none;border:1px solid var(--ink);padding:7px 14px;color:var(--ink)}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px 0;border-bottom:1px solid var(--line)}nav .portal{padding:12px;margin-top:12px;text-align:center}.hero{grid-template-columns:1fr;padding:40px 0;gap:35px}.visual{min-height:290px}.monogram{font-size:95px}.hero-note{flex-wrap:wrap;gap:8px 20px}.section{padding:45px 0}.section-head{display:block}.practice{grid-template-columns:1fr;gap:25px;margin-top:25px}.practice h3{margin-block:14px}.industry-grid,.partners{margin-left:0;gap:20px}.portal-block{display:block;padding:28px}.portal-status{display:inline-block;margin-top:14px}.contact-grid{gap:22px}footer{flex-direction:column;gap:8px}.hero-links{flex-wrap:wrap;gap:20px}}@media(max-width:480px){.industry-grid,.partners,.contact-grid{grid-template-columns:1fr}.brand{font-size:22px}h1{font-size:46px}.topline a{font-size:10px}.visual{min-height:260px}}
/* Factual firm presentation; no decorative firm monogram. */
.firm-summary{border-top:2px solid var(--gold);border-bottom:1px solid var(--line);padding:35px 0;align-self:center}.firm-summary address{font:24px/1.6 Georgia,serif}.firm-summary a{font-size:15px}.contact-grid{grid-template-columns:1fr}.portal-block{background:transparent;color:var(--ink);border:1px solid var(--line);padding:30px}.portal-block .eyebrow,.portal-block .note{color:var(--muted)}.portal-block .portal-status{border-color:var(--line)}.website-notice{border-top:1px solid var(--line);padding:25px 0;font-size:12px;color:var(--muted)}.website-notice p{max-width:920px}.hero h1{font-size:clamp(48px,6vw,80px)}@media(max-width:800px){.firm-summary{padding:25px 0}.hero{gap:25px}}

.service-details summary{cursor:pointer;font-size:14px;text-underline-offset:4px;padding:8px 0}.service-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

.practice-intro,.service-details>p{font-size:14px;color:var(--muted)}.service-descriptions{font-size:14px;line-height:1.8}.service-descriptions dt{font-weight:600;margin-top:22px;color:var(--ink)}.service-descriptions dd{margin:7px 0 0;color:#425d50}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.engagement-grid article{border-top:1px solid var(--line);padding-top:24px}.engagement-grid p{font-size:14px;color:var(--muted)}@media(max-width:800px){.engagement-grid{grid-template-columns:1fr;gap:24px}}

/* Opening composition: one-line firm name and custom architectural artwork. */
.hero{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:6%;padding-block:65px}.hero h1{white-space:nowrap;font-size:clamp(29px,4.4vw,61px);letter-spacing:-1.6px;line-height:1.15}.hero-profession{font:clamp(21px,2.1vw,28px)/1.4 Georgia,serif;margin:20px 0 5px}.hero-location{color:var(--muted);font-size:14px;margin:0}.firm-summary{border-top:0;padding:0 0 20px}.office-illustration{display:block;width:100%;height:auto;margin-bottom:24px}.firm-summary address{font:17px/1.7 Arial,sans-serif}.firm-summary .eyebrow{margin-top:0}.firm-summary p{margin-block:14px}.hero .eyebrow{letter-spacing:2px}.hero-links{margin-top:30px}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:36px;padding-block:40px}.hero h1{font-size:clamp(24px,7.1vw,54px);letter-spacing:-.8px}.hero-profession{font-size:25px}.firm-summary{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.office-illustration{grid-row:1/5;height:100%;object-fit:cover;margin:0}.firm-summary .note{grid-column:2}.firm-summary address{font-size:14px}.firm-summary a{font-size:13px;overflow-wrap:anywhere}}@media(max-width:480px){.firm-summary{display:block}.office-illustration{width:100%;height:auto;margin-bottom:22px}.hero h1{font-size:7.1vw}.hero-profession{font-size:23px}}
