/* Calm premium, light only (Ari 18/10/2026): white space, Thames blue as the one colour, Manrope, the yield ring. Same look as the app demo. */
/*shared:begin tokens*/
:root{--bg:#fff;--fg:#111317;--mut:#6b7079;--line:#e6e7ea;--soft:#f3f5f7;--acc:#24527a;--acc-lt:#7d9cbc;--accbg:#e9eff5;--card:#fff;--track:#d5dee8;--good:#3d7a5a;color-scheme:light}
/* patch 962: the page ends at the footer; on a short page the footer sits at the bottom of the screen */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}body>main{flex:1 0 auto;width:100%}
/*shared:end tokens*/
/*shared:begin components*/
/* patch 996: cookie notice (shared/consent.js), in flow at the top of the page so it covers nothing */
#akck{box-sizing:border-box;width:100%;background:#f3f5f7;color:#17222e;border-bottom:1px solid #d5dee8;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;position:relative;z-index:5}
#akck .akck-in{box-sizing:border-box;max-width:1040px;margin:0 auto;padding:12px max(20px,env(safe-area-inset-right,0px)) 12px max(20px,env(safe-area-inset-left,0px));display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}
#akck p{margin:0;flex:1 1 320px;min-width:0}#akck a{color:#24527a;text-decoration:underline}
#akck .akck-b{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
#akck button,.ckset button{box-sizing:border-box;min-height:44px;min-width:44px;padding:0 18px;border-radius:10px;border:1.5px solid #24527a;background:#fff;color:#24527a;font:600 14px/1 inherit;font-family:inherit;cursor:pointer}
#akck button[data-ckset=accept],.ckset button[aria-pressed=true]{background:#24527a;color:#fff}
#akck button:focus-visible,.ckset button:focus-visible{outline:3px solid #c99a2e;outline-offset:2px}
@media (max-width:520px){#akck .akck-b{flex:1 1 100%}#akck .akck-b button{flex:1 1 0}#akck .akck-b button[data-ckmanage]{flex:1 1 100%}}
/* patch 997: below 380px the footer link reads 'Cookies', so the footer row does not widen */
.akf .legal .akcks{white-space:pre}
@media(max-width:379.98px){.akf .legal .akcks{display:none}.akf .legal a[data-cookie]::after{content:'s'}}
.ckset{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.ckset .ckst{font-weight:600}
/* patch 941: the one site header and footer (shared/chrome.html), on every site page and app screen. Literal colours: the app and the site carry different palettes. */
.akh{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;padding:18px max(20px,env(safe-area-inset-right,0px)) 18px max(20px,env(safe-area-inset-left,0px));font:16px/1.6 Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:none;position:static;border:0}
.akh .logo{margin-right:auto;display:block;line-height:0}.akh .logo img{display:block;height:56px;width:auto}
.akh a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;text-decoration:none;color:#6b7079;font-size:15px;font-weight:600}.akh a:hover,.akh a.on{color:#111317}.akh a.signin{color:#24527a}.akh a.acct{gap:8px}.akh a.acct .av{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#25547d;color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em;flex:none}
.akh .mnav{display:none}
@media(max-width:719.98px){
.akh{gap:20px 16px}.akh .logo{flex:0 0 auto}.akh .logo img{width:auto;max-width:none;height:44px}   /* patch 1059: the logo at its natural width, 44px high, never stretched to the bar */.akh>a:not(.logo):not(.signin){display:none}
.akh a.signin{background:#25547d;color:#fff;padding:14px 22px;border-radius:12px;font-size:16px;white-space:nowrap}.akh a.acct{background:#e9eff5;color:#24527a;padding:7px 16px 7px 7px}
.akh .mnav{display:flex;width:100%;order:3;background:#f0f1f3;border-radius:12px;padding:4px;margin:0;box-sizing:border-box;position:relative}
.akh .mnav>a,.akh .mnav .mmore>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:0;border:0;border-radius:9px;background:none;box-shadow:none;font:inherit;font-size:15px;font-weight:600;color:#6b7079;white-space:nowrap;cursor:pointer;text-decoration:none}
.akh .mnav>a,.akh .mnav .mmore{flex:1 1 0;min-width:0}.akh .mnav .mmore{position:static}
.akh .mnav .on{background:#fff;color:#111317;box-shadow:0 1px 3px rgba(0,0,0,.18)}.akh .mnav a,.akh .mnav button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.akh .mnav>a:not(.on):active,.akh .mnav .mmore>button:not(.on):active{background:rgba(255,255,255,.65);color:#111317}
.akh .mnav ul{position:absolute;right:4px;top:calc(100% + 6px);z-index:50;list-style:none;margin:0;padding:6px;background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.2);min-width:160px}
.akh .mnav ul[hidden]{display:none}.akh .mnav li{margin:0;padding:0}
.akh .mnav ul a{display:flex;min-height:44px;padding:0 14px;border-radius:8px;color:#111317}.akh .mnav ul a[aria-current]{background:#f0f1f3}
}
.akf{display:block;box-sizing:border-box;width:100%;max-width:1040px;margin:20px auto 0;padding:6px max(20px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));border-top:1px solid #e6e7ea;background:none;color:#6b7079;font:12px/1.4 Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:left}
.akf p{margin:0;overflow-wrap:anywhere}.akf .akc1,.akf .akg{font-size:12px;letter-spacing:-.1px}.akf .akc1{font-weight:500;color:#4a515b}
.akf .legal{margin:0}.akf .legal div{display:flex;flex-wrap:nowrap;justify-content:flex-start;margin-left:-1px}
.akf .legal a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;margin:0;padding:0 9px;border-left:1px solid #e6e7ea;color:#111317;text-decoration:underline;line-height:1.2;white-space:nowrap}
.akf .legal a:first-child{border-left:0;padding-left:0}
.akf .legal a:focus-visible,.akf summary:focus-visible{outline:2px solid #24527a;outline-offset:2px}
.akf .aklg{margin:0}.akf summary{display:block;cursor:pointer;color:#111317;text-decoration:underline;min-height:44px;box-sizing:border-box;padding:12px 0;margin:-12px 0}
.akf #akLegal{margin:14px 0 0;padding:0;border:0;color:#3d4753;font-size:13px}.akf #akLegal p{margin:6px 0 0}
.akf .akdisc{font-size:13px;line-height:1.55;color:#3d4753;margin:10px 0 0;max-width:65ch}
.akf .akc2{font-size:12px;line-height:1.5;max-width:75ch;margin:10px 0 0}
@media(min-width:720px) and (pointer:fine){.akf .legal a{min-height:32px}}
@media(min-width:720px){.akf summary{margin:0 0 -12px}.akf{display:flex;flex-wrap:wrap;align-items:center;column-gap:18px}.akf .legal{order:1}.akf .akc1{order:2}.akf .akg{order:3;margin-left:auto}.akf .aklg{order:4;flex:0 0 100%}.akf summary{display:inline-block}.akf .aklg[open] summary{margin-bottom:0}}
@media(max-width:480px){.akf{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.akf .legal div{margin-left:0}.akf .akc1,.akf .akg{letter-spacing:-.2px}}
/* patch 962: 320px and 200% zoom. The five links stay one row down to 300px (less padding under 360px), then wrap; the
   header's four tabs go two by two under 300px. Links stay 44px tall on touch screens of any width (32px only with a mouse). */
.akf .legal a{flex:0 0 auto}
@media (orientation:landscape) and (max-height:500px){.akh{padding-top:4px;padding-bottom:4px;row-gap:4px}.akh .logo img{height:40px}}
@media (orientation:landscape) and (max-height:500px) and (max-width:719.98px){.akh{flex-wrap:nowrap;gap:10px}.akh .logo{flex:0 0 auto}.akh .logo img{height:36px;width:auto}.akh .mnav{width:auto;flex:1 1 auto;order:0}.akh a.signin{padding:10px 14px}}
@media(max-width:480px){.akf{padding-top:3px}.akf .akc1,.akf .akg{line-height:1.25}}
@media(max-width:359.98px){.akf .legal a{padding:0 6px}}
@media(max-width:299.98px){.akf .legal div{flex-wrap:wrap}.akh .mnav{flex-wrap:wrap}.akh .mnav>a,.akh .mnav .mmore{flex:1 1 40%}.akh .logo{flex:1 1 100%}}
/* patch 978 (Ari 20/10/2026: 'the header should be dynamic'): below 1024px the header slides up out of view on a scroll down and comes
   back on a small scroll up (shared/chrome.html sets the classes; transform only, no layout shift). At the very top the big logo (950); once it slides back, slim: a 44px logo. */
@media(max-width:1023.98px){
html.akh-s .akh{position:sticky;top:0;z-index:60;background:var(--bg,#fff);transition:transform .18s ease-out,box-shadow .18s ease-out;box-shadow:0 1px 0 rgba(16,32,48,.08),0 6px 16px rgba(16,32,48,.07)}
html.akh-s.akh-up .akh{transform:translateY(calc(-100% - 8px));box-shadow:none}html.akh-nt .akh{transition:none!important}
html.akh-s:not(.akh-up){scroll-padding-top:var(--akh-h,0px)}html.akh-s:not(.akh-up) #srcEdit .dhead{top:var(--akh-h,0px)}
}
@media(max-width:719.98px){html.akh-s .akh{gap:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-bottom:10px}html.akh-s .akh .logo img{width:auto;height:44px;max-width:none}html.akh-s .akh a.signin{padding:10px 16px;font-size:15px}}
.akh{-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* patch 978: no text inflation in a phone held sideways */
@media(prefers-reduced-motion:reduce){html.akh-s .akh{transition:none}}
@media print{.akh,.akf .legal{display:none}}
/* patch 964: the one on/off switch (shared/switch.js draws it). A real button with role=switch; the whole 44px box is the target;
   a round knob slides on transform; On/Off is written beside it, so the state never rests on colour alone (off track 3.6:1 on white). */
.aksw{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;flex:none;box-sizing:border-box;min-width:44px;min-height:44px;height:44px;margin:0;padding:0 2px;border:0;border-radius:10px;background:none;box-shadow:none;cursor:pointer;font:inherit;font-size:14px;font-weight:700;line-height:1;color:#5f6670;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.aksw .aksw-tx{min-width:24px;text-align:right}
.aksw .aksw-tr{position:relative;display:block;flex:none;width:51px;height:31px;border-radius:999px;background:#7d8791;transition:background-color .18s ease}
.aksw .aksw-tr i{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transform:translateX(0);transition:transform .18s cubic-bezier(.3,.7,.4,1)}
.aksw.on{color:#24527a}.aksw.on .aksw-tr{background:#24527a}.aksw.on .aksw-tr i{transform:translateX(20px)}
.aksw:active .aksw-tr i{width:31px}.aksw.on:active .aksw-tr i{transform:translateX(16px)}
.aksw:focus{outline:none}.aksw:focus-visible{outline:3px solid #24527a;outline-offset:2px}
.akswrow{cursor:pointer;-webkit-tap-highlight-color:transparent}
.akok{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:#1d6b45;opacity:0;transition:opacity .2s}.akok.show{opacity:1}
.akok::before{content:'';width:12px;height:7px;border:solid currentColor;border-width:0 0 2.5px 2.5px;transform:translateY(-2px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.aksw .aksw-tr,.aksw .aksw-tr i,.akok{transition:none}}
/*shared:end components*/
/* patch 953: page to page swaps only the content (site.js), the header and tab bar stay put. More lights on About, Accuracy and Contact
   (the shared .mmore>button rule outranked .mnav .on); the heading that takes focus after a swap shows no ring */
.akh .mnav .mmore>button.on{background:#fff;color:#111317;box-shadow:0 1px 3px rgba(0,0,0,.18)}main h1[tabindex="-1"]:focus{outline:none}
.box.skel{color:transparent}.box.skel .v,.box.skel h3,.box.skel .note,.box.skel .kpis b{background:var(--soft);border-radius:6px}.box.skel .kpis span{color:var(--mut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--acc)}
main{max-width:1040px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.hero{max-width:1040px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-left,0px))}
.hero img{background:#dfe5ec;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:16/7;object-fit:cover;object-position:center 40%;border-radius:24px}
main{padding-top:40px;padding-bottom:64px}
h1{font-size:clamp(34px,7vw,56px);line-height:1.06;font-weight:800;letter-spacing:-.035em;margin:0 0 18px;text-wrap:balance;max-width:16ch}
h2{font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:56px 0 10px;text-wrap:balance}
h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
p,li{max-width:65ch}.lead{font-size:clamp(17px,2.4vw,20px);color:var(--mut)}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:15px 22px;border-radius:14px;text-decoration:none;font-weight:700;border:0;font-size:16px;margin:0 6px 8px 0}
.btn.alt{background:var(--soft);color:var(--fg)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.box{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px}
.box.hl{background:var(--acc);border-color:var(--acc);color:#fff}.box.hl .note,.box.hl .price small{color:rgba(255,255,255,.75)}.box.hl a{color:#fff}
.box ul{padding-left:18px;margin:10px 0 0}
.price{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;margin:4px 0}.price small{font-size:15px;font-weight:500;color:var(--mut);letter-spacing:0}
.note{color:var(--mut);font-size:14px}
.banner{display:inline-block;background:var(--accbg);color:var(--acc);border-radius:14px;padding:12px 16px;margin:0 0 20px}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.kpis div{background:var(--soft);border-radius:12px;padding:10px;text-align:center}
.kpis b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpis span{font-size:12px;color:var(--mut)}.lock b{color:var(--mut)}
.v{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
table{border-collapse:collapse;width:100%;font-size:15px}td,th{overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding:10px 6px;text-align:left;vertical-align:top}
/* the points under the hero: plain text, no boxes */
.points{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.points p{margin:0;color:var(--mut);font-size:15px}
/* the yield ring: fills toward the target; the lettering is engraved on the band */
.verdict{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;background:var(--soft);border-radius:24px;padding:28px;margin:32px 0}
.verdict p{margin:0;max-width:34ch}.verdict p b{display:block;color:var(--good);font-size:18px}
.ring{position:relative;width:220px;height:220px;flex:none;max-width:100%}
.ring svg{width:100%;height:100%;display:block}
.ring .tr{fill:none;stroke:var(--track);stroke-width:10}.ring .ar{fill:none;stroke:url(#ringg);stroke-width:10;stroke-linecap:round}
.ring text{font:700 3.5px Manrope,system-ui,sans-serif;letter-spacing:.55px;fill:rgba(255,255,255,.9)}
.ring .c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
@media(max-width:520px){.verdict{justify-content:center;text-align:center;padding:24px 20px}.hero img{aspect-ratio:4/3;border-radius:18px}}

.sell form{display:grid;gap:8px;max-width:520px}.sell input,.sell textarea{font:inherit;padding:10px;border:1px solid #d9dee5;border-radius:8px}

#ckPanel{position:fixed;inset:0;z-index:99;background:rgba(15,23,42,.55);display:flex;align-items:flex-end;justify-content:center}#ckPanel[hidden]{display:none}#ckPanel .ckbox{background:#fff;color:var(--fg);width:100%;max-width:520px;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0;padding:20px max(20px,env(safe-area-inset-left,0px)) 28px}#ckPanel h2{margin:0 0 8px;font-size:20px}#ckPanel .btn{margin-right:8px}
.akdisc{font-size:14px;line-height:1.55;color:#3d4753;margin:12px 0 0;max-width:65ch;overflow-wrap:anywhere}.ap-cta .akdisc{color:#fff;margin:14px auto 0;opacity:1}


/* patch 933: touch targets 44px; footer links on one row over 480px */
.btn,.sell input,.sell textarea,#ckPanel .btn{min-height:44px;min-width:44px;box-sizing:border-box}
.btn{display:inline-flex;align-items:center;justify-content:center}


/* patch 979: deals page area chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.chips .chip{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--soft);background:var(--soft);color:var(--fg);font:600 14px Manrope,system-ui,sans-serif;cursor:pointer}
.chips .chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
#dealsAt:empty{display:none}
/* wide screens: the page widens and the type steps up with the window, rather than holding a 1040px column on a big monitor */
@media(min-width:1360px){main,.hero,.akh,.akf,#akck .akck-in,.pg-foot .pg-fin,.pg-test{max-width:1280px}body{font-size:17px}.ap .ap-lead{font-size:18px}}
@media(min-width:1800px){main,.hero,.akh,.akf,#akck .akck-in,.pg-foot .pg-fin,.pg-test{max-width:1480px}body{font-size:18px}.ap .ap-lead{font-size:19px}.ap .ap-card h4{font-size:20px}.ap .ap-step h4{font-size:19px}.ap .ap-card{padding:32px 28px}}
/* desktop layout (1024px+): the photo runs edge to edge, each section's heading sits left of its text, pale bands run the full
   width of the screen (border-image outset paints past the column without widening the page). Below 1024px the wrappers change nothing */
@media(min-width:1024px){
.hero{max-width:none;width:100%;padding:0}.hero img{border-radius:0;aspect-ratio:auto;height:clamp(340px,30vw,600px)}
.pg-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:0 64px;align-items:start;padding:56px 0}
.pg-sec>h1,.pg-sec>h2{margin:0}.pg-head{padding:72px 0}.pg-head+:not(.pg-sec){margin-top:48px}:not(.pg-sec):not(.pg-band)+.pg-sec{margin-top:48px}
.pg-b>:first-child{margin-top:0}.pg-b>:last-child{margin-bottom:0}
.pg-band{border-image:conic-gradient(var(--soft) 0 0) fill 0//0 100vw}.pg-pad{padding:24px 0 56px;margin-top:48px}
.pg-sec:not(.pg-band)+.pg-sec:not(.pg-band){border-top:1px solid var(--line)}
.pg-band .btn.alt,.pg-band .verdict{background:var(--bg)}
}
/* desktop extras: section headings stay in view on long pages; a fuller footer (company, pages, legal) replaces the footer's link row */
.pg-foot{display:none}
@media(min-width:1024px){
.pg-sec>h2{position:sticky;top:32px}
.pg-foot{display:block;width:100%;background:var(--soft);border-top:1px solid var(--line)}
.pg-fin{box-sizing:border-box;max-width:1040px;margin:0 auto;padding:56px max(20px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:48px;font-size:15px}
.pg-fin p{margin:12px 0 0;color:var(--mut);max-width:36ch}.pg-fin .pg-fh{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pg-fin nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.pg-fin nav a{color:var(--fg);text-decoration:none}.pg-fin nav a:hover{color:var(--acc);text-decoration:underline}
.pg-flogo img{display:block;height:48px;width:auto}
.akf nav.legal{display:none}
}
/* ---- RD-A redesign (21/10/2026): more of the screen used at every width, larger cards and figures. Site only. ---- */
/* signed in or not (site.js, deals.html head): the member's wording or the visitor's, never both */
html:not(.ak-mem) [data-mem],html:not(.ak-vis) [data-vis],html:not(.ak-demo) [data-demo]{display:none!important}
/* ultrawide: a wider page and more columns, not a stretched column */
@media(min-width:2400px){main,.akh,.akf,#akck .akck-in,.pg-foot .pg-fin,.pg-test{max-width:1840px}body{font-size:19px}.pg-sec{gap:0 96px}}
/* yield ring: the ring large, the three points beside it, so the band holds no empty half */
@media(min-width:1024px){
.pg-pad:has(>.verdict+.points){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 56px;align-items:stretch}
.pg-pad>.verdict{margin:0;padding:clamp(32px,3vw,56px);gap:28px 40px;flex-wrap:nowrap}
.pg-pad>.verdict .ring{width:clamp(240px,19vw,380px);height:clamp(240px,19vw,380px)}
.pg-pad>.verdict .ring .c{font-size:clamp(52px,4.2vw,84px)}
.pg-pad>.verdict p{font-size:clamp(17px,1.15vw,21px);max-width:24ch}.pg-pad>.verdict p b{font-size:clamp(20px,1.4vw,26px);margin-bottom:6px}
.pg-pad>.verdict+.points{margin:0;padding:0 0 0 48px;border-top:0;border-left:1px solid var(--line);grid-template-columns:1fr;align-content:center;gap:32px}
.pg-pad>.verdict+.points h3{font-size:clamp(18px,1.2vw,22px);margin:0 0 6px}.pg-pad>.verdict+.points p{font-size:clamp(15px,.95vw,18px)}
}
/* home hero: the film given the larger share and more height on big screens */
@media(min-width:1024px){main .ak-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);--ak-h:clamp(540px,40vw,860px)}}
@media(min-width:2400px){main .ak-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}main .ak-hero h1{font-size:clamp(84px,3.2vw,100px)}main .ak-hero .lead{font-size:26px}main .ak-hero .ak-card{zoom:1.5}}
/* deals: larger cards, more of them per row, sort beside the area chips */
.dl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:4px 0 16px}.dl-bar .chips{margin:0}
.dl-sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mut);font-weight:600}
.dl-sort select{min-height:44px;padding:0 36px 0 14px;border:1px solid var(--line);border-radius:22px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7079' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font:600 14px Manrope,system-ui,sans-serif;color:var(--fg)}
#deals.grid{gap:clamp(16px,1.6vw,28px);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
#deals .box{display:flex;flex-direction:column;padding:clamp(20px,1.6vw,28px);transition:box-shadow .2s,border-color .2s}
#deals .box:hover{border-color:var(--track);box-shadow:0 10px 30px rgba(11,27,51,.07)}
#deals .box h3{font-size:clamp(19px,1.3vw,24px);margin:4px 0 2px;letter-spacing:-.01em}#deals .box .kpis{margin-top:auto;padding-top:12px}
#deals .kpis b{font-size:clamp(20px,1.5vw,28px)}#deals .kpis span{font-size:13px}
@media(min-width:1024px){#deals.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}
@media(min-width:2400px){#deals.grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}
/* pricing: two plans a row on tablets and small laptops, four once there is room; bigger names and prices */
.plans{gap:clamp(16px,1.6vw,28px)}
@media(min-width:640px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1280px){.plans{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plans .box{display:flex;flex-direction:column;padding:clamp(24px,2vw,36px)}.plans .box h3{font-size:clamp(18px,1.3vw,24px)}
.plans .box .price{font-size:clamp(40px,3vw,60px)}.plans .box li{margin:6px 0}.plans .box>p:last-child{margin-top:auto;padding-top:16px}
/* contact: the address large, one card per subject that opens an email with its subject filled in */
.ct-main .ct-k{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.ct-main .ct-mail{margin:6px 0;font-size:clamp(24px,3vw,40px);font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}.ct-main .ct-mail a{display:inline-block;padding:8px 0;color:var(--fg);text-decoration-thickness:2px;text-underline-offset:6px}
.ct-main .ct-note{margin:0;color:var(--mut)}
.ct-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:0 0 24px}
.ct-card{display:flex;flex-direction:column;gap:8px;min-height:44px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--fg);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ct-card:hover,.ct-card:focus-visible{border-color:var(--acc);box-shadow:0 10px 30px rgba(11,27,51,.07)}
.ct-card b{font-size:clamp(17px,1.2vw,21px)}.ct-card span{color:var(--mut)}.ct-card i{margin-top:auto;padding-top:8px;font-style:normal;font-weight:700;color:var(--acc)}
/* the photo band shorter on desktop, so the headline and the film start inside the first screen */
@media(min-width:1024px){.hero img{height:clamp(240px,20vw,520px)}main .ak-hero{padding-top:clamp(40px,3.4vw,72px)}}
/* RD-A ultrawide (desk live check 21/10 at 3440): from 2400px the page is ~2560 wide (never a 1840 strip), type and the hero scale up,
   and the extra width becomes more cards per row rather than margin */
@media(min-width:2400px){
main,.akh,.akf,#akck .akck-in,.pg-foot .pg-fin,.pg-test{max-width:min(2600px,92vw)}body{font-size:20px}
main .ak-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);--ak-h:clamp(860px,33vw,1180px)}
main .ak-hero h1{font-size:clamp(104px,3.5vw,132px)}main .ak-hero .lead{font-size:28px}main .ak-hero .ak-card{zoom:1.8}
.pg-pad>.verdict .ring{width:clamp(380px,15vw,520px);height:clamp(380px,15vw,520px)}.pg-pad>.verdict .ring .c{font-size:clamp(84px,3.4vw,116px)}
.pg-pad>.verdict p{font-size:24px}.pg-pad>.verdict+.points h3{font-size:26px}.pg-pad>.verdict+.points p{font-size:20px}
#deals.grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}#deals .kpis b{font-size:30px}#deals .box h3{font-size:26px}
.plans .box{padding:44px}.plans .box .price{font-size:68px}.plans .box h3{font-size:28px}
.ct-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-main .ct-mail{font-size:48px}
.ap .ap-cards{gap:32px}
}
/* RD-A ultrawide, final pass (desk live check): header, nav and cookie notice scale with the page; the hero starts nearer the photo band */
@media(min-width:2400px){
.akh{font-size:21px;gap:8px 34px;padding-top:26px;padding-bottom:26px}html .akh>a:not(.logo),html .akh .mnav a{font-size:21px}.akh .logo img{height:84px}.akh a.signin{font-size:21px}
#akck .akck-in{font-size:18px;padding-top:16px;padding-bottom:16px}#akck button{font-size:17px;min-height:52px;padding:0 24px}
.hero img{height:clamp(300px,12vw,420px)}
main .ak-hero{align-items:start;padding-top:56px;--ak-h:clamp(760px,28vw,1000px)}main .ak-hero .ak-copy{padding-top:clamp(40px,3vw,110px)}
}
.pg-test{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;padding:14px max(20px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);color:var(--mut);font-size:14px;line-height:1.5;text-align:left}.pg-test b{color:var(--fg);font-weight:600}.pg-test a{color:inherit;text-decoration:underline}
@media(min-width:1360px){.pg-test{max-width:1280px}}@media(min-width:1800px){.pg-test{max-width:1480px}}@media(min-width:2400px){.pg-test{max-width:min(2600px,92vw)}}
/* 25/10/2026 (T14, DES1): the cookie notice in two short rows on a phone (Reject and Accept side by side, Manage preferences a text link, 44px targets)
   and the home hero image's box reserved. These sit after the shared components region on purpose (the region is generated from shared/tokens.css). */
#akck .akck-b button[data-ckmanage]{border:0;background:none;color:#24527a;text-decoration:underline;font-weight:600;padding:0 6px}
@media(max-width:520px){
#akck .akck-in{padding-top:8px;padding-bottom:6px;gap:4px}
#akck p{flex:1 1 100%;font-size:13px;line-height:1.4}
#akck .akck-b{flex:1 1 100%;flex-wrap:wrap;gap:6px;align-items:center}
#akck .akck-b button[data-ckset]{flex:0 0 auto;padding:0 8px;font-size:12.5px}
#akck .akck-b button[data-ckmanage]{flex:1 1 0;min-height:44px;font-size:12.5px;padding:0 2px;text-align:center;white-space:nowrap}}
@media(max-width:359.98px){#akck .akck-b button[data-ckmanage]{flex:1 1 100%;white-space:normal}}
:where(main .hero) img{aspect-ratio:1400/933;width:100%;height:auto}   /* zero specificity: the existing .hero img rules (16/7, 4/3, the ultrawide height) still decide the box */
/* T14: room kept for the cookie notice until the head script's class is removed (heights measured per width; small differences between widths are possible) */
html.ak-ckr header.akh{margin-bottom:69px}
@media(max-width:940.98px){html.ak-ckr header.akh{margin-bottom:88px}}
@media(max-width:795.98px){html.ak-ckr header.akh{margin-bottom:121px}}
@media(max-width:520px){html.ak-ckr header.akh{margin-bottom:99px}}
@media(max-width:469.98px){html.ak-ckr header.akh{margin-bottom:118px}}
@media(max-width:359.98px){html.ak-ckr header.akh{margin-bottom:186px}}
@media(min-width:2400px){html.ak-ckr header.akh{margin-bottom:87px}}
/* T14: the "Scanned today at ..." line on /deals is filled in once the feed arrives; keep its line so nothing below it moves */
#dealsAt:empty{display:block;min-height:22px}
.pg-ico{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-left,0px)) 14px;color:var(--mut);font-size:14px;line-height:1.5;text-align:left}
@media(min-width:1360px){.pg-ico{max-width:1280px}}@media(min-width:1800px){.pg-ico{max-width:1480px}}@media(min-width:2400px){.pg-ico{max-width:min(2600px,92vw)}}
/* T14 follow-up: the deals list keeps a tall box while it loads (and when it is empty), with one placeholder card on a phone, so what lies below
   it is already below the fold and neither a full list nor "no deals yet" moves it into or out of view. */
#deals{align-content:start;align-items:start}
#deals.loading{min-height:75vh}
#deals.empty{min-height:45vh}
@media(max-width:719.98px){#deals .skel:nth-of-type(n+2){display:none}}
