/* ============================================================
   DETAIL Miami · Free Trial funnel styles
   Builds on site.css tokens. Black / Gold / White, Anton + Inter Tight.
   Three steps: form -> calendar -> confirmation. Sharp edges, no radius.
   ============================================================ */

/* ---------- MINIMAL FUNNEL HEADER ---------- */
.ft-head{position:sticky;top:0;z-index:60;background:rgba(8,8,8,0.86);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--gold-line);}
.ft-head__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px;}
.ft-head__logo{display:flex;align-items:center;gap:12px;flex:none;}
.ft-head__wordmark{font-family:var(--font-display);font-size:20px;letter-spacing:0.02em;text-transform:uppercase;color:var(--white);line-height:1;}
.ft-head__wordmark b{color:var(--gold);font-weight:400;}
.ft-head__right{display:flex;align-items:center;gap:22px;}
.ft-head__contact{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0.04em;color:var(--white-70);transition:color .2s;}
.ft-head__contact:hover{color:var(--gold);}
.ft-head__phone{display:inline-flex;align-items:center;gap:8px;}

/* ---------- HERO (copy + booking card) ---------- */
.ft-hero{position:relative;overflow:hidden;background:var(--black-deep);}
.ft-hero__media{position:absolute;inset:0;background-image:url('https://assets.cdn.filesafe.space/RBnlVgmXNMbFpgFGPGcv/media/69c0b9705596d1572a09ebc7.jpg');background-size:cover;background-position:center 30%;}
.ft-hero__grain{position:absolute;inset:0;opacity:0.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.ft-hero__overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.55) 42%,rgba(0,0,0,0.75) 100%);}
/* Centered single-column hero (Zoran, 2026-08-23): headline above, card below,
   everything on the page axis. The old two-column split lives in git history. */
.ft-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:clamp(32px,4vw,56px);padding:clamp(48px,7vh,84px) 0 clamp(64px,9vh,110px);}

.ft-hero__copy{display:flex;flex-direction:column;align-items:center;}
.ft-hero__eyebrow{margin-bottom:24px;letter-spacing:0.28em;}
.ft-hero__title{font-family:var(--font-display);font-size:clamp(52px,6.6vw,108px);line-height:0.9;letter-spacing:-0.012em;text-transform:uppercase;}
.ft-hero__title em{color:var(--gold);}
.ft-hero__sub{margin-top:26px;max-width:46ch;margin-left:auto;margin-right:auto;font-size:clamp(17px,1.4vw,21px);line-height:1.5;color:var(--white-80);}

/* ---------- BOOKING CARD ---------- */
.ft-hero__card-col{width:100%;max-width:600px;}
.ft-card{background:var(--surface);border:1px solid var(--gold-line);box-shadow:var(--shadow-card);display:flex;flex-direction:column;text-align:left;}
.ft-card__head{padding:22px clamp(24px,2vw,32px) 0;}
.ft-card__body{padding:22px clamp(24px,2vw,32px) clamp(26px,2.4vw,34px);}

