/* Hostly site — shared styles */
:root{
  --ink:#0F0E0C; --ink-2:#2A2620; --muted:#7A7268;
  --cream:#FBF7F1; --sand:#F2E9DC; --clay:#E6DACD;
  --terra:#B85C38; --terra-2:#E6A27A;
  --line:rgba(15,14,12,.12);
  --max:1360px;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  color:var(--ink);background:var(--cream);
  font-size:17px;line-height:1.55;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

h1,h2,h3,h4{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.02em;margin:0;}
h1{font-size:clamp(56px,8vw,128px);line-height:.98;}
h2{font-size:clamp(40px,5.2vw,84px);line-height:1;padding-bottom:.08em;}
h3{font-size:clamp(28px,2.4vw,40px);line-height:1.1;}
h4{font-size:24px;line-height:1.2;}
em{font-style:italic;color:var(--terra);}
p{margin:0 0 1em;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--terra);font-weight:700;}
.kicker{font-size:clamp(19px,1.5vw,24px);line-height:1.5;color:var(--ink-2);max-width:720px;}
.muted{color:var(--muted);}
.rule{height:1px;background:var(--line);border:0;margin:0;}

/* ── NAV ───────────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,247,241,.85);
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav .inner{
  max-width:var(--max);margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2em;font-size:16px;}
.brand .dot{width:8px;height:8px;background:var(--terra);border-radius:50%;}
.nav ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;}
.nav a{font-weight:500;font-size:15px;color:var(--ink-2);transition:color .15s;}
.nav a:hover,.nav a[aria-current]{color:var(--ink);}
.nav a[aria-current]{position:relative;}
.nav a[aria-current]::after{
  content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--terra);
}
.nav .cta-wrap{display:flex;align-items:center;gap:14px;}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer;}

/* ── BUTTONS ────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 26px;border-radius:999px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;
  letter-spacing:.01em;border:1px solid var(--ink);cursor:pointer;
  transition:transform .15s,background .15s,color .15s;
  text-decoration:none;
}
.btn:hover{transform:translateY(-1px);}
.btn.primary{background:var(--ink);color:var(--cream);}
.btn.primary:hover{background:var(--terra);border-color:var(--terra);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--cream);}
.btn.small{padding:12px 20px;font-size:14px;}
.btn .arr{display:inline-block;transition:transform .2s;}
.btn:hover .arr{transform:translateX(3px);}

/* ── SECTIONS ───────────────────────────────────── */
section{padding:120px 0;}
section.tight{padding:80px 0;}
.section-head{
  display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:end;
  margin-bottom:72px;
}
.section-head .eyebrow{align-self:start;}
.section-head h2{max-width:18ch;}
.section-head .side{justify-self:end;max-width:380px;color:var(--muted);font-size:18px;line-height:1.5;text-align:right;}

/* ── FOOTER ─────────────────────────────────────── */
footer{
  background:var(--ink);color:var(--cream);
  padding:100px 0 36px;
  margin-top:0;
}
footer .inner{max-width:var(--max);margin:0 auto;padding:0 32px;}
footer .top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:60px;margin-bottom:80px;}
footer h4{font-family:'Poppins',sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-2);font-weight:700;margin-bottom:20px;}
footer ul{list-style:none;padding:0;margin:0;}
footer li{padding:8px 0;font-size:15px;color:rgba(251,247,241,.8);}
footer li a:hover{color:var(--cream);}
footer .tagline{font-family:'Instrument Serif',serif;font-size:36px;line-height:1.1;margin-bottom:24px;max-width:18ch;}
footer .addr{font-size:14px;color:rgba(251,247,241,.6);line-height:1.7;}
footer .bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:36px;border-top:1px solid rgba(251,247,241,.12);
  font-size:13px;color:rgba(251,247,241,.55);letter-spacing:.06em;
}
footer .bottom a{color:rgba(251,247,241,.75);}

/* ── UTILITIES ──────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.dark{background:var(--ink);color:var(--cream);}
.dark .eyebrow{color:var(--terra-2);}
.dark .kicker{color:rgba(251,247,241,.8);}
.dark em{color:var(--terra-2);}
.dark .muted{color:rgba(251,247,241,.6);}
.sand{background:var(--sand);}
.clay{background:var(--clay);}

/* ── RESPONSIVE ─────────────────────────────────── */
@media (max-width:960px){
  .nav ul{display:none;}
  .menu-btn{display:block;}
  section{padding:80px 0;}
  .section-head{grid-template-columns:1fr;gap:24px;margin-bottom:44px;}
  .section-head .side{text-align:left;justify-self:start;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:32px;}
  footer .top{grid-template-columns:1fr 1fr;gap:36px;}
  footer .bottom{flex-direction:column;gap:12px;text-align:center;}
}
