/* Nella v4 — headspace-meditation recipe in Nella's colours
   Palette themes: orchard (default, A+C blend) / golden / dusk / sage. Signature: la mezza albicocca col nocciolo — colours derived from the orchard art. */
:root,[data-theme="orchard"]{
  /* Orchard — blend: A's cream + honey sun, C's sage surfaces, deep olive-green ink */
  --bg:#F7EFD9; --haze1:#F1E2B8; --haze2:#E2E9D0; --card:#FBFCF5;
  --sun1:#F8DC8C; --sunmid:#EDC261; --sun2:#D99B3A; --glow:rgba(226,176,74,.30); --glow2:rgba(120,130,80,.16); --ring:#E6EDD6;
  --ink:#26391F; --ink2:#444F3B; --inkhover:#3A5230; --accent:#6E4409;
  --onink:#EEF3E6; --onink2:#C2D0B4; --onink3:#D3DDC8; --inkshadow:rgba(38,57,31,.24);
  --soft:#E6EDD6; --opt:#EEF2E2; --opthover:#DDE7C8; --input:#F3F6EA; --sep:#C9D1B6; --m3:#F3DFA6; --coral:#EDC261;
}
[data-theme="golden"]{
  /* A — Golden orchard */
  --bg:#F7EFD9; --haze1:#F1E2B8; --haze2:#EEE7CC; --card:#FFFBF0;
  --sun1:#F8DC8C; --sunmid:#EDC261; --sun2:#D99B3A; --glow:rgba(226,176,74,.32); --glow2:rgba(176,138,60,.18); --ring:#F6E7BE;
  --ink:#2F3B1E; --ink2:#5B6146; --inkhover:#45552B; --accent:#80530F;
  --onink:#F1F2E2; --onink2:#C9CFA9; --onink3:#D6DABD; --inkshadow:rgba(47,59,30,.22);
  --soft:#F5E6C0; --opt:#F8EED6; --opthover:#F0DDAA; --input:#FAF2DE; --sep:#D8C99B; --m3:#F3DFA6; --coral:#D99B3A;
}
[data-theme="dusk"]{
  /* B — Dusk orchard */
  --bg:#E9E4EF; --haze1:#EADCE6; --haze2:#DCE2EC; --card:#FBF9FC;
  --sun1:#FBD9A8; --sunmid:#F4B985; --sun2:#E49A6A; --glow:rgba(228,154,106,.28); --glow2:rgba(90,60,110,.14); --ring:#F3E3DA;
  --ink:#3A2440; --ink2:#66566B; --inkhover:#523259; --accent:#93482B;
  --onink:#F5EDF5; --onink2:#CDB9D0; --onink3:#DDD0DF; --inkshadow:rgba(58,36,64,.25);
  --soft:#F1E6EE; --opt:#F2EDF5; --opthover:#E6DAEE; --input:#F4F0F7; --sep:#CFC3D6; --m3:#F6DCCB; --coral:#E49A6A;
}
[data-theme="sage"]{
  /* C — Sage morning */
  --bg:#EDF0E2; --haze1:#E2E9D0; --haze2:#F3EBD9; --card:#FCFDF8;
  --sun1:#FFDCA6; --sunmid:#F5B87C; --sun2:#E89A60; --glow:rgba(232,154,96,.26); --glow2:rgba(90,110,70,.15); --ring:#F7E7D2;
  --ink:#1F3A2B; --ink2:#526456; --inkhover:#2E5240; --accent:#99502A;
  --onink:#EBF3EC; --onink2:#B9CDBD; --onink3:#CFDDD1; --inkshadow:rgba(31,58,43,.24);
  --soft:#F4EAD8; --opt:#F1F4E8; --opthover:#E2EBD0; --input:#F4F6EC; --sep:#C9D1B6; --m3:#F7DEC6; --coral:#E89A60;
}
:root{
  --f:'Nunito',ui-rounded,system-ui,sans-serif; --hand:'Caveat',cursive;
  --m:clamp(16px,4vw,64px); --r1:16px; --r2:24px; --r3:32px;
  --shadow:0 8px 24px var(--glow2);
  --apri:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 13C58 4 75 6 85 17C97 30 98 52 92 67C84 87 66 96 50 96C34 96 16 87 8 67C2 52 3 30 15 17C25 6 42 4 50 13Z'/%3E%3C/svg%3E");
  --ease:cubic-bezier(.4,.1,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:radial-gradient(1200px 700px at 10% 100%,var(--haze1) 0,transparent 60%),radial-gradient(900px 600px at 95% 55%,var(--haze2) 0,transparent 60%),var(--bg)}
body{color:var(--ink);font:400 17px/1.6 var(--f);-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden;position:relative}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
h1,h2,h3{font-weight:600;letter-spacing:-.015em;line-height:1.08;text-wrap:balance}
strong{font-weight:700}
.hand{font-family:var(--hand);font-weight:600;color:var(--accent);font-size:1.18em;letter-spacing:0;line-height:.9}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--ink);color:var(--onink);padding:8px 16px;z-index:9;border-radius:999px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:12px}