/* progress */
.ft-prog{display:flex;align-items:center;gap:10px;}
.ft-prog__step{display:flex;align-items:center;gap:9px;flex:none;}
.ft-prog__dot{width:26px;height:26px;border:1.5px solid var(--gold-line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;color:var(--white-70);transition:all .25s var(--ease);}
.ft-prog__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--white-70);transition:color .25s;}
.ft-prog__step.is-active .ft-prog__dot{border-color:var(--gold);background:var(--gold);color:var(--black);}
.ft-prog__step.is-active .ft-prog__label{color:var(--gold);}
.ft-prog__step.is-done .ft-prog__dot{border-color:var(--gold);color:var(--gold);}
.ft-prog__step.is-done .ft-prog__label{color:#fff;}
.ft-prog__line{flex:1;height:1.5px;background:var(--gold-line);min-width:14px;}
.ft-prog__line.is-done{background:var(--gold);}
@media(max-width:520px){.ft-prog__label{display:none;}.ft-prog__line{min-width:8px;}}

.ft-card__title{font-family:var(--font-display);font-size:clamp(26px,2.4vw,34px);line-height:0.98;text-transform:uppercase;color:#fff;margin:18px 0 4px;letter-spacing:-0.005em;}
.ft-card__title em{color:var(--gold);}
.ft-card__note{font-size:13.5px;line-height:1.5;color:var(--white-70);}

/* ---------- FORM FIELDS ---------- */
.ft-form{display:flex;flex-direction:column;}
.ft-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ft-field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;transition:transform .6s var(--ease),box-shadow .6s var(--ease);}
.ft-field__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);}
.ft-field input{appearance:none;-webkit-appearance:none;font-family:var(--font-body);font-size:16px;color:#fff;background:var(--black);border:1px solid var(--gold-line);padding:13px 14px;transition:border-color .25s,background .25s;width:100%;}
.ft-field input::placeholder{color:rgba(255,255,255,0.32);}
.ft-field input:focus{outline:none;border-color:var(--gold);background:#161616;}
.ft-field input.is-error{border-color:#c97a6d;}

/* select (grade level) */
.ft-select{appearance:none;-webkit-appearance:none;font-family:var(--font-body);font-size:16px;color:#fff;background:var(--black);border:1px solid var(--gold-line);padding:13px 40px 13px 14px;transition:border-color .25s,background .25s;width:100%;cursor:pointer;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 1l5 5 5-5' stroke='%23E2DD9F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.ft-select:focus{outline:none;border-color:var(--gold);background-color:#161616;}
.ft-select.is-error{border-color:#c97a6d;}
.ft-select option,.ft-select optgroup{background:#111;color:#fff;}

/* consent checkbox */
.ft-field--consent{margin-bottom:18px;}
.ft-consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;line-height:1.5;color:var(--white-70);}
.ft-consent input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--gold-line);background:var(--black);flex:none;margin-top:2px;cursor:pointer;transition:all .18s;position:relative;}
.ft-consent input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold);}
.ft-consent input[type="checkbox"]:checked::after{content:'';position:absolute;left:4px;top:1px;width:6px;height:10px;border-right:2px solid var(--black);border-bottom:2px solid var(--black);transform:rotate(45deg);}
.ft-consent input[type="checkbox"]:focus{outline:2px solid var(--gold);outline-offset:2px;}

.ft-submit{margin-top:10px;width:100%;justify-content:center;}
.ft-trust{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;letter-spacing:0.04em;color:var(--white-70);text-align:center;}
.ft-trust::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(226,221,159,0.7);flex:none;}

/* ---------- VERTICAL PROGRESS RAIL + NEXT-FIELD HIGHLIGHT ---------- */
.ft-form__main{display:grid;grid-template-columns:34px 1fr;gap:18px;align-items:stretch;}
.ft-form__fields{display:flex;flex-direction:column;}
.ft-rail{display:flex;flex-direction:column;align-items:center;gap:10px;}
.ft-rail__track{flex:1;width:4px;min-height:160px;background:var(--gold-line);position:relative;overflow:hidden;}
.ft-rail__fill{position:absolute;left:0;top:0;width:100%;background:var(--gold);box-shadow:0 0 12px rgba(226,221,159,0.55);transition:height .45s var(--ease);}
.ft-rail__count{font-family:var(--font-display);font-size:13px;letter-spacing:0.06em;color:var(--gold);line-height:1;}

.ft-field.is-glow{position:relative;z-index:1;transform:translateY(-4px);box-shadow:0 18px 48px rgba(226,221,159,0.30),0 8px 20px rgba(0,0,0,0.5);}
@media(max-width:420px){.ft-form__main{grid-template-columns:26px 1fr;gap:12px;}}

/* ---------- CALENDAR (STEP 2) ---------- */
.ft-days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ft-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:13px 6px;background:var(--black);border:1px solid var(--gold-line);cursor:pointer;transition:all .18s var(--ease);}
.ft-day:hover{border-color:rgba(226,221,159,0.5);}
.ft-day.is-on{border-color:var(--gold);background:rgba(226,221,159,0.08);}
.ft-day__dow{font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--white-70);}
.ft-day.is-on .ft-day__dow{color:var(--gold);}
.ft-day__num{font-family:var(--font-display);font-size:26px;line-height:1;color:#fff;}
.ft-day__mo{font-family:var(--font-body);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--white-70);}

