/* ---------- tokens ---------- */
:root{
  --green:#32a727;
  --green-action:#23831b;
  --green-deep:#1b6a15;
  --green-text:#1f7a18;
  --lime:#c8f23a;
  --ink:#0d110e;
  --ink-raised:#171d18;
  --ink-line:rgba(255,255,255,.14);
  --paper:#f4f6f3;
  --mist:#e4e9e3;
  --white:#ffffff;
  --slate:#4a554c;
  --line:rgba(13,17,14,.14);
  --radius:1rem;
  --radius-small:.5rem;
  --font-display:'Archivo','Montserrat',system-ui,sans-serif;
  --font-body:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;scroll-padding-top:5.5rem}
body{margin:0;font-family:var(--font-body);font-weight:500;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--white);font-optical-sizing:auto}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding:0;list-style:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- client-first layers ---------- */
.page-wrapper{overflow-x:clip}
.padding-global{padding-left:4rem;padding-right:4rem}
.container-small{max-width:40.625rem;margin-left:auto;margin-right:auto;width:100%}
.container-medium{max-width:48rem;margin-left:auto;margin-right:auto;width:100%}
.container-large{max-width:64rem;margin-left:auto;margin-right:auto;width:100%}
.container-xlarge{max-width:70rem;margin-left:auto;margin-right:auto;width:100%}
.padding-section-small{padding-top:3rem;padding-bottom:3rem}
.padding-section-large{padding-top:6rem;padding-bottom:6rem}
.padding-section-huge{padding-top:8rem;padding-bottom:8rem}
.margin-bottom.margin-xsmall{margin-bottom:.5rem}
.margin-bottom.margin-small{margin-bottom:1rem}
.margin-bottom.margin-medium{margin-bottom:2rem}
.margin-bottom.margin-large{margin-bottom:4rem}
.text-align-center{text-align:center}

/* ---------- type ---------- */
.heading-style-h1{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:1.02;font-size:clamp(2.125rem,4.4vw,3.75rem);color:var(--white)}
.heading-style-h2{font-family:var(--font-display);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1.08;font-size:clamp(1.625rem,3.2vw,2.625rem);color:var(--ink)}
.heading-style-h3{font-family:var(--font-body);font-weight:800;letter-spacing:-.01em;line-height:1.25;font-size:1.1875rem;color:var(--ink)}
.heading-style-h3.is-large{font-family:var(--font-display);font-stretch:112%;font-size:1.625rem;line-height:1.15;letter-spacing:-.02em}
.text-size-large{font-size:1.25rem;line-height:1.5}
.text-size-small{font-size:.9375rem;line-height:1.5}
.text-size-tiny{font-size:.8125rem;line-height:1.45;letter-spacing:.01em}
.text-weight-bold{font-weight:800}
.text-color-white{color:var(--white)}
.text-color-ink{color:var(--ink)}
.text-color-slate{color:var(--slate)}
.text-color-mist{color:rgba(255,255,255,.8)}
.text-color-lime{color:var(--lime)}
.text-eyebrow{font-family:var(--font-body);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.8125rem;line-height:1.3}

/* ---------- buttons ---------- */
.button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background:var(--green-action);color:var(--white);text-decoration:none;font-family:var(--font-body);font-weight:800;font-size:1.125rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;padding:1.5rem 2.5rem;border-radius:var(--radius-small);border:0;cursor:pointer;transition:background-color .15s ease}
.button:hover{background:var(--green-deep)}
.button:active{background:var(--green-deep);transform:translateY(1px)}
.button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.button.is-small{width:auto;font-size:.8125rem;letter-spacing:.06em;padding:.9375rem 1.25rem;min-height:2.75rem}
.button.is-inverse{background:var(--white);color:var(--ink)}
.button.is-inverse:hover,.button.is-inverse:active{background:var(--mist)}
.button_icon{width:1.25rem;height:1.25rem;flex:0 0 1.25rem}
.button_container{width:100%;max-width:450px}
.cta_block{display:flex;flex-direction:column;align-items:center;gap:.875rem}
.cta_block.is-left{align-items:flex-start}
.button-note{font-size:.9375rem;font-weight:600;font-style:italic;color:var(--slate);line-height:1.3}
.button-note.is-light{color:rgba(255,255,255,.8)}
.section_navigation .button:focus-visible,.section_hero .button:focus-visible,.section_reviews .button:focus-visible,.section_compare .button:focus-visible,.section_offer .button:focus-visible,.section_final .button:focus-visible{outline-color:var(--white)}
.trust_row{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:700;line-height:1;color:var(--ink)}
.trust_row.is-light{color:var(--white)}
.trust_mark{width:1.25rem;height:1.25rem}
.trust_stars{display:flex;gap:.125rem}
.trust_star{width:1rem;height:1rem}