/* the old top-right sun is gone; the signature apricot lives with Nella */
.sky{position:absolute;inset:0 0 auto 0;height:900px;overflow:hidden;pointer-events:none;z-index:0}
.mast,main,.foot{position:relative;z-index:1}

.mast{display:flex;justify-content:space-between;align-items:center;padding:20px var(--m)}
.wordmark img{height:52px;width:auto;margin-left:-6px}
.mast nav{display:flex;gap:28px;align-items:center;font-weight:600;font-size:15px}
.mast nav a:not(.btn){text-decoration:none;display:none;color:var(--ink)}
.mast nav a:not(.btn):hover{color:var(--accent)}
@media(min-width:760px){.mast nav a:not(.btn){display:inline}}

.btn{display:inline-flex;align-items:center;font:700 16px/1 var(--f);background:var(--ink);color:var(--onink);border:0;border-radius:999px;padding:16px 26px;text-decoration:none;cursor:pointer;transition:transform .5s var(--ease),background .4s var(--ease)}
.btn:hover{background:var(--inkhover);transform:translateY(-2px)}
.btn:active{transform:none}
.btn-sm{padding:11px 18px;font-size:14px}
.text-link{font-weight:600;color:var(--ink)}
.text-link:hover{color:var(--accent)}

/* hero: ceremonial, centred, quiet */
.hero{text-align:center;padding:48px var(--m) 36px;max-width:1120px;margin:0 auto}
.today{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.hero h1{font-size:clamp(38px,4.6vw,66px);margin-top:16px;font-weight:600}
.meta{margin-top:20px;font-size:14px;color:var(--ink2);display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;align-items:center}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--sun2);margin-right:6px}
.sep{width:1px;height:14px;background:var(--sep);display:none}@media(min-width:700px){.sep{display:inline-block}}

/* cards */
.card{background:var(--card);border-radius:var(--r3);box-shadow:var(--shadow)}
.kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.today-row{display:grid;gap:20px;padding:24px var(--m);max-width:1200px;margin:0 auto}
.card-today{display:grid;gap:28px;padding:32px;align-items:center}
.sun-portrait{width:min(70vw,280px);aspect-ratio:1;justify-self:center;position:relative;margin:8px 8px 14px 0}
.sun-portrait::before{content:"";position:absolute;inset:0;transform:translate(16px,12px);background:radial-gradient(circle at 40% 40%,var(--sun1),var(--sunmid) 55%,var(--sun2));
  -webkit-mask:var(--apri) center/contain no-repeat;mask:var(--apri) center/contain no-repeat;animation:breathe 7s ease-in-out infinite;filter:drop-shadow(0 18px 30px var(--glow))}
.sun-portrait img{position:relative;width:100%;height:100%;object-fit:cover;-webkit-mask:var(--apri) center/contain no-repeat;mask:var(--apri) center/contain no-repeat}
@keyframes breathe{50%{transform:translate(16px,12px) scale(1.04)}}
/* the mark: honey half-apricot with its stone */
.apri,.dot,.pip,.moon,.not-card li::before,.seam::after{background:radial-gradient(ellipse 13% 17% at 55% 58%,var(--ink) 92%,transparent 100%),var(--sunmid);
  -webkit-mask:var(--apri) center/contain no-repeat;mask:var(--apri) center/contain no-repeat;border-radius:0!important}
