:root{--ink:#182934;--muted:#5e6b73;--page:#f5f5f0;--surface:#fff;--soft:#eeefeb;--line:#d9dfdd;--accent:#b82732;--accent-soft:#fff4f3;--navy:#172833;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:clamp(1.7rem,2.2vw,2.25rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px}
[data-theme=dark]{--ink:#ecf0ef;--muted:#a9b5ba;--page:#12222c;--surface:#1b2f3b;--soft:#253a46;--line:#3a4c57;--accent:#f2646e;--accent-soft:#3b2a32}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:var(--text-base);line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}a{color:inherit}.hidden{display:none!important}.skip{position:absolute;left:16px;top:-100px;z-index:10;background:var(--surface);padding:12px}.skip:focus{top:12px}.wrap{max-width:1320px;margin:auto;padding:0 var(--space-8)}
.site-header{background:var(--navy);color:#fff;border-bottom:3px solid #b82732}.header-inner{max-width:1320px;margin:auto;min-height:88px;display:flex;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-8)}.site-header img{display:block;width:220px;height:auto}.header-label{font-size:var(--text-xs);letter-spacing:.18em;color:#c5d0d4;font-weight:600}.header-actions{margin-left:auto;display:flex;gap:var(--space-2)}.header-btn{border:1px solid #637681;background:transparent;color:#fff;border-radius:3px;padding:var(--space-2) var(--space-3);min-height:44px;font-size:var(--text-xs)}.header-btn:hover{background:#273e4c}
.intro{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) 0 var(--space-10);gap:var(--space-10)}.eyebrow{font-size:var(--text-xs);font-weight:800;letter-spacing:.16em;color:var(--accent);margin:0 0 var(--space-3)}h1{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.04em;margin:0 0 var(--space-5);font-weight:800}h2{font-size:var(--text-lg);line-height:1.35;letter-spacing:-.02em;margin:0 0 var(--space-3)}h3{font-size:var(--text-base);margin:0 0 var(--space-4)}.lede{color:var(--muted);font-size:var(--text-base);margin:0;line-height:1.8}.intro-note{display:flex;gap:var(--space-6);font-size:var(--text-sm);font-weight:600;color:var(--muted);line-height:1.9}.small-rule{display:block;width:3px;background:var(--accent);align-self:stretch}.intro-note p{margin:0}.model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}.model-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.model-card:hover{transform:translateY(-4px);border-color:var(--accent)}.model-art{height:160px;background:#fff;display:flex;align-items:center;padding:var(--space-4)}.model-art img{width:100%;max-height:140px;object-fit:contain}.model-info{padding:var(--space-5);flex:1;display:flex;flex-direction:column}.model-type{font-size:var(--text-xs);color:var(--muted);letter-spacing:.12em;margin:0 0 var(--space-2);font-weight:600}.model-info h2{font-size:1.4rem;margin:0 0 var(--space-3)}.card-spec{font-size:var(--text-xs);color:var(--muted);display:flex;justify-content:space-between;padding:var(--space-2) 0;border-top:1px solid var(--line)}.card-price{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.card-price small{display:block;font-size:var(--text-xs);color:var(--muted)}.card-price strong{font-size:1.25rem;letter-spacing:-.03em}.model-info button{margin-top:var(--space-4)}
.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-4);border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:var(--text-sm);font-weight:700;min-height:48px;padding:var(--space-3) var(--space-5);border-radius:3px}.primary:hover{filter:brightness(.92)}.primary span{margin-left:auto}.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.secondary:hover{border-color:var(--accent)}.subtle,.fine-print{color:var(--muted);font-size:var(--text-xs);line-height:1.75}.gallery-note{margin:var(--space-6) 0 var(--space-12)}.text-btn{background:none;border:0;color:var(--muted);font-size:var(--text-sm);padding:var(--space-2) 0;min-height:44px}.text-btn:hover{color:var(--accent)}
.builder-top{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) 0}.builder-name{margin:0;font-size:var(--text-sm);font-weight:700}.year-label{margin-left:auto;font-size:var(--text-xs);display:flex;align-items:center;gap:var(--space-3);color:var(--muted)}.year-label select{width:96px}.steps{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--space-8)}.steps button{flex:1;border:0;background:none;color:var(--muted);padding:var(--space-4);font-size:var(--text-sm);font-weight:700;min-height:56px;border-bottom:2px solid transparent}.steps button.active{border-color:var(--accent);color:var(--ink)}.steps button span{margin-right:var(--space-3);font-size:var(--text-xs);color:var(--accent)}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-8);align-items:start;padding-bottom:var(--space-12)}.left-pane{min-width:0}.boat-hero{padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:4px;margin-bottom:var(--space-8)}.hero-title{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.hero-title h1{font-size:1.6rem;margin-bottom:0}.hero-title .eyebrow{margin-bottom:var(--space-2)}.hull-badge,.count-pill{font-size:var(--text-xs);border:1px solid var(--line);border-radius:3px;padding:var(--space-1) var(--space-3);white-space:nowrap;color:var(--muted)}.boat-hero>img{width:100%;height:220px;object-fit:contain;background:#fff;margin:var(--space-5) 0 var(--space-4);border-radius:3px}.boat-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.boat-facts div{border-left:2px solid var(--line);padding-left:var(--space-3)}.boat-facts small{font-size:var(--text-xs);color:var(--muted);display:block}.boat-facts strong{font-size:var(--text-sm)}.reference-note{font-size:var(--text-xs);color:var(--muted);margin:var(--space-4) 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.section-heading .eyebrow{margin-bottom:var(--space-2)}.section-heading h2{margin:0}.notice{background:var(--accent-soft);padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);font-size:var(--text-sm);color:var(--ink);border-radius:2px}
.option-group,.standard{background:var(--surface);border:1px solid var(--line);border-radius:3px;margin-bottom:var(--space-3);overflow:hidden}.option-group summary,.standard summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:var(--text-sm);font-weight:800;padding:var(--space-4) var(--space-5);min-height:56px;list-style:none;gap:var(--space-3)}summary::-webkit-details-marker{display:none}.option-group summary::after,.standard summary::after{content:"+";font-size:1.3rem;font-weight:400;color:var(--muted)}.option-group[open] summary::after,.standard[open] summary::after{content:"−"}.group-count{margin-left:auto;font-size:var(--text-xs);font-weight:500;color:var(--muted)}.option-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);cursor:pointer;align-items:start;min-height:64px}.option-row.selected{background:var(--accent-soft)}.option-row:hover{background:var(--soft)}.option-row input{accent-color:var(--accent);margin-top:4px;width:18px;height:18px}.option-name{font-size:var(--text-sm);font-weight:600;line-height:1.55}.option-description{display:block;color:var(--muted);font-size:var(--text-xs);font-weight:400;margin-top:var(--space-2);line-height:1.7}.option-price{font-size:var(--text-sm);font-weight:700;white-space:nowrap;padding-top:1px}.option-price.pending{color:var(--accent);font-size:var(--text-xs)}.option-requirement{font-size:var(--text-xs);color:var(--accent);display:block;margin-top:var(--space-2)}.standard{margin-top:var(--space-8)}#standard-list{padding:0 var(--space-5) var(--space-5)}#standard-list h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm)}#standard-list ul{padding-left:var(--space-5);color:var(--muted);font-size:var(--text-sm)}.next-btn{margin:var(--space-6) 0 0;width:100%}
.price-panel{position:sticky;top:var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:3px}.price-panel h2{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--space-4)}.price-panel .eyebrow{margin-bottom:var(--space-2)}.price-number{font-size:1.9rem;letter-spacing:-.05em;line-height:1.2;font-weight:800}.price-caption{font-size:var(--text-xs);margin:var(--space-2) 0 var(--space-5);color:var(--muted)}.price-line{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);padding:var(--space-2) 0}.price-line strong{font-weight:600;white-space:nowrap}.panel-total{display:flex;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm)}.panel-total strong{font-weight:800}.payment{background:var(--soft);padding:var(--space-4);margin:var(--space-5) 0}.payment>span{font-size:var(--text-xs);color:var(--muted);display:block}.payment>strong{display:block;font-size:1.4rem;letter-spacing:-.04em}.payment small{font-size:var(--text-xs);color:var(--muted)}.panel-cta{width:100%}.price-panel .fine-print{font-size:var(--text-xs);margin-bottom:0}#quote-warnings{color:var(--accent);font-size:var(--text-xs);line-height:1.7;margin-top:var(--space-3)}#quote-warnings ul{padding-left:var(--space-4);margin:var(--space-2) 0}
.form-card{background:var(--surface);border:1px solid var(--line);padding:var(--space-5);border-radius:3px;margin-bottom:var(--space-4)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}label{font-size:var(--text-sm);font-weight:600}label>input:not([type=checkbox]),label>select{display:block;width:100%;margin-top:var(--space-2)}input:not([type=checkbox]),select{border:1px solid var(--line);color:var(--ink);background:var(--surface);padding:var(--space-3);border-radius:3px;min-height:48px;width:100%;max-width:100%;font-size:var(--text-sm)}.check-line{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;min-height:44px}.check-line input{accent-color:var(--accent);width:18px;height:18px}#trailer-cost-label{display:block;margin-top:var(--space-3)}.form-card .subtle{margin-bottom:0}.review-box{background:var(--surface);border:1px solid var(--line);padding:var(--space-5);margin-bottom:var(--space-4)}.review-box h3{margin:0 0 var(--space-4)}.review-row{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.review-row:last-child{border:0}.review-row strong{text-align:right;font-size:var(--text-sm)}.review-meta{font-size:var(--text-sm);color:var(--muted);line-height:1.9}.review-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.review-actions button{flex:1;min-width:150px}.error-box{margin:var(--space-6) auto;max-width:1000px;background:var(--accent-soft);border:1px solid var(--accent);padding:var(--space-4);font-size:var(--text-sm)}.site-footer{border-top:1px solid var(--line);padding:var(--space-8) 0;color:var(--muted);font-size:var(--text-xs)}.site-footer .wrap{display:flex;justify-content:space-between;gap:var(--space-6)}.site-footer span{letter-spacing:.12em;white-space:nowrap;font-weight:700}.site-footer p{margin:0;max-width:560px}
dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:var(--space-8);border-radius:5px;width:min(520px,calc(100% - 32px))}dialog::backdrop{background:rgba(15,29,38,.6)}.dialog-close{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:0;color:var(--muted);font-size:1.6rem;min-width:44px;min-height:44px}.dialog-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.build-code{font-family:monospace;font-size:1.1rem!important;letter-spacing:.06em}.dialog-status{font-size:var(--text-sm);color:var(--accent)}
@media(max-width:1050px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-layout{grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-5)}.price-panel{padding:var(--space-5)}.header-label{display:none}.price-number{font-size:1.7rem}.wrap,.header-inner{padding-left:var(--space-5);padding-right:var(--space-5)}}
@media(max-width:760px){.intro{padding:var(--space-8) 0;display:block}.intro-note{display:none}.lede br{display:none}.header-inner{min-height:76px;gap:var(--space-3)}.site-header img{width:155px}.header-btn{padding:var(--space-2);font-size:var(--text-xs)}.header-actions{gap:var(--space-2)}.model-grid{gap:var(--space-3)}.model-info{padding:var(--space-4)}.model-art{height:120px;padding:var(--space-2)}.model-info h2{font-size:var(--text-lg)}.card-spec{display:block}.card-price strong{font-size:var(--text-base)}.model-info .primary{padding:var(--space-3) var(--space-2);font-size:var(--text-xs)}.builder-layout{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:110px}.left-pane,.price-panel{width:100%}.price-panel{position:static}.builder-top{flex-wrap:wrap;gap:var(--space-3)}.builder-name{font-size:var(--text-xs)}.year-label{width:100%;justify-content:flex-end}.steps button{padding:var(--space-3) var(--space-1);font-size:var(--text-xs)}.steps button span{display:block;margin:0}.boat-hero{padding:var(--space-4)}.hero-title{align-items:start}.hero-title h1{font-size:1.3rem}.hero-title .eyebrow{font-size:var(--text-xs)}.hull-badge{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);white-space:normal}.boat-hero>img{height:165px}.boat-facts{gap:var(--space-2)}.boat-facts strong{font-size:var(--text-xs)}.option-row{padding:var(--space-3);grid-template-columns:18px minmax(0,1fr) auto;gap:var(--space-2)}.option-price{font-size:var(--text-xs)}.option-price.pending{max-width:72px;white-space:normal;text-align:right}.option-group summary{padding:var(--space-4)}.section-heading{align-items:start}.count-pill{padding:var(--space-1) var(--space-2)}.field-grid{grid-template-columns:1fr}.site-footer .wrap{display:block}.site-footer p{margin-top:var(--space-3)}.review-row{font-size:var(--text-xs)}.review-row strong{font-size:var(--text-xs)}}
.mobile-price{display:none}
.payment small{display:block}.price-line{padding-top:5px;padding-bottom:5px}
@media(min-width:761px){.price-panel{max-height:calc(100dvh - 40px);overflow-y:auto}}
.reset-top{font-size:12px;min-height:38px;padding:8px 12px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading .eyebrow{font-size:11px;letter-spacing:.08em}.panel-heading .text-btn{font-size:12px;white-space:nowrap;min-height:36px;padding:4px 0}.wide-field{grid-column:1/-1}textarea{font:inherit;resize:vertical;min-height:72px;display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:3px;padding:12px;font-size:14px}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.contact-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-summary dl{margin:0}.contact-summary dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;padding:4px 0;font-size:12px}.contact-summary dt{color:var(--muted)}.contact-summary dd{margin:0;overflow-wrap:anywhere}.contact-summary h3{font-size:14px}.contact-forms .form-card{border-top:3px solid var(--navy)}
@media(max-width:760px){.contact-summary{grid-template-columns:1fr}.reset-top{margin-left:auto}.mobile-price:not(.hidden){padding-left:12px;padding-right:12px;gap:8px}.mobile-price>div{flex:1;min-width:0}.mobile-price strong{font-size:12px;overflow-wrap:anywhere}.mobile-price button{flex-shrink:0;font-size:11px;padding:8px}.mobile-price .secondary{min-width:48px}}
@media print{.contact-forms,#contact-privacy{display:none!important}.contact-summary{grid-template-columns:1fr 1fr;gap:10px}.contact-summary dl>div{grid-template-columns:72px minmax(0,1fr);padding:2px 0;font-size:9px}.contact-summary h3{font-size:12px}.contact-summary .review-box{margin-bottom:8px}}
.pricing-options{margin-top:var(--space-6)}#discount-toggle{border:0;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:400;min-height:44px;padding:8px 0;text-align:left;cursor:pointer}#discount-toggle:hover{text-decoration:underline}#discount-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.discount-card{margin-top:var(--space-3)}.discount-card label{display:block;max-width:340px}.discount-line{color:var(--accent)}
@media print{.pricing-options,.discount-card{display:none!important}}
@media(max-width:760px){.card-spec span{display:block}.mobile-price:not(.hidden){position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:var(--surface);border-top:2px solid var(--accent);box-shadow:0 -3px 12px #00000012}.mobile-price small{display:block;font-size:12px;color:var(--muted)}.mobile-price strong{display:block;font-size:14px}.mobile-price button{font-size:12px;min-height:44px;padding:10px 12px}.site-footer{padding-bottom:110px}.error-box{position:fixed;bottom:90px;left:12px;right:12px;z-index:6}}
@media print{.mobile-price{display:none!important}.hero-title{width:100%!important}.hero-title:after{display:none!important}.hero-title h1{flex:1}.hull-badge{flex-shrink:0}.review-actions+p{display:none!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff!important;color:#111!important;font-size:11px}.site-header{padding:0;background:#172833!important}.header-inner{min-height:55px}.header-actions,.header-label,.skip,.builder-top,.steps,#chooser,#configure-step,#estimate-step,.review-actions,.price-panel,.site-footer,.reference-note,.error-box,dialog{display:none!important}.wrap{max-width:none;padding:0}.builder-layout{display:block}.left-pane{width:100%}#review-step{display:block!important}.boat-hero{border:0;padding:8px 0;margin:0 0 16px}.boat-hero>img{height:120px;width:45%;float:right;margin:0}.boat-facts{width:50%;padding:12px 0}.hero-title h1{font-size:24px}.hero-title{width:50%}.hero-title .eyebrow{display:none}.hull-badge{font-size:10px}.section-heading{clear:both;padding-top:8px}.review-box{break-inside:avoid;background:#fff;color:#111;padding:12px;margin-bottom:12px}.review-box h3{font-size:14px}.review-row{font-size:11px}.review-row strong{font-size:11px}.review-meta,.subtle{color:#444;font-size:10px}.eyebrow{color:#b82732}.notice{background:#fff;border:1px solid #b82732}.hero-title:after{content:"Build estimate";font-size:10px}.section-heading h2{font-size:18px}@page{size:letter;margin:.4in}}
@media print{body{line-height:1.3}.site-header{background:#fff!important;border-bottom:1px solid #111}.site-header img{filter:brightness(0);width:180px}.header-inner{min-height:38px;padding:5px 0}.boat-hero{margin-bottom:8px;padding:8px 0}.boat-hero>img{height:75px}.boat-facts{padding:6px 0}.hero-title h1{font-size:20px;margin-bottom:8px}.section-heading{margin:8px 0;padding-top:4px}.section-heading .eyebrow{display:none}.review-box{padding:8px;margin-bottom:8px}.review-box h3{margin-bottom:6px}.review-row{padding:3px 0;font-size:10px}.review-row strong{font-size:10px}.review-meta{line-height:1.4;margin:0}.subtle{font-size:9px}.section-heading h2{margin:0;font-size:16px}}
@media print{.review-row{padding:2px 0}.review-box{padding:7px;margin-bottom:6px}.contact-summary dl>div{padding:1px 0}.contact-summary .review-box{margin-bottom:6px}#review-content>.subtle{break-inside:avoid;line-height:1.3;font-size:9px;margin:6px 0 0}}
@media print{.deal-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;break-inside:avoid}.deal-summary .review-row{gap:5px;font-size:9px}.deal-summary .review-row strong{font-size:9px}.deal-summary h3{font-size:12px}.deal-summary .review-box{min-width:0}}
@media print{.review-row{padding-top:1px;padding-bottom:1px}.contact-summary dl>div{padding-top:0;padding-bottom:0}}
@media(min-width:1280px){#model-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.card-spec{flex-wrap:wrap;gap:4px}}
