/* ─────────────────────────────────────────────────────────────────────────────
   Site public (V3 « Signature ») — feuille partagée FR (/) et EN (/en/)
   Pages : templates/site-page.php. CSS écrite à la main, sans build (scss/ = ancien site).
   Reprise fidèle de tpl-v3 (maquettes/index.html) + thème sombre.
   Couleurs : jetons de marque (--cream, --deep…) puis jetons d'usage (--bg, --h…),
   redéfinis sous html[data-theme="dark"].
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  /* Marque (palette V3) */
  --cream:#f7f3ec; --paper:#fffdf9; --deep:#0f3d48; --t:#1b5f70; --tl:#2fa5c2;
  --pink:#ca0a72; --pinkl:#f875bc; --ink:#14272c; --mut:#5f6e72; --line:#e6dfd3;

  /* Usage — thème clair */
  --bg:var(--cream);            /* fond de page */
  --card:var(--paper);          /* cartes, pastilles, formulaire */
  --alt:var(--paper);           /* section « Écouter » */
  --h:var(--deep);              /* titres */
  --accent:var(--t);            /* texte d'accent (sarcelle) */
  --on-accent:#fff;
  --act:var(--pink);            /* boutons d'action */
  --act-h:#a8085e;
  --act-ink:#fff;
  --kick:var(--pink);
  --lead:var(--t);
  --navbg:rgba(255,253,249,.85);
  --navline:rgba(20,39,44,.08);
  --shadow:rgba(15,61,72,.08);
  --shadow-2:rgba(15,61,72,.14);
  --sec:var(--deep);            /* sections profondes : bandeau, répertoire, réserver */
  --sec-ink:var(--cream);
  --foot:#0a2c34;
  --la:var(--pink);             /* logo : notes */
  --lb:var(--t);                /* logo : traits */
  --ic-pale:#d9e4e6;
  --glow:rgba(255,253,249,.9);  /* halo du grand logo du hero */
  --pill:var(--deep);
  --tag-bg:#e4f1f3; --tag-ink:var(--t);
  --tag-c-bg:#fbe3ef; --tag-c-ink:var(--pink);
  --tag-d-bg:#efe6f4; --tag-d-ink:#6b2f86;
  --field:var(--cream);
  --chip-on:var(--t); --chip-on-ink:#fff;
  --err:#b3261e; --ok:#1b6b3a;
  color-scheme:light;
}

/* Thème sombre : fonds sarcelle très profonds, texte crème, rose clair pour les actions */
html[data-theme="dark"] {
  --bg:#0b1d22;
  --card:#112a31;
  --alt:#0e2329;
  --h:#f7f3ec;
  --ink:#e9e4da;
  --mut:#a7b8bc;
  --line:#213a41;
  --accent:#5cc0d8;
  --on-accent:#0b1d22;
  --act:var(--pinkl);
  --act-h:#fa9fd0;
  --act-ink:#0b1d22;
  --kick:var(--pinkl);
  --lead:#7fd0e3;
  --navbg:rgba(14,35,41,.86);
  --navline:rgba(247,243,236,.1);
  --shadow:rgba(0,0,0,.28);
  --shadow-2:rgba(0,0,0,.4);
  --sec:var(--deep);
  --sec-ink:var(--cream);
  --foot:#071419;
  --la:var(--pinkl);
  --lb:var(--tl);
  --ic-pale:#2b4a52;
  --glow:rgba(11,29,34,.85);
  --pill:var(--t);
  --tag-bg:rgba(47,165,194,.16); --tag-ink:#8fd6e8;
  --tag-c-bg:rgba(248,117,188,.16); --tag-c-ink:#fa9fd0;
  --tag-d-bg:rgba(196,160,230,.16); --tag-d-ink:#d4b8f0;
  --field:#0b1d22;
  --chip-on:var(--tl); --chip-on-ink:#0b1d22;
  --err:#ff8a80; --ok:#8fe0a8;
  color-scheme:dark;
}

