/* ============================================================================
   DEALS TO GROW — lp.css
   Shared layer for the standalone PAID-TRAFFIC landing pages (/lp/*).

   These pages deliberately DROP the site-wide chrome (mega-nav, 5-column
   footer, site.js) so an ad click has exactly one job to do. This file
   supplies the stripped replacements + the few LP-only components:
     - .lp-header   logo-only top bar (+ click-to-call)
     - .lp-footer   slim trust-only footer
     - .lp-cta-bar  sticky mobile call-to-action
     - .case-grid   the verified-client "case file" proof cards
     - .obj-grid    objection / reassurance row
   It is loaded AFTER dtg.css / pages.css / v2.css, so it inherits every brand
   token and the .btn / .band / .kicker / .t-* vocabulary. Page-specific bits
   (booker, claim form, diagnostic, qualify steps) live in each page's own
   <style> layer, mirroring the rest of the site.
   ========================================================================== */

/* ---- stripped header: logo only (+ phone) -------------------------------- */
.lp-header{position:sticky;top:0;z-index:62;background:rgba(242,239,233,.9);
  backdrop-filter:blur(12px);border-bottom:var(--bw-brand) solid var(--black);}
.lp-header .bar{display:flex;align-items:center;gap:20px;min-height:68px;padding:10px 0;}
.lp-header .dtg-logo-h{height:42px;width:auto;display:block;}
@media(max-width:680px){.lp-header .dtg-logo-h{height:34px;}.lp-header .bar{min-height:58px;}}
.lp-header .lp-call{margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.04em;color:var(--ink);
  white-space:nowrap;}
.lp-header .lp-call svg{flex:none;color:var(--orange-btn);}
.lp-header .lp-call .lc-lab{text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:var(--text-mute);display:block;}
.lp-header .lp-call:hover{color:var(--orange-text);}
@media(max-width:520px){.lp-header .lp-call .lc-lab{display:none;}.lp-header .lp-call{font-size:12px;}}

/* ---- slim trust-only footer ---------------------------------------------- */
.lp-footer{background:var(--black);color:var(--text-on-dark);}
.lp-footer .lf-in{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;
  flex-wrap:wrap;padding:30px 0;}
.lp-footer .dtg-logo-foot{height:30px;width:auto;display:block;}
.lp-footer .lf-trust{display:flex;flex-wrap:wrap;gap:7px 16px;align-items:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-on-dark-soft);}
.lp-footer .lf-trust i{font-style:normal;display:inline-flex;align-items:center;gap:7px;}
.lp-footer .lf-trust i::before{content:"";width:6px;height:6px;background:var(--orange);display:inline-block;flex:none;}
.lp-footer .lf-contact{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:13.5px;}
.lp-footer .lf-contact a{color:var(--orange);}
.lp-footer .lf-contact a:hover{color:#fff;}
.lp-footer .lf-bottom{border-top:1px solid var(--line-on-dark);padding:16px 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:12.5px;color:var(--text-on-dark-soft);}
.lp-footer .lf-bottom .links{display:flex;gap:22px;flex-wrap:wrap;}
.lp-footer .lf-bottom a:hover{color:#fff;}
@media(max-width:680px){.lp-footer .lf-in{gap:16px;}.lp-footer .lf-bottom{flex-direction:column;align-items:flex-start;}}

/* ---- sticky mobile CTA (replaces site.js .m-cta) ------------------------- */
.lp-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  background:rgba(18,18,20,.97);backdrop-filter:blur(8px);border-top:var(--bw-brand) solid var(--orange);
  padding:10px 16px env(safe-area-inset-bottom,10px);}
.lp-cta-bar .ctab-in{display:flex;align-items:center;gap:12px;max-width:var(--container);margin:0 auto;}
.lp-cta-bar .ctab-txt{flex:1;min-width:0;line-height:1.2;}
.lp-cta-bar .ctab-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-dark-soft);display:block;}
.lp-cta-bar .ctab-v{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lp-cta-bar .btn{flex:none;}
@media(max-width:720px){.lp-cta-bar{display:block;}
  /* keep the last section clear of the fixed bar */
  body.has-lp-cta main{padding-bottom:74px;}}

/* ---- verified-client "case file" proof cards ----------------------------- */
.case-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5);}
@media(min-width:760px){.case-grid{grid-template-columns:repeat(3,1fr);}}
.case-card{display:flex;flex-direction:column;background:var(--white);
  border:var(--bw-hair) solid var(--black);border-top:var(--bw-rule) solid var(--orange);
  padding:20px 20px 18px;box-shadow:var(--card-shadow);}
