:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.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;
  --color-bg:#f7f6f2; --color-surface:#f9f8f5; --color-surface-2:#fbfbf9; --color-surface-offset:#f3f0ec; --color-border:#d4d1ca; --color-divider:#dcd9d5; --color-text:#28251d; --color-text-muted:#67655f; --color-text-faint:#8e8b84; --color-text-inverse:#f9f8f4; --color-primary:#01696f; --color-primary-hover:#0c4e54; --color-blue:#006494; --shadow-sm:0 1px 2px oklch(0.2 0.01 80 / 0.06); --shadow-md:0 4px 12px oklch(0.2 0.01 80 / 0.08); --shadow-lg:0 12px 32px oklch(0.2 0.01 80 / 0.12); --radius-sm:0.375rem; --radius-md:0.5rem; --radius-lg:0.75rem; --radius-xl:1rem; --radius-full:9999px; --transition:180ms cubic-bezier(0.16,1,0.3,1); --content:1200px; --font-body:'Satoshi','Inter',sans-serif; --font-display:'Boska','Georgia',serif;
}
[data-theme="dark"] {
  --color-bg:#171614; --color-surface:#1c1b19; --color-surface-2:#201f1d; --color-surface-offset:#1d1c1a; --color-border:#393836; --color-divider:#262523; --color-text:#e3e0da; --color-text-muted:#b2ada4; --color-text-faint:#7d786f; --color-text-inverse:#201f1d; --color-primary:#4f98a3; --color-primary-hover:#227f8b; --color-blue:#5591c7; --shadow-sm:0 1px 2px oklch(0 0 0 / 0.2); --shadow-md:0 4px 12px oklch(0 0 0 / 0.3); --shadow-lg:0 12px 32px oklch(0 0 0 / 0.4);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { --color-bg:#171614; --color-surface:#1c1b19; --color-surface-2:#201f1d; --color-surface-offset:#1d1c1a; --color-border:#393836; --color-divider:#262523; --color-text:#e3e0da; --color-text-muted:#b2ada4; --color-text-faint:#7d786f; --color-text-inverse:#201f1d; --color-primary:#4f98a3; --color-primary-hover:#227f8b; --color-blue:#5591c7; --shadow-sm:0 1px 2px oklch(0 0 0 / 0.2); --shadow-md:0 4px 12px oklch(0 0 0 / 0.3); --shadow-lg:0 12px 32px oklch(0 0 0 / 0.4);} }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
a,button,input,textarea{transition:color var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}
a{color:inherit;text-decoration:none} img,svg{display:block;max-width:100%;height:auto} button{cursor:pointer;border:none;background:none} ul{list-style:none}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:var(--space-4);top:var(--space-4);z-index:1000;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}
.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}.narrow{max-width:72ch}.section{padding:clamp(var(--space-12),8vw,var(--space-24)) 0}
.header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}.nav-links{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap}.nav-links a{font-size:var(--text-sm);color:var(--color-text-muted)}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--color-text)}
.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:700}.brand-mark{width:2.5rem;height:2.5rem;padding:0.35rem;border-radius:0.8rem;background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);box-shadow:var(--shadow-sm)}
.brand-name{font-size:var(--text-sm);letter-spacing:0.08em;text-transform:uppercase}.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}
.hero{padding:clamp(var(--space-12),10vw,var(--space-24)) 0 var(--space-16)}.hero-grid,.split-grid,.feature-grid,.stats-grid,.contact-grid,.footer-grid,.photo-grid{display:grid;gap:var(--space-8)}
.hero-grid{grid-template-columns:1.2fr 0.9fr;align-items:end}.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.16em;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-4)}
h1,h2{font-family:var(--font-display)}h1{font-size:var(--text-2xl);line-height:1.02;max-width:12ch}h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}h3{font-size:var(--text-lg);line-height:1.2}p{max-width:68ch;color:var(--color-text-muted)}
.hero-copy p{margin-top:var(--space-5);font-size:var(--text-base)}.hero-actions,.cta-row{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-6)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.85rem 1.15rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;border:1px solid transparent}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:color-mix(in oklab,var(--color-text) 10%,transparent)}
.panel,.card,.service-card,.quote,.contact-card,.photo-card,.metric{background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.panel{padding:var(--space-6)}.hero-card{padding:var(--space-6);background:linear-gradient(180deg,var(--color-surface-2),var(--color-surface-offset))}.hero-card img,.photo-card img{border-radius:calc(var(--radius-xl) - var(--space-3));object-fit:cover;width:100%}
.list{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.list li{display:flex;gap:var(--space-3);align-items:flex-start;color:var(--color-text-muted)}.dot{width:0.7rem;height:0.7rem;border-radius:50%;background:var(--color-primary);margin-top:0.45rem;flex:0 0 auto}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-8)}.card,.service-card,.metric,.contact-card,.quote{padding:var(--space-6)}.card-number{font-size:var(--text-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-5)}
.split-grid{grid-template-columns:0.95fr 1.05fr;align-items:start}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-8)}.metric strong{display:block;font-size:var(--text-xl);font-family:var(--font-display);margin-bottom:var(--space-2)}
.photo-grid{grid-template-columns:1.1fr 0.9fr}.photo-stack{display:grid;gap:var(--space-5)}.photo-caption{padding-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}
.contact-grid{grid-template-columns:1fr 1fr}.contact-form{display:grid;gap:var(--space-4)}label{font-size:var(--text-sm);font-weight:700}input,textarea{width:100%;padding:0.9rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);background:var(--color-surface-2);color:var(--color-text);font:inherit}textarea{min-height:160px;resize:vertical}
.kicker{display:inline-flex;align-items:center;gap:var(--space-2);padding:0.45rem 0.75rem;border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase}
.quote{position:relative}.quote p{font-size:var(--text-lg);color:var(--color-text)}.quote small{display:block;margin-top:var(--space-4);color:var(--color-text-muted)}
.footer{padding:var(--space-10) 0;border-top:1px solid var(--color-divider)}.footer-grid{grid-template-columns:1.2fr 0.8fr;align-items:start}.footer-links{display:grid;gap:var(--space-2)}
.surface-alt{background:var(--color-surface-offset)}
@media (max-width: 920px){.hero-grid,.split-grid,.feature-grid,.stats-grid,.contact-grid,.footer-grid,.photo-grid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.nav-links{width:100%}.hero{padding-top:var(--space-10)}h1{max-width:14ch}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