* { box-sizing:border-box; }
html { scroll-padding-top:96px; }
body { margin:0; font:17px/1.65 Figtree, sans-serif; color:var(--ink); background:var(--bg); overflow-x:hidden; transition:opacity .4s, background-color .3s, color .3s; }
h1,h2,h3,h4 { font-family:Quicksand, sans-serif; font-weight:700; line-height:1.05; margin:0 0 .45em; letter-spacing:-.02em; }
h2 { font-size:clamp(34px, 4.6vw, 58px); color:var(--h); }
img { display:block; max-width:100%; }
a { color:inherit; }
button { font:inherit; color:inherit; }
:focus-visible { outline:2px solid var(--act); outline-offset:3px; }
[tabindex="-1"]:focus { outline:none; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip { position:absolute; left:16px; top:-60px; z-index:60; padding:10px 18px; border-radius:999px; background:var(--act); color:var(--act-ink); text-decoration:none; font-weight:600; }
.skip:focus { top:16px; }
.wrap { max-width:1200px; margin:0 auto; padding:0 32px; }
.kick { font:600 12px/1.6 Figtree, sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--kick); margin:0 0 18px; display:flex; align-items:center; gap:10px; }
.kick::before { content:""; flex:none; width:28px; height:2px; background:currentColor; border-radius:2px; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; background:var(--act); color:var(--act-ink); text-decoration:none; font:600 15px Figtree, sans-serif; border:0; cursor:pointer; transition:transform .2s, background .2s, color .2s; }
.btn:hover { transform:translateY(-2px); background:var(--act-h); }
.btn.line { background:transparent; color:var(--accent); box-shadow:inset 0 0 0 1.5px currentColor; }
.btn.line:hover { background:var(--accent); color:var(--on-accent); }
.btn[disabled] { opacity:.6; cursor:progress; transform:none; }

