*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.sub-head{height:88px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e5}.sub-logo{font-size:32px;font-weight:950;letter-spacing:-2px;text-decoration:none;color:#111}.sub-logo span{color:#ff640a}.sub-head-link{font-size:12px;font-weight:800;color:#111;text-decoration:none}.sub-main{max-width:1440px;margin:auto;padding:clamp(45px,7vw,100px) clamp(22px,5vw,72px) 110px}.sub-kicker{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.16em;color:#666;margin-bottom:32px}.ready-layout{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(40px,8vw,120px);align-items:center}.ready-label{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.16em;color:#626262;display:flex;align-items:center;gap:11px}.ready-dot{display:block;width:8px;height:8px;border-radius:50%;background:#ff640a;box-shadow:0 0 0 5px #ff640a20}.ready-copy h1{margin:25px 0;font-size:clamp(50px,7vw,96px);line-height:1.12;letter-spacing:-.065em;font-weight:950}.ready-copy h1 span{color:#ff640a}.ready-lead{font-size:clamp(16px,2vw,22px);font-weight:900;line-height:1.6}.ready-body{color:#555;font-size:14px;line-height:2;max-width:570px}.ready-steps{margin:32px 0;border-top:1px solid #ddd}.ready-steps div{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;padding:16px 0;border-bottom:1px solid #ddd}.ready-steps small{grid-row:span 2;color:#c64500;font:11px ui-monospace,monospace}.ready-steps b{font-size:14px}.ready-steps span{font-size:11px;color:#666}.ready-note{font-size:11px;line-height:1.8;color:#666;margin:25px 0}.sub-button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:17px 20px;background:#ff640a;color:#111;font-size:12px;font-weight:900;text-decoration:none}.sub-button span{font-size:18px}.ready-art{display:block;position:relative;overflow:hidden;color:#fff;background:#101010;aspect-ratio:1.1;box-shadow:16px 16px 0 #ff640a;text-decoration:none}.ready-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.ready-art:hover img{transform:scale(1.045)}.art-wash{position:absolute;inset:0;background:#08080835}.art-stamp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);display:flex;flex-direction:column;align-items:center;padding:20px 34px;border:3px solid #ff640a;background:#10101095;color:#fff;white-space:nowrap;box-shadow:0 5px 25px #0005}.art-stamp small{font:700 9px ui-monospace,monospace;letter-spacing:.13em}.art-stamp b{font-size:clamp(44px,6vw,76px);line-height:1.2;font-weight:950;letter-spacing:.05em}.art-stamp em{font:700 10px ui-monospace,monospace;letter-spacing:.2em;color:#ff640a;font-style:normal}.art-caption{position:absolute;left:22px;bottom:18px;font:700 10px ui-monospace,monospace;letter-spacing:.14em}.sub-footer{min-height:90px;padding:24px clamp(22px,5vw,72px);display:flex;justify-content:space-between;gap:20px;align-items:center;background:#111;color:#fff;font:10px ui-monospace,monospace;letter-spacing:.08em}.sub-footer a{color:#fff;text-decoration:none}.quote-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.quote-layout{display:grid;grid-template-columns:1fr .85fr;gap:50px;align-items:start}.quote-title{font-size:clamp(43px,6vw,76px);line-height:1.05;letter-spacing:-.06em;margin:18px 0 16px}.quote-intro{font-size:14px;color:#555;line-height:1.9;max-width:650px}.quote-card{border:1px solid #d9d9d9;border-top:4px solid #ff640a;padding:clamp(22px,4vw,42px);background:#fff}.quote-field{display:block;margin:0 0 22px}.quote-field label{display:block;font-size:12px;font-weight:900;margin-bottom:9px}.quote-field select,.quote-field input{width:100%;height:50px;padding:0 14px;border:1px solid #bbb;border-radius:0;background:#fff;color:#111;font:inherit;font-size:15px}.quote-field input[type=number]{font-variant-numeric:tabular-nums}.quote-hint{font-size:10px;color:#777;margin-top:7px}.quote-check{display:flex;align-items:flex-start;gap:11px;padding:14px 0;border-top:1px solid #eee;font-size:13px;font-weight:700;line-height:1.6}.quote-check input{width:18px;height:18px;accent-color:#ff640a;flex:0 0 auto;margin:0}.quote-result{margin-top:26px;padding:22px;background:#111;color:#fff}.quote-result-label{font:10px ui-monospace,monospace;letter-spacing:.12em;color:#ccc}.quote-result-amount{font-size:clamp(38px,5vw,58px);font-weight:950;letter-spacing:-.04em;margin:9px 0}.quote-result-amount small{font-size:13px;letter-spacing:0}.quote-breakdown{list-style:none;padding:0;margin:0}.quote-breakdown li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid #ffffff32;font-size:12px}.quote-disclaimer{font-size:11px;line-height:1.85;color:#666;margin-top:25px}.quote-editable{margin-top:44px;padding:24px;background:#f3f1ed;border-left:3px solid #ff640a}.quote-editable h2{font-size:18px;margin:0 0 10px}.quote-editable p,.quote-editable li{font-size:12px;line-height:1.8;color:#555}.quote-editable code{color:#111;background:#fff;padding:2px 5px}@media(max-width:780px){.sub-head{height:74px}.sub-logo{font-size:28px}.sub-main{padding-top:44px;padding-bottom:70px}.ready-layout,.quote-layout{grid-template-columns:1fr;gap:42px}.ready-copy h1{font-size:clamp(48px,12vw,76px)}.ready-art{max-width:620px;width:calc(100% - 14px)}.art-stamp b{font-size:clamp(44px,11vw,72px)}.quote-layout{gap:30px}.sub-footer{flex-wrap:wrap;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ready-art img{transition:none}}
/* Quote flow: compact controls, immediate feedback and a short brand loading reveal. */
.quote-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#111;color:#fff;transition:opacity .45s ease,visibility .45s ease}.quote-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.quote-loader-mark{display:flex;flex-direction:column;align-items:center;gap:13px}.quote-loader-mark>span{font-size:clamp(52px,10vw,88px);font-weight:950;letter-spacing:-.075em;animation:quoteMarkIn .55s cubic-bezier(.2,.8,.2,1) both}.quote-orange{color:#ff640a}.quote-loader-mark small{font:9px ui-monospace,monospace;letter-spacing:.22em;color:#aaa}.quote-loader-mark i{display:block;width:180px;height:2px;background:linear-gradient(90deg,#ff640a 50%,#ffffff2b 50%);background-size:200% 100%;animation:quoteLoad .7s ease-in-out both}.quote-entering .sub-head,.quote-entering .sub-main,.quote-entering .sub-footer{animation:quotePageIn .65s .12s cubic-bezier(.2,.8,.2,1) both}.quote-layout{gap:clamp(28px,4vw,64px)}.quote-intro-panel{position:sticky;top:34px}.quote-title{font-weight:950}.quote-card{box-shadow:0 18px 55px #0000000a;animation:quoteCardIn .7s .18s cubic-bezier(.2,.8,.2,1) both}.quote-card-heading{display:flex;align-items:center;justify-content:space-between;margin:-5px 0 25px;padding-bottom:16px;border-bottom:1px solid #e5e5e5}.quote-card-heading span{font:9px ui-monospace,monospace;letter-spacing:.14em;color:#777}.quote-card-heading b{font-size:17px}.quote-field label small{float:right;color:#777;font:10px ui-monospace,monospace}.distance-entry{position:relative}.distance-entry input{height:76px!important;padding-right:58px!important;font-size:32px!important;font-weight:900!important;letter-spacing:-.04em}.distance-entry>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:10px ui-monospace,monospace;letter-spacing:.12em;color:#777}.quote-field select:focus,.quote-field input:focus{outline:2px solid #ff640a;outline-offset:2px}.distance-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.distance-presets button{height:37px;border:1px solid #ddd;background:#fff;color:#333;font:700 11px ui-monospace,monospace;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.distance-presets button:hover{border-color:#ff640a;transform:translateY(-2px)}.distance-presets button.is-selected{border-color:#111;background:#111;color:#fff}.quote-options{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;align-items:center;border-top:1px solid #eee;padding-top:15px}.quote-check{align-items:center;padding:0;border:0}.quote-check b{margin-left:auto;color:#777;font-size:10px;white-space:nowrap}.wait-field{margin:0}.wait-field label{margin-bottom:6px}.wait-field select{height:42px!important;font-size:12px!important}.quote-result{margin-top:21px;padding:21px;overflow:hidden}.quote-result-top{display:flex;align-items:center;justify-content:space-between}.quote-result-label{display:flex;gap:9px;align-items:baseline;font:9px ui-monospace,monospace;letter-spacing:.12em;color:#ff640a}.quote-result-label span{font:700 11px Arial,sans-serif;letter-spacing:0;color:#fff}.quote-live{display:flex;gap:6px;align-items:center;font:8px ui-monospace,monospace;letter-spacing:.13em;color:#aaa}.quote-live i{width:6px;height:6px;border-radius:50%;background:#ff640a;animation:quotePulse 1.3s infinite}.quote-result-amount{display:flex;align-items:baseline;gap:5px;margin:7px 0 10px;font-size:clamp(40px,5vw,56px);font-variant-numeric:tabular-nums;font-weight:950;letter-spacing:-.055em}.quote-result-amount small{font-size:11px;font-weight:500;letter-spacing:0}.quote-number{display:inline-block}.quote-result-amount.is-changing .quote-number{animation:quoteAmountPop .35s cubic-bezier(.2,.8,.2,1)}.quote-meter{height:2px;background:#ffffff2a;margin:0 0 10px}.quote-meter i{display:block;height:100%;width:0;background:#ff640a;transition:width .45s cubic-bezier(.2,.8,.2,1)}.quote-result-message{font-size:10px;color:#aaa;margin:0 0 9px}.quote-breakdown li{animation:quoteRowIn .28s both}.quote-breakdown li:nth-child(2){animation-delay:.035s}.quote-breakdown li:nth-child(3){animation-delay:.07s}.quote-breakdown li:nth-child(4){animation-delay:.105s}.quote-result-foot{margin-top:10px;padding-top:9px;border-top:1px solid #ffffff32;font-size:9px;color:#aaa}.quote-card>.sub-button{display:flex;margin-top:18px}.quote-settings-note{max-width:850px;margin-top:72px!important}.quote-disclaimer{margin:14px 0 0}.quote-settings-note p{margin-bottom:0}
@keyframes quoteLoad{from{background-position:100% 0}to{background-position:0 0}}@keyframes quoteMarkIn{from{opacity:0;transform:translateY(12px);letter-spacing:-.11em}to{opacity:1;transform:translateY(0);letter-spacing:-.075em}}@keyframes quotePageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes quoteCardIn{from{opacity:0;transform:translateY(20px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes quoteAmountPop{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes quoteRowIn{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:translateX(0)}}@keyframes quotePulse{50%{box-shadow:0 0 0 5px #ff640a22;opacity:.55}}
@media(max-width:780px){.quote-intro-panel{position:static}.quote-card{padding:23px}.quote-options{grid-template-columns:1.12fr .88fr;gap:10px}.quote-card-heading{margin-top:0}.quote-settings-note{margin-top:45px!important}}
@media(max-width:430px){.quote-options{grid-template-columns:1fr}.quote-check{padding:10px 0 0}.quote-result{padding:18px}.distance-entry input{height:66px!important}.quote-result-amount{font-size:43px}}
@media(prefers-reduced-motion:reduce){.quote-loader{display:none!important}.quote-entering .sub-head,.quote-entering .sub-main,.quote-entering .sub-footer,.quote-card,.quote-loader-mark>span,.quote-loader-mark i,.quote-breakdown li{animation:none!important}.quote-result-amount.is-changing .quote-number{animation:none!important}.quote-meter i,.distance-presets button{transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.route-button{width:100%;min-height:48px;margin:8px 0 0;border:0;background:#ff640a;color:#111;font:800 12px/1.4 Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.route-button span{margin-right:7px;font-size:15px}.route-button:hover{background:#ff7c2f;transform:translateY(-2px)}.route-button:disabled{opacity:.65;cursor:wait;transform:none}.route-button.is-loading span{display:inline-block;animation:quoteSpin .8s linear infinite}.route-status{min-height:18px;margin:10px 0 3px;font-size:11px;line-height:1.65;color:#444}.route-status.is-error{color:#b42318}.route-privacy,.field-help{margin:3px 0 15px;font-size:10px;line-height:1.65;color:#777}.route-mode-field{margin-top:18px}.route-numbers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-field input[type=text],.quote-field input[type=number]{width:100%;height:48px;border:1px solid #d8d8d8;background:#fff;padding:0 12px;font:600 14px Arial,sans-serif;color:#111}.quote-field input[type=number]{font-variant-numeric:tabular-nums}.quote-field input:focus,.quote-field select:focus{outline:2px solid #ff640a;outline-offset:2px}.route-numbers .distance-entry input{height:58px!important;font-size:22px!important}.quote-field[hidden]{display:none}.official-toll-link{display:inline-block;margin:-6px 0 15px;color:#111;font-size:11px;font-weight:800;text-decoration-color:#ff640a;text-underline-offset:3px}.quote-settings-note .route-credit{margin-top:14px;color:#777;font-size:10px}.route-credit a{color:inherit}@keyframes quoteSpin{to{transform:rotate(360deg)}}@media(max-width:430px){.route-numbers{gap:9px}.route-numbers .quote-field label{font-size:11px}.route-numbers .distance-entry input{height:54px!important;font-size:20px!important}}
.quote-result-amount.is-comparison .quote-number{font-size:clamp(20px,3vw,30px);letter-spacing:0}.quote-result-amount.is-comparison small{display:none}
.quote-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 12px}.quote-option{position:relative;min-width:0;padding:17px 16px;border:1px solid #ffffff42;background:#ffffff08;overflow:hidden}.quote-option.is-recommended{border:2px solid #ff640a;background:#ff640a14;padding:16px 15px}.quote-option-route{display:block;color:#ff873f;font:9px/1.5 ui-monospace,monospace;letter-spacing:.12em}.quote-option-name{display:block;margin:5px 0 3px;font-size:12px}.quote-option-total{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.quote-option-total>span{font-size:clamp(27px,3.2vw,40px);line-height:1.25;font-weight:950;letter-spacing:-.055em;overflow-wrap:anywhere}.quote-option-total small{color:#ffb07f;font-size:10px;font-weight:700}.quote-option-detail{margin:8px 0 0;color:#bbb;font-size:10px;line-height:1.6}.quote-option-badge{position:absolute;right:12px;top:12px;padding:5px 8px;background:#ff640a;color:#111;font-size:9px;font-weight:900}.quote-result-message{margin-top:9px}.quote-breakdown-details{margin-top:17px;border-top:1px solid #ffffff32;padding-top:12px}.quote-breakdown-details>summary{color:#ff873f;font-size:11px;font-weight:800;cursor:pointer}.quote-breakdown{margin:10px 0 0}.quote-breakdown li:first-child,.quote-breakdown li:nth-child(4){margin-top:10px;padding-top:12px;border-top-color:#ffffff65}.quote-breakdown li:first-child span,.quote-breakdown li:nth-child(4) span{font-weight:900;color:#ff873f}
@media(max-width:560px){.quote-comparison{grid-template-columns:1fr;gap:9px;margin:13px 0 10px}.quote-option{padding:14px}.quote-option.is-recommended{padding:13px}.quote-option-total>span{font-size:clamp(32px,9vw,42px)}.quote-option-name{font-size:13px}.quote-option-detail{font-size:11px}.quote-result{padding:17px}.quote-result-label{letter-spacing:.06em}.quote-breakdown li{font-size:11px;gap:10px}.quote-settings-note{padding:20px}}