.seam{display:flex;align-items:center;justify-content:center;gap:16px;margin:56px auto 0;max-width:280px}
.seam::before,.seam::after{content:""}.seam::before{flex:1;height:2px;background:var(--sep);order:0}
.seam::after{width:26px;height:26px;flex:none;order:1}.seam i{flex:1;height:2px;background:var(--sep);order:2}
.today-text h2{font-size:clamp(28px,2.5vw,36px);margin:8px 0 14px}
.today-text>p{color:var(--ink2);max-width:34em}
.actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:24px}
.whisper{margin-top:24px;background:var(--soft);border-radius:var(--r2);padding:14px 18px;display:flex;align-items:center;gap:6px;font-size:15px;color:var(--ink)}
.whisper .dot{width:28px;height:28px;flex:none;animation:stone 4s ease-in-out infinite}
@keyframes stone{50%{transform:scale(1.12)}}
.card-ink{background:var(--ink);color:var(--onink);padding:32px;position:relative;overflow:hidden;box-shadow:0 10px 30px var(--inkshadow)}
.card-ink .kicker{color:var(--onink2)}
.pact-quote{font-size:clamp(24px,2.3vw,30px);font-weight:600;line-height:1.2;margin-top:12px;letter-spacing:-.01em}
.pact-note{margin-top:16px;color:var(--onink3);font-size:15px;max-width:26em}
.moon{position:absolute;right:28px;bottom:28px;width:30px;height:30px;border-radius:50%;background:var(--sun1)}
@media(min-width:960px){
  .today-row{grid-template-columns:2fr 1fr}
  .card-today{grid-template-columns:320px 1fr;padding:44px 48px;gap:44px}
  .sun-portrait{width:300px}
  .card-ink{padding:40px}
}

/* three moments of the day */
.how{padding:0 var(--m) 24px;max-width:1200px;margin:0 auto}
.moments{list-style:none;display:grid;gap:16px}
.moments li{background:var(--c);border-radius:var(--r2);padding:22px 24px}
.pip{display:block;width:22px;height:22px;margin-bottom:12px}
.moments h3{font-size:19px;font-weight:700;letter-spacing:0}
.moments p{font-size:15px;color:var(--ink2);margin-top:4px}
.how-foot{text-align:center;margin-top:28px;color:var(--ink2)}
@media(min-width:900px){.moments{grid-template-columns:repeat(3,1fr);gap:20px}}

/* cast: each companion sits on its own hand-made blob */
.cast{padding:96px var(--m) 40px;max-width:1280px;margin:0 auto}
.cast-head{text-align:center;max-width:720px;margin:0 auto}
.cast h2,.quiz h2,.waitlist h2{font-size:clamp(32px,4vw,54px);margin-top:12px}
.cast-head>p:last-child{margin-top:16px;color:var(--ink2)}
.roster{list-style:none;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin:48px calc(var(--m)*-1) 0;padding:8px var(--m) 24px}
.mate{flex:0 0 72%;scroll-snap-align:center;background:var(--card);border-radius:var(--r3);padding:20px 20px 26px;box-shadow:var(--shadow)}
.mate-art{position:relative;height:210px;display:flex;align-items:flex-end;justify-content:center}
.mate-art svg{position:absolute;left:-4%;bottom:-6%;width:108%;height:96%}
.mate-art img{position:relative;width:auto;filter:drop-shadow(0 10px 12px var(--inkshadow));transition:transform .7s var(--ease)}

.mate h3{font-size:28px;margin-top:16px}
.trait{font-size:14px;color:var(--ink2);margin-top:4px}
.line{margin-top:12px;font-weight:600;font-size:17px;line-height:1.35}
@media(min-width:1000px){.roster{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;margin:56px 0 0;padding:0}.mate{padding:20px 18px 26px}.mate:nth-child(even){transform:translateY(28px)}}