/* nav flottante */
nav { position:fixed; top:16px; left:16px; right:16px; z-index:40; }
nav .bar { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:24px; padding:8px 8px 8px 20px; background:var(--navbg); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid var(--navline); border-radius:999px; box-shadow:0 8px 30px var(--shadow); }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font:700 18px Quicksand, sans-serif; color:var(--accent); white-space:nowrap; }
.brand .mk { width:20px; --logo-a:var(--la); --logo-b:var(--lb); }
.links { display:flex; gap:26px; margin-left:auto; }
.links a { text-decoration:none; font-weight:500; font-size:15px; }
.links a:hover { color:var(--act); }
nav .btn { padding:10px 20px; }
.tools { display:flex; align-items:center; gap:4px; }
.tool { display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 8px; border:0; border-radius:999px; background:transparent; color:var(--ink); font:600 13px Figtree, sans-serif; letter-spacing:.06em; text-decoration:none; cursor:pointer; }
.tool:hover { background:var(--navline); color:var(--act); }
.tool svg { width:18px; height:18px; }
.tool .moon { display:none; }
html[data-theme="dark"] .tool .sun { display:none; }
html[data-theme="dark"] .tool .moon { display:block; }
.burger { display:none; margin-left:auto; background:none; border:0; padding:8px; cursor:pointer; }
.burger span { display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; border-radius:2px; transition:transform .25s, opacity .25s; }
.nav-open .burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-open .burger span:nth-child(2) { opacity:0; }
.nav-open .burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* hero */
.hero { min-height:100vh; padding:150px 0 90px; display:flex; align-items:center; --shard:var(--tl); }
.hero .mp-shards { opacity:.45; }
html[data-theme="dark"] .hero .mp-shards { opacity:.32; }
.hero .grid { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; width:100%; }
.hero h1 { font-size:clamp(60px, 9.4vw, 136px); color:var(--h); margin:0 0 26px; }
.hero h1 span { color:var(--accent); display:block; }
.hero .lead { font-size:20px; color:var(--mut); max-width:40ch; margin:0 0 32px; }
.ctas { display:flex; gap:12px; flex-wrap:wrap; }
.next { display:inline-flex; align-items:center; gap:16px; margin-top:40px; text-decoration:none; padding:10px 22px 10px 10px; background:var(--card); border-radius:999px; box-shadow:0 6px 24px var(--shadow); max-width:100%; }
.next[hidden] { display:none; }
.next .d { width:56px; height:56px; flex:none; border-radius:50%; background:var(--pill); color:#fff; display:grid; place-content:center; text-align:center; font:700 20px/1 Quicksand, sans-serif; }
.next .d small { font:600 10px Figtree, sans-serif; text-transform:uppercase; letter-spacing:.06em; opacity:.85; }
.next small.k { display:block; color:var(--kick); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.next b { font-family:Quicksand, sans-serif; }
.next .tx { min-width:0; }
.art { position:relative; }
.arch { border-radius:999px 999px 28px 28px; overflow:hidden; aspect-ratio:3/4; background:var(--deep); box-shadow:0 30px 60px var(--shadow-2); }
.arch img { width:100%; height:118%; object-fit:cover; margin-top:-9%; }
.biglogo { position:absolute; left:-84px; bottom:-34px; width:clamp(130px, 15vw, 200px); --logo-a:var(--la); --logo-b:var(--lb); filter:drop-shadow(0 6px 14px var(--glow)); }

/* bandeau défilant */
.marquee { background:var(--sec); color:var(--sec-ink); overflow:hidden; padding:22px 0; }
.track { display:flex; gap:34px; align-items:center; width:max-content; animation:mq 38s linear infinite; font:600 clamp(20px, 2.4vw, 30px) Quicksand, sans-serif; white-space:nowrap; }
.track i { width:16px; display:block; --logo-a:var(--pinkl); --logo-b:var(--tl); }
@keyframes mq { to { transform:translateX(-50%); } }

/* deux instruments */
section.block { padding:120px 0; }
.univ .head { max-width:720px; margin-bottom:56px; }
.cards { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.uc { display:block; text-decoration:none; background:var(--card); border-radius:32px; overflow:hidden; box-shadow:0 20px 50px var(--shadow); transition:transform .3s, box-shadow .3s; }
.uc:hover { transform:translateY(-6px); box-shadow:0 30px 60px var(--shadow-2); }
.uc.harpe { margin-top:96px; }
.uc .ph { aspect-ratio:4/3.4; overflow:hidden; }
.uc .ph img { width:100%; height:122%; object-fit:cover; margin-top:-11%; }
.uc .body { padding:32px 36px 36px; position:relative; }
.uc .ic { position:absolute; right:32px; top:-40px; width:64px; padding:12px 14px; background:var(--card); border-radius:20px; box-shadow:0 10px 24px var(--shadow-2); }
.uc.voix .ic { --logo-a:var(--la); --logo-b:var(--ic-pale); }
.uc.harpe .ic { --logo-a:var(--ic-pale); --logo-b:var(--lb); }
.uc h3 { font-size:36px; color:var(--h); }
.uc p { color:var(--mut); margin:0 0 18px; }
.uc .meta { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:16px; font-size:14px; color:var(--mut); }
.uc .meta span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uc .meta b { color:var(--kick); font:700 15px Quicksand, sans-serif; white-space:nowrap; }

/* répertoire */
.rep { background:var(--sec); color:var(--sec-ink); --shard:var(--tl); }
.rep .mp-shards { opacity:.35; }
.rep h2 { color:var(--cream); }
.rep .kick { color:var(--pinkl); }
.rhead { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:48px; }
.tabs { display:inline-flex; background:rgba(255,255,255,.08); border-radius:999px; padding:5px; }
.tabs button { border:0; background:none; color:var(--cream); font:600 15px Figtree, sans-serif; padding:11px 22px; border-radius:999px; cursor:pointer; opacity:.78; }
.tabs button small { font-size:12px; opacity:.9; margin-left:6px; }
.tabs button:hover { opacity:1; }
.tabs button[aria-selected="true"] { background:var(--cream); color:var(--deep); opacity:1; }
.tabs button:focus-visible { outline-color:var(--pinkl); }
.cgrid { columns:3 280px; column-gap:20px; }
.cgrid[hidden] { display:none; }
.cc { break-inside:avoid; margin:0 0 20px; padding:22px 24px; border-radius:22px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); transition:background .2s; }
.cc:hover { background:rgba(255,255,255,.09); }
.cc h3 { font-size:21px; margin:0 0 12px; display:flex; justify-content:space-between; gap:12px; align-items:baseline; color:var(--cream); }
.cc h3 span { font:600 12px Figtree, sans-serif; color:#fa9fd0; white-space:nowrap; letter-spacing:0; }
.cc ul { list-style:none; margin:0; padding:0; }
.cc li { padding:9px 0; border-top:1px solid rgba(255,255,255,.08); font-size:15px; }
.cc li em { display:block; font-style:normal; font-size:13px; color:rgba(247,243,236,.72); }
.rep .empty { color:rgba(247,243,236,.8); }

.band { height:24vw; max-height:340px; background:url("../img/lineLogo.svg") center/cover; }

/* agenda */
#agenda { padding-top:72px; }
.ag { display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:start; }
.feat { position:relative; background:var(--t); color:#fff; border-radius:32px; padding:40px; overflow:hidden; min-height:420px; display:flex; flex-direction:column; }
.feat .fl { position:absolute; right:-40px; top:-30px; width:220px; opacity:.22; --logo-a:#fff; --logo-b:#fff; pointer-events:none; }
.feat > :not(.fl) { position:relative; }
.feat small { text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:600; color:#ffd3ea; }
.feat .day { font:700 120px/0.9 Quicksand, sans-serif; margin:22px 0 4px; }
.feat .my { font:600 22px Quicksand, sans-serif; opacity:.9; }
.feat h3 { font-size:30px; margin:auto 0 6px; padding-top:24px; }
.feat p { margin:0 0 20px; opacity:.92; }
.feat p.meta2 { margin:-12px 0 20px; font-size:15px; }
.feat .btn { align-self:flex-start; background:#fff; color:var(--t); }
.feat .btn:hover { background:#ffe9f4; }
.feat .btns { display:flex; flex-wrap:wrap; gap:10px; }
.feat .btn.ghost { background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8); }
.feat .btn.ghost:hover { background:rgba(255,255,255,.12); }
.feat.none .msg { font:600 26px/1.2 Quicksand, sans-serif; margin:auto 0 12px; padding-top:40px; }
.alist { list-style:none; margin:0; padding:0; }
.alist li { display:grid; grid-template-columns:76px 1fr auto; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); }
.alist .dd { font:700 26px/1 Quicksand, sans-serif; color:var(--h); }
.alist .dd small { display:block; font:600 12px Figtree, sans-serif; color:var(--mut); text-transform:uppercase; margin-top:4px; }
.alist b { font-family:Quicksand, sans-serif; font-size:18px; }
.alist b a { text-decoration:none; }
.alist b a:hover { color:var(--act); text-decoration:underline; }
.alist span.l { display:block; font-size:14px; color:var(--mut); }
.alist .note { display:block; color:var(--mut); padding:18px 0; border-bottom:1px solid var(--line); }
.tag { font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px; background:var(--tag-bg); color:var(--tag-ink); white-space:nowrap; }
.tag.chant { background:var(--tag-c-bg); color:var(--tag-c-ink); }
.tag.harpe-chant { background:var(--tag-d-bg); color:var(--tag-d-ink); }
details.past { margin-top:24px; }
details.past summary { cursor:pointer; font-weight:600; color:var(--accent); }
.alist.past li { padding:12px 0; }
.alist.past li > * { opacity:.78; }
.alist.past .dd { font-size:18px; }

/* écouter */
.listen { background:var(--alt); }
.vids { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; }
.vid { position:relative; display:block; width:100%; padding:0; border:0; border-radius:28px; overflow:hidden; text-decoration:none; color:#fff; background:#000; text-align:left; cursor:pointer; }
.vid img { width:100%; height:100%; object-fit:cover; aspect-ratio:16/9; opacity:.82; transition:transform .5s, opacity .3s; }
.vid:hover img, .vid:focus-visible img { transform:scale(1.04); opacity:.95; }
.vid::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent, rgba(0,0,0,.55)); pointer-events:none; }
.vid .ap-video__play { position:absolute; left:24px; bottom:22px; z-index:1; width:52px; height:52px; border-radius:50%; background:var(--pink); color:#fff; display:grid; place-items:center; font-size:16px; }
.vid .ap-video__title { position:absolute; left:90px; right:24px; bottom:22px; z-index:1; min-height:52px; display:flex; align-items:center; font:700 20px/1.2 Quicksand, sans-serif; }
.vid.sm .ap-video__title { font-size:17px; }
.vid.ap-video-frame { cursor:auto; }
.vid.ap-video-frame::after { display:none; }
.side { display:grid; gap:24px; align-content:start; }
.more { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:24px 28px; border-radius:24px; background:var(--bg); text-decoration:none; font:600 17px Quicksand, sans-serif; color:var(--h); }
.more:hover { color:var(--act); }

/* parcours */
.bgrid { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:center; }
.bph { margin:0; border-radius:28px 28px 999px 999px; overflow:hidden; aspect-ratio:4/5; }
.bph img { width:100%; height:118%; object-fit:cover; margin-top:-9%; }
.bio .lead { font:600 22px/1.45 Quicksand, sans-serif; color:var(--lead); }
.bio-more p { margin:0 0 1em; }
.bio-more[hidden] { display:none; }
.readmore { display:inline-flex; align-items:center; gap:8px; margin-top:4px; padding:0; border:0; background:none; color:var(--act); font:600 15px Figtree, sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.readmore::after { content:"↓"; text-decoration:none; transition:transform .2s; }
.readmore[aria-expanded="true"]::after { transform:rotate(180deg); }
.tline { list-style:none; margin:80px 0 0; padding:0; display:grid; grid-template-columns:repeat(var(--n, 6), 1fr); gap:20px; position:relative; }
.tline::before { content:""; position:absolute; left:0; right:0; top:22px; height:2px; background:var(--line); }
.tline li { position:relative; font-size:14px; color:var(--mut); }
.tline .m { width:44px; height:44px; display:grid; place-items:center; background:var(--bg); margin-bottom:12px; }
.tline .m span { display:block; width:18px; }
.tline li:nth-child(odd) .m { --logo-a:var(--la); --logo-b:var(--la); }
.tline li:nth-child(even) .m { --logo-a:var(--lb); --logo-b:var(--lb); }
.tline b { display:block; font:700 24px Quicksand, sans-serif; color:var(--h); }

/* réserver */
.book { background:var(--sec); color:var(--sec-ink); --shard:var(--tl); }
.book .mp-shards { opacity:.3; }
.bk { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start; }
.book h2 { color:var(--cream); }
.book .kick { color:var(--pinkl); }
.bl { width:150px; margin:0 0 36px -6px; --logo-a:var(--pinkl); --logo-b:var(--tl); }
.book .intro { color:rgba(247,243,236,.8); max-width:40ch; }
.direct { list-style:none; padding:0; margin:32px 0 0; display:grid; gap:14px; }
.direct small { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:rgba(247,243,236,.7); }
.direct a { text-decoration:none; font:600 18px Quicksand, sans-serif; overflow-wrap:anywhere; }
.direct a:hover { color:var(--pinkl); text-decoration:underline; }
.bform { position:relative; background:var(--card); color:var(--ink); border-radius:32px; padding:36px; display:grid; gap:20px; min-width:0; }
fieldset { border:0; margin:0; padding:0; min-width:0; }
legend, .bform label { font-size:13px; font-weight:600; color:var(--mut); margin-bottom:10px; padding:0; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips label { margin:0; position:relative; }
.chips input { position:absolute; opacity:0; width:1px; height:1px; }
.chips span { display:inline-block; padding:10px 18px; border-radius:999px; border:1.5px solid var(--line); font-weight:600; font-size:14px; color:var(--ink); cursor:pointer; transition:.2s; }
.chips span:hover { border-color:var(--accent); }
.chips input:checked + span { background:var(--chip-on); border-color:var(--chip-on); color:var(--chip-on-ink); }
.chips input:focus-visible + span { outline:2px solid var(--act); outline-offset:2px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bform label { display:flex; flex-direction:column; gap:8px; margin:0; }
.bform input:not([type=radio]), .bform textarea { font:400 16px Figtree, sans-serif; color:var(--ink); padding:13px 16px; border-radius:14px; border:1.5px solid var(--line); background:var(--field); width:100%; min-width:0; }
.bform input::placeholder, .bform textarea::placeholder { color:var(--mut); opacity:.85; }
.bform input:focus, .bform textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent); }
.bform textarea { min-height:100px; resize:vertical; }
.bform .btn { justify-self:start; }
.bform .req { color:var(--kick); }
.hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.status { margin:0; font-size:15px; font-weight:600; min-height:1em; }
.status:empty { display:none; }
.status[data-state="sending"] { color:var(--mut); }
.status[data-state="sent"] { color:var(--ok); }
.status[data-state="error"] { color:var(--err); }

footer { background:var(--foot); color:rgba(247,243,236,.78); padding:32px 0; font-size:14px; }
footer .wrap { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; }
footer .mk { width:16px; display:inline-block; vertical-align:-3px; margin-right:8px; --logo-a:var(--pinkl); --logo-b:var(--tl); }
footer .fl { display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; }
footer .fl a, footer .fl button { padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; text-decoration:none; }
footer .fl a:hover, footer .fl button:hover { color:var(--pinkl); text-decoration:underline; }
footer :focus-visible { outline-color:var(--pinkl); }
.mbar { display:none; }

/* modale crédits */
.dlg { width:min(640px, calc(100% - 32px)); max-height:calc(100vh - 48px); padding:0; border:0; border-radius:28px; background:var(--card); color:var(--ink); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.dlg::backdrop { background:rgba(7,20,25,.6); backdrop-filter:blur(3px); }
.dlg .in { padding:32px 32px 28px; }
.dlg h2 { font-size:30px; margin-bottom:18px; }
.dlg h3 { font-size:19px; color:var(--h); margin:24px 0 10px; }
.dlg ul { margin:0; padding-left:18px; }
.dlg li { margin:0 0 6px; }
.dlg p { margin:0 0 10px; color:var(--mut); }
.dlg a { color:var(--accent); }
.dlg p.sub { margin:14px 0 6px; }
.dlg .x { position:absolute; top:16px; right:16px; width:40px; height:40px; border:0; border-radius:50%; background:var(--bg); color:var(--ink); font-size:22px; line-height:1; cursor:pointer; }
.dlg .x:hover { color:var(--act); }

@media (max-width: 1100px) {
  .links { gap:18px; }
  nav .bar { gap:16px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top:80px; }
  .wrap { padding:0 20px; }
  nav { top:10px; left:10px; right:10px; }
  nav .bar { gap:4px; padding:6px 6px 6px 16px; }
  .links { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; flex-direction:column; gap:0; padding:12px 20px; background:var(--card); border-radius:24px; box-shadow:0 20px 40px var(--shadow-2); }
  .links a { padding:12px 0; font-size:18px; border-bottom:1px solid var(--line); }
  .links a:last-child { border-bottom:0; }
  .nav-open .links { display:flex; }
  nav .btn { display:none; }
  .tools { margin-left:auto; }
  .burger { display:block; margin-left:0; }
  .hero { padding:110px 0 64px; min-height:0; }
  .hero .grid, .cards, .ag, .vids, .bgrid, .bk, .two { grid-template-columns:1fr; gap:36px; }
  .art { max-width:300px; margin:0 auto; order:-1; }
  .biglogo { left:-40px; bottom:-20px; width:104px; }
  .hero h1 { font-size:58px; }
  .hero .lead { font-size:18px; }
  section.block { padding:80px 0; }
  .uc.harpe { margin-top:0; }
  .uc .body { padding:26px 24px 28px; }
  .uc h3 { font-size:30px; }
  .feat { min-height:340px; padding:30px; }
  .feat .day { font-size:96px; }
  .tline { grid-template-columns:1fr 1fr; margin-top:48px; }
  .tline::before { display:none; }
  .bph { max-width:340px; }
  .bform { padding:24px; }
  .mbar { display:flex; position:fixed; left:12px; right:12px; bottom:12px; z-index:40; justify-content:center; box-shadow:0 12px 30px rgba(202,10,114,.35); }
  html[data-theme="dark"] .mbar { box-shadow:0 12px 30px rgba(0,0,0,.45); }
  .nav-open .mbar { display:none; }
  footer { padding-bottom:90px; }
  .dlg .in { padding:28px 22px 22px; }
}

@media (max-width: 420px) {
  .hero h1 { font-size:52px; }
  .brand { font-size:16px; }
  .alist li { grid-template-columns:64px 1fr; }
  .alist li .tag { grid-column:2; justify-self:start; }
  .vid .ap-video__title { font-size:16px; left:84px; right:16px; bottom:18px; }
  .vid .ap-video__play { left:18px; bottom:18px; }
  .more { padding:20px 22px; }
  .feat .day { font-size:84px; }
}

@media (prefers-reduced-motion: reduce) {
  .track { animation:none; flex-wrap:wrap; width:auto; justify-content:center; white-space:normal; padding:0 20px; row-gap:10px; }
  .track [data-dup] { display:none; }
  .btn, .uc, .vid img, .burger span, body { transition:none; }
  .btn:hover, .uc:hover { transform:none; }
  .vid:hover img { transform:none; }
}
