/* Charity Starter: shared styles. Look taken from the approved homepage concept. */
:root{
  --cream:#FBF5EA; --paper:#FFFDF8; --ink:#2B2A28; --soft:#5E5A53;
  --terra:#D9734E; --terra-btn:#C25E3A; --terra-d:#A84F2E; --terra-sh:#93432A;
  --teal:#1F5C5B; --teal-l:#E3EEEC; --mustard:#E9B949; --mustard-l:#FFF6DB; --sage:#A8C3A0; --sage-l:#E4EEDF;
  --red:#C2452F; --red-l:#FBE7E1; --red-t:#A33A2A;
  --amber:#E09B2D; --amber-l:#FFF3D6; --amber-t:#7A5A00;
  --green:#5E9A55; --green-l:#E4EEDF; --green-t:#3E6B36;
  --line:#E8DCC6; --radius:22px;
  --focus:0 0 0 3px var(--paper),0 0 0 6px var(--teal);
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:400 18px/1.6 "Nunito",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.choice input:focus-visible+span{outline:none;box-shadow:var(--focus);border-radius:12px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:780px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
h3{font-size:1.25rem}
.lead{font-size:1.2rem;color:var(--soft)}
.muted{color:var(--soft)}
.small{font-size:.9rem}
.skip{position:absolute;left:-999px;top:8px;background:var(--teal);color:#fff;padding:8px 14px;border-radius:999px;z-index:10}
.skip:focus{left:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* header */
header.site{padding:22px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-family:"Fraunces",serif;font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none}
.logo svg{width:34px;height:34px}
nav.main a{margin-left:22px;text-decoration:none;color:var(--soft);font-weight:600}
nav.main a:hover{color:var(--terra-d)}
@media (max-width:760px){nav.main{display:none}}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-block;padding:15px 26px;border-radius:999px;font:700 1.06rem/1.2 "Nunito",system-ui,sans-serif;text-decoration:none;transition:transform .15s,box-shadow .15s;border:0;cursor:pointer;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--terra-btn);color:#fff;box-shadow:0 6px 0 var(--terra-sh)}
.btn-main:active{transform:translateY(3px);box-shadow:0 3px 0 var(--terra-sh)}
.btn-ghost{background:transparent;color:var(--teal);border:2px solid var(--teal);padding:13px 24px}
.btn[disabled],.btn[aria-disabled="true"]{background:#CFC6B8;box-shadow:0 6px 0 #B5AB9B;color:#4A463F;cursor:not-allowed;transform:none}
.btn-small{padding:10px 18px;font-size:.95rem}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding:28px 0 40px}
.hero p.lead{max-width:34ch}
.hero-art{border-radius:32px;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 18px 40px -18px rgba(60,40,20,.35)}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-art{transform:none}}

/* FYI card (homepage only) */
.fyi{display:flex;gap:16px;align-items:flex-start;background:var(--sage-l);border:2px dashed var(--sage);border-radius:var(--radius);padding:18px 22px;max-width:760px;margin:0 auto 70px}
.fyi .tag{flex:none;background:var(--teal);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.06em;border-radius:999px;padding:5px 11px;margin-top:3px}
.fyi p{margin:0;font-size:1rem;color:var(--ink)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:24px 0 80px}
.step{background:var(--paper);border-radius:var(--radius);padding:22px 22px 26px;border:1px solid var(--line);position:relative}
.step .n{position:absolute;top:-16px;left:22px;background:var(--mustard);font-family:"Fraunces",serif;font-weight:700;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}
.step img{width:62%;margin:6px auto 10px;mix-blend-mode:multiply}
.step p{color:var(--soft);margin:0}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* free tools */
.tools{background:var(--teal);color:#F4EEE2;border-radius:36px;padding:48px 40px;margin-bottom:80px}
.tools h2{color:#fff}
.tools > p{color:#D8E6E3;max-width:56ch}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.tool{background:#FBF5EA;color:var(--ink);border-radius:18px;padding:20px;text-decoration:none;display:block;transition:transform .15s}
.tool:hover{transform:translateY(-3px) rotate(-.4deg)}
.tool b{display:block;font-family:"Fraunces",serif;font-size:1.15rem;margin-bottom:4px}
.tool span{color:var(--soft);font-size:.95rem}
.tool i{font-style:normal;color:var(--terra-d);font-weight:700;font-size:.9rem}
@media (max-width:860px){.tool-grid{grid-template-columns:1fr}.tools{padding:36px 22px}}

/* pack + price */
.pack{display:grid;grid-template-columns:1.3fr 1fr;gap:34px;align-items:start;margin-bottom:80px}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding:12px 0 12px 40px;border-bottom:1px dashed var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:15px;width:20px;height:20px;border-radius:50%;background:var(--sage);box-shadow:inset 0 0 0 5px var(--sage-l)}
.price{background:var(--paper);border-radius:28px;padding:30px;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--mustard)}
.price .amt{font-family:"Fraunces",serif;font-size:3.2rem;font-weight:700;line-height:1}
.price .amt small{font-size:1rem;font-family:"Nunito",sans-serif;font-weight:600;color:var(--soft)}
.price p{color:var(--soft)}
.addon{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);font-size:.95rem}
@media (max-width:860px){.pack{grid-template-columns:1fr}}

/* faq */
.faq{max-width:780px;margin:0 auto 80px}
details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--terra-d);font-weight:700}
details[open] summary::after{content:"\2013"}
details p{color:var(--soft);margin:.6em 0 0}

/* end */
.end{text-align:center;padding:10px 0 70px}
.end img{width:200px;margin:0 auto 10px;mix-blend-mode:multiply}

/* footer */
footer.site{border-top:1px solid var(--line);padding:26px 0 40px;font-size:.82rem;color:var(--soft)}
footer.site a{color:var(--soft);margin-right:16px}
footer.site .src{margin-top:10px;font-size:.75rem}

