:root{
  --ink:#0b0b0c;
  --panel:#141416;
  --panel-line:#26262a;
  --cream:#f7f4ee;
  --gold-1:#f5b342;
  --gold-2:#e08a1e;
  --text-dim:#b9b6ae;
  --error:#e0523c;
  --radius:14px;
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sans: 'Manrope', -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--ink);
  color:var(--cream);
  line-height:1.55;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}

.gold-text{color:var(--gold-1);}

.eyebrow{
  font-size:13px;
  color:var(--gold-1);
  font-weight:600;
  margin:0 0 10px;
}

/* ---------- NAV ---------- */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:22px;padding-bottom:22px;
}
.nav .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.5px;}
.nav .brand-sub{opacity:.5;font-weight:500;}
.logo{flex-shrink:0;object-fit:contain;}
.nav a.cta{
  background:linear-gradient(120deg,var(--gold-1),var(--gold-2));
  color:#1a1206;
  padding:10px 20px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  font-size:14px;
  transition:filter .2s ease-out;
}
.nav a.cta:hover{filter:brightness(1.08);}

/* ---------- UNLEASH WORDMARK ---------- */
.wordmark{
  display:inline-flex;align-items:baseline;
  font-family:'Montserrat',var(--sans);font-weight:900;
  letter-spacing:-.035em;line-height:1;white-space:nowrap;text-transform:uppercase;
}
.wordmark .wm-a{height:.7em;width:auto;flex-shrink:0;margin:0 .01em 0 -.005em;overflow:visible;}
.wm-inline{font-size:.92em;color:var(--cream);}
.thankyou-card .thankyou-mark{margin:22px 0 6px;font-size:1.9rem;color:#fff;}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  display:flex;align-items:center;
  min-height:min(88vh,820px);
  padding:96px 0 80px;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(11,11,12,.96) 0%, rgba(11,11,12,.9) 40%, rgba(11,11,12,.35) 60%, rgba(11,11,12,0) 78%),
    linear-gradient(180deg, var(--ink) 0%, rgba(11,11,12,0) 14%, rgba(11,11,12,0) 72%, var(--ink) 100%),
    url(../img/hero-bg.jpg) 0% 70% / cover no-repeat;
}
.hero-inner{position:relative;z-index:1;width:100%;}
.hero-kicker{
  margin:0 0 16px;max-width:22em;
  font-weight:700;font-size:clamp(15px,1.5vw,19px);line-height:1.35;color:var(--cream);
}
.hero-title{margin:0;font-size:clamp(3.4rem,10vw,8.4rem);line-height:.92;color:#fff;}
.hero .tagline{
  color:var(--gold-1);
  font-size:14px;font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  margin:18px 0 22px;
}
.hero .lede{
  max-width:31em;margin:0 0 34px;
  font-size:17px;color:var(--text-dim);text-wrap:pretty;
}
.hero .lede strong{color:var(--cream);font-weight:600;}
.hero-meta{
  display:inline-flex;flex-wrap:wrap;
  margin:0;padding:16px 6px;
  background:rgba(11,11,12,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid var(--panel-line);border-radius:var(--radius);
}
.hero-meta .item{display:flex;align-items:center;gap:12px;padding:0 24px;text-align:left;}
.hero-meta .item + .item{border-left:1px solid var(--panel-line);}
.hero-meta svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--gold-1);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.hero-meta dt{color:var(--text-dim);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.hero-meta dd{margin:0;font-weight:600;font-size:15px;}
.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
/* Wide screens: enlarge the photo so the man stays clear of the wordmark */
@media(min-width:1500px){.hero-bg{background-size:auto,auto,128% auto;}}
.btn{
  display:inline-block;
  padding:15px 34px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  transition:filter .2s ease-out, border-color .2s ease-out, background-color .2s ease-out;
}
.btn:focus-visible,.nav a.cta:focus-visible{outline:2px solid var(--gold-1);outline-offset:3px;}
.btn-primary{
  background:linear-gradient(120deg,var(--gold-1),var(--gold-2));
  color:#1a1206;
}
.btn-primary:hover{filter:brightness(1.08);}
.btn-ghost{
  background:transparent;
  color:var(--cream);
  border:1px solid var(--panel-line);
}
.btn-ghost:hover{border-color:var(--gold-1);background:rgba(245,179,66,.06);}

/* ---------- SECTIONS ---------- */
section{padding:64px 0;}
.section-head{max-width:600px;margin:0 auto 40px;text-align:center;}
.section-head h2{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 12px;}
.section-head p{color:var(--text-dim);margin:0;text-wrap:balance;}

/* The four-part arc: a connected sequence rather than a row of cards */
.arc{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
}
.arc li{position:relative;padding-top:28px;border-top:1px solid var(--panel-line);}
.arc li::before{
  content:"";position:absolute;top:-5px;left:0;
  width:9px;height:9px;border-radius:50%;background:var(--gold-1);
}
.arc-word{display:block;font-family:var(--serif);font-weight:700;color:var(--gold-1);font-size:1.6rem;line-height:1.1;margin-bottom:12px;}
.arc h3{margin:0 0 8px;font-size:16px;}
.arc p{margin:0;color:var(--text-dim);font-size:14.5px;}

.includes{
  list-style:none;margin:0 auto;padding:0;max-width:760px;
  display:grid;grid-template-columns:1fr 1fr;column-gap:40px;
}
.includes li{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 0;border-bottom:1px solid var(--panel-line);font-size:15px;
}
.includes svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;fill:none;stroke:var(--gold-1);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

.pricing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:640px;margin:0 auto;}
.price-card{
  border-radius:var(--radius);padding:26px;text-align:center;border:1px solid var(--panel-line);
}
.price-card.active{background:linear-gradient(150deg,var(--gold-1),var(--gold-2));color:#1a1206;}
.price-card.inactive{background:var(--panel);color:var(--cream);}
.price-card .label{font-size:13px;letter-spacing:1px;text-transform:uppercase;font-weight:700;opacity:.8;}
.price-card .amount{font-family:var(--serif);font-size:2.4rem;font-weight:800;margin:6px 0;}
.price-card .note{font-size:12.5px;opacity:.75;}

.cta-band{
  text-align:center;background:var(--panel);border:1px solid var(--panel-line);
  border-radius:20px;padding:52px 24px;
}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 14px;}
.cta-band p{color:var(--text-dim);margin:0 0 26px;}

footer{
  border-top:1px solid var(--panel-line);
  padding:28px 0;text-align:center;color:var(--text-dim);font-size:13px;
}

/* ---------- FORM PAGE ---------- */
.form-page{background:var(--ink);min-height:100vh;padding-bottom:80px;color-scheme:dark;}
.form-hero{padding:44px 0 0;text-align:center;}
.form-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,6vw,3.2rem);margin:8px 0 6px;}
.form-hero p{color:var(--text-dim);margin:0 0 8px;}
.slots-note{color:var(--gold-1);font-size:13px;font-weight:700;}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.form-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;
  align-items:start;margin-top:36px;
}
.form-main{grid-column:1;grid-row:1;min-width:0;}
.form-summary{grid-column:2;grid-row:1;position:sticky;top:24px;}