/* quiz */
.quiz{padding:48px var(--m) 72px;max-width:1200px;margin:0 auto;display:grid;gap:40px}
.quiz-intro>p:last-child{margin-top:16px;color:var(--ink2);max-width:26em}
@media(min-width:960px){.quiz{grid-template-columns:5fr 7fr;column-gap:56px;align-items:start}.quiz-intro{padding-top:120px}}
.quiz-stage{position:relative;padding-top:120px}
.quiz-box{padding:32px;min-height:380px;position:relative;z-index:2}
.q-step{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.q-text{font-weight:600;font-size:clamp(22px,2.2vw,30px);line-height:1.2;margin:10px 0 22px;outline:none}
.q-opts{display:grid;gap:10px}
.q-opts button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r1);padding:15px 18px;font:500 16px/1.4 var(--f);background:var(--opt);transition:background .5s var(--ease)}
.q-opts button:hover,.q-opts button:focus-visible{background:var(--opthover)}
.q-opts button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.peekers{position:absolute;left:0;right:0;top:0;height:132px;z-index:1;pointer-events:none;overflow:hidden}
.peekers img{position:absolute;bottom:0;right:56px;height:150px;width:auto;transform:translateY(105%);transition:transform .8s var(--ease)}
.peekers img.up{transform:translateY(14%)}
.peekers img.cheer{animation:sway 2.4s ease-in-out 1}
@keyframes sway{30%{transform:translateY(8%) rotate(-3deg)}70%{transform:translateY(12%) rotate(3deg)}}
.result{position:relative;overflow:hidden;background:var(--c);margin:-32px;padding:32px;border-radius:var(--r3);min-height:380px;display:grid;align-content:start;gap:6px;animation:soft .8s var(--ease)}
@keyframes soft{from{opacity:0}}
.result h3{font-size:clamp(52px,6vw,80px);line-height:1}
.result .line{font-size:22px;margin-top:6px}
.result .why{margin-top:10px;max-width:30em;color:var(--ink)}
.result .cta{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.again{all:unset;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:.2em}

/* not therapy */
.not{padding:0 var(--m) 24px;max-width:1200px;margin:0 auto}
.not-card{padding:40px;display:grid;gap:24px}
.not-card h2{font-size:clamp(26px,2.6vw,34px)}
.not-card ul{list-style:none;display:grid;gap:12px}
.not-card li{color:var(--onink3);padding-left:22px;position:relative}
.not-card li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px}
.not-card strong{color:var(--onink)}
@media(min-width:960px){.not-card{grid-template-columns:1fr 1.6fr;padding:56px;column-gap:56px}}