/* ---------- page heads with an illustration ---------- */
.pagehead{display:grid;grid-template-columns:1fr 200px;gap:26px;align-items:center;padding:10px 0 26px}
.pagehead img{mix-blend-mode:multiply;width:200px}
.pagehead p{margin:0;max-width:52ch}
.pagehead h1{font-size:clamp(1.9rem,4.4vw,2.9rem)}
@media (max-width:640px){.pagehead{grid-template-columns:1fr 96px;gap:14px}.pagehead img{width:96px}}
.crumb{font-size:.9rem;margin:0 0 8px}
.crumb a{color:var(--soft)}

/* ---------- cards and forms ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card + .card{margin-top:22px}
fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
legend{font-family:"Fraunces",serif;font-weight:700;font-size:1.2rem;margin-bottom:4px;padding:0}
.hint{display:block;color:var(--soft);font-size:.95rem;margin:0 0 12px}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.choices.one{grid-template-columns:1fr}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:block;height:100%;background:var(--cream);border:2px solid var(--line);border-radius:16px;padding:12px 14px 12px 46px;font-weight:600;line-height:1.35;transition:border-color .15s,background .15s}
.choice span small{display:block;font-weight:400;color:var(--soft);font-size:.88rem;margin-top:2px}
.choice span::before{content:"";position:absolute;left:14px;top:14px;width:20px;height:20px;border-radius:50%;border:2px solid #9C9284;background:#fff;transition:all .15s}
.choice:hover span{border-color:var(--sage)}
.choice input:checked+span{border-color:var(--teal);background:var(--teal-l)}
.choice input:checked+span::before{border-color:var(--teal);background:var(--teal);box-shadow:inset 0 0 0 4px #fff}
/* switches: every on/off choice (no tick boxes anywhere). Off = #E6DCCB track, on = teal, white knob. */
.choice input[type=checkbox]+span{padding-left:74px}
.choice input[type=checkbox]+span::before{left:14px;top:12px;width:46px;height:26px;border-radius:999px;border:0;background:#E6DCCB;box-shadow:none}
.choice input[type=checkbox]+span::after{content:"";position:absolute;left:17px;top:15px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.choice input[type=checkbox]:checked+span::before{background:var(--teal);box-shadow:none}
.choice input[type=checkbox]:checked+span::after{transform:translateX(20px)}
/* yes/no: two-option segmented control */
.choices.seg{display:inline-flex;gap:0;padding:3px;border:2px solid var(--line);border-radius:999px;background:var(--cream)}
.seg .choice span{padding:8px 24px;border:0;border-radius:999px;background:transparent;min-width:76px;text-align:center}
.seg .choice span::before{content:none}
.seg .choice:hover span{background:var(--sage-l)}
.seg .choice input:checked+span{background:var(--teal);color:#fff}
@media (prefers-reduced-motion:reduce){.choice span::after,.sw::after{transition:none !important}}
label.field{display:block;font-weight:700;margin:0 0 6px}
input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:14px;padding:11px 14px}
input[type=text]:hover,select:hover,textarea:hover{border-color:var(--sage)}
textarea{min-height:120px;resize:vertical;line-height:1.5}
.field-wrap{margin-bottom:22px}
.counter{font-size:.85rem;color:var(--soft);margin-top:4px}
.counter.ok{color:var(--green-t)}

/* ---------- checker result ---------- */
.result{margin-top:8px;border-radius:28px;padding:26px 26px 24px;border:2px solid var(--ink);background:var(--paper);position:relative;box-shadow:8px 8px 0 var(--sage)}
.result[hidden]{display:none}
.verdict{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.verdict .badge{flex:none;font-family:"Fraunces",serif;font-weight:700;font-size:1.25rem;letter-spacing:.02em;border-radius:999px;padding:8px 18px;color:#fff}
.verdict h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:0}
.result.yes{box-shadow:8px 8px 0 var(--sage)} .result.yes .badge{background:var(--green-t)}
.result.no{box-shadow:8px 8px 0 var(--mustard)} .result.no .badge{background:var(--terra-d)}
.result.depends{box-shadow:8px 8px 0 #E7C27A} .result.depends .badge{background:var(--teal)}
.result ul{margin:.4em 0 0;padding-left:1.2em}
.result li{margin:.3em 0}
.result .more{margin-top:14px;font-size:.95rem}
.pending{color:var(--soft);font-style:italic;margin:6px 0 0}

/* continue card */
.continue{margin-top:30px;background:var(--paper);border-radius:28px;padding:28px;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--mustard)}
.continue[hidden]{display:none}
.continue h2{margin-bottom:.3em}
.lines{list-style:none;margin:16px 0;padding:0}
.lines li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line)}
.lines li b{font-weight:700}
.lines .total{border-bottom:0;font-family:"Fraunces",serif;font-size:1.5rem;font-weight:700}
.toggle{position:relative;display:flex;gap:14px;align-items:flex-start;background:var(--mustard-l);border:2px solid #F0D58E;border-radius:18px;padding:14px 16px;margin:14px 0;cursor:pointer}
.toggle input{position:absolute;opacity:0;width:1px;height:1px}
.toggle .sw,.consent .sw{flex:none;width:52px;height:30px;border-radius:999px;background:#E6DCCB;position:relative;transition:background .2s;margin-top:2px}
.toggle .sw::after,.consent .sw::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.toggle input:checked+.sw,.consent input:checked+.sw{background:var(--teal)}
.toggle input:checked+.sw::after,.consent input:checked+.sw::after{transform:translateX(22px)}
.toggle input:focus-visible+.sw,.consent input:focus-visible+.sw{box-shadow:var(--focus)}
.toggle .txt b{display:block}
.toggle .txt span{font-size:.92rem;color:var(--soft)}
.quiet{font-size:.9rem;color:var(--soft);margin:12px 0 0}
.consent{position:relative;display:flex;gap:14px;align-items:flex-start;background:var(--cream);border:2px solid var(--line);border-radius:16px;padding:14px 16px;margin:18px 0;cursor:pointer;font-weight:600}
.consent input{position:absolute;opacity:0;width:1px;height:1px}
.consent .sw{margin-top:0}
.notice{background:var(--teal-l);border-left:5px solid var(--teal);border-radius:12px;padding:12px 16px;margin-top:16px}
.notice[hidden]{display:none}
.draft-banner{background:var(--mustard);color:var(--ink);font-weight:700;text-align:center;padding:10px 16px;border-radius:14px;margin-bottom:22px}

/* checker two-column layout */
.checker{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:34px;align-items:start;margin-bottom:70px}
.checker .side{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:0 12px 12px 0}
.checker .side > .btn{margin-top:30px}
@media (max-width:900px){.checker{grid-template-columns:1fr}.checker .side{position:static;max-height:none;overflow:visible;padding:0}}

/* ---------- application flow ---------- */
.flow{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:34px;align-items:start;margin-bottom:70px}
.flow .side{position:sticky;top:14px}
@media (max-width:940px){.flow{grid-template-columns:1fr}.flow .side{position:static}}
.stepper{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 22px}
.stepper button{font:600 .85rem/1 "Nunito",sans-serif;border:2px solid var(--line);background:var(--paper);color:var(--soft);border-radius:999px;padding:8px 12px;cursor:pointer}
.stepper button[aria-current="step"]{background:var(--teal);border-color:var(--teal);color:#fff}
.stepper button.done{border-color:var(--sage);background:var(--sage-l);color:var(--ink)}
.stepcard{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px}
.stepcard .sh{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.stepcard .sh img{width:84px;flex:none;mix-blend-mode:multiply}
.stepcard .sh p{margin:0;color:var(--soft)}
.stepcard h2{font-size:clamp(1.45rem,3vw,1.9rem);margin-bottom:.2em}
.stepnav{display:flex;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.trustee{border:2px dashed var(--line);border-radius:18px;padding:16px;margin-bottom:14px;background:var(--cream)}
.trustee .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.trustee .row{grid-template-columns:1fr}}
.trustee .choices{grid-template-columns:1fr;margin-top:10px}
.trustee-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.privacy-note{font-size:.9rem;color:var(--soft);background:var(--sage-l);border-radius:12px;padding:10px 14px;margin-bottom:18px}

/* gauge */
.gaugecard{background:var(--paper);border:2px solid var(--ink);border-radius:28px;padding:20px 20px 16px;box-shadow:8px 8px 0 var(--mustard);text-align:center}
.gaugecard h2{font-size:1.25rem;margin:0 0 4px}
.gauge{width:100%;max-width:340px;margin:0 auto;display:block;overflow:visible}
.gauge .needle{transform-box:view-box;transform-origin:160px 170px;transition:transform 1.1s cubic-bezier(.34,1.45,.55,1)}
@media (prefers-reduced-motion:reduce){.gauge .needle{transition:none}}
.score{font-family:"Fraunces",serif;font-weight:700;font-size:2.2rem;line-height:1;margin-top:-6px}
.score small{font-size:1rem;color:var(--soft);font-family:"Nunito",sans-serif;font-weight:600}
.band{display:inline-block;margin-top:6px;font-weight:700;border-radius:999px;padding:4px 14px;font-size:.95rem}
.band.red{background:var(--red-l);color:var(--red-t)} .band.amber{background:var(--amber-l);color:var(--amber-t)} .band.green{background:var(--green-l);color:var(--green-t)}
.gauge-sum{font-size:.92rem;color:var(--soft);margin:8px 0 0}

/* advisories */
.advisories{margin-top:22px}
.advisories h2{font-size:1.2rem;margin:0 0 10px}
.adv{list-style:none;margin:0;padding:0}
.adv li{display:flex;gap:12px;background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--sage);border-radius:14px;padding:12px 14px;margin-bottom:10px;animation:advIn .35s ease-out}
@keyframes advIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.adv li{animation:none}}
.adv .dot{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.9rem;margin-top:1px}
.adv b{display:block;line-height:1.3}
.adv .advjump{font-weight:700;color:var(--ink);text-align:left}
.adv span{display:block;font-size:.9rem;color:var(--soft);margin-top:3px}
.adv .lvl{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.adv li.block{border-left-color:var(--red)} .adv li.block .dot{background:var(--red)} .adv li.block .lvl{color:var(--red-t)}
.adv li.warn{border-left-color:var(--amber)} .adv li.warn .dot{background:var(--amber);color:var(--ink)} .adv li.warn .lvl{color:var(--amber-t)}
.adv li.good{border-left-color:var(--green)} .adv li.good .dot{background:var(--green)} .adv li.good .lvl{color:var(--green-t)}
.adv-empty{color:var(--soft);font-size:.95rem}
.minigauge{display:none}
@media (max-width:940px){
  .minigauge{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;background:var(--cream);padding:10px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}
  .minigauge .track{flex:1;height:12px;border-radius:999px;background:linear-gradient(90deg,var(--red),var(--amber) 50%,var(--green));position:relative}
  .minigauge .pin{position:absolute;top:-5px;width:6px;height:22px;border-radius:3px;background:var(--ink);transition:left .9s cubic-bezier(.34,1.45,.55,1)}
  .minigauge b{font-family:"Fraunces",serif;min-width:5.5ch;text-align:right}
}
.review-list{list-style:none;padding:0;margin:0}
.review-list li{padding:10px 0;border-bottom:1px dashed var(--line)}
.review-list b{display:block;font-size:.9rem;color:var(--soft);font-weight:600}

/* simple pages */
.prose{max-width:760px;margin:0 auto 70px}
.prose h2{font-size:1.5rem;margin-top:1.4em}
.prose p,.prose li{color:var(--ink)}
.prose blockquote{margin:0;padding:0}

/* pattern chips under free-text answers */
.chips:empty{display:none}
.chiprow{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;border-radius:999px;padding:3px 10px;border:1.5px solid}
.chip.yes{background:var(--green-l);border-color:#B7D1B0;color:var(--green-t)}
.chip.no{background:var(--amber-l);border-color:#EBCB86;color:var(--amber-t)}
.chip.head{background:var(--teal-l);border-color:#BCD5D1;color:var(--teal)}
.chipline{margin:6px 0 0;font-size:.88rem;color:var(--amber-t);font-weight:600}
.chipline.info{color:var(--soft)}

/* soften the square edge of the illustrations where they sit on the page background */
.pagehead img,.stepcard .sh img,.end img{-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}

/* ---- phase 2 ---- */
.applyhead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.applyhead h1{margin:0}
.saved{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.95rem;color:var(--green-t)}
.saved span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem}
.saved.bad{color:var(--red-t)}
.notice.bad{background:var(--red-l);border-color:var(--red);color:var(--red-t)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.draft-tag{display:inline-block;background:var(--mustard);color:var(--ink);font-weight:800;font-size:.75rem;padding:1px 8px;border-radius:999px;margin-right:6px}
.reviewcard{margin-top:22px;background:var(--cream)}
.reviewcard .adv{margin-top:14px}
.side .linkbtn#delete-answers{margin-top:16px;color:var(--red-t)}
.guide h2{font-size:1.35rem;margin-top:1.4em}
.guide ul,.guide ol{padding-left:1.2em}
.tablewrap{overflow-x:auto;margin:10px 0 18px;-webkit-overflow-scrolling:touch}
table.compare{border-collapse:collapse;min-width:640px;font-size:.95rem;background:var(--paper)}
table.compare th,table.compare td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.compare thead th{background:var(--teal-l)}
table.compare tbody th{font-weight:700;width:26%}
.guide-list{list-style:none;padding:0}
.guide-list li{margin:0 0 10px}
.guide-list a{font-weight:700;font-size:1.1rem}
.narrowcard{max-width:520px;margin:30px auto}
.account h2{font-size:1.4rem}
.apps{list-style:none;padding:0;margin:14px 0 26px}
.app{display:grid;grid-template-columns:1fr 200px auto auto;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:10px}
.app.empty{display:block}
.app-main b{display:block}
.app-gauge{display:flex;align-items:center;gap:8px;font-size:.9rem}
.app-gauge .track{flex:1;height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.app-gauge .track span{display:block;height:100%;border-radius:999px;background:var(--red)}
.app-gauge.amber .track span{background:var(--amber)}
.app-gauge.green .track span{background:var(--green)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acctfoot{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:26px 0 10px}
.danger summary{color:var(--red-t);font-weight:700;cursor:pointer}
.danger form{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-width:260px}
.btn-danger{background:var(--red);color:#fff;border:0}
.btn-danger[disabled]{opacity:.5}
@media (max-width:700px){
  .app{grid-template-columns:1fr auto;gap:10px}
  .app-gauge{grid-column:1 / -1}
  .row2{grid-template-columns:1fr}
}
.acctfoot details.danger{background:none;border:0;padding:0;box-shadow:none;margin:0}
.danger summary{padding:8px 0}
.danger summary::after{content:none}
.pill{display:inline-block;font-weight:800;font-size:.85rem;padding:4px 12px;border-radius:999px;background:var(--amber-l);color:var(--amber-t)}
.pill.green{background:var(--green-l);color:var(--green-t)}
.pill.red{background:var(--red-l);color:var(--red-t)}
.slugrow{display:flex;align-items:center;gap:8px}
.slugrow input{flex:1;min-width:0}
.slugrow span{font-weight:700;color:var(--soft);white-space:nowrap}
.tpl .sw{display:inline-block;width:22px;height:22px;border-radius:50%;margin-right:8px;vertical-align:-5px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.sw.warm{background:linear-gradient(135deg,#FBF5EA 50%,#C25E3A 50%)}
.sw.garden{background:linear-gradient(135deg,#F3F7EF 50%,#3E6B36 50%)}
.sw.harbour{background:linear-gradient(135deg,#EEF4F6 50%,#1F5C5B 50%)}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.sugg{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
#options .choice{margin-bottom:10px}
@media (max-width:700px){.slugrow{flex-wrap:wrap}.slugrow span{font-size:.9rem}}
/* apply: grouped follow-ups, encrypted fields */
.qgroup{font-size:1.05rem;margin:22px 0 6px;color:#1F5C5B}
.secgroup{display:grid;gap:10px;margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:#FFFDF8;border:1px dashed #E8DCC6}
.secure .field{display:block;font-weight:700;margin:0 0 4px}.secure .saved{margin-left:0}
.secrow{display:flex;gap:8px;align-items:center}.secrow input{flex:1;min-width:0}
.secnote{display:block;color:#A33A2A;font-size:.9rem;margin-top:4px}.lock{display:block}
/* website cards */
.webcard{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin:18px 0;padding:16px 18px;border-radius:22px;background:#FFF6E3;border:2px solid #E9B949;color:inherit;text-decoration:none}
.webcard img{width:150px;height:150px;border-radius:16px;object-fit:cover}
.webcard > span{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.webcard b{font-family:Fraunces,Georgia,serif;font-size:1.25rem;line-height:1.2}
.webcard .host{font-weight:800;color:#1F5C5B;background:#fff;border-radius:999px;padding:3px 12px;border:1px solid #E8DCC6;overflow-wrap:anywhere}
.webcard.in{margin:14px 0 4px}.webcard .sugg{margin:4px 0 0;padding-left:18px}
.sitecard{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;margin:14px 0 4px;padding:12px;border-radius:18px;background:#FFFDF8;border:1px solid #E8DCC6}
.sitecard img{border-radius:12px;width:160px;height:107px;object-fit:cover}.sitecard > div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.appcard{display:block}.approw{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.approw .app-main{flex:1;min-width:180px}
.appopts{display:flex;flex-wrap:wrap;gap:6px 10px;margin:10px 0 0;align-items:center}
.nextsteps details.steps{margin:12px 0 0;padding:10px 14px}.nextsteps summary{font-size:1rem}
.steplist{list-style:none;margin:8px 0 0;padding:0}
.steplist .step{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-top:1px dashed var(--line)}
.steplist .step .steptext{flex:1 1 220px;min-width:0}.steplist .step .steptext input{width:100%;max-width:280px;margin-top:4px}
.steplist .step .stepbtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.steplist .step.done b,.steplist .step.na b{color:var(--soft)}.steplist .step.na b{text-decoration:line-through}
.walklinks{display:flex;flex-wrap:wrap;gap:8px}
.approw .app-gauge{min-width:170px}.approw .app-gauge .track{flex:1;min-width:90px}
details.appdel{background:none;border:0;padding:0;box-shadow:none;margin:8px 0 0}.appdel summary{font-size:.9rem;padding:4px 0}.appdel summary::after{content:none}.appdel .btn{margin-top:6px}
.artpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.artopt input{position:absolute;opacity:0}.artopt span{display:block;border:2px solid #E8DCC6;border-radius:14px;padding:6px;background:#fff;cursor:pointer;text-align:center}
.artopt img,.artopt .noart{width:100%;height:auto;aspect-ratio:3/2;border-radius:10px;display:block;object-fit:cover}.artopt .noart{background:repeating-linear-gradient(45deg,#FBF5EA 0 8px,#F3E9D6 8px 16px)}
.artopt b{display:block;font-size:.9rem;margin-top:4px}.artopt input:checked+span{border-color:#D9734E;box-shadow:0 0 0 3px rgba(217,115,78,.25)}
.artopt input:focus-visible+span{outline:3px solid #1F5C5B;outline-offset:2px}
.sw.sunny{background:linear-gradient(135deg,#FBF5EA 50%,#9A6A00 50%)}.sw.heather{background:linear-gradient(135deg,#FAF4EE 50%,#7A4A7E 50%)}
.websec{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;margin:40px 0;padding:28px;border-radius:28px;background:#FFF6E3;border:2px solid #E9B949}
.websec img{border-radius:22px;max-width:380px;justify-self:center}.websec h2{margin:0 0 8px}.websec .host{display:inline-block;font-weight:800;color:#1F5C5B;background:#fff;border-radius:999px;padding:4px 14px;border:1px solid #E8DCC6;margin:0 0 16px}
@media (max-width:700px){.webcard,.sitecard{grid-template-columns:1fr}.webcard img{width:100%;height:auto;max-width:260px}.websec{grid-template-columns:1fr;padding:20px}}
/* purposes found in the visitor's own wording */
.heads > div > .choices{margin-bottom:10px}
.heads details.more{background:none;border:0;padding:0;margin:6px 0 0}
.heads details.more summary{font-weight:700;color:var(--teal);padding:4px 0}
.heads details.more .choices{margin-top:8px}
.dynw{font-weight:800}
.tool-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cic-cta{margin:14px 0 0}
.typebadge{display:inline-block;vertical-align:2px;margin-left:6px;font:800 .72rem/1 Nunito,sans-serif;letter-spacing:.06em;color:#fff;background:#1F5C5B;border-radius:999px;padding:4px 9px}
/* admin visits: stacked daily bars (people #2a78d6, bots #eb6834; validated pair), 2px gaps, rounded tops */
.vlegend{display:flex;gap:18px;font-size:.9rem;margin:0 0 8px}.vlegend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sw-h,.vh{background:#2a78d6}.sw-b,.vb{background:#eb6834}
.vchart{display:flex;align-items:flex-end;gap:2px;height:200px;border-bottom:1px solid #E8DCC6;padding-bottom:0;margin:0 0 26px}
.vcol{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative;outline-offset:2px}
.vstack{display:flex;flex-direction:column;gap:2px;min-height:0}.vstack span{display:block;min-height:2px}.vstack span:first-child{border-radius:4px 4px 0 0}
.vcol em{position:absolute;top:100%;left:0;font-style:normal;font-size:.72rem;color:#5E5A53;white-space:nowrap;margin-top:4px}
.vcol:hover .vstack,.vcol:focus .vstack{filter:brightness(.92)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px}.vgrid .card{margin:0}
/* cookie banner: top of the page, not fixed; Accept and Reject look the same */
.ccb{background:var(--paper);border-bottom:2px solid var(--line);padding:20px 0 18px}
.ccb[hidden]{display:none}
.ccb h2{font-size:1.3rem;margin:0 0 8px}
.ccb p{margin:0 0 6px;font-size:1rem;max-width:68ch}
.ccb-btns{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:14px}
.ccb-btn{font:700 1rem/1.2 "Nunito",system-ui,sans-serif;padding:11px 20px;border-radius:999px;border:2px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer}
.ccb-btn:hover{background:#174847}
.ccb-btns a{font-weight:700}
.ccb:focus{outline:none}
@media (max-width:520px){.ccb-btn{flex:1 1 100%}}
/* register checker: cases by income, exempt/excepted explorer */
.result.info{box-shadow:8px 8px 0 #BCD5D1}
.result.info h2{font-size:1.45rem;margin:0 0 6px}
.result.info h3{font-size:1.1rem;margin:16px 0 4px;color:var(--soft)}
.cases{margin:0;padding-left:1.2em}.cases li{margin:.35em 0}
.cases.must li{font-weight:700}
.result .next{margin:14px 0 0;font-size:.95rem}
.explore{margin:-30px 0 70px}
.explore h2{font-size:clamp(1.4rem,3vw,1.9rem)}
.terms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.terms div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.terms dt{font-family:"Fraunces",serif;font-weight:700;font-size:1.1rem}.terms dd{margin:4px 0 0}
.kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
details.kind{margin:0}
.kind summary{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center}
.kind summary b{grid-column:2}.kind summary .eg{grid-column:2;font-weight:400;font-size:.9rem;color:var(--soft)}
.kind summary .ktag{grid-row:1 / span 2;align-self:start;font-size:.75rem;font-weight:800;border-radius:999px;padding:3px 10px}
.ktag.excepted{background:var(--mustard-l);color:var(--amber-t)}.ktag.exempt{background:var(--teal-l);color:var(--teal)}
.kind summary::after{position:absolute;right:18px}
.kind{position:relative}
.kind dl{margin:12px 0 8px}.kind dt{font-weight:700;font-size:.9rem;color:var(--soft)}.kind dd{margin:0 0 8px}
.kind a{font-size:.9rem}
@media (max-width:640px){.terms{grid-template-columns:1fr}.kinds{grid-template-columns:1fr}}
/* register checker: one list of types, ordered by income */
.types .tlist{display:grid;gap:10px}
.tcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:6px}
.tcard .choice span{padding-top:10px}
.tcard.must{border-color:var(--sage);background:var(--sage-l)}
.ttag{display:block;font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}
.ttag.must{color:var(--green-t)}.ttag.small{color:var(--amber-t)}.ttag.excepted{color:#1D4A73}.ttag.exempt{color:#9B2F20}
details.tmore{background:none;border:0;padding:4px 14px 6px;margin:0}
details.tmore summary{font-size:.9rem;color:var(--teal);font-weight:700}
details.tmore dl{margin:8px 0}.tmore dt{font-weight:700;font-size:.85rem;color:var(--soft)}.tmore dd{margin:0 0 6px;font-size:.95rem}
.tmore a{font-size:.9rem}
.continue .why{margin:10px 0 0;color:var(--soft)}
.continue .btn[aria-disabled="true"]:not([data-terms]){pointer-events:none}
.siteoffer{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
/* type colours: excepted light blue, exempt red ("not for us"), must register green. Text contrast >= 4.5:1 */
.tcard.excepted{border-color:#A9C8E8;background:#EAF3FB}
.tcard.exempt{border-color:#E9A898;background:#FCEAE5}
.tcard.excepted .choice span,.tcard.exempt .choice span{background:#fff}
/* next steps */
.result .steps-list{margin:6px 0 0;padding-left:1.3em}.result .steps-list li{margin:.4em 0}
/* offer box */
.offer .oline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.offer .oline .choice{flex:1}.offer .oline b{white-space:nowrap}
.offer .oline.off{color:var(--soft)}
.offer .choice.dis{opacity:.6;cursor:not-allowed}
.offer .extras{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:12px;margin:8px 0}
.offer .extras .seg{margin-bottom:6px}
.offer .ototal{display:flex;flex-direction:column;gap:2px;margin:14px 0 12px;font-family:"Fraunces",serif}
.offer .ototal b{font-size:1.5rem}.offer .ototal > span{font-family:"Nunito",sans-serif;color:var(--ink);font-weight:700}
.offer .then{margin-left:6px}
.tipwrap{position:relative;display:inline-block}
.tip{width:22px;height:22px;border-radius:50%;border:2px solid var(--teal);background:#fff;color:var(--teal);font:800 .8rem/1 "Nunito",sans-serif;cursor:pointer;padding:0;vertical-align:1px}
.tiptext{display:none;position:absolute;right:-8px;bottom:30px;width:min(280px,78vw);background:var(--ink);color:#FBF5EA;font:400 .88rem/1.45 "Nunito",sans-serif;padding:10px 12px;border-radius:12px;z-index:20;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.tipwrap:hover .tiptext,.tip:focus+.tiptext,.tip[aria-expanded="true"]+.tiptext{display:block}
/* process card (first step) */
.process{background:var(--teal-l);border-radius:18px;padding:14px 18px;margin:0 0 20px}
.process p{margin:0 0 6px}.process ol{margin:4px 0 0;padding-left:1.3em}.process li{margin:.25em 0}
/* submission walkthrough */
.wsec{font-size:1.1rem;margin:22px 0 8px}
.walk{list-style:none;padding:0;margin:0;counter-reset:w}
.walk .wi{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line)}
.walk .wi b{display:block;font-size:.92rem}.walk .wv{margin:4px 0 0;white-space:pre-wrap;font-size:.95rem;color:var(--ink)}
.walk .wi.done .wv,.walk .wi.done b{color:var(--soft)}.walk .wi.done .copy{border-color:var(--green-t);color:var(--green-t)}
.walk .copy{flex:none}
.walk .wi > div{min-width:0;flex:1 1 auto}.walk .wv,.walk .wi b{overflow-wrap:anywhere}
.walkanim{max-width:420px;margin:0 0 10px}.wa{width:100%;height:auto;display:block}
.wa-cursor{animation:waMove 6s ease-in-out infinite}
.wa-copy{animation:waCopy 6s linear infinite}
.wa-menu{opacity:0;animation:waMenu 6s linear infinite}
.wa-text{transform-origin:197px 71px;transform:scaleX(0);animation:waText 6s ease-out infinite}
@keyframes waMove{0%{transform:translate(60px,110px)}15%{transform:translate(44px,88px)}22%{transform:translate(44px,88px)}45%{transform:translate(262px,68px)}55%{transform:translate(262px,68px)}62%{transform:translate(292px,88px)}70%{transform:translate(292px,88px)}85%{transform:translate(330px,110px)}100%{transform:translate(60px,110px)}}
@keyframes waCopy{0%,16%{fill:#fff}18%,22%{fill:#E3EEEC}24%,100%{fill:#fff}}
@keyframes waMenu{0%,54%{opacity:0}56%,68%{opacity:1}70%,100%{opacity:0}}
@keyframes waText{0%,68%{transform:scaleX(0)}74%,96%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.wa-cursor,.wa-copy,.wa-menu,.wa-text{animation:none}.wa-cursor{transform:translate(292px,88px)}.wa-menu{opacity:1}.wa-text{transform:scaleX(1)}}
/* review results (not the gauge) */
.results{margin-top:14px}
.roverall{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--paper);border:2px solid var(--line);margin-bottom:10px}
.roverall .rpill{font-size:1rem;padding:6px 14px}
.rlist{list-style:none;margin:0;padding:0}
.rrow{border:1px solid var(--line);border-left:6px solid var(--green);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#fff}
.rrow.amber{border-left-color:var(--amber)}.rrow.red{border-left-color:var(--red)}
.rhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rhead b{flex:1 1 140px}
.rpill{display:inline-block;font-weight:800;font-size:.82rem;border-radius:999px;padding:3px 10px}
.rpill.green{background:var(--green-l);color:var(--green-t)}.rpill.amber{background:var(--amber-l);color:var(--amber-t)}.rpill.red{background:var(--red-l);color:var(--red-t)}
.rprev{display:inline-flex;align-items:center;gap:6px;opacity:.75}.rarrow{font-weight:800;color:var(--soft)}
.ritems{margin:8px 0 0;padding-left:1.1em;font-size:.93rem}.ritems li{margin:.3em 0}.ritems .small{display:block;color:var(--soft)}
.ritems li.still{font-weight:600}
/* review step: one compact row per section */
.rsecs{margin:0 0 6px}
details.rsec{margin:0 0 8px;padding:10px 14px}
details.rsec summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
details.rsec summary::after{margin-left:auto}
.rsname{font-weight:700}
details.rsec .review-list{margin-top:8px}
/* account: optional website upgrade row (not a card that looks owned) */
.upgrade{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:8px 12px;border:1px dashed var(--line);border-radius:12px;font-size:.95rem}
.upgrade small{display:block;color:var(--soft)}
.process h3{font-size:1.1rem;margin:0 0 6px}
/* our dialog (no browser confirm/alert) */
.modal-back{position:fixed;inset:0;z-index:100;background:rgba(43,42,40,.45);display:grid;place-items:center;padding:16px}
.modal{background:var(--paper);border:2px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--mustard);max-width:440px;width:100%;padding:22px 22px 18px}
.modal h2{font-size:1.35rem;margin:0 0 8px}.modal p{margin:0 0 16px}
.modal-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
@media (max-width:420px){.modal-btns .btn{flex:1 1 100%}}
body.modal-open{overflow:hidden}
.dangerlink{color:var(--red-t)}
/* account: website section */
.sitebox{margin:12px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.sitehead{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sitehead > span:first-child{flex:1 1 220px;display:flex;flex-direction:column}
.sitehead .host{font-weight:800;color:var(--teal);word-break:break-all}
.siteups{list-style:none;margin:10px 0 6px;padding:0}.siteups li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px dashed var(--line);font-size:.95rem}
.siteups small{display:block;color:var(--soft)}.siteplan{margin:10px 0 6px}
.awh{font-size:1.15rem;margin:18px 0 8px}
#addweb .oline small{display:block;font-weight:400}
.aw-slug{font-style:normal;font-weight:700}
.offer .oline > span,.offer .oline .choice{min-width:0;flex:1}.offer .oline small{overflow-wrap:anywhere}
/* overall grade scale (house palette; text >= 4.5:1 on its background) */
.rpill.g1{background:var(--red-l);color:var(--red-t)}.rpill.g2{background:var(--amber-l);color:var(--amber-t)}
.rpill.g3{background:var(--sage-l);color:#335A2C}.rpill.g4{background:#CFE3C8;color:#2A4D24}.rpill.g5{background:var(--teal);color:#fff}

input[readonly]{background:#F3ECE0;color:#5c5650;cursor:not-allowed}

/* ==== website editor: live preview + plan change (editor agent, 3 Nov) ==== */
.edgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.edcol{min-width:0}
.pvpane{position:sticky;top:12px;display:flex;flex-direction:column;height:calc(100vh - 24px);max-height:900px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:6px 6px 0 var(--mustard);overflow:hidden}
.pvbar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:var(--cream)}
.pvtab{font:inherit;font-weight:700;border:0;background:transparent;padding:6px 16px;border-radius:999px;cursor:pointer;color:var(--ink)}
.pvtab[aria-selected="true"]{background:var(--teal);color:#fff}
.pvtab:focus-visible,.pvtoggle:focus-visible{box-shadow:var(--focus);outline:0}
.pvbox{position:relative;flex:1;overflow:hidden;background:#fff}
#pv-frame{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff}
.pvtoggle{display:none}
.domoffer{margin:0 0 12px}.domoffer small{display:block;color:var(--soft)}
.swapbox{margin:12px 0;padding:10px 12px;border:1px dashed var(--teal);border-radius:12px;background:var(--teal-l)}
.swapbox p{margin:0}.swapbox p + p{margin-top:4px}
.swapline{font-weight:600}
.siteups .swapline{display:block;font-weight:600;color:var(--ink);margin-top:2px}
@media (max-width:900px){
  .edgrid{grid-template-columns:minmax(0,1fr)}
  .pvtoggle{display:inline-flex}
  .pvpane{display:none;order:-1;top:0;height:52vh;z-index:6;box-shadow:0 4px 0 var(--mustard)}
  .pvpane.open{display:flex}
}

/* ==== guided form v2 (form agent, 3 Nov): required messages, help panel, places, groups, activities, ingredients ==== */
.opt{font-weight:400;font-size:.85rem;color:var(--soft)}
.fielderr{margin:4px 0 6px;color:var(--red-t);font-weight:800;font-size:.92rem}
.fielderr::before{content:"! ";}
.field-wrap.haserr{border-left:4px solid var(--red);padding-left:12px;margin-left:-16px}
.btn.inactive{opacity:.55;box-shadow:none;filter:saturate(.6)}
.stepper button[disabled]{opacity:.45;cursor:not-allowed}
.helpbtn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:6px;border-radius:50%;border:2px solid var(--teal);background:var(--paper);color:var(--teal);font-weight:800;font-size:.9rem;cursor:pointer;vertical-align:middle;line-height:1}
.helpbtn[aria-expanded=true]{background:var(--teal);color:#fff}
.helpcard{background:var(--paper);border:2px solid var(--teal);border-radius:var(--radius);padding:16px 18px;margin:0 0 18px;font-size:.95rem;user-select:none;-webkit-user-select:none}
.field-wrap .helpcard{margin:12px 0 4px}
.helpcard .helphead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.helpcard h2{font-size:1.15rem;margin:0 0 6px}.helpcard h3{font-size:1rem;margin:12px 0 4px}
.helpcard .ticks li{padding:6px 0 6px 30px}.helpcard .ticks li::before{top:9px;width:16px;height:16px}
.helppop{position:fixed;z-index:60;margin:0;overflow:auto;overscroll-behavior:contain;box-shadow:0 10px 30px rgba(43,42,40,.22);box-sizing:border-box}
.helppop:focus{outline:3px solid var(--mustard);outline-offset:2px}
.helppop .helphead .linkbtn{font-size:1.5rem;line-height:1;padding:2px 8px;min-width:40px;min-height:40px}
.helppop.sheet{left:0;right:0;bottom:0;top:auto;width:auto;max-height:80vh;border-radius:var(--radius) var(--radius) 0 0;border-width:2px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.helpback{position:fixed;inset:0;z-index:59;background:rgba(43,42,40,.35)}
details.whats{background:var(--teal-l);border:0;border-radius:12px;padding:8px 14px;margin:6px 0 16px;font-size:.95rem}
details.whats summary{color:var(--teal);font-size:.95rem;padding:2px 0}
details.whats summary::after{color:var(--teal)}
details.whats p{color:var(--ink);margin:.5em 0 0}
details.whats[open]{padding-bottom:12px}
.helppop details.whats{margin:8px 0;background:var(--teal-l)}.helppop details.whats .term{font-weight:800}
.helppop details.whats summary::after{content:"+"}.helppop details.whats[open] summary::after{content:"\2013"}
a.ext::after{content:"\2197" / "";display:inline-block;margin-left:.15em;font-size:.8em;line-height:1;text-decoration:none}
a.btn.ext::after{margin-left:.35em}
.crosses{list-style:none;padding:0;margin:0}.crosses li{padding:6px 0 6px 30px;position:relative}
.crosses li::before{content:"×";position:absolute;left:6px;top:3px;color:var(--red-t);font-weight:800;font-size:1.1rem}
.exfig{margin:8px 0 0;border-radius:12px;overflow:hidden;border:1px dashed #E9B949}
.exfig canvas{display:block;max-width:100%;pointer-events:none}
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.pchip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--teal-l);border:1.5px solid #BCD5D1;font-weight:700;font-size:.95rem}
.pchip small{font-weight:400;color:var(--soft)}
.pchip .x{border:0;background:none;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--teal);padding:0 6px;border-radius:50%}
.combo{position:relative}
.plist{position:absolute;z-index:5;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:2px solid var(--ink);border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.12);max-height:320px;overflow:auto}
.plist li{padding:8px 10px;border-radius:10px;cursor:pointer}.plist li small{color:var(--soft)}
.plist li[aria-selected=true],.plist li:hover{background:var(--teal-l)}.plist li.none{cursor:default;color:var(--soft)}
.sugg{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.chip.add{background:#fff;border-color:var(--teal);color:var(--teal);cursor:pointer;font-size:.9rem;padding:5px 12px}
.chip.add:hover{background:var(--teal-l)}
.actcard{border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 12px;background:#fff}
.actcard .actwhat{font-weight:800;flex:1;min-width:0}
.actcard .trustee-head{gap:12px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}
.actcard .choices{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:6px 0}
.ings{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.ings small{font-weight:400;opacity:.8}
.starter{margin:6px 0 0}
.copied{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:var(--amber-l);border:1.5px solid #EBCB86;color:var(--amber-t);font-weight:700;font-size:.93rem}
.chipline.bad{color:var(--red-t);font-weight:800}
.covlist{list-style:none;padding:0;margin:0 0 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 16px}
.covlist li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem}
.covlist .dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.8rem;font-weight:800;flex:none}
.covlist .green .dot{background:var(--green-l);color:var(--green-t)}.covlist .amber .dot{background:var(--amber-l);color:var(--amber-t)}.covlist .red .dot{background:var(--red-l);color:var(--red-t)}
.misslist{margin:6px 0 0;padding-left:18px}.misslist li{margin:2px 0}
@media (max-width:700px){.row3{grid-template-columns:1fr}.field-wrap.haserr{margin-left:-10px;padding-left:8px}}
.field-wrap > label.field{display:inline-block}
.field-wrap:has(> label.choice){display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.field-wrap:has(> label.choice) > label.choice{flex:1;min-width:0}
.field-wrap:has(> label.choice) > .fielderr,.field-wrap:has(> label.choice) > .helpcard{flex-basis:100%}
/* ==== website editor: email changeover steps (editor agent, 3 Nov) ==== */
.emsteps{margin:10px 0 12px;padding-left:22px}.emsteps li{margin:3px 0}
/* ==== website editor: own-domain registrant details (editor agent, 3 Nov) ==== */
.regbox{margin:14px 0;padding:12px 14px 4px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}.regbox legend{font-weight:700;padding:0 6px}
.regbox .seg{flex-wrap:wrap}.regstate{margin-top:6px}

/* What to fix, calm (3 Nov): fade only for new lines, hint toggle, show all */
.adv li.kept{animation:none}
.adv li{position:relative;padding-right:44px}
.adv .advmore{position:absolute;right:10px;top:10px;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--teal);font-weight:800;line-height:1;cursor:pointer}
.adv li.advall{border:0;background:none;padding:0 0 0 4px;animation:none}
.adv li.advall .linkbtn{font-weight:700;color:var(--teal)}
/* ==== website editor: read-only address, optional sections, photos (editor agent, 3 Nov) ==== */
.addrbox .addr{margin:2px 0 4px;font-size:1.1rem;color:var(--teal);word-break:break-all}.addrbox .owndom{margin:0}
fieldset.opt{margin:18px 0;padding:12px 14px 6px;border:1px dashed var(--line);border-radius:16px;min-width:0}fieldset.opt legend{font-weight:700;padding:0 6px}
.reprow{padding:10px 0;border-bottom:1px dashed var(--line)}.reprow:last-child{border-bottom:0}.reprow .field-wrap{margin:0 0 8px}.reprow textarea{min-height:80px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0 0 10px}
figure.photo{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}figure.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--cream)}
figure.photo figcaption .field{font-size:.85rem;margin:6px 0 2px}figure.photo input{width:100%}