.ft-monthtoggle{margin-top:14px;width:100%;background:none;border:1px dashed var(--gold-line);color:var(--white-80);font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:11px;cursor:pointer;transition:all .18s;}
.ft-monthtoggle:hover{border-color:var(--gold);color:var(--gold);}

/* month grid */
.ft-month{margin-top:14px;border:1px solid var(--gold-line);padding:14px;background:var(--black);}
.ft-month__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ft-month__title{font-family:var(--font-display);font-size:16px;letter-spacing:0.04em;text-transform:uppercase;color:#fff;}
.ft-month__arrow{width:30px;height:30px;border:1px solid var(--gold-line);background:none;color:var(--white-80);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;}
.ft-month__arrow:hover:not(:disabled){border-color:var(--gold);color:var(--gold);}
.ft-month__arrow:disabled{opacity:0.3;cursor:not-allowed;}
.ft-month__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.ft-month__dow{text-align:center;font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--white-70);padding-bottom:4px;}
.ft-month__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:13px;color:var(--white-80);background:none;border:1px solid transparent;cursor:pointer;transition:all .15s;}
.ft-month__cell:hover:not(:disabled){border-color:rgba(226,221,159,0.5);color:#fff;}
.ft-month__cell.is-on{background:var(--gold);color:var(--black);font-weight:700;}
.ft-month__cell:disabled{color:rgba(255,255,255,0.18);cursor:not-allowed;}
.ft-month__cell--empty{cursor:default;border:none;}

/* time slots */
.ft-slots{margin-top:18px;}
.ft-slots__head{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:11px;}
.ft-slots__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ft-slots__hint{font-family:var(--font-body);font-size:12.5px;color:var(--white-70);margin:-4px 0 11px;}
/* Unselected slots read clearly as tappable chips; selected fills gold. */
.ft-slot{font-family:var(--font-body);font-size:14px;font-weight:600;color:#fff;background:rgba(226,221,159,0.06);border:1.5px solid rgba(226,221,159,0.45);padding:12px 6px;cursor:pointer;transition:all .16s var(--ease);text-align:center;}
.ft-slot:hover:not(:disabled){border-color:var(--gold);background:rgba(226,221,159,0.14);}
.ft-slot.is-on{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:700;}
.ft-slot:disabled{opacity:0.32;text-decoration:line-through;cursor:not-allowed;}
.ft-slots__empty{font-size:13.5px;color:var(--white-70);line-height:1.5;}
/* attention states when someone taps Confirm before completing a step */
.ft-slots.is-need{outline:2px solid var(--gold);outline-offset:8px;animation:ftShake .4s var(--ease);}
.ft-waiver__read.is-need,.ft-waiver__sig.is-need{outline:2px solid var(--gold);outline-offset:4px;animation:ftShake .4s var(--ease);}
@keyframes ftShake{10%,90%{transform:translateX(-2px)}30%,70%{transform:translateX(3px)}50%{transform:translateX(-3px)}}
.ft-cal__needtime{font-family:var(--font-body);font-size:13.5px;font-weight:700;color:var(--gold);margin:0 0 2px;}

.ft-cal__foot{margin-top:20px;display:flex;flex-direction:column;gap:10px;}
.ft-cal__summary{font-size:13.5px;line-height:1.5;color:var(--white-80);padding:12px 14px;border:1px solid var(--gold-line);background:rgba(226,221,159,0.05);}
.ft-cal__summary b{color:var(--gold);font-weight:600;}
.ft-cal__actions{display:flex;gap:10px;}
.ft-back{background:none;border:1px solid var(--gold-line);color:var(--white-80);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:0 18px;cursor:pointer;transition:all .18s;flex:none;}
.ft-back:hover{border-color:var(--gold);color:var(--gold);}
.ft-cal__confirm{flex:1;justify-content:center;}

/* ---------- TRUST SECTIONS ---------- */
.ft-sec{padding:clamp(80px,11vh,140px) 0;}
.ft-sec--deep{background:var(--black-deep);}
.ft-sec__head{text-align:center;max-width:60ch;margin:0 auto clamp(48px,6vh,68px);}
.ft-sec__eyebrow{justify-content:center;margin-bottom:20px;}
.ft-sec__title{font-family:var(--font-display);font-size:clamp(36px,5vw,76px);line-height:0.92;text-transform:uppercase;letter-spacing:-0.012em;}
.ft-sec__title em{color:var(--gold);}
.ft-sec__sub{margin-top:20px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--white-80);}

/* expect grid */
.ft-expect{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-line);border:1px solid var(--gold-line);}
.ft-expect__card{background:var(--black);padding:clamp(30px,3vw,46px) clamp(26px,2.4vw,38px);display:flex;flex-direction:column;gap:14px;transition:background .3s;}
.ft-expect__card:hover{background:var(--black-lift);}
.ft-expect__num{font-family:var(--font-display);font-size:14px;letter-spacing:0.18em;color:var(--gold);}
.ft-expect__t{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:0.98;text-transform:uppercase;color:#fff;}
.ft-expect__d{font-size:15px;line-height:1.6;color:var(--white-80);}

/* testimonials */
.ft-rating{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:40px;}
.ft-rating__score{font-family:var(--font-display);font-size:clamp(44px,5vw,64px);line-height:0.9;color:#fff;}
.ft-rating__meta{display:flex;flex-direction:column;gap:4px;text-align:left;}
.ft-rating__stars{color:var(--gold);font-size:18px;letter-spacing:2px;}
.ft-rating__label{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--white-70);}
.ft-tst{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ft-tstcard{background:var(--black-lift);border:1px solid var(--gold-line);padding:clamp(26px,2.4vw,34px);display:flex;flex-direction:column;gap:16px;transition:border-color .3s,transform .3s;}
.ft-tstcard:hover{border-color:rgba(226,221,159,0.5);transform:translateY(-4px);}
.ft-tstcard__top{display:flex;align-items:center;justify-content:space-between;}
.ft-tstcard__stars{color:var(--gold);font-size:14px;letter-spacing:2px;}
.ft-tstcard__date{font-size:12px;color:var(--white-70);}
.ft-tstcard__body{font-size:15.5px;line-height:1.6;color:var(--white-80);flex:1;}
.ft-tstcard__by{display:flex;align-items:center;gap:11px;padding-top:16px;border-top:1px solid var(--gold-line);}
.ft-tstcard__av{width:36px;height:36px;border-radius:50%;background:var(--black);border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;color:var(--gold);flex:none;}
.ft-tstcard__name{font-family:var(--font-body);font-size:14px;font-weight:600;color:#fff;}
.ft-tstcard__src{font-size:11.5px;letter-spacing:0.06em;color:var(--white-70);}

/* faq */
.ft-faq{max-width:860px;margin:0 auto;border-top:1px solid var(--gold-line);}
.ft-faqitem{border-bottom:1px solid var(--gold-line);}
.ft-faqitem__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 4px;background:none;border:none;text-align:left;cursor:pointer;color:#fff;transition:color .2s,padding .25s;}
.ft-faqitem__q:hover{color:var(--gold);padding-left:8px;}
.ft-faqitem.is-open .ft-faqitem__q{color:var(--gold);}
.ft-faqitem__qt{font-family:var(--font-display);font-size:clamp(18px,1.6vw,23px);line-height:1.08;text-transform:uppercase;letter-spacing:0.005em;}
.ft-faqitem__icon{position:relative;flex:none;width:18px;height:18px;}
.ft-faqitem__icon::before,.ft-faqitem__icon::after{content:'';position:absolute;background:currentColor;transition:transform .3s var(--ease),opacity .3s;}
.ft-faqitem__icon::before{top:8px;left:0;width:18px;height:2px;}
.ft-faqitem__icon::after{top:0;left:8px;width:2px;height:18px;}
.ft-faqitem.is-open .ft-faqitem__icon::after{transform:scaleY(0);opacity:0;}
.ft-faqitem__a{overflow:hidden;height:0;transition:height .34s var(--ease);}
.ft-faqitem__a-inner{padding:0 4px 26px;max-width:64ch;}
.ft-faqitem__a p{margin:0;font-size:16px;line-height:1.66;color:var(--white-80);}

/* ---------- CONFIRMATION (STEP 3) ---------- */
.ft-confirm{position:relative;overflow:hidden;background:var(--black-deep);}
.ft-confirm__media{position:absolute;inset:0;background-image:url('https://assets.cdn.filesafe.space/RBnlVgmXNMbFpgFGPGcv/media/69c0d3bf9bd1397bb9109d42.jpg');background-size:cover;background-position:center top;}
.ft-confirm__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.78) 0%,rgba(0,0,0,0.5) 40%,rgba(0,0,0,0.92) 100%);}
.ft-confirm__inner{position:relative;z-index:2;text-align:center;padding:clamp(64px,9vh,120px) 0 clamp(40px,5vh,64px);}
.ft-confirm__eyebrow{justify-content:center;margin-bottom:22px;letter-spacing:0.3em;}
.ft-confirm__title{font-family:var(--font-display);font-size:clamp(52px,8vw,140px);line-height:0.88;text-transform:uppercase;letter-spacing:-0.015em;margin:0 auto 22px;}
.ft-confirm__title em{color:var(--gold);}
.ft-confirm__sub{font-size:clamp(17px,1.4vw,22px);line-height:1.5;color:var(--white-80);max-width:48ch;margin:0 auto;}
.ft-confirm__sub strong{color:#fff;font-weight:600;}

.ft-booking{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:34px;border:1px solid var(--gold-line);background:rgba(20,20,20,0.7);}
.ft-booking__item{padding:18px clamp(22px,2.4vw,34px);border-left:1px solid var(--gold-line);text-align:center;}
.ft-booking__item:first-child{border-left:none;}
.ft-booking__k{font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.ft-booking__v{font-family:var(--font-display);font-size:clamp(18px,1.7vw,24px);line-height:1.02;text-transform:uppercase;color:#fff;}
@media(max-width:520px){.ft-booking{flex-direction:column;}.ft-booking__item{border-left:none;border-top:1px solid var(--gold-line);}.ft-booking__item:first-child{border-top:none;}}

/* next steps */
.ft-next{background:var(--black);padding:clamp(72px,10vh,120px) 0;border-top:1px solid var(--gold-line);}
.ft-next__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(40px,5vh,56px);}
.ft-next__card{background:var(--black-lift);border:1px solid var(--gold-line);padding:clamp(26px,2.2vw,34px);display:flex;flex-direction:column;gap:12px;transition:border-color .3s,transform .3s;}
.ft-next__card:hover{border-color:rgba(226,221,159,0.5);transform:translateY(-4px);}
.ft-next__num{font-family:var(--font-display);font-size:clamp(40px,4vw,58px);line-height:0.8;color:transparent;-webkit-text-stroke:1.5px var(--gold);}
.ft-next__t{font-family:var(--font-display);font-size:clamp(19px,1.7vw,23px);line-height:0.98;text-transform:uppercase;color:#fff;}
.ft-next__d{font-size:14.5px;line-height:1.55;color:var(--white-80);}

/* ---------- ONBOARDING FORM SECTIONS ---------- */
.on-form{display:flex;flex-direction:column;gap:0;}
.on-section{border:1px solid var(--gold-line);padding:clamp(24px,2.4vw,34px);margin-bottom:16px;background:var(--black-lift);}
.on-section__title{font-family:var(--font-display);font-size:clamp(18px,1.6vw,22px);line-height:1;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:baseline;gap:12px;}

/* ---------- INLINE WAIVER (calendar step) ---------- */
.ft-waiver{margin-top:20px;border:1px solid var(--gold-line);}
.ft-waiver__head{padding:14px 16px 0;font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);}
.ft-waiver__scroll{max-height:280px;overflow-y:auto;padding:12px 16px 16px;scrollbar-width:thin;scrollbar-color:var(--gold-line) transparent;}
.ft-waiver__scroll::-webkit-scrollbar{width:4px;}
.ft-waiver__scroll::-webkit-scrollbar-track{background:transparent;}
.ft-waiver__scroll::-webkit-scrollbar-thumb{background:var(--gold-line);}
.ft-waiver__read{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:11.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--white-70);background:rgba(226,221,159,0.04);border-top:1px solid var(--gold-line);transition:all .3s;}
.ft-waiver__read.is-done{color:var(--gold);background:rgba(226,221,159,0.08);}
.ft-waiver__read.is-done::before{content:'✓ ';}
.ft-waiver__clause-h{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#fff;margin-top:14px;margin-bottom:5px;}
.ft-waiver__clause-h:first-child{margin-top:0;}
.ft-waiver__clause-p{font-size:13px;line-height:1.6;color:var(--white-70);}
.ft-waiver__sig{padding:14px 16px;border-top:1px solid var(--gold-line);}
.ft-waiver__signames{font-size:12.5px;line-height:1.5;color:var(--white-80);margin-bottom:10px;}
.ft-waiver__signames b{color:#fff;font-weight:600;}
.ft-waiver__pad-wrap{position:relative;background:#fff;border:1px solid var(--gold-line);}
.ft-waiver__pad{width:100%;height:120px;display:block;cursor:crosshair;touch-action:none;}
.ft-waiver__pad-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:12px;letter-spacing:0.04em;color:rgba(0,0,0,0.3);pointer-events:none;user-select:none;}
.ft-waiver__sig-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.ft-waiver__sig-status{font-size:12px;color:var(--white-70);}
.ft-waiver__sig-clear{background:none;border:1px solid var(--gold-line);color:var(--white-70);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:5px 12px;cursor:pointer;transition:all .18s;}
.ft-waiver__sig-clear:hover{border-color:var(--gold);color:var(--gold);}

/* ---------- LOADING ---------- */
.ft-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:36px 0;color:var(--white-70);font-size:14px;}
.ft-spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(226,221,159,0.2);border-top-color:var(--gold);animation:ft-spin .8s linear infinite;flex:0 0 auto;}
@keyframes ft-spin{to{transform:rotate(360deg);}}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1080px){
  .ft-expect,.ft-tst,.ft-next__grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .ft-hero__inner{grid-template-columns:1fr;text-align:center;}
  .ft-hero__copy{align-items:center;}
  .ft-hero__eyebrow{justify-content:center;}
  .ft-expect,.ft-tst{grid-template-columns:1fr;}
  .ft-next__grid{grid-template-columns:1fr 1fr;}
  .ft-rating{flex-wrap:wrap;}
}
@media(max-width:480px){
  .ft-row{grid-template-columns:1fr;gap:0;}
  .ft-next__grid{grid-template-columns:1fr;}
  .ft-slots__grid{grid-template-columns:1fr 1fr;}
}

/* ---------- SEGMENTED CHOICE BUTTONS (level, proximity) ----------
   Same form kit as the GTA funnel card, in DETAIL's tokens. */
.ft-seg{display:grid;gap:8px;transition:box-shadow .6s var(--ease),transform .6s var(--ease);}
.ft-seg--2{grid-template-columns:1fr 1fr;}
.ft-seg--3{grid-template-columns:1fr 1fr 1fr;}
.ft-seg__btn{font-family:var(--font-body);font-size:13.5px;font-weight:600;letter-spacing:0.02em;color:var(--white-80);background:var(--black);border:1px solid var(--gold-line);padding:12px 8px;cursor:pointer;transition:all .18s var(--ease);text-align:center;}
.ft-seg__btn:hover{border-color:rgba(226,221,159,0.5);color:#fff;}
.ft-seg__btn.is-on{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:700;}
.ft-seg.is-error .ft-seg__btn{border-color:#c97a6d;}

/* field-level messages */
.ft-field__hint{font-size:12px;line-height:1.5;color:var(--white-70);}
.ft-field__err{font-size:12.5px;line-height:1.5;color:#c97a6d;}
.ft-consent.is-error input[type="checkbox"]{border-color:#c97a6d;}