/* waitlist */
.waitlist{padding:72px var(--m) 96px;max-width:1200px;margin:0 auto}
.wl-card{padding:36px;display:grid;gap:32px}
.wl-copy>p{margin-top:16px;color:var(--ink2);max-width:26em}
.wl-art{position:relative;width:200px;height:190px;margin-top:24px;display:flex;align-items:flex-end;justify-content:center}
.wl-art svg{position:absolute;inset:0;width:100%;height:100%}
.peek-mimmi{position:relative;width:130px;transition:transform .8s var(--ease)}
.peek-mimmi.happy{animation:sway 2.4s ease-in-out 1}
@media(min-width:960px){.wl-card{grid-template-columns:1fr 1fr;padding:56px;column-gap:56px}}
.wl-form{display:grid;gap:16px;align-content:start}
.field span{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.field input{width:100%;font:500 17px var(--f);background:var(--input);border:2px solid transparent;border-radius:999px;padding:14px 20px;color:var(--ink)}
.field input::placeholder{color:var(--ink2)}
.field input:focus{outline:none;border-color:var(--sun2);background:var(--card)}
.check{display:flex;gap:12px;font-size:14px;line-height:1.5;align-items:flex-start;color:var(--ink2)}
.check input{margin-top:3px;accent-color:var(--ink);width:20px;height:20px;flex:none}
.wl-form .btn{justify-self:start}
.promise{font-size:14px;color:var(--ink2)}
.form-msg{font-weight:600;min-height:1.4em}.form-msg.err{color:#B4432F}
.hp{position:absolute;left:-9999px}

.foot{padding:40px var(--m) 56px;max-width:1200px;margin:0 auto;display:grid;gap:16px;font-size:14px;color:var(--ink2)}
.foot-mark img{height:50px;width:auto;margin:0 0 6px -6px}
.foot nav{display:flex;gap:24px;font-weight:700;color:var(--ink)}
.fine{font-size:12px}
@media(min-width:960px){.foot{grid-template-columns:2fr 1fr}.foot nav{justify-content:flex-end}.fine{grid-column:1/-1}}

.legal{padding:48px var(--m) 96px;max-width:46rem;margin:0 auto}
.legal h1{font-size:clamp(40px,6vw,64px);margin-bottom:20px}
.todo{display:inline-block;background:var(--m3);border-radius:999px;font-weight:700;padding:6px 16px;margin-bottom:20px}
.legal p{margin-bottom:14px}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.result>*{position:relative}
.result::before{content:"";position:absolute;right:-60px;bottom:-70px;width:300px;height:300px;background:radial-gradient(ellipse 13% 17% at 55% 58%,rgba(38,57,31,.10) 92%,transparent 100%),rgba(255,255,255,.42);
  -webkit-mask:var(--apri) center/contain no-repeat;mask:var(--apri) center/contain no-repeat;animation:soft 1.2s var(--ease)}
@media(prefers-reduced-motion:reduce){.sun-portrait::before,.whisper .dot{animation:none}}
.card-ink .moon{background:radial-gradient(ellipse 13% 17% at 55% 58%,var(--onink) 92%,transparent 100%),var(--sunmid)}
.sep-m{margin-right:-6px}@media(min-width:700px){.sep-m{display:none}}

/* ---- final pass: 8-based vertical rhythm, tighter cards, tap targets, wrapping ---- */
:root{--sec:64px;--qp:24px}
@media(min-width:960px){:root{--sec:96px;--qp:32px}}
h1,h2,h3,.pact-quote,.q-text,.line{text-wrap:balance}
p,li{text-wrap:pretty}
.hero{padding:32px var(--m) 32px}
@media(min-width:960px){.hero{padding:48px var(--m) 40px}}
.today-row{padding:0 var(--m);gap:16px}
.card-today{padding:24px;gap:24px}
.card-ink{padding:24px}
.seam{margin:calc(var(--sec)/2) auto}
.how,.not{padding:0 var(--m)}
.cast{padding:0 var(--m)}
.roster{margin-top:32px;padding-bottom:16px}
.quiz{padding:0 var(--m);gap:24px}
.quiz-box{padding:var(--qp)}
.result{margin:calc(var(--qp)*-1);padding:var(--qp)}
.not-card{padding:32px 24px}
.waitlist{padding:0 var(--m) var(--sec)}
.wl-card{padding:24px;gap:24px}
.foot{padding:32px var(--m) 48px}
@media(min-width:960px){
  .card-today{padding:40px;gap:40px}
  .card-ink{padding:40px}
  .roster{margin-top:48px;padding-bottom:32px}
  .quiz{column-gap:56px}
  .quiz-intro{padding-top:120px}
  .not-card{padding:48px}
  .wl-card{padding:48px}
}
.btn-sm{min-height:44px}
.mast nav a,.foot nav a,.text-link{display:inline-flex;align-items:center;min-height:44px}
.foot nav{display:flex;gap:16px}
.check{min-height:44px}
.card-ink{display:flex;flex-direction:column;justify-content:center}
.quiz-stage{padding-top:80px}
@media(min-width:960px){.quiz-stage{padding-top:120px}}
@media(max-width:959px){.peekers{height:92px}.peekers img{height:104px}}
.form-msg.ok{color:var(--ink)}
/* legal pages */
.legal h2{font-size:clamp(22px,2.4vw,28px);margin:40px 0 12px;text-wrap:balance}
.legal ul{margin:0 0 16px 20px}.legal li{margin-bottom:6px}
.legal a{color:var(--ink)}
.legal .tbl{overflow-x:auto;margin:0 0 20px;border-radius:var(--r1);background:var(--card);box-shadow:var(--shadow)}
.legal table{border-collapse:collapse;font-size:14px;min-width:560px;width:100%}
.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--sep)}
.legal th{background:var(--soft);font-weight:700}
mark.laura{background:#FFE26A;color:#3A2A00;border-radius:6px;padding:1px 6px;font-weight:700;box-decoration-break:clone;-webkit-box-decoration-break:clone;outline:2px dashed #B07A00;outline-offset:1px}
.lang-switch{font-weight:700;font-size:15px;gap:4px!important}
.lang-switch a{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;color:var(--ink2)}
.lang-switch a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.legal .back{margin-top:40px}



/* ---- characters: a still; the keyed clip plays only on hover, focus or tap ---- */
.clip{position:relative;display:block;height:92%;aspect-ratio:var(--ar,1)}
.sun-portrait .clip{height:100%;margin:0 auto}
.clip img{display:block;height:100%!important;width:100%!important;max-height:none;object-fit:contain;-webkit-mask:none!important;mask:none!important;filter:drop-shadow(0 10px 12px rgba(60,50,20,.16))}
.clip video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .18s ease;pointer-events:none}
.clip.on video{opacity:1}.clip.on img{opacity:0;transition:opacity .18s ease .12s}
.clip.opaque.on video{border-radius:12px}
.mate:has(.clip.opaque.on) .mate-art svg{opacity:0;transition:opacity .2s}
.mate:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.clip video{display:none}.clip.on img{opacity:1}}
/* equal roster cards */
@media(min-width:1000px){.roster{grid-template-columns:repeat(5,minmax(0,1fr))}}
.mate{min-width:0}
/* orchard scene band */
.scene{max-width:1200px;margin:56px auto 8px;padding:0 var(--m)}
.scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r3);box-shadow:var(--shadow)}
@media(min-width:900px){.scene img{aspect-ratio:21/8;object-position:50% 60%}}
/* quiet small print at the bottom */
.not{max-width:760px;margin:0 auto;padding:8px var(--m) 40px}
.not-card{display:block;padding:20px 24px;background:transparent;border-top:1px solid rgba(0,0,0,.1);border-radius:0;box-shadow:none}
.not-card h2.not-h{font-size:15px;letter-spacing:.02em;margin:0 0 8px;color:var(--ink)}
.not-card ul{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.not-card li{padding-left:0;color:var(--ink2,var(--ink))}.not-card li::before{display:none}
.not-card strong{color:inherit;font-weight:600}
@media(min-width:960px){.not-card{padding:20px 24px}}
/* v14: flat character cards, no shading */
.mate{box-shadow:none!important;background:var(--card)!important;background-image:none!important}
.mate-art img,.clip img,.clip video{filter:none!important}
.clip.opaque.on video{border-radius:0}
/* v16: Nella on a cooler sage backdrop so her translucent wings read */
.sun-portrait::before{background:radial-gradient(circle at 40% 40%,#C9D8B2,#9DB386 58%,#7C9668)!important}
/* decor slots (future orchard accents): .decor{position:absolute;pointer-events:none} */
/* v17: orchard decor (decorative only) */
html,body{overflow-x:clip}
.decor{position:absolute;pointer-events:none;user-select:none;height:auto}
.hero>*:not(.decor){position:relative;z-index:1}
.wl-card{position:relative;overflow:visible}
.decor-flowers{right:-28px;bottom:-46px;width:220px}
@media(max-width:899px){.decor-flowers{width:130px;right:-12px;bottom:-34px}}
/* v18: branch enters from the right window edge; cut end off-screen */
.decor-edge{position:absolute;top:0;left:0;right:0;height:520px;overflow:clip;pointer-events:none;z-index:0}
.decor-branch{position:absolute;right:0;top:56px;width:clamp(220px,21vw,310px);height:auto;transform:translateX(9%) rotate(-7deg);transform-origin:100% 50%;animation:branch-sway 3.6s ease-in-out .3s 1 both}
@keyframes branch-sway{0%{transform:translateX(9%) rotate(-7deg)}35%{transform:translateX(9%) rotate(-8.6deg)}70%{transform:translateX(9%) rotate(-6.4deg)}100%{transform:translateX(9%) rotate(-7deg)}}
.mast,.hero,main{position:relative;z-index:1}
@media(max-width:899px){.decor-edge{display:none}}
@media(prefers-reduced-motion:reduce){.decor-branch{animation:none}}
/* v19: header alignment + language switch */
.mast nav a{line-height:1.2}
@media(min-width:760px){.mast nav a:not(.btn){display:inline-flex;align-items:center;min-height:44px}}
.mast nav .btn-sm{display:inline-flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0;line-height:1;vertical-align:middle}
.mast{gap:20px}
.mast nav:first-of-type{margin-left:auto}
.langs{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700;letter-spacing:.08em}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;padding:0 4px;color:var(--ink2);text-decoration:none;border-radius:999px}
.langs a:hover{color:var(--ink)}
.langs a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;text-decoration-color:var(--sunmid)}
@media(max-width:759px){.mast{gap:8px}.langs a{min-width:28px}}
.mast nav.langs{gap:0;margin-left:4px;padding-left:12px;border-left:1px solid rgba(40,60,30,.18);min-height:24px}
.mast nav.langs a{display:inline-flex!important;min-width:30px;color:var(--ink2);font-weight:700;font-size:12px}
.mast nav.langs a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;text-decoration-color:var(--sunmid)}
@media(max-width:759px){.mast nav.langs{padding-left:6px;margin-left:0}.mast nav.langs a{min-width:26px}}
