/* LaunchUp Downsizing Wizard v2 — 2.11.0 dashboard look (matches the LaunchUP Idea Dashboard).
   All rules scoped to .luw so the theme is untouched. Light theme only, like the rest of the site.
   Layout: desktop = dark section rail + panel column; phone = one column with the step bar and sticky bar. */
.luw{
  /* Dashboard palette */
  --luw-ground:#EEF2F5; --luw-card:#FFFFFF; --luw-ink:#13202A; --luw-muted:#5A6A77; --luw-soft:#33424D;
  --luw-line:#D7DEE4; --luw-field:#C6D0D8; --luw-track:#E4EAEF;
  --luw-accent:#0D6A87; --luw-accent-dk:#0A5369; --luw-accent-soft:#D8ECF3;
  --luw-green:#2E7D4F; --luw-green-dk:#1F5C39; --luw-tint:#E3F1E8;
  --luw-warn:#B3261E; --luw-sun:#E2A03A; --luw-sun-soft:#FCF1DE; --luw-ex-ink:#7A4A00;
  --luw-note:#FCF1DE; --luw-note-ink:#A15C00;
  --luw-side:#10232E; --luw-side-ink:#D9E6EE; --luw-side-muted:#8FA8B7;
  --luw-report:#10232E; --luw-report-ink:#EEF4F7; --luw-report-muted:#A9BFCC; --luw-gold:#F0B85A;
  /* Option colours, used the same way everywhere */
  --luw-o-stay:#5A6A77; --luw-o-sh:#0D6A87; --luw-o-ll:#2E7D4F; --luw-o-vg:#B5651D;
  --luw-display:'Libre Franklin','Helvetica Neue',Arial,sans-serif;
  --luw-body:'Atkinson Hyperlegible',Verdana,'Segoe UI',sans-serif;
  max-width:1200px; margin:0 auto; padding:0 0 110px;
  font-family:var(--luw-body); font-size:17px; line-height:1.5; color:var(--luw-ink);
}
.luw *, .luw *::before, .luw *::after{box-sizing:border-box}
.luw .luw-serif{font-family:var(--luw-display); font-weight:800}
.luw h1, .luw h2, .luw h3{margin:0; color:var(--luw-ink); text-wrap:balance; font-family:var(--luw-display); font-weight:800; letter-spacing:-0.005em}
.luw h1{margin:8px 0; font-size:clamp(26px, 4.2vw, 36px); line-height:1.15}
.luw h2{font-size:22px; line-height:1.2}
.luw h3{margin:10px 0 0; font-size:20px; line-height:1.25}
.luw .luw-h2-lg{font-size:26px}
.luw p{margin:0}

