:root{color-scheme:light;--petrol:#173b42;--petrol-dark:#10343b;--ivory:#faf5ec;--terracotta:#a3573b;--sand:#d5b997;--muted:#5f6a68;--gutter:clamp(28px,5.2vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--petrol);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--terracotta);outline-offset:6px}
.skip-link{position:fixed;left:18px;top:12px;z-index:10;padding:12px 18px;background:var(--ivory);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.landing{min-height:100svh;display:grid;grid-template-columns:58% 42%;grid-template-rows:auto 1fr auto;border-bottom:7px solid var(--terracotta)}
.masthead{grid-column:1;grid-row:1;padding:clamp(35px,5.3vh,60px) var(--gutter) 26px;min-width:0}
.brand{display:block;width:min(100%,435px)}
.brand img{display:block;width:100%;height:auto}
.mobile-location{display:none}
.intro{grid-column:1;grid-row:2;min-width:0;padding:clamp(42px,7vh,86px) var(--gutter) clamp(48px,7.1vh,84px);align-self:center}
.status{display:flex;align-items:center;gap:25px;margin:0 0 34px;color:var(--terracotta);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.23em;text-transform:uppercase}
.status>span{display:block;width:2px;height:40px;flex:none;background:var(--terracotta)}
h1{margin:0 0 30px;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(76px,8.5vw,138px);font-weight:400;line-height:.95;letter-spacing:-.032em}
h1 em{display:inline-block;margin-top:6px;font-weight:400;letter-spacing:-.025em;white-space:nowrap}
.description{max-width:490px;margin:0;font-size:clamp(16px,1.36vw,20px);line-height:1.65;letter-spacing:-.014em;color:#354b4e;text-wrap:pretty}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;max-width:560px}
.button{min-height:60px;padding:18px 23px;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--petrol);font-size:14px;font-weight:600;letter-spacing:.015em;transition:background-color .18s ease,color .18s ease}
.button svg{height:23px;width:23px;flex:none;transition:transform .18s ease}
.button-primary{background:var(--petrol);color:var(--ivory)}
.button-primary:hover{background:#24505a}
.button-secondary:hover{background:#eee6d9}
.button:hover svg{transform:translateX(3px)}
.contact-details{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;margin-top:19px;font-size:12px;letter-spacing:.02em;color:var(--muted)}
.contact-details a{padding:5px 0;text-underline-offset:4px}
.contact-details a:hover{text-decoration:underline;color:var(--petrol)}
.contact-divider{height:12px;width:1px;background:#c5bdaF}
.architecture{position:relative;grid-column:2;grid-row:1 / 3;min-width:0;overflow:hidden;background:var(--petrol-dark);background-image:radial-gradient(ellipse at 32% 40%,#1b4e54 0%,#123e45 48%,#10343b 100%)}
.location{position:absolute;top:clamp(36px,5.3vh,60px);right:var(--gutter);margin:0;z-index:1;color:#e8cba8;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.26em;text-transform:uppercase}
.architectural-lines{position:absolute;inset:0;width:100%;height:100%;opacity:.92}
.panel-caption{position:absolute;bottom:40px;right:var(--gutter);display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#e5cbb0}
.panel-caption>span{height:1px;width:36px;background:#c3a17c}
.footer{grid-column:1 / -1;grid-row:3;padding:25px var(--gutter) 19px;background:var(--ivory);border-top:1px solid #ddcbb3}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:18px 35px}
.firm-name{font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.6;text-transform:uppercase;margin:0}
.office{font-size:11px;line-height:1.6;letter-spacing:.02em;margin:0;color:var(--muted);text-align:right}
.footer-base{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-top:18px;font-size:10px;line-height:1.6;color:var(--muted)}
.footer-base>p{margin:0;white-space:nowrap}
.privacy{max-width:500px;text-align:right}
.privacy summary{cursor:pointer;display:list-item;list-style-position:inside;text-underline-offset:3px;min-height:22px}
.privacy summary:hover{text-decoration:underline}
.privacy-copy{padding-top:6px;text-align:left;font-size:12px;line-height:1.6}
.privacy-copy p{margin:8px 0 0}
.privacy-copy a{text-decoration:underline}
@media(min-width:1700px){.landing{grid-template-columns:58% 42%}.intro,.masthead{padding-left:max(88px,calc((100vw - 1500px) / 2))}.intro{padding-right:70px}.description{max-width:540px}}
@media(max-width:1090px) and (min-width:761px){.landing{grid-template-columns:62% 38%}h1{font-size:clamp(76px,9.3vw,105px)}.status{font-size:10px;letter-spacing:.18em;gap:18px}.button{font-size:13px;padding:16px}.contact-details{gap:8px 12px}.office{max-width:280px}}
@media(max-width:760px){
  :root{--gutter:27px}
  .landing{display:flex;flex-direction:column;min-height:100svh;border-bottom-width:5px}
  .masthead{padding-top:33px;padding-bottom:0}
  .brand{width:min(90%,350px)}
  .mobile-location{display:block;margin:19px 0 0;font-size:9px;font-weight:500;letter-spacing:.21em;text-transform:uppercase;color:var(--muted)}
  .intro{width:100%;padding-top:44px;padding-bottom:39px;align-self:stretch}
  .status{gap:14px;font-size:9px;letter-spacing:.2em;margin-bottom:24px}
  .status>span{height:28px}
  h1{font-size:clamp(64px,15.4vw,108px);line-height:.96;margin-bottom:25px;letter-spacing:-.025em}
  h1 em{margin-top:4px}
  .description{max-width:460px;font-size:16px;line-height:1.6}
  .actions{margin-top:27px;gap:12px;max-width:none}
  .button{padding:16px;min-height:56px;font-size:12px;gap:9px}
  .button svg{width:19px;height:19px}
  .contact-details{font-size:11px;gap:6px 12px;margin-top:16px}
  .architecture{flex:none;height:175px;width:100%;margin-top:auto}
  .architectural-lines{width:100%;height:100%;transform:translateY(-13px) scale(1.08)}
  .location{display:none}
  .panel-caption{right:27px;bottom:22px;font-size:9px}
  .footer{padding-top:22px;padding-bottom:15px}
  .footer-main{display:block}
  .firm-name{font-size:9px;letter-spacing:.16em}
  .office{font-size:10px;margin-top:9px;text-align:left}
  .footer-base{margin-top:15px;font-size:9px;gap:12px}
  .privacy{max-width:60%}
}
@media(max-width:360px){:root{--gutter:22px}.status{font-size:8px;letter-spacing:.16em}.actions{grid-template-columns:1fr}.button{font-size:14px;min-height:52px}.contact-details{display:grid;gap:0}.contact-divider{display:none}.intro{padding-top:36px}.architecture{height:140px}.firm-name{letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
