/* =====================================================================
   APRIL — Soft Architectural Minimalism
   Charcoal dominant · moss = labels/marks only · brass nearly invisible
   Hierarchy from type, spacing and light/dark bands — not boxes.
   ===================================================================== */
:root{
  --chalk:#F5F2EC;
  --sandstone:#DED4C8;
  --charcoal:#312924;
  --charcoal-dk:#241d19;
  --taupe:#8A7D73;
  --moss:#707A66;
  --brass:#B28E68;

  --line:#d9cdbf;        /* hairline on chalk */
  --line-dk:#473d36;     /* hairline on charcoal */

  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Hanken Grotesk', 'Inter', system-ui, sans-serif;

  --maxw:1140px;
  --measure:680px;
  --gutter:40px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--chalk);color:var(--charcoal);
  font-family:var(--sans);font-size:17px;line-height:1.72;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}

/* ---------- Type hierarchy ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--charcoal);margin:0;}
h1{font-size:clamp(44px,6.2vw,74px);line-height:1.04;letter-spacing:-0.5px;}
h2{font-size:clamp(30px,3.8vw,46px);line-height:1.1;letter-spacing:-0.3px;}
h3{font-size:23px;line-height:1.25;}
h4{font-size:19px;}
p{margin:0 0 18px;}
strong{font-weight:600;}
a{color:var(--charcoal);text-decoration:none;border-bottom:1px solid var(--taupe);transition:border-color .2s,color .2s;}
a:hover{border-color:var(--charcoal);}

.label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:2.6px;text-transform:uppercase;color:var(--moss);margin:0 0 18px;display:block;}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:2.6px;text-transform:uppercase;color:var(--brass);margin:0 0 20px;display:block;}
.lede{font-size:21px;line-height:1.6;color:var(--charcoal);font-weight:400;}
.muted{color:var(--taupe);}
hr.hair,.hair{height:1px;width:100%;background:var(--line);border:0;margin:0;}
.markline{width:48px;height:1px;background:var(--brass);border:0;margin:22px 0 26px;}

/* ---------- Layout primitives ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.prose{max-width:var(--measure);margin:0 auto;padding:0 var(--gutter);}
section{padding:104px 0;}
section.tight{padding:72px 0;}
.band{background:var(--sandstone);}
.evening{background:var(--charcoal);color:#e9e2d8;}
.evening h1,.evening h2,.evening h3,.evening h4{color:var(--chalk);}
.evening .label{color:#a7ad9e;}
.evening .eyebrow{color:#c2a784;}
.evening .lede{color:#e3dcd1;}
.evening .muted{color:#b3a89c;}
.evening a{color:var(--chalk);border-color:#6f655c;}
.evening a:hover{border-color:var(--chalk);}
.evening .markline{background:#6f655c;}
.center{text-align:center;}

/* asymmetric editorial split */
.feature{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;}
.feature.flip{grid-template-columns:7fr 5fr;}
.feature.even{grid-template-columns:1fr 1fr;}
.stack > * + *{margin-top:14px;}

