:root { --chalk:#eceee9; --ink:#111317; --cobalt:#2b3cff; --lemon:#e6ff5c; --slate:#5f646d; --card:#f8f9f6; --line:#d3d6cf; --bad:#b00020; }
* { box-sizing:border-box; }
body { margin:0; background:var(--chalk); color:var(--ink); font-family:'Schibsted Grotesk',system-ui,sans-serif; line-height:1.5; }
a { color:var(--cobalt); }
:focus-visible { outline:3px solid var(--cobalt); outline-offset:2px; }
header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid var(--line); background:#fff; }
.logo { font-weight:800; letter-spacing:.16em; font-size:15px; text-decoration:none; color:var(--ink); }
main { max-width:860px; margin:0 auto; padding:28px 20px 60px; }
h1 { font-size:30px; margin:0 0 6px; } h2 { font-size:21px; margin:0 0 12px; }
.muted { color:var(--slate); }
section { background:#fff; border:1px solid var(--line); padding:22px 22px 24px; margin:18px 0; }
label { display:block; font-weight:600; font-size:14px; margin:14px 0 6px; }
input, textarea { width:100%; font:inherit; padding:10px 12px; border:1.5px solid var(--line); background:var(--card); }
textarea { min-height:92px; resize:vertical; }
button { font:inherit; font-weight:600; background:var(--ink); color:#fff; border:2px solid var(--ink); padding:11px 18px; cursor:pointer; }
button:hover { background:var(--cobalt); border-color:var(--cobalt); }
button.ghost { background:transparent; color:var(--ink); }
button.danger { background:transparent; color:var(--bad); border-color:var(--bad); }
button[disabled] { opacity:.5; cursor:wait; }
.row { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 0; border-top:1px solid var(--line); }
.row:first-of-type { border-top:0; }
.price { font-weight:700; white-space:nowrap; }
.tag { font-size:12px; font-weight:600; padding:2px 7px; background:var(--lemon); }
.tag.ai { background:transparent; border:1px solid var(--line); color:var(--slate); }
.switch { width:52px; height:30px; border-radius:30px; border:2px solid var(--ink); background:var(--card); position:relative; padding:0; flex:none; }
.switch::after { content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--ink); transition:left .2s; }
.switch[aria-checked="true"] { background:var(--cobalt); border-color:var(--cobalt); }
.switch[aria-checked="true"]::after { left:25px; background:#fff; }
.total { display:flex; justify-content:space-between; font-weight:700; font-size:18px; padding-top:14px; border-top:2px solid var(--ink); margin-top:6px; }
.notice { padding:12px 14px; background:var(--lemon); margin:12px 0; }
.error { color:var(--bad); font-weight:600; }
ul.enq { list-style:none; padding:0; margin:0; } ul.enq li { padding:12px 0; border-top:1px solid var(--line); }
