:root{font-family:Inter,Helvetica Neue,system-ui,sans-serif;color:#141812;background:#f7f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}.brand{display:flex;align-items:center}.brand img{display:block;width:144px;height:auto}button,.button{border:0;border-radius:7px;background:#1b3d29;color:#fbfaf6;padding:14px 22px;font:600 14px inherit;cursor:pointer;text-decoration:none}button:hover{background:#254d36}button:disabled{opacity:.62;cursor:wait}.landing{min-height:100vh;background:#10291d;color:#fbfaf6}.landing nav{height:80px;max-width:1180px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.landing .brand img{filter:brightness(0) invert(1)}.landing nav a{text-decoration:none}.hero{max-width:1180px;margin:auto;padding:15vh 28px 20vh}.eyebrow,.role-chip{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;color:#53745d}.hero h1{font-size:clamp(48px,8vw,96px);line-height:.96;max-width:850px;margin:18px 0 28px;letter-spacing:-.045em}.hero>p:not(.eyebrow){font-size:20px;line-height:1.6;max-width:580px;color:#c9d4cc}.hero .button{display:inline-block;margin-top:22px;background:#c9a96e;color:#10291d}.landing footer{padding:28px;max-width:1180px;margin:auto;color:#9aaba0;font-size:13px}.portal-shell{min-height:100vh;padding:0 14px 30px;background:#f7f5ef}.portal-shell>header{height:78px;max-width:390px;margin:auto;display:flex;align-items:center;justify-content:center}.portal-shell>header .brand img{width:118px}.phone-card{max-width:390px;margin:auto;background:#fbfaf6;border:1px solid rgba(20,24,18,.1);border-radius:23px;overflow:hidden;box-shadow:0 22px 64px #1418121a}.url-bar{height:36px;margin:10px 20px 0;border:1px solid #ebe8e0;background:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#8b8e88;font-size:9px;letter-spacing:.02em}.vehicle-card{margin:14px 20px 0;padding:17px 16px;background:#1b3d29;color:#fbfaf6;border-radius:12px;display:flex;gap:14px;align-items:center;justify-content:space-between}.vehicle-card small{font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:#acc0b2}.vehicle-card h2{font-size:18px;font-weight:600;margin:5px 0 3px;letter-spacing:-.02em}.vehicle-card p{font-size:10.5px;color:#c4d1c8;margin:0}.vehicle-card strong{font:500 11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em;border:1px solid rgba(255,255,255,.28);border-radius:7px;padding:9px;white-space:nowrap}.portal-content{padding:25px 20px 23px}.portal-content h1{font-size:26px;line-height:1.08;letter-spacing:-.035em;margin:9px 0 10px}.portal-content>.intro,.welcome>p:not(.role-chip):not(.security){font-size:13px;color:#5d665f;line-height:1.55;margin:0 0 20px}.portal-content>button:not(.back):not(.text-button){width:100%;margin-top:8px}.requirements{border:1px solid #e8e5dc;border-radius:10px;margin:22px 0;overflow:hidden;background:#fff}.requirements>div{display:flex;gap:13px;padding:13px;border-bottom:1px solid #e8e5dc}.requirements>div:last-child{border-bottom:0}.requirements i{font:500 10px ui-monospace,SFMono-Regular,monospace;color:#789080;font-style:normal}.requirements span{display:grid;gap:3px}.requirements b{font-size:12px}.requirements small{font-size:11px;color:#6c746e}.field{display:block;margin-bottom:15px}.field>span{display:block;font-size:11px;font-weight:600;margin-bottom:6px}.field b{color:#a4472b}.field input{width:100%;height:42px;border:1px solid #c9c8c1;border-radius:6px;padding:0 11px;background:#fff;color:#141812;font:13px inherit}.field input:focus{outline:3px solid rgba(27,61,41,.1);border-color:#1b3d29}.field input[readonly]{background:#efeee9;color:#515a53}.field small{display:block;color:#707870;font-size:10px;line-height:1.4;margin-top:5px}.postcode{display:grid;grid-template-columns:108px 1fr;gap:10px}.step-head{display:flex;justify-content:space-between;align-items:center;color:#777d77;font-size:10px}.back,.text-button{background:none;color:#52705b;padding:0;font-size:11px}.back:hover,.text-button:hover{background:none;text-decoration:underline}.text-button{width:100%;margin-top:13px}.progress{height:2px;background:#dfddd6;margin:10px 0 23px}.progress i{display:block;height:2px;width:50%;background:#1b3d29}.progress.complete i{width:100%}.party-toggle{display:grid;grid-template-columns:1fr 1fr;background:#efede6;padding:3px;border-radius:18px;margin:-7px 0 20px}.party-toggle button{padding:8px;background:transparent;color:#6b706b;border-radius:16px;font-size:11px;font-weight:500}.party-toggle button.active{background:#fff;color:#141812;box-shadow:0 1px 5px #14181214}.company-confirmed{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf4ef;border:1px solid #cfdfd3;color:#1b3d29;border-radius:7px;padding:10px 11px;margin:-7px 0 15px}.company-confirmed b{font-size:10.5px}.company-confirmed span{font-size:9px;text-align:right}.security{text-align:center;color:#737b74;font-size:9.5px;line-height:1.5;margin:14px 0 0}.review dl{margin:18px 0;border-top:1px solid #e4e1da}.review dl div{display:grid;grid-template-columns:115px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #e4e1da}.review dt{font-size:10px;color:#6b746d}.review dd{font-size:11px;font-weight:500;text-align:right;margin:0;overflow-wrap:anywhere}.consent-note{font-size:9.5px;line-height:1.55;color:#4f6354;background:#edf4ef;border:1px solid #d3e1d6;border-radius:8px;padding:11px;margin:18px 0}.error{background:#fff0ec;color:#8f321b;border-radius:6px;padding:10px;font-size:11px;margin:-5px 0 14px}.state-panel{text-align:center;padding:42px 20px}.state-panel p{color:#5d665f;font-size:13px;line-height:1.6}.state-panel>a{color:#1b3d29;font-weight:600}.check,.state-icon{margin:0 auto 18px;background:#edf4ef;color:#1b3d29;border:1px solid #d3e1d6;width:48px;height:48px;border-radius:9px;display:grid;place-items:center;font-size:21px}.timeline{border:1px solid #e8e5dc;border-radius:10px;margin:22px 0;text-align:left;overflow:hidden}.timeline>div{display:flex;gap:11px;padding:12px;border-bottom:1px solid #e8e5dc}.timeline>div:last-child{border-bottom:0}.timeline i{font-style:normal;color:#1b3d29}.timeline span{display:grid;gap:2px}.timeline b{font-size:11px}.timeline small{font-size:9.5px;color:#777d77}.loading{text-align:center;padding-top:35vh;color:#67716a}.portal-footer{text-align:center;margin:16px auto 0;color:#8b8e88;font-size:8.5px}.portal-footer a{color:#1b3d29}@media(max-width:420px){.portal-shell{padding-left:0;padding-right:0}.portal-shell>header{height:64px}.phone-card{border-left:0;border-right:0;border-radius:0;min-height:calc(100vh - 64px)}.postcode{grid-template-columns:100px 1fr}.portal-footer{padding:0 12px}}
