:root{font-family:Inter,system-ui,sans-serif;color:#141812;background:#f7f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}.brand{font-size:13px;letter-spacing:.14em;display:flex;align-items:center;gap:5px;color:#20462f}.brand b{font-weight:700}.brand-mark{font-size:16px;margin-right:5px;transform:scaleX(1.45)}button,.button{border:0;border-radius:7px;background:#1b3d29;color:#fbfaf6;padding:15px 22px;font:600 15px 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{color:#fbfaf6}.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:11px;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 60px}.portal-shell>header{height:88px;max-width:390px;margin:auto;display:flex;align-items:center;justify-content:center}.phone-card{max-width:390px;margin:auto;background:#fbfaf6;border:1px solid rgba(20,24,18,.1);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #1418121a}.vehicle-card{margin:18px 20px 0;padding:17px 16px;background:#1b3d29;color:#fbfaf6;border-radius:14px;display:flex;gap:14px;align-items:center;justify-content:space-between}.vehicle-card small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#acc0b2}.vehicle-card h2{font-size:18px;margin:5px 0 3px;letter-spacing:-.02em}.vehicle-card p{font-size:11px;color:#c4d1c8;margin:0}.vehicle-card strong{font:500 12px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em;border:1px solid rgba(255,255,255,.28);border-radius:7px;padding:10px 9px;white-space:nowrap}.portal-content{padding:25px 20px 23px}.portal-content h1{font-size:28px;line-height:1.08;letter-spacing:-.035em;margin:9px 0 10px}.portal-content>.intro,.welcome>p:not(.role-chip):not(.security){font-size:14px;color:#5d665f;line-height:1.55;margin:0 0 22px}.portal-content>button:not(.back):not(.text-button){width:100%;margin-top:8px}.requirements{border-top:1px solid #e4e1da;margin:24px 0}.requirements>div{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid #e4e1da}.requirements i{font:500 11px ui-monospace,SFMono-Regular,monospace;color:#789080;font-style:normal}.requirements span{display:grid;gap:3px}.requirements b{font-size:13px}.requirements small{font-size:12px;color:#6c746e}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field b{color:#a4472b}.field input{width:100%;height:46px;border:1px solid #c9c8c1;border-radius:7px;padding:0 12px;background:#fff;color:#141812;font:15px 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:11px;line-height:1.4;margin-top:6px}.postcode{display:grid;grid-template-columns:118px 1fr;gap:10px}.back,.text-button{background:none;color:#52705b;padding:0;font-size:12px}.back:hover,.text-button:hover{background:none;text-decoration:underline}.text-button{width:100%;margin-top:13px}.security{text-align:center;color:#737b74;font-size:10.5px;line-height:1.5;margin:14px 0 0}.review dl{margin:20px 0;border-top:1px solid #e4e1da}.review dl div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #e4e1da}.review dt{font-size:11px;color:#6b746d}.review dd{font-size:12px;font-weight:500;text-align:right;margin:0;overflow-wrap:anywhere}.consent-note{font-size:10.5px;line-height:1.5;color:#667068;background:#efeee9;border-radius:8px;padding:12px;margin:20px 0}.error{background:#fff0ec;color:#8f321b;border-radius:6px;padding:11px;font-size:12px}.state-panel{text-align:center;padding:46px 20px}.state-panel p{color:#5d665f;font-size:14px;line-height:1.6}.state-panel>a{color:#1b3d29;font-weight:600}.check{margin:0 auto 20px;background:#1b3d29;color:#fff;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:25px}.contract-ref{background:#efeee9;border-radius:9px;padding:15px;margin-top:23px;font-size:11px;line-height:1.7}.loading{text-align:center;padding-top:35vh;color:#67716a}@media(max-width:420px){.portal-shell{padding-left:0;padding-right:0}.portal-shell>header{height:72px}.phone-card{border-left:0;border-right:0;border-radius:0;min-height:calc(100vh - 72px)}.postcode{grid-template-columns:108px 1fr}}