.case-card .cc-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-bottom:12px;margin-bottom:14px;border-bottom:var(--bw-hair) solid var(--line);}
.case-card .cc-name{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.02em;color:var(--ink);}
.case-card .cc-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);text-align:right;line-height:1.5;}
.case-card .cc-stats{display:flex;flex-wrap:wrap;gap:14px 22px;margin-bottom:14px;}
.case-card .cc-stat{display:flex;flex-direction:column;}
.case-card .cc-n{font-family:var(--head);font-weight:700;font-size:var(--fs-stat);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
.case-card .cc-n .o{color:var(--orange-display);}
.case-card .cc-l{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-top:5px;}
.case-card .cc-quote{font-size:13.5px;line-height:1.55;color:var(--text-soft);font-style:italic;margin:0 0 14px;}
.case-card .cc-quote::before{content:"\201C";}
.case-card .cc-quote::after{content:"\201D";}
.case-card .cc-src{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-mute);
  display:inline-flex;align-items:center;gap:6px;}
.case-card .cc-src a{color:var(--orange-text);border-bottom:1px solid transparent;}
.case-card .cc-src a:hover{border-bottom-color:var(--orange-text);}
.case-note{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--text-mute);
  margin:var(--sp-6) auto 0;max-width:680px;text-align:center;}

/* ---- objection / reassurance row ----------------------------------------- */
.obj-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:var(--bw-heavy) solid var(--black);max-width:760px;}
.obj-grid .obj{display:flex;gap:14px;align-items:flex-start;padding:var(--sp-5) 2px;border-bottom:var(--bw-hair) solid var(--line);}
.obj-grid .obj:last-child{border-bottom:var(--bw-heavy) solid var(--black);}
.obj-grid .obj svg{flex:none;color:var(--orange-btn);margin-top:2px;}
.obj-grid .obj h3{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:.03em;margin:0 0 3px;color:var(--ink);}
.obj-grid .obj p{font-size:var(--fs-small);color:var(--text-soft);line-height:1.55;margin:0;}

/* ---- shared section-head spacing (matches reference pages) ---------------- */
.lp-sec-head{margin-bottom:var(--sp-7);}
.lp-sec-head .t-h2{margin-top:var(--sp-4);}
.lp-sec-head .t-lede{margin-top:var(--sp-4);}

/* ---- success / confirmation panel (shared by forms) ---------------------- */
.lp-result{display:none;margin-top:18px;padding:16px;border:var(--bw-brand) solid var(--green);
  background:#f0faf3;font-size:14.5px;line-height:1.55;color:var(--green-deep);}
.lp-result.err{border-color:var(--orange);background:#fff4f0;color:#c23b1c;}

/* ==========================================================================
   LP MEDIA LAYER — supporting imagery + the offer / why-us / us-vs-them
   sections shared across every /lp/* page. Added so an ad click lands on a
   page with strong trust visuals, not a wall of text. Tokens only; matches
   the .case-card / .obj-grid corner-tick aesthetic already in this file.
   ========================================================================== */

/* ---- scrimmed hero background image (keeps copy + form card legible) ------ */
.lp-hero{position:relative;overflow:hidden;}
.lp-hero > .container{position:relative;z-index:2;}
.lp-herobg{position:absolute;inset:0;z-index:0;}
.lp-herobg img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;}
.lp-herobg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,
  rgba(242,239,233,.97) 0%,rgba(242,239,233,.93) 38%,rgba(242,239,233,.74) 70%,rgba(242,239,233,.52) 100%);}
