/* ══════════════════════════════════════════════════════
   AntHill — Shared Design System
   Based on Brand Book v3.0 Final
   ══════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --ink:       #0E0E0C;
  --ink-soft:  #1A1A14;
  --parchment: #F5F0E8;
  --ash:       #E8E3D9;
  --chalk:     #FAFAF8;
  --chalk-2:   #F0EBE1;
  --mist:      #C4BDB0;
  --mist-dk:   #3A3A28;
  --stone:     #6B6560;
  --amber:     #D4810A;
  --amber-lt:  #F0A830;
  --amber-pale:#FDF3E0;
  --white:     #FAFAF8;

  --serif:     'IBM Plex Serif',Georgia,serif;
  --sans:      'IBM Plex Sans','Helvetica Neue',sans-serif;
  --mono:      'IBM Plex Mono',ui-monospace,monospace;

  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-enter:    cubic-bezier(0, 0, 0.2, 1);
  --ease-exit:     cubic-bezier(0.4, 0, 1, 1);
  --ease-expo:     cubic-bezier(0.16, 1, 0.3, 1);
}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{font-family:var(--sans);background:var(--parchment);color:var(--ink);font-size:14px;line-height:1.6;font-weight:400;}

::selection{background:var(--amber);color:var(--ink);}

.container{max-width:1280px;margin:0 auto;padding:0 40px;}
.container-narrow{max-width:860px;margin:0 auto;padding:0 40px;}
.section{padding:120px 0;position:relative;}
.section-tight{padding:80px 0;}

.nav{position:sticky;top:0;z-index:200;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.nav-ink{background:rgba(14,14,12,0.85);border-bottom:1px solid rgba(255,255,255,0.06);}
.nav-parchment{background:rgba(245,240,232,0.85);border-bottom:1px solid var(--ash);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;max-width:1440px;margin:0 auto;}
.nav-logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-0.01em;text-decoration:none;}
.nav-ink .nav-logo{color:var(--parchment);}
.nav-parchment .nav-logo{color:var(--ink);}
.nav-mark{width:28px;height:28px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-link{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;padding:8px 14px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s;}
.nav-ink .nav-link{color:var(--mist);}
.nav-ink .nav-link:hover{background:rgba(255,255,255,0.05);color:var(--parchment);}
.nav-parchment .nav-link{color:var(--stone);}
.nav-parchment .nav-link:hover{background:var(--ash);color:var(--ink);}
.nav-link.active{color:var(--amber) !important;}
.nav-cta{font-family:var(--sans);font-size:12px;font-weight:600;padding:9px 18px;border-radius:6px;background:var(--amber);color:var(--ink);border:none;cursor:pointer;text-decoration:none;transition:background .15s;margin-left:12px;}
.nav-cta:hover{background:var(--amber-lt);}

.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--amber);}
.eyebrow-mist{color:var(--mist);}
.h-display{font-family:var(--serif);font-weight:700;font-size:clamp(52px,7vw,96px);line-height:0.95;letter-spacing:-0.02em;}
.h-1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-0.015em;}
.h-2{font-family:var(--serif);font-weight:700;font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-0.01em;}
.h-3{font-family:var(--serif);font-weight:700;font-size:24px;line-height:1.2;}
.h-section{font-family:var(--serif);font-weight:700;font-size:clamp(36px,4.5vw,56px);line-height:1.05;letter-spacing:-0.015em;}
.lead{font-size:18px;font-weight:300;line-height:1.6;color:var(--stone);max-width:620px;}
.lead-ink{color:var(--ink);}
.lead-dark{color:var(--mist);max-width:620px;}
.body{font-size:15px;font-weight:300;line-height:1.7;color:var(--stone);max-width:640px;}
.body-dark{color:var(--mist);}
.mono-label{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);}

.amber{color:var(--amber);}
.italic{font-style:italic;}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;border-radius:6px;cursor:pointer;border:none;transition:all .15s var(--ease-standard);text-decoration:none;white-space:nowrap;}
.btn-primary{background:var(--amber);color:var(--ink);font-size:14px;padding:13px 24px;}
.btn-primary:hover{background:var(--amber-lt);transform:translateY(-1px);}
.btn-secondary{background:transparent;color:var(--parchment);font-size:14px;padding:13px 24px;border:1px solid rgba(255,255,255,0.15);}
.btn-secondary:hover{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.3);}
.btn-ghost-ink{background:transparent;color:var(--ink);font-size:13px;padding:10px 18px;border:1px solid var(--ash);}
.btn-ghost-ink:hover{background:var(--chalk-2);}
.btn-arrow{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap .2s;}
.btn-arrow:hover{gap:12px;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-expo),transform .8s var(--ease-expo);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.06s;}
.reveal-d2{transition-delay:.12s;}
.reveal-d3{transition-delay:.18s;}
.reveal-d4{transition-delay:.24s;}
.reveal-d5{transition-delay:.30s;}
.reveal-d6{transition-delay:.36s;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}

.card{background:var(--chalk);border:1px solid var(--ash);border-radius:10px;padding:32px;}
.card-ink{background:var(--ink-soft);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:32px;}

.divider{height:1px;background:var(--ash);margin:0;}
.divider-dark{height:1px;background:rgba(255,255,255,0.08);margin:0;}

.footer{background:var(--ink);color:var(--mist);padding:64px 0 40px;}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-brand{max-width:300px;}
.footer-brand .tagline{font-family:var(--serif);font-size:14px;font-style:italic;color:var(--mist);margin:12px 0 20px;}
.footer-brand .entity{font-family:var(--mono);font-size:10px;color:var(--mist-dk);letter-spacing:0.08em;}
.footer-col-title{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);margin-bottom:16px;}
.footer-link{display:block;font-size:13px;color:var(--mist);text-decoration:none;margin-bottom:10px;transition:color .15s;}
.footer-link:hover{color:var(--parchment);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid rgba(255,255,255,0.06);font-family:var(--mono);font-size:10px;color:var(--mist-dk);letter-spacing:0.08em;}

.form-field{margin-bottom:20px;}
.form-label{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--mist);margin-bottom:8px;}
.form-input,.form-select,.form-textarea{width:100%;padding:14px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:6px;font-family:var(--sans);font-size:14px;color:var(--parchment);transition:border-color .15s,background .15s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--amber);background:rgba(255,255,255,0.06);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--mist-dk);}
.form-textarea{resize:vertical;min-height:100px;font-family:var(--sans);}
.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23C4BDB0' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}

@media(max-width:900px){
  .section{padding:80px 0;}
  .container,.container-narrow{padding:0 24px;}
  .nav-inner{padding:0 24px;}
  .nav-links{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-bottom{flex-direction:column;gap:16px;text-align:center;}
}
@media(max-width:600px){
  .section{padding:64px 0;}
  .footer-grid{grid-template-columns:1fr;}
}
