
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{--ink:#0B1117;--white:#fff;--soft:#F5F7FA;--red:#D71920;--red-dark:#A8131A;
      --line:rgba(11,17,23,.10);--line-2:rgba(11,17,23,.20);--muted:rgba(11,17,23,.6);
      --font:'Inter',system-ui,-apple-system,sans-serif;--radius:7px;--max:760px}
    html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
    body{background:var(--soft);color:var(--ink);font-family:var(--font);line-height:1.5;overflow-x:hidden;padding-bottom:78px}
    a{color:inherit}svg{display:block}
    h1{font-weight:800;letter-spacing:-.035em;font-size:26px;line-height:1.05}
    h2{font-weight:800;letter-spacing:-.02em;font-size:18px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
    .eyebrow::before{content:'';width:22px;height:2px;background:var(--red)}
    .wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

    nav.main{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:54px}
    .nav-inner{max-width:var(--max);margin:0 auto;padding:0 16px;height:100%;display:flex;align-items:center;justify-content:space-between}
    .brand{text-decoration:none;font-weight:900;letter-spacing:-.03em;font-size:16px}.brand b{color:var(--red)}
    .nav-exit{font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none}

    .intro{padding:22px 0 6px}
    .intro p{color:var(--muted);font-size:14.5px;margin-top:8px}

    /* STAGE — sticky on mobile so the boat stays visible while you personalize */
    .stage-wrap{position:sticky;top:110px;z-index:50;background:var(--soft);padding:10px 0 6px;margin-top:12px}
    .stage{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#0c1622,#16212e 60%,#0c1622);aspect-ratio:4/5}
    .stage svg{width:100%;height:100%}
    .stage .empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 26px;color:#fff}
    .stage .empty .ghost{width:78%;max-width:340px;margin-bottom:6px;opacity:.9}
    .stage .empty .eyebrow-w{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
    .stage .empty .ehead{font-size:23px;font-weight:800;letter-spacing:-.03em;margin-top:8px}
    .stage .empty .esub{font-size:13px;line-height:1.5;color:rgba(255,255,255,.72);max-width:330px;margin-top:9px}
    .stage .empty .ecta{font-size:11.5px;font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,.9);margin-top:16px;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:8px 14px}
    .stage .views{position:absolute;inset:0;display:flex;flex-direction:column;padding:34px 10px 30px}
    .stage .viewpane{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
    .stage .viewpane+.viewpane{border-top:1px solid rgba(11,17,23,.08)}
    .stage:not(.light) .viewpane+.viewpane{border-top-color:rgba(255,255,255,.1)}
    .stage .vlabel{position:absolute;right:8px;top:5px;font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,17,23,.3);z-index:2}
    .stage:not(.light) .vlabel{color:rgba(255,255,255,.35)}
    .stage .artbox{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2px 4px}
    .stage .artbox svg{width:auto;height:auto;max-width:100%;max-height:100%}
    .stage.light{background:linear-gradient(160deg,#f6f8fa,#e8edf2 60%,#f2f5f8)}
    .stage.light .badge .bn{color:var(--ink)}
    .stage.light .badge .bt{color:rgba(11,17,23,.55)}
    .stage.light .ph{color:rgba(11,17,23,.28)}
    .stage.light .chip{color:var(--ink);background:rgba(11,17,23,.06);border-color:rgba(11,17,23,.14)}
    .stage.light .viewtoggle{background:rgba(11,17,23,.06);border-color:rgba(11,17,23,.15)}
    .stage.light .viewtoggle button{color:rgba(11,17,23,.55)}
    .stage.light .viewtoggle button.on{background:var(--ink);color:#fff}
    .stage .badge{position:absolute;left:14px;top:12px;color:#fff;z-index:3}
    .stage .badge .bn{font-size:18px;font-weight:800;letter-spacing:-.03em}
    .stage .badge .bt{font-size:11.5px;color:rgba(255,255,255,.7)}
    .stage .ph{position:absolute;right:12px;bottom:10px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.32);z-index:3}
    .stage .spec{position:absolute;left:14px;bottom:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:3;max-width:70%}
    .stage .chip{font-size:10.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:3px 9px}
    .viewtoggle{position:absolute;right:12px;bottom:12px;display:flex;gap:4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:3px;z-index:4}
    .viewtoggle button{font-family:var(--font);font-size:11px;font-weight:700;color:rgba(255,255,255,.7);background:none;border:none;border-radius:40px;padding:5px 12px;cursor:pointer}
    .viewtoggle button.on{background:#fff;color:var(--ink)}

    section.blk{padding:22px 0 2px;border-top:1px solid var(--line);margin-top:18px}
    section.blk:first-of-type{border-top:none}
    .blk h2{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:2px;position:relative;padding-right:22px;transition:opacity .12s}
    .blk h2::after{content:'▾';position:absolute;right:2px;font-size:12px;color:var(--muted);transition:transform .18s}
    section.blk.collapsed h2::after{transform:rotate(-90deg)}
    section.blk.collapsed h2{opacity:.62}
    section.blk.collapsed:hover h2{opacity:1}
    .step-sum{font-size:12.5px;font-weight:500;color:var(--muted);letter-spacing:0}
    .blk h2 .hint{font-size:12.5px;font-weight:500;color:var(--muted);margin-left:8px;letter-spacing:0}
    section.blk.collapsed h2 .hint{display:none}
    .blk-sub{color:var(--muted);font-size:13px;margin:4px 0 14px}

    /* model picker */
    /* series-first picker */
    .series-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-bottom:14px}
    .series-tile{font-family:var(--font);cursor:pointer;background:#fff;border:1.5px solid var(--line-2);border-radius:7px;padding:10px 8px 9px;text-align:center;transition:border-color .12s,background .12s}
    .series-tile.on{border-color:var(--red);background:rgba(215,25,32,.04)}
    .series-tile .st-thumb{height:34px;display:flex;align-items:center;justify-content:center;margin-bottom:5px}
    .series-tile .st-thumb svg{max-height:32px;max-width:100%;width:auto;height:auto}
    .series-tile .st-name{font-size:13px;font-weight:800;letter-spacing:-.02em}
    .series-tile .st-sub{font-size:9.5px;color:var(--muted);margin-top:1px;line-height:1.2;min-height:22px}
    .series-tile .st-meta{font-size:9.5px;color:var(--muted);margin-top:4px}
    .series-tile .st-meta b{color:var(--ink);font-weight:700}
    .series-tile.on .st-meta b{color:var(--red)}
    .models{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
    .mcard{position:relative;border:1.5px solid var(--line-2);border-radius:var(--radius);background:#fff;cursor:pointer;padding:12px;transition:border-color .12s,box-shadow .12s}
    .mcard.sel{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
    .mcard .sz{font-size:10.5px;color:var(--red);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
    .mcard .nm{font-weight:800;font-size:15px;margin-top:1px}
    .mcard .tg{font-size:11.5px;color:var(--muted);margin:3px 0 6px;min-height:30px}
    .mcard .pr{font-size:12.5px;font-weight:700}
    .mcard .ck{position:absolute;top:8px;right:8px;width:19px;height:19px;border-radius:50%;background:var(--red);color:#fff;display:none;align-items:center;justify-content:center;font-size:11px}
    .mcard.sel .ck{display:flex}
    /* collapsed-step summary */
    .picked{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px solid var(--red);border-radius:var(--radius);background:rgba(215,25,32,.05);padding:12px 14px}
    .picked .pk-n{font-weight:800;font-size:15px}
    .picked .pk-m{font-size:12px;color:var(--muted);margin-top:1px}
    .pk-edit{font-size:12.5px;font-weight:700;color:var(--red);background:none;border:1.5px solid var(--red);border-radius:6px;padding:7px 15px;cursor:pointer;flex-shrink:0;font-family:var(--font)}
    .pk-edit:hover{background:var(--red);color:#fff}

    /* personalize controls */
    .label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:16px 0 9px}
    .label:first-child{margin-top:0}
    .label .lnote{font-weight:500;text-transform:none;letter-spacing:0;margin-left:6px}
    .zonetabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
    .zonetab{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:1.5px solid var(--line-2);border-radius:6px;background:#fff;padding:7px 13px;font-size:12.5px;font-weight:700}
    .zonetab .zdot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(11,17,23,.25)}
    .zonetab.on{border-color:var(--red);background:rgba(215,25,32,.05);color:var(--red)}
    .swatches{display:flex;gap:11px;flex-wrap:wrap}
    .swatch{cursor:pointer;text-align:center;width:56px}
    .swatch .dot{width:42px;height:42px;border-radius:50%;border:2px solid var(--line-2);margin:0 auto;transition:transform .1s;position:relative;overflow:hidden}
    .swatch .dot .stdtag{position:absolute;bottom:0;left:0;right:0;font-size:7px;font-weight:800;letter-spacing:.06em;background:rgba(11,17,23,.75);color:#fff;padding:1px 0;text-transform:uppercase}
    .swatch.sel .dot{border-color:var(--red);box-shadow:0 0 0 2px var(--red);transform:scale(1.05)}
    .swatch .lbl{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.15}
    .pills{display:flex;gap:9px;flex-wrap:wrap}
    .pill{cursor:pointer;border:1.5px solid var(--line-2);border-radius:6px;background:#fff;padding:10px 15px;font-size:13.5px;font-weight:600;transition:border-color .12s,background .12s}
    .pill .ps{display:block;font-size:11px;font-weight:500;color:var(--muted)}
    .pill.sel{border-color:var(--red);background:rgba(215,25,32,.05)}
    .pill.sel .ps{color:var(--red)}

    /* options accordion */
    .ocat{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:9px;overflow:hidden}
    .ocat-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;user-select:none}
    .ocat-h .t{font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
    .ocat-h .meta{display:flex;align-items:center;gap:8px}
    .ocat-h .n{font-size:11px;font-weight:700;color:var(--muted)}
    .ocat-h .n.hasSel{color:var(--red)}
    .ocat-h .car{transition:transform .15s;color:var(--muted);font-size:11px}
    .ocat.open .ocat-h .car{transform:rotate(180deg)}
    .ocat-b{display:none;padding:2px 14px 14px;border-top:1px solid var(--line)}
    .ocat.open .ocat-b{display:block}
    .ochips{display:flex;flex-direction:column;gap:8px;margin-top:11px}
    .ochip{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--line-2);border-radius:var(--radius);background:#fff;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s}
    .ochip.sel{border-color:var(--red);background:rgba(215,25,32,.04)}
    .ochip .cb{width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:4px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
    .ochip.sel .cb{background:var(--red);border-color:var(--red)}
    .ochip .on{font-size:13.5px;font-weight:600;line-height:1.3}
    .ochip .ot{font-size:11.5px;color:var(--muted);margin-top:1px}
    .opt-count{font-size:12.5px;color:var(--muted);margin:6px 0 0}
    .opt-count b{color:var(--red)}

    .form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:6px}
    .field{margin-bottom:13px}
    .field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
    .field input,.field select,.field textarea{width:100%;font-family:var(--font);font-size:16px;padding:12px;border:1.5px solid var(--line-2);border-radius:var(--radius);background:#fff;color:var(--ink)}
    .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red)}
    .field textarea{min-height:74px;resize:vertical}
    .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
    .hp-field{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
    .consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted);margin:4px 0 14px}
    .consent input{width:18px;height:18px;margin-top:1px;flex-shrink:0}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-weight:700;font-size:15px;border:none;border-radius:var(--radius);padding:14px 20px;cursor:pointer;text-decoration:none}
    .btn-red{background:var(--red);color:#fff;width:100%}.btn-red:hover{background:var(--red-dark)}
    .form-err{display:none;background:rgba(215,25,32,.07);border:1.5px solid var(--red);color:var(--red-dark);border-radius:var(--radius);font-size:13px;font-weight:600;padding:10px 12px;margin-bottom:12px}
    .form-err.show{display:block}

    .sumbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(11,17,23,.97);backdrop-filter:blur(10px);color:#fff;border-top:1px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom)}
    .sumbar-inner{max-width:var(--max);margin:0 auto;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .sm-name{font-weight:800;font-size:14px}.sm-meta{color:rgba(255,255,255,.6);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .s-price{text-align:right;flex-shrink:0}.sp-from{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}.sp-amt{font-weight:800;font-size:16px}
    .sumbar .btn-red{width:auto;padding:10px 16px;font-size:13.5px;flex-shrink:0}
    .sumbar-inner>div:first-child{min-width:0}
    @media(max-width:430px){.sp-from{font-size:8px}.sp-amt{font-size:14px}.sm-name{font-size:13px}}

    .done{max-width:520px;margin:48px auto;text-align:center;padding:0 18px}
    .done .ico{width:60px;height:60px;border-radius:50%;background:var(--red);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
    footer{max-width:var(--max);margin:32px auto 0;padding:20px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}


    /* Turo-style wizard chrome (UX-AUDIT-2026-08-10 §3) */
    .wiz{position:sticky;top:72px;z-index:95;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
    .wiz-inner{max-width:var(--max);margin:0 auto;padding:0 16px;height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px}
    .wiz-step{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .wiz-step .wz-n{color:var(--red)}
    .wiz-right{display:flex;align-items:center;gap:16px;flex-shrink:0}
    .wiz-next{font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;background:none;border:none;font-family:var(--font);padding:0}
    .wiz-next b{color:var(--ink)}
    .wiz-next:hover b{color:var(--red)}
    .wiz-all{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);background:none;border:none;cursor:pointer;font-family:var(--font);padding:0}
    .wiz-track{height:2px;background:var(--line)}
    .wiz-track b{display:block;height:100%;background:var(--red);transition:width .25s}
    .wiz-panel{display:none;border-top:1px solid var(--line);background:#fff;box-shadow:0 14px 22px -16px rgba(5,6,7,.35)}
    .wiz.open .wiz-panel{display:block}
    .wiz-panel ol{list-style:none;max-width:var(--max);margin:0 auto;padding:6px 16px 10px}
    .wiz-panel li{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--muted)}
    .wiz-panel li.cur{color:var(--ink)}
    .wiz-panel li .wp-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--muted);flex-shrink:0}
    .wiz-panel li.done .wp-dot{background:var(--red);border-color:var(--red);color:#fff}
    .wiz-panel li.cur .wp-dot{border-color:var(--red);color:var(--red)}
    .wiz-panel li .wp-sum{font-size:11.5px;font-weight:500;color:var(--muted);margin-left:auto;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}
    @media(max-width:430px){.wiz-next{display:none!important}}

    /* desktop niceties */
    @media(min-width:640px){
      h1{font-size:34px}
      .models{grid-template-columns:repeat(3,1fr)}
      .stage-wrap{position:static}
      .stage{aspect-ratio:5/4}
      .ochips{display:grid;grid-template-columns:1fr 1fr}
    }
    /* Wide screens: the 5/4 stage at full wrap width was ~1000px tall - the two
       stacked drawings were ALL you could see and every selection meant scrolling
       (Graham, 8/25). Side-by-side views + a viewport-capped height keep the boat
       AND the selectors on screen together. */
    @media(min-width:900px){
      .stage{aspect-ratio:auto;height:min(46vh,430px)}
      .stage .views{flex-direction:row;padding:30px 12px 26px}
      .stage .viewpane+.viewpane{border-top:0;border-left:1px solid rgba(11,17,23,.08)}
      .stage:not(.light) .viewpane+.viewpane{border-top:0;border-left:1px solid rgba(255,255,255,.1)}
      .stage .artbox{padding:6px 10px}
    }
  
.buildmeet{margin:16px 0 4px;padding:12px 14px;background:var(--soft,#F5F7FA);border-left:3px solid var(--blue,#0057A8);border-radius:0 4px 4px 0;font-size:14px;line-height:1.5;color:rgba(11,17,23,.78)}
.buildmeet b{color:var(--ink,#0B1117);font-weight:800}
