:root{
  --ink:#1D1D1F;
  --gray-text:#6E6E73;
  --white:#FFFFFF;
  --panel:#F5F5F7;
  --line:#D2D2D7;
  --gold:#B9852F;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- NAV ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease;
}
header.scrolled{border-bottom-color:var(--line);}
nav.wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.brand{font-size:14px;font-weight:600;letter-spacing:-0.01em;}
.navlinks{display:flex;gap:34px;font-size:12.5px;font-weight:500;color:var(--gray-text);}
.navlinks a{transition:color .2s;padding-bottom:2px;}
.navlinks a:hover{color:var(--ink);}
.navlinks a.active{color:var(--ink);border-bottom:1px solid var(--gold);}
.nav-cta{
  font-size:12.5px;font-weight:500;color:var(--ink);
  background:var(--panel);
  padding:6px 14px;border-radius:100px;
  transition:background .2s;
}
.nav-cta:hover{background:var(--line);}
.menu-toggle{display:none;}

/* ---------- PAGE HEADER (non-home hero, shorter) ---------- */
.page-header{
  padding:170px 0 70px;text-align:center;
}
.page-header .eyebrow{margin-bottom:10px;}
.page-header h1{
  font-size:clamp(34px,5.6vw,64px);
  font-weight:700;letter-spacing:-0.03em;line-height:1.06;
}
.page-header .sub{
  margin:20px auto 0;max-width:560px;
  font-size:clamp(17px,2vw,21px);font-weight:500;color:var(--gray-text);line-height:1.5;
}

/* ---------- HERO (home only) ---------- */
.hero{padding:190px 0 90px;text-align:center;}
.eyebrow{font-size:13px;font-weight:600;color:var(--gray-text);letter-spacing:0.01em;margin-bottom:10px;}
.hero h1{
  font-size:clamp(40px,7vw,86px);font-weight:700;letter-spacing:-0.03em;line-height:1.04;margin:0;
}
.hero h1 .accent{color:var(--gold);}
.hero .sub{
  margin:22px auto 0;max-width:560px;
  font-size:clamp(18px,2.2vw,24px);font-weight:500;color:var(--gray-text);
  letter-spacing:-0.01em;line-height:1.4;
}
.link-row{margin-top:26px;display:flex;gap:28px;justify-content:center;font-size:15px;font-weight:500;flex-wrap:wrap;}
.link-row a{color:var(--gold);display:inline-flex;align-items:center;gap:4px;}
.link-row a:hover{text-decoration:underline;}
.hero-image{
  margin:64px auto 0;max-width:clamp(240px,26vw,360px);border-radius:24px;overflow:hidden;
  box-shadow:0 30px 70px -30px rgba(0,0,0,0.25);
}
.hero-image img{width:100%;object-fit:cover;aspect-ratio:4/5;object-position:45% 15%;}

/* ---------- BIG STATEMENT SECTIONS ---------- */
.statement{padding:150px 0;text-align:center;}
.statement.tight{padding:100px 0;}
.statement.panel{background:var(--panel);}
.statement .eyebrow{color:var(--gold);}
.statement h2{
  font-size:clamp(30px,4.6vw,56px);font-weight:700;letter-spacing:-0.02em;line-height:1.15;
  max-width:760px;margin:14px auto 0;
}
.statement h2 .muted{color:var(--gray-text);}
.statement .body{max-width:600px;margin:26px auto 0;font-size:18px;line-height:1.6;color:var(--gray-text);}
.inline-image{margin:56px auto 0;max-width:clamp(220px,26vw,300px);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px -24px rgba(0,0,0,0.22);}
.inline-image img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:38% 32%;}
.inline-image.wide{max-width:clamp(320px,42vw,460px);}
.inline-image.wide img{aspect-ratio:16/10;object-position:60% 35%;}

/* ---------- SPEC ROW ---------- */
.specs{padding:130px 0;}
.specs.tight{padding:90px 0;}
.specs .head{text-align:center;max-width:600px;margin:0 auto 70px;}
.specs .head h2{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-0.02em;margin-top:12px;}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.spec-grid + .spec-grid{margin-top:36px;}
.spec{padding:36px 20px 0;text-align:center;border-right:1px solid var(--line);}
.spec:last-child{border-right:none;}
.spec .num{font-size:34px;font-weight:700;letter-spacing:-0.02em;}
.spec .num .accent{color:var(--gold);}
.spec h3{font-size:14.5px;font-weight:600;margin-top:14px;}
.spec p{font-size:13px;color:var(--gray-text);line-height:1.5;margin-top:8px;max-width:180px;margin-left:auto;margin-right:auto;}

