/* Intense Boxing – /free-trial/ (The Hive v2). Page-only styles. */
[hidden]{display:none!important}
.ft-hero{padding-bottom:clamp(28px,3vw,44px)}
.ft-hero h1{font-size:clamp(2.75rem,1.6rem + 4.6vw,5.5rem)}
.ft-chips{margin-top:var(--s5)}
.ft-sec{padding-top:clamp(32px,5vw,72px)}
.ft-grid{display:grid;gap:var(--s6);align-items:start}
.ft-main{min-width:0}
.ft-small{font-size:.92rem;color:var(--mut);margin:var(--s3) 0 0}
.ft-small a{font-weight:600}
/* progress */
.ft-prog{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 var(--s5);counter-reset:s}
.ft-prog li{flex:1;font:700 .72rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding-top:10px;border-top:3px solid var(--line-2);transition:border-color .3s var(--ease),color .3s var(--ease)}
.ft-prog li.is-on{border-color:var(--bee);color:var(--fg)}
.ft-prog li.is-done{border-color:rgba(255,194,26,.5);color:var(--fg-2)}
/* steps */
.ft-step{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:clamp(18px,2.4vw,28px);margin:0 0 var(--s4);min-width:0;box-shadow:var(--shadow);transition:opacity .3s var(--ease),border-color .3s var(--ease)}
.ft-step:disabled{opacity:.5;box-shadow:none}
.ft-step:disabled .ft-nights,.ft-step:disabled .ft-fields,.ft-step:disabled .ft-preview,.ft-step:disabled .ft-send,.ft-step:disabled .ft-small{display:none}
.ft-step:not(:disabled):focus-within{border-color:rgba(255,194,26,.45)}
.ft-step legend{float:left;width:100%;display:flex;align-items:center;gap:12px;font:800 clamp(1.6rem,1.2rem + 1.4vw,2.3rem)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 var(--s4);padding:0}
.ft-step legend:focus{outline:none}
.ft-step legend:focus-visible{outline:3px solid var(--bee);outline-offset:4px}
.ft-step legend+*{clear:both}
.ft-n{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--bee);color:var(--bee-ink);font:800 1.2rem/1 var(--font-display)}
.ft-step:disabled .ft-n{background:var(--ink-3);color:var(--mut)}
.ft-hint{color:var(--fg-2);margin:0 0 var(--s4);clear:both}
/* who cards (native radios styled as cards) */
.ft-whos{display:grid;gap:10px;clear:both}
.ft-who{position:relative;display:block;cursor:pointer}
.ft-who input,.ft-night input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ft-who-in{display:flex;align-items:center;gap:14px;min-height:72px;padding:10px 14px 10px 10px;border:2px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .08s var(--ease)}
.ft-who img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex:none;filter:grayscale(.35);transition:filter .25s var(--ease)}
.ft-who-t{flex:1;min-width:0}
.ft-who-t b{display:block;font:800 1.45rem/1 var(--font-display);text-transform:uppercase;letter-spacing:-.005em}
.ft-who-t b span{color:var(--bee)}
.ft-who-t small{display:block;color:var(--mut);font-size:.88rem;margin-top:4px}
.ft-tick{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid var(--line-2);transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.ft-who:hover .ft-who-in{border-color:rgba(255,194,26,.55)}
.ft-who input:checked+.ft-who-in{border-color:var(--bee);background:rgba(255,194,26,.08)}
.ft-who input:checked+.ft-who-in img{filter:none}
.ft-who input:checked+.ft-who-in .ft-tick{background:var(--bee) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1400' stroke-width='3.2'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--bee)}
.ft-who input:focus-visible+.ft-who-in,.ft-night input:focus-visible+span{outline:3px solid var(--bee);outline-offset:3px}
/* nights */
.ft-ng+.ft-ng{margin-top:var(--s5);padding-top:var(--s4);border-top:1px dashed var(--line-2)}
.ft-ng-h{margin:0 0 10px}
.ft-ng-h b{display:block;font-weight:700}
.ft-ng-h small{display:block;color:var(--mut);font-size:.88rem;margin-top:2px}
.ft-nights{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.ft-night{position:relative;cursor:pointer;display:block}
.ft-night span{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:10px 14px;border:2px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);position:relative;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.ft-night b{font:800 1.3rem/1 var(--font-display);text-transform:uppercase}
.ft-night small{color:var(--fg-2);font-size:.92rem;margin-top:4px;font-variant-numeric:tabular-nums}
.ft-night em{position:absolute;top:-9px;right:8px;font:700 .66rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;font-style:normal;background:var(--bee);color:var(--bee-ink);padding:4px 7px;border-radius:999px}
.ft-night:hover span{border-color:rgba(255,194,26,.55)}
.ft-night input:checked+span{border-color:var(--bee);background:rgba(255,194,26,.1)}
.ft-ng-s .ft-night input:checked+span{border-color:var(--red-hi);background:rgba(216,30,40,.1)}
.ft-ng-s .ft-ng-h b{color:var(--red-hi)}
/* fields */
.ft-fields{display:grid;grid-template-columns:1fr 7.5rem;gap:12px;clear:both;align-items:end}
.ft-field label{display:block;font-weight:650;margin-bottom:6px}
.ft-field label small{color:var(--mut);font-weight:500}
.ft-field input{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--r-sm);border:2px solid var(--line-2);background:var(--ink);color:var(--fg);font:500 1.0625rem/1.2 var(--font-body)}
.ft-field input:focus{outline:none;border-color:var(--bee)}
.ft-field input:focus-visible{outline:3px solid var(--bee);outline-offset:2px}
.ft-field input[aria-invalid=true]{border-color:var(--red-hi)}
.ft-err{color:var(--red-hi);font-weight:600;margin:8px 0 0;min-height:0}
.ft-err:empty,.ft-note:empty{display:none}
.ft-note{color:var(--bee);margin:8px 0 0;font-size:.95rem}
.ft-preview{margin-top:var(--s4);padding:14px 16px;border-left:3px solid var(--wa);background:rgba(37,211,102,.06);border-radius:0 var(--r-sm) var(--r-sm) 0}
.ft-pv-k{font:700 .72rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:0 0 6px}
.ft-preview p:last-child{margin:0;color:var(--fg-2);overflow-wrap:anywhere}
.ft-send{margin-bottom:0}
.ft-link{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
/* no-JS + done */
.ft-nojs h3,.ft-done h3{font-size:clamp(1.9rem,1.3rem + 2vw,2.8rem)}
.ft-done{border-color:rgba(255,194,26,.45);outline:none}
.ft-done:focus-visible{outline:3px solid var(--bee);outline-offset:3px}
.ft-sum{font-weight:600;color:var(--fg-2)}
.ft-done-grid{display:grid;gap:var(--s5);margin-top:var(--s5)}
.ft-done h4{font:700 .8rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bee);margin:0 0 10px}
.ft-list{margin:0;padding-left:1.2em;color:var(--fg-2)}
.ft-list li{margin-bottom:.5em}
.ft-list li::marker{color:var(--bee);font-weight:700}
.ft-map{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:var(--s5);padding:16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2)}
.ft-map address{flex:1 1 220px;font-style:normal;color:var(--fg-2)}
.ft-pin svg,.ft-where .btn svg{width:22px;height:22px;color:var(--bee)}
.ft-pin{flex:none}
.ft-map .btn{flex:1 1 200px}
/* aside */
.ft-aside{display:grid;gap:var(--s4)}
.ft-aside h3{font-size:1.7rem}
.ft-g{list-style:none;margin:0;padding:0}
.ft-g li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-top:1px solid var(--line)}
.ft-g li:first-child{border-top:0;padding-top:0}
.ft-g-who{grid-column:1/-1;font:700 .7rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.ft-g-cls a{font-weight:700;color:var(--fg)}
.ft-g-when{grid-column:1;color:var(--fg-2);font-size:.93rem;font-variant-numeric:tabular-nums}
.ft-g-p{grid-column:2;grid-row:2/4;align-self:center;font:800 1.3rem/1 var(--font-display);color:var(--bee)}
.ft-where address{font-style:normal;color:var(--fg-2);margin-bottom:6px}
.ft-where .btn{width:100%;margin-top:var(--s4)}
.ft-faq .faq{margin-top:var(--s5)}
@media (min-width:600px){
  .ft-whos{grid-template-columns:repeat(3,1fr)}
  .ft-who-in{flex-direction:column;align-items:flex-start;padding:12px;height:100%}
  .ft-who img{width:100%;height:auto;aspect-ratio:4/3}
  .ft-tick{position:absolute;top:20px;right:20px;background:rgba(14,14,16,.6)}
  .ft-done-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  .ft-grid{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s7)}
  .ft-aside{position:sticky;top:calc(var(--navh) + 24px)}
}
@media (prefers-reduced-motion:no-preference){
  html.ft-js .ft-step:not(:disabled) .ft-nights,html.ft-js .ft-step:not(:disabled) .ft-fields,html.ft-js .ft-done:not([hidden]){animation:ft-in .45s var(--ease) both}
  .ft-who:active .ft-who-in,.ft-night:active span{transform:translateX(2px)}
  @keyframes ft-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.ft-step,.ft-who-in,.ft-night span,.ft-prog li{transition:none}}
.ft-g-cls a{display:inline-block;padding:12px 0;margin:-12px 0}
