:root {
  color-scheme:light;
  --font-body:'Switzer',Arial,sans-serif;
  --font-display:'Boska',Georgia,serif;
  --text-xs:.75rem;--text-sm:.875rem;
  --text-base:clamp(1rem,.98rem + .1vw,1.0625rem);
  --text-lg:clamp(1.25rem,1rem + .5vw,1.5rem);
  --text-xl:clamp(2.2rem,1.65rem + 1.6vw,3.3rem);
  --text-hero:clamp(3rem,1.4rem + 4.3vw,5.75rem);
  --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;--space-32:8rem;
  --color-bg:oklch(96% .012 85);--color-text:oklch(29% .01 245);
  --color-muted:oklch(47% .012 85);--color-surface:oklch(93% .014 85);
  --color-border:oklch(40% .04 85 / .23);--color-primary:oklch(48% .073 83);
  --charcoal:#1b2023;--logo-bg:#282d30;--gold:#d3b572;--cream:#f3efe6;--dark-muted:#bdbeb9;
  --gutter:clamp(var(--space-6),6.7vw,var(--space-24));
  --transition:300ms cubic-bezier(.2,.6,.3,1);
}
[data-theme=dark]{color-scheme:dark;--color-bg:oklch(24% .009 245);--color-text:oklch(94% .014 85);--color-muted:oklch(78% .012 85);--color-surface:oklch(27% .009 245);--color-border:oklch(85% .04 85 / .2);--color-primary:oklch(78% .08 85)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:oklch(24% .009 245);--color-text:oklch(94% .014 85);--color-muted:oklch(78% .012 85);--color-surface:oklch(27% .009 245);--color-border:oklch(85% .04 85 / .2);--color-primary:oklch(78% .08 85)}}
.container{max-width:1500px;margin-inline:auto;padding-inline:var(--gutter)}
.header{background:var(--charcoal);color:var(--cream);position:relative}
.header::after{content:"";position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:#d3b57230}
.nav-wrap{display:flex;align-items:center;min-height:116px;gap:var(--space-8)}
.wordmark{display:flex;flex-direction:column;justify-content:center;line-height:1.6;letter-spacing:.18em;font-size:var(--text-sm);min-height:44px}
.wordmark-sub{font-size:var(--text-xs);letter-spacing:.24em;color:var(--gold)}
nav{display:flex;align-items:center;gap:var(--space-10);margin-left:auto;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}
nav a{position:relative;display:flex;align-items:center;min-height:44px;gap:var(--space-5);transition:color var(--transition)}
nav a::after{content:"";position:absolute;left:0;bottom:5px;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
nav a:hover{color:var(--gold)}
nav a:hover::after{transform:scaleX(1)}
.nav-contact{color:var(--gold)}
.theme-toggle{border:0;color:var(--gold);background:none;width:44px;height:44px;padding:0;flex-shrink:0;transition:color var(--transition)}
.theme-symbol{font-size:var(--text-lg)}
.theme-toggle:hover{color:var(--cream)}
.hero{background:var(--charcoal);color:var(--cream)}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:var(--space-16);padding-top:var(--space-20);padding-bottom:var(--space-20);min-height:690px}
.hero-grid>*{min-width:0}
.eyebrow{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-xs);font-weight:500;letter-spacing:.18em;line-height:1.7;color:var(--color-primary);margin-bottom:var(--space-8)}
.hero .eyebrow,.contact .eyebrow{color:var(--gold)}
.chapter{font-size:var(--text-xs);font-weight:400;letter-spacing:0;border-right:1px solid currentColor;padding-right:var(--space-4);opacity:.8}
.short-rule{height:1px;width:40px;background:var(--gold);flex-shrink:0}
h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;line-height:1.05;letter-spacing:-.035em}
h1>span{color:var(--gold);font-size:.64em;letter-spacing:-.015em;display:block;margin-top:var(--space-5);white-space:nowrap;line-height:1.2}
.hero-description{max-width:47ch;margin-top:var(--space-8);color:var(--dark-muted);font-size:var(--text-sm);line-height:1.9}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:var(--space-4) 0;color:var(--cream);border-bottom:1px solid var(--gold);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-top:var(--space-8);transition:color var(--transition);min-height:52px}
.button span{color:var(--gold);font-size:var(--text-base);transition:transform var(--transition)}
.button:hover{color:var(--gold)}
.button:hover span{transform:translateY(4px)}
.hero-brand{display:flex;align-items:center;justify-content:flex-end}
.brand-frame{width:min(100%,430px);background:var(--logo-bg);padding:var(--space-3);border:1px solid #d3b57266;position:relative}
.brand-frame::before{content:"";position:absolute;inset:var(--space-2);border:1px solid #d3b57224;pointer-events:none}
.brand-caption{text-align:center;color:var(--gold);font-size:var(--text-xs);letter-spacing:.14em;padding:var(--space-2) var(--space-4) var(--space-6);position:relative}
.hero-brand img{width:100%;height:auto}
.tm{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;line-height:0;letter-spacing:0;vertical-align:super;margin-left:.12em}
h1 .tm{font-size:clamp(.75rem,.55rem + .5vw,1rem);vertical-align:super}
.logo-lockup{position:relative;flex-shrink:0}
.hero-brand .logo-lockup{width:100%;min-width:0}
.logo-tm{position:absolute;right:22%;bottom:15.5%;font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;line-height:1;color:var(--gold)}
.hero-brand .logo-tm{font-size:var(--text-base)}
.hero-foot{display:flex;justify-content:space-between;align-items:center;padding-block:var(--space-4);position:relative;font-size:var(--text-xs);letter-spacing:.12em;color:var(--dark-muted);gap:var(--space-6)}
.hero-foot::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#d3b57230}
.hero-foot a{letter-spacing:.08em;display:flex;align-items:center;gap:var(--space-8);min-height:44px;font-size:var(--text-xs)}
.hero-foot a span{color:var(--gold)}
.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}
.company-layout{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(var(--space-10),7vw,var(--space-24));align-items:center}
.section-intro{min-width:0}
h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);line-height:1.16;letter-spacing:-.02em;margin-bottom:var(--space-8)}
.heading-soft{color:var(--color-primary)}
.section-intro p:not(.eyebrow){max-width:49ch;color:var(--color-muted);line-height:1.9}
.section-intro p+p{margin-top:var(--space-5)}
.architecture{min-width:0}
.architecture-window{overflow:hidden;background:var(--color-surface);aspect-ratio:4/5;position:relative}
.architecture img{width:100%;height:100%;object-fit:cover;object-position:42% 50%;transition:transform 1.4s cubic-bezier(.2,.6,.3,1)}
@media(hover:hover){.architecture:hover img{transform:scale(1.035)}}
.architecture figcaption{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-4);line-height:1.6;max-width:52ch}
.text-link{display:inline-flex;align-items:center;gap:var(--space-10);border-bottom:1px solid var(--color-primary);padding-block:var(--space-3);margin-top:var(--space-8);min-height:44px;color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}
.text-link span{font-size:var(--text-base);transition:transform var(--transition)}
.text-link:hover span{transform:translate(3px,-3px)}
.focus{padding-top:0;padding-bottom:var(--space-32)}
.focus-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);padding-top:var(--space-20);padding-bottom:var(--space-16);border-top:1px solid var(--color-border)}
.focus-intro h2{margin-bottom:0}
.focus-intro>p{max-width:29ch;color:var(--color-muted);font-size:var(--text-sm);line-height:1.9;padding-bottom:var(--space-2)}
.focus-grid{display:grid;grid-template-columns:1fr 1fr}
.focus-row{position:relative;display:grid;grid-template-columns:52px 1fr;column-gap:var(--space-8);row-gap:var(--space-6);padding-block:var(--space-8);align-content:start}
.focus-row:first-child{padding-right:var(--space-16)}
.focus-row:last-child{border-left:1px solid var(--color-border);padding-left:var(--space-16)}
.row-number{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--color-primary);line-height:1}
.focus-row .eyebrow{margin-bottom:var(--space-3);letter-spacing:.12em}
.focus-row h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,1.2rem + .7vw,2rem);line-height:1.2}
.focus-row>p{grid-column:2;color:var(--color-muted);font-size:var(--text-sm);line-height:1.9}
.contact{background:var(--charcoal);color:var(--cream);padding-block:var(--space-24);border-top:1px solid #d3b57266}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-24);align-items:center}
.contact h2{font-size:var(--text-xl)}
.contact p:not(.eyebrow){max-width:45ch;color:var(--dark-muted);font-size:var(--text-sm);line-height:1.9}
.contact-details{padding-top:var(--space-8);border-top:1px solid #d3b57255}
.contact-details .eyebrow{margin-bottom:var(--space-6)}
.email-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-base);padding-bottom:var(--space-5);overflow-wrap:anywhere;border-bottom:1px solid #d3b57255;transition:color var(--transition);min-height:44px}
.email-link:hover{color:var(--gold)}
.email-link span{color:var(--gold);font-size:var(--text-lg);transition:transform var(--transition)}
.email-link:hover span{transform:translate(3px,-3px)}
.contact-details p:last-child{font-size:var(--text-xs);margin-top:var(--space-5)}
footer{background:var(--charcoal);color:var(--cream)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-10);border-top:1px solid #d3b57226}
.footer-brand{display:flex;align-items:center;gap:var(--space-6);min-width:0}
.footer-brand img{width:88px;height:88px}
.footer-brand .logo-lockup{border:1px solid #d3b57244}
.footer-brand>div:last-child{min-width:0}
.footer-brand span{font-size:var(--text-sm);letter-spacing:.025em}
.footer-brand p{font-size:var(--text-xs);color:var(--dark-muted);margin-top:var(--space-2)}
.footer-main>a{font-size:var(--text-xs);display:flex;align-items:center;min-height:44px;gap:var(--space-5);letter-spacing:.1em;text-transform:uppercase}
.footer-bottom{padding-block:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);color:var(--dark-muted);border-top:1px solid #d3b57226}
.footer-bottom>span:last-child{letter-spacing:.1em}
.reveal{transition:opacity .8s ease}
.reveal.is-waiting{opacity:.4}
.reveal.is-visible{opacity:1}
a:active{opacity:.8}
@media(min-width:1600px){.hero-grid{min-height:740px}}
@media(max-width:1100px){
  .hero-grid{grid-template-columns:1.22fr 1fr;gap:var(--space-8);min-height:620px}
  h1{font-size:clamp(3rem,5.8vw,5.75rem)}
  .nav-wrap{gap:var(--space-4)}
  nav{gap:var(--space-6);letter-spacing:.07em}
  .brand-caption{font-size:var(--text-xs);letter-spacing:.05em}
  .focus-row:first-child{padding-right:var(--space-8)}
  .focus-row:last-child{padding-left:var(--space-8)}
  .focus-row{column-gap:var(--space-4);grid-template-columns:40px 1fr}
  .contact-grid{gap:var(--space-10)}
}
@media(max-width:760px){
  .nav-wrap{min-height:100px;flex-wrap:wrap;column-gap:var(--space-4);row-gap:0;padding-top:var(--space-5);padding-bottom:var(--space-3)}
  .wordmark{font-size:var(--text-sm)}
  .theme-toggle{margin-left:auto}
  nav{order:3;width:100%;margin:var(--space-2) 0 0;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:.02em}
  nav a{gap:var(--space-2);white-space:nowrap}
  .hero-grid{grid-template-columns:1fr;padding-top:var(--space-12);padding-bottom:var(--space-12);gap:var(--space-12);min-height:0}
  h1{font-size:clamp(2.85rem,10.8vw,4.6rem);line-height:1.08}
  h1>span{font-size:.72em;white-space:normal;margin-top:var(--space-4)}
  .hero .eyebrow{letter-spacing:.1em;gap:var(--space-3);margin-bottom:var(--space-6)}
  .short-rule{width:24px}
  .hero-description{margin-top:var(--space-6);max-width:48ch;font-size:var(--text-base);line-height:1.8}
  .button{margin-top:var(--space-6)}
  .hero-brand{justify-content:center}
  .brand-frame{width:min(100%,360px)}
  .brand-caption{letter-spacing:.1em}
  .hero-foot{align-items:flex-start;flex-direction:column;gap:var(--space-2)}
  .hero-foot a{width:100%;justify-content:space-between}
  .hero-foot>span{letter-spacing:.06em;line-height:1.8}
  .company-layout{grid-template-columns:1fr;gap:var(--space-10)}
  .section-intro{grid-row:1}
  .architecture-window{aspect-ratio:5/4}
  h2{font-size:clamp(2.2rem,7.5vw,3rem);margin-bottom:var(--space-6)}
  .eyebrow{margin-bottom:var(--space-6)}
  .focus{padding-bottom:var(--space-16)}
  .focus-intro{display:block;padding-top:var(--space-12);padding-bottom:var(--space-8)}
  .focus-intro>p{margin-top:var(--space-6);max-width:36ch}
  .focus-grid{grid-template-columns:1fr}
  .focus-row{grid-template-columns:36px 1fr;column-gap:var(--space-5);row-gap:var(--space-5);padding-block:var(--space-8)}
  .focus-row:first-child{padding-right:0}
  .focus-row:last-child{border-left:0;border-top:1px solid var(--color-border);padding-left:0}
  .focus-row>p{font-size:var(--text-base);line-height:1.8}
  .contact-grid{grid-template-columns:1fr;gap:var(--space-10)}
  .contact{padding-block:var(--space-16)}
  .contact p:not(.eyebrow){font-size:var(--text-base)}
  .contact-details p:last-child{font-size:var(--text-sm)}
  .email-link{font-size:var(--text-sm)}
  .footer-main{align-items:flex-start;flex-direction:column;gap:var(--space-6)}
  .footer-brand{gap:var(--space-4)}
  .footer-brand img{width:68px;height:68px}
  .footer-bottom{flex-direction:column;gap:var(--space-3);line-height:1.8}
}
@media(max-width:350px){nav{letter-spacing:0;gap:var(--space-2)}nav a{gap:var(--space-1)}.brand-caption{letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.reveal.is-waiting{opacity:1}.architecture:hover img{transform:none}}