/* ---------- shared pieces ---------- */
.icon-inline{width:1.5rem;height:1.5rem;flex:0 0 1.5rem;margin-top:.125rem}
.icon-chip{width:3.5rem;height:3.5rem;border-radius:var(--radius-small);background:var(--green-action);display:flex;align-items:center;justify-content:center;flex:0 0 3.5rem}
.icon-chip_icon{width:1.75rem;height:1.75rem}
.letter_text{color:var(--slate);font-size:1.0625rem;line-height:1.65}
.why_text{color:var(--slate);font-size:1rem;line-height:1.6}
.offer_text{color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6}

/* ---------- navigation ---------- */
.section_navigation{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--white);border-bottom:1px solid var(--ink-line)}
.nav_row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.75rem}
.nav_logo{display:flex;align-items:center;min-height:2.75rem;border-radius:.25rem}
.nav_logo:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.nav_logo-image{height:2.5rem;width:auto}
.nav_links{display:flex;gap:.25rem;align-items:center}
.nav_link{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem .875rem;text-decoration:none;font-weight:700;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.86);border-radius:.375rem}
.nav_link:hover{color:var(--lime)}
.nav_link:focus-visible{outline:3px solid var(--white);outline-offset:2px}

/* ---------- hero ---------- */
.section_hero{background-color:var(--ink);background-image:linear-gradient(180deg,rgba(13,17,14,.35) 0%,rgba(13,17,14,0) 30%,rgba(13,17,14,.85) 78%,rgba(13,17,14,1) 100%),linear-gradient(90deg,rgba(13,17,14,.94) 0%,rgba(13,17,14,.82) 48%,rgba(13,17,14,.5) 100%),url(../img/web/aerial-gold-coast-canal.jpg);background-size:cover;background-position:center;color:var(--white)}
.hero_heading{display:flex;flex-direction:column}
.hero_h1-lead{display:block;color:var(--lime);font-size:1.5em;line-height:.95;margin-bottom:.12em}
.hero_h1-rest{display:block;font-size:.8em;line-height:1.05}
.section_hero .heading-style-h1{font-size:clamp(1.75rem,2.9vw,2.5rem)}
.hero_grid{display:flex;gap:4rem;align-items:center}
.hero_copy{flex:1 1 0;min-width:0}
.hero_visual{flex:0 0 30rem;min-width:0}
.hero_list{display:flex;flex-direction:column;gap:1.125rem;border-left:3px solid var(--green);padding-left:1.5rem}
.hero_list-item{display:flex;gap:.875rem;align-items:flex-start}
.hero_list-text{font-weight:700;font-size:1.1875rem;line-height:1.35;color:var(--white)}
.plan_sheet{background-color:var(--paper);background-image:url(../img/web/bg-plan-paper.jpg);background-size:cover;color:var(--ink);border-radius:var(--radius);padding:1.75rem;box-shadow:0 2.5rem 5rem rgba(0,0,0,.55);border-top:.5rem solid var(--green)}
.plan_sheet-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.plan_sheet-name{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.plan_sheet-stamp{flex:0 0 5.75rem;width:5.75rem;height:5.75rem;border-radius:999px;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:.625rem;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;padding:.75rem;transform:rotate(8deg);box-shadow:0 0 0 .25rem var(--paper),0 0 0 .3125rem var(--ink)}
.plan_sheet-title{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:1.375rem;line-height:1.1}
.plan_sheet-tag{font-weight:700;font-size:.875rem;color:var(--green-text);line-height:1.3}
.plan_sheet-drawing{width:100%;height:auto;margin:.75rem 0}
.plan_sheet-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.plan_sheet-item{display:flex;align-items:center;gap:.75rem;padding:.6875rem 0;border-bottom:1px dashed var(--line)}
.plan_sheet-icon{width:1.375rem;height:1.375rem;flex:0 0 1.375rem}
.plan_sheet-text{font-weight:700;font-size:.9375rem;line-height:1.3}
.video_frame{position:relative;display:block;border-radius:var(--radius);overflow:hidden;border:1px solid var(--ink-line);background:var(--ink-raised)}
.video_frame:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.video_poster{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.72}
.video_play{position:absolute;inset:0;margin:auto;width:5.5rem;height:5.5rem;border-radius:999px;background:var(--green-action);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 .625rem rgba(255,255,255,.16)}
.video_play-icon{width:2rem;height:2rem;margin-left:.25rem}

/* ---------- partners ---------- */
.section_partners{background:var(--white);border-bottom:1px solid var(--line)}
.partner_row{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.partner_cell{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-width:0}
.partner_logo{max-height:3.75rem;width:auto;object-fit:contain}

/* ---------- lead ---------- */
.section_lead{background-color:var(--paper);background-image:url(../img/web/bg-plan-paper.jpg);background-size:cover;background-position:center top}
.letter_card{background:var(--white);border-radius:var(--radius);padding:3rem;border-left:.375rem solid var(--green);box-shadow:0 1.5rem 3rem rgba(13,17,14,.08)}
.letter_salutation{font-family:var(--font-display);font-stretch:112%;font-weight:800;font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.letter_turn{font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:1.375rem;line-height:1.2;letter-spacing:-.02em;color:var(--green-text)}
.letter_author{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;background:var(--paper);border-radius:var(--radius-small)}
.letter_portrait{width:5rem;height:5rem;border-radius:999px;object-fit:cover;flex:0 0 5rem}
.letter_author-text{font-weight:800;font-size:1.0625rem;line-height:1.4;color:var(--ink)}
.outcome_list{display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.outcome_item{display:flex;align-items:center;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.outcome_number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:3.5rem;line-height:.9;letter-spacing:-.04em;color:var(--green);flex:0 0 6rem}
.outcome_text{font-weight:800;font-size:1.25rem;line-height:1.35;color:var(--ink)}
.lead_close{display:flex;flex-direction:column}

/* ---------- how it works ---------- */
.section_how{background:var(--white)}
.step_row{display:flex;gap:2rem;align-items:stretch}
.step_card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius);overflow:hidden}
.step_marker{flex:0 0 auto;background:var(--ink);color:var(--white);display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.875rem;padding:1.5rem 2rem;border-bottom:.25rem solid var(--green)}
.step_marker-label{font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--lime);line-height:1.2}
.step_marker-number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:3.5rem;line-height:.95;letter-spacing:-.04em}
.step_body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;padding:2rem}
.step_icon{width:2.25rem;height:2.25rem;flex:0 0 2.25rem}
.step_text{color:var(--slate);font-size:1.0625rem;line-height:1.6}

