/* s'nooz website — app palette (Sunshine), DM Sans + Cormorant Garamond for headline moments */
:root{
  --bg:#FFF5C0; --cream:#FFFDF0; --ink:#1F1A00; --muted:#6B5E2A; --gold:#FFD27A; --goldink:#7A5E00; --line:#F0DFA0; --white:#FFFFFF;
  --sans:'DM Sans',-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55}
a{color:var(--goldink)}
a:focus-visible,button:focus-visible{outline:3px solid var(--goldink);outline-offset:3px;border-radius:6px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:20px}
header.top{background:var(--gold)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:500;font-size:1.35rem;letter-spacing:-.02em}
.brand img{width:40px;height:40px;border-radius:10px}
.lang{display:flex;gap:4px;background:rgba(255,255,255,.55);border-radius:99px;padding:3px}
.lang button{font:600 .8rem var(--sans);letter-spacing:.06em;border:0;background:transparent;color:var(--ink);padding:6px 11px;border-radius:99px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--gold)}
.hero{background:linear-gradient(180deg,var(--gold) 0%,var(--bg) 100%);padding-block:48px 64px;text-align:center}
.hero .sun{width:120px;height:120px;margin:0 auto 18px;display:block}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.02;margin:0 0 16px;letter-spacing:-.01em;text-wrap:balance}
.hero p.lead{font-size:1.15rem;max-width:36rem;margin:0 auto 26px;color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--gold);border-radius:99px;padding:12px 22px;font-weight:700;font-size:.95rem}
.sub{font-size:.9rem;color:var(--muted);margin-top:12px}
section{padding-block:56px}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--goldink);margin:0 0 8px}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,4.6vw,2.6rem);line-height:1.08;margin:0 0 14px;text-wrap:balance}
.intro{max-width:40rem;color:var(--muted);margin:0 0 30px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card .ico{width:44px;height:44px;border-radius:12px;background:var(--gold);display:grid;place-items:center;font-size:1.3rem}
.card h3{margin:4px 0 0;font-size:1.08rem}
.card p{margin:0;color:var(--muted);font-size:.97rem}
.band{background:var(--cream);border-block:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:s;padding:0;margin:0;list-style:none}
.steps li{display:flex;flex-direction:column;gap:6px}
.steps li::before{counter-increment:s;content:counter(s);width:36px;height:36px;border-radius:99px;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-weight:700}
.steps b{font-size:1.05rem}
.steps span{color:var(--muted);font-size:.97rem}
.promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0;margin:0;list-style:none}
.promise li{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.promise b{display:block;margin-bottom:2px}
.promise span{color:var(--muted);font-size:.95rem}
details{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700}
details p{margin:10px 0 0;color:var(--muted)}
footer{background:var(--ink);color:var(--cream);padding-block:28px;font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between}
footer a{color:var(--gold)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
/* invite page */
.invite-main{min-height:70vh;padding-block:40px 64px}
.invite-card{max-width:520px;margin:0 auto;background:var(--cream);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.invite-card .head{background:var(--gold);padding:28px 24px;text-align:center}
.invite-card .head img{width:84px;height:84px}
.invite-card .head h1{font-family:var(--serif);font-weight:600;font-size:2.1rem;line-height:1.08;margin:10px 0 6px;text-wrap:balance}
.invite-card .head p{margin:0}
.invite-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:16px}
.invite-card ol{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:10px}
.btn{display:block;text-align:center;text-decoration:none;font-weight:700;border-radius:14px;padding:14px 18px;font-size:1rem}
.btn.primary{background:var(--ink);color:var(--gold)}
.btn.ghost{border:1.5px solid var(--goldink);color:var(--goldink);background:transparent}
.note{font-size:.88rem;color:var(--muted);margin:0}
.warn{background:#FBE3E3;border:1px solid #F2B8B8;color:#5A1212;border-radius:12px;padding:12px 14px;font-size:.95rem}
[hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){.hero .sun{animation:spin 60s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}

.tools{display:flex;align-items:center;gap:10px}
.helplink{font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.55);border-radius:99px;padding:7px 14px}
.helplink:hover{background:var(--white)}
.stores{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.store{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--ink);color:var(--white);text-decoration:none;border-radius:14px;padding:12px 10px;min-height:58px;text-align:center}
.store small{font-size:.72rem;opacity:.85;letter-spacing:.02em}
.store b{font-size:1.05rem}
.store[aria-disabled="true"]{background:#5c5430;cursor:default}
.contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.addr{font-weight:700;font-size:1.05rem;word-break:break-all;user-select:all}
.copy{font:700 .85rem var(--sans);border:1.5px solid var(--goldink);color:var(--goldink);background:transparent;border-radius:10px;padding:8px 12px;cursor:pointer;align-self:flex-start}
.tips{margin:0;padding-left:1.1em;color:var(--muted);font-size:.93rem;display:flex;flex-direction:column;gap:4px}
.row-btns{display:flex;gap:8px;flex-wrap:wrap}
a.copy{text-decoration:none;display:inline-block}
/* official store badges (unmodified artwork, equal height) */
.stores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.badge{display:inline-block;line-height:0;border-radius:9px}
.badge img{height:48px;width:auto;display:block}
.badge[aria-disabled="true"]{opacity:.45;cursor:default;filter:grayscale(.3)}
.hero .stores{margin-top:18px}
