:root{
  --color-bg:#fafbf8;--color-surface:#fff;--color-text:#1d3029;--color-muted:#59665f;--color-primary:#214d3c;--color-primary-hover:#13382a;--color-tint:#eef1e9;--color-border:rgba(33,61,44,.17);--color-accent:#c1cf9c;
  --font-body:'Satoshi',Arial,sans-serif;--font-display:'Boska',Georgia,serif;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:clamp(2rem,2.8vw,2.75rem);--text-hero:clamp(3rem,4.65vw,4.7rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --radius-sm:4px;--radius-md:8px;--radius-full:999px;
}
[data-theme="dark"]{--color-bg:#14251e;--color-surface:#1c3027;--color-text:#f1f2ea;--color-muted:#bdc8bd;--color-primary:#c1cf9c;--color-primary-hover:#d4dfb7;--color-tint:#20382c;--color-border:rgba(226,238,216,.2)}
.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border)}
.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-primary);flex-shrink:0}
.brand-mark{width:40px;height:40px}
.wordmark{font-size:1.8rem;font-weight:700;letter-spacing:-1.4px;line-height:1}
.wordmark>span{font-size:var(--text-xs);letter-spacing:1.8px;display:block;font-weight:500;margin-top:var(--space-2)}
nav{display:flex;gap:var(--space-8);align-items:center}
nav a{font-size:var(--text-sm);font-weight:500;padding-block:var(--space-3)}
nav a:hover,.text-link:hover{color:var(--color-muted)}
.header-actions{display:flex;align-items:center;gap:var(--space-4)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);background:var(--color-primary);color:var(--color-bg);padding:var(--space-4) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:700;min-height:52px;line-height:1.4}
.button:hover{background:var(--color-primary-hover)}
.button span,.text-link span{font-size:var(--text-lg)}
.header-cta{padding:var(--space-3) var(--space-5);min-height:46px}
.theme-toggle{width:44px;height:44px;font-size:var(--text-lg);border-radius:var(--radius-full)}
.theme-toggle:hover{background:var(--color-tint)}
.menu-toggle{display:none;width:44px;height:44px}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:var(--space-12);padding-top:var(--space-16);padding-bottom:var(--space-16);align-items:center}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:1.7px;display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);line-height:1.6}
.location-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:500;line-height:1.07;letter-spacing:-1.7px}
h1>span{color:var(--color-primary)}
.hero-description{color:var(--color-muted);max-width:410px;margin-top:var(--space-6);line-height:1.75}
.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);font-weight:700;min-height:44px}
.hero-footnote{font-size:var(--text-xs);color:var(--color-muted);display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8)}
.small-line{width:32px;height:1px;background:var(--color-border)}
.hero-visual{position:relative;margin-bottom:var(--space-6);align-self:stretch;min-height:520px}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:52% center;border-radius:100px 4px 4px 4px;background:var(--color-tint)}
.photo-label{position:absolute;left:var(--space-6);bottom:88px;background:#fafbf8ed;color:#284734;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);letter-spacing:1.4px;border-radius:var(--radius-sm)}
.hero-note{position:absolute;bottom:-24px;right:-16px;display:flex;align-items:center;gap:var(--space-5);background:var(--color-tint);padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);box-shadow:0 12px 25px #1233220a;font-size:var(--text-sm)}
.hero-note svg{width:38px;color:var(--color-primary)}
.hero-note strong{font-weight:700}
.principles{background:var(--color-tint);border-block:1px solid var(--color-border)}
.principles-inner{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:500}
.principles-location{font-size:var(--text-xs);letter-spacing:1.8px;display:flex;align-items:center;gap:var(--space-4)}
.section{padding-block:var(--space-24)}
.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-24)}
h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.6px;line-height:1.17}
h2 span{color:var(--color-muted)}
.section-intro>p:not(.eyebrow){color:var(--color-muted);margin-block:var(--space-6);max-width:345px}
.section-intro>.text-link{border-bottom:1px solid var(--color-border)}
.service{border-top:1px solid var(--color-border)}
.service:last-child{border-bottom:1px solid var(--color-border)}
.service summary{display:flex;align-items:center;gap:var(--space-6);padding-block:var(--space-6);cursor:pointer;list-style:none;min-height:83px}
summary::-webkit-details-marker{display:none}
.service-number{font-size:var(--text-xs);color:var(--color-muted)}
h3{font-size:var(--text-lg);font-weight:500;letter-spacing:-.3px}
.expand{width:14px;height:14px;position:relative;margin-left:auto;flex-shrink:0}
.expand:before,.expand:after{content:"";position:absolute;background:currentColor;top:6px;left:0;width:14px;height:1px}
.expand:after{transform:rotate(90deg)}
details[open] .expand:after{transform:rotate(0deg)}
.service-body{padding:0 0 var(--space-8) var(--space-10);color:var(--color-muted);font-size:var(--text-sm);line-height:1.8}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}
.tags span{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs)}
.about-section{background:var(--color-tint);padding-block:var(--space-20)}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-20);align-items:center}
.city-visual{position:relative}
.city-visual img{width:100%;height:390px;object-fit:cover;border-radius:var(--radius-sm)}
.city-caption{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);padding-top:var(--space-4)}
.city-caption>span:last-child{letter-spacing:1.2px}
.about-copy>p:not(.eyebrow){color:var(--color-muted);margin-top:var(--space-6)}
.signature-line{padding-top:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--color-border);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-3)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}
.section-heading>p{color:var(--color-muted);font-size:var(--text-sm)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin-top:var(--space-12)}
.steps article{border-top:1px solid var(--color-border);padding-top:var(--space-6)}
.step-number{font-size:var(--text-xs);letter-spacing:1.5px;color:var(--color-muted)}
.steps h3{margin-top:var(--space-6);margin-bottom:var(--space-4)}
.steps p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.8}
.contact-section{background:#173e31;color:#f4f5ed;padding-block:var(--space-20);--color-primary:#cbd7b1;--color-primary-hover:#e3eccf;--color-bg:#173e31}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--space-24)}
.contact-copy{padding-top:var(--space-5)}
.contact-copy .eyebrow{color:#cbd7b1}
.contact-copy h2{font-size:clamp(2.75rem,4vw,4rem)}
.contact-copy h2 span{color:#cbd7b1}
.contact-copy>p:not(.eyebrow){max-width:360px;color:#d0dacf;margin-top:var(--space-6)}
.contact-location{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);margin-top:var(--space-12);color:#d0dacf}
form{display:grid;gap:var(--space-5)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
label{display:grid;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}
input,textarea{width:100%;border:1px solid #b9c9b95c;background:#ffffff08;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:#f4f5ed;min-width:0}
input::placeholder,textarea::placeholder{color:#bdc9bf;opacity:1}
input:hover,textarea:hover{border-color:#cbd7b1}
textarea{resize:vertical;min-height:100px;max-height:350px}
form>.button{justify-self:start}
.form-disclaimer{font-size:var(--text-xs);color:#c0cdc1;line-height:1.65}
.inquiry-review h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-4)}
.review-note{font-size:var(--text-sm);color:#d0dacf}
pre{font-family:var(--font-body);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;border-block:1px solid #ffffff30;padding-block:var(--space-5);margin-block:var(--space-5);max-height:340px;overflow-y:auto}
.review-actions{display:flex;align-items:center;gap:var(--space-6)}
#copy-status{font-size:var(--text-sm);margin-top:var(--space-4)}
.site-footer{padding-top:var(--space-12)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding-bottom:var(--space-10)}
.footer-top>p{font-family:var(--font-display);font-size:1.5rem}
.footer-bottom{border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-muted);padding-block:var(--space-5)}
.footer-bottom>div{display:flex;align-items:center;gap:var(--space-6)}
.footer-bottom a,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center;font-size:inherit}
.skip-link{position:fixed;z-index:30;top:-100px;left:16px;padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--color-bg)}
.skip-link:focus{top:16px}
dialog{margin:auto;width:min(560px,calc(100% - 40px));max-height:85dvh;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);padding:var(--space-10)}
dialog::backdrop{background:#10291cd0}
dialog p:not(.eyebrow){margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-muted)}
.dialog-close{position:absolute;right:16px;top:12px;width:44px;height:44px;font-size:1.7rem}
@media(min-width:1500px){.hero{gap:var(--space-20)}.hero-visual{min-height:560px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}nav{gap:var(--space-5)}.header-inner{gap:var(--space-5)}.hero{gap:var(--space-8)}.hero-visual{min-height:500px}.services{gap:var(--space-16)}.about-grid{gap:var(--space-12)}.contact-grid{gap:var(--space-12)}.hero-note{right:-8px;padding:var(--space-5)}}
@media(max-width:850px){
  .container{width:calc(100% - 48px)}.header-inner{height:84px}.wordmark{font-size:1.6rem}.wordmark>span{font-size:var(--text-xs);letter-spacing:1px}.brand-mark{width:32px}.header-actions{gap:var(--space-2)}
  .header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle>span{width:21px;height:1px;background:var(--color-text)}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  nav{display:none;position:absolute;top:83px;left:0;right:0;padding:var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:var(--space-2)}nav.is-open{display:flex}nav a{min-height:44px}
  .hero{grid-template-columns:1fr 1fr;padding-block:var(--space-12);gap:var(--space-6)}h1{font-size:clamp(2.7rem,5.6vw,3.5rem)}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.8px}.hero-visual{min-height:490px}.hero-note{right:-8px;left:-16px;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-xs)}.hero-note svg{width:30px}.hero-photo{border-top-left-radius:70px}.photo-label{left:var(--space-4);padding:var(--space-2);letter-spacing:.5px}.hero .button{gap:var(--space-3);padding-inline:var(--space-4)}
  .principles-inner{flex-wrap:wrap;justify-content:center;padding-block:var(--space-5);gap:var(--space-3) var(--space-8)}.principles-location{display:none}.services{gap:var(--space-10);grid-template-columns:.85fr 1.15fr}.service summary{gap:var(--space-4)}.service h3{font-size:1.125rem}.about-grid{gap:var(--space-8)}.city-visual img{height:360px}.section{padding-block:var(--space-16)}.steps{gap:var(--space-6)}.contact-grid{gap:var(--space-10)}.footer-top>p{display:none}
}
@media(max-width:620px){
  .container{width:calc(100% - 40px)}.header-inner{height:76px}nav{top:75px}.hero{grid-template-columns:1fr;padding-top:var(--space-10);gap:var(--space-10)}h1{font-size:clamp(2.7rem,10.9vw,4.2rem);letter-spacing:-1px}.hero .eyebrow{letter-spacing:1px;font-size:var(--text-xs);margin-bottom:var(--space-5)}.hero-description{margin-top:var(--space-5)}.hero-actions{margin-top:var(--space-6);gap:var(--space-2)}.hero-footnote{margin-top:var(--space-5)}.hero-visual{min-height:0;height:350px;margin-right:var(--space-2);margin-bottom:var(--space-5)}.hero-photo{object-position:center 45%;border-top-left-radius:72px}.hero-note{left:auto;right:-8px;bottom:-20px;padding:var(--space-5);font-size:var(--text-sm)}.photo-label{bottom:88px}
  .principles-inner{justify-content:flex-start;column-gap:var(--space-6);row-gap:var(--space-2);font-size:var(--text-xs)}.principles-inner>span{flex:1 1 40%}.principles-inner>span:nth-child(3){flex-basis:100%}
  .services,.about-grid,.contact-grid{grid-template-columns:1fr;gap:var(--space-10)}.section-intro h2 br:nth-of-type(1){display:none}.section-intro>p:not(.eyebrow){max-width:none}.service summary{min-height:78px}.service h3{font-size:var(--text-lg)}.service-body{padding-left:var(--space-8)}
  .about-section{padding-block:var(--space-12)}.city-visual img{height:280px}.city-caption{gap:var(--space-2)}.about-copy .eyebrow{margin-bottom:var(--space-4)}
  .section-heading{display:block}.section-heading>p{margin-top:var(--space-6)}.steps{grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-8)}.steps h3{margin-top:var(--space-4)}.steps p{max-width:40ch}
  .contact-section{padding-block:var(--space-12)}.contact-copy{padding-top:0}.contact-copy h2{font-size:3rem}.contact-location{margin-top:var(--space-6)}.form-row{grid-template-columns:1fr;gap:var(--space-5)}form>.button{width:100%;justify-content:space-between}
  .footer-top{align-items:flex-start;gap:var(--space-4)}.footer-top>.text-link{font-size:var(--text-xs);gap:var(--space-2)}.footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.footer-bottom>div{gap:var(--space-5);flex-wrap:wrap}.site-footer{padding-top:var(--space-8)}.footer-top{padding-bottom:var(--space-8)}
}