/* ---------- photo band ---------- */
.section_photo-band{background-color:var(--ink);background-image:url(../img/web/photo-band.jpg);background-size:cover;background-position:center;min-height:28rem}

/* ---------- reviews ---------- */
.section_reviews{background-color:var(--ink);background-image:url(../img/web/bg-dark-cell.jpg);background-size:cover;background-position:center top;color:var(--white)}
.rating_badge{display:flex;align-items:center;justify-content:center;gap:.75rem;background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:999px;padding:.875rem 1.5rem}
.rating_mark{width:1.5rem;height:1.5rem}
.rating_stars{display:flex;gap:.125rem}
.rating_star{width:1.125rem;height:1.125rem}
.rating_text{font-weight:800;font-size:1rem;line-height:1.2;color:var(--white)}
.review_row{display:flex;gap:2rem;align-items:stretch}
.review_card{flex:1 1 0;min-width:0;background:var(--white);color:var(--ink);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;gap:.875rem;border-top:.25rem solid var(--green)}
.review_title{font-family:var(--font-body);font-weight:800;font-size:1.0625rem;line-height:1.3;color:var(--ink)}
.review_quote{font-size:.9375rem;line-height:1.6;color:var(--slate);flex:1 1 auto}
.review_source{display:flex;align-items:center;gap:.625rem}
.review_mark{width:1.25rem;height:1.25rem;flex:0 0 1.25rem}
.review_name{font-weight:800;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-text)}

