/* ── TOKENS ── */
:root {
  --bg:       #F4F1EA;
  --teal:     #0B4F4F;
  --teal-d:   #083A3A;
  --teal-m:   #0E6B6B;
  --teal-l:   #17999A;
  --teal-p:   #E4F2F2;
  --teal-pp:  #CCE8E8;
  --ink:      #1A1A26;
  --ochre:    #C8872A;
  --ochre-l:  #DFA84E;
  --muted:    #62707A;
  --border:   rgba(11,79,79,0.11);
  --border-m: rgba(11,79,79,0.18);
  --white:    #FFFFFF;
}

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);color:var(--ink);
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  line-height:1.6;
}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.r.in{opacity:1;transform:none}
.r1{transition-delay:.07s}.r2{transition-delay:.14s}.r3{transition-delay:.21s}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 3rem;
  background:rgba(244,241,234,.95);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .3s;
}
nav.sc{box-shadow:0 2px 18px rgba(11,79,79,.07)}
.nav-logo{
  font-family:'Fraunces',serif;font-weight:700;font-size:1.05rem;
  color:var(--teal);text-decoration:none;letter-spacing:-.02em;
}
.nav-logo span{color:var(--ochre)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{
  font-size:.82rem;font-weight:500;color:var(--muted);
  text-decoration:none;transition:color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--teal)}
.nav-cta{
  font-size:.82rem;font-weight:600;color:#fff;
  background:var(--teal);padding:.52rem 1.25rem;
  border-radius:100px;text-decoration:none;transition:all .2s;
}
.nav-cta:hover{background:var(--teal-d)}

/* ── SHARED TYPOGRAPHY ── */
.eyebrow{
  font-size:.66rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ochre);
  margin-bottom:.85rem;display:block;
}
.eyebrow-light{color:rgba(200,135,42,.75)}
.page-title{
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:900;line-height:1.07;letter-spacing:-.035em;
  color:var(--ink);margin-bottom:1rem;
}
.page-title em{font-style:italic;color:var(--teal)}
.page-title-light{color:#fff}
.page-title-light em{color:var(--ochre-l)}
.page-sub{
  font-size:.95rem;line-height:1.75;color:var(--muted);
  max-width:520px;margin-bottom:2.75rem;
}
.page-sub-light{color:rgba(255,255,255,.55)}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  border-radius:100px;padding:.82rem 1.8rem;
  font-weight:600;font-size:.875rem;text-decoration:none;
  transition:all .2s;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;
}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-d)}
.btn-ochre{background:var(--ochre);color:#fff}
.btn-ochre:hover{background:#a86d1e}
.btn-outline{
  background:transparent;color:var(--teal);
  border:1.5px solid var(--border-m);
}
.btn-outline:hover{border-color:var(--teal);background:var(--teal-p)}
.btn-outline-light{
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.25);
}
.btn-outline-light:hover{background:rgba(255,255,255,.1)}

/* ── PAGE HEADER (inner pages) ── */
.page-header{
  padding:9rem 3rem 5rem;
  background:var(--teal);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-header .eyebrow{color:rgba(200,135,42,.8)}
.page-header .page-title{color:#fff}
.page-header .page-title em{color:var(--ochre-l)}
.page-header .page-sub{color:rgba(255,255,255,.55);margin-bottom:0}

/* ── SECTION ── */
.section{padding:5.5rem 3rem}
.section-white{background:var(--white)}
.section-bg{background:var(--bg)}
.section-teal{background:var(--teal)}
.section-ink{background:var(--ink)}
.section-mint{background:var(--teal-p)}

/* ── GRID CARDS (1px divider style) ── */
.card-grid{
  display:grid;gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:14px;overflow:hidden;
}
.card-grid-3{grid-template-columns:repeat(3,1fr)}
.card-grid-2{grid-template-columns:repeat(2,1fr)}
.card-grid-4{grid-template-columns:repeat(4,1fr)}
.gc{
  background:var(--white);
  padding:2rem 1.75rem;
  transition:background .2s;
}
.gc:hover{background:var(--teal-p)}
.gc-ink{background:rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.07)}
.gc-ink:last-child{border-right:none}
.gc-ink:hover{background:rgba(255,255,255,.1)}

/* ── DIVIDER ── */
.divider{height:1px;background:var(--border);margin:0 3rem}

/* ── LINK ARROW ── */
.link-arr{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.82rem;font-weight:600;color:var(--teal);
  text-decoration:none;transition:gap .18s;
}
.link-arr:hover{gap:.65rem}
.link-arr-light{color:var(--ochre-l)}
.link-arr-light:hover{gap:.65rem}

/* ── CONTACT SECTION (shared across pages) ── */
.contact-strip{
  background:var(--teal);padding:5rem 3rem;
}
.contact-strip .page-title{color:#fff}
.contact-strip .page-title em{color:var(--ochre-l)}
.contact-strip .page-sub{color:rgba(255,255,255,.55)}
.contact-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;overflow:hidden;margin-bottom:1.5rem;
}
.cc{
  background:transparent;padding:1.6rem 1.5rem;
  text-decoration:none;display:block;transition:background .2s;
}
.cc:hover{background:rgba(255,255,255,.08)}
.cc-lbl{
  font-size:.62rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(200,135,42,.75);margin-bottom:.4rem;
}
.cc-title{
  font-family:'Fraunces',serif;font-size:.95rem;font-weight:700;
  color:#fff;margin-bottom:.35rem;line-height:1.2;
}
.cc-desc{font-size:.76rem;color:rgba(255,255,255,.48);line-height:1.55}
.cc-arr{
  font-size:.73rem;font-weight:600;color:var(--ochre-l);
  margin-top:.8rem;display:block;
}
.contact-note{
  font-size:.76rem;color:rgba(255,255,255,.32);text-align:center;
}
.contact-note a{color:rgba(223,168,78,.7);font-weight:600}

/* ── FOOTER ── */
footer{
  background:var(--ink);padding:2rem 3rem;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.05);
}
.footer-logo{font-family:'Fraunces',serif;font-size:1rem;font-weight:700;color:#fff}
.footer-logo span{color:var(--ochre)}
.footer-links{display:flex;gap:1.75rem}
.footer-links a{font-size:.75rem;color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--ochre-l)}
.footer-copy{font-size:.7rem;color:rgba(255,255,255,.2)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:1rem 1.25rem}
  .nav-links{display:none}
  .section,.page-header,.contact-strip{padding-left:1.25rem;padding-right:1.25rem}
  .card-grid-3,.card-grid-2,.card-grid-4,.contact-grid{grid-template-columns:1fr}
  .divider{margin:0 1.25rem}
  footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.25rem}
}