/* ---------- Buttons ---------- */
.btns{display:flex;gap:18px;flex-wrap:wrap;}
.btns.center{justify-content:center;}
.btn{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;padding:16px 32px;border:1px solid var(--charcoal);cursor:pointer;transition:background .2s,color .2s,border-color .2s;border-radius:0;background:transparent;color:var(--charcoal);}
.btn-primary{background:var(--charcoal);color:var(--chalk);border-bottom:1px solid var(--charcoal);}
.btn-primary:hover{background:var(--charcoal-dk);border-color:var(--charcoal-dk);color:var(--chalk);}
.btn-line{background:transparent;color:var(--charcoal);border-bottom:1px solid var(--charcoal);}
.btn-line:hover{background:var(--charcoal);color:var(--chalk);}
.evening .btn,.evening .btn-line{color:var(--chalk);border-color:#6f655c;}
.evening .btn-primary{background:var(--chalk);color:var(--charcoal);border-color:var(--chalk);}
.evening .btn-primary:hover{background:#fff;color:var(--charcoal);}
.evening .btn-line:hover{background:var(--chalk);color:var(--charcoal);border-color:var(--chalk);}

/* ---------- Nav ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(245,242,236,0.97);backdrop-filter:blur(2px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:10px;text-transform:uppercase;color:var(--charcoal);border:0;padding-left:4px;}
.brand:hover{color:var(--charcoal);}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--taupe);border:0;}
.nav-links a:hover,.nav-links a.current{color:var(--charcoal);}
.nav-cta{border:1px solid var(--charcoal) !important;padding:9px 18px;color:var(--charcoal) !important;}
.nav-cta:hover{background:var(--charcoal);color:var(--chalk) !important;}
.nav-check,.nav-toggle{display:none;}
@media(max-width:880px){
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--chalk);border-bottom:1px solid var(--line);padding:8px var(--gutter) 22px;display:none;}
  .nav-links a{padding:13px 0;width:100%;border-bottom:1px solid var(--line);}
  .nav-cta{margin-top:12px;}
  .nav-check:checked ~ .nav-links{display:flex;}
  .nav-toggle{display:block;cursor:pointer;font-size:24px;color:var(--charcoal);}
}

/* ---------- Hero ---------- */
.hero{padding:120px 0 96px;}
.hero h1{max-width:15ch;margin-bottom:28px;}
.hero .lede{max-width:560px;margin-bottom:30px;}
.hero-trust{margin-top:34px;display:flex;flex-wrap:wrap;gap:6px 0;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--taupe);line-height:1.5;}
.hero-trust span{color:var(--brass);margin:0 10px;}

/* ---------- Page head (interior — tighter than home) ---------- */
.page-head{padding:108px 0 16px;}
.page-head h1{font-size:clamp(34px,4.4vw,52px);max-width:20ch;margin-bottom:20px;}
.page-head .lede{max-width:600px;}

/* ---------- Lists ---------- */
.ticks,.nots{list-style:none;padding:0;margin:0;}
.ticks li,.nots li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--line);color:var(--charcoal);}
.ticks li:last-child,.nots li:last-child{border-bottom:0;}
.ticks li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:1px;background:var(--moss);}
.nots li{color:var(--taupe);}
.nots li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:1px;background:var(--brass);}
.evening .ticks li,.evening .nots li{border-color:var(--line-dk);}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);}
.step{padding:28px 24px 28px 0;border-bottom:1px solid var(--line);}
.step .num{font-family:var(--serif);font-size:30px;color:var(--brass);display:block;margin-bottom:10px;line-height:1;}
.step h3{font-size:18px;margin-bottom:8px;}
.step p{font-size:15px;color:var(--taupe);margin:0;}
.steps.rows{grid-template-columns:1fr;}
.steps.rows .step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 0;align-items:baseline;}
.steps.rows .step .num{margin:0;}

/* flat panel — used sparingly */
.panel{background:var(--sandstone);padding:38px 38px;}
.evening .panel{background:#3b322c;}

/* quiet pill */
.pill{display:inline-block;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--moss);border:1px solid var(--line);padding:6px 13px;margin-bottom:20px;}
.evening .pill{border-color:var(--line-dk);color:#a7ad9e;}

/* ---------- Callout / CTA (charcoal) ---------- */
.callout{background:var(--charcoal);color:var(--chalk);text-align:center;}
.callout h2{color:var(--chalk);margin-bottom:16px;}
.callout p{max-width:540px;margin:0 auto 30px;color:#c1b8ac;}

/* ---------- Forms ---------- */
form.april-form{max-width:640px;}
.field{margin-bottom:24px;}
.field label{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--taupe);margin-bottom:8px;}
.field .req{color:var(--brass);}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--charcoal);background:transparent;border:0;border-bottom:1px solid var(--taupe);padding:11px 2px;border-radius:0;transition:border-color .2s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--charcoal);}
.field textarea{min-height:108px;resize:vertical;border:1px solid var(--taupe);padding:12px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.checks{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;}
.checks input{margin-top:5px;width:16px;height:16px;accent-color:var(--charcoal);flex:0 0 auto;}
.checks label{font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--charcoal);margin:0;line-height:1.5;}
.form-note{font-size:14px;color:var(--taupe);margin-top:20px;}
fieldset{border:0;padding:0;margin:0 0 8px;}

