:root{
    --paper:#f7f4ec; --ink:#17211d; --muted:#69736d; --line:#d9ded4;
    --green:#c8f169; --green-dark:#466c20; --coral:#ff765f; --blue:#9edcff;
    --purple:#b6a3ff; --yellow:#ffd86f; --white:#fffefa; --dark:#17211d;
    --shadow:0 14px 40px rgba(23,33,29,.09); --radius:24px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
  button,input,select{font:inherit}
  button{cursor:pointer}
  a{color:inherit}
  .shell{max-width:1180px;margin:auto;padding:0 26px}
  .topline{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);gap:16px}
  .brand{font-weight:950;font-size:1.65rem;letter-spacing:-.09em;text-decoration:none;display:flex;align-items:center;gap:4px}
  .brand-dot{width:10px;height:10px;border-radius:50%;background:var(--coral);display:inline-block;margin:0 0 2px 1px}
  .brand-sub{font-size:.67rem;letter-spacing:.08em;font-weight:800;color:var(--muted);margin-left:10px;text-transform:uppercase}
  .nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .nav a{text-decoration:none;font-weight:750;font-size:.8rem;padding:9px 12px;border-radius:999px;color:#45504a}
  .nav a:hover{background:#e9eee4;color:var(--ink)}
  .beta{font-size:.7rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;background:var(--purple);padding:7px 11px;border-radius:999px;white-space:nowrap}
  .hero{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:center;padding:58px 0 40px}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#52624c}
  .eyebrow:before{content:"";width:22px;height:8px;background:var(--coral);border-radius:99px;display:inline-block;transform:rotate(-8deg)}
  h1{font-size:clamp(3.2rem,7.4vw,6.7rem);line-height:.91;letter-spacing:-.085em;margin:18px 0 22px;font-weight:950;max-width:720px}
  h1 .highlight{color:#587b2a;position:relative;white-space:nowrap}
  h1 .highlight:after{content:"";position:absolute;left:2%;right:-2%;height:11px;bottom:1px;background:var(--yellow);z-index:-1;transform:rotate(-2deg);border-radius:99px}
  .hero-copy{font-size:1.1rem;line-height:1.65;color:#4f5b54;max-width:590px}
  .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
  .btn{border:0;border-radius:999px;padding:13px 19px;font-size:.9rem;font-weight:900;display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:transform .15s,box-shadow .15s}
  .btn:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(23,33,29,.13)}
  .btn-dark{background:var(--dark);color:white}.btn-light{background:var(--white);border:1px solid var(--line);color:var(--ink)}.btn-green{background:var(--green);color:var(--ink)}
  .hero-art{position:relative;min-height:390px;border-radius:34px;background:var(--blue);overflow:hidden;box-shadow:var(--shadow);isolation:isolate}
  .hero-art:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;background:var(--yellow);right:-60px;top:-75px;z-index:-1}
  .hero-art:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--coral);left:-65px;bottom:-80px;z-index:-1}
  .art-label{position:absolute;top:22px;left:22px;background:var(--white);border:1px solid rgba(23,33,29,.12);border-radius:999px;padding:8px 13px;font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-4deg)}
  .hero-art svg{position:absolute;inset:36px 8px 8px;width:calc(100% - 16px);height:calc(100% - 44px)}
  .sticker{position:absolute;right:25px;bottom:25px;background:var(--purple);border:2px solid var(--ink);color:var(--ink);padding:10px 14px;border-radius:12px;font-size:.77rem;font-weight:950;transform:rotate(5deg);box-shadow:4px 5px 0 var(--ink)}
  .stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 64px}
  .stat{background:var(--white);border:1px solid var(--line);border-radius:19px;padding:17px 18px;min-height:112px}
  .stat strong{display:block;font-size:2.15rem;letter-spacing:-.07em;line-height:1.1}
  .stat span{display:block;color:#5e6962;font-size:.78rem;margin-top:6px;font-weight:700}
  .stat small{font-size:.65rem;color:#828b83;display:block;margin-top:6px}
  .section{padding:42px 0 66px;scroll-margin-top:20px}
  .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}
  .section-kicker{font-size:.7rem;font-weight:950;letter-spacing:.1em;color:#6c776f;text-transform:uppercase}
  h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1;letter-spacing:-.07em;margin:8px 0 0;font-weight:950}
  .section-intro{max-width:430px;color:#647069;font-size:.93rem;margin:0}
  .number{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--green);font-size:.8rem;font-weight:950;margin-right:8px;vertical-align:middle}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 7px 24px rgba(23,33,29,.035)}
  .panel.dark{background:var(--dark);color:var(--white);border-color:var(--dark)}
  .panel.mint{background:#e8f5d5}.panel.yellow{background:#fff1c9}.panel.lilac{background:#eee9ff}.panel.blue{background:#e3f4ff}.panel.coral{background:#ffe5de}
  .mini-tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.67rem;letter-spacing:.07em;text-transform:uppercase;font-weight:950;background:rgba(23,33,29,.07)}
  .panel h3{font-size:1.38rem;line-height:1.08;letter-spacing:-.045em;margin:13px 0 9px}
  .panel p{font-size:.89rem;color:#647069;margin:0 0 12px}.panel.dark p{color:#bdc9c0}
  .question{font-size:1.27rem;font-weight:900;letter-spacing:-.035em;line-height:1.25;margin:18px 0}
  .choices{display:grid;gap:9px;margin:17px 0}
  .choice{width:100%;border:1.5px solid var(--line);background:#fffefa;border-radius:14px;padding:12px 14px;text-align:left;font-size:.87rem;font-weight:780;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px}
  .choice:hover{border-color:#839477;background:#f4f8ee}
  .choice:disabled{cursor:default;opacity:1}
  .choice.correct{border-color:#43852f;background:#e6f5dd}.choice.wrong{border-color:#dc705e;background:#ffe9e3}
  .choice .key{font-size:.68rem;color:#8a948d;font-weight:850}
  .feedback{border-radius:15px;padding:14px 15px;background:#eef4e7;font-size:.84rem;line-height:1.55;margin-top:12px;display:none}
  .feedback.show{display:block}
  .feedback strong{display:block;margin-bottom:4px}
  .progress-row{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:850;color:#6a756d;gap:12px}
  .progress{height:7px;border-radius:99px;background:#e7ebe3;overflow:hidden;margin:9px 0 14px}
  .progress>span{display:block;height:100%;background:#79a93e;width:0;transition:width .3s}
  .small-note{font-size:.7rem!important;color:#7b857d!important;margin-top:12px!important}
  .pill-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
  .pill{background:rgba(23,33,29,.08);border-radius:999px;padding:6px 10px;font-size:.69rem;font-weight:850}
  .sim-wrap{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
  .budget-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:18px 0}
  .budget-line label{font-weight:850;font-size:.86rem}
  .budget-line .amount{font-weight:950;font-variant-numeric:tabular-nums;font-size:.88rem}
  input[type=range]{grid-column:1/-1;width:100%;accent-color:#527c2c;cursor:pointer}
  .budget-total{background:var(--dark);color:#fff;border-radius:20px;padding:19px;position:sticky;top:15px}
  .budget-total .big{font-size:2.4rem;letter-spacing:-.08em;font-weight:950;line-height:1.1;margin:8px 0}
  .budget-total p{font-size:.77rem;color:#bdc9c0;margin:0 0 13px}
  .budget-total .progress{background:#3c4c43}.budget-total .progress>span{background:var(--green)}
  .budget-total .btn{width:100%;justify-content:center;margin-top:10px}
  .result-list{margin:12px 0 0;padding-left:18px;color:#dce4df;font-size:.76rem}
  .scenario{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:850;color:#6e7b71}
  .scenario-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--yellow);font-size:1.25rem}
  .label-row{font-size:.72rem;color:#78837b;font-weight:800;margin-bottom:8px}
  .social-card{border:1.5px solid #d9ded4;border-radius:19px;padding:19px;background:#fff;max-width:540px;margin:18px auto 15px;box-shadow:0 8px 20px rgba(23,33,29,.045)}
  .social-top{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:900;color:#526057}
  .avatar{width:32px;height:32px;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-size:.82rem}
  .social-card blockquote{font-size:1.06rem;font-weight:900;letter-spacing:-.025em;line-height:1.32;margin:18px 0 10px}
  .fake-meta{font-size:.69rem;color:#8b948d}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}
  .step{background:#f2f4ed;border:1px solid #e1e6dc;border-radius:15px;padding:13px}
  .step b{display:block;font-size:.7rem;letter-spacing:.06em;color:#71913d;text-transform:uppercase;margin-bottom:6px}
  .step strong{display:block;font-size:.84rem;line-height:1.2}
  .step span{display:block;color:#69746d;font-size:.73rem;margin-top:5px}
  .action-finder{display:grid;grid-template-columns:.82fr 1.18fr;gap:16px}
  .field{display:grid;gap:8px;margin:16px 0}
  .field label{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#5d6b61}
  select{width:100%;border:1.5px solid var(--line);border-radius:13px;background:#fffefa;color:var(--ink);padding:13px;font-weight:750;outline:none}
  select:focus,input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8cafff;outline-offset:3px}
  .action-output{background:#e9f4d9;border:1px solid #d0e5b7;border-radius:22px;padding:23px}
  .action-output h3{font-size:1.45rem;letter-spacing:-.05em;margin:7px 0}
  .action-output p{font-size:.87rem;color:#566550}
  .action-output ol{padding-left:20px;font-size:.85rem;line-height:1.6}
  .resource-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
  .resource-links a{display:inline-block;background:var(--white);border:1px solid #d5dfca;border-radius:999px;padding:8px 12px;text-decoration:none;font-size:.75rem;font-weight:850}
  .resource-links a:hover{background:var(--green)}
  .link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .link-card{border-radius:18px;padding:18px;background:var(--white);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;min-height:164px;transition:transform .15s}
  .link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .link-card .emoji{font-size:1.6rem;margin-bottom:12px}
  .link-card strong{font-size:.93rem;letter-spacing:-.02em}
  .link-card span{font-size:.76rem;color:#6c776f;margin-top:5px;line-height:1.45}
  .link-card .go{margin-top:auto;padding-top:12px;font-weight:900;font-size:.72rem;color:#557c30}
  .manifesto{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;background:var(--yellow);border-radius:28px;padding:28px;overflow:hidden;position:relative}
  .manifesto h2{font-size:clamp(2.1rem,4vw,3.8rem);max-width:560px}
  .manifesto p{max-width:530px;color:#5a5038}
  .manifesto-art{display:flex;justify-content:center;align-items:center;min-height:190px}
  .manifesto-art .bubble{background:#fffdf6;padding:22px;border:2px solid var(--ink);border-radius:22px;font-size:1.1rem;font-weight:950;max-width:230px;transform:rotate(4deg);box-shadow:7px 7px 0 var(--ink)}
  .source-note{font-size:.72rem;color:#79837b;margin-top:14px;line-height:1.5}
  .footer{border-top:1px solid var(--line);padding:26px 0 44px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#768078;font-size:.75rem}
  @media(max-width:600px){#weeklyTitle{font-size:1.75rem!important}.panel[aria-labelledby="weeklyTitle"]{grid-template-columns:1fr!important}.panel[aria-labelledby="weeklyTitle"]>div:last-child{display:none}}
  .footer strong{color:var(--ink)}
  .toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:var(--dark);color:white;border-radius:999px;padding:11px 17px;font-size:.8rem;font-weight:850;opacity:0;pointer-events:none;transition:.25s;z-index:10}
  .toast.show{opacity:1;transform:translate(-50%,0)}
  .xp{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--green);border-radius:999px;color:var(--ink);font-size:.7rem;font-weight:950}
  .reset{background:none;border:0;text-decoration:underline;color:#829087;font-size:.7rem;font-weight:800;padding:5px}
  @media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:42px}.hero-art{min-height:330px}.sim-wrap{grid-template-columns:1fr}.budget-total{position:static}.action-finder{grid-template-columns:1fr}.link-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.manifesto{grid-template-columns:1fr}.manifesto-art{min-height:120px}}
  @media(max-width:600px){.shell{padding:0 16px}.topline{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.nav a{padding:7px 9px;font-size:.72rem}.hero{padding:34px 0 28px}h1{font-size:clamp(3rem,16vw,5.1rem)}.hero-copy{font-size:1rem}.hero-art{min-height:270px}.stat-strip{gap:7px;margin-bottom:42px}.stat{padding:13px 11px;min-height:98px}.stat strong{font-size:1.65rem}.stat span{font-size:.69rem}.stat small{font-size:.58rem}.grid-2{grid-template-columns:1fr}.panel{padding:19px}.section{padding:32px 0 46px}.steps{grid-template-columns:1fr 1fr}.link-grid{grid-template-columns:1fr 1fr}.link-card{min-height:155px;padding:14px}.manifesto{padding:21px}.section-head{gap:10px}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* POTEZ pilot layer: mobile-first navigation, accessibility and feedback */
:root { --focus:#275dff; }
html { scroll-padding-top: 16px; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, a, select, input, textarea { -webkit-tap-highlight-color: transparent; }
button, .btn, .choice, .nav a, .link-card { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: absolute; top: -100px; left: 16px; z-index: 1000; background: var(--dark); color: white; padding: 12px 16px; border-radius: 12px; font-weight: 800; }
.skip-link:focus { top: 12px; }
.mobile-nav { display: none; }
.feedback-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:16px; align-items:start; }
.feedback-points { margin:14px 0 0; padding-left:20px; color:#53624f; font-size:.86rem; line-height:1.8; }
.feedback-form { display:grid; gap:4px; }
.feedback-form textarea { width:100%; resize:vertical; min-height:120px; border:1.5px solid var(--line); border-radius:14px; padding:13px; color:var(--ink); background:#fffefa; font:inherit; font-size:.9rem; }
.feedback-form select { min-height:46px; }
.feedback-form .field { margin:8px 0; }
.field-hint { display:flex; justify-content:space-between; gap:12px; color:#737f76; font-size:.68rem; }
.privacy-check { display:flex; gap:10px; align-items:flex-start; font-size:.78rem; line-height:1.45; margin:8px 0; }
.privacy-check input { width:20px; height:20px; flex:0 0 20px; accent-color:#527c2c; margin:0; }
.feedback-form .btn { justify-content:center; min-height:48px; }
.feedback-form .btn:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }
.form-status { margin:8px 0 0; color:#59665e; font-size:.77rem; line-height:1.5; }
.turnstile-slot { min-height:0; }
.hp-field { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.footer a { text-decoration-thickness:1px; text-underline-offset:3px; }
@media (max-width: 850px) { .feedback-layout { grid-template-columns:1fr; } }
@media (max-width: 600px) {
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .shell { padding-left:16px; padding-right:16px; }
  .topline { flex-direction:row; align-items:center; padding:15px 0; }
  .brand { font-size:1.55rem; }
  .brand-sub { font-size:.6rem; }
  .nav { display:none; }
  .mobile-nav { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; position:fixed; z-index:50; left:0; right:0; bottom:0; padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,254,250,.96); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(23,33,29,.08); backdrop-filter:blur(14px); }
  .mobile-nav a { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:48px; gap:2px; border-radius:13px; color:var(--ink); text-decoration:none; font-size:.66rem; font-weight:850; }
  .mobile-nav a span:first-child { font-size:1.05rem; line-height:1.15; }
  .mobile-nav a:active, .mobile-nav a:focus-visible { background:#e8f5d5; }
  .hero-art { min-height:250px; }
  .stat-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .stat { min-width:0; }
  .stat strong { font-size:clamp(1.25rem,6vw,1.65rem); }
  .stat span { line-height:1.25; }
  .panel { padding:18px; }
  .budget-line label { line-height:1.25; }
  .budget-line input[type=range] { min-height:32px; }
  .choice { min-height:48px; }
  .link-grid { gap:8px; }
  .link-card { min-height:160px; }
  .feedback-form { padding:18px; }
  .feedback-form textarea { font-size:16px; }
  .footer { padding-bottom:20px; }
  .toast { bottom:calc(82px + env(safe-area-inset-bottom)); width:max-content; max-width:calc(100vw - 32px); text-align:center; }
}
@media (prefers-contrast: more) {
  :root { --line:#8b948b; --muted:#48524b; }
  .panel p, .link-card span, .section-intro, .source-note { color:#3f4a42; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Layout defaults are mobile-first. Wider layouts progressively add columns. */
.shell { padding: 0 16px; }
.topline { display:flex; flex-direction:row; align-items:center; gap:12px; padding:15px 0; }
.nav { display:none; }
.hero { grid-template-columns:1fr; gap:18px; padding:34px 0 28px; }
h1 { font-size:clamp(3rem,16vw,5.1rem); }
.hero-copy { font-size:1rem; }
.hero-art { min-height:260px; }
.stat-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:42px; }
.stat { min-width:0; padding:13px 11px; min-height:98px; }
.stat strong { font-size:clamp(1.25rem,6vw,1.65rem); }
.stat span { font-size:.69rem; line-height:1.25; }
.stat small { font-size:.58rem; }
.section { padding:32px 0 46px; }
.section-head { align-items:flex-start; flex-direction:column; gap:10px; }
.grid-2, .sim-wrap, .action-finder, .manifesto, .feedback-layout { grid-template-columns:1fr; }
.budget-total { position:static; }
.steps { grid-template-columns:1fr 1fr; }
.link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.link-card { min-height:155px; padding:14px; }
.panel { padding:18px; }
.mobile-nav { display:grid; }
body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }

@media (min-width:601px) {
  .shell { padding:0 26px; }
  .topline { padding:20px 0; }
  .nav { display:flex; justify-content:flex-end; }
  .mobile-nav { display:none; }
  body { padding-bottom:0; }
  .hero { grid-template-columns:1fr; padding:42px 0 40px; }
  .hero-art { min-height:330px; }
  .stat-strip { gap:12px; margin-bottom:64px; }
  .stat { padding:17px 18px; min-height:112px; }
  .stat strong { font-size:2.15rem; }
  .stat span { font-size:.78rem; }
  .stat small { font-size:.65rem; }
  .section { padding:42px 0 66px; }
  .section-head { flex-direction:row; align-items:flex-end; gap:20px; }
  .grid-2 { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:repeat(4,1fr); }
  .action-finder { grid-template-columns:1fr; }
  .link-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .link-card { min-height:164px; padding:18px; }
  .manifesto { grid-template-columns:1fr 1fr; }
  .feedback-layout { grid-template-columns:1fr; }
  .panel { padding:24px; }
}

@media (min-width:851px) {
  .hero { grid-template-columns:1.08fr .92fr; }
  .hero-art { min-height:390px; }
  .section-head { flex-direction:row; }
  .sim-wrap { grid-template-columns:1fr 280px; }
  .budget-total { position:sticky; top:15px; }
  .action-finder { grid-template-columns:.82fr 1.18fr; }
  .feedback-layout { grid-template-columns:.82fr 1.18fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation-duration:.01ms !important; }
}
