:root{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;color:#19363b;background:#f3f6f7;font-size:16px;--ink:#19363b;--teal:#103d43;--accent:#d6ef59;--line:#dce4e5;--muted:#596b70;--white:#fff}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button,a,input,select{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.48}
a{color:#12535d;text-underline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #266bbe;outline-offset:4px}
header{height:98px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:42px;font-weight:bold;background:var(--teal);color:var(--accent);width:58px;height:58px;display:grid;place-items:center;border-radius:16px;padding-bottom:7px}
.brand strong{display:block;font-size:21px;letter-spacing:.05em}
.brand div>span{display:block;color:var(--muted);font-size:14px;margin-top:5px}
.edition{font-size:14px;letter-spacing:.05em}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);max-width:1510px;margin:0 auto;min-height:calc(100vh - 152px)}
.sidebar{padding:38px 20px;border-right:1px solid var(--line)}
nav{display:grid;gap:8px}
.nav{border:0;background:transparent;color:#455e63;text-align:left;padding:15px 14px;border-radius:9px;font-size:15px;line-height:1.4;display:flex;justify-content:space-between;align-items:center;gap:6px}
.nav.active{background:var(--teal);color:white;font-weight:bold}
.nav:hover:not(.active){background:#e2e9eb}
.nav span{border-radius:4px;background:#dfe8e9;color:#19363b;padding:1px 6px;font-size:13px}
.sidebar-note{margin:65px 14px 0;border-top:1px solid var(--line);padding-top:22px}
.sidebar-note p{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:21px;line-height:1.65}
.sidebar-note small{color:var(--muted);font-size:13px;line-height:1.6;display:block}
.small-label,.eyebrow{font-size:12px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase}
main{padding:38px clamp(22px,4vw,60px);min-width:0}
h1{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-weight:normal;font-size:clamp(30px,3.3vw,46px);line-height:1.13;letter-spacing:-.025em;margin:12px 0 14px}
h2{font-size:20px;line-height:1.4;margin:0 0 18px}
h3{font-size:17px;line-height:1.4}
p{line-height:1.65}
p.lead{margin:0;color:var(--muted);max-width:650px}
.eyebrow{color:#487075}
.heading{margin-bottom:28px}
.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px}
.panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;min-width:0}
.panel-title{display:flex;justify-content:space-between;gap:6px 12px;align-items:baseline;flex-wrap:wrap}
.panel-title .counter{margin-bottom:18px}
.counter{font-size:14px;color:var(--muted);white-space:normal}
fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}
legend,.field-label{display:block;font-size:14px;font-weight:bold;margin-bottom:12px}
.category-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.category{border:1px solid #c7d4d7;border-radius:10px;padding:15px 10px;cursor:pointer;text-align:center;transition:background .15s,border .15s;position:relative}
.category:has(input:checked){background:#eff6dc;border-color:#879e31}
.category input{accent-color:var(--teal);width:17px;height:17px;vertical-align:middle;margin:0 5px 0 0}
.category strong{font-size:16px}
.category small{display:block;font-size:12px;color:var(--muted);margin-top:7px}
.fields{display:grid;grid-template-columns:1.6fr 1fr;gap:15px}
select{border:1px solid #c7d4d7;border-radius:8px;background:#fff;color:var(--ink);padding:12px;width:100%;min-width:0}
select:disabled{background:#f0f3f4}
.btn{border:1px solid transparent;border-radius:8px;font-weight:bold;padding:14px 21px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;line-height:1.3}
.primary{background:var(--teal);color:#fff}
.primary:hover{background:#20525a}
.secondary{background:#fff;color:var(--ink);border-color:#b7cbce}
.secondary:hover{background:#edf3f4}
.text-button{border:0;background:transparent;color:#335c64;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:14px}
.wide{width:100%}
.setup-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 16px;font-size:14px;color:var(--muted)}
.note{font-size:13px;color:var(--muted);line-height:1.6;margin:14px 0 0}
.feature-panel{border:0;background:var(--teal);color:white;overflow:hidden;display:flex;flex-direction:column;padding:0}
.feature-copy{padding:26px 26px 22px}
.feature-copy h2{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:28px;font-weight:normal;line-height:1.25;margin:12px 0}
.feature-copy .big-count{color:var(--accent);font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:65px;line-height:1.1}
.feature-copy p{font-size:14px;color:#dbe9eb;margin:10px 0 0}
.animal-photo{width:100%;height:185px;object-fit:cover;object-position:50% 43%;display:block;margin-top:auto}
.photo-credit{font-size:12px;padding:8px 24px;color:#c8dfe2}
.photo-credit a{color:inherit}
.topics{margin-top:30px}
.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.topic{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 16px;text-align:left;color:var(--ink)}
.topic:hover{border-color:#658990}
.topic strong{font-size:14px;display:block}
.topic span{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.resume{background:#e8f0f5;border:1px solid #adc4d0;padding:17px 20px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;flex-wrap:wrap}
.resume p{margin:0;font-size:14px}
.quiz{max-width:920px;margin:auto}
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.quiz-top .text-button{padding:8px}
.quiz-meta{font-size:14px;color:var(--muted)}
.timer{background:var(--teal);color:#fff;border-radius:6px;padding:9px 13px;font-variant-numeric:tabular-nums}
.timer.urgent{background:#932f2d}
.meter{height:6px;background:#dce5e7;border-radius:8px;overflow:hidden;margin-bottom:25px}
.meter>span{display:block;height:100%;background:#4c7a81;transition:width .2s}
.question{padding:34px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tag{background:#eef3f4;border-radius:5px;padding:6px 9px;font-size:12px;color:#496369}
.question h1{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:clamp(25px,2.4vw,33px);line-height:1.3;margin:12px 0}
.instruction{font-size:14px;color:var(--muted);margin:12px 0 21px}
.choices{display:grid;gap:11px}
.choice{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #cbd7d9;border-radius:9px;text-align:left;background:#fff;color:var(--ink);width:100%;line-height:1.5;font-size:16px}
.choice:not(:disabled):hover{border-color:#346870;background:#f5f8f8}
.choice.selected{border:2px solid #2e6972;background:#edf4f5;padding:16px}
.letter{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:5px;background:#edf2f3;font-size:14px}
.choice.selected .letter{background:var(--teal);color:white}
.choice.correct{background:#eef7e7;border-color:#6c9151;opacity:1}
.choice.incorrect{background:#fff0ee;border-color:#c17365;opacity:1}
.choice:disabled{opacity:.8}
.answer-state{font-size:12px;margin-left:auto;font-weight:bold;flex-shrink:0}
.correction{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}
.correction h2{font-size:19px;margin-bottom:10px}
.correction p{margin:9px 0}
.correct-title{color:#37632c}
.incorrect-title{color:#974538}
.source-link{font-size:13px}
.actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:23px}
.actions-right{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.stat{padding:23px;border:1px solid var(--line);border-radius:12px;background:#fff}
.stat strong{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:39px;font-weight:normal;display:block}
.stat span{font-size:14px;color:var(--muted);display:block;margin-top:9px}
.result-header{background:var(--teal);color:#fff;padding:30px;border-radius:16px}
.result-header h1{margin:8px 0}
.result-header .eyebrow{color:var(--accent)}
.result-header p{color:#dce8e9;margin-bottom:0}
.breakdown{display:grid;gap:18px}
.breakdown-row{display:grid;grid-template-columns:minmax(130px,1fr) 2fr 70px;align-items:center;gap:16px;font-size:14px}
.bar{height:9px;border-radius:9px;background:#e6edef;overflow:hidden}
.bar>span{background:#426e77;display:block;height:100%}
.breakdown-row>span:last-child{text-align:right;color:var(--muted);font-size:13px}
.review-list{margin-top:25px}
.review-list details{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:10px;padding:17px 20px}
.review-list summary{cursor:pointer;line-height:1.5;font-size:16px;font-weight:bold}
.review-list details p{margin-bottom:10px}
.review-list small{font-size:13px;color:var(--muted)}
.review-list .question-status{font-size:13px;font-weight:normal;display:block;margin-bottom:7px;color:#62787d}
.empty{max-width:650px;padding:42px;background:white;border:1px solid var(--line);border-radius:15px}
.empty h2{font-family:"Nunito", "Arial Rounded MT Bold", system-ui, sans-serif;font-size:29px;font-weight:normal}
.empty p{color:var(--muted)}
.source-list{padding-left:21px}
.source-list li{padding:7px 0;line-height:1.6;font-size:15px}
.sources-content{max-width:850px}
.sources-content .panel{margin-bottom:20px}
.sources-content p{font-size:15px}
.warning{background:#fff1e3;padding:14px 18px;border-radius:8px;color:#744716;font-size:14px;line-height:1.5;margin-bottom:18px}
.session-list{padding:0;list-style:none}
.session-list li{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
.session-list small{font-size:13px;color:var(--muted)}
footer{padding:20px 4%;font-size:12px;color:var(--muted);border-top:1px solid var(--line);text-align:center}
.skip{position:absolute;top:-60px;left:20px;background:white;padding:10px;z-index:100}
.skip:focus{top:10px}
.hidden{display:none!important}
.quiz-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.jump{background:#fff;border:1px solid #b8cacd;border-radius:5px;padding:7px;min-width:34px;font-size:13px;color:var(--ink)}
.jump.answered{background:#dde9eb}
.jump.current{background:var(--teal);color:#fff}
.confirm-box{border:1px solid #cc9a64;background:#fff4e7;border-radius:10px;padding:20px;margin-top:20px}
.confirm-box p{margin-top:0}
.storage-warning{margin-bottom:20px}
.no-motion *{transition:none!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}
}
@media(min-width:1450px){main{padding-top:45px}
.animal-photo{height:210px}
}
@media(max-width:1100px){.shell{grid-template-columns:202px minmax(0,1fr)}
.sidebar{padding:28px 12px}
main{padding:28px 24px}
.workspace{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:18px}
.panel{padding:22px}
.feature-panel{padding:0}
.category-row{gap:6px}
.category{padding:14px 4px}
.topic-grid{grid-template-columns:repeat(2,1fr)}
.fields{grid-template-columns:1fr}
.feature-copy{padding:24px}
.sidebar-note{margin-top:42px}
}
@media(max-width:800px){header{height:83px;padding:0 20px}
.brand-mark{width:48px;height:48px;font-size:34px}
.brand strong{font-size:18px}
.brand div>span{font-size:13px}
.edition{font-size:12px}
.shell{display:block}
.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);background:#fff}
.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding:0 0 4px}
.nav{white-space:nowrap;padding:11px 13px;font-size:14px}
.sidebar-note{display:none}
main{padding:26px 20px}
.workspace{grid-template-columns:1fr 250px}
.fields{grid-template-columns:1fr}
.question{padding:25px}
.stat{padding:20px}
.stat strong{font-size:33px}
}
@media(max-width:640px){header{padding:0 17px}
.edition{max-width:100px;text-align:right;line-height:1.6}
.workspace{grid-template-columns:1fr}
.feature-panel{display:grid;grid-template-columns:1fr 120px;position:relative;min-height:160px}
.feature-copy{padding:23px}
.feature-copy .big-count{font-size:42px}
.feature-copy h2{font-size:21px;margin:8px 0}
.feature-copy p{font-size:13px}
.animal-photo{height:100%;min-height:185px;border-radius:0 16px 16px 0}
.photo-credit{grid-column:1/-1;padding:6px 20px;font-size:12px}
.panel{padding:22px}
.feature-panel{padding:0}
.heading{margin-bottom:23px}
h1{font-size:33px}
.fields{grid-template-columns:1.5fr 1fr}
.category{padding:15px 5px}
.category small{font-size:12px}
.stat-grid{gap:8px}
.stat{padding:17px 12px}
.stat strong{font-size:29px}
.stat span{font-size:12px;line-height:1.5}
.question{padding:22px 18px}
.choice{padding:13px;gap:10px}
.choice.selected{padding:12px}
.answer-state{display:none}
.actions-right{width:100%;display:flex}
.actions-right .btn{flex:1;padding:14px 10px}
.breakdown-row{grid-template-columns:minmax(105px,1fr) 1fr 57px;gap:10px}
.topic{padding:17px 14px}
.empty{padding:30px 25px}
.quiz-top{font-size:13px}
.timer{font-size:14px}
.setup-bottom{align-items:flex-start}
.result-header{padding:24px}
.sources-content .panel{padding:22px}
.quiz-grid{gap:5px}
.jump{min-width:32px}
.btn{font-size:15px}
}
@media(max-width:365px){main{padding:23px 13px}
.fields{grid-template-columns:1fr}
.category strong{font-size:14px}
.category input{width:15px;height:15px}
.stat-grid{grid-template-columns:1fr}
.stat strong{display:inline;margin-right:12px}
.stat span{display:inline}
.panel{padding:18px}
.feature-panel{padding:0}
}


@media(max-width:500px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat-grid .stat:first-child{grid-column:1/-1}
.stat-grid .stat:first-child strong{display:inline-block;margin-right:12px}
.stat-grid .stat:first-child span{display:inline-block}
}


/* Paid access extends the existing visual theme. */
.access-gated { display:block; }

.access-gated .sidebar { display:none; }

.access-gated main { max-width:760px; margin:auto; }

.access-card { background:#fff; border:1px solid #dce3e5; border-radius:20px; padding:clamp(24px,5vw,52px); margin:24px auto; }

.access-card h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.16; margin:16px 0; }

.access-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:16px; margin:26px 0 6px; }

.access-price strong { font-size:3rem; letter-spacing:-.04em; color:#103d43; }

.access-price span { font-size:1.1rem; }

.access-terms { font-size:1rem; color:#31555a; margin-top:0; }

.access-features { padding-left:22px; line-height:1.8; margin:24px 0; }

.access-card .btn { min-height:48px; text-align:center; text-decoration:none; }

.access-notice { background:#edf4f5; border-radius:12px; padding:18px; }

.access-notice p { margin:10px 0; }

.account-bar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:12px clamp(20px,4vw,48px); background:#edf4f5; font-size:14px; }

.account-bar a { color:#103d43; }

@media (max-width:600px) { .access-card { margin:8px 0; }
 .access-price strong { font-size:2.6rem; }
 }

.email-form { margin:24px 0; display:grid; gap:12px; }
.email-form label { font-weight:650; }
.email-form input { width:100%; box-sizing:border-box; border:1px solid #829b9e; border-radius:10px; padding:14px; font:inherit; background:#fff; color:#103d43; min-height:48px; }
.email-form input:focus-visible { outline:3px solid #c47b61; outline-offset:3px; }
.email-form input[autocomplete="one-time-code"] { letter-spacing:.4em; font-size:1.5rem; }
.email-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.email-form p { margin:4px 0; }
.email-form [role="status"] { min-height:1.5em; font-size:.95rem; }

.free-preview { margin:28px 0; padding:24px; border:1px solid #e2cbb1; border-radius:18px; background:#faf0e2; }
.free-preview h2 { margin:6px 0 12px; font-size:1.6rem; }
.free-preview > p { margin:0 0 18px; line-height:1.6; }
.free-preview .preview-toggle { border-color:#b17d54; background:#fffaf4; color:#533e2e; }
#preview-exercise { margin-top:24px; }
.preview-progress { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; justify-content:space-between; font-size:.9rem; font-weight:650; color:#68523e; }
.preview-progress span { padding:5px 12px; border-radius:99px; background:#fffaf4; }
.preview-question { border:0; padding:0; margin:20px 0; min-width:0; }
.preview-question legend { font-size:1.2rem; font-weight:650; line-height:1.5; padding:0; }
.preview-options { display:grid; gap:10px; }
.preview-option { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid #d9cbc0; border-radius:12px; background:#fffdf9; line-height:1.5; cursor:pointer; }
.preview-option input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:#315f5d; }
.preview-option:has(input:checked) { border-color:#315f5d; background:#eef3ee; }
.preview-option:focus-within { outline:3px solid #b96852; outline-offset:2px; }
.preview-option.is-correct { border-color:#477457; background:#eaf3e7; }
.preview-option.is-incorrect { border-color:#aa6250; background:#f9e8df; }
.preview-option small { display:block; font-weight:700; font-size:.85rem; margin-top:4px; }
.preview-option:has(input:disabled) { cursor:default; }
.preview-correction { padding:18px; margin:0 0 20px; border-left:3px solid #b17d54; background:#fffaf4; border-radius:0 10px 10px 0; line-height:1.65; }
.preview-correction p { margin:8px 0 0; }
.preview-result h3 { font-size:1.35rem; line-height:1.4; }
.preview-result p { line-height:1.6; }
.preview-score { font-size:1.2rem; font-weight:700; color:#315f5d; }
.preview-result .text-button { display:block; margin:18px auto 0; }
.free-preview button:focus-visible, #preview-focus:focus-visible, #preview-feedback:focus-visible { outline:3px solid #b96852; outline-offset:4px; }
.free-preview button:disabled { opacity:.55; cursor:not-allowed; }
.access-enrollment { scroll-margin-top:24px; }
.access-enrollment h2 { font-size:1.35rem; margin:28px 0 12px; }
.access-primary-actions { display:grid; grid-template-columns:1.2fr 1fr; gap:12px; margin:20px 0 12px; }
.purchase-steps { list-style:none; padding:0; margin:22px 0 10px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.purchase-steps li { display:flex; align-items:center; gap:8px; padding:10px; border-radius:12px; background:#f8edf0; color:#53384a; font-size:.9rem; }
.purchase-steps strong { display:grid; place-items:center; width:26px; height:26px; flex:0 0 26px; border-radius:50%; background:#63364f; color:#fff; }
.access-enrollment { margin:12px 0 20px; padding:22px; border:1px solid #d7b6c3; border-radius:18px; background:linear-gradient(145deg,#fffafb,#f9eff3); box-shadow:0 14px 36px rgba(78,40,60,.08); }
.access-enrollment h2 { margin:0 0 8px; }
.access-protection { margin:-8px 4px 28px; color:#5f5360; font-size:.92rem; line-height:1.55; }
.product-tour { margin:28px 0; padding:24px; border:1px solid #ddc3ce; border-radius:18px; background:#fffafb; }
.product-tour h2 { margin:6px 0 8px; font-size:1.6rem; }
.product-tour > p { margin:0 0 18px; line-height:1.6; }
.product-tour video { display:block; width:100%; aspect-ratio:16/9; border-radius:14px; background:#2f1f2a; box-shadow:0 16px 38px rgba(64,35,51,.18); }

.analytics-overlay { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(42,27,37,.62); backdrop-filter:blur(4px); }
.analytics-panel { position:relative; width:min(780px,100%); max-height:90vh; overflow:auto; padding:28px; border-radius:22px; background:#fffafb; color:#382731; box-shadow:0 28px 80px rgba(25,12,20,.35); }
.analytics-panel h2 { margin:6px 0 22px; }
.analytics-close { position:absolute; top:14px; right:14px; width:42px; height:42px; border:0; border-radius:50%; background:#f1dfe6; color:#4e2e40; font:700 1.7rem/1 sans-serif; cursor:pointer; }
.analytics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.analytics-metric { min-width:0; padding:16px; border:1px solid #e3cdd6; border-radius:16px; background:#fff; }
.analytics-metric span,.analytics-metric small { display:block; color:#6b5b64; font-size:.82rem; }
.analytics-metric strong { display:block; margin:8px 0 3px; font-size:1.55rem; color:#63364f; overflow-wrap:anywhere; }
.analytics-note { margin:18px 0 0; color:#6b5b64; font-size:.9rem; line-height:1.55; }

@media(max-width:720px) {
  .access-primary-actions { grid-template-columns:1fr; }
  .purchase-steps { grid-template-columns:1fr; }
  .analytics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) { .free-preview,.product-tour,.access-enrollment { padding:18px 14px; } .preview-option { padding:12px; } }


.sandbox-banner{padding:16px 24px;background:#fff0c2;color:#332400;text-align:center;line-height:1.5}.sandbox-banner a{margin-left:16px;color:inherit;text-decoration:underline}
.owner-reviews-link{color:#63364f;font:inherit;font-weight:800;padding:.45rem .75rem;border:1px solid #d4a6b8;border-radius:999px;background:#fff;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}

/* All fonts are served locally, with their SIL OFL licenses.
   AtelierBoucle and AtelierRonde are renamed French subsets of Sofia and Delius. */
@font-face { font-family:AtelierBoucle; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/atelier-boucle.woff') format('woff'); }
@font-face { font-family:AtelierRonde; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/atelier-ronde.woff') format('woff'); }
@font-face { font-family:Nunito; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/nunito-400.woff') format('woff'); }
@font-face { font-family:Nunito; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/nunito-600.woff') format('woff'); }
@font-face { font-family:Nunito; font-style:normal; font-weight:700; font-display:swap; src:url('/fonts/nunito-700.woff') format('woff'); }
@font-face { font-family:Nunito; font-style:normal; font-weight:800; font-display:swap; src:url('/fonts/nunito-800.woff') format('woff'); }

/* Rose ancien, ivory paper and mauve: a quiet, readable shabby theme. */
:root {
  --ink:#35212e;
  --teal:#63364f;
  --accent:#f4dae2;
  --line:#e5d2d8;
  --muted:#57404f;
  --white:#fffdfa;
  --paper:#fffdfa;
  --rose:#63364f;
  --rose-hover:#4e263c;
  --powder:#f8edf0;
  --mauve:#563a50;
  --focus:#824765;
  --control-line:#b596a3;
  --reading-font:AtelierRonde, Nunito, "Arial Rounded MT Bold", system-ui, sans-serif;
  --display-font:AtelierBoucle, AtelierRonde, Nunito, sans-serif;
  font-family:var(--reading-font);
  color:var(--ink);
  background:#fbf6f4;
  font-synthesis:none;
}
body {
  background-color:#fbf6f4;
  background-image:repeating-linear-gradient(0deg,transparent 0 5px,#ad748c06 5px 6px),repeating-linear-gradient(90deg,transparent 0 5px,#ad748c06 5px 6px);
  line-height:1.55;
}
a,.text-button { color:var(--rose); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:4px;
}
header {
  background:#fffaf7;
  border-bottom:4px double var(--line);
}
.brand-mark {
  background:var(--rose);
  color:#fff5f1;
  border-radius:20px;
  font-weight:800;
  padding-bottom:3px;
  outline:1px dashed #f5dce5;
  outline-offset:-5px;
}
.brand strong { color:var(--rose); letter-spacing:.06em; font-weight:800; }
.edition { color:var(--mauve); }
.sidebar { background:#fcf5f6; }
.nav { color:var(--ink); border-radius:13px; }
.nav.active { background:var(--rose); }
.nav:hover:not(.active) { background:#f3e3e9; }
.nav span { background:#f7e4eb; color:var(--rose); border-radius:7px; }
.sidebar-note { border-top-style:dashed; }
.sidebar-note p { color:var(--mauve); font-weight:600; }
.eyebrow,.small-label { color:var(--rose); letter-spacing:.12em; }
h1,.question h1 { font-weight:700; line-height:1.28; letter-spacing:-.025em; }
h2,h3 { font-weight:800; }
.panel,.stat,.topic,.choice,.review-list details,.empty {
  background:var(--paper);
  border-color:var(--line);
}
.panel,.empty { border-radius:23px; }
.panel { box-shadow:0 5px 22px #85526506; }
.category { background:var(--paper); border-color:var(--control-line); border-radius:14px; }
.category:has(input:checked) { background:#f5e3e9; border-color:var(--rose); }
.category input { accent-color:var(--rose); }
select { background:var(--paper); border-color:var(--control-line); border-radius:12px; }
select:disabled { background:#f1e9ee; }
.btn { border-radius:14px; font-weight:800; }
.primary { background:var(--rose); color:#fff; }
.primary:hover { background:var(--rose-hover); }
.secondary { background:var(--paper); color:var(--rose); border-color:var(--control-line); }
.secondary:hover { background:#f6e7ed; }
.feature-panel { background:#f1e4eb; color:var(--ink); border:1px solid var(--line); }
.feature-copy .big-count { color:var(--rose); font-weight:800; letter-spacing:-.04em; }
.feature-copy h2 { font-weight:700; }
.feature-copy p,.photo-credit { color:var(--mauve); }
.animal-photo {
  width:100%; height:auto; min-height:0;
  aspect-ratio:1672 / 941;
  object-fit:contain; object-position:center;
  background:#fff7e8;
  border-top:4px double var(--line);
}
.topic { border-radius:15px; }
.topic:hover { border-color:var(--rose); background:#fdf0f3; }
.resume { background:#f2eaf3; border-color:#c4aabd; border-radius:15px; }
.timer { background:var(--mauve); border-radius:10px; }
.timer.urgent { background:#9c3f51; }
.meter,.bar { background:#eadbe2; }
.meter>span,.bar>span { background:#a56880; }
.tag { background:#f3e6ed; color:#6c5061; border-radius:9px; }
.choice { border-color:var(--control-line); border-radius:15px; }
.choice:not(:disabled):hover { border-color:var(--rose); background:#fcf2f5; }
.choice.selected { border-color:var(--rose); background:#f7e7ee; }
.letter { background:#f3e7ec; color:var(--mauve); border-radius:9px; }
.choice.selected .letter { background:var(--rose); color:white; }
.choice.correct { background:#edf4e9; border-color:#668351; }
.choice.incorrect { background:#fbe7eb; border-color:#a95869; }
.correct-title { color:#416337; }
.incorrect-title { color:#983f53; }
.stat { border-radius:19px; }
.stat strong { color:var(--rose); font-weight:800; }
.result-header { background:#f1e4eb; color:var(--ink); border:1px solid var(--line); border-radius:23px; }
.result-header .eyebrow { color:var(--rose); }
.result-header p,.review-list .question-status { color:var(--muted); }
.review-list details { border-radius:15px; }
.empty h2 { font-weight:700; }
.jump { border-color:var(--control-line); border-radius:8px; min-height:38px; }
.jump.answered { background:#efdee7; }
.jump.current { background:var(--rose); color:#fff; }
.confirm-box { border-color:#c8a19c; background:#fcf0e8; }
footer { background:#fffaf7; border-top:4px double var(--line); }
.access-card {
  background:var(--paper);
  border:1px solid #ddbecb;
  border-radius:28px;
  outline:1px dashed #e5d2d8;
  outline-offset:-9px;
  box-shadow:0 12px 40px #85526509;
}
.access-card h1 { line-height:1.22; }
.access-price strong { color:var(--rose); font-weight:800; }
.access-terms { color:var(--mauve); }
.access-features li::marker { color:var(--rose); }
.access-animals {
  display:block; width:100%; height:auto; max-height:250px;
  object-fit:contain; object-position:center;
  background:#fff7e8; border-radius:20px; margin:0 0 28px;
  border:5px solid #fff;
  outline:1px solid var(--line);
}
.access-notice,.account-bar { background:#f3e6ec; }
.account-bar a { color:var(--rose); }
.email-form input { border-color:var(--control-line); background:var(--paper); color:var(--ink); border-radius:13px; }
.email-form input:focus-visible { outline-color:var(--focus); }
.free-preview {
  background:#f8edf0;
  border:1px solid #dbb9c9;
  border-top:4px double #cfa9ba;
  border-radius:21px;
}
.free-preview h2 { font-weight:800; color:var(--rose); }
.free-preview .preview-toggle { background:var(--paper); color:var(--rose); border-color:var(--control-line); }
.free-preview .preview-toggle:hover { background:#f3dfe7; }
.free-preview .preview-toggle.primary { background:var(--rose); color:#fffdfa; border-color:var(--rose); }
.free-preview .preview-toggle.primary:hover { background:var(--rose-hover); }
.preview-progress { color:var(--mauve); }
.preview-progress span { background:var(--paper); }
.preview-question legend { font-weight:700; color:var(--ink); }
.preview-option { background:var(--paper); border-color:var(--control-line); border-radius:14px; }
.preview-option input { accent-color:var(--rose); }
.preview-option:has(input:checked) { background:#f2dfe8; border-color:var(--rose); }
.preview-option:focus-within { outline-color:var(--focus); }
.preview-option.is-correct { border-color:#668351; background:#edf4e9; }
.preview-option.is-incorrect { border-color:#a95869; background:#fbe7eb; }
.preview-correction { border-left-color:var(--rose); background:var(--paper); border-radius:0 14px 14px 0; }
.preview-reasoning { margin:18px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line); }
.preview-reasoning summary { cursor:pointer; padding:14px 0; color:var(--rose); font-weight:700; }
.preview-reasoning dl { margin:0 0 14px; }
.preview-reasoning dl>div { padding:12px 0; }
.preview-reasoning dt { font-weight:700; line-height:1.5; }
.preview-reasoning dd { margin:6px 0 0; color:var(--muted); }
.preview-takeaway { padding:14px; border-radius:12px; background:#f3eaf3; }
.preview-score { color:var(--rose); font-weight:800; }
.free-preview button:focus-visible,#preview-focus:focus-visible,#preview-feedback:focus-visible { outline-color:var(--focus); }
.source-link { overflow-wrap:anywhere; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:800px) { .sidebar { background:#fffaf7; } }
@media(max-width:640px) {
  .feature-panel { display:flex; flex-direction:column; }
  .animal-photo { border-radius:0; }
  .access-animals { max-height:190px; margin-bottom:23px; }
  .access-gated main { padding:18px 12px; }
  .access-card { padding:25px 20px; border-radius:23px; }
  .access-card h1 { font-size:clamp(1.8rem,7vw,2.4rem); }
  .free-preview { padding:20px 13px; }
  .preview-question legend { font-size:1.1rem; line-height:1.55; }
  .preview-option { padding:13px 11px; gap:10px; }
  .preview-correction { padding:15px 12px; }
  .preview-reasoning dd { font-size:.95rem; }
}

/* Lettering: rounded handwriting for reading, softly curled display titles. */
body { font-size:17px; }
h1,.access-card h1,.heading h1,.result-header h1,.empty h2,
.feature-copy h2,.free-preview h2,.access-enrollment h2,.brand div>span,.sidebar-note p {
  font-family:var(--display-font);
  font-weight:400;
  letter-spacing:0;
}
h1 { font-size:clamp(36px,3.6vw,51px); line-height:1.3; }
.access-card h1 { font-size:clamp(2.4rem,5vw,3.3rem); line-height:1.3; }
.heading h1,.result-header h1 { line-height:1.3; }
.brand div>span { font-size:19px; line-height:1.2; color:var(--mauve); }
.brand-mark { font-family:var(--display-font); font-weight:400; font-size:47px; }
.brand strong { color:var(--rose); }
.sidebar-note p { font-size:25px; }
.feature-copy h2 { font-size:31px; }
.free-preview h2,.empty h2 { font-size:32px; }
.access-enrollment h2 { font-size:29px; }
.question h1,.preview-question legend { font-family:var(--reading-font); font-weight:400; line-height:1.55; }
.question h1 { font-size:clamp(24px,2.2vw,31px); }
.choice,.preview-option { font-size:17px; line-height:1.65; }
.tag { color:var(--mauve); }
.note,.instruction,.quiz-meta,.counter { color:var(--muted); }
/* Keep emphasis and figures clear inside the handwritten reading text. */
strong,b,dt,.btn,.nav.active,.eyebrow,.small-label,legend,.field-label,
.email-form label,.preview-reasoning summary,.preview-progress {
  font-family:Nunito, var(--reading-font);
}
.preview-question legend { font-family:var(--reading-font); }
.source-link { line-height:1.7; }

/* Ivory moulding: fine inner ridges and paired, mirrored scroll corners. */
.panel,.access-card,.empty,.result-header {
  box-shadow:inset 0 0 0 3px #fffdfa,inset 0 0 0 4px #ead5df,0 7px 22px #63364f08;
}
.access-card,.question,.empty,.result-header {
  position:relative;
  border:3px double #c9a6b7;
  outline:1px solid #eedde4;
  outline-offset:-9px;
  padding-top:54px;
  padding-bottom:54px;
}
.access-card::before,.access-card::after,
.question::before,.question::after,
.empty::before,.empty::after,
.result-header::before,.result-header::after {
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  height:30px;
  background-image:var(--scroll-left),var(--scroll-right);
  background-position:left center,right center;
  background-size:42px 30px;
  background-repeat:no-repeat;
  pointer-events:none;
}
.access-card::before,.question::before,.empty::before,.result-header::before { top:13px; }
.access-card::after,.question::after,.empty::after,.result-header::after { bottom:13px; transform:rotate(180deg); }
.free-preview { border:3px double #cba6b9; box-shadow:inset 0 0 0 3px #fffaf8; }
.sidebar-note::after {
  content:"";
  display:block;
  width:72px;
  height:26px;
  margin:20px auto 0;
  background:var(--scroll-left) left center / 32px 26px no-repeat,var(--scroll-right) right center / 32px 26px no-repeat;
  pointer-events:none;
}
@media(max-width:640px) {
  .brand div>span { font-size:17px; }
  .brand-mark { font-size:40px; }
  .access-card { padding:47px 19px; }
  .access-card h1 { font-size:clamp(2rem,7.8vw,2.6rem); }
  .question { padding:47px 18px; }
  .empty,.result-header { padding-top:47px; padding-bottom:47px; }
  .access-card::before,.access-card::after,.question::before,.question::after,
  .empty::before,.empty::after,.result-header::before,.result-header::after {
    left:11px; right:11px; height:25px; background-size:35px 25px;
  }
  .question h1 { font-size:24px; }
  .preview-question legend { font-size:1.15rem; }
  .free-preview h2 { font-size:29px; line-height:1.3; }
  .access-enrollment h2 { font-size:27px; }
  .feature-copy h2 { font-size:28px; }
  .choice,.preview-option { font-size:16px; }
}

/* Trust, legal information and customer-service pages. */
footer p { margin:0 0 12px; }
footer address { margin:13px auto 8px; font-style:normal; line-height:1.7; }
.legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:9px 22px; margin:10px 0; }
.legal-links a { font-weight:700; }
.legal-links .withdrawal-link {
  display:inline-flex; align-items:center; min-height:42px; padding:8px 14px; border:1px solid #8e526f;
  border-radius:999px; background:#8e526f; color:#fffdfa; text-decoration:none; box-shadow:0 4px 12px #63364f1c;
}
.legal-links .withdrawal-link:hover { background:#74405a; color:#fff; }
.legal-links .withdrawal-link:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.trust-card {
  margin:25px 0; padding:21px 22px; border:1px solid #d8b7c6; border-radius:18px;
  background:#fbf2f5; box-shadow:inset 0 0 0 3px #fffaf8;
}
.trust-card h2 { margin:0 0 10px; color:var(--rose); font-size:1.3rem; }
.trust-card p { margin:8px 0; }
.trust-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:17px 0; }
.trust-card dl div { padding:11px 12px; border-radius:12px; background:var(--paper); border:1px solid var(--line); }
.trust-card dt { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.trust-card dd { margin:3px 0 0; overflow-wrap:anywhere; }
.trust-links { font-size:.92rem; }
.preview-reassurance { color:var(--rose); }
.public-rating {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px;
  margin:20px 0; padding:13px 16px; border:1px solid var(--line); border-radius:16px;
  background:#fbf2f5; color:var(--rose); text-decoration:none;
}
.public-rating:hover { background:#f4e4ec; border-color:var(--control-line); }
.public-rating:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.rating-summary-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; line-height:1.5; }
.rating-summary-stars { display:block; flex:0 0 auto; width:120px; height:24px; }
.rating-outline { fill:none; stroke:#8b6176; stroke-width:1.3; stroke-linejoin:round; }
.rating-fill { fill:var(--rose); }
.rating-summary-score { font-family:Nunito,var(--reading-font); color:var(--rose); }
.rating-summary-count,.rating-summary-empty { color:var(--muted); font-size:.92rem; }
.rating-summary-action { font-size:.9rem; text-decoration:underline; text-underline-offset:3px; }
.creator-card,.customer-review-invitation {
  margin:25px 0; padding:24px; border:1px solid var(--line); border-radius:18px;
  background:#fffaf8; box-shadow:inset 0 0 0 3px #fffdfa;
}
.creator-card h2,.customer-review-invitation h2 { margin:9px 0 12px; color:var(--rose); font-size:1.65rem; line-height:1.4; }
.creator-card p,.customer-review-invitation p { margin:10px 0; line-height:1.7; }
.customer-review-invitation .btn { margin-top:8px; }
.checkout-consent { margin:20px 0 13px; padding:16px; border:1px solid var(--control-line); border-radius:14px; background:#fffdfa; }
.checkout-consent label { display:flex; align-items:flex-start; gap:11px; line-height:1.55; cursor:pointer; }
.checkout-consent input { flex:0 0 auto; width:20px; height:20px; margin-top:3px; accent-color:var(--rose); }

/* Personal revision programme. */
.plan-form { max-width:900px; }
.plan-form-grid { align-items:start; }
.plan-form .plan-categories { margin:0; }
.plan-categories legend { margin-bottom:12px; }
.plan-local-note {
  margin-top:22px; padding:15px 17px; border-left:4px solid var(--rose);
  border-radius:0 13px 13px 0; background:#f7eaf0; color:var(--mauve); line-height:1.6;
}
.plan-hero { margin-bottom:24px; }
.plan-hero-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.plan-hero-title h2 { margin:7px 0 0; font-size:1.7rem; color:var(--rose); }
.plan-hero-title .text-button { flex:0 0 auto; }
.plan-stat-grid { margin-bottom:20px; }
.plan-stat-grid .stat strong { font-size:clamp(1.8rem,3vw,2.5rem); }
.plan-progress-copy { display:flex; justify-content:space-between; gap:10px 20px; flex-wrap:wrap; margin:5px 0 9px; font-size:.9rem; color:var(--muted); }
.plan-progress { height:12px; overflow:hidden; border-radius:99px; background:#eadbe2; box-shadow:inset 0 1px 2px #63364f14; }
.plan-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#a56880,var(--rose)); transition:width .25s ease; }
.plan-hero>.wide { margin-top:22px; }
.plan-columns { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; }
.plan-method { display:grid; gap:18px; margin:0; padding-left:24px; }
.plan-method li { padding-left:5px; }
.plan-method li::marker { color:var(--rose); font-weight:800; }
.plan-method strong,.plan-method span { display:block; }
.plan-method span { margin-top:4px; color:var(--muted); font-size:.92rem; line-height:1.55; }
.plan-advice { margin:22px 0 0; padding:15px; border-radius:13px; background:#f7eaf0; color:var(--mauve); }
.plan-week { list-style:none; margin:0; padding:0; }
.plan-week li { display:grid; grid-template-columns:112px minmax(0,1fr); gap:15px; padding:13px 0; border-bottom:1px dashed var(--line); }
.plan-week li:last-child { border-bottom:0; }
.plan-week time { color:var(--rose); font-weight:800; font-size:.9rem; }
.plan-week strong,.plan-week span { display:block; }
.plan-week span { margin-top:3px; color:var(--muted); font-size:.9rem; line-height:1.5; }
.plan-week .rest-day { opacity:.86; }
.plan-week .exam-day { margin:5px 0; padding:13px; border:1px solid #caa4b5; border-radius:13px; background:#f7eaf0; }

@media(max-width:900px) {
  .plan-columns { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .plan-hero-title { display:block; }
  .plan-hero-title .text-button { margin-top:8px; }
  .plan-week li { grid-template-columns:1fr; gap:4px; }
  .plan-progress-copy { display:block; }
  .plan-progress-copy span { display:block; margin-top:5px; }
}

.legal-page header .edition a { font-weight:700; }
.legal-main { max-width:940px; margin:0 auto; padding:clamp(24px,5vw,55px) clamp(16px,4vw,38px); }
.legal-card {
  position:relative; padding:clamp(30px,6vw,62px); background:var(--paper); border:3px double #c9a6b7;
  border-radius:28px; outline:1px solid #eedde4; outline-offset:-9px;
  box-shadow:inset 0 0 0 3px #fffdfa,inset 0 0 0 4px #ead5df,0 10px 34px #63364f0d;
}
.legal-card h1 { color:var(--rose); margin-top:0; }
.legal-card h2 { margin:34px 0 10px; color:var(--rose); font-size:1.28rem; }
.legal-card h3 { margin:24px 0 8px; }
.legal-card p,.legal-card li { line-height:1.72; }
.legal-card li + li { margin-top:7px; }
.legal-card address { font-style:normal; line-height:1.8; }
.legal-card a { overflow-wrap:anywhere; }
.legal-intro { font-size:1.08rem; color:var(--mauve); }
.legal-updated { display:inline-block; padding:6px 11px; border-radius:99px; background:#f2e3ea; color:var(--mauve); font-size:.83rem; }
.legal-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:26px 0; }
.legal-summary div { padding:17px; border:1px solid var(--line); border-radius:15px; background:#fbf2f5; }
.legal-summary strong { display:block; color:var(--rose); margin-bottom:5px; }
.legal-callout { margin:24px 0; padding:18px 20px; border-left:4px solid var(--rose); border-radius:0 14px 14px 0; background:#f7eaf0; }
.legal-callout p { margin:5px 0; }
.legal-actions { display:flex; flex-wrap:wrap; gap:12px; margin:25px 0 5px; }
.receipt-card { margin:25px 0; padding:20px; border:1px solid #c9a6b7; border-radius:16px; background:#fffdfa; }
.receipt-card h2 { margin-top:0; }
.receipt-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin:16px 0 20px; }
.receipt-details div { padding:12px; border-radius:12px; background:#f7eaf0; overflow-wrap:anywhere; }
.receipt-details dt { color:var(--muted); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.receipt-details dd { margin:4px 0 0; font-weight:700; }
.customer-form { margin-top:28px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-field { display:grid; gap:7px; }
.form-field.full { grid-column:1/-1; }
.form-field label,.customer-form legend { font-family:Nunito,var(--reading-font); font-weight:700; }
.form-field input,.form-field textarea,.form-field select {
  width:100%; min-height:49px; padding:13px 14px; border:1px solid var(--control-line);
  border-radius:13px; background:#fffdfa; color:var(--ink); font:inherit;
}
.form-field textarea { min-height:150px; resize:vertical; }
.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.checkbox-row { display:flex; align-items:flex-start; gap:11px; margin:22px 0; line-height:1.6; }
.checkbox-row input { flex:0 0 auto; width:20px; height:20px; margin-top:3px; accent-color:var(--rose); }
.form-help { color:var(--muted); font-size:.9rem; }
.netlify-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media(max-width:700px) {
  .trust-card dl,.legal-summary,.form-grid,.receipt-details { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
  .legal-main { padding:18px 10px 30px; }
  .legal-card { padding:43px 20px; border-radius:22px; }
  .legal-card h1 { font-size:clamp(2rem,10vw,2.7rem); }
  .legal-page .edition { max-width:125px; }
}

@media print {
  .legal-page header,.legal-page footer,.legal-actions,.skip { display:none!important; }
  .legal-main { max-width:none; padding:0; }
  .legal-card { border:0; outline:0; box-shadow:none; padding:0; }
  .receipt-card { break-inside:avoid; }
}

/* Ornamental glyph U+2767 from Noto Sans Symbols 2, SIL OFL.
   Vector outlines retain sharp curls at every display size; decorative backgrounds only. */
:root {
  --scroll-left:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20824%20682%22%3E%3Cg%20transform%3D%22translate%28-51%20615%29%20scale%281%20-1%29%22%3E%3Cpath%20fill%3D%22%23ad7e96%22%20d%3D%22M419%20283%20397%20273%20340%20302Q327%20309%20315.5%20313.0Q304%20317%20293%20321Q272%20258%20229%20209L195%20171Q121%2089%20121%2049Q121%20-13%20181%20-13Q201%20-13%20213.0%20-3.0Q225%207%20225%2021Q225%2032%20223.0%2038.5Q221%2045%20213%2055Q241%2052%20257.0%2035.5Q273%2019%20273%20-9Q273%20-37%20251.5%20-52.0Q230%20-67%20201%20-67Q151%20-67%20117.0%20-35.0Q83%20-3%2083%2055Q83%20118%20169%20225Q150%20219%20121%20219Q92%20219%2071.5%20239.5Q51%20260%2051%20295Q51%20337%2082.0%20363.0Q113%20389%20161%20389Q199%20389%20259%20365Q266%20379%20270.5%20403.5Q275%20428%20275%20447Q275%20486%20259.0%20504.5Q243%20523%20221%20523Q204%20523%20193%20508Q183%20493%20159%20493Q134%20493%20117.5%20510.0Q101%20527%20101%20553Q101%20580%20121.5%20597.5Q142%20615%20171%20615Q195%20615%20228.0%20596.0Q261%20577%20286%20538Q311%20498%20311%20441Q311%20388%20301%20347Q345%20330%20419%20283ZM245%20337Q225%20342%20207.0%20344.5Q189%20347%20173%20347Q142%20347%20120.5%20331.5Q99%20316%2099%20291Q99%20268%20111.0%20256.5Q123%20245%20143%20245Q151%20245%20162.0%20246.0Q173%20247%20187%20249Q208%20273%20221%20296ZM875%20347Q875%20299%20852.5%20245.0Q830%20191%20790.5%20142.0Q751%2093%20699%2059Q622%209%20535%209Q477%209%20430.0%2026.0Q383%2043%20355.0%2075.5Q327%20108%20327%20155Q327%20208%20359.5%20236.0Q392%20264%20463%20267V283Q414%20297%20383.5%20333.0Q353%20369%20353%20421Q353%20480%20392.0%20513.5Q431%20547%20497%20547Q532%20547%20571.0%20523.5Q610%20500%20649%20440Q689%20379%20716.5%20345.0Q744%20311%20781%20311Q805%20311%20822.0%20331.0Q839%20351%20839%20375Q839%20402%20824.5%20417.5Q810%20433%20787%20433Q768%20433%20735%20415Q699%20433%20699%20463Q699%20511%20751%20511Q801%20511%20838.0%20469.0Q875%20427%20875%20347Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --scroll-right:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20824%20682%22%3E%3Cg%20transform%3D%22translate%28824%200%29%20scale%28-1%201%29%22%3E%3Cg%20transform%3D%22translate%28-51%20615%29%20scale%281%20-1%29%22%3E%3Cpath%20fill%3D%22%23ad7e96%22%20d%3D%22M419%20283%20397%20273%20340%20302Q327%20309%20315.5%20313.0Q304%20317%20293%20321Q272%20258%20229%20209L195%20171Q121%2089%20121%2049Q121%20-13%20181%20-13Q201%20-13%20213.0%20-3.0Q225%207%20225%2021Q225%2032%20223.0%2038.5Q221%2045%20213%2055Q241%2052%20257.0%2035.5Q273%2019%20273%20-9Q273%20-37%20251.5%20-52.0Q230%20-67%20201%20-67Q151%20-67%20117.0%20-35.0Q83%20-3%2083%2055Q83%20118%20169%20225Q150%20219%20121%20219Q92%20219%2071.5%20239.5Q51%20260%2051%20295Q51%20337%2082.0%20363.0Q113%20389%20161%20389Q199%20389%20259%20365Q266%20379%20270.5%20403.5Q275%20428%20275%20447Q275%20486%20259.0%20504.5Q243%20523%20221%20523Q204%20523%20193%20508Q183%20493%20159%20493Q134%20493%20117.5%20510.0Q101%20527%20101%20553Q101%20580%20121.5%20597.5Q142%20615%20171%20615Q195%20615%20228.0%20596.0Q261%20577%20286%20538Q311%20498%20311%20441Q311%20388%20301%20347Q345%20330%20419%20283ZM245%20337Q225%20342%20207.0%20344.5Q189%20347%20173%20347Q142%20347%20120.5%20331.5Q99%20316%2099%20291Q99%20268%20111.0%20256.5Q123%20245%20143%20245Q151%20245%20162.0%20246.0Q173%20247%20187%20249Q208%20273%20221%20296ZM875%20347Q875%20299%20852.5%20245.0Q830%20191%20790.5%20142.0Q751%2093%20699%2059Q622%209%20535%209Q477%209%20430.0%2026.0Q383%2043%20355.0%2075.5Q327%20108%20327%20155Q327%20208%20359.5%20236.0Q392%20264%20463%20267V283Q414%20297%20383.5%20333.0Q353%20369%20353%20421Q353%20480%20392.0%20513.5Q431%20547%20497%20547Q532%20547%20571.0%20523.5Q610%20500%20649%20440Q689%20379%20716.5%20345.0Q744%20311%20781%20311Q805%20311%20822.0%20331.0Q839%20351%20839%20375Q839%20402%20824.5%20417.5Q810%20433%20787%20433Q768%20433%20735%20415Q699%20433%20699%20463Q699%20511%20751%20511Q801%20511%20838.0%20469.0Q875%20427%20875%20347Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