/* ---------- FAQ ---------- */
.faq{max-width:var(--measure);margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;padding:24px 40px 24px 0;position:relative;font-family:var(--serif);font-size:23px;color:var(--charcoal);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:2px;top:24px;font-family:var(--sans);font-size:20px;color:var(--taupe);}
.faq details[open] summary::after{content:"\2013";}
.faq details p{padding:0 0 26px;margin:0;color:var(--taupe);}

/* ---------- Footer ---------- */
footer.foot{background:var(--charcoal);color:#c1b8ac;}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:72px var(--gutter) 44px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px;}
.foot-brand .b{font-family:var(--serif);font-size:24px;letter-spacing:9px;text-transform:uppercase;color:var(--chalk);}
.foot-brand p{max-width:300px;margin-top:16px;font-size:14px;color:#9b9085;line-height:1.65;}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap;}
.foot-col h4{font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brass);margin:0 0 16px;font-weight:600;}
.foot-col a{display:block;color:#c1b8ac;font-size:14px;margin-bottom:11px;border:0;}
.foot-col a:hover{color:var(--chalk);}
.foot-base{border-top:1px solid var(--line-dk);text-align:center;font-size:12px;letter-spacing:.5px;color:#857b71;padding:22px;}
.foot-base span{color:var(--brass);margin:0 7px;}

/* ---------- Responsive ---------- */
@media(max-width:880px){
  .feature,.feature.flip,.feature.even{grid-template-columns:1fr;gap:32px;}
  .steps{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  section{padding:72px 0;}
  .steps{grid-template-columns:1fr;}
  .steps.rows .step{grid-template-columns:48px 1fr;gap:16px;}
  .field-row{grid-template-columns:1fr;}
  :root{--gutter:24px;}
  .hero-trust{font-size:11px;letter-spacing:1px;}
  .hero-trust span{margin:0 7px;}
}

/* =====================================================================
   HUMAN PASS — imagery, full-bleed hero, motion, editorial detail
   ===================================================================== */

/* full-bleed hero (image-ready; flat placeholder until a photo is set) */
.hero-full{position:relative;min-height:86vh;display:flex;align-items:flex-end;
  background:#2a221d center/cover no-repeat;color:var(--chalk);overflow:hidden;}
.hero-full::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(25,19,15,.20) 0%,rgba(25,19,15,.40) 45%,rgba(25,19,15,.82) 100%);}
.hero-full .hero-cap{position:absolute;right:var(--gutter);top:22px;z-index:2;
  font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:rgba(245,242,236,.5);}
.hero-full .hero-content{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin:0 auto;padding:0 var(--gutter) clamp(56px,9vh,120px);}
.hero-full h1{color:var(--chalk);max-width:16ch;margin-bottom:24px;}
.hero-full .lede{color:#efe9df;max-width:600px;margin-bottom:30px;}
.hero-full .muted{color:#d6cdc0;}
.hero-full .eyebrow{color:#d2b88f;}
.hero-full .hero-trust{color:rgba(245,242,236,.72);margin-top:30px;}
.hero-full .hero-trust span{color:#d2b88f;}

/* image placeholders — elegant, labelled, swap-ready (set background-image later) */
.ph{position:relative;background:var(--sandstone);border:1px solid var(--line);
  overflow:hidden;background-size:cover;background-position:center;}
.ph::before{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;
  transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--taupe);opacity:.45;}
.ph::after{content:attr(data-cap);position:absolute;left:18px;right:18px;bottom:14px;
  font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--taupe);}
.ph.wide{aspect-ratio:16/9;}
.ph.tall{aspect-ratio:4/5;}
.ph.square{aspect-ratio:1/1;}
.ph.band{aspect-ratio:21/9;width:100%;}
.evening .ph,.ph.dark{background:#3b322c;border-color:var(--line-dk);}
.evening .ph::after,.ph.dark::after{color:#b3a89c;}
.evening .ph::before,.ph.dark::before{border-color:#6f655c;}

/* full-bleed band image */
.imgband{padding:0;}
.imgband .ph.band{aspect-ratio:auto;height:clamp(280px,46vh,520px);border-left:0;border-right:0;}

figure.fig{margin:0;}
figure.fig figcaption{margin-top:12px;font-size:12px;letter-spacing:.3px;color:var(--taupe);}

/* brand lockup supporting line */
.club-line{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:2.6px;text-transform:uppercase;color:var(--brass);margin-top:9px;}

/* pull-quote — a human editorial touch */
.pull{max-width:760px;margin:0 auto;text-align:center;}
.pull blockquote{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);
  line-height:1.22;color:var(--charcoal);margin:0;letter-spacing:-0.3px;}
.evening .pull blockquote{color:var(--chalk);}
.pull cite{display:block;margin-top:20px;font-family:var(--sans);font-style:normal;
  font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--taupe);}

/* motion — progressive enhancement, reduced-motion safe */
@media (prefers-reduced-motion: no-preference){
  .anim{opacity:0;transform:translateY(18px);
    transition:opacity .8s ease,transform .8s cubic-bezier(.2,.6,.2,1);}
  .anim.in{opacity:1;transform:none;}
}

@media(max-width:880px){ .hero-full{min-height:74vh;} }
@media(max-width:600px){ .hero-full{min-height:68vh;} }

/* ---- real photography (Unsplash). Swap freely; if a URL fails it
   degrades to the charcoal fill, never a broken image. A shared tone
   treatment unifies the set into one art-directed look. ---- */
.ph.shot{background-color:#2a221d;background-size:cover;background-position:center;
  filter:saturate(.80) brightness(.97) contrast(1.02);}
.ph.shot::before,.ph.shot::after{display:none;}
.hero-shot{background-image:url('https://images.unsplash.com/photo-1653259038915-7cf0b7a4dd6c?auto=format&fit=crop&w=2000&q=72');}
.img-restaurant{background-image:url('https://images.unsplash.com/photo-1653259038915-7cf0b7a4dd6c?auto=format&fit=crop&w=1600&q=70');}
.img-table{background-image:url('https://images.unsplash.com/photo-1531973968078-9bb02785f13d?auto=format&fit=crop&w=1600&q=70');}
.img-candlelight{background-image:url('https://images.unsplash.com/photo-1698265473208-ef2e5934e93c?auto=format&fit=crop&w=1600&q=70');}
.img-dining{background-image:url('https://images.unsplash.com/photo-1602081115720-72e5b0a254b8?auto=format&fit=crop&w=1600&q=70');}
.img-theatre{background-image:url('https://images.unsplash.com/photo-1539964604210-db87088e0c2c?auto=format&fit=crop&w=1600&q=70');}
.img-theatre2{background-image:url('https://images.unsplash.com/photo-1515100235140-6cb3498e8031?auto=format&fit=crop&w=1600&q=70');}
.img-city{background-image:url('https://images.unsplash.com/photo-1585978075589-fc6561e20296?auto=format&fit=crop&w=1600&q=70');}
.img-evening{background-image:url('https://images.unsplash.com/photo-1610818647551-866cce9f06d5?auto=format&fit=crop&w=1600&q=70');}