/* ---------- Shell ---------- */
.luw .luw-shell{display:block}
.luw .luw-rail{display:none}
.luw .luw-main{max-width:620px; margin:0 auto; display:flex; flex-direction:column}
@media (min-width:1000px){
  .luw .luw-shell{display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; padding:16px}
  .luw .luw-main{max-width:none; margin:0}
  .luw .luw-rail{display:flex; flex-direction:column; gap:18px; position:sticky; top:24px; background:var(--luw-side); color:var(--luw-side-ink); border-radius:16px; padding:20px 14px}
}
.luw .luw-brand{font-family:var(--luw-display); font-weight:800; font-size:23px; padding:0 8px; color:#fff}
.luw .luw-brand small{display:block; font-family:var(--luw-body); font-weight:400; font-size:13px; color:var(--luw-side-muted)}
.luw .luw-railnav{display:flex; flex-direction:column; gap:4px}
.luw .luw-railnav a{display:flex; align-items:center; gap:10px; padding:10px; border-radius:9px; color:var(--luw-side-ink); text-decoration:none; font-weight:700; font-size:15px}
.luw .luw-railnav a span{width:24px; height:24px; border-radius:12px; border:1.5px solid var(--luw-side-muted); display:flex; align-items:center; justify-content:center; font-size:12px; flex:none}
.luw .luw-railnav a:hover{background:rgba(255,255,255,.07); color:#fff}
.luw .luw-railnav a.luw-here{background:var(--luw-accent); color:#fff}
.luw .luw-railnav a.luw-here span{border-color:#fff}
.luw .luw-rail-tile{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:14px}
.luw .luw-rail-k{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--luw-side-muted)}
.luw .luw-rail-v{font-family:var(--luw-display); font-weight:800; font-size:28px; color:#fff; font-variant-numeric:tabular-nums; overflow-wrap:anywhere}
.luw .luw-rail-s{font-size:13px; color:var(--luw-side-muted)}
.luw .luw-rail-note{font-size:12px; color:var(--luw-side-muted); padding:0 8px}

/* ---------- Header ---------- */
.luw .luw-hero{padding:22px 20px; background:var(--luw-card); border:1px solid var(--luw-line); border-radius:14px; scroll-margin-top:20px}
.luw .luw-eyebrow{font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--luw-accent)}
.luw .luw-sub{color:var(--luw-muted); font-size:16px}
.luw .luw-private{display:flex; align-items:center; gap:6px; margin-top:10px; font-size:14px; font-weight:700; color:var(--luw-green-dk)}
.luw .luw-private svg{flex:none}

/* ---------- Step bar (phone) ---------- */
.luw .luw-steps{display:flex; gap:6px; padding:14px 2px 2px}
.luw .luw-steps div{flex:1; display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:700; color:var(--luw-muted)}
.luw .luw-steps span{height:5px; border-radius:3px; background:var(--luw-track)}
.luw .luw-steps div.luw-on{color:var(--luw-accent)}
.luw .luw-steps div.luw-on span{background:var(--luw-accent)}
@media (min-width:1000px){ .luw .luw-steps{display:none} }

/* ---------- Panels ---------- */
.luw .luw-card{margin-top:16px; padding:20px 18px; background:var(--luw-card); border:1px solid var(--luw-line); border-radius:14px; display:flex; flex-direction:column; gap:18px; scroll-margin-top:20px}
.luw .luw-gap{margin-top:16px}
.luw .luw-head{display:flex; align-items:center; gap:10px}
.luw .luw-num{width:30px; height:30px; border-radius:15px; background:var(--luw-accent); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; flex:none}
.luw .luw-field{display:flex; flex-direction:column; gap:8px}
.luw .luw-row{display:flex; align-items:center; justify-content:space-between; gap:8px}
.luw .luw-wrap{flex-wrap:wrap}
.luw .luw-base{align-items:baseline}
.luw label{font-weight:700; font-size:17px; color:var(--luw-ink); margin:0}
.luw .luw-tag{font-size:12px; font-weight:700; padding:3px 9px; border-radius:999px; border:1.5px solid currentColor; color:var(--luw-note-ink); background:transparent; white-space:nowrap}
.luw .luw-tag.luw-yours{color:var(--luw-green)}
.luw .luw-input{display:flex; align-items:center; height:56px; border:1.5px solid var(--luw-field); border-radius:10px; background:var(--luw-ground); padding:0 14px; gap:6px}
.luw .luw-input span{font-size:20px; color:var(--luw-muted)}
.luw .luw-input input{flex:1; min-width:0; border:0; box-shadow:none; font:inherit; font-size:20px; color:var(--luw-ink); background:transparent; padding:0; height:auto; font-variant-numeric:tabular-nums}
.luw .luw-input:focus-within{outline:3px solid var(--luw-sun); outline-offset:1px; background:var(--luw-card)}
.luw .luw-input input:focus{outline:none; box-shadow:none}
.luw .luw-help{font-size:14px; color:var(--luw-muted)}
.luw .luw-tight{margin-top:-4px}

/* Cash available (headline tile) */
.luw .luw-teaser{margin-top:16px; padding:20px 18px; background:var(--luw-card); border:1px solid var(--luw-line); border-top:5px solid var(--luw-accent); border-radius:14px; display:flex; flex-direction:column; gap:10px}
.luw .luw-teaser-lbl{font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--luw-muted)}
.luw .luw-teaser-txt{font-size:16px; color:var(--luw-soft)}
.luw .luw-big{font-family:var(--luw-display); font-weight:800; font-size:clamp(30px, 9vw, 44px); line-height:1.05; font-variant-numeric:tabular-nums; overflow-wrap:anywhere}
.luw .luw-link-btn{align-self:flex-start; min-height:44px; padding:0; border:0; background:transparent; font:inherit; font-size:15px; font-weight:700; color:var(--luw-accent); display:flex; align-items:center; gap:6px; cursor:pointer}
.luw .luw-link-btn:hover{background:transparent; color:var(--luw-accent-dk)}
.luw .luw-costs{display:flex; flex-direction:column; gap:0; padding:4px 0; border-top:1px solid var(--luw-line); font-size:15px}
.luw .luw-costs[hidden]{display:none}
.luw .luw-costs > div{display:flex; justify-content:space-between; gap:8px; padding:8px 2px; border-bottom:1px solid var(--luw-line)}
.luw .luw-costs b{font-weight:700; font-variant-numeric:tabular-nums}
.luw .luw-down{display:flex; align-items:center; gap:8px; min-height:44px; font-weight:700; text-decoration:none; color:var(--luw-accent)}

/* ---------- Options ---------- */
.luw .luw-section{margin-top:24px; display:flex; flex-direction:column; gap:14px; scroll-margin-top:20px}
.luw .luw-intro{display:flex; flex-direction:column; gap:6px; padding:0 4px}
.luw .luw-options{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:1100px){ .luw .luw-options{grid-template-columns:repeat(3, minmax(0,1fr))} }
.luw .luw-opt{--c:var(--luw-accent); padding:18px; background:var(--luw-card); border:1px solid var(--luw-line); border-top:5px solid var(--c); border-radius:14px; display:flex; flex-direction:column; gap:10px; min-width:0}
.luw .luw-c-sh_price{--c:var(--luw-o-sh)} .luw .luw-c-ll_price{--c:var(--luw-o-ll)} .luw .luw-c-vg_entry{--c:var(--luw-o-vg)} .luw .luw-c-stay{--c:var(--luw-o-stay)}
.luw .luw-opt label{font-size:18px; font-family:var(--luw-display); font-weight:800}
.luw .luw-opt .luw-input{height:52px}
.luw .luw-result{margin-top:4px; padding-top:12px; border-top:1px solid var(--luw-line); display:flex; flex-direction:column; gap:8px}
.luw .luw-rl{font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--luw-muted)}
.luw .luw-rv{font-family:var(--luw-display); font-weight:800; font-size:26px; color:var(--luw-green); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; min-width:0}
.luw .luw-bar{height:12px; border-radius:6px; background:var(--luw-track); overflow:hidden}
.luw .luw-bar i{display:block; height:12px; border-radius:6px; background:var(--c, var(--luw-accent)); transition:width .25s}

/* ---------- Compare: summary tiles + bar chart ---------- */
.luw .luw-kpis{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px}
@media (min-width:1000px){ .luw .luw-kpis{grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px} }
.luw .luw-kpi{--c:var(--luw-accent); border:1px solid var(--luw-line); border-top:5px solid var(--c); border-radius:12px; padding:12px 14px; background:var(--luw-card); min-width:0}
.luw .luw-kpi-k{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--luw-muted)}
.luw .luw-kpi-v{font-family:var(--luw-display); font-weight:800; font-size:clamp(20px, 5.5vw, 26px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; line-height:1.2}
.luw .luw-kpi-s{font-size:13px; color:var(--luw-muted)}
.luw .luw-cmp{display:flex; flex-direction:column; gap:14px}
.luw .luw-cmp-row{display:flex; flex-direction:column; gap:6px}
.luw .luw-cmp-title{font-weight:700}
.luw .luw-cmp-val{font-family:var(--luw-display); font-weight:800; font-size:21px; color:var(--luw-green); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; min-width:0}
.luw .luw-cmp-row .luw-bar i{background:var(--c, var(--luw-green))}
.luw .luw-cmp-row:first-child .luw-bar i{background:var(--luw-o-stay)}
.luw .luw-best{font-size:11px; font-weight:700; padding:2px 7px; border-radius:9px; background:var(--luw-tint); color:var(--luw-green-dk); margin-left:6px; white-space:nowrap}
.luw .luw-result .luw-row, .luw .luw-cmp-row .luw-row{flex-wrap:wrap}
.luw .luw-note{padding:14px 16px; background:var(--luw-note); border-left:5px solid var(--luw-sun); border-radius:10px; display:flex; gap:12px; font-size:15px; color:var(--luw-soft)}
.luw .luw-note svg{flex:none; margin-top:2px; color:var(--luw-note-ink)}
.luw .luw-note-plain{background:var(--luw-accent-soft); border-left-color:var(--luw-accent)}

/* ---------- Buttons ---------- */
.luw .luw-cta{display:flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:12px 18px; border-radius:10px; background:var(--luw-accent); color:#fff; font-weight:700; font-size:17px; text-decoration:none; text-align:center; border:0; cursor:pointer; width:100%; font-family:inherit}
.luw .luw-cta:hover{background:var(--luw-accent-dk); color:#fff}
.luw .luw-cta[disabled]{opacity:.7; cursor:progress}
.luw .luw-small{font-size:14px; color:var(--luw-muted); text-align:center}
.luw .luw-back{font-size:15px; font-weight:700; color:var(--luw-accent); text-align:center; display:block; min-height:44px; padding-top:12px}
.luw a:focus-visible, .luw button:focus-visible{outline:3px solid var(--luw-sun); outline-offset:2px}

/* ---------- Free Age Pension check ---------- */
.luw .luw-qp, .luw .luw-pension{display:flex; flex-direction:column; gap:16px; padding-top:6px; border-top:1px solid var(--luw-line)}
.luw .luw-qp[hidden], .luw .luw-pension[hidden], .luw .luw-cta[hidden], .luw .luw-small[hidden], .luw .luw-error[hidden]{display:none}
.luw fieldset{border:0; margin:0; padding:0; min-width:0}
.luw legend{font-weight:700; font-size:17px; padding:0; margin-bottom:8px; color:var(--luw-ink)}
.luw .luw-seg{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.luw .luw-seg-opt{position:relative; display:block; margin:0; font-weight:700; font-size:16px}
.luw .luw-seg-opt input{position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer}
.luw .luw-seg-opt span{display:flex; align-items:center; justify-content:center; min-height:50px; border:1.5px solid var(--luw-field); border-radius:10px; background:var(--luw-ground); color:var(--luw-ink)}
.luw .luw-seg-opt input:checked + span{border-color:var(--luw-accent); background:var(--luw-accent); color:#fff}
.luw .luw-seg-opt input:focus-visible + span{outline:3px solid var(--luw-sun); outline-offset:2px}
.luw .luw-input-text input{font-size:17px}
.luw .luw-family summary{cursor:pointer; font-weight:700; font-size:15px; color:var(--luw-accent); min-height:44px; display:flex; align-items:center}
.luw .luw-family[open] summary{margin-bottom:8px}
.luw .luw-error{padding:12px 14px; border-radius:10px; background:#FBEAE7; color:var(--luw-warn); font-size:15px; font-weight:700}
.luw .luw-sent{font-size:14px; color:var(--luw-green-dk); font-weight:700}
.luw .luw-sent:empty{display:none}
.luw .luw-full{font-size:14px; font-weight:700}
.luw .luw-free-badge{align-self:flex-start; margin-top:12px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; border:1.5px solid var(--luw-green); color:var(--luw-green)}
.luw .luw-check{display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:10px; background:var(--luw-ground); border:1px solid var(--luw-line)}
.luw .luw-check input{width:26px; height:26px; margin:0; flex:none; accent-color:var(--luw-accent); cursor:pointer}
.luw .luw-check label{font-weight:400; font-size:16px; line-height:1.45; cursor:pointer; margin:0}
.luw .luw-ack{border:1px solid var(--luw-line); border-left:5px solid var(--luw-accent); border-radius:10px; padding:14px 16px; margin:4px 0; background:var(--luw-card)}
.luw .luw-ack-h{font-weight:700; font-size:17px; margin:0 0 6px}
.luw .luw-ack-text{font-size:16px; line-height:1.55; margin:0 0 10px}
.luw .luw-ack-text a{text-decoration:underline; color:var(--luw-accent)}
.luw .luw-ack-check label{font-weight:700; font-size:17px}
.luw .luw-bridge{padding:14px 16px; border-radius:10px; background:var(--luw-accent-soft); color:var(--luw-soft); font-size:15px}
.luw .luw-bridge a{color:var(--luw-accent-dk); font-weight:700}

/* Exit fees */
.luw .luw-exit{margin-top:6px; border-top:1px solid var(--luw-line); padding-top:10px}
.luw .luw-exit summary{cursor:pointer; font-weight:700; font-size:16px; color:var(--luw-accent); min-height:40px; display:flex; align-items:center}
.luw .luw-exit .luw-field{margin-top:10px}
.luw .luw-exit select{width:100%; min-height:48px; font:inherit; font-size:17px; padding:8px 10px; border:1.5px solid var(--luw-field); border-radius:10px; background:var(--luw-ground); color:var(--luw-ink)}
.luw .luw-exit-eg{font-size:14px; margin-top:10px}
.luw .luw-exit-eg a{color:var(--luw-accent)}
.luw .luw-exit-out{font-size:16px; line-height:1.5; margin-top:10px; font-weight:700; padding:12px 14px; border-radius:10px; background:var(--luw-ground)}
.luw .luw-exit-out:empty{display:none}

/* ---------- Before you decide ---------- */
.luw .luw-questions{margin-top:24px; display:flex; flex-direction:column; gap:14px; scroll-margin-top:20px}
.luw .luw-qlist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; background:var(--luw-card); border:1px solid var(--luw-line); border-radius:14px; overflow:hidden}
.luw .luw-qlist li{display:flex; gap:14px; padding:16px 18px; border-top:1px solid var(--luw-line); margin:0}
.luw .luw-qlist li:first-child{border-top:0}
.luw .luw-qn{width:30px; height:30px; border-radius:15px; background:var(--luw-accent-soft); color:var(--luw-accent-dk); font-family:var(--luw-display); font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; flex:none}
.luw .luw-qt{font-weight:700; font-size:16px}
.luw .luw-tip{margin-top:4px; font-size:15px; color:var(--luw-soft)}
.luw .luw-qs{display:flex; align-items:center; gap:6px; margin-top:6px; font-size:13px; font-weight:700}
.luw .luw-done{color:var(--luw-green)}
.luw .luw-free{color:var(--luw-ex-ink)}
.luw .luw-paid{color:var(--luw-muted)}
.luw .luw-guides{display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:4px 2px}
.luw .luw-guides-title{width:100%; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--luw-accent)}
.luw .luw-guides a{display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border:1.5px solid var(--luw-field); border-radius:999px; background:var(--luw-card); color:var(--luw-accent-dk); font-weight:700; font-size:15px; text-decoration:none}
.luw .luw-guides a:hover{border-color:var(--luw-accent)}

/* ---------- Retirement Move Report (dark panel, like the dashboard menu) ---------- */
.luw .luw-report{margin-top:14px; padding:24px 20px; border-radius:16px; background:var(--luw-report); color:var(--luw-report-ink); display:flex; flex-direction:column; gap:16px; scroll-margin-top:20px}
.luw .luw-report .luw-eyebrow{color:var(--luw-gold)}
.luw .luw-report h2{font-size:27px; color:#fff}
.luw .luw-report ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.luw .luw-report li{display:flex; gap:10px; font-size:15px; margin:0}
.luw .luw-report li svg{flex:none; margin-top:3px; color:var(--luw-gold)}
.luw .luw-report-lead{font-size:16px; color:var(--luw-report-ink); line-height:1.55}
.luw .luw-report-use{font-size:14px; color:var(--luw-report-muted)}
.luw .luw-report-use a{color:var(--luw-gold)}
.luw .luw-horizon{display:flex; gap:8px; flex-wrap:wrap}
.luw .luw-horizon span{padding:6px 12px; border-radius:999px; border:1.5px solid rgba(240,184,90,.6); color:var(--luw-gold); font-size:13px; font-weight:700}
.luw .luw-price{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.luw .luw-amt{font-family:var(--luw-display); font-weight:800; font-size:38px; color:#fff}
.luw .luw-per{font-size:14px; color:var(--luw-report-muted)}
.luw .luw-buy{display:flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:12px 18px; border-radius:10px; background:var(--luw-gold); color:#1D1300; font-weight:700; font-size:17px; text-decoration:none; text-align:center}
.luw .luw-buy:hover{background:#F5C87A; color:#1D1300}
.luw .luw-promise{display:flex; align-items:center; justify-content:center; gap:8px; font-size:14px; color:var(--luw-report-muted); text-align:center}
.luw .luw-private-dark{margin:0; color:var(--luw-report-muted); align-items:flex-start; font-weight:400}
.luw .luw-private-dark svg{margin-top:2px; color:var(--luw-gold)}
.luw .luw-sr{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.luw .luw-vs-wrap{overflow-x:auto; margin:0 -4px}
.luw .luw-vs{width:100%; border-collapse:collapse; font-size:14px; color:var(--luw-report-ink); margin:0; border:0; table-layout:fixed}
.luw .luw-vs th, .luw .luw-vs td{border:0; border-top:1px solid rgba(238,244,247,.14); padding:10px 4px; vertical-align:middle; background:transparent; color:inherit}
.luw .luw-vs thead th{border-top:0; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--luw-report-muted); text-align:center}
.luw .luw-vs thead th:first-child{width:52%}
.luw .luw-vs thead th:not(:first-child){width:24%}
.luw .luw-vs thead th:last-child{color:var(--luw-gold)}
.luw .luw-vs tbody th{font-weight:400; text-align:left; line-height:1.35}
.luw .luw-vs td{text-align:center}
.luw .luw-vs td:last-child{background:rgba(240,184,90,.08)}
.luw .luw-yes{display:inline-flex; color:var(--luw-gold)}
.luw .luw-no{color:var(--luw-report-muted); font-size:18px}
.luw .luw-cell-txt{font-size:12px; font-weight:700; line-height:1.25; display:block}
.luw .luw-vs td:last-child .luw-cell-txt{color:var(--luw-gold)}
.luw .luw-choose{display:flex; flex-direction:column; gap:12px; padding:16px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid rgba(240,184,90,.4)}
.luw .luw-choose[hidden]{display:none}
.luw .luw-choose-title{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--luw-gold)}
.luw .luw-choice{display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:10px; background:var(--luw-card); color:var(--luw-ink)}
.luw .luw-choice b{font-size:17px; color:var(--luw-ink); font-family:var(--luw-display); font-weight:800}
.luw .luw-choice-price{font-family:var(--luw-display); font-weight:800; font-size:24px; color:var(--luw-accent-dk); white-space:nowrap}
.luw .luw-choice-txt{font-size:15px; color:var(--luw-soft); line-height:1.45}
.luw .luw-choice .luw-buy{background:var(--luw-accent); color:#fff}
.luw .luw-choice .luw-buy:hover{background:var(--luw-accent-dk); color:#fff}
.luw .luw-choice .luw-buy-alt{background:var(--luw-card); color:var(--luw-accent-dk); border:2px solid var(--luw-accent)}
.luw .luw-choice .luw-buy-alt:hover{background:var(--luw-accent-soft); color:var(--luw-accent-dk)}
.luw .luw-save{align-self:flex-start; font-size:12px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--luw-sun-soft); color:var(--luw-ex-ink)}
.luw .luw-more{font-size:14px; font-weight:700; color:var(--luw-accent-dk); text-align:center; min-height:44px; display:flex; align-items:center; justify-content:center}
.luw .luw-choose .luw-promise{color:var(--luw-report-muted)}
.luw .luw-preview{margin:0; display:flex; flex-direction:column; gap:8px}
.luw .luw-preview img{display:block; width:100%; height:auto; border-radius:12px; border:1px solid rgba(238,244,247,.2); background:#fff}
.luw .luw-preview figcaption{font-size:13px; color:var(--luw-report-muted); text-align:center}
.luw .luw-free-first{display:block; text-align:center; font-size:15px; font-weight:700; color:var(--luw-accent-dk); min-height:44px; padding-top:12px}
.luw .luw-free-first[hidden]{display:none}
.luw .luw-choose .luw-free-first, .luw .luw-free-light{color:var(--luw-gold); padding-top:6px}
@media (min-width:1100px){
  .luw .luw-report{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 28px; align-items:start; padding:28px}
  .luw .luw-report > *{grid-column:1}
  .luw .luw-report > .luw-preview, .luw .luw-report > .luw-vs-wrap{grid-column:2}
  .luw .luw-report > .luw-preview{grid-row:1 / span 6}
  .luw .luw-report > .luw-vs-wrap{grid-row:7 / span 6}
}

.luw .luw-disclaimer{margin-top:20px; font-size:13px; color:var(--luw-muted); text-align:center}

/* ---------- Sticky bar (phone only; the rail tile does this job on desktop) ---------- */
.luw .luw-sticky{position:fixed; left:0; right:0; bottom:0; z-index:999; display:flex; justify-content:center; pointer-events:none; transform:translateY(110%); transition:transform .25s}
.luw .luw-sticky.luw-show{transform:none}
.luw .luw-sticky-inner{pointer-events:auto; width:100%; max-width:620px; background:var(--luw-side); color:var(--luw-side-ink); padding:10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); display:flex; align-items:center; justify-content:space-between; gap:10px; box-shadow:0 -4px 16px rgba(16,35,46,.18)}
.luw .luw-sticky-lbl{font-size:12px; color:var(--luw-side-muted)}
.luw .luw-sticky-v{font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; color:#fff; overflow-wrap:anywhere; min-width:0}
.luw .luw-sticky a{min-height:44px; display:flex; align-items:center; padding:0 14px; border-radius:10px; background:var(--luw-gold); color:#1D1300; font-weight:700; font-size:14px; text-decoration:none; white-space:nowrap}
@media (min-width:1000px){ .luw .luw-sticky{display:none} .luw{padding-bottom:40px} }

@media (prefers-reduced-motion: reduce){ .luw .luw-bar i, .luw .luw-sticky{transition:none} }

/* Option colours win over the panel defaults (kept last on purpose) */
.luw .luw-kpi.luw-c-stay{--c:var(--luw-o-stay)}
.luw .luw-kpi.luw-c-sh_price, .luw .luw-cmp-row.luw-c-sh_price{--c:var(--luw-o-sh)}
.luw .luw-kpi.luw-c-ll_price, .luw .luw-cmp-row.luw-c-ll_price{--c:var(--luw-o-ll)}
.luw .luw-kpi.luw-c-vg_entry, .luw .luw-cmp-row.luw-c-vg_entry{--c:var(--luw-o-vg)}
@media (max-width:999px){ .luw .luw-main{padding:0 12px} }

/* 2.11.1: the Report peek from the Value Upgrade plugin. Text on a solid band under the blurred image, so it is always readable. */
.luw a.luvu-peek{background:var(--luw-side); border-color:var(--luw-side)}
.luw a.luvu-peek img{height:120px; opacity:.85}
.luw a.luvu-peek span{position:static; inset:auto; background:var(--luw-side); padding:14px 16px; gap:4px}
.luw a.luvu-peek span b{color:#fff; font-family:var(--luw-display); font-weight:800}
.luw a.luvu-peek span *{text-shadow:none}
.luw a.luvu-peek:hover span{background:#0D1C25}