/* ---------- reasons ---------- */
.section_reasons{background:var(--white)}
.reason_card{display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius);overflow:hidden}
.reason_photo{flex:0 0 auto;width:100%;aspect-ratio:16/9;object-fit:cover}
.reason_body{flex:1 1 0;min-width:0;display:flex;gap:1.5rem;align-items:center;padding:2rem}
.reason_number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:3.5rem;line-height:.9;letter-spacing:-.04em;color:var(--green);flex:0 0 2.75rem}
.reason_text{color:var(--ink);font-weight:600;font-size:1.0625rem;line-height:1.55}

/* ---------- why ---------- */
.section_why{background:var(--paper)}
.why_card{display:flex;gap:1.5rem;align-items:flex-start;background:var(--white);border-radius:var(--radius);padding:2rem}
.why_body{flex:1 1 0;min-width:0}

/* ---------- pull quote ---------- */
.section_quote{background-color:var(--green-action);background-image:linear-gradient(rgba(20,82,15,.5),rgba(20,82,15,.5)),url(../img/web/bg-green-light.jpg);background-size:cover;background-position:center;color:var(--white)}
.quote_block{margin:0;display:flex;flex-direction:column;align-items:center;gap:1.75rem;text-align:center}
.quote_stars{display:flex;gap:.25rem}
.quote_star{width:1.5rem;height:1.5rem}
.quote_text{margin:0;font-family:var(--font-display);font-stretch:112%;font-weight:800;font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.15;letter-spacing:-.025em;color:var(--white)}
.quote_name{font-weight:800;font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}

/* ---------- comparison ---------- */
.section_compare{background:var(--ink);color:var(--white)}
.compare_table{display:flex;flex-direction:column}
.compare_row{display:flex;align-items:stretch;border-bottom:1px solid var(--ink-line)}
.compare_row.is-head,.compare_row.is-last{border-bottom:0}
.compare_label{flex:1 1 0;min-width:0;display:flex;align-items:center;padding:1.25rem 1.5rem 1.25rem 0;font-weight:700;font-size:1.0625rem;line-height:1.35;color:var(--white)}
.compare_cell{flex:0 0 15rem;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem}
.compare_cell.is-thomas{background:var(--green-action)}
.compare_cell.is-head{padding:1.5rem 1rem}
.compare_cell.is-thomas.is-head{border-radius:var(--radius) var(--radius) 0 0}
.compare_cell.is-thomas.is-last{border-radius:0 0 var(--radius) var(--radius)}
.compare_logo{height:2.5rem;width:auto}
.compare_head-text{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;line-height:1.3;text-align:center;color:rgba(255,255,255,.8)}
.compare_icon{width:1.75rem;height:1.75rem}

/* ---------- about ---------- */
.section_about{background:var(--white)}
.about_visual{background:var(--paper);border-radius:var(--radius);padding:1rem}
.about_photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.625rem}
.team_row{display:flex;gap:1rem}
.team_photo{flex:1 1 0;min-width:0;width:25%;aspect-ratio:1/1;object-fit:cover;border-radius:.625rem}
.about_copy{display:flex;flex-direction:column;text-align:center}
.title_block{display:flex;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden}
.title_cell{flex:1 1 0;min-width:0;padding:1.75rem 1.5rem;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:.625rem}
.title_cell.is-first{border-left:0}
.title_number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:2.5rem;line-height:.95;letter-spacing:-.04em;color:var(--green-text);white-space:nowrap}
.title_label{font-weight:700;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;color:var(--slate)}

/* ---------- fit ---------- */
.section_fit{background-color:var(--paper);background-image:url(../img/web/bg-plan-paper.jpg);background-size:cover;background-position:center}
.fit_card{display:flex;gap:2rem;align-items:flex-start;background:var(--white);border-radius:var(--radius);padding:2rem;border-left:.375rem solid var(--green)}
.fit_number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:2.75rem;line-height:.95;letter-spacing:-.04em;color:var(--green);flex:0 0 4.5rem}
.fit_body{flex:1 1 0;min-width:0}

/* ---------- offer ---------- */
.section_offer{background-color:var(--ink);background-image:url(../img/web/bg-dark-cell.jpg);background-size:cover;background-position:center;color:var(--white)}
.offer_card{display:flex;gap:2rem;align-items:flex-start;background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius);padding:2rem}
.offer_number{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:2.75rem;line-height:.95;letter-spacing:-.04em;color:var(--lime);flex:0 0 4.5rem}
.offer_body{flex:1 1 0;min-width:0}
.offer_image{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--ink-line)}
.bonus_card{background:var(--green-action);border-radius:var(--radius);padding:2.25rem;display:flex;flex-direction:column;gap:1rem}
.bonus_card .offer_text{color:var(--white)}
.bonus_head{display:flex;align-items:center;gap:1rem}
.bonus_icon{width:2.5rem;height:2.5rem;flex:0 0 2.5rem}
.rebate_panel{border-top:1px solid var(--ink-line);padding-top:3rem}
.rebate_note{font-weight:600;font-size:1.125rem;line-height:1.55;color:var(--white)}
.rebate_figure{background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius);padding:2rem 2rem 1.5rem}
.rebate_chart{display:flex;gap:1rem;align-items:flex-end;border-bottom:2px solid rgba(255,255,255,.5)}
.rebate_labels{display:flex;justify-content:space-between;gap:1rem;padding-top:.875rem}
.rebate_bar{flex:1 1 0;min-width:0;border-radius:.375rem .375rem 0 0;background:var(--green)}
.rebate_bar.is-1{height:11rem;background:var(--lime)}
.rebate_bar.is-2{height:8.75rem;background:#3fb533}
.rebate_bar.is-3{height:6.5rem;background:#2f9a26}
.rebate_bar.is-4{height:4.25rem;background:#267d1f}
.rebate_bar.is-5{height:2rem;background:#1e6118}
.rebate_label.is-left{text-align:left}
.rebate_label.is-right{text-align:right}
.rebate_label{flex:1 1 0;font-weight:700;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.35;color:rgba(255,255,255,.8);text-align:center}
.rebate_label.is-strong{color:var(--white)}

/* ---------- guarantee ---------- */
.section_guarantee{background:var(--white)}
.guarantee_row{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 2.5rem}
.guarantee_badge{flex:0 0 auto;width:17rem}
.guarantee_text{font-weight:600}
.promise_card{background:var(--ink);color:var(--white);border-radius:var(--radius);padding:3rem;border-left:.5rem solid var(--lime)}
.promise_line{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.05;letter-spacing:-.03em;color:var(--white)}

/* ---------- faq ---------- */
.section_faq{background:var(--paper)}
.faq_list{border-top:2px solid var(--ink)}
.faq_item{border-bottom:1px solid var(--line)}
.faq_question{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;min-height:2.75rem}
.faq_question::-webkit-details-marker{display:none}
.faq_question:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:.25rem}
.faq_question-text{font-weight:800;font-size:1.125rem;line-height:1.35;color:var(--ink)}
.faq_toggle{width:2.25rem;height:2.25rem;border-radius:999px;background:var(--white);border:1px solid var(--line);flex:0 0 2.25rem;display:flex;align-items:center;justify-content:center}
.faq_icon{width:1rem;height:1rem}
.faq_icon.is-minus{display:none}
.faq_item[open] .faq_toggle{background:var(--green-action);border-color:var(--green-action)}
.faq_item[open] .faq_icon.is-plus{display:none}
.faq_item[open] .faq_icon.is-minus{display:block}
.faq_answer{padding:0 3.75rem 1.75rem 0}
.faq_text{color:var(--slate);line-height:1.65}

/* ---------- final ---------- */
.section_final{background-color:var(--green-action);background-image:linear-gradient(rgba(20,82,15,.45),rgba(20,82,15,.45)),url(../img/web/bg-green-light.jpg);background-size:cover;background-position:center;color:var(--white)}
.final_tag.is-lime{color:var(--lime)}
.final_tag{font-family:var(--font-display);font-stretch:112%;font-weight:700;font-size:1.5rem;line-height:1.3;letter-spacing:-.01em;color:var(--white)}

/* ---------- footer ---------- */
.section_footer{background:var(--ink);color:rgba(255,255,255,.72)}
.footer_row{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.footer_logo{height:2.25rem;width:auto}
.footer_text{font-size:.8125rem;line-height:1.5}
.footer_link{color:var(--white);display:inline-block;padding:.75rem 0}
.footer_link:focus-visible{outline:3px solid var(--white);outline-offset:2px}

/* ---------- form + thank you ---------- */
.section_form{background-color:var(--ink);background-image:url(../img/web/bg-dark-cell.jpg);background-size:cover;background-position:center;color:var(--white);min-height:calc(100dvh - 4.75rem)}
.form_card{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:2.5rem;border-top:.5rem solid var(--green);box-shadow:0 2.5rem 5rem rgba(0,0,0,.5)}
.form_fields{display:flex;flex-direction:column;gap:1.25rem}
.form_row{display:flex;gap:1.25rem}
.form_field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.5rem}
.form_label{font-weight:800;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.form_input{font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid rgba(13,17,14,.35);border-radius:var(--radius-small);padding:1rem 1.125rem;min-height:3.25rem;width:100%}
.form_input:focus-visible{outline:3px solid var(--green-action);outline-offset:2px}
.next_card{display:flex;align-items:stretch;background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius);overflow:hidden}
.next_marker{flex:0 0 6rem;background:var(--green-action);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:3rem;line-height:1;color:var(--white)}
.next_body{flex:1 1 0;min-width:0;padding:1.75rem 2rem}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .padding-global{padding-left:2rem;padding-right:2rem}
  .hero_grid{flex-direction:column;gap:3rem;align-items:stretch}
  .hero_visual{flex:1 1 auto;width:100%;max-width:32rem}
  .step_row{flex-direction:column;gap:1.25rem}
  .nav_links{display:none}
  .compare_cell{flex-basis:10rem}
}
@media (max-width:767px){
  .padding-global{padding-left:1.25rem;padding-right:1.25rem}
  .padding-section-large{padding-top:4rem;padding-bottom:4rem}
  .padding-section-huge{padding-top:5rem;padding-bottom:5rem}
  .margin-bottom.margin-large{margin-bottom:2.5rem}
  .button{padding:1.5rem 1.25rem;font-size:1rem}
  .button.is-small{padding:.875rem .875rem;font-size:.6875rem;letter-spacing:.04em}
  .button_container{max-width:none}
  .cta_block.is-left{align-items:center}
  .nav_logo-image{height:2rem}
  .review_row,.partner_row,.form_row{flex-direction:column}
  .team_row{flex-wrap:wrap}
  .team_photo{flex:0 0 calc(50% - .5rem);width:calc(50% - .5rem)}
  .partner_row{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .partner_cell{flex:0 0 40%}
  .review_row{gap:1.25rem}
  .letter_card,.promise_card{padding:1.75rem}
  .outcome_item{gap:1rem}
  .outcome_number{font-size:2.5rem;flex-basis:3.75rem}
  .outcome_text{font-size:1.0625rem}
  .step_marker{padding:1rem 1.5rem}
  .step_marker-number{font-size:2.5rem}
  .step_body{padding:1.5rem}
  .plan_sheet-stamp{flex-basis:5rem;width:5rem;height:5rem;font-size:.5625rem}
  .guarantee_row{padding:1.5rem}
  .reason_body{padding:1.5rem;gap:1rem}
  .why_card,.fit_card,.offer_card{flex-direction:column;gap:1rem;padding:1.5rem}
  .fit_number,.offer_number{flex:0 0 auto}
  .compare_row{flex-wrap:wrap}
  .compare_label{flex:0 0 100%;padding:1rem 0 .5rem;font-size:1rem}
  .compare_row.is-head .compare_label{display:none}
  .compare_cell{flex:1 1 0;padding:.875rem .5rem}
  .compare_cell.is-thomas.is-last{border-radius:0 0 var(--radius-small) var(--radius-small)}
  .compare_logo{height:1.75rem}
  .title_block{flex-direction:column}
  .title_cell{border-left:0;border-top:1px solid var(--line)}
  .title_cell.is-first{border-top:0}
  .guarantee_badge{flex:0 0 auto;width:14rem}
  .rebate_chart{gap:.5rem}
  .rebate_figure{padding:1.25rem 1.25rem 1rem}
  .rebate_label{font-size:.6875rem;letter-spacing:.02em}
  .faq_answer{padding-right:0}
  .video_play{width:4rem;height:4rem}
  .section_photo-band{min-height:15rem}
  .form_card{padding:1.5rem}
}
