:root{--ink:#111622;--paper:#f5f3ee;--blue:#2962ff;--line:#d9d7d0;--muted:#6e7380}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.announcement{background:var(--ink);color:#fff;text-align:center;letter-spacing:.16em;text-transform:uppercase;padding:9px 16px;font-size:11px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.brand-mark{background:var(--blue);color:#fff;letter-spacing:-.04em;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}nav{color:#4e5360;gap:32px;font-size:13px;display:flex}nav a:hover,footer a:hover{color:var(--blue)}.header-action{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:12px;font-weight:700}.header-action span{color:var(--blue);margin-left:6px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:54px;min-height:700px;padding-block:86px 90px;display:grid}.eyebrow,.section-index{letter-spacing:.18em;color:#777b85;margin:0 0 24px;font-size:10px;font-weight:800}.eyebrow{color:var(--blue);align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--blue);width:28px;height:1px}h1{letter-spacing:-.075em;margin:0;font-size:clamp(62px,7vw,104px);font-weight:800;line-height:.86}h1 em{color:var(--blue);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-lead{color:#555b68;max-width:520px;margin:36px 0 0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:26px;margin-top:36px;display:flex}.button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:28px;min-height:52px;padding:0 24px;font-size:12px;font-weight:800;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px #2962ff33}.button-dark{background:var(--ink);color:#fff}.button-light{color:var(--ink);background:#fff}.text-link{border-bottom:1px solid #aaa;padding-bottom:4px;font-size:12px}.trust-row{border-top:1px solid var(--line);color:#747985;text-transform:uppercase;letter-spacing:.08em;gap:34px;margin-top:58px;padding-top:22px;font-size:10px;display:flex}.trust-row span{align-items:baseline;gap:7px;display:flex}.trust-row b{color:var(--ink);letter-spacing:-.03em;font-size:15px}.hero-visual{place-items:center;min-height:530px;display:grid;position:relative;overflow:hidden}.hero-visual:before{content:"";background:linear-gradient(145deg,#e4e7ef,#faf9f6);border-radius:50%;position:absolute;inset:7% 6%;box-shadow:inset 20px 20px 60px #30374812}.orbit{border:1px solid #2962ff30;border-radius:50%;position:absolute;transform:rotate(-18deg)}.orbit-one{width:96%;height:44%}.orbit-two{width:72%;height:72%;transform:rotate(30deg)}.glow{background:var(--blue);opacity:.12;filter:blur(44px);border-radius:50%;width:230px;height:230px;position:absolute}.shield-card{z-index:2;color:#fff;background:#111622f5;border-radius:115px 115px 30px 30px;flex-direction:column;justify-content:center;align-items:center;width:230px;height:300px;display:flex;transform:rotate(-4deg);box-shadow:0 35px 70px #1116223d}.shield-icon{color:#fff;letter-spacing:-.08em;border:1px solid #fff3;border-radius:50%;place-items:center;width:88px;height:88px;font-size:26px;font-weight:900;display:grid;box-shadow:0 0 0 12px #ffffff0a,0 0 38px #2962ff59}.shield-card p{margin:27px 0 7px;font-size:13px;font-weight:700}.shield-card span{letter-spacing:.17em;color:#8795b8;font-size:8px}.floating-note{z-index:3;background:#fff;border:1px solid #e4e3df;padding:14px 17px;font-size:10px;font-weight:700;position:absolute;box-shadow:0 15px 36px #232a391a}.note-top{top:16%;right:5%}.note-top i{background:#35b979;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.note-bottom{letter-spacing:.1em;bottom:17%;left:3%}.note-bottom span{color:var(--blue)}.subscription-section{background:#fff;border-block:1px solid #e7e6e2;padding:110px 0}.subscription-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:100px;display:grid}h2{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,68px);line-height:.98}.section-copy{max-width:360px;color:var(--muted);margin:25px 0 0;font-size:15px;line-height:1.7}.lookup-card{border:1px solid #deddd9;padding:34px;box-shadow:0 24px 65px #161b260f}label{letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:800;display:block}.lookup-field{border-bottom:1px solid var(--ink);display:flex}.lookup-field input{letter-spacing:.02em;border:0;outline:0;flex:1;min-width:0;padding:17px 0;font-size:19px}.lookup-field button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.lookup-field button:disabled{opacity:.5}.field-hint{color:#92959d;margin:11px 0 0;font-size:10px}.form-error{color:#a8382a;background:#fff2f0;margin:22px 0 0;padding:13px 14px;font-size:12px}.result-card{border-top:1px solid #e7e6e1;margin-top:28px;padding-top:26px}.result-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.status{letter-spacing:.1em;text-transform:uppercase;color:#398a63;align-items:center;gap:7px;font-size:9px;display:inline-flex}.status i{background:#35b979;border-radius:50%;width:6px;height:6px}.status-expired,.status-disabled{color:#ad4639}.status-expired i,.status-disabled i{background:#d65746}.result-number{margin:9px 0 24px;font-size:25px;font-weight:800}.copy-button{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fff;border:1px solid #d7d5cf;padding:10px 12px;font-size:9px;font-weight:800}.copy-button:hover{border-color:var(--blue)}.result-details{border-block:1px solid #ecebe8;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0;display:grid}.result-details span{color:#81858e;text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:6px;font-size:10px;display:flex}.result-details b{color:var(--ink);letter-spacing:0;text-transform:none;font-size:14px}.result-card .button{width:100%;margin-top:24px}.plans-section{padding-block:120px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:52px;display:flex}.section-heading>p{max-width:390px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.plans-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.plan-card{text-align:left;min-height:255px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #d7d5cf;flex-direction:column;align-items:flex-start;padding:25px;transition:all .2s;display:flex;position:relative}.plan-card:hover{border-color:#9ca0aa;transform:translateY(-3px)}.plan-card.selected{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 22px 55px #11162224}.plan-radio{border:1px solid #969aa4;border-radius:50%;width:15px;height:15px;margin-bottom:42px}.selected .plan-radio{border:4px solid var(--blue);background:#fff}.plan-note{color:#60656f;letter-spacing:.08em;text-transform:uppercase;background:#e7e5df;padding:6px 8px;font-size:8px;position:absolute;top:19px;right:19px}.selected .plan-note{background:var(--blue);color:#fff}.plan-card strong{font-size:17px}.plan-price{letter-spacing:-.05em;margin-top:auto;font-size:36px;font-weight:800}.plan-card small{color:#90949c;margin-top:5px;font-size:10px}.checkout-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:90px;margin-top:16px;display:flex}.checkout-bar div{flex-direction:column;gap:5px;display:flex}.checkout-bar span{color:#82868f;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.checkout-bar strong{font-size:14px}.support-section{background:var(--blue);color:#fff;padding:90px 0}.support-inner{grid-template-columns:auto 1.25fr .9fr auto;align-items:center;gap:42px;display:grid}.support-mark{border:1px solid #fff6;border-radius:50%;place-items:center;width:72px;height:72px;font-family:Georgia,serif;font-size:32px;display:grid}.support-section .section-index{color:#fff9}.support-section h2{font-size:44px}.support-section p{color:#ffffffbf;font-size:13px;line-height:1.7}.support-actions{flex-direction:column;align-items:stretch;gap:10px;display:flex}.support-email{text-align:center;color:#ffffffd1;text-underline-offset:3px;font-size:11px;font-weight:700;text-decoration:underline}.support-email:hover{color:#fff}.global-footer{color:#777b84;justify-content:space-between;align-items:center;gap:28px;min-height:110px;font-size:10px;display:flex}.footer-links{text-align:right;gap:20px;display:flex}.footer-contact{color:var(--ink)}.footer-contact a{color:var(--blue);font-weight:700}.global-footer strong{color:var(--ink)}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e17a3;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.checkout-modal{background:#fff;width:min(480px,100%);padding:42px;position:relative;box-shadow:0 30px 90px #00000040}.checkout-modal h2{margin-bottom:34px;font-size:36px}.modal-close{cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:15px;right:18px}.order-line{border-bottom:1px solid #e8e7e3;justify-content:space-between;padding:15px 0;font-size:13px;display:flex}.modal-note{color:var(--muted);margin:24px 0;font-size:12px;line-height:1.65}.full{width:100%}.checkout-kind{background:#f5f3ee;justify-content:space-between;margin:20px 0;padding:14px;font-size:12px;display:flex}.checkout-kind span{color:var(--muted)}.checkout-label{margin-top:22px}.checkout-input{background:#fff;border:1px solid #d8d6d0;outline:0;width:100%;padding:15px 14px;font-size:15px}.checkout-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2962ff17}.legal-consents{gap:12px;margin-top:20px;display:grid}.legal-consent{color:#666b76;letter-spacing:0;text-transform:none;cursor:pointer;align-items:flex-start;gap:10px;margin:0;font-size:11px;font-weight:400;line-height:1.5;display:flex}.legal-consent input{width:16px;height:16px;accent-color:var(--blue);flex:none;margin:1px 0 0}.legal-consent a{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.button:disabled{cursor:wait;opacity:.65;transform:none}.payment-result-page{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.payment-result-card{border:1px solid var(--line);background:#fff;width:min(620px,100%);padding:52px;box-shadow:0 24px 70px #11162214}.payment-result-card .brand-mark{margin-bottom:36px}.payment-result-card h1{letter-spacing:-.06em;margin:0 0 24px;font-size:clamp(42px,7vw,70px);line-height:.95}.payment-result-card>p{color:var(--muted)}.payment-result-card .button{margin-top:24px}.legal-page{border-bottom:1px solid var(--line);background:#fff}.legal-document{max-width:900px;padding-block:70px 100px}.legal-back{color:var(--blue);margin-bottom:60px;font-size:12px;font-weight:800;display:inline-block}.legal-document h1{max-width:820px;font-size:clamp(46px,7vw,82px);line-height:.95}.legal-date{color:var(--muted);margin:25px 0 65px;font-size:13px}.legal-document section{border-top:1px solid #e8e6e0;padding:32px 0}.legal-document section h2{letter-spacing:-.03em;margin-bottom:18px;font-size:25px}.legal-document section p,.legal-document li{color:#555b68;font-size:14px;line-height:1.75}.legal-document section p{margin:10px 0}.legal-document ul{margin:12px 0;padding-left:22px}.legal-document a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}@media (max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-visual{min-height:450px}.subscription-grid{grid-template-columns:1fr;gap:48px}.section-heading{align-items:start;gap:28px}.plans-grid{grid-template-columns:1fr}.plan-card{min-height:190px}.plan-radio{margin-bottom:28px}.support-inner{grid-template-columns:auto 1fr}.support-inner>p,.support-inner>.support-actions{grid-column:2}}@media (max-width:600px){.shell{width:min(100% - 32px,1180px)}.announcement{font-size:8px}.site-header{height:68px}.header-action{display:none}.hero{gap:25px;padding-block:58px 70px}h1{font-size:58px}.hero-lead{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-row{justify-content:space-between;gap:16px}.trust-row span{flex-direction:column;gap:3px}.hero-visual{min-height:370px}.shield-card{width:180px;height:240px}.subscription-section,.plans-section{padding-block:78px}.lookup-card{padding:24px}.lookup-field{display:block}.lookup-field button{text-align:right;width:100%;padding:15px 0}.section-heading{display:block}.section-heading>p{margin-top:24px}.checkout-bar{flex-direction:column;align-items:stretch;gap:18px;padding-top:24px}.support-inner{flex-direction:column;align-items:flex-start;display:flex}.support-actions,.support-section .button{width:100%}.global-footer{flex-direction:column;align-items:flex-start;gap:20px;min-height:0;padding-block:35px}.footer-links{text-align:left;flex-direction:column;gap:10px}.checkout-modal{padding:34px 25px 25px}.legal-document{padding-block:42px 70px}.legal-back{margin-bottom:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* PZ shop presentation layer. Append after the existing production stylesheet.
 * Content, payment logic, routes and consent state remain unchanged.
 * The existing /favicon.svg artwork is reused without modification.
 */
:root {
  --paper: #f5f3ee;
  --ink: #111622;
  --muted: #4e5360;
  --blue: #2962ff;
  --line: #d9d7d0;
  --pz-card: #fff;
  --pz-soft: #eef2ff;
  --pz-error: #b42318;
  color-scheme: light;
}
html { scroll-padding-top: 24px; }
body { background: var(--paper); color: var(--ink); line-height: 1.5; }
button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.shell { width: min(1180px, calc(100% - 64px)); min-width: 0; }
.hero > *, .subscription-grid > *, .support-inner > *, .plans-grid > * { min-width: 0; }
.announcement { padding: 10px 20px; font-size: 11px; line-height: 1.6; letter-spacing: .11em; }
.site-header { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; height: auto; min-height: 86px; padding-block: 18px; }
.brand { min-width: 0; font-size: 15px; gap: 12px; }
.brand-mark {
  width: 40px; height: 40px; flex: none; border-radius: 12px;
  background: transparent url('/favicon.svg') center / contain no-repeat;
  color: transparent; font-size: 0;
}
.site-header nav { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 24px; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.header-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-block: 8px; font-size: 12px; }
.hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 40px; min-height: 640px; padding-block: 72px 80px; }
.hero h1 { font-size: clamp(44px, 6.8vw, 88px); line-height: 1.02; letter-spacing: -.06em; overflow-wrap: anywhere; }
.hero-lead { color: var(--muted); font-size: 17px; line-height: 1.7; margin-top: 28px; }
.hero-actions { flex-wrap: wrap; gap: 16px 24px; margin-top: 30px; }
.button { min-height: 48px; border-radius: 12px; padding: 14px 22px; gap: 20px; font-size: 13px; line-height: 1.35; text-align: center; }
.button-primary { box-shadow: 0 8px 24px #2962ff24; }
.button:hover { transform: none; }
.button-primary:hover:not(:disabled) { background: #1748d6; }
.button-dark:hover:not(:disabled) { background: #252e40; }
.button-light:hover:not(:disabled) { background: var(--pz-soft); }
.text-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; font-size: 13px; }
.trust-row { color: var(--muted); flex-wrap: wrap; gap: 18px 26px; margin-top: 40px; line-height: 1.5; }
.hero-visual { min-height: 450px; }
.floating-note { border-radius: 12px; line-height: 1.5; }
.subscription-section { padding-block: 86px; }
.subscription-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; }
h2 { font-size: clamp(34px, 4.5vw, 58px); line-height: 1.08; letter-spacing: -.045em; overflow-wrap: anywhere; }
.section-copy, .section-heading > p { color: var(--muted); font-size: 15px; line-height: 1.7; }
.lookup-card, .checkout-box { border: 1px solid var(--line); border-radius: 20px; padding: 28px; background: var(--pz-card); box-shadow: 0 16px 40px #11162208; }
.lookup-field { align-items: center; gap: 14px; }
.lookup-field input { min-height: 48px; padding: 14px 0; font-size: 16px; }
.lookup-field button { min-height: 44px; padding: 10px 4px; font-size: 12px; }
.field-hint { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.form-error { border-radius: 12px; color: var(--pz-error); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.result-heading { gap: 14px; }
.result-number { overflow-wrap: anywhere; font-size: clamp(20px, 3vw, 25px); line-height: 1.3; }
.copy-button { border-radius: 12px; min-height: 44px; padding: 10px 14px; font-size: 10px; flex: none; }
.result-details { gap: 16px; }
.result-details span { color: var(--muted); font-size: 11px; min-width: 0; }
.result-details b { line-height: 1.45; overflow-wrap: anywhere; }
.plans-section { padding-block: 88px; }
.section-heading { gap: 32px; margin-bottom: 36px; }
.plans-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.plan-card { min-height: 240px; border: 1px solid #cbc8c0; border-radius: 20px; padding: 24px; gap: 4px; }
.plan-card:hover { transform: none; border-color: var(--blue); background: #fff9; }
.plan-card.selected { background: var(--ink); border-color: var(--ink); box-shadow: 0 12px 32px #11162217; }
.plan-card.selected:hover { background: var(--ink); }
.plan-card strong { font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.plan-card small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.plan-card.selected small { color: #d4daea; }
.plan-radio { width: 18px; height: 18px; flex: none; margin-bottom: 32px; }
.plan-note { border-radius: 6px; top: 20px; right: 18px; font-size: 9px; max-width: calc(100% - 62px); }
.plan-price { font-size: clamp(28px, 3vw, 36px); line-height: 1.3; }
.checkout-bar { min-height: 0; padding-top: 24px; gap: 24px; }
.checkout-bar > div { min-width: 0; }
.checkout-bar span { color: var(--muted); line-height: 1.5; }
.checkout-bar strong { overflow-wrap: anywhere; line-height: 1.5; }
.checkout-bar .button { flex: none; }
.support-section { padding-block: 68px; }
.support-inner { grid-template-columns: 72px minmax(0, 1.05fr) minmax(0, .95fr) auto; gap: 28px; }
.support-section h2 { font-size: clamp(32px, 3vw, 42px); }
.support-section p { color: #ffffffe0; font-size: 14px; }
.support-email { min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 12px; overflow-wrap: anywhere; }
.global-footer { gap: 24px; padding-block: 30px; min-height: 110px; font-size: 12px; line-height: 1.6; color: var(--muted); }
.footer-links { flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 20px; min-width: 0; }
.footer-links > a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-contact { overflow-wrap: anywhere; }
.modal-backdrop { padding: 20px; overflow-y: auto; overscroll-behavior: contain; }
.checkout-modal { width: min(560px, 100%); max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain; padding: 34px; border: 1px solid var(--line); border-radius: 20px; }
.checkout-modal h2 { font-size: 30px; padding-right: 28px; line-height: 1.15; margin-bottom: 24px; }
.modal-close { width: 44px; height: 44px; top: 12px; right: 12px; border-radius: 12px; font-size: 28px; display: grid; place-items: center; }
.modal-close:hover { background: var(--pz-soft); }
.order-line, .amount-line { gap: 16px; line-height: 1.5; }
.order-line > :first-child, .amount-line > :first-child { min-width: 0; overflow-wrap: anywhere; }
.order-line > :last-child, .amount-line > :last-child { flex: none; font-variant-numeric: tabular-nums; }
.modal-note { font-size: 13px; line-height: 1.65; }
.checkout-kind { border-radius: 12px; gap: 14px; }
.checkout-kind > :first-child { min-width: 0; overflow-wrap: anywhere; }
.checkout-input { min-height: 48px; border-radius: 12px; border-color: #aab0bb; font-size: 16px; line-height: 1.4; }
.legal-consent, .legal-check { color: var(--muted); font-size: 12px; line-height: 1.6; min-height: 44px; align-items: flex-start; }
.legal-consent input, .legal-check input { width: 20px; height: 20px; flex: none; margin-top: 0; }
.payment-result-card { padding: 40px; border-radius: 20px; }
.legal-document { padding-block: 58px 80px; }
.legal-document h1 { font-size: clamp(36px, 5.8vw, 68px); line-height: 1.08; overflow-wrap: anywhere; }
.legal-back { min-height: 44px; align-items: center; display: inline-flex; margin-bottom: 36px; }
.legal-document section p, .legal-document li { color: var(--muted); font-size: 15px; overflow-wrap: anywhere; }

/* Controlled custom-plan extension: all state and quote values stay in React. */
.pz-custom-controls { margin-top: 20px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; min-width: 0; }
.pz-custom-controls [hidden] { display: none !important; }
.pz-custom-controls h3 { font-size: 21px; line-height: 1.35; margin: 0 0 24px; letter-spacing: -.035em; }
.pz-control-row, .pz-device-quantity { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-top: 20px; }
.pz-control-row:first-child { margin-top: 0; }
.pz-control-row label, .pz-device-quantity label { font-size: 14px; line-height: 1.5; margin: 0; font-weight: 700; letter-spacing: 0; text-transform: none; }
.pz-input-number { width: 112px; max-width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #aab0bb; border-radius: 12px; background: #fff; color: var(--ink); font-size: 16px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.pz-input-number:focus { border-color: var(--blue); }
.pz-input-range { display: block; grid-column: 1 / -1; width: 100%; min-width: 0; height: 44px; margin: 6px 0 0; padding: 0; background: transparent; accent-color: var(--blue); cursor: pointer; appearance: none; -webkit-appearance: none; }
.pz-input-range::-webkit-slider-runnable-track { height: 6px; background: var(--line); border-radius: 999px; }
.pz-input-range::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; margin-top: -9px; border: 3px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.pz-input-range::-moz-range-track { height: 6px; background: var(--line); border-radius: 999px; }
.pz-input-range::-moz-range-progress { height: 6px; background: var(--blue); border-radius: 999px; }
.pz-input-range::-moz-range-thumb { width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.pz-control-help { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 8px 0 0; overflow-wrap: anywhere; }
.pz-device-toggle { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 22px 0 0; color: var(--ink); font-size: 14px; line-height: 1.5; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; }
.pz-device-toggle input[type='checkbox'] { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--blue); }
.pz-device-quantity { padding-left: 32px; margin-top: 12px; }
.pz-cart-summary { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; margin-top: 24px; padding: 20px; }
.pz-cart-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 14px; line-height: 1.55; padding-block: 7px; }
.pz-cart-line > :first-child { min-width: 0; overflow-wrap: anywhere; }
.pz-cart-line strong { color: var(--ink); white-space: nowrap; font-size: 14px; font-variant-numeric: tabular-nums; }
.pz-cart-total { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 18px; color: var(--ink); font-weight: 700; }
.pz-cart-total strong { font-size: 20px; }
.pz-quote-status { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 16px 0 0; overflow-wrap: anywhere; }
.pz-quote-error { color: var(--pz-error); background: #fff2f0; border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 1.6; margin: 16px 0 0; overflow-wrap: anywhere; }
.pz-quote-status:empty, .pz-quote-error:empty { display: none; }

@media (max-width: 1050px) {
  .hero { gap: 26px; min-height: 580px; padding-block: 60px; }
  .hero-visual { min-height: 400px; }
  .subscription-grid { gap: 40px; }
  .plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-card { min-height: 220px; }
  .support-inner { grid-template-columns: 72px minmax(0, 1fr); gap: 22px 28px; }
  .support-inner > p, .support-inner > .support-actions { grid-column: 2; }
  .support-actions { max-width: 340px; }
}
@media (max-width: 800px) {
  .shell { width: min(1180px, calc(100% - 40px)); }
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; padding-block: 16px; }
  .site-header nav { grid-column: 1 / -1; justify-content: flex-start; gap: 4px 20px; }
  .header-action { grid-column: 2; grid-row: 1; }
  .hero { grid-template-columns: minmax(0, 1fr); gap: 30px; min-height: 0; padding-block: 48px 60px; }
  .hero-copy { max-width: 660px; }
  .hero h1 { font-size: clamp(48px, 9vw, 70px); }
  .hero-visual { min-height: 380px; max-width: 560px; width: 100%; margin-inline: auto; }
  .subscription-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .section-copy { max-width: 540px; }
  .subscription-section, .plans-section { padding-block: 64px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 20px; max-width: 540px; }
  .global-footer { align-items: flex-start; flex-wrap: wrap; }
  .footer-links { justify-content: flex-start; text-align: left; }
}
@media (max-width: 520px) {
  .shell { width: calc(100% - 32px); }
  .announcement { font-size: 10px; padding: 9px 16px; letter-spacing: .08em; }
  .site-header { gap: 8px 12px; }
  .brand { gap: 10px; font-size: 14px; }
  .brand-mark { width: 36px; height: 36px; border-radius: 10px; }
  .header-action { font-size: 11px; }
  .site-header nav { justify-content: space-between; gap: 4px 12px; }
  .site-header nav a { font-size: 12px; }
  .hero { padding-block: 36px 48px; gap: 22px; }
  .hero h1 { font-size: clamp(39px, 12.3vw, 62px); line-height: 1.07; letter-spacing: -.055em; }
  .eyebrow, .section-index { font-size: 10px; margin-bottom: 20px; letter-spacing: .12em; }
  .hero-lead { font-size: 15px; margin-top: 24px; }
  .hero-actions { align-items: stretch; gap: 10px; flex-direction: column; }
  .hero-actions > .button { width: 100%; }
  .hero-actions > .text-link { align-self: flex-start; }
  .trust-row { justify-content: flex-start; gap: 16px 22px; margin-top: 28px; padding-top: 18px; }
  .trust-row span { flex-direction: column; gap: 3px; }
  .hero-visual { min-height: 320px; }
  .shield-card { width: 166px; height: 224px; border-radius: 84px 84px 24px 24px; }
  .shield-icon { width: 70px; height: 70px; font-size: 23px; }
  .floating-note { padding: 11px 12px; font-size: 9px; }
  .note-top { top: 12%; right: 0; }
  .note-bottom { left: 0; bottom: 13%; }
  h2 { font-size: 34px; }
  .subscription-section, .plans-section { padding-block: 48px; }
  .lookup-card, .checkout-box { padding: 22px 20px; }
  .lookup-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lookup-field button { justify-self: stretch; text-align: right; width: 100%; padding: 10px 0; }
  .result-heading { flex-wrap: wrap; }
  .result-details { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .plans-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .plan-card { min-height: 200px; padding: 22px; }
  .plan-radio { margin-bottom: 22px; }
  .plan-price { font-size: 34px; }
  .checkout-bar { flex-direction: column; align-items: stretch; gap: 18px; }
  .checkout-bar .button { width: 100%; }
  .support-section { padding-block: 44px; }
  .support-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
  .support-section h2 { font-size: 34px; }
  .support-section p { margin: 0; }
  .support-actions { width: 100%; max-width: none; }
  .global-footer { flex-direction: column; gap: 18px; padding-block: 26px; }
  .footer-links { flex-direction: column; align-items: flex-start; gap: 4px; }
  .footer-links > a { min-height: 40px; }
  .modal-backdrop { padding: 12px; }
  .checkout-modal { padding: 30px 20px 24px; max-height: calc(100dvh - 24px); }
  .checkout-modal h2 { font-size: 27px; }
  .modal-close { top: 10px; right: 10px; }
  .order-line, .amount-line { font-size: 12px; gap: 12px; }
  .checkout-kind { font-size: 12px; flex-wrap: wrap; }
  .payment-result-page { padding: 16px; }
  .payment-result-card { padding: 26px 22px; }
  .legal-document { padding-block: 38px 58px; }
  .legal-document h1 { font-size: 38px; }
  .legal-document section { padding-block: 24px; }
  .pz-custom-controls { padding: 22px 18px; }
  .pz-control-row, .pz-device-quantity { grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; }
  .pz-input-number { width: 92px; }
  .pz-device-quantity { padding-left: 0; }
  .pz-cart-summary { padding: 16px; }
  .pz-cart-line { font-size: 13px; gap: 10px; }
  .pz-cart-line strong { font-size: 13px; }
  .pz-cart-total strong { font-size: 20px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .modal-backdrop { align-items: start; padding-block: 12px; }
  .checkout-modal { max-height: calc(100dvh - 24px); padding-top: 26px; }
  .hero { padding-block: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Shared tokens and compact customer interface. Existing Happ/link controls remain visible. */
:root, :root[data-pz-theme='light'] {
  --pz-bg:#fff; --pz-panel:#f5f7fb; --pz-surface:#fff; --pz-text:#111622;
  --pz-muted:#596171; --pz-line:#d7dce5; --pz-accent:#2459e5; --pz-accent-text:#fff;
  --pz-soft:#edf2ff; --pz-error:#b42318; --pz-error-bg:#fff0ee; --pz-backdrop:#1116228c;
  --paper:var(--pz-bg); --ink:var(--pz-text); --muted:var(--pz-muted); --blue:var(--pz-accent);
  --line:var(--pz-line); --pz-card:var(--pz-surface); color-scheme:light;
}
:root[data-pz-theme='dark'] {
  --pz-bg:#090a0c; --pz-panel:#14161a; --pz-surface:#111317; --pz-text:#f7f7f0;
  --pz-muted:#b4b9c3; --pz-line:#383b42; --pz-accent:#f5d72d; --pz-accent-text:#11120b;
  --pz-soft:#262410; --pz-error:#ffaaa0; --pz-error-bg:#371d1c; --pz-backdrop:#000c; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-pz-theme]) { --pz-bg:#090a0c; --pz-panel:#14161a; --pz-surface:#111317; --pz-text:#f7f7f0; --pz-muted:#b4b9c3; --pz-line:#383b42; --pz-accent:#f5d72d; --pz-accent-text:#11120b; --pz-soft:#262410; --pz-error:#ffaaa0; --pz-error-bg:#371d1c; --pz-backdrop:#000c; color-scheme:dark; }
}
html,body { background:var(--pz-bg)!important; color:var(--pz-text); background-image:none!important; }
body { font-family:Arial,Helvetica,sans-serif; line-height:1.5; }
*,*::before,*::after { box-sizing:border-box; }
a { color:var(--pz-accent); }
:where(button,a,input,select,summary):focus-visible { outline:3px solid var(--pz-accent); outline-offset:3px; }
button,input,select { font-family:inherit; }
.pz-theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:9px 12px; border:1px solid var(--pz-line); border-radius:12px; background:var(--pz-panel); color:var(--pz-text); font:600 12px/1.3 Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.pz-theme-toggle:hover { background:var(--pz-soft); border-color:var(--pz-accent); }
.pz-theme-symbol { font-size:20px; line-height:1; }
.shell { width:min(1040px,calc(100% - 40px)); min-width:0; }
.site-header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; min-height:72px; padding:12px 0; border-bottom:1px solid var(--pz-line); }
.brand { display:inline-flex; gap:10px; align-items:center; font-size:16px; color:var(--pz-text); text-decoration:none; }
.brand-mark,.pz-wordmark { position:relative; display:inline-block; flex:none; width:auto; height:auto; font-family:Arial,sans-serif!important; font-style:italic; font-weight:650!important; font-size:33px!important; letter-spacing:-2px!important; color:var(--pz-text)!important; line-height:1!important; padding:0 4px 14px 0!important; margin:0!important; background:none!important; border-radius:0; }
.brand-mark::before,.brand-mark::after,.pz-wordmark::before,.pz-wordmark::after { content:''; position:absolute; height:2px; background:currentColor; right:4px; transform:skewX(-12deg); border-radius:1px; }
.brand-mark::before,.pz-wordmark::before { width:calc(100% - 4px); bottom:7px; }
.brand-mark::after,.pz-wordmark::after { width:68%; bottom:2px; }
:root[data-pz-theme='dark'] .brand-mark,:root[data-pz-theme='dark'] .pz-wordmark { color:#fff!important; }
.site-header nav { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 20px; grid-column:auto; grid-row:auto; }
.site-header>.pz-theme-toggle { grid-column:auto; grid-row:auto; }
.site-header nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--pz-muted); font-size:13px; text-decoration:none; }
.site-header nav a:hover { color:var(--pz-accent); }
.hero { display:block; min-height:0; padding:28px 0 18px; }
.hero h1 { font:700 clamp(26px,4vw,34px)/1.15 Arial,sans-serif; letter-spacing:-1px; margin:0 0 10px; }
.hero-lead { font-size:14px; color:var(--pz-muted); line-height:1.65; max-width:640px; margin:0; }
.plans-section { padding:16px 0 32px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:16px; }
h2,.section-heading h2 { font-size:22px; line-height:1.25; letter-spacing:-.5px; margin:0; color:var(--pz-text); }
.section-copy,.section-heading>p { color:var(--pz-muted); font-size:13px; line-height:1.6; margin:8px 0 0; }
.plans-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.plan-card { min-height:144px; padding:16px; border:1px solid var(--pz-line); border-radius:16px; background:var(--pz-surface); color:var(--pz-text); box-shadow:none; }
.plan-card:hover { background:var(--pz-panel); border-color:var(--pz-accent); transform:none; }
.plan-card.selected,.plan-card.selected:hover { background:var(--pz-soft); color:var(--pz-text); border-color:var(--pz-accent); box-shadow:inset 0 0 0 1px var(--pz-accent); }
.plan-card strong { font-size:14px; line-height:1.35; color:var(--pz-text); }
.plan-price { font-size:26px; line-height:1.2; margin-top:6px; color:var(--pz-text); }
.plan-card small,.plan-card.selected small { color:var(--pz-muted); font-size:11px; }
.plan-radio { width:14px; height:14px; margin-bottom:12px; border:1px solid var(--pz-muted); }
.selected .plan-radio { background:var(--pz-accent); border-color:var(--pz-accent); }
.selected .plan-radio::after { background:var(--pz-accent-text); }
.plan-note { top:12px; right:10px; max-width:calc(100% - 36px); padding:3px 5px; color:var(--pz-muted); background:var(--pz-panel); font-size:8px; }
.selected .plan-note { color:var(--pz-accent-text); background:var(--pz-accent); }
.pz-custom-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 24px; margin-top:12px; padding:18px; border:1px solid var(--pz-line); border-radius:16px; background:var(--pz-panel); }
.pz-term-controls,.pz-addon-controls { min-width:0; }
.pz-addon-controls:only-child { grid-column:1/-1; }
.pz-control-row { display:grid; grid-template-columns:minmax(0,1fr) 84px; gap:10px; align-items:center; margin:0; }
.pz-control-row label { color:var(--pz-text); font-size:13px; font-weight:600; text-transform:none; letter-spacing:0; }
.pz-input-number { min-height:44px; width:84px; max-width:100%; padding:9px 10px; border:1px solid var(--pz-line); border-radius:10px; font-size:16px; background:var(--pz-surface); color:var(--pz-text); }
.pz-input-range { width:100%; min-width:0; min-height:44px; margin:3px 0 0; background:transparent; accent-color:var(--pz-accent); }
.pz-input-range::-webkit-slider-runnable-track { background:var(--pz-line); }
.pz-input-range::-webkit-slider-thumb { background:var(--pz-accent); border-color:var(--pz-surface); box-shadow:0 0 0 1px var(--pz-accent); }
.pz-control-help { color:var(--pz-muted); font-size:12px; line-height:1.5; margin:6px 0 0; }
.pz-quote-status { grid-column:1/-1; margin:0; color:var(--pz-muted); font-size:12px; }
.pz-quote-status:empty { display:none; }
.pz-quote-error,.form-error { background:var(--pz-error-bg); color:var(--pz-error); border-radius:10px; }
.pz-quote-retry { width:fit-content; min-height:44px; border:1px solid var(--pz-line); border-radius:10px; padding:8px 12px; background:var(--pz-surface); color:var(--pz-text); }
.checkout-bar { padding-top:16px; margin-top:16px; border-color:var(--pz-line); gap:16px; }
.checkout-bar span { color:var(--pz-muted); }
.checkout-bar strong { color:var(--pz-text); font-size:14px; }
.button,.pz-store-button { min-height:44px; border-radius:12px; padding:11px 18px; font-size:13px; box-shadow:none; }
.button-primary,.button-dark,.button-light,.pz-store-button,.pz-renew-button { background:var(--pz-accent); color:var(--pz-accent-text); border:1px solid var(--pz-accent); }
.button-primary:hover:not(:disabled),.button-dark:hover:not(:disabled),.button-light:hover:not(:disabled),.pz-store-button:hover:not(:disabled),.pz-renew-button:hover { background:var(--pz-accent); color:var(--pz-accent-text); filter:brightness(.94); }
.button span { color:inherit; }
.subscription-section { padding:28px 0; border-top:1px solid var(--pz-line); background:var(--pz-panel); }
.subscription-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; align-items:start; }
.lookup-card { padding:20px; border-radius:16px; border:1px solid var(--pz-line); background:var(--pz-surface); box-shadow:none; }
.lookup-card label,.checkout-label { color:var(--pz-text); }
.lookup-field input { color:var(--pz-text); background:transparent; font-size:16px; min-height:44px; }
.lookup-field button { color:var(--pz-accent); min-height:44px; }
.field-hint,.result-details span,.modal-note { color:var(--pz-muted); }
.result-card { border-color:var(--pz-line); }
.result-number,.result-details b { color:var(--pz-text); }
.copy-button { background:var(--pz-panel); color:var(--pz-accent); border-color:var(--pz-line); }
.support-section { padding:24px 0; background:var(--pz-bg); border-top:1px solid var(--pz-line); }
.support-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:20px; align-items:center; }
.support-inner>* { grid-column:auto; grid-row:auto; min-width:0; }
.support-inner>p,.support-inner>.support-actions { grid-column:auto; grid-row:auto; }
.support-section h2 { color:var(--pz-text); font-size:20px; }
.support-section p { color:var(--pz-muted); font-size:13px; margin:0; }
.support-actions .button { min-width:180px; }
.support-email { color:var(--pz-muted); min-height:36px; }
.global-footer { min-height:0; border-top:1px solid var(--pz-line); padding:20px 0; font-size:11px; color:var(--pz-muted); gap:16px; }
.footer-links { gap:8px 16px; }
.footer-links a { min-height:36px; }
.modal-backdrop { background:var(--pz-backdrop); padding:12px; }
.checkout-modal { max-height:calc(100dvh - 24px); width:min(520px,100%); padding:26px; border-radius:18px; border:1px solid var(--pz-line); color:var(--pz-text); background:var(--pz-surface); }
.checkout-modal h2 { color:var(--pz-text); font-size:25px; margin-bottom:18px; }
.modal-close { top:8px; right:8px; width:44px; height:44px; color:var(--pz-text); background:transparent; }
.modal-close:hover { background:var(--pz-panel); }
.order-line { padding:10px 0; border-color:var(--pz-line); color:var(--pz-muted); font-size:13px; }
.order-line b { color:var(--pz-text); }
.checkout-kind { background:var(--pz-panel); color:var(--pz-muted); margin:16px 0; padding:12px; }
.checkout-kind b { color:var(--pz-text); }
.checkout-label { font-size:11px; }
.checkout-input { background:var(--pz-panel); color:var(--pz-text); border-color:var(--pz-line); min-height:46px; font-size:16px; }
input::placeholder { color:var(--pz-muted); opacity:1; }
.legal-consent { color:var(--pz-muted); font-size:12px; line-height:1.55; }
.legal-consent input { accent-color:var(--pz-accent); }
.legal-page,.legal-document { color:var(--pz-text); }
.legal-page p,.legal-page li { color:var(--pz-muted); }
/* Native subscription components retain their DOM, imports and keys. */
body.pz-subpage { color-scheme:inherit; --mantine-color-body:var(--pz-bg); --mantine-color-text:var(--pz-text); --mantine-color-dark-0:var(--pz-text); --mantine-color-dark-1:var(--pz-muted); --mantine-color-dimmed:var(--pz-muted); --mantine-color-default:var(--pz-surface); --mantine-color-default-color:var(--pz-text); --mantine-color-default-border:var(--pz-line); --mantine-primary-color-filled:var(--pz-accent); --mantine-primary-color-light:var(--pz-soft); --mantine-primary-color-light-color:var(--pz-accent); }
.pz-subpage main.pz-surface { max-width:1040px; }
.pz-subpage .header-wrapper { padding:14px 0!important; }
.pz-subpage .header-wrapper .mantine-Container-root { padding-inline:20px; }
.pz-hero { padding:28px 20px 20px; }
.pz-hero h1 { font:700 clamp(28px,4vw,38px)/1.15 Arial,sans-serif; letter-spacing:-1px; margin:0 0 10px; }
.pz-hero h1 span { color:var(--pz-accent); font-family:inherit; font-style:normal; font-weight:700; }
.pz-hero p.pz-lead { font-size:14px; line-height:1.6; max-width:620px; }
.pz-network-mark { display:none; }
.pz-eyebrow { margin-bottom:10px; }
.pz-subpage .mantine-Card-root,.pz-subpage .mantine-Paper-root,.pz-subpage .mantine-Accordion-item { background:var(--pz-surface)!important; color:var(--pz-text)!important; border-color:var(--pz-line)!important; border-radius:16px!important; }
.pz-subpage .mantine-Text-root { color:var(--pz-muted); }
.pz-subpage .mantine-Button-root[data-variant='filled'] { background:var(--pz-accent)!important; color:var(--pz-accent-text)!important; }
.pz-subpage [class*='appButton'],.pz-subpage .mantine-Button-root[data-variant='light'],.pz-subpage .mantine-Button-root[data-variant='subtle'] { background:var(--pz-soft)!important; color:var(--pz-accent)!important; border-color:var(--pz-line)!important; }
.pz-subpage .mantine-NativeSelect-input { background:var(--pz-surface)!important; color:var(--pz-text); border-color:var(--pz-line)!important; }
.pz-devices { margin:0 20px 20px; padding:20px; background:var(--pz-surface); border-color:var(--pz-line); border-radius:16px; }
.pz-devices-title { font-size:18px; }
.pz-devices-refresh,.pz-renew-retry,.pz-modal-close { background:var(--pz-panel); color:var(--pz-text); border-color:var(--pz-line); }
.pz-footer { padding:20px; font-size:11px; }
.pz-modal { width:min(580px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:24px; border-radius:18px; color:var(--pz-text); background:var(--pz-surface); border-color:var(--pz-line); color-scheme:inherit; }
.pz-modal::backdrop { background:var(--pz-backdrop); }
.pz-modal-header { margin-bottom:18px; }
.pz-modal h2 { font-size:25px; }
.pz-plans { gap:8px; }
.pz-plan { min-height:100px; padding:14px 10px; background:var(--pz-panel); color:var(--pz-text); border-color:var(--pz-line); }
.pz-plan[aria-pressed='true'] { background:var(--pz-soft); padding:13px 9px; border-color:var(--pz-accent); }
.pz-plan-period { margin-bottom:12px; }
.pz-plan-price { font-size:22px; }
.pz-custom-choice .pz-plan-price { font-size:18px; line-height:1.25; white-space:normal; }
.pz-custom-plan { padding:16px; margin:12px 0; border-color:var(--pz-line); background:var(--pz-panel); }
.pz-plan-total { background:var(--pz-soft); border-color:var(--pz-line); padding:14px; }
.pz-plan-total>span,.pz-total-detail,.pz-choice-hint { color:var(--pz-muted); }
.pz-total-amount { color:var(--pz-text); font-size:25px; }
.pz-modal-actions { background:var(--pz-surface); }
@media(max-width:700px) {
  .shell { width:calc(100% - 32px); }
  .site-header { grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
  .site-header nav { grid-row:2; grid-column:1/-1; justify-content:space-between; gap:4px 12px; }
  .site-header>.pz-theme-toggle { grid-column:2; grid-row:1; }
  .pz-theme-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .hero { padding:20px 0 10px; }
  .section-heading { display:block; }
  .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .plan-card { min-height:138px; padding:14px; }
  .plan-price { font-size:24px; }
  .plan-note { right:8px; font-size:7px; }
  .pz-custom-controls { grid-template-columns:minmax(0,1fr); gap:14px; padding:16px; }
  .checkout-bar { flex-direction:column; align-items:stretch; gap:12px; }
  .checkout-bar .button { width:100%; }
  .subscription-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .lookup-card { padding:18px; }
  .support-inner { grid-template-columns:minmax(0,1fr); gap:12px; }
  .support-actions { width:100%; }
  .support-actions .button { width:100%; }
  .global-footer { flex-direction:column; align-items:start; gap:12px; }
  .footer-links { flex-wrap:wrap; flex-direction:row; justify-content:start; }
  .checkout-modal { padding:24px 18px 20px; }
  .checkout-modal h2 { font-size:23px; }
  .pz-subpage .header-wrapper .mantine-Container-root,.pz-subpage .pz-surface .header-wrapper~.mantine-Container-root { padding-inline:16px; }
  .pz-hero { padding:22px 16px 18px; }
  .pz-devices { margin-inline:16px; padding:18px; }
  .pz-subpage .header-wrapper .mantine-Group-root { gap:10px; }
  .pz-modal { padding:22px 16px; }
}
@media(max-width:600px) {
  .pz-plan-total { flex-direction:column; align-items:flex-start; gap:6px; }
  .pz-total-detail { text-align:left; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Manrope / cyrillic — unmodified Google Fonts subset. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/pz-fonts/manrope-cyrillic-variable.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Manrope / latin — unmodified Google Fonts subset. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/pz-fonts/manrope-latin-variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Unbounded / cyrillic — unmodified Google Fonts subset. */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/pz-fonts/unbounded-cyrillic-variable.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Unbounded / latin — unmodified Google Fonts subset. */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/pz-fonts/unbounded-latin-variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Same self-hosted typography on shop and subscription; existing PZ wordmark stays Arial italic. */
body,body.pz-subpage,body.pz-renewal-page,body.pz-import-page { font-family:'Manrope',Arial,Helvetica,sans-serif; font-weight:400; }
button,input,select,textarea { font-family:'Manrope',Arial,Helvetica,sans-serif; }
.pz-subpage :is(button,input,select,textarea,.pz-eyebrow,.pz-footer,.pz-control-help,.pz-choice-hint,.pz-total-detail,.pz-addon-toggle),
.pz-renewal-page :is(button,input,select,textarea,.eyebrow,.pz-control-help,.pz-choice-hint,.pz-total-detail,.pz-addon-toggle),
.pz-import-page :is(button,input,select,textarea,.button),.button,.tier-option { font-family:'Manrope',Arial,Helvetica,sans-serif!important; }
.pz-theme-toggle { font-family:'Manrope',Arial,Helvetica,sans-serif; font-weight:600; }
.hero h1,.pz-hero h1 { font-family:'Unbounded','Manrope',Arial,sans-serif; font-weight:600; font-size:clamp(24px,3.6vw,32px); line-height:1.25; letter-spacing:-.045em; }
h2,.section-heading h2,.support-section h2,.checkout-modal h2,.pz-modal h2,.pz-renewal-page h1 { font-family:'Unbounded','Manrope',Arial,sans-serif; font-weight:500; font-size:clamp(18px,2.4vw,22px); line-height:1.4; letter-spacing:-.035em; }
.pz-subpage .mantine-Title-root:not(.pz-wordmark) { font-family:'Unbounded','Manrope',Arial,sans-serif!important; }
.pz-import-page h1 { font-family:'Unbounded','Manrope',Arial,sans-serif; font-weight:500; letter-spacing:-.035em; font-size:clamp(21px,3vw,24px); line-height:1.4; }
.hero p.pz-slogan,.pz-hero p.pz-slogan { font-family:'Unbounded','Manrope',Arial,sans-serif; font-weight:500; color:var(--pz-accent); font-size:clamp(18px,2.4vw,22px); line-height:1.4; letter-spacing:-.035em; margin:0 0 10px; }
.plan-card strong,.pz-plan-name { font-family:'Manrope',Arial,sans-serif; font-weight:700; }
.plan-price,.pz-plan-price { font-family:'Manrope',Arial,sans-serif; font-weight:700; font-variant-numeric:tabular-nums; }
.brand-mark,.pz-wordmark,.pz-subpage .pz-wordmark { font-family:Arial,Helvetica,sans-serif!important; }
@media(max-width:420px) {
  .hero h1,.pz-hero h1 { font-size:24px; letter-spacing:-.05em; }
  .hero p.pz-slogan,.pz-hero p.pz-slogan { font-size:18px; }
}