/* ---------- QUOTE ---------- */
.quote{padding:150px 0;text-align:center;background:var(--ink);color:var(--white);}
.quote.tight{padding:100px 0;}
.quote blockquote{font-size:clamp(24px,3.4vw,38px);font-weight:600;letter-spacing:-0.02em;line-height:1.3;max-width:720px;margin:0 auto;}
.quote cite{display:block;margin-top:26px;font-style:normal;font-size:13px;font-weight:500;color:rgba(255,255,255,0.5);letter-spacing:0.02em;text-transform:uppercase;}

/* ---------- CONTACT CARDS ---------- */
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:60px;}
.contact-card{background:var(--white);padding:44px 32px;text-align:center;}
.contact-card .eyebrow{margin-bottom:14px;}
.contact-card h3{font-size:20px;font-weight:700;letter-spacing:-0.01em;}
.contact-card p{margin-top:10px;font-size:14.5px;color:var(--gray-text);line-height:1.5;}
.contact-card .btn-solid, .contact-card .btn-line{margin-top:22px;display:inline-block;}

/* ---------- FOOTER CTA / BUTTONS ---------- */
.foot-cta{padding:150px 0 90px;text-align:center;}
.foot-cta.tight{padding:0 0 90px;}
.foot-cta h2{font-size:clamp(30px,4.4vw,48px);font-weight:700;letter-spacing:-0.02em;}
.foot-cta .sub{margin:16px auto 0;max-width:480px;color:var(--gray-text);font-size:17px;line-height:1.5;}
.foot-btn-row{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-solid{background:var(--ink);color:var(--white);padding:13px 26px;border-radius:100px;font-size:14px;font-weight:600;transition:opacity .2s;}
.btn-solid:hover{opacity:0.82;}
.btn-line{border:1px solid var(--line);padding:13px 26px;border-radius:100px;font-size:14px;font-weight:600;transition:background .2s;}
.btn-line:hover{background:var(--panel);}

footer{border-top:1px solid var(--line);padding:32px 0;background:var(--panel);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--gray-text);}
.foot-bottom a{color:var(--gray-text);}
.foot-bottom a:hover{color:var(--ink);}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal, header{transition:none !important;}
  .reveal{opacity:1;transform:none;}
}

@media (max-width:820px){
  .navlinks{display:none;}
  .spec-grid{grid-template-columns:1fr 1fr;}
  .spec{border-bottom:1px solid var(--line);padding-bottom:28px;}
  .contact-cards{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .spec-grid{grid-template-columns:1fr;}
  .link-row{flex-direction:column;gap:12px;}
}
/* ---------- PREMIUM POLISH ---------- */

:root{
    --shadow-soft: 0 20px 60px -24px rgba(0,0,0,.12);
    --shadow-card: 0 12px 36px -18px rgba(0,0,0,.10);
    --transition: 300ms cubic-bezier(.22,.61,.36,1);
}

/* Smooth everything */

body,
a,
button,
img,
header,
.btn-solid,
.btn-line,
.contact-card,
.hero-image,
.inline-image {
    transition: all var(--transition);
}

/* Better navbar */

header{
    background: rgba(255,255,255,.72);
    border-bottom-color: rgba(210,210,215,.35);
    box-shadow: 0 1px 24px rgba(0,0,0,.03);
}

nav.wrap{
    height: 76px;
}

/* Logo */

.brand{
    display: flex;
    align-items: center;
    height: 100%;
}

.brand img{
    height: 56px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 3px 10px rgba(185,133,47,.28));
}

.brand:hover img{
    transform: scale(1.04);
}

/* Hero image */

.hero-image,
.inline-image{
    box-shadow: var(--shadow-soft);
    transform: translateY(0);
}

.hero-image:hover,
.inline-image:hover{
    transform: translateY(-6px);
    box-shadow: 0 30px 80px -24px rgba(0,0,0,.18);
}

/* Links */

.navlinks a{
    position: relative;
}

.navlinks a::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 1px;
    background: var(--gold);
    transform: translateX(-50%);
    transition: width .25s ease;
}

.navlinks a:hover::after{
    width: 100%;
}

/* Cards */

.contact-card{
    border-radius: 18px;
}

.contact-card:hover{
    transform: translateY(-6px);
    box-shadow: var(--shadow-card);
}

/* Buttons */

.btn-solid,
.btn-line{
    transform: translateY(0);
}

.btn-solid:hover,
.btn-line:hover{
    transform: translateY(-2px);
}

.btn-solid{
    box-shadow: 0 10px 30px rgba(29,29,31,.12);
}

/* Typography */

.hero h1,
.statement h2,
.page-header h1,
.specs .head h2,
.foot-cta h2{
    text-wrap: balance;
}

.hero .sub,
.statement .body,
.page-header .sub{
    max-width: 620px;
}