*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#FAF5EE;--cream-warm:#F5EDE0;--cream-deep:#EDE0CE;
  --brown:#3D2B1F;--brown-mid:#6B4C38;--brown-light:#A07856;
  --terracotta:#C4664A;--terracotta-lt:#E8A48E;
  --gold:#C9973A;--gold-light:#E8C07A;
  --sage:#7A8C72;--sage-light:#B8C5B0;
  --white:#FEFCF8;--text:#2A1E15;--muted:#7A6355;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 3rem;display:flex;justify-content:space-between;align-items:center;background:var(--brown);border-bottom:2px solid var(--gold)}
.logo{display:flex;flex-direction:row;align-items:center;gap:.75rem;line-height:1;text-decoration:none}
.logo-main{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:500;letter-spacing:.06em;color:var(--cream)}
.logo-sub{font-size:.6rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);margin-top:3px}
nav{display:flex;gap:1.75rem;align-items:center}
nav a{font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,245,238,.6);text-decoration:none;transition:color .2s;padding-bottom:2px;border-bottom:1px solid transparent}
nav a:hover,nav a.active{color:var(--gold-light);border-bottom-color:var(--gold)}
nav a.nav-hiring{color:var(--gold-light)!important;border:1px solid rgba(201,151,58,.45);padding:.35rem .85rem;border-bottom:1px solid rgba(201,151,58,.45)}
nav a.nav-hiring:hover{background:rgba(201,151,58,.15)}

/* PAGE WRAPPER */
main{padding-top:5rem}

/* BUTTONS */
.btn-primary{background:var(--terracotta);color:var(--cream);padding:.85rem 2rem;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .15s;display:inline-block}
.btn-primary:hover{background:#B35840;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--brown);padding:.85rem 2rem;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--brown);cursor:pointer;transition:all .2s;display:inline-block}
.btn-ghost:hover{background:var(--brown);color:var(--cream)}
.btn-submit{background:var(--brown);color:var(--cream);padding:.9rem 2rem;font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s;align-self:flex-start}
.btn-submit:hover{background:var(--brown-mid)}

/* EYEBROW */
.eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:'';width:28px;height:1px;background:currentColor}

/* SECTIONS */
section{padding:5rem 3rem}
.section-inner{max-width:1100px;margin:0 auto}
h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.15;color:var(--brown);margin-bottom:1.25rem}

/* PAGE HERO (non-landing) */
.page-hero{background:var(--brown);padding:5rem 3rem 4rem;text-align:center}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--cream);margin-bottom:1rem}
.page-hero p{font-size:1rem;color:rgba(250,245,238,.6);font-weight:300;max-width:560px;margin:0 auto}

/* FOOTER */
footer{background:#1E130D;color:rgba(250,245,238,.38);padding:2.25rem 3rem;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;letter-spacing:.04em;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:rgba(250,245,238,.55);letter-spacing:.08em}
footer a{color:rgba(250,245,238,.38);text-decoration:none}
footer a:hover{color:rgba(250,245,238,.7)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* STATS RIBBON */
.stats-ribbon{background:var(--terracotta);padding:2.25rem 3rem;display:flex;justify-content:center;flex-wrap:wrap}
.stat-item{text-align:center;padding:0 3.5rem;border-right:1px solid rgba(254,252,248,.2)}
.stat-item.last{border-right:none}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.7rem;font-weight:300;color:var(--cream);line-height:1}
.stat-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(254,252,248,.65);margin-top:.45rem}

/* MOBILE HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.25rem;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--cream);transition:all .25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--brown);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:1.2rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,245,238,.75);text-decoration:none;font-family:'Cormorant Garamond',serif}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--gold-light)}
.mobile-nav a.nav-hiring{color:var(--gold-light);border:1px solid rgba(201,151,58,.45);padding:.5rem 1.5rem}
.mobile-nav-close{position:static;background:none;border:none;cursor:pointer;color:var(--cream);font-size:1.5rem;line-height:1}

/* RESPONSIVE */
@media(max-width:900px){
  header{padding:1rem 1.5rem}
  nav{display:none}
  .hamburger{display:flex}
  section{padding:3rem 1.25rem}
  .page-hero{padding:3.5rem 1.25rem 2.5rem}
  footer{flex-direction:column;text-align:center}

  /* Stats ribbon stacks to 2x2 on mobile */
  .stats-ribbon{padding:1.5rem 1rem}
  .stat-item{width:50%;padding:1rem;border-right:none!important;border-bottom:1px solid rgba(254,252,248,.15)}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-right:1px solid rgba(254,252,248,.15)!important}
  .stat-item:nth-child(odd){border-right:1px solid rgba(254,252,248,.15)!important}
  .stat-item:nth-last-child(-n+2){border-bottom:none}
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"]{
    grid-template-columns:1fr!important
  }
  /* Three-column grids collapse */
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"]{
    grid-template-columns:1fr!important
  }
  /* Four-column grids collapse to 2 */
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"]{
    grid-template-columns:1fr 1fr!important
  }
  /* Hero split layout stacks */
  section[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
    min-height:auto!important
  }
  /* Stats bar wraps nicely */
  [style*="border-right:1px solid"]{
    border-right:none!important;
    border-bottom:1px solid rgba(254,252,248,.15)!important;
    padding:1.25rem 1rem!important
  }
  /* Job application form grids */
  form [style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important
  }
}
