/* lamdis.ai — one stylesheet for the homepage, the /appeal/ guides and the
   legal pages. Copied to public/assets/site.css by content/build.mjs.
   Calm, high-contrast, large type. Mobile first. */
:root{
  --bg:#FFFCF6; --surface:#FFFFFF; --tint:#FFF5E2; --wash:#F6F1E8;
  --ink:#1A1814; --ink2:#423D36; --ink3:#5C564D; --line:#E4DACB; --line2:#CBBFAC;
  --link:#1A47C9; --link-hover:#10307F; --sun:#FFB22E; --sun-deep:#A35F00;
  --ok:#14603A; --ok-bg:#E5F4EA; --flag:#9E2418; --flag-bg:#FCE9E6;
  --display:'Bricolage Grotesque','Avenir Next',system-ui,sans-serif;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --measure:42rem; --r:14px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;overflow-wrap:break-word;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media(min-width:768px){body{font-size:19px}}
img,svg{max-width:100%;height:auto}
p,ul,ol,dl,figure,blockquote,h1,h2,h3,h4{margin:0}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;overflow-wrap:break-word}
a:hover{color:var(--link-hover);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:8px;top:8px}
.wrap{max-width:72rem;margin:0 auto;padding:0 20px}
@media(max-width:400px){.wrap{padding:0 16px}}
.measure{max-width:var(--measure)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
h1,h2,h3{overflow-wrap:break-word;font-family:var(--display);color:var(--ink);font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(2.15rem,7.2vw,3.5rem);line-height:1.06}
h2{font-size:clamp(1.6rem,4.4vw,2.2rem);line-height:1.12;margin-top:2.6rem}
h3{font-size:1.22rem;line-height:1.25;letter-spacing:-.01em}
.lede{font-size:1.15em;color:var(--ink2);margin-top:1rem;max-width:var(--measure)}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.small{font-size:.9rem;color:var(--ink3)}
.prose{overflow-wrap:break-word}
.prose>*+*{margin-top:1rem}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li+li{margin-top:.45rem}
.prose strong{font-weight:700}
.prose h2+*{margin-top:1rem}

/* header */
.site-head{border-bottom:1px solid var(--line);background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;gap:1rem;min-height:66px}
.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.02em}
.brand:hover{color:var(--ink)}
.brand svg{flex:none}
.site-head nav{margin-left:auto;display:flex;align-items:center;gap:1.1rem}
.site-head nav .navlink{display:none;color:var(--ink);font-weight:600;text-decoration:none}
.site-head nav .navlink:hover{text-decoration:underline}
@media(min-width:720px){.site-head nav .navlink{display:inline}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.6rem 1.35rem;border-radius:12px;font-family:var(--sans);font-weight:700;font-size:1.02rem;line-height:1.2;text-decoration:none;text-align:center;border:2px solid var(--ink);background:var(--ink);color:#fff}
.btn:hover{background:#000;color:#fff;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--wash);color:var(--ink)}
.btn.sun{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.btn.sun:hover{background:#FFC24F;border-color:#FFC24F;color:var(--ink)}
.btn.small{min-height:42px;padding:.4rem 1rem;font-size:.95rem;border-radius:10px}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
@media(max-width:520px){.btn-row .btn{width:100%}}

/* page furniture */
main{display:block}
.page{padding:1.4rem 0 3rem}
.crumbs{font-size:.92rem;color:var(--ink3);margin-bottom:1.1rem}
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.crumbs li+li::before{content:"›";margin-right:.5rem;color:var(--ink3)}
.crumbs a{color:var(--ink2)}
.meta{margin-top:.9rem;font-size:.92rem;color:var(--ink3)}
.short{margin-top:1.5rem;max-width:var(--measure);background:var(--tint);border-left:6px solid var(--sun);border-radius:0 var(--r) var(--r) 0;padding:1rem 1.2rem}
.short .eyebrow{color:var(--sun-deep);margin-bottom:.3rem}
.note{max-width:var(--measure);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.note.warn{background:#FFF8E8;border-color:#EBCB8B}
.note > * + *{margin-top:.6rem}
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
@media(min-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 19rem;gap:3.5rem}}
.aside{align-self:start}
@media(min-width:1000px){.aside{position:sticky;top:1.5rem}}
.toc-desktop{display:none}
@media(min-width:1000px){.toc-desktop{display:block;margin-bottom:1rem}}
.toc{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:1rem 1.2rem}
.toc ol{padding-left:1.2rem;margin-top:.5rem}
.toc li+li{margin-top:.35rem}
.toc a{color:var(--ink)}

/* deadline cards */
.rules{display:grid;gap:.85rem;margin-top:1rem;max-width:var(--measure)}
.rule{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem}
.rule .lbl{font-weight:700}
.rule .num{font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1.1;margin-top:.15rem}
.rule .basis{color:var(--ink2);margin-top:.35rem}
.rule .cite{margin-top:.55rem;font-size:.92rem;overflow-wrap:anywhere}
.rule details{margin-top:.5rem;font-size:.92rem;color:var(--ink2)}
.rule summary{cursor:pointer;color:var(--ink3);font-weight:600}
.rule blockquote{margin-top:.4rem;border-left:3px solid var(--line2);padding-left:.8rem;font-style:italic}
.rule-group+.rule-group{margin-top:1.6rem}
.rule .tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}
.rule .tags span{font-size:.78rem;font-weight:700;background:var(--wash);border:1px solid var(--line);border-radius:6px;padding:.05rem .45rem;color:var(--ink2)}
.rights{max-width:var(--measure);margin-top:.8rem;padding-left:1.2rem}
.rights li+li{margin-top:.7rem}
.rights .cite{font-size:.92rem;white-space:normal;overflow-wrap:anywhere}
.rule-group h3{margin-top:1.4rem}
.checked{font-size:.9rem;color:var(--ink3);margin-top:.8rem;max-width:var(--measure)}

/* cards and grids */
.grid{display:grid;gap:1rem;margin-top:1.4rem}
@media(min-width:640px){.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.2rem}
.card h3{font-size:1.15rem}
.card p{margin-top:.4rem;color:var(--ink2)}
a.card{display:block;color:var(--ink);text-decoration:none}
a.card:hover{border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}
a.card:hover h3{text-decoration:underline}
.linklist{list-style:none;padding:0;margin-top:1rem;display:grid;gap:.5rem}
@media(min-width:640px){.linklist.cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.linklist.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.linklist a{font-weight:600}
.linklist .sub{display:block;font-size:.9rem;color:var(--ink3);font-weight:400}

/* steps */
.steps{list-style:none;padding:0;counter-reset:s;max-width:var(--measure)}
.steps>li{counter-increment:s;position:relative;padding-left:3.1rem;margin-top:1.6rem}
.steps>li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--display)}
.steps h3{margin-bottom:.35rem}
.steps p+p,.steps p+ul,.steps ul+p{margin-top:.6rem}
.steps ul{padding-left:1.2rem}

/* call to action */
.cta{margin-top:2.6rem;background:var(--ink);color:#fff;border-radius:18px;padding:1.5rem 1.4rem;max-width:var(--measure)}
.cta h2{color:#fff;margin:0;font-size:clamp(1.4rem,3.6vw,1.8rem)}
.cta p{color:#E9E3D8;margin-top:.6rem}
.cta .btn-row{margin-top:1.1rem}
.cta .fine{font-size:.9rem;color:#CFC7BA;margin-top:.8rem}
.cta a:not(.btn){color:#fff}
.btn.ghost.on-dark{color:#fff;border-color:#fff;background:transparent}
.btn.ghost.on-dark:hover{background:rgba(255,255,255,.12);color:#fff}

/* faq */
.faq{max-width:var(--measure);margin-top:1rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1rem 2.2rem 1rem 0;position:relative;font-weight:700;font-size:1.05em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.85rem;font-size:1.5rem;line-height:1;font-weight:400;color:var(--ink3)}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 0 1.1rem}
.faq .ans>*+*{margin-top:.7rem}

/* sources */
.sources{max-width:var(--measure);font-size:.95rem;margin-top:1rem;padding-left:1.4rem}
.sources li+li{margin-top:.8rem}
.sources .pub{color:var(--ink3)}
.sources q{display:block;color:var(--ink2);font-style:italic;margin-top:.2rem}
.sources a{overflow-wrap:anywhere}
.disclaimer{max-width:var(--measure);margin-top:2.2rem;font-size:.92rem;color:var(--ink3);border-top:1px solid var(--line);padding-top:1rem}

/* stats */
.stats{display:grid;gap:1rem;margin-top:1.4rem}
@media(min-width:860px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.stat .big{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,7vw,3.2rem);line-height:1;letter-spacing:-.03em}
.stat p{margin-top:.6rem;color:var(--ink2)}
.stat .src{margin-top:.7rem;font-size:.9rem}

/* footer */
.site-foot{margin-top:3rem;border-top:1px solid var(--line);background:var(--wash);padding:2rem 0 2.6rem;font-size:.95rem;color:var(--ink2)}
.site-foot a{color:var(--ink)}
.foot-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;padding:0}
.foot-legal{margin-top:1.2rem;color:var(--ink3);font-size:.9rem;max-width:48rem}
.family{margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.family h2{font:700 .8rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .9rem;color:var(--ink3)}
.family h2 a{color:var(--ink3);text-decoration:none}
.family ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.8rem 2rem}
.family li a{font-weight:700}
.family li span{display:block;font-size:.88rem;color:var(--ink3)}

/* legal documents */
.doc{max-width:var(--measure)}
.doc h2{font-size:1.4rem;margin-top:2.2rem}
.doc h3{font-size:1.1rem;margin-top:1.4rem}
.doc>*+*{margin-top:1rem}
.doc ul{padding-left:1.4rem}
.doc li+li{margin-top:.4rem}

/* homepage */
.hero{padding:2.2rem 0 1rem}
.hero h1{max-width:15ch}
@media(min-width:900px){.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:start}}
.trustline{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:1.1rem;padding:0;list-style:none;color:var(--ink2);font-weight:600;font-size:.98rem}
.trustline li{display:flex;align-items:center;gap:.45rem}
.trustline li::before{content:"";width:.55rem;height:.55rem;border-radius:2px;background:var(--sun);transform:rotate(45deg);flex:none}
.sample{background:var(--surface);border:1px solid var(--line2);border-radius:18px;box-shadow:0 18px 40px -24px rgba(60,40,10,.35);overflow:hidden;margin-top:2rem}
@media(min-width:900px){.sample{margin-top:.4rem}}
.sample-tag{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;background:var(--tint);border-bottom:1px solid var(--line);padding:.6rem 1rem;font-size:.85rem;color:var(--ink2)}
.sample-tag b{background:var(--ink);color:#fff;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.sample-body{padding:1rem 1.1rem 1.2rem}
.sample-row+.sample-row{margin-top:.95rem;padding-top:.95rem;border-top:1px dashed var(--line)}
.sample .k{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.sample .v{font-weight:700;margin-top:.15rem;line-height:1.35}
.sample .why{font-size:.92rem;color:var(--ink2);margin-top:.25rem}
.pill{display:inline-block;border-radius:99px;padding:.1rem .6rem;font-size:.82rem;font-weight:700;vertical-align:.1em}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.flag{background:var(--flag-bg);color:var(--flag)}
.pill.mid{background:#FFF0CC;color:#6B4500}
.sent{border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;margin-top:.5rem;font-size:.95rem}
.sent .from{display:block;font-size:.84rem;color:var(--ink3);margin-top:.25rem}
.sent.flagged{border-color:#E9B3AB;background:#FFF8F6}
.how .steps{max-width:none}
@media(min-width:900px){.how .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}}
.band{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.6rem 0 3rem;margin-top:3rem}
.band h2{margin-top:0}
.section{margin-top:3.4rem}
.section>h2:first-child{margin-top:0}
.iphone{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.iphone p{max-width:34rem}
