:root{--ink:#102f49;--ink-soft:#234766;--orange:#c84b12;--gold:#e1a13a;--paper:#f4f0e7;--mist:#eef2f5;--line:#d6dfe6;--muted:#64798d;--white:#fff;--green:#26724a;--green-bg:#e7f3eb;--amber:#8c5a11;--amber-bg:#fff2db;--red:#9c321a;--red-bg:#fbe8e1;--shadow:0 18px 45px #0e2a3b14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mist);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;background:var(--orange);display:grid;place-items:center;color:#fff;font:700 15px Georgia,serif;box-shadow:6px 6px 0 var(--gold)}.brand small,.eyebrow{display:block;color:var(--gold);font:11px "Courier New",monospace;letter-spacing:2.3px;text-transform:uppercase}.brand strong{display:block;letter-spacing:1.2px;font-size:14px}.topbar nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-link{padding:8px 10px;color:var(--muted);font-size:12px}.nav-link:hover,.nav-link:focus-visible{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.demo-badge{border:1px solid var(--gold);padding:7px 10px;color:var(--amber);font:10px "Courier New",monospace;letter-spacing:1px;text-transform:uppercase;background:#fffaf1}.hero{background:var(--ink);color:#fff;padding:clamp(34px,7vw,76px);position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:0;top:0;width:24px;height:100%;background:repeating-linear-gradient(45deg,var(--gold) 0 12px,transparent 12px 28px)}.hero h1{font:700 clamp(42px,7vw,82px)/.96 Georgia,serif;letter-spacing:-2.5px;max-width:750px;margin:12px 0 18px}.hero p{max-width:720px;color:#ccdae4;font-size:18px;margin:0}.route-strip{display:flex;flex-wrap:wrap;gap:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.route-item{flex:1 1 180px;padding:18px 20px;border-right:1px solid var(--line)}.route-item:last-child{border-right:0}.route-item strong{display:block;color:var(--orange);font-size:12px;letter-spacing:1px;text-transform:uppercase}.route-item span{display:block;margin-top:5px;color:var(--muted);font-weight:600}.page-intro{padding:34px 0 18px;max-width:790px}.page-intro h1{font:700 clamp(34px,6vw,58px)/1.03 Georgia,serif;letter-spacing:-1.8px;margin:8px 0}.page-intro p{color:var(--muted);font-size:17px;margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.card-pad{padding:24px}.card h2{font:700 25px Georgia,serif;margin:0 0 7px}.card h3{margin:0;font-size:15px}.muted{color:var(--muted)}.notice{border-left:4px solid var(--gold);background:var(--amber-bg);padding:13px 15px;color:#694a19;font-size:13px}.notice strong{display:block;color:var(--ink);margin-bottom:3px}.notice.danger{border-left-color:var(--orange);background:var(--red-bg);color:var(--red)}.notice.success{border-left-color:var(--green);background:var(--green-bg);color:var(--green)}.button{border:0;padding:13px 17px;background:var(--orange);color:#fff;font-weight:800;letter-spacing:.2px;transition:transform .15s ease,background .15s ease}.button:hover{background:#a83b0b;transform:translateY(-1px)}.button.secondary{background:#fff;border:1px solid var(--ink);color:var(--ink)}.button.secondary:hover{background:#f6f8f9}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.button.small{padding:9px 12px;font-size:12px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px}.field.full{grid-column:1 / -1}.field label{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:1px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #c9d4dc;background:#fbfcfd;color:var(--ink);padding:12px 13px;border-radius:0}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #e1a13a99;outline-offset:2px}.field-help{font-size:11px;color:var(--muted)}.stepper{display:flex;align-items:stretch}.stepper input{width:100%;text-align:center;border-left:0!important;border-right:0!important}.stepper button{width:44px;border:1px solid #c9d4dc;background:#edf2f5;color:var(--ink);font-size:22px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;display:block}.choice input{position:absolute;opacity:0}.choice label{display:block;border:1px solid var(--line);padding:15px;cursor:pointer;background:#fff}.choice label strong{display:block}.choice label span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.choice input:checked+label{border-color:var(--orange);box-shadow:inset 4px 0 var(--orange);background:#fff8f3}.choice input:disabled+label{opacity:.55;cursor:not-allowed;background:#f2f4f5}.progress{display:flex;gap:6px;margin:0 0 22px}.progress span{height:4px;background:var(--line);flex:1}.progress span.active{background:var(--orange)}.form-step{display:none}.form-step.active{display:block}.step-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.estimate-card{position:sticky;top:18px;background:var(--ink);color:#fff;box-shadow:var(--shadow);overflow:hidden}.estimate-head{padding:22px;border-bottom:1px solid #ffffff25}.estimate-head small{color:var(--gold);font:11px "Courier New",monospace;letter-spacing:2px;text-transform:uppercase}.estimate-head h2{font:700 28px Georgia,serif;margin:6px 0}.estimate-head p{color:#b9cad6;font-size:13px;margin:0}.estimate-body{padding:20px 22px}.estimate-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#c4d1da;border-bottom:1px solid #ffffff18;font-size:13px}.estimate-line strong{color:#fff;white-space:nowrap}.estimate-line em{font-size:9px;color:var(--gold);font-style:normal;margin-left:5px;text-transform:uppercase}.estimate-total{display:flex;justify-content:space-between;gap:12px;padding:20px 0 6px;font-weight:800}.estimate-total span:last-child{font-size:26px;color:var(--gold)}.estimate-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.estimate-meta div{background:#ffffff0d;padding:10px}.estimate-meta small{display:block;color:#98afbf;font-size:10px;text-transform:uppercase}.estimate-meta strong{display:block;margin-top:3px;font-size:16px}.estimate-warning{margin-top:16px;padding:11px;background:#9c5b1526;color:#f5ca78;font-size:12px;border:1px solid #e1a13a66}.exclusions{padding-top:15px;margin-top:15px;border-top:1px solid #ffffff24;color:#a9becb;font-size:11px}.exclusions ul{padding-left:18px;margin:8px 0 0}.result-card{display:none;margin-top:18px}.result-card.show{display:block}.reference{font:700 20px "Courier New",monospace;color:var(--orange);letter-spacing:1px}.capacity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#fff;border:1px solid var(--line);padding:16px}.metric small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px}.metric strong{display:block;font-size:28px;margin-top:7px}.metric.accent strong{color:var(--orange)}.metric.green strong{color:var(--green)}.metric.gold strong{color:var(--amber)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0}.timeline-step{position:relative;padding:12px 10px 0;border-top:3px solid var(--line);color:var(--muted);font-size:12px}.timeline-step:before{content:"";display:block;width:12px;height:12px;background:var(--line);position:absolute;top:-8px;left:0}.timeline-step.done{border-color:var(--orange);color:var(--ink);font-weight:700}.timeline-step.done:before{background:var(--orange)}.timeline-step.current{border-color:var(--gold)}.timeline-step.current:before{background:var(--gold)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:var(--ink);color:#fff;text-align:left;padding:10px;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.data-table td{padding:11px 10px;border:1px solid var(--line);vertical-align:top}.data-table tr:hover td{background:#fbfcfd}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#e9eff3;color:var(--ink);font-size:11px;font-weight:800}.status-pill.success{background:var(--green-bg);color:var(--green)}.status-pill.warning{background:var(--amber-bg);color:var(--amber)}.status-pill.danger{background:var(--red-bg);color:var(--red)}.status-pill.info{background:#e8f0f6;color:#315e7c}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:30px 0 12px}.section-title h2{font:700 27px Georgia,serif;margin:0}.section-title p{margin:0;color:var(--muted);font-size:13px}.tariff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tariff{border:1px solid var(--line);padding:12px;background:#fff}.tariff label{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.tariff input{width:100%;margin-top:6px;padding:9px;border:1px solid var(--line)}.tariff small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{padding:10px;border:1px solid var(--line);background:#fff;color:var(--ink)}.footer{padding:38px 0 50px;color:var(--muted);font-size:11px}.footer strong{color:var(--ink)}.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line)}.hidden{display:none!important}.mono{font-family:"Courier New",monospace}.quote-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-summary div{padding:12px;background:#f6f8f9}.quote-summary small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.quote-summary strong{display:block;margin-top:3px}.callout{padding:18px;border:1px solid var(--line);background:#fff}.callout h3{margin:0 0 5px;font:700 20px Georgia,serif}.hero-actions{margin-top:26px}.link-arrow{color:var(--orange);font-weight:800;font-size:13px}.link-arrow:after{content:" →"}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.home-grid .card{min-height:220px}.home-grid .card p{color:var(--muted);font-size:14px}.home-grid .card .button{margin-top:10px}.small-note{color:var(--muted);font-size:11px}.toast{position:fixed;bottom:18px;right:18px;background:var(--ink);color:#fff;padding:13px 16px;box-shadow:var(--shadow);z-index:10}.toast.success{background:var(--green)}.toast.error{background:var(--red)}@media(max-width:820px){.layout{grid-template-columns:1fr}.estimate-card{position:static;order:-1}.capacity-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr;gap:13px}.timeline-step{border-top:0;border-left:3px solid var(--line);padding-left:14px;padding-top:4px}.timeline-step:before{left:-8px;top:3px}.timeline-step.done{border-left-color:var(--orange)}.timeline-step.current{border-left-color:var(--gold)}}@media(max-width:560px){.shell{width:min(100% - 22px,1180px)}.topbar{align-items:flex-start}.topbar nav{justify-content:flex-end}.hero{padding:30px 24px}.hero h1{font-size:48px}.hero p{font-size:15px}.form-grid,.choice-grid,.home-grid,.tariff-grid,.quote-summary{grid-template-columns:1fr}.field.full{grid-column:auto}.capacity-grid{grid-template-columns:1fr 1fr}.card-pad{padding:18px}.page-intro{padding-top:24px}.page-intro h1{font-size:42px}.route-item{border-right:0;border-bottom:1px solid var(--line)}.route-item:last-child{border-bottom:0}.step-actions{flex-direction:column-reverse}.step-actions .button{width:100%}.button-row .button{flex:1}.data-table{min-width:760px}.table-scroll{overflow:auto;margin:0 -1px}.estimate-total span:last-child{font-size:21px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