.card{
  background:var(--panel);border:1px solid var(--panel-line);
  border-radius:var(--radius);padding:28px;
}
.card + .card{margin-top:20px;}

/* Step headers */
.step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--panel-line);}
.step-num{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(150deg,var(--gold-1),var(--gold-2));color:#1a1206;
  font-family:'Montserrat',var(--sans);font-weight:900;font-size:14px;
}
.step-head h2{margin:2px 0 3px;font-size:17px;font-weight:700;color:var(--cream);letter-spacing:0;text-transform:none;}
.step-head p{margin:0;font-size:13.5px;color:var(--text-dim);}
.step-head p strong{color:var(--gold-1);}

/* Fields */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field-row.thirds{grid-template-columns:1fr 1fr 1fr;}
.field{margin:0 0 18px;min-width:0;}
fieldset.field{border:0;padding:0;}
.field > label:not(.upload-box),.field > legend{display:block;font-size:13.5px;font-weight:600;margin-bottom:8px;color:var(--cream);padding:0;}
.req{color:var(--gold-1);}
.opt{font-weight:500;font-size:12px;color:#8a877f;margin-left:4px;}
.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field input[type=date],
.field input[type=number],
.field textarea,
.field select,
.other-field input{
  display:block;width:100%;min-width:0;padding:12px 14px;border-radius:10px;
  border:1px solid var(--panel-line);background:#0e0e10;color:var(--cream);
  font-family:var(--sans);font-size:15px;line-height:1.4;
  transition:border-color .15s ease-out, box-shadow .15s ease-out;
}
.field input[type=date]{min-height:46px;-webkit-appearance:none;appearance:none;}
.field textarea{resize:vertical;min-height:92px;}
.field input::placeholder,.field textarea::placeholder,.other-field input::placeholder{color:#6f6c66;}
.field input:hover,.field textarea:hover{border-color:#3a3a40;}
.field input:focus,.field textarea:focus,.other-field input:focus{
  outline:none;border-color:var(--gold-1);box-shadow:0 0 0 3px rgba(245,179,66,.16);
}
.field small.hint{display:block;color:#8a877f;font-size:12px;margin-top:6px;}
.was-validated .field input:invalid,.was-validated .field textarea:invalid{border-color:var(--error);}

/* Choice chips (gender, experience, motivations) */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{position:relative;display:inline-flex;cursor:pointer;}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.chip span{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;border-radius:999px;
  border:1px solid var(--panel-line);background:#0e0e10;
  font-size:14px;color:var(--text-dim);line-height:1.2;
  transition:border-color .15s ease-out, background-color .15s ease-out, color .15s ease-out;
}
.chip:hover span{border-color:#44444a;color:var(--cream);}
.chip input:checked + span{border-color:var(--gold-1);background:rgba(245,179,66,.12);color:var(--cream);}
.chip input:focus-visible + span{outline:2px solid var(--gold-1);outline-offset:2px;}
.chip-check input:checked + span::before{
  content:"";width:12px;height:12px;flex-shrink:0;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5b342' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.was-validated .chips input:invalid + span{border-color:var(--error);}
.other-field{margin-top:10px;max-width:420px;}
.other-field[hidden]{display:none;}

/* Payment */
.pay-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.payment-option{
  display:block;cursor:pointer;
  border:1px solid var(--panel-line);border-radius:12px;padding:16px;background:#0e0e10;
  transition:border-color .15s ease-out, background-color .15s ease-out;
}
.payment-option:hover{border-color:#44444a;}
.payment-option.selected{border-color:var(--gold-1);background:rgba(245,179,66,.06);}
.payment-option .opt-head{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;}
.opt-sub{margin-left:auto;font-weight:600;font-size:12px;color:var(--text-dim);}
.payment-option input[type=radio]{
  -webkit-appearance:none;appearance:none;margin:0;flex-shrink:0;
  width:18px;height:18px;border-radius:50%;border:1.5px solid #55555c;background:#0e0e10;cursor:pointer;
}
.payment-option input[type=radio]:checked{border-color:var(--gold-1);box-shadow:inset 0 0 0 4px #0e0e10;background:var(--gold-1);}
.payment-option input[type=radio]:focus-visible{outline:2px solid var(--gold-1);outline-offset:2px;}
.payment-details{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--panel-line);font-size:13.5px;}
.payment-details div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;}
.payment-details dt{color:var(--text-dim);}
.payment-details dd{margin:0;text-align:right;font-weight:700;color:var(--cream);display:flex;align-items:center;gap:8px;overflow-wrap:anywhere;}
.payment-option:not(.selected) .payment-details{opacity:.55;}
.copy-btn{
  border:1px solid var(--panel-line);background:transparent;color:var(--gold-1);
  font:600 11.5px var(--sans);padding:3px 9px;border-radius:999px;cursor:pointer;
}
.copy-btn:hover{border-color:var(--gold-1);}

/* Upload */
.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
.upload-box{
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
  border:1.5px dashed #3a3a40;border-radius:12px;padding:26px 20px;
  background:#0e0e10;cursor:pointer;margin:0;
  transition:border-color .15s ease-out, background-color .15s ease-out;
}
.upload-box:hover,.upload-box.is-drag{border-color:var(--gold-1);background:rgba(245,179,66,.05);}
.file-input:focus-visible + .upload-box,.upload-box:focus-within{outline:2px solid var(--gold-1);outline-offset:2px;}
.upload-icon{width:28px;height:28px;fill:none;stroke:var(--gold-1);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px;}
.upload-title{font-weight:700;font-size:14.5px;color:var(--cream);overflow-wrap:anywhere;}
.upload-sub{font-size:12.5px;color:var(--text-dim);}
.upload-box.has-file{border-style:solid;border-color:var(--gold-1);background:rgba(245,179,66,.06);}
.upload-box.has-file .upload-title{color:var(--gold-1);}
.upload-box.is-error{border-color:var(--error);}
.upload-box.is-error .upload-title{color:#ffb3a4;}
.was-validated .file-input:invalid + .upload-box{border-color:var(--error);}

/* Consent */
.consent-list{display:flex;flex-direction:column;gap:14px;margin-bottom:22px;}
.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;color:var(--text-dim);line-height:1.5;}
.check input{
  -webkit-appearance:none;appearance:none;margin:1px 0 0;flex-shrink:0;
  width:20px;height:20px;border-radius:6px;border:1.5px solid #55555c;background:#0e0e10;cursor:pointer;
  transition:background-color .15s ease-out, border-color .15s ease-out;
}
.check input:checked{
  border-color:var(--gold-1);
  background:var(--gold-1) no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1206' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.check input:focus-visible{outline:2px solid var(--gold-1);outline-offset:2px;}
.check input:checked + span{color:var(--cream);}
.was-validated .check input:invalid{border-color:var(--error);}

.submit-btn{width:100%;font-size:16px;padding:16px;}
.submit-btn:disabled{opacity:.6;cursor:progress;}
.form-footnote{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-dim);font-size:12.5px;margin:14px 0 0;}
.form-footnote svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}

/* Summary */
.summary-card{padding:22px;}
.summary-top{
  display:flex;justify-content:space-between;align-items:flex-end;gap:12px;
  padding:18px;border-radius:12px;
  background:linear-gradient(150deg,var(--gold-1),var(--gold-2));color:#1a1206;
}
.summary-label{font-size:11.5px;text-transform:uppercase;letter-spacing:1px;font-weight:800;opacity:.85;}
.summary-amount{font-family:'Montserrat',var(--sans);font-weight:900;font-size:2rem;line-height:1.1;letter-spacing:-.02em;}
.summary-event{text-align:right;font-size:12px;font-weight:600;line-height:1.3;}
.summary-event .wordmark{display:flex;justify-content:flex-end;font-size:1.05rem;color:#1a1206;margin-bottom:3px;}
.summary-event .wordmark .wm-a path{fill:#fff;}
.summary-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;font-size:13.5px;color:var(--text-dim);}
.summary-list li{display:flex;align-items:center;gap:10px;}
.summary-list svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--gold-1);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}

.error-banner{
  background:rgba(224,82,60,.12);border:1px solid var(--error);color:#ffb3a4;
  padding:14px 18px;border-radius:10px;margin:28px 0 0;font-size:14px;
}
.error-banner ul{margin:8px 0 0;padding-left:20px;}
.login-card .error-banner{margin:0 0 16px;}

@media(max-width:960px){
  .form-layout{grid-template-columns:1fr;gap:20px;margin-top:28px;}
  .form-summary{grid-column:1;grid-row:1;position:static;}
  .form-main{grid-row:2;}
  .summary-list{grid-template-columns:1fr 1fr;gap:8px 16px;}
}
@media(max-width:700px){
  .field-row,.field-row.thirds{grid-template-columns:1fr;gap:0;}
  .field-row.dob-row{grid-template-columns:1.4fr 1fr;gap:12px;}
  .pay-options{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .form-hero{padding-top:24px;}
  .card{padding:20px 16px;}
  .summary-card{padding:16px;}
  .summary-top{padding:14px 16px;}
  .summary-amount{font-size:1.7rem;}
  .summary-list{font-size:12.5px;}
  .step-head{margin-bottom:20px;padding-bottom:14px;}
  .field input[type=text],
  .field input[type=email],
  .field input[type=tel],
  .field input[type=date],
  .field input[type=number],
  .field textarea,
  .other-field input{font-size:16px;} /* 16px+ stops iOS zooming in on focus */
  .chip span{padding:9px 13px;font-size:13.5px;}
  .other-field{max-width:none;}
}

/* ---------- THANK YOU PAGE ---------- */
.thankyou-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--ink);padding:24px;
}
.thankyou-card{
  max-width:480px;text-align:center;background:var(--panel);border:1px solid var(--panel-line);
  border-radius:20px;padding:48px 36px;
}
.check-circle{
  width:64px;height:64px;border-radius:50%;margin:0 auto 20px;
  border:2px solid var(--gold-1);display:flex;align-items:center;justify-content:center;color:var(--gold-1);font-size:28px;
}
.thankyou-card h1{font-family:var(--serif);color:var(--gold-1);font-size:1.8rem;margin:0 0 14px;}
.control-num{
  display:inline-block;background:#0e0e10;border:1px solid var(--panel-line);
  padding:10px 18px;border-radius:10px;font-weight:700;letter-spacing:1px;margin:14px 0;color:var(--gold-1);
}
.thankyou-card p{color:var(--text-dim);}

/* ---------- ADMIN ---------- */
.admin-shell{background:#f5f4f1;min-height:100vh;color:#1a1a1a;font-family:var(--sans);}
.admin-nav{
  background:var(--ink);color:#fff;padding:16px 0;
}
.admin-nav .container{display:flex;justify-content:space-between;align-items:center;}
.admin-nav a.logout{color:var(--gold-1);text-decoration:none;font-size:14px;font-weight:600;}
.admin-wrap{max-width:1280px;margin:0 auto;padding:28px 24px;}
.admin-stats{display:flex;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.stat-card{background:#fff;border:1px solid #e5e3dd;border-radius:12px;padding:18px 22px;min-width:150px;}
.stat-card .val{font-size:1.8rem;font-weight:800;}
.stat-card .lbl{font-size:12.5px;color:#7a776f;text-transform:uppercase;letter-spacing:.5px;}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.admin-toolbar input[type=search]{padding:10px 14px;border:1px solid #ddd;border-radius:8px;min-width:240px;}
.btn-export{
  background:var(--ink);color:#fff;padding:10px 20px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;
}
.table-wrap{background:#fff;border:1px solid #e5e3dd;border-radius:12px;overflow:auto;}
table{width:100%;border-collapse:collapse;font-size:13.5px;white-space:nowrap;}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid #eee;}
th{background:#faf9f7;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#7a776f;position:sticky;top:0;}
tr:hover td{background:#fbfaf7;}
a.file-link{color:#b06a10;font-weight:600;text-decoration:none;}
a.plain-link{color:inherit;text-decoration:none;}
td .muted{color:#9b978f;font-size:12px;}
a.plain-link:hover{color:#b06a10;}
.stat-card .of{font-size:1rem;font-weight:600;color:#9b978f;margin-left:2px;}
.stat-attn{border-color:#f0d49a;background:#fffaf0;}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:14px;font-weight:600;border:1px solid;}
.flash-success{background:#eef8f0;border-color:#b9dfc2;color:#1f6b35;}
.flash-info{background:#f3f2ef;border-color:#dedad2;color:#4a4740;}
.flash-warning{background:#fff7e6;border-color:#f0d49a;color:#8a5a0a;}
.flash-error{background:#fdeeee;border-color:#f2c2bb;color:#9b2c1c;}
.status-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.status-tabs a{padding:8px 14px;border-radius:999px;border:1px solid #e0ddd6;background:#fff;color:#4a4740;text-decoration:none;font-size:13.5px;font-weight:600;}
.status-tabs a span{color:#9b978f;font-weight:600;margin-left:4px;}
.status-tabs a.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.status-tabs a.active span{color:var(--gold-1);}
.toolbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.badge-pending{background:#fdf0d5;color:#8a5a0a;}
.badge-verified{background:#e3f4e8;color:#1f6b35;}
.badge-rejected{background:#f3f2ef;color:#8a877f;}
.row-rejected td{color:#9b978f;}
.row-rejected td strong{color:#9b978f;}
.row-actions{display:flex;gap:6px;}
.row-actions form{margin:0;}
.act{border:1px solid;border-radius:8px;padding:6px 12px;font:700 12.5px var(--sans);cursor:pointer;background:#fff;}
.act-verify{background:#1f6b35;border-color:#1f6b35;color:#fff;}
.act-verify:hover{filter:brightness(1.1);}
.act-reject{border-color:#e6b8b0;color:#9b2c1c;}
.act-reject:hover{background:#fdeeee;}
.act-undo{border-color:#dedad2;color:#4a4740;}
.act-undo:hover{background:#f3f2ef;}
.act-delete{border-color:#e6b8b0;color:#9b2c1c;}
.act-delete:hover{background:#9b2c1c;border-color:#9b2c1c;color:#fff;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);}
.login-card{background:var(--panel);border:1px solid var(--panel-line);padding:40px;border-radius:16px;width:100%;max-width:360px;}
.login-card h1{font-family:var(--serif);color:var(--gold-1);text-align:center;margin:0 0 22px;}
.login-card input{width:100%;padding:12px 14px;border-radius:9px;border:1px solid var(--panel-line);background:#0e0e10;color:#fff;margin-bottom:14px;}
.login-card button{width:100%;padding:13px;}

/* ---------- RESPONSIVE ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
.control-num{overflow-wrap:anywhere;}

@media(max-width:860px){
  .hero{display:block;min-height:0;padding:0 0 48px;text-align:center;}
  .hero-bg{
    inset:0 0 auto 0;height:min(112vw,640px);
    background:
      linear-gradient(180deg, var(--ink) 0%, rgba(11,11,12,0) 12%, rgba(11,11,12,0) 45%, rgba(11,11,12,.85) 80%, var(--ink) 100%),
      url(../img/hero-bg-mobile.jpg) center 30% / cover no-repeat;
  }
  .hero-inner{padding-top:calc(min(112vw,640px) - 190px);}
  .hero-kicker{margin-left:auto;margin-right:auto;}
  .hero .lede{margin-left:auto;margin-right:auto;}
  .hero-actions{justify-content:center;}
  .arc{grid-template-columns:1fr 1fr;row-gap:40px;}
  .pricing-wrap{grid-template-columns:1fr;}
}

@media(max-width:600px){
  .container{padding:0 16px;}

  /* Nav: drop the long subtitle so brand + CTA fit on one line */
  .nav{padding-top:16px;padding-bottom:16px;gap:12px;}
  .nav .brand{font-size:14px;}
  .nav .brand-sub{display:none;}
  .nav a.cta{padding:9px 16px;font-size:13px;white-space:nowrap;}

  /* Hero */
  .hero{padding-bottom:24px;}
  .hero-inner{padding-top:calc(112vw - 150px);}
  .hero-kicker{font-size:15px;max-width:19em;margin-bottom:10px;}
  .hero .tagline{font-size:11.5px;letter-spacing:1.5px;margin:14px 0 18px;}
  .hero .lede{font-size:16px;margin-bottom:24px;}
  .hero-meta{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px;max-width:320px;margin:0 auto;}
  .hero-meta .item{padding:0;}
  .hero-meta .item + .item{border-left:none;}
  .hero-actions{flex-direction:column;align-items:stretch;gap:10px;}
  .hero-actions .btn{text-align:center;}

  /* Sections */
  section{padding:40px 0;}
  .section-head{margin-bottom:24px;}
  .arc{grid-template-columns:1fr;row-gap:32px;}
  .includes{grid-template-columns:1fr;}
  .includes li{padding:14px 0;}
  .cta-band{padding:36px 20px;border-radius:16px;}
  .cta-band .btn{display:block;}


  /* Thank-you / full pages */
  .thankyou-wrap{padding:16px;}
  .thankyou-card{padding:36px 20px;}

  /* Admin */
  .admin-nav{font-size:14px;}
  .admin-wrap{padding:20px 16px;}
  .admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
  .toolbar-right{flex-direction:column;align-items:stretch;}
  .status-tabs a{padding:7px 11px;font-size:13px;}
  .stat-card{min-width:0;padding:12px;}
  .stat-card .val{font-size:1.4rem;}
  .stat-card .lbl{font-size:10.5px;}
  .admin-toolbar{flex-direction:column;align-items:stretch;}
  .admin-toolbar input[type=search]{min-width:0;width:100%;font-size:16px;}
  .btn-export{text-align:center;}

  /* Admin table becomes a stack of cards */
  .table-wrap{background:none;border:none;overflow:visible;}
  #regTable,#regTable tbody,#regTable tr,#regTable td{display:block;width:100%;}
  #regTable thead{display:none;}
  #regTable tr{background:#fff;border:1px solid #e5e3dd;border-radius:12px;padding:6px 14px;margin-bottom:10px;}
  #regTable tr:hover td{background:none;}
  #regTable td{display:flex;justify-content:space-between;gap:14px;padding:8px 0;white-space:normal;text-align:right;overflow-wrap:anywhere;}
  #regTable td:last-child{border-bottom:none;}
  #regTable td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#7a776f;text-align:left;flex-shrink:0;}
  #regTable td[colspan]{justify-content:center;}
  #regTable td[colspan]::before{content:none;}

  .login-wrap{padding:16px;}
  .login-card{padding:28px 20px;}
  .login-card input{font-size:16px;}
}