@media(max-width:1080px){.lp-herobg::after{background:linear-gradient(180deg,
  rgba(242,239,233,.96) 0%,rgba(242,239,233,.9) 52%,rgba(242,239,233,.95) 100%);}}

/* ---- framed media block (orange corner ticks, brand border) -------------- */
.lp-media{position:relative;margin:0;background:var(--white);border:var(--bw-brand) solid var(--black);
  box-shadow:var(--card-shadow);}
.lp-media::before,.lp-media::after{content:"";position:absolute;width:12px;height:12px;
  border:var(--bw-heavy) solid var(--orange);pointer-events:none;z-index:2;}
.lp-media::before{top:-2px;left:-2px;border-right:0;border-bottom:0;}
.lp-media::after{bottom:-2px;right:-2px;border-left:0;border-top:0;}
.lp-media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.lp-media.r-43 img{aspect-ratio:4/3;}
.lp-media.r-169 img{aspect-ratio:16/9;}
.lp-media.r-wide img{aspect-ratio:12/5;}
.lp-media figcaption{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;line-height:1.3;
  font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;
  color:var(--text-mute);padding:10px 14px;border-top:var(--bw-hair) solid var(--line);background:var(--paper);}
.lp-media figcaption span:first-child{color:var(--ink);}
/* on the black band the white frame reads better with a soft edge + dark caption */
.band--black .lp-media{border-color:rgba(255,255,255,.16);}
.band--black .lp-media figcaption{background:#15151a;color:var(--text-on-dark-soft);border-top-color:var(--line-on-dark);}
.band--black .lp-media figcaption span:first-child{color:#fff;}

/* ---- image + copy split row (stacks on mobile) --------------------------- */
.lp-split{display:grid;grid-template-columns:1fr;gap:var(--sp-6);align-items:center;}
@media(min-width:960px){.lp-split{grid-template-columns:1fr 1fr;gap:var(--sp-8);}
  .lp-split.media-right .lp-split-media{order:2;}}
.lp-split .t-h2{margin-top:var(--sp-4);}
.lp-split .lp-split-copy > .t-lede{margin-top:var(--sp-4);}

/* feature bullets used inside split copy + offer sections */
.lp-feats{list-style:none;margin:var(--sp-5) 0 0;padding:0;border-top:var(--bw-heavy) solid var(--black);}
.lp-feats li{display:grid;grid-template-columns:22px 1fr;gap:4px 13px;padding:var(--sp-4) 2px;
  border-bottom:var(--bw-hair) solid var(--line);}
.lp-feats li:last-child{border-bottom:var(--bw-heavy) solid var(--black);}
.lp-feats .lf-ck{grid-row:1 / span 2;width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border:var(--bw-brand) solid var(--orange);color:var(--orange-text);}
.lp-feats .lf-ck svg{width:13px;height:13px;}
.lp-feats h3{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:.03em;margin:0;color:var(--ink);}
.lp-feats p{font-size:var(--fs-small);color:var(--text-soft);line-height:1.5;margin:0;}
.band--black .lp-feats{border-top-color:#fff;}
.band--black .lp-feats li{border-bottom-color:var(--line-on-dark);}
.band--black .lp-feats li:last-child{border-bottom-color:#fff;}
.band--black .lp-feats h3{color:#fff;}
.band--black .lp-feats p{color:var(--text-on-dark);}

/* ---- "what you get" offer grid (image-capable cards) --------------------- */
.offer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5);}
@media(min-width:680px){.offer-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.offer-grid.cols-3{grid-template-columns:repeat(3,1fr);}}
.offer-card{display:flex;flex-direction:column;background:var(--white);border:var(--bw-hair) solid var(--black);
  border-top:var(--bw-rule) solid var(--orange);box-shadow:var(--card-shadow);}
.offer-card .oc-media{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-bottom:var(--bw-hair) solid var(--black);}
.offer-card .oc-body{padding:16px 18px 18px;}
.offer-card .oc-k{font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-text);display:block;margin-bottom:7px;}
.offer-card h3{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.02em;margin:0 0 6px;color:var(--ink);}
.offer-card p{font-size:var(--fs-small);color:var(--text-soft);line-height:1.55;margin:0;}

/* ---- us-vs-them compact comparison (Them | Deals To Grow) ----------------- */
.vs{border-top:var(--bw-heavy) solid var(--black);border-bottom:var(--bw-heavy) solid var(--black);}
.vs-head{display:none;}
.vs-row{display:grid;grid-template-columns:1fr;gap:var(--sp-2);padding:var(--sp-5) 0;border-bottom:var(--bw-hair) solid var(--line);}
.vs-row:last-child{border-bottom:0;}
.vs-f{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:var(--fs-h3);line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink);}
.vs-them,.vs-us{position:relative;font-size:var(--fs-small);line-height:1.5;}
.vs-them{color:var(--text-mute);}
.vs-them .vl,.vs-us .vl{display:block;font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;color:var(--text-mute);}
.vs-us{color:var(--ink);border-left:var(--bw-rule) solid var(--orange);padding-left:var(--sp-3);}
.vs-us .vl{color:var(--orange-text);}
.vs-us svg{vertical-align:-2px;margin-right:7px;color:var(--orange-text);}
@media(min-width:760px){
  .vs-head{display:grid;grid-template-columns:4fr 4fr 5fr;gap:var(--sp-5);padding:0 0 var(--sp-3);}
  .vs-head span{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);}
  .vs-head .vh-us{color:var(--orange-text);padding-left:calc(var(--sp-3) + var(--bw-rule));}
  .vs-row{grid-template-columns:4fr 4fr 5fr;gap:var(--sp-5);align-items:baseline;}
  .vs-them .vl,.vs-us .vl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;}
}
/* dark-band variant (only band--black is actually dark) */
.band--black .vs{border-top-color:#fff;border-bottom-color:#fff;}
.band--black .vs-row{border-bottom-color:var(--line-on-dark);}
.band--black .vs-f{color:#fff;}
.band--black .vs-them{color:var(--text-on-dark-soft);}
.band--black .vs-us{color:var(--text-on-dark);}

/* ---- equal-height proof/quote enhancements on dark bands ----------------- */
.lp-media-row{display:grid;grid-template-columns:1fr;gap:var(--sp-5);margin-top:var(--sp-6);}
@media(min-width:760px){.lp-media-row.cols-3{grid-template-columns:repeat(3,1fr);}.lp-media-row.cols-2{grid-template-columns:1fr 1fr;}}

/* ==========================================================================
   SHARED BOOKER WIDGET — the date/time + details scheduler used by the
   strategy-call / qualify LPs and the lead-capture thank-you pages (so the
   thank-you "book a call" action is a real form, not just a link). Markup +
   logic are driven by /lp-booking.js; this is the styling. Mirrors the
   inline booker styles on /book-call so the look is identical site-wide.
   ========================================================================== */
.booker{position:relative;background:var(--white);border:var(--bw-brand) solid var(--black);box-shadow:var(--card-shadow-lg);}
.booker::before,.booker::after{content:"";position:absolute;width:12px;height:12px;border:var(--bw-heavy) solid var(--orange);pointer-events:none;}
.booker::before{top:-2px;left:-2px;border-right:0;border-bottom:0;}
.booker::after{bottom:-2px;right:-2px;border-left:0;border-top:0;}
.bk-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:10px 18px;background:var(--black);font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.bk-head .bh-id{color:var(--orange);}
.bk-head .bh-meta{color:var(--text-on-dark-soft);}
.bk-assure{display:flex;align-items:flex-start;gap:11px;padding:13px 18px;border-bottom:var(--bw-hair) solid var(--line);background:var(--paper);}
.bk-assure svg{flex:none;color:var(--orange-btn);margin-top:2px;}
.bk-assure b{font-family:var(--head);font-weight:600;text-transform:uppercase;font-size:12.5px;letter-spacing:.06em;color:var(--ink);display:block;margin-bottom:2px;}
.bk-assure span{font-size:13.5px;color:var(--text-soft);line-height:1.5;}
.bk-in{padding:18px 18px 22px;}
@media(min-width:720px){.bk-in{padding:20px 26px 26px;}}
.booker .bk-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px;flex-wrap:wrap;}
@media(max-width:480px){.booker .bk-h{flex-direction:column;align-items:flex-start;gap:8px;}}
.booker .bk-title{font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--orange-text);}
.booker .bk-nav{display:flex;gap:6px;align-items:center;font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.04em;}
.booker .bk-nav span{min-width:118px;text-align:center;font-variant-numeric:tabular-nums;}
.booker .bk-nav button{width:44px;height:44px;border:var(--bw-hair) solid var(--black);background:var(--white);border-radius:0;cursor:pointer;font-size:17px;line-height:1;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out);}
.booker .bk-nav button:hover{background:var(--black);color:#fff;}
.booker .bk-nav button:disabled{opacity:.3;cursor:not-allowed;background:var(--white);color:inherit;}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal .dow{font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:var(--text-mute);text-align:center;padding:6px 0;}
.cal .day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:0;cursor:pointer;border:var(--bw-hair) solid transparent;font-family:var(--mono);font-variant-numeric:tabular-nums;}
.cal .day.muted{color:var(--steel-light);cursor:default;}
.cal .day.avail{color:var(--ink);border-color:var(--line);background:var(--white);font-weight:600;}
.cal .day.avail:hover{border-color:var(--orange-btn);}
.cal .day.sel{background:var(--orange-btn);border-color:var(--orange-btn);color:#fff;font-weight:600;}
.cal .day.avail:focus-visible,.cal .day.sel:focus-visible{outline:2.5px solid var(--orange-text);outline-offset:2px;}
.tz{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);margin-top:14px;}
.times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.times button{min-height:44px;padding:10px;border:var(--bw-hair) solid var(--line);background:var(--white);border-radius:0;font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.04em;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--t-fast) var(--ease-out);}
.times button:hover{border-color:var(--black);}
.times button.sel{background:var(--orange-btn);border-color:var(--orange-btn);color:#fff;}
.times button:focus-visible{outline:2.5px solid var(--orange-text);outline-offset:2px;}
.bk-fields{display:grid;gap:10px;margin-top:18px;border-top:var(--bw-hair) solid var(--line);padding-top:18px;}
.bk-fields input{width:100%;min-height:48px;padding:12px 14px;border:var(--bw-hair) solid var(--line);background:#fff;font-family:var(--body);font-size:15px;color:var(--ink);}
.bk-fields input:focus{outline:none;border-color:var(--black);}
.bk-fields input:focus-visible,.bk-fields select:focus-visible{outline:2.5px solid var(--orange-text);outline-offset:2px;border-color:var(--black);}
.bk-fields input::placeholder{color:#a7a59c;}
.bk-fields select{width:100%;min-height:48px;padding:12px 14px;border:var(--bw-hair) solid var(--line);background:#fff;font-family:var(--body);font-size:15px;color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer;}
.bk-fields select:focus{outline:none;border-color:var(--black);}
#bk-submit,.bk-submit{min-height:48px;}
.bk-confirm{margin-top:18px;padding:14px;border:1.5px solid var(--green);border-radius:0;background:#f0faf3;font-size:14px;color:var(--green-deep);display:none;}
.bk-trust{display:flex;flex-wrap:wrap;gap:7px 16px;align-items:center;padding:13px 18px;border-top:var(--bw-hair) solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);}
.bk-trust i{font-style:normal;display:inline-flex;align-items:center;gap:7px;}
.bk-trust i::before{content:"";width:6px;height:6px;background:var(--orange);display:inline-block;flex:none;}
.lp-booker-wrap{max-width:560px;margin:var(--sp-6) auto 0;text-align:left;}
.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;}

/* ==========================================================================
   CONFIRMATION TICKET — the booked-call confirmation shown on the dedicated
   /lp/<name>/thanks pages (strategy-call, qualify). Populated by /lp-confirm.js
   from the booking redirect query string. Mirrors the /call-booked ticket.
   ========================================================================== */
.cf-wrap{max-width:620px;margin:0 auto;text-align:center;}
.cf-badge{width:74px;height:74px;margin:0 auto var(--sp-5);border:var(--bw-heavy) solid var(--green-deep);
  display:flex;align-items:center;justify-content:center;color:var(--green-deep);background:#f0faf3;}
.cf-ticket{position:relative;background:var(--white);border:var(--bw-brand) solid var(--black);box-shadow:var(--card-shadow-lg);text-align:left;margin-top:var(--sp-6);}
.cf-ticket::before,.cf-ticket::after{content:"";position:absolute;width:12px;height:12px;border:var(--bw-heavy) solid var(--orange);pointer-events:none;}
.cf-ticket::before{top:-2px;left:-2px;border-right:0;border-bottom:0;}
.cf-ticket::after{bottom:-2px;right:-2px;border-left:0;border-top:0;}
.cf-ticket-hd{display:flex;align-items:center;gap:10px;padding:13px 18px;background:var(--black);color:#fff;
  font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.12em;}
.cf-ticket-hd .cf-ref{margin-left:auto;color:var(--text-on-dark-soft);font-size:10px;letter-spacing:.18em;}
.cf-pulse{width:9px;height:9px;background:var(--green);flex:none;position:relative;}
@media (prefers-reduced-motion: no-preference){
  .cf-pulse::after{content:"";position:absolute;inset:0;background:var(--green);animation:cfPulse 2s ease-out infinite;}
  @keyframes cfPulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(2.6);opacity:0;}}
}
.cf-ticket-body{padding:4px 18px;}
.cf-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-top:var(--bw-hair) solid var(--line);}
.cf-row:first-child{border-top:0;}
.cf-row .cf-k{font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;color:var(--text-mute);}
.cf-row .cf-v{font-family:var(--head);font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:var(--ink);text-align:right;}
.cf-cal{padding:14px 18px;border-top:var(--bw-hair) solid var(--line);}
.cf-cal-lbl{display:block;font-family:var(--mono);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;color:var(--text-mute);margin-bottom:10px;}
.cf-cal-btns{display:flex;flex-wrap:wrap;gap:8px;}
.cf-cal-btns a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;min-height:42px;
  border:var(--bw-brand) solid var(--orange-btn);background:var(--orange-btn);box-shadow:0 2px 0 var(--orange-deep);
  font-family:var(--head);font-weight:600;text-transform:uppercase;font-size:11.5px;letter-spacing:.04em;color:#fff;
  transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);}
.cf-cal-btns a:hover{background:var(--orange-deep);transform:translateY(-1px);}
.cf-cal-btns svg{width:15px;height:15px;flex:none;fill:currentColor;}
.cf-ticket-ft{padding:14px 18px;border-top:var(--bw-brand) solid var(--black);background:var(--beige);
  font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--text-soft);line-height:1.55;}
.cf-steps{list-style:none;margin:var(--sp-7) 0 0;padding:0;border-top:var(--bw-heavy) solid var(--black);text-align:left;}
.cf-steps li{display:flex;gap:14px;align-items:flex-start;padding:var(--sp-5) 2px;border-bottom:var(--bw-hair) solid var(--line);}
.cf-steps li:last-child{border-bottom:var(--bw-heavy) solid var(--black);}
.cf-steps .cf-i{font-family:var(--mono);font-weight:600;font-size:12px;color:var(--orange-text);letter-spacing:.06em;flex:none;min-width:30px;margin-top:3px;}
.cf-steps h3{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:.03em;margin:0 0 3px;color:var(--ink);}
.cf-steps p{font-size:var(--fs-small);color:var(--text-soft);line-height:1.55;margin:0;}
