:root{--bg:#171721;--card:#1e1e2a;--button:#272735;--ash:#c3c3cc;--ivory:#ededf3;--cyan:#1fc8e8;--orange:#ff684a;--paper:#f5f5f2;--line:#dfe2df;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#171717;font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.5}button,input,textarea{font:inherit}header{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(1240px,calc(100% - 40px));height:64px;padding:0 12px 0 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border:1px solid #ffffff1f;border-radius:40px;background:#17172138;backdrop-filter:blur(16px);transition:.3s}header.scrolled{top:10px;background:#1e1e2ade;backdrop-filter:blur(24px)}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.1em}.logo span{width:28px;height:28px;display:grid;place-items:center;border:1px solid;border-radius:50%;font-size:11px}nav{display:flex;gap:2px}nav a{padding:9px 15px;border-radius:40px;color:#fff;text-decoration:none;font-size:14px}.navcta{justify-self:end;min-height:40px;padding:0 20px;display:flex;align-items:center;border-radius:32px;background:var(--orange);color:#171717;text-decoration:none;font-size:14px}.menu{display:none}.hero{padding:160px max(24px,calc((100% - 1200px)/2)) 64px;background:var(--bg);color:#fff}.hero small,.screen>small{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--cyan)}.hero h1{margin:14px 0 8px;font-size:clamp(48px,5vw,70px);font-weight:420;line-height:1.05;letter-spacing:-.04em}.hero p{margin:0;color:var(--ash);font-size:18px}.work{width:min(var(--max),calc(100% - 48px));margin:auto;padding:48px 0 100px}.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:28px}.step{display:flex;align-items:center;gap:10px;padding:12px;border:0;border-radius:40px;background:transparent;color:#777;text-align:left}.step i{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:#ddd;font-style:normal;font-size:12px}.step.active{background:#fff;color:#171717}.step.active i{background:#337a8a;color:#fff}.step.done i{background:var(--cyan);color:#171717}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}form,aside{border:1px solid var(--line);border-radius:24px;background:#fff}form{padding:40px}.screen{display:none}.screen.active{display:block}.screen h2{max-width:700px;margin:12px 0 8px;font-size:clamp(34px,4vw,52px);font-weight:450;line-height:1.08;letter-spacing:-.035em}.screen>p{margin:0 0 32px;color:#687174;font-size:17px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choices label{cursor:pointer}.choices input{position:absolute;opacity:0}.choices span{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:18px;background:#fafaf8;transition:.2s}.choices b{font-size:20px}.choices em{color:#6c7274;font-style:normal;font-size:13px}.choices input:checked+span{border-color:var(--cyan);box-shadow:inset 0 0 0 2px var(--cyan);background:#eefbfd}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields label,.wide,.qty{display:grid;gap:8px;font-size:13px;font-weight:600}.fields input,.wide textarea,.qty input{width:100%;min-height:52px;padding:0 16px;border:1px solid #d4d7d5;border-radius:14px;background:#fafaf8;color:#171717;font-size:16px}.wide{margin-top:14px}.wide textarea{min-height:130px;padding:15px;resize:vertical}.qty{max-width:180px;margin-top:20px}.route{margin-top:24px;padding:26px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border-radius:18px;background:var(--bg);color:#fff;font-size:11px}.route i{height:2px;background:linear-gradient(90deg,var(--cyan) 0 72%,#39414a 72%);position:relative}.route i:after{content:"";position:absolute;left:70%;top:50%;width:14px;height:14px;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%)}.formnav{margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.formnav button{min-height:48px;padding:0 24px;border-radius:32px;border:0}.back{background:#eee}.next,.send{margin-left:auto;background:var(--orange)}.send{display:none}aside{position:sticky;top:96px;padding:26px;background:var(--bg);color:#fff}aside>small{font-size:11px;letter-spacing:.1em;color:var(--cyan)}aside h3{margin:10px 0 24px;font-size:25px;font-weight:450}aside dl{margin:0}aside dl div{padding:14px 0;border-top:1px solid #ffffff18}aside dt{color:#9699a5;font-size:11px}aside dd{margin:4px 0 0;font-size:15px}aside p{margin:22px 0 0;color:#9699a5;font-size:12px}
@media(max-width:760px){header{top:10px;width:calc(100% - 24px);height:56px;padding:0 15px;grid-template-columns:1fr auto;border-radius:30px;background:#1e1e2ae8}header nav,header .navcta{display:none}.menu{display:block;border:0;background:none;color:#fff;font-size:13px}.hero{padding:112px 18px 42px}.hero h1{font-size:44px}.hero p{font-size:15px}.work{width:calc(100% - 32px);padding:24px 0 64px}.progress{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px 18px;padding:0 16px}.step{flex:0 0 auto;scroll-snap-align:start;padding:8px 12px}.step{font-size:12px}.layout{display:flex;flex-direction:column}form{width:100%;padding:22px 18px;border-radius:20px}.screen h2{font-size:34px}.screen>p{font-size:15px;margin-bottom:24px}.choices{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-18px;scrollbar-width:none}.choices label{flex:0 0 78vw;scroll-snap-align:start}.choices label:last-child{margin-right:18px}.choices span{min-height:132px}.fields{grid-template-columns:1fr}.route{padding:18px 14px;gap:10px}aside{position:static;order:-1;width:100%;padding:18px;border-radius:20px}aside dl{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.formnav{gap:8px}.formnav button{padding:0 20px}.next,.send{flex:1}.qty{max-width:none}header.open{height:auto;padding:16px;background:#1e1e2a}header.open nav{grid-column:1/-1;display:flex;flex-direction:column;padding:18px 0}header.open nav a{font-size:24px;padding:10px 0}header.open .navcta{grid-column:1/-1;display:flex;justify-content:center}header.open .menu{font-size:0}header.open .menu:after{content:"Close";font-size:13px}}
/* V2 elevation — quieter, more premium, stronger hierarchy */
body{background:#f2f3f0}
.hero{position:relative;overflow:hidden;padding-top:176px;padding-bottom:78px;background:radial-gradient(circle at 82% 20%,#292a3a 0,transparent 31%),linear-gradient(135deg,#171721,#14141d)}
.hero:after{content:"";position:absolute;right:-8%;bottom:-65%;width:48vw;height:48vw;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03;pointer-events:none}
.hero>*{position:relative;z-index:1}.hero h1{max-width:900px;font-size:clamp(54px,5.4vw,76px);font-weight:420}.hero p{max-width:650px}
.work{padding-top:34px}.progress{position:relative;gap:0;padding:8px;border:1px solid #e0e2df;border-radius:999px;background:#e9ebe8}.step{justify-content:center;min-height:52px;padding:8px 14px;border-radius:999px}.step i{width:30px;height:30px;background:#d7dad7}.step.active{background:#fff;box-shadow:0 1px 8px #1111110d}.step.active i{background:#337a8a}.step.done{color:#3e4648}.step.done i{background:var(--cyan)}
.layout{grid-template-columns:minmax(0,1fr) 350px;gap:20px}form{padding:48px;border-color:#d9dcda;border-radius:28px;box-shadow:0 1px 0 #fff inset}.screen h2{max-width:760px;margin-top:14px;font-size:clamp(38px,4vw,56px);font-weight:420}.screen>p{max-width:650px;margin-bottom:38px}
.choices{gap:12px}.choices span{min-height:170px;padding:24px;border-radius:20px;background:#f7f8f5}.choices b{font-size:21px;font-weight:520}.choices input:checked+span{background:#f3fbfc;border-color:#8ddceb;box-shadow:inset 0 0 0 1px var(--cyan)}
.fields{gap:16px}.fields label,.wide,.qty{color:#3d4446}.fields input,.wide textarea,.qty input{border-color:#d8dbd9;border-radius:16px;background:#f7f8f6;outline:none;transition:.2s}.fields input:focus,.wide textarea:focus,.qty input:focus{border-color:#6abfd0;box-shadow:0 0 0 3px #1fc8e81a;background:#fff}
.route{margin-top:30px;padding:30px;border-radius:20px;background:linear-gradient(135deg,#1d1d29,#15151e)}
.formnav{margin-top:44px;padding-top:24px}.formnav button{min-height:50px;padding:0 26px;transition:transform .2s,filter .2s}.back{background:#eceeeb}.next,.send{background:var(--orange);font-weight:520}.next:hover,.send:hover{transform:translateY(-1px);filter:brightness(1.03)}
aside{top:100px;padding:30px;border:1px solid #ffffff10;border-radius:28px;background:linear-gradient(155deg,#1d1d29,#15151e);box-shadow:0 18px 50px #17172112}aside h3{font-size:27px;letter-spacing:-.02em}aside dl div{padding:17px 0}aside dd{font-size:16px;font-weight:520}aside p{padding-top:4px;line-height:1.55}
.navcta{transition:transform .2s,filter .2s}.navcta:hover{transform:translateY(-1px);filter:brightness(1.04)}
@media(max-width:760px){.hero{padding-top:120px;padding-bottom:48px}.hero h1{font-size:clamp(42px,12vw,52px)}.hero:after{width:90vw;height:90vw;right:-45%;bottom:-25%}.work{padding-top:18px}.progress{margin:0 -16px 18px;padding:7px 16px;border-inline:0;border-radius:0;background:#e8eae7}.step{min-height:46px}.layout{gap:12px}form{padding:24px 18px;border-radius:22px}.screen h2{font-size:36px}.choices span{min-height:145px}.summary,aside{border-radius:22px}.formnav{margin-top:32px}}

/* Unified component system */
:root{--ui-h:50px;--ui-r:25px;--ui-primary:#ff684a;--ui-primary-text:#171717;--ui-secondary:#272735;--ui-secondary-text:#ededf3;--ui-neutral:#eceeeb;--ui-neutral-text:#171717;--ui-focus:#1fc8e8}
button,a.navcta,.formnav button{font-weight:520}
.navcta,.formnav button{height:var(--ui-h);min-height:var(--ui-h);padding:0 24px;border:1px solid transparent;border-radius:var(--ui-r);display:inline-flex;align-items:center;justify-content:center;line-height:1;color:var(--ui-primary-text);background:var(--ui-primary);box-shadow:none;outline:none}
.navcta{height:40px;min-height:40px;padding-inline:20px}
.formnav .back{background:var(--ui-neutral);color:var(--ui-neutral-text);border-color:#dfe2df}
.formnav .next,.formnav .send{background:var(--ui-primary);color:var(--ui-primary-text);border-color:var(--ui-primary)}
.formnav button:disabled{background:#f0f1ef;color:#9a9f9c;border-color:#e1e3e0;opacity:1;cursor:not-allowed}
.formnav button:focus-visible,.navcta:focus-visible,.step:focus-visible,.choices input:focus-visible+span,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,200,232,.34);outline-offset:2px}
.step{min-height:50px;border:1px solid transparent}.step.active{border-color:#dfe2df}.step.done i{color:#101214}
.fields input,.wide textarea,.qty input{color:#171717;background:#f8f9f7;border:1px solid #cfd4d1}.fields input::placeholder,.wide textarea::placeholder,.qty input::placeholder{color:#777f7b;opacity:1}
.choices span{color:#171717;border-color:#d5d9d6}.choices em{color:#596164}.choices input:checked+span{color:#171717;background:#edf9fb;border-color:#1fc8e8}
aside{color:#f2f2f6}aside dt,aside p{color:#b6b7c1}aside dd{color:#fff}
@media(hover:hover) and (pointer:fine){.navcta:hover,.formnav .next:hover,.formnav .send:hover{background:#ff755a;filter:none}.formnav .back:not(:disabled):hover{background:#e3e6e2}.step:hover{background:#fff}}
@media(max-width:760px){.navcta,.formnav button{min-height:50px}.formnav .back{flex:0 0 auto}.formnav .next,.formnav .send{flex:1}}

/* Shared site chrome: exact NORLANE master header/footer language */
header{width:min(1240px,calc(100% - 40px));height:64px;padding:0 12px 0 22px;grid-template-columns:1fr auto 1fr;border-radius:40px;border:1px solid rgba(255,255,255,.14);background:rgba(30,30,42,.56);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
header .logo{color:#fff}.nav-actions{justify-self:end;display:flex;align-items:center;gap:4px}.track{min-height:40px;padding:0 15px;display:flex;align-items:center;border-radius:32px;color:#fff;text-decoration:none;font-size:14px}.track:hover,nav a:hover{background:rgba(255,255,255,.1)}.navcta{height:40px;min-height:40px}
footer{padding:44px max(24px,calc((100% - 1200px)/2));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:#12121a;color:#fff;font-size:12px}footer .logo{color:#fff}footer div{display:flex;justify-content:center;gap:20px}footer div a{color:#c3c3cc;text-decoration:none}footer>span{text-align:right;color:#858793}
@media(max-width:760px){header{width:calc(100% - 24px);height:56px;padding:0 15px;grid-template-columns:1fr auto}.nav-actions,header nav{display:none}header.open{height:calc(100svh - 16px);padding:18px 20px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;border-radius:24px;background:#1e1e2afa}header.open nav{grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;padding:0}header.open nav a{font-size:32px;line-height:1.1;padding:10px 0}header.open .nav-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:8px}.track,.navcta{width:100%;justify-content:center;min-height:48px}footer{padding:34px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}footer div{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 18px}footer>span{text-align:left}}

/* enforce same NORLANE typography on quote flow */
html,body,header,main,footer,form,aside,.progress,.step,.choices,.fields,.formnav,.navcta,.track{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important}
.formnav button,.step,.navcta,.track{font-family:inherit!important}

/* Unified interaction states — hover / press / keyboard */
a,button,label,input,select,textarea{-webkit-tap-highlight-color:transparent}
.quote,.glass,.cyan-btn,.dark-btn,.navcta,.track,.console button,.formnav button,.tabs button,.menu{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease,filter .18s ease}
@media(hover:hover) and (pointer:fine){
.quote:hover,.navcta:hover,.console-fields button:hover,.track-form button:hover,.formnav .next:hover,.formnav .send:hover{background:#ff765c!important;color:#111!important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,104,74,.18)}
.glass:hover,.dark-btn:hover,.track:hover{background:#ededf3!important;color:#171721!important;border-color:#ededf3!important;transform:translateY(-2px)}
.cyan-btn:hover{background:#55d5ed!important;color:#111!important;transform:translateY(-2px)}
.console-tabs button:hover,.tabs button:hover,.mode-row span:hover{border-color:#7b7d88!important}
nav a:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
}
.quote:active,.navcta:active,.console-fields button:active,.track-form button:active,.formnav button:active,.glass:active,.dark-btn:active,.cyan-btn:active,.track:active,.tabs button:active,.console-tabs button:active,.mode-row span:active{transform:translateY(0) scale(.975)!important;box-shadow:none!important;filter:brightness(.96)}
.quote:focus-visible,.glass:focus-visible,.cyan-btn:focus-visible,.dark-btn:focus-visible,.navcta:focus-visible,.track:focus-visible,.console button:focus-visible,.formnav button:focus-visible,.tabs button:focus-visible,.menu:focus-visible,nav a:focus-visible{outline:3px solid rgba(31,200,232,.38)!important;outline-offset:3px!important}
button:disabled{cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

/* Master NORLANE button specification */
:root{--btn-h:50px;--btn-h-sm:40px;--btn-px:24px;--btn-px-sm:20px;--btn-radius:999px;--btn-font:14px;--btn-weight:520}
.quote,.glass,.cyan-btn,.dark-btn,.navcta,.track,.console-fields button,.track-form button,.formnav button{
box-sizing:border-box!important;min-height:var(--btn-h)!important;height:var(--btn-h)!important;padding:0 var(--btn-px)!important;border-radius:var(--btn-radius)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:var(--btn-font)!important;font-weight:var(--btn-weight)!important;line-height:1!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap!important}
.quote.small,.navcta{min-height:var(--btn-h-sm)!important;height:var(--btn-h-sm)!important;padding:0 var(--btn-px-sm)!important;font-size:var(--btn-font)!important;font-weight:var(--btn-weight)!important}
.track{min-height:var(--btn-h-sm)!important;height:var(--btn-h-sm)!important;padding:0 16px!important}
.console-tabs button,.tabs button,.mode-row span{
box-sizing:border-box!important;min-height:40px!important;height:40px!important;padding:0 16px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important}
.menu{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:13px!important;font-weight:500!important;line-height:1!important;letter-spacing:0!important}
@media(max-width:760px){.quote,.glass,.cyan-btn,.dark-btn,.navcta,.track,.console-fields button,.track-form button,.formnav button{min-height:50px!important;height:50px!important;padding-inline:22px!important;font-size:14px!important}.quote.small,.navcta,.track{min-height:48px!important;height:48px!important}.console-tabs button,.tabs button,.mode-row span{height:40px!important;min-height:40px!important}}

/* FINAL MASTER CONTROL SYSTEM — matches approved reference */
:root{--ctl-font:Inter,"Helvetica Neue",Arial,sans-serif;--ctl-size:14px;--ctl-weight:500;--ctl-h:48px;--ctl-px:24px;--ctl-r:999px;--ctl-orange:#ff684a;--ctl-cyan:#1fc8e8;--ctl-dark:#171721;--ctl-white:#fff;--ctl-light:#ededf3}
.quote,.glass,.cyan-btn,.dark-btn,.navcta,.track,.console-fields button,.track-form button,.formnav button{
all:unset;box-sizing:border-box!important;height:var(--ctl-h)!important;min-height:var(--ctl-h)!important;padding:0 var(--ctl-px)!important;border:1px solid transparent!important;border-radius:var(--ctl-r)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-family:var(--ctl-font)!important;font-size:var(--ctl-size)!important;font-weight:var(--ctl-weight)!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;cursor:pointer!important;transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s!important}
.quote,.navcta,.console-fields button,.track-form button,.formnav .next,.formnav .send{background:var(--ctl-orange)!important;color:#171717!important}
.glass{background:rgba(255,255,255,.04)!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}
.dark-btn,.track{background:var(--ctl-dark)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.cyan-btn{background:var(--ctl-cyan)!important;color:#171717!important}
.formnav .back{background:#eceeeb!important;color:#171717!important;border-color:#d9ddda!important}
.quote.small,.navcta,.track{height:40px!important;min-height:40px!important;padding:0 20px!important}
.console-tabs{display:inline-flex!important;gap:4px!important;padding:3px!important;border-radius:999px!important;background:#171721!important}
.console-tabs button,.tabs button,.mode-row span{
box-sizing:border-box!important;height:40px!important;min-height:40px!important;padding:0 16px!important;border:1px solid rgba(112,112,125,.55)!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:var(--ctl-font)!important;font-size:14px!important;font-weight:500!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;cursor:pointer!important}
.console-tabs button{border-color:transparent!important;background:transparent!important;color:#c3c3cc!important}.console-tabs button.active{background:#fff!important;color:#171717!important}
.mode-row input:checked+span,.tabs button.active{background:var(--ctl-cyan)!important;color:#171717!important;border-color:var(--ctl-cyan)!important}.mode-row span{background:transparent!important;color:#c3c3cc!important}
@media(hover:hover) and (pointer:fine){.quote:hover,.navcta:hover,.console-fields button:hover,.track-form button:hover,.formnav .next:hover,.formnav .send:hover{background:#ff765c!important;transform:translateY(-1px)!important;box-shadow:0 7px 18px rgba(255,104,74,.16)!important}.glass:hover{background:#fff!important;color:#171717!important;border-color:#fff!important;transform:translateY(-1px)!important}.dark-btn:hover,.track:hover{background:#343443!important;transform:translateY(-1px)!important}.cyan-btn:hover,.mode-row input:checked+span:hover,.tabs button.active:hover{background:#55d5ed!important}.console-tabs button:hover:not(.active),.mode-row span:hover,.tabs button:hover:not(.active){background:rgba(255,255,255,.07)!important;color:#fff!important}}
.quote:active,.glass:active,.cyan-btn:active,.dark-btn:active,.navcta:active,.track:active,.console-fields button:active,.track-form button:active,.formnav button:active,.console-tabs button:active,.mode-row span:active,.tabs button:active{transform:scale(.975)!important;box-shadow:none!important}
.quote:focus-visible,.glass:focus-visible,.cyan-btn:focus-visible,.dark-btn:focus-visible,.navcta:focus-visible,.track:focus-visible,.console-fields button:focus-visible,.track-form button:focus-visible,.formnav button:focus-visible,.console-tabs button:focus-visible,.tabs button:focus-visible{outline:3px solid rgba(31,200,232,.38)!important;outline-offset:3px!important}
@media(max-width:760px){.quote,.glass,.cyan-btn,.dark-btn,.navcta,.track,.console-fields button,.track-form button,.formnav button{height:48px!important;min-height:48px!important;padding-inline:22px!important}.quote.small,.navcta,.track{height:48px!important;min-height:48px!important}}
