/* Generated by scripts/sync-demo.mjs from LWP-Platform-Demo.html. Do not edit. */
/* ============================================================
   TOKEN SPINE — shared with Win the Week

   Layer 1 (substrate) is deliberately identical across both products:
   warm paper, one ink ramp, one shadow family, one motion family, and
   one status vocabulary. Layer 2 (brand) is the only thing that differs
   — LWP wears terracotta / ochre / forest, Win the Week wears coral /
   teal. Anything written against the role names below works unchanged
   in either brand, which is what makes the two feel like one family.

   Sister source of truth, values lifted rather than approximated:
   Win the Week/platform/src/app/globals.css
   ============================================================ */
:root{
  /* ---------- Layer 1 · substrate ---------- */
  --paper:#FAF7F0; --paper-2:#F2EBDB; --paper-3:#E9DEC7;
  --card:#fff; --line:#E6DCC6;
  --ink:#19222E; --ink-2:#5E574B; --ink-3:#6E6659;
  --topbar:rgba(255,255,255,.95); --topbar-line:#E8E4DC;
  --on-brand:#FAF7F0; /* text on a saturated brand fill */
  --on-light:#19222E; /* text on a light brand fill (ochre, coral tint) */

  /* Status vocabulary — same names AND same values as Win the Week, so a
     green chip means exactly one thing in both products.
     ok = confirmed · wait = in between · no = needs attention */
  --ok-tint:#e7f4ee; --ok-ink:#2f7d5b; --ok-bar:#3d9970; --ok-border:#bfe3d0;
  --wait-tint:#fdf1e3; --wait-ink:#b9711d; --wait-bar:#e8952a; --wait-border:#f0d9b8;
  --no-tint:#fbe9e9; --no-ink:#c0453f; --no-bar:#e05a5a; --no-border:#f0c5c2;

  /* Type */
  --display:"Archivo", system-ui, sans-serif;
  --sans:"Archivo", system-ui, sans-serif;
  --serif:"Fraunces", Georgia, serif;
  --anton:"Anton", system-ui, sans-serif;
  --wtw-face:"Inter", system-ui, sans-serif; /* Win the Week's own face */

  /* Shape and depth */
  --maxw:1180px;
  --r-sm:7px; --r-md:10px; --r-lg:14px; --r-xl:18px; --r-pill:100px;
  --shadow:0 1px 2px rgba(25,34,46,.04),0 8px 28px rgba(25,34,46,.07);
  --shadow-lg:0 14px 50px rgba(25,34,46,.16);

  /* Motion — one easing family across both products */
  --ease:cubic-bezier(.2,.7,.3,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-fast:.14s; --t-base:.24s; --t-slow:.42s;

  /* ---------- Layer 2 · brand: Local Worship Project ---------- */
  --brand:#C75640; --brand-d:#A8432C; --brand-soft:#F6E3DA; --brand-line:#EBCDC2;
  --brand-fill:#BC4A34; /* solid surfaces carrying cream text — 4.7:1 */
  --glass:rgba(255,255,255,.96); /* translucent panels floating over the map */
  --accent:#E0A94E; --accent-d:#B07A2E; --accent-soft:#F8ECD2; --accent-line:#EFDCB4;
  --deep:#2C3A2C;

  /* Pigments, for the places that mean the colour itself rather than a role */
  --cream:#FAF7F0; --sand:#DED4B8;
  --terracotta:#C75640; --terra-d:#A8432C;
  --ochre:#E0A94E; --ochre-d:#B07A2E;
  --forest:#2C3A2C; --black:#1B1916;
  --map-blue:#2F6690; --map-blue-d:#234E70;
  --ok:#2C3A2C;

  /* ---------- Layer 2 · sister brand: Win the Week ----------
     coral = the work of THIS Sunday · teal = the long game.
     Both are Win the Week's own values, so an embedded WtW surface is
     the real brand rather than a look-alike. */
  --wtw:#ff6b5e; --wtw-d:#e85a4d; --wtw-soft:#fff0ef; --wtw-line:#ffd4cf;
  --pray:#1b6b73; --pray-soft:#e3f3f4; --pray-line:#c9e7ea;

  /* INK roles carry text only. They brighten in dark mode while the fills
     above stay saturated — Win the Week's rule, adopted verbatim. */
  --brand-ink:#9C3D28; --accent-ink:#7E5314;
  --wtw-ink:#C43F30; --pray-ink:#1b6b73;
  --deep-ink:#2C3A2C; --deep-tint:rgba(44,58,44,.12);
  --map-ink:#1B4159; --map-tint:rgba(47,102,144,.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* One focus ring for the whole app. It was missing entirely, which left
   keyboard users with nothing to follow. Brand-coloured so it belongs, and
   offset so it never sits on top of the control it is marking. */
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
  border-radius:var(--r-sm);
}
/* The search input paints its own ring, so it opts out of the shared one. */
.search input:focus-visible{outline:none;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-.012em;color:var(--ink);}
a{color:inherit;text-decoration:none;}
button{font-family:var(--sans);cursor:pointer;}
img{max-width:100%;display:block;}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:12px;color:var(--brand-ink);}
.muted{color:var(--ink-2);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* ---------- TOP BAR ---------- */
.topbar{position:sticky;top:0;z-index:50;background:var(--topbar);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--topbar-line);box-shadow:0 1px 0 rgba(0,0,0,.04);}
.topbar .row{display:flex;align-items:center;gap:22px;height:64px;}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer;}
.brand .logomark{width:30px;height:34px;flex:none;filter:drop-shadow(0 0 0 1px rgba(180,168,140,.45));}
.brand .wordmark b{font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:.01em;text-transform:uppercase;line-height:1;white-space:nowrap;display:block;color:var(--ink);}
.brand .wordmark span{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--brand-ink);font-weight:700;display:block;margin-top:2px;white-space:nowrap;}
.navlinks{display:flex;gap:2px;margin-left:4px;}
.navlinks a{font-size:13.5px;font-weight:600;color:var(--ink-2);padding:8px 10px;border-radius:8px;transition:.15s;white-space:nowrap;}
.navlinks a:hover{background:var(--paper-2);color:var(--ink);}
.navlinks a.active{color:var(--brand-ink);background:var(--brand-soft);}
.search{margin-left:auto;position:relative;flex:0 1 250px;}
.search input{width:100%;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 14px 9px 38px;font-family:var(--sans);font-size:14px;color:var(--ink);}
.search input:focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-soft);}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);}
.acct{display:flex;align-items:center;gap:9px;padding:5px 8px 5px 5px;border:1px solid var(--line);border-radius:100px;background:var(--card);cursor:pointer;position:relative;}
.acct .av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;}
.acct .nm{font-size:13px;font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acct .rl{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.menu{position:absolute;right:0;top:52px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);width:288px;padding:8px;display:none;z-index:60;}
.menu.open{display:block;}
.menu .hd{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-weight:700;padding:8px 10px 6px;}
.menu .item{display:flex;gap:11px;align-items:center;padding:9px 10px;border-radius:10px;cursor:pointer;}
.menu .item:hover{background:var(--paper-2);}
.menu .item .av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex:none;}
.menu .item small{display:block;color:var(--ink-3);font-size:12px;}
.menu .item.cur{background:var(--brand-soft);}

/* ---------- BUTTONS / BADGES ---------- */
.btn{font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:11px 20px;border-radius:8px;border:2px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:.14s;background:none;}
/* The primary control of the whole product. The brand terracotta at #C75640
   gives cream text 4.06:1 — one shade deeper clears 4.5 and is not a colour
   shift anyone will notice next to the pigment. */
.btn.solid{background:var(--brand-fill);color:var(--cream);}
.btn.solid:hover{background:var(--terra-d);}
.btn.clay{background:var(--ochre);color:var(--on-light);}
.btn.clay:hover{background:var(--ochre-d);color:var(--cream);}
.btn.ghost{border:2px solid var(--line);color:var(--ink);background:var(--card);}
.btn.ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink);}
/* Win the Week's coral is a LIGHT fill, so it takes dark ink — the same rule
   this system already applies to ochre. White on coral is 2.8:1 and fails. */
.btn.wtw-solid{background:var(--wtw);color:var(--on-light);}
.btn.wtw-solid:hover{background:var(--wtw-d);}
.btn.sm{padding:7px 13px;font-size:11.5px;border-radius:7px;}
.btn.full{width:100%;justify-content:center;}
.btn:disabled{opacity:.55;cursor:default;}
.badge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:100px;display:inline-flex;align-items:center;gap:5px;letter-spacing:.01em;}
.b-free{background:var(--brand-soft);color:var(--brand-ink);}
.b-key{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);}
.b-theme{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-line);}
/* Ochre is a light fill, so it takes dark ink. White on ochre is 2.1:1. */
.b-new{background:var(--accent);color:var(--on-light);}
.chip{font-size:13px;font-weight:600;padding:7px 14px;border-radius:100px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;transition:.14s;}
.chip:hover{border-color:var(--brand-ink);color:var(--brand-ink);}
.chip.on{background:var(--brand-fill);color:var(--cream);border-color:var(--brand-ink);}

/* ---------- LAYOUT BITS ---------- */
.page{padding:34px 0 90px;}
.crumbs{font-size:13px;color:var(--ink-3);font-weight:500;margin-bottom:18px;}
.crumbs a:hover{color:var(--brand-ink);}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);}
.open-list{border-top:1px solid var(--line);}
.open-list .setrow:last-child,.open-list .note:last-child{border-bottom:none;}
.grid{display:grid;gap:20px;}
.sec-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;}
.sec-title h2{font-size:24px;}
.divider{height:1px;background:var(--line);margin:30px 0;}

/* ---------- SONG CARD ---------- */
.songgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.songcard{background:none;border:none;border-radius:0;overflow:visible;cursor:pointer;transition:.16s;box-shadow:none;}
.songcard:hover{transform:none;box-shadow:none;}
.songcard .art{height:190px;border-radius:10px;display:flex;align-items:flex-end;padding:13px;position:relative;overflow:hidden;transition:.22s;}
.songcard:hover .art{transform:translateY(-4px);box-shadow:0 18px 42px rgba(25,34,46,.22);}
.songcard .art .play{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--brand-ink);box-shadow:0 2px 8px rgba(0,0,0,.15);border:0;padding:0;cursor:pointer;transition:transform .14s;}
.songcard .art .play:hover{transform:scale(1.08);}
.songcard .art .play svg{margin-left:1px;}
.songcard .art .kk{font-family:var(--display);font-weight:600;font-size:12.5px;color:#fff;background:rgba(0,0,0,.3);padding:4px 10px;border-radius:6px;backdrop-filter:blur(4px);}
.songcard .bd{padding:12px 0 8px;}
.songcard h4{font-size:16px;margin-bottom:2px;}
.songcard .by{font-size:13px;color:var(--ink-2);font-weight:500;}
.songcard .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}

/* ---------- DETAIL ---------- */
.song-hero{display:grid;grid-template-columns:250px 1fr;gap:40px;align-items:start;padding:24px 0 32px;color:var(--ink);}
.song-hero .muted{color:var(--ink-2)!important;}
.song-hero .cover{height:250px;border-radius:14px;display:flex;align-items:flex-end;padding:16px;box-shadow:0 20px 54px rgba(25,34,46,.24);}
.song-hero .cover .kk{font-family:var(--display);color:#fff;font-size:14px;font-weight:700;background:rgba(0,0,0,.3);padding:5px 12px;border-radius:8px;}
.song-hero h1{font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.94;color:var(--ink);font-size:clamp(34px,4.6vw,54px);margin:10px 0 6px;}
.song-hero .eyebrow{color:var(--brand-ink);}
.song-hero a{color:var(--brand-ink);}
.song-hero .meta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0;}
.song-hero .btn.ghost{border-color:var(--line);color:var(--ink);background:var(--card);}
.song-hero .btn.ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink);background:var(--brand-soft);}
.statline{display:flex;gap:28px;margin:18px 0;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line);}
.statline .s b{font-family:var(--display);font-weight:800;font-size:22px;display:block;line-height:1;color:var(--ink);}
.statline .s span{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.keypick{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 4px;}
.keypick .k{min-width:46px;text-align:center;padding:8px 6px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-family:var(--display);font-weight:600;font-size:15px;cursor:pointer;transition:.13s;}
.keypick .k:hover{border-color:var(--brand-ink);}
.keypick .k.on{background:var(--brand-fill);color:var(--cream);border-color:var(--brand-ink);}
.assetlist{margin-top:8px;}
.asset{display:flex;align-items:center;gap:15px;padding:15px 18px;border-bottom:1px solid var(--line);}
.asset:last-child{border-bottom:none;}
.asset .ic{width:42px;height:42px;border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;flex:none;}
.asset .ic.clay{background:var(--accent-soft);color:var(--accent-ink);}
.asset .info b{font-size:15px;font-weight:600;display:block;}
.asset .info span{font-size:13px;color:var(--ink-2);}
.asset .act{margin-left:auto;display:flex;align-items:center;gap:10px;}
.asset .sz{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}

/* ---------- ARTIST ---------- */
.artist-item{padding:24px;border-radius:12px;cursor:pointer;transition:.16s;}
.artist-item:hover{background:var(--paper-2);}
.artist-hero{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;}
.artist-hero .av{width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:600;font-size:46px;box-shadow:var(--shadow-lg);flex:none;}
.artist-hero h1{font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.96;font-size:clamp(34px,4.4vw,52px);}
.artist-hero .loc{font-size:14px;color:var(--ink-2);font-weight:500;margin-top:4px;display:flex;align-items:center;gap:6px;}
.story{font-size:17px;line-height:1.72;color:var(--ink);max-width:62ch;}
.story p{margin:0 0 16px;}
.story .pull{font-family:var(--serif);font-style:italic;font-size:23px;color:var(--deep-ink);border-top:2px solid var(--terracotta);padding-top:16px;margin:22px 0;line-height:1.45;}
.support{padding:24px;}
.fundbar{height:11px;background:var(--paper-2);border-radius:100px;overflow:hidden;margin:14px 0 8px;}
.fundbar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:100px;}
.tier{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:.14s;}
.tier:hover{border-color:var(--accent-ink);box-shadow:var(--shadow);}
.tier b{font-size:15px;}
.tier .amt{font-family:var(--display);color:var(--accent-ink);font-weight:600;}

/* ---------- THANK YOU WALL ---------- */
.note{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid var(--line);}
.note .av{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;}
.note .bod{flex:1;}
.note .hd{display:flex;align-items:baseline;gap:8px;}
.note .hd b{font-size:14.5px;}
.note .hd .t{font-size:12px;color:var(--ink-3);margin-left:auto;}
.note p{margin:5px 0 0;font-size:15px;line-height:1.55;}
.note .reply{margin-top:11px;margin-left:14px;padding-left:15px;border-left:2px solid var(--brand-soft);}
.note .reply .who{font-size:13px;font-weight:700;color:var(--brand-ink);}
.compose{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--paper-2);border-radius:14px;}
.compose textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-family:var(--sans);font-size:15px;resize:vertical;min-height:74px;color:var(--ink);background:var(--card);}
.compose textarea:focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-soft);}
/* community network + messaging */
.seg{display:inline-flex;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;padding:4px;gap:4px;margin-bottom:28px;}
.seg button{border:none;background:none;padding:8px 16px;border-radius:100px;font-size:14px;font-weight:700;color:var(--ink-2);display:flex;align-items:center;gap:7px;cursor:pointer;}
.seg button.on{background:var(--forest);color:var(--cream);}
.seg button b{font-size:12px;background:rgba(0,0,0,.12);padding:1px 8px;border-radius:100px;font-weight:800;}
.seg button.on b{background:rgba(255,255,255,.22);color:#fff;}
.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;}
.conn-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--card);display:flex;flex-direction:column;}
.conn-top{display:flex;align-items:center;gap:12px;}
.conn-id b{font-size:15.5px;display:block;line-height:1.2;}
.conn-id span{font-size:12.5px;color:var(--ink-3);}
.conn-role{align-self:flex-start;margin-top:12px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:100px;}
.conn-role.artist{background:var(--deep-tint);color:var(--deep-ink);}
.conn-role.church{background:var(--map-tint);color:var(--map-ink);}
.conn-sub{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:10px 0 14px;flex:1;}
.conn-act{display:flex;gap:8px;flex-wrap:wrap;}
.thread-row{display:flex;gap:13px;align-items:center;padding:14px 8px;border-bottom:1px solid var(--line);border-radius:10px;cursor:pointer;}
.thread-row:hover{background:var(--paper-2);}
.thread-row .av{flex:none;}
.thread-row .tr-bod{flex:1;min-width:0;}
.thread-row .tr-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.thread-row .tr-hd b{font-size:15px;}
.thread-row p{margin:3px 0 0;font-size:14px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msg-thread{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:8px 2px;margin-top:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bubble{max-width:82%;display:flex;flex-direction:column;}
.bubble.me{align-self:flex-end;align-items:flex-end;}
.bubble.them{align-self:flex-start;}
.bubble .bw{padding:9px 13px;border-radius:14px;font-size:14.5px;line-height:1.45;}
.bubble.me .bw{background:var(--forest);color:var(--cream);border-bottom-right-radius:4px;}
.bubble.them .bw{background:var(--paper-2);color:var(--ink);border-bottom-left-radius:4px;}
.bubble .bt{font-size:11px;color:var(--ink-3);margin-top:3px;}
.mc-btns{display:flex;gap:7px;margin-top:8px;}
.mc-btns .btn{flex:1;justify-content:center;}

/* ---------- DASHBOARD / CATALOGUE ---------- */
.hero-band{background:var(--forest);color:var(--cream);padding:54px 0 50px;position:relative;overflow:hidden;}
.hero-band h1{color:var(--cream);font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.94;font-size:clamp(32px,4.4vw,52px);max-width:16ch;margin-top:6px;}
.hero-band p{color:rgba(222,212,184,.82);max-width:48ch;margin:14px 0 0;font-size:16px;}
.hero-band .ring{position:absolute;right:8%;top:-60px;width:280px;height:280px;border:1px solid rgba(255,255,255,.07);border-radius:50%;}
.hero-band .ring2{position:absolute;right:17%;bottom:-70px;width:190px;height:190px;border:1px solid rgba(255,255,255,.05);border-radius:50%;}
.stat-row{display:flex;margin:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;}
@media(max-width:640px){
  .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:22px 0;}
  .stat-row .s{border-left:none!important;padding-left:0!important;}
}
.stat-row .s{flex:1;padding:0 24px;}
.stat-row .s:first-child{padding-left:0;}
.stat-row .s+.s{border-left:1px solid var(--line);}
.stat-row b{font-family:var(--display);font-size:36px;font-weight:800;display:block;line-height:1;}
.stat-row span{font-size:13px;color:var(--ink-2);font-weight:500;display:block;margin-top:5px;}
.setrow{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);}
.setrow:last-child{border-bottom:none;}
.setrow .num{font-family:var(--display);font-size:15px;color:var(--ink-3);width:20px;font-weight:600;}
.setrow .sw{width:42px;height:42px;border-radius:9px;flex:none;}
.setrow .gr{margin-left:auto;display:flex;gap:7px;align-items:center;}
.empty{text-align:center;padding:46px 20px;color:var(--ink-2);}
.empty svg{color:var(--line);margin-bottom:10px;}

/* ---------- PLAN TEASER ---------- */
.lock{background:var(--terracotta);color:#fff;padding:54px 0 50px;position:relative;overflow:hidden;}
.lock h2{color:#fff;font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.96;font-size:clamp(28px,3.6vw,44px);max-width:18ch;}
.lock p{color:rgba(255,220,200,.85);max-width:52ch;margin:14px 0 24px;}
.lock .pwr{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.7;}

/* ---------- PLAN A SERVICE (Powered by Win the Week) ---------- */
/* Win the Week tokens live in the spine at the top of this file, alongside
   LWP's own. They are siblings in one system, not a bolt-on. */
.planhead{background:var(--card);color:var(--ink);padding:30px 0 30px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
.planhead h1{font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-size:clamp(26px,3.4vw,40px);margin:14px 0 6px;color:var(--pray-ink);}
.planhead .svc{color:var(--ink);font-size:14px;font-weight:600;display:flex;gap:16px;flex-wrap:wrap;}
/* Sister-brand lockup. Win the Week keeps its own face (Inter) inside LWP's
   layout — same room, its own voice. The tint carries it in both themes. */
.pwr-badge{display:inline-flex;align-items:center;gap:8px;background:var(--pray-soft);border:1px solid var(--pray-line);padding:5px 13px 5px 9px;border-radius:var(--r-pill);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pray-ink);}
.pwr-badge .wm{font-family:var(--wtw-face);font-weight:900;letter-spacing:.01em;color:var(--ink);font-size:11px;}
.pwr-badge svg{flex:none;}
.wtw-eyebrow{font-family:var(--wtw-face);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wtw-ink);margin-bottom:8px;}

/* ---------- HANDOFF TO WIN THE WEEK ----------
   The one place the two products touch. It shows the leader exactly what
   crosses over before it crosses, because the thing being handed off is the
   band's Sunday morning. */
.modal.wide{max-width:640px;}
.hand-head{display:flex;align-items:center;gap:14px;margin-bottom:4px;}
.hand-cross{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.hand-cross .side{display:inline-flex;align-items:center;gap:7px;}
.hand-cross .nm{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;}
.hand-cross .nm.wtw{font-family:var(--wtw-face);font-weight:900;letter-spacing:.03em;color:var(--wtw-ink);}
.hand-cross .arrow{width:30px;height:1px;background:var(--line);position:relative;flex:none;}
.hand-cross .arrow::after{content:'';position:absolute;right:0;top:-3px;border:3px solid transparent;border-left-color:var(--ink-3);}
/* Running time sits with the set, because it is the number that decides
   whether the set is finished. */
.set-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.set-foot .len{font-size:13px;color:var(--ink-2);}
.set-foot .len b{font-family:var(--display);font-weight:800;color:var(--ink);font-size:15px;}
.hand-sum{display:flex;gap:18px;align-items:baseline;margin:2px 0 18px;font-size:13px;color:var(--ink-2);}
.hand-sum b{font-family:var(--display);font-size:15px;color:var(--ink);font-weight:800;}
.hand-list{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card);}
.hand-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);}
.hand-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.hand-row:last-child{border-bottom:none;}
.hand-row .t{font-weight:700;font-size:14px;line-height:1.3;}
.hand-row .a{font-size:12px;color:var(--ink-3);}
.hand-row .files{display:flex;gap:5px;color:var(--ink-3);}
.hand-row .files svg{flex:none;}
.k-chip{font-family:var(--wtw-face);font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:var(--r-sm);background:var(--pray-soft);color:var(--pray-ink);border:1px solid var(--pray-line);white-space:nowrap;}
.f-chip{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;}
/* The licence sits in the row where a CCLI number would be. That empty field
   is the whole argument, so it is shown rather than hidden. */
.hand-lic{margin-top:16px;padding:13px 15px;border-radius:var(--r-md);background:var(--brand-soft);border:1px solid var(--brand-line);font-size:13px;color:var(--ink);line-height:1.5;}
.hand-lic b{font-weight:800;}
.hand-lic .ccli{display:block;margin-top:5px;font-size:12px;color:var(--brand-ink);font-weight:700;}
.hourtag{display:inline-flex;align-items:center;gap:7px;font-family:var(--wtw-face);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wtw-ink);background:var(--wtw-soft);padding:4px 11px;border-radius:100px;}
.hourno{width:18px;height:18px;border-radius:50%;background:var(--wtw);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;font-family:var(--wtw-face);}
.hourcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);}
/* State tints the whole card rather than hanging a coloured bar off its edge —
   the chip inside already names the state, so the card only has to agree. */
.hourcard.done{border-color:var(--ok-border);}
.hourcard.cur{border-color:var(--wtw-line);box-shadow:var(--shadow),0 0 0 1px var(--wtw-line);}
.hourcard.todo{border-color:var(--line);}
.hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:6px;}
.field .val{font-size:15px;color:var(--ink);line-height:1.5;}
.field .val.big{font-size:18px;font-weight:600;}
.fbox{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:14.5px;color:var(--ink);line-height:1.55;}
/* Status chip — tint / ink / bar / border, the same four-part shape Win the
   Week uses, on the same values. A chip carries identical meaning in both. */
.spill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--r-pill);border:1px solid transparent;}
.spill.ok{background:var(--ok-tint);color:var(--ok-ink);border-color:var(--ok-border);}
.spill.wait{background:var(--wait-tint);color:var(--wait-ink);border-color:var(--wait-border);}
.spill.no{background:var(--no-tint);color:var(--no-ink);border-color:var(--no-border);}
.spill .d{width:7px;height:7px;border-radius:50%;flex:none;}
.spill.ok .d{background:var(--ok-bar);}
.spill.wait .d{background:var(--wait-bar);}
.spill.no .d{background:var(--no-bar);}
.rosrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);}
.rosrow:last-child{border-bottom:none;}
.rosrow .posname{flex:1;min-width:0;}
.rosrow .pos{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:2px;}
.rosrow .who{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.oos{border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
.oos-sec{background:var(--paper-3);padding:8px 18px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);}
.oos-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--card);}
.oos-row:last-child{border-bottom:none;}
.oos-wrap{border-bottom:1px solid var(--line);}
.oos-wrap:last-child{border-bottom:none;}
.oos-wrap .oos-row{border-bottom:none;}
.keyopts{display:flex;gap:6px;flex-wrap:wrap;padding:10px 18px 13px;background:var(--paper-2);}
.keyopts button{font-family:var(--display);font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:7px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;transition:.12s;}
.keyopts button:hover,.keyopts button.sel{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-ink);}
.oos-row .len{font-family:var(--display);font-size:13px;font-weight:700;color:var(--ink-3);width:46px;flex:none;}
.oos-row .ttl{font-weight:700;font-size:15px;color:var(--ink);}
.oos-row .meta{font-size:12.5px;color:var(--ink-2);margin-top:2px;}
.oos-row .keytag{font-family:var(--display);font-weight:800;font-size:12px;background:var(--brand-soft);color:var(--brand-ink);padding:3px 9px;border-radius:7px;}
button.keytag{border:none;cursor:pointer;}
button.keytag:hover{opacity:.85;}
button.keytag.open{background:var(--brand-d);color:#fff;}
.oos-row .flow{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);background:var(--accent-soft);padding:3px 9px;border-radius:7px;}
.cmp{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);font-size:14px;}
.cmp th{background:var(--forest);color:var(--cream);padding:13px 16px;text-align:left;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.cmp th.us{background:var(--terracotta);}
.cmp td{padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card);color:var(--ink-2);}
.cmp tr:last-child td{border-bottom:none;}
.cmp td.us{background:var(--brand-soft);color:var(--ink);font-weight:600;}
.cmp td.feat{font-weight:700;color:var(--ink);}
.checkline{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:var(--ink);line-height:1.5;margin-bottom:9px;}
.checkline .ck{color:var(--wtw-ink);flex:none;margin-top:2px;}
/* ---------- PLAN: Pray/Plan/Prep layout + persistent rails ---------- */
.planlayout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;}
@media(max-width:900px){.planlayout{grid-template-columns:1fr;}}
.planmain{min-width:0;}
.planrail{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px;}
.railcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 10px;box-shadow:var(--shadow);}
.railcard .rail-h{display:flex;align-items:center;justify-content:space-between;}
.rail-sub{font-size:12.5px;color:var(--ink-2);margin:6px 0 14px;line-height:1.45;}
.bench-item{padding:12px 0;border-top:1px solid var(--line);}
.bench-item:first-of-type{border-top:none;}
.bench-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.bench-top .who{font-size:14.5px;font-weight:700;color:var(--ink);}
.bench-tag{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wtw-ink);background:var(--wtw-soft);padding:3px 8px;border-radius:100px;flex:none;}
.bench-role{font-size:12px;color:var(--ink-2);margin:2px 0 7px;}
.bench-item .step{font-size:12.5px;color:var(--ink);line-height:1.45;background:var(--paper-2);border-radius:8px;padding:8px 10px;}
.bench-item .step-k{display:block;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;}
.goalrow{padding:11px 0;border-top:1px solid var(--line);}
.goalrow:first-of-type{border-top:none;}
.goal-label{font-size:13px;color:var(--ink);font-weight:600;margin-bottom:7px;line-height:1.4;}
.goalbar{height:7px;border-radius:100px;background:var(--paper-3);overflow:hidden;}
.goalbar i{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,var(--wtw),var(--ochre));}
.flowname{font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink);}
.flowhead{margin-bottom:20px;}
.flow-eyebrow{font-family:var(--wtw-face);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--wtw-ink);}
.flowhead h2{font-size:25px;margin:6px 0 4px;}
.flowhead p{font-size:15px;color:var(--ink-2);max-width:62ch;margin:0;line-height:1.55;}
/* assistant coming soon (Siri-like orb) */
.assistant{display:flex;gap:26px;align-items:center;background:linear-gradient(135deg,var(--card),var(--pray-soft));border:1px solid var(--pray-line);border-radius:18px;padding:26px 28px;margin:34px 0;flex-wrap:wrap;}
.orb-wrap{position:relative;display:grid;place-items:center;flex:none;width:92px;height:92px;}
.orb{width:92px;height:92px;border-radius:50%;background:conic-gradient(from 0deg,#ff6b5e,#E0A94E,#1b6b73,#C75640,#ff6b5e);animation:orbspin 7s linear infinite;box-shadow:0 10px 34px rgba(255,107,94,.34),0 18px 64px rgba(27,107,115,.20);}
.orb::after{content:'';position:absolute;inset:16px;border-radius:50%;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.92),rgba(255,255,255,0) 62%);}
.orb-pulse{position:absolute;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,94,.4),transparent 68%);animation:orbpulse 3.2s ease-in-out infinite;}
@keyframes orbspin{to{transform:rotate(360deg);}}
@keyframes orbpulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.5);opacity:0;}}
.assistant .acopy{flex:1;min-width:240px;}
.assistant h2{font-size:22px;margin:7px 0 7px;}
.assistant p{font-size:14.5px;color:var(--ink-2);margin:0 0 14px;max-width:56ch;line-height:1.55;}
/* runway 8-4-3-2-1 */
.runway-track{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:var(--card);}
.runrow{display:grid;grid-template-columns:118px 1fr;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);}
.runrow:last-child{border-bottom:none;}
.run-when{display:flex;flex-direction:column;gap:6px;}
.run-wk{font-family:var(--anton);font-weight:400;font-size:30px;line-height:.85;color:var(--pray-ink);}
.run-wk small{font-family:var(--sans);font-size:10.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;display:block;margin-top:4px;}
.run-focus{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--wtw-ink);}
.run-svc{font-weight:700;font-size:15px;color:var(--ink);margin-bottom:10px;}
.run-tasks{display:flex;flex-wrap:wrap;gap:8px;}
.taskchip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:100px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);}
.taskchip .d{width:7px;height:7px;border-radius:50%;flex:none;}
.taskchip.done{background:#e7f3ec;color:#2f7d57;border-color:#cce7d6;}
.taskchip.done .d{background:#3D9970;}
.taskchip.pending{background:#fbf0d8;color:#9a6b16;border-color:#f0e0bd;}
.taskchip.pending .d{background:#E8952A;}
.taskchip.todo .d{background:var(--ink-3);}

/* ---------- SCHEDULE: the 5-hour time-block backbone ---------- */
.checkrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;}
@media(max-width:760px){.checkrow{grid-template-columns:1fr;}}
.checkcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);}
.checkcard .ck-l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:7px;}
.checkcard .ck-v{font-weight:800;font-size:16px;color:var(--ink);margin-bottom:5px;}
.checkcard .ck-n{font-size:13px;color:var(--ink-2);line-height:1.45;}
.priolist{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.priochip{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:7px 15px 7px 7px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);}
.priochip .n{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;}
.hourtrack{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:var(--card);}
.hourblock{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);}
.hourblock:last-child{border-bottom:none;}
.hourblock.pray{border-color:var(--pray-line);background:var(--pray-soft);}
.hourblock.plan{border-color:var(--brand-line);background:var(--brand-soft);}
.hourblock.prep{border-color:var(--accent-line);background:var(--accent-soft);}
.hb-when{display:flex;flex-direction:column;gap:4px;}
.hb-hour{font-family:var(--anton);font-weight:400;font-size:30px;line-height:.85;color:var(--ink);}
.hb-hour small{font-family:var(--sans);font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;display:block;margin-top:5px;}
.hb-time{font-size:11.5px;font-weight:700;color:var(--ink-3);}
.hb-focus{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;}
.hb-task{display:flex;align-items:center;gap:11px;padding:8px 0;cursor:pointer;}
.hb-task+.hb-task{border-top:1px dashed var(--line);}
.hb-box{width:19px;height:19px;border-radius:6px;border:2px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center;color:#fff;transition:.12s;}
.hb-task.done .hb-box{background:var(--forest);border-color:var(--deep-ink);}
.hb-task.done .hb-name{color:var(--ink-3);text-decoration:line-through;}
.hb-name{font-size:14px;font-weight:600;color:var(--ink);}
.hb-type{margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:100px;}
.hb-type.pray{background:var(--pray-soft);color:var(--pray-ink);}
.hb-type.plan{background:var(--brand-soft);color:var(--brand-ink);}
.hb-type.prep{background:#e7f0e7;color:var(--deep-ink);}
.hb-type.admin{background:var(--paper-2);color:var(--ink-2);}

/* ---------- CALENDAR: 8-week matrix ---------- */
.matrix{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:var(--card);margin-bottom:34px;}
.mrow{display:grid;grid-template-columns:96px 1fr 120px;gap:16px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:.12s;}
.mrow:last-child{border-bottom:none;}
.mrow:hover{background:var(--paper-2);}
.mrow.active{background:var(--wtw-soft);}
.m-date{font-family:var(--anton);font-weight:400;font-size:21px;color:var(--ink);line-height:1;}
.m-date small{display:block;font-family:var(--sans);font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-top:5px;}
.m-theme{font-weight:700;font-size:14.5px;color:var(--ink);}
.m-theme .sc{font-weight:500;font-size:12.5px;color:var(--ink-2);}
.m-pp{display:flex;gap:7px;justify-content:flex-end;}
.pp-dot{min-width:28px;height:28px;padding:0 6px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;border:1.5px solid var(--line);background:var(--card);color:var(--ink-3);}
.pp-dot.done{background:#e7f0e7;color:var(--deep-ink);border-color:#cfe2cf;}
.pp-dot.cur{background:var(--brand-soft);color:var(--brand-ink);border-color:#eccabf;}

/* ---------- TEAMS ---------- */
.teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.teamcard{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;}
.teamcard .t-bar{height:5px;}
.teamcard .t-head{padding:13px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);}
.teamcard .t-name{font-family:var(--display);font-weight:800;font-size:16px;}
.teamcard .t-count{font-size:12px;font-weight:700;color:var(--ink-3);}

/* ---------- ABOUT ---------- */
.about-hero{background:var(--card);color:var(--ink);position:relative;overflow:hidden;min-height:clamp(340px,44vh,430px);display:flex;align-items:center;}
.about-hero .bleed{position:absolute;left:-21%;top:50%;transform:translateY(-50%);height:190%;pointer-events:none;z-index:0;}
.about-logo{height:100%;width:auto;display:block;filter:drop-shadow(0 18px 40px rgba(44,58,44,.12));}
.about-hero .inner{position:relative;z-index:1;margin-left:7%;width:min(520px,44%);padding:30px 2vw 30px 0;}
.about-hero .inner::before{content:"";position:absolute;z-index:-1;left:-10%;top:-12%;width:118%;height:124%;background:radial-gradient(ellipse 68% 60% at 40% 50%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 78%);pointer-events:none;}
.about-hero .wm{font-family:var(--anton);text-transform:uppercase;letter-spacing:.26em;font-size:12px;color:var(--brand-ink);margin-bottom:16px;}
.about-hero h1{font-family:var(--anton);font-weight:400;text-transform:uppercase;line-height:.95;font-size:clamp(32px,4.2vw,54px);color:var(--ink);margin:0;max-width:16ch;}
.about-hero .sub{max-width:46ch;margin:20px 0 0;color:var(--ink-2);font-size:17px;line-height:1.6;}
.about-hero .act{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.hero-map{position:absolute;right:1.5%;top:50%;transform:translateY(-50%);width:min(700px,54%);z-index:0;cursor:pointer;}
.hero-map svg.hm-svg{display:block;width:100%;height:auto;overflow:visible;}
.hm-world{fill:#E7DEC8;opacity:.7;stroke:#D8CBAC;stroke-width:.8;}
.hm-line{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hmDraw 1.5s ease forwards;}
@keyframes hmDraw{to{stroke-dashoffset:0;}}
.hm-line.sup{stroke:var(--map-blue);stroke-width:6;opacity:.85;}
.hm-line.use{stroke:var(--terracotta);stroke-width:4.5;opacity:.6;}
.hm-travel{filter:drop-shadow(0 0 3px rgba(0,0,0,.18));}
.hm-travel.tuse{fill:var(--terracotta);}
.hm-coin{fill:var(--ochre);stroke:#b9842f;stroke-width:1.5;}
.hm-coin-c{fill:none;stroke:#fff;stroke-width:2;opacity:.7;}
.hm-pin{filter:drop-shadow(0 3px 5px rgba(25,34,46,.18));}
.hm-body{stroke:none;}
.hm-art .hm-body{fill:#fff;stroke:rgba(25,34,46,.22);stroke-width:3;}
.hm-sup .hm-body{fill:var(--map-blue);}
.hm-use .hm-body{fill:var(--terracotta);}
.hm-glyph{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;}
.hm-art .hm-glyph{stroke:var(--forest);}
.hm-glow{fill:var(--terracotta);opacity:.13;}
.hm-pulse{fill:none;stroke:var(--terracotta);stroke-width:5;opacity:.5;transform-box:fill-box;transform-origin:center;animation:hmPulse 2.6s ease-out infinite;}
@keyframes hmPulse{0%{transform:scale(.4);opacity:.55}100%{transform:scale(1.8);opacity:0}}
.hm-cap{text-align:center;margin-top:8px;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--ink-2);}
.hm-legend{display:flex;gap:14px;justify-content:center;margin-top:6px;font-size:10.5px;color:var(--ink-3);font-weight:700;}
.hm-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;}
@media(max-width:1040px){.hero-map{display:none;}.about-hero .inner{width:min(680px,86%);}}
@media(max-width:760px){
  .about-hero{min-height:0;padding:36px 0 40px;}
  .about-hero .bleed{position:static;transform:none;height:170px;margin:0 auto 6px;display:flex;justify-content:center;}
  .about-hero .inner{width:auto;margin:0;text-align:center;padding:0 20px;}
  .about-hero .inner::before{display:none;}
  .about-hero h1,.about-hero .sub{margin-left:auto;margin-right:auto;}
  .about-hero .act{justify-content:center;}
}

.about-sec{padding:62px 0;}
.about-sec.alt{background:var(--paper-2);}
.about-h{font-family:var(--anton);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1;font-size:clamp(28px,3.4vw,40px);margin:10px 0 18px;max-width:20ch;}
.about-lead{font-family:var(--serif);font-size:clamp(19px,2vw,23px);line-height:1.55;color:var(--ink);max-width:60ch;}
.about-body{font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:62ch;}

.story{display:grid;gap:0;margin-top:32px;max-width:740px;}
.story-step{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:0 0 34px;position:relative;}
.story-step:last-child{padding-bottom:0;}
.story-step::before{content:"";position:absolute;left:26px;top:50px;bottom:-2px;width:2px;background:var(--line);}
.story-step:last-child::before{display:none;}
.story-num{width:54px;height:54px;border-radius:50%;background:var(--forest);color:var(--cream);font-family:var(--anton);font-size:24px;display:flex;align-items:center;justify-content:center;flex:none;z-index:1;}
.story-ref{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-ink);margin-bottom:6px;}
.story-step h3{font-family:var(--serif);font-size:22px;margin:0 0 8px;font-weight:600;color:var(--ink);}
.story-step p{font-size:15.5px;line-height:1.65;color:var(--ink-2);margin:0;}
.story-land{font-family:var(--serif);font-size:clamp(20px,2.1vw,26px);line-height:1.5;color:var(--ink);max-width:30ch;margin:34px 0 0;border-top:2px solid var(--ochre);padding-top:18px;}

.posture-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:14px;}
@media(max-width:760px){.posture-grid{grid-template-columns:1fr;}}
.posture{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.posture .top{height:6px;}
.posture .pad{padding:28px 26px;display:flex;flex-direction:column;flex:1;}
.posture .role{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);}
.posture h3{font-family:var(--anton);font-weight:400;text-transform:uppercase;font-size:27px;margin:8px 0 4px;line-height:1;color:var(--ink);}
.posture .vs{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-2);margin-bottom:15px;}
.posture p{font-size:15.5px;line-height:1.65;color:var(--ink-2);margin:0 0 18px;}
.posture .act{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;}

.flow3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
@media(max-width:760px){.flow3{grid-template-columns:1fr;}}
.flow3 .step{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow);}
.flow3 .n{font-family:var(--anton);font-size:30px;color:var(--accent-ink);line-height:1;margin-bottom:12px;}
.flow3 h4{font-size:17px;margin:0 0 8px;color:var(--ink);}
.flow3 p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin:0;}
.campcard{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px 26px;margin-top:26px;max-width:560px;}
.campcard .ct{font-weight:700;font-size:16px;margin-bottom:3px;}
.campcard .cm{font-size:13px;color:var(--ink-3);margin-bottom:14px;}
.campcard .nums{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--ink-2);margin-top:9px;}

.acts{background:var(--brand-fill);color:#fff;text-align:center;padding:82px 20px;position:relative;overflow:hidden;}
.acts .ring{position:absolute;left:50%;top:-150px;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:translateX(-50%);}
.acts .inner{max-width:660px;margin:0 auto;position:relative;}
.acts .ref{font-family:var(--anton);text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:rgba(255,255,255,.92);margin-bottom:20px;}
.acts .quote{font-family:var(--serif);font-size:clamp(26px,3.6vw,40px);line-height:1.25;font-weight:600;margin:0 0 22px;}
.acts p{font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.92);max-width:54ch;margin:0 auto 30px;}
.acts .act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- TOAST ---------- */
.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center;}
.toast{background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:100px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:rise .3s ease;}
.toast .ck{color:#7FD3A6;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ---------- MODAL ---------- */
.ov{position:fixed;inset:0;background:rgba(31,27,20,.5);z-index:150;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px);}
.ov.open{display:flex;}
.modal{background:var(--paper);border-radius:20px;max-width:460px;width:100%;padding:30px;box-shadow:var(--shadow-lg);}
.modal h3{font-size:24px;margin-bottom:6px;}

.banner{background:var(--accent-soft);border:1px dashed var(--accent);color:var(--accent-ink);border-radius:12px;padding:11px 16px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:9px;margin-bottom:22px;}
.two{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start;}
.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:22px;}
.notif-dot{position:absolute;top:2px;right:2px;width:9px;height:9px;background:var(--accent);border-radius:50%;border:2px solid var(--paper);}

/* ---------- MULTITRACK PLAYER ---------- */
.mtp{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;color:var(--ink);box-shadow:0 10px 30px rgba(25,34,46,.06);}
.mtp .mtp-hd{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.mtp .mtp-hd .eyebrow{color:var(--brand-ink);}
.mtp .mtp-hd .ld{font-size:12px;color:var(--ink-3);margin-left:auto;}
.mtp .keyrow{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.mtp .keyrow .lab{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--ink-3);margin-right:4px;}
.keybtn{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--display);font-weight:800;font-size:14px;cursor:pointer;transition:.13s;display:flex;align-items:center;justify-content:center;}
.keybtn:hover{border-color:var(--accent-ink);}
.keybtn.on{background:var(--ochre);color:var(--on-light);border-color:var(--accent-ink);}
.keybtn.busy{opacity:.5;cursor:wait;}
.transport{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.bigplay{width:52px;height:52px;border-radius:50%;background:var(--terracotta);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:.13s;box-shadow:0 6px 18px rgba(199,86,64,.32);}
.bigplay:hover{background:var(--terra-d);}
.scrub{flex:1;display:flex;align-items:center;gap:10px;}
.scrub .time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-3);min-width:38px;}
.seek{-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:var(--paper-3);width:100%;cursor:pointer;outline:none;}
.seek::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--ochre);cursor:pointer;}
.seek::-moz-range-thumb{width:15px;height:15px;border:none;border-radius:50%;background:var(--ochre);cursor:pointer;}
.stems{display:grid;gap:2px;}
.stemrow{display:flex;align-items:center;gap:12px;background:transparent;border:none;border-radius:8px;padding:6px 8px;transition:.12s;}
.stemrow:hover{background:var(--paper-2);}
.stemrow.muted-row{opacity:.55;}
.stemrow .nm{font-size:13px;font-weight:700;min-width:88px;flex:none;color:var(--ink);}
/* --- waveform primitive: mirrored peak outline + RMS core, drawn DAW style --- */
.wf{display:block;width:100%;height:100%;}
.wf .wf-peak{fill:currentColor;opacity:.5;}
.wf .wf-rms{fill:currentColor;}
.wf .wf-base{color:var(--wf-base,currentColor);opacity:var(--wf-base-o,.34);}
.wf .wf-play{color:var(--wf-played,currentColor);}

.stemrow .wave{position:relative;flex:1;height:46px;cursor:pointer;overflow:hidden;touch-action:none;color:#7C7666;--wf-base-o:.5;--wf-played:var(--terracotta);}
.stemrow .wave .wf{position:absolute;inset:0;}
.stemrow.muted-row .wave{--wf-played:var(--ink-3);}
.stemrow .wph{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--cream);opacity:.85;box-shadow:0 0 8px rgba(250,247,240,.35);pointer-events:none;}
.msbtn{width:30px;height:30px;border-radius:7px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);font-size:11px;font-weight:800;cursor:pointer;transition:.12s;display:flex;align-items:center;justify-content:center;flex:none;}
.msbtn:hover{border-color:var(--ink-3);}
.msbtn.mute.on{background:var(--terracotta);border-color:var(--brand-ink);color:#fff;}
.msbtn.s.on{background:var(--ochre);border-color:var(--accent-ink);color:var(--on-light);}
.vol{-webkit-appearance:none;appearance:none;height:5px;border-radius:5px;background:var(--paper-3);flex:none;width:64px;cursor:pointer;outline:none;}
.vol::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--ochre);cursor:pointer;}
.vol::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--ochre);cursor:pointer;}
.mtp .hint{font-size:12px;color:var(--ink-3);margin-top:14px;}
/* persistent bottom bar */
.mtbar{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--topbar);backdrop-filter:blur(10px);border-top:1px solid var(--line);color:var(--ink);transform:translateY(120%);transition:transform .28s ease;box-shadow:0 -6px 24px rgba(25,34,46,.07);}
.mtbar.show{transform:none;}
.mtbar .in{max-width:var(--maxw);margin:0 auto;padding:11px 24px;display:flex;align-items:center;gap:16px;}
.mtbar .barplay{width:40px;height:40px;border-radius:50%;background:var(--terracotta);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
.mtbar .meta{min-width:150px;cursor:pointer;}
.mtbar .meta b{font-size:13.5px;font-weight:800;display:block;line-height:1.2;}
.mtbar .meta span{font-size:12px;color:var(--ink-3);}
.mtbar .barscrub{flex:1;display:flex;align-items:center;gap:10px;}
.mtbar .x{background:none;border:none;color:var(--ink-3);cursor:pointer;font-size:18px;padding:4px 8px;}
/* ---------- SONG TABS ---------- */
.songtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:26px 0 28px;overflow-x:auto;}
.songtabs .tab{display:flex;align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:700;color:var(--ink-3);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:.13s;}
.songtabs .tab svg{width:18px;height:18px;opacity:.7;}
.songtabs .tab:hover{color:var(--ink);}
.songtabs .tab.on{color:var(--brand-ink);border-bottom-color:var(--brand-ink);}
.songtabs .tab.on svg{opacity:1;}
/* options rail (charts / propresenter) */
.optrail{display:flex;flex-direction:column;gap:22px;}
.optgrp .ttl{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px;}
.optgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.optbtn{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 10px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.12s;text-align:center;}
.optbtn:hover{border-color:var(--ink-3);}
.optbtn.on{border-color:var(--brand-ink);background:var(--accent-soft);color:var(--brand-ink);}
.optbtn .gly{font-family:var(--display);font-weight:800;font-size:14px;}
.optbtn .gly sup{font-size:9px;}.optbtn .gly sub{font-size:9px;}
.optkeys{display:flex;flex-wrap:wrap;gap:6px;}
.optkey{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--line);background:var(--card);font-family:var(--display);font-weight:800;font-size:13px;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;}
.optkey:hover{border-color:var(--ink-3);}
.optkey.on{background:var(--terracotta);border-color:var(--brand-ink);color:#fff;}
.optsel{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;}
.opttoggle{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);}
.opttoggle:last-child{border-bottom:none;}
.tgl{width:42px;height:24px;border-radius:100px;background:var(--line);position:relative;cursor:pointer;transition:.15s;flex:none;}
.tgl::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--card);transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.tgl.on{background:var(--terracotta);}
.tgl.on::after{left:20px;}
.dlcard{border:2px solid var(--brand);border-radius:14px;padding:20px;background:var(--brand-soft);}
.dlcard .free{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.dlcard .free b{font-family:var(--display);font-size:18px;color:var(--brand-ink);}
.dlcard .free .px{font-weight:800;color:var(--brand-ink);font-size:14px;}
.dlcard p{font-size:13px;color:var(--ink-2);margin:0 0 14px;line-height:1.5;}
/* chart preview */
.chartprev{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px 32px;box-shadow:var(--shadow);min-height:420px;}
.chartprev .ch-hd{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:18px;}
.chartprev .ch-hd h3{font-family:var(--display);font-weight:900;font-size:24px;text-transform:uppercase;letter-spacing:.01em;}
.chartprev .ch-hd .meta{font-size:12px;color:var(--ink-2);text-align:right;line-height:1.6;}
.chsec{margin-bottom:18px;break-inside:avoid;}
.chsec .lbl{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-ink);margin-bottom:7px;}
.chsec .lbl .dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--terracotta);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--brand-ink);}
.chsec .line{font-size:14px;line-height:2.1;color:var(--ink);}
.chsec .chd{font-family:var(--mono,ui-monospace,monospace);font-weight:700;color:var(--accent-ink);font-size:13px;margin-right:3px;}
.chartprev.bw .chsec .lbl,.chartprev.bw .chsec .lbl .dot,.chartprev.bw .chsec .chd{color:#000;border-color:#000;}
.chartprev.bw .ch-hd{border-color:#000;}
.chart2col .chbody{column-count:2;column-gap:34px;}
/* slide / propresenter preview */
.slideprev{background:#000;border-radius:14px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;padding:30px;box-shadow:var(--shadow-lg);overflow:hidden;}
.slideprev .lyr{color:#fff;text-align:center;font-size:30px;font-weight:700;line-height:1.4;}
.stageprev{background:#000;border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.stageprev .pane{background:#0c0c0c;border:1px solid #2a2a2a;border-radius:6px;padding:14px;min-height:90px;}
.stageprev .pane .cap{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.stageprev .pane .txt{color:#fff;font-size:17px;font-weight:600;}
.stageprev .pane .nt{color:#7fd1ff;font-size:14px;font-weight:600;}
/* license tab */
.lic-intro{display:flex;gap:14px;align-items:flex-start;background:var(--brand-soft);border:1px solid var(--brand);border-radius:14px;padding:20px 22px;margin-bottom:24px;}
.lic-intro .ic{flex:none;width:44px;height:44px;border-radius:10px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;}
.lic-intro h3{font-size:17px;margin-bottom:3px;}
.lic-intro a{color:var(--brand-ink);font-weight:700;}
.liccard{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px;background:var(--card);box-shadow:var(--shadow);}
.liccard .ch{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.liccard .ch .ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;flex:none;}
.liccard .ch h4{font-size:16px;font-weight:800;}
.liccard .ch p{font-size:13px;color:var(--ink-2);margin:1px 0 0;}
.copybox{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:13.5px;line-height:1.6;color:var(--ink);}
.copybox .copybtn{position:absolute;top:10px;right:10px;border:1.5px solid var(--line);background:var(--card);border-radius:7px;padding:6px 12px;font-size:12px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.12s;}
.copybox .copybtn:hover{border-color:var(--brand-ink);color:var(--brand-ink);}
.copybox code{font-family:inherit;display:block;padding-right:70px;}
.licdo{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:6px;}
.licdo div{display:flex;gap:8px;font-size:13.5px;color:var(--ink-2);align-items:flex-start;}
.licdo svg{flex:none;margin-top:2px;}
.empty-tab{text-align:center;padding:70px 20px;}
.empty-tab .ic{width:64px;height:64px;border-radius:16px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--ink-3);}
.empty-tab h3{font-size:20px;margin-bottom:6px;}
.empty-tab p{color:var(--ink-2);margin:0 auto 18px;max-width:42ch;}
/* tones tab */
.tonegrp{margin-bottom:22px;}
.tonegrp .ghd{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
.tonegrp .ghd .ic{width:36px;height:36px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none;}
.tonegrp .ghd b{display:block;font-size:15px;font-weight:800;}
.tonegrp .ghd span{font-size:12.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;}
.reqbox label{display:block;font-size:12px;font-weight:700;color:var(--ink-2);margin:10px 0 5px;}
.reqbox label:first-child{margin-top:0;}
.reqbox .btn{margin-top:13px;}
/* song details tab */
.ttl-sec{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;}
.reccard{border-radius:14px;padding:22px 24px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow-lg);}
.reccard .recplay{width:56px;height:56px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:var(--terra-d);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:.13s;}
.reccard .recplay:hover{transform:scale(1.06);background:var(--card);}
.reccard .rmeta h3{font-family:var(--display);font-weight:900;font-size:22px;color:#fff;line-height:1.1;margin:2px 0;}
.reccard .rmeta div:last-child{color:rgba(255,255,255,.85);font-size:13px;}
.devo{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:var(--shadow);}
.devo .dhd{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.devo .dhd .ic{width:40px;height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;flex:none;}
.devo .dhd h3{font-size:19px;}
.devo .dhd .ref{font-size:12.5px;color:var(--accent-ink);font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.devo blockquote{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--deep-ink);border-top:2px solid var(--terracotta);padding-top:15px;margin:0 0 18px;line-height:1.5;}
.devo p{font-size:15.5px;line-height:1.7;color:var(--ink);margin:0 0 14px;}
.devo p:last-child{margin-bottom:0;}
.artnote{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:24px 26px;}
.artnote p{font-family:var(--serif);font-size:16px;line-height:1.72;color:var(--ink);margin:0 0 18px;}
.artnote .sig{display:flex;align-items:center;gap:12px;}
.artnote .sig b{display:block;font-size:14px;font-weight:700;}
.artnote .sig span{font-size:12.5px;color:var(--ink-2);}
.infogrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:12px;}
.infogrid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:700;margin-bottom:2px;}
.infogrid b{font-size:15px;font-weight:700;}

/* ---------- ARTIST STUDIO (tabbed workspace) ---------- */
.studionav{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:8px 0 28px;}
.studionav a{font-size:13.5px;font-weight:700;color:var(--ink-2);padding:11px 14px;border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.14s;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
.studionav a:hover{color:var(--ink);background:var(--paper-2);}
.studionav a.active{color:var(--brand-ink);border-bottom-color:var(--brand-ink);}
.studionav a .cnt{font-size:10.5px;font-weight:800;background:var(--paper-3);color:var(--ink-2);padding:1px 7px;border-radius:100px;}
.studionav a.active .cnt{background:var(--brand-soft);color:var(--brand-ink);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-2{grid-template-columns:1fr 1fr;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);}
.stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);font-weight:800;}
.stat .v{font-family:var(--display);font-weight:800;font-size:32px;line-height:1.1;margin-top:8px;color:var(--ink);}
.stat .v small{font-size:15px;color:var(--ink-3);font-weight:700;}
.stat .sub{font-size:12.5px;color:var(--ink-2);margin-top:3px;}
.songrow{display:flex;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line);}
.songrow:last-child{border-bottom:none;}
.cover{width:52px;height:52px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--anton);font-size:12px;letter-spacing:.04em;box-shadow:var(--shadow);}
.songrow .nm{font-weight:700;font-size:15.5px;}
.songrow .mt{font-size:12.5px;color:var(--ink-2);}
.songrow .right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.stagebar{display:flex;gap:3px;align-items:center;}
.stagebar i{width:13px;height:5px;border-radius:3px;background:var(--line);display:block;}
.stagebar i.on{background:var(--ochre);}
.stagebar i.cur{background:var(--terracotta);}
.pipe{position:relative;margin:6px 0 6px 6px;}
.pstep{display:flex;gap:14px;padding-bottom:18px;position:relative;}
.pstep:before{content:"";position:absolute;left:11px;top:24px;bottom:-2px;width:2px;background:var(--line);}
.pstep:last-child:before{display:none;}
.pstep .dot{width:24px;height:24px;border-radius:50%;flex:none;background:var(--card);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink-3);z-index:1;}
.pstep.done .dot{background:var(--forest);border-color:var(--deep-ink);color:#fff;}
.pstep.cur .dot{background:var(--terracotta);border-color:var(--brand-ink);color:#fff;box-shadow:0 0 0 4px var(--brand-soft);}
.pstep .lbl b{font-size:14.5px;font-weight:700;display:block;}
.pstep.todo .lbl b{color:var(--ink-3);}
.pstep .lbl span{font-size:12.5px;color:var(--ink-2);}
.pstep.cur .lbl b{color:var(--brand-ink);}
.prog{height:10px;border-radius:100px;background:var(--paper-3);overflow:hidden;}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--ochre),var(--terracotta));border-radius:100px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:11px 13px;font-family:var(--sans);font-size:14.5px;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-soft);}
.field textarea{resize:vertical;min-height:78px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.checks{display:flex;flex-wrap:wrap;gap:8px;}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);background:var(--card);padding:8px 13px;border-radius:100px;cursor:pointer;transition:.14s;}
.chk input{accent-color:var(--brand-ink);width:15px;height:15px;}
.chk:hover{border-color:var(--brand-ink);}
.confirm{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;}
.confirm:last-child{border-bottom:none;}
.confirm input{accent-color:var(--brand-ink);width:17px;height:17px;margin-top:2px;flex:none;}
.drop{border:2px dashed var(--sand);border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px;background:var(--paper-2);cursor:pointer;transition:.14s;}
.drop:hover{border-color:var(--accent-ink);background:var(--accent-soft);}
.drop .dic{width:40px;height:40px;border-radius:10px;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);flex:none;font-size:20px;}
.drop b{font-size:14px;display:block;}
.drop span{font-size:12.5px;color:var(--ink-2);}
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.model{border:2px solid var(--line);border-radius:14px;padding:18px;cursor:pointer;transition:.14s;background:var(--card);}
.model:hover{border-color:var(--accent-ink);}
.model.on{border-color:var(--brand-ink);background:var(--brand-soft);}
.model h4{font-size:15.5px;margin-bottom:5px;}
.model p{font-size:12.5px;color:var(--ink-2);margin:0 0 10px;}
.model .out{font-size:12px;font-weight:800;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.04em;}
.bars{display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:10px;}
.bars .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:flex-end;}
.bars .col .bar{width:60%;max-width:34px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--ochre),var(--terracotta));}
.bars .col .bl{font-size:11px;color:var(--ink-3);font-weight:700;}
.bars .col .bv{font-size:11px;color:var(--ink-2);font-weight:800;}
.hbar{display:flex;align-items:center;gap:12px;margin-bottom:11px;}
.hbar .nm{width:130px;font-size:13.5px;font-weight:600;flex:none;}
.hbar .track{flex:1;height:9px;background:var(--paper-3);border-radius:100px;overflow:hidden;}
.hbar .track i{display:block;height:100%;background:linear-gradient(90deg,var(--ochre),var(--terracotta));}
.hbar .vn{width:56px;text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;}
.ledger{width:100%;border-collapse:collapse;}
.ledger th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:800;padding:10px 16px;border-bottom:1px solid var(--line);}
.ledger td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px;}
.ledger tr:last-child td{border-bottom:none;}
.ledger .amt{font-weight:800;font-variant-numeric:tabular-nums;}
.pill{font-size:11px;font-weight:800;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.03em;}
.pill.paid{background:var(--brand-soft);color:var(--deep-ink);}
.pill.pend{background:var(--accent-soft);color:var(--accent-ink);}
.pill.hold{background:var(--paper-2);color:var(--ink-3);border:1px solid var(--line);}
/* Callout. The tint carries the emphasis; it does not need a bar bolted to
   its edge. */
.notebox{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-md);padding:14px 16px;font-size:13.5px;color:var(--ink-2);}
.notebox b{color:var(--ink);}
.feed{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.feed:last-child{border-bottom:none;}
.feed .fd{width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:var(--paper-2);font-size:15px;}
.feed .ft{font-size:11.5px;color:var(--ink-3);margin-top:2px;}
.b-live{background:var(--accent-soft);color:var(--accent-ink);}
.b-pub{background:var(--ok-soft,#E2E9DF);color:var(--deep-ink);}
.b-rev{background:var(--brand-soft);color:var(--brand-ink);}
.b-prod{background:#E7E0F0;color:#5B4B82;}
.b-draft{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);}

/* ---------- CONNECTION MAP ---------- */
.mapwrap{background:linear-gradient(180deg,#fbf8f1,#f4eddd);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;position:relative;}
.map-stage{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;cursor:grab;touch-action:none;user-select:none;background:radial-gradient(130% 130% at 50% -10%, #eef3f4 0%, #dde7ea 55%, #cddce0 100%);}
.map-stage.grabbing{cursor:grabbing;}
.map-layer{position:absolute;inset:0;transform-origin:0 0;--mz:1;will-change:transform;}
.map-land{position:absolute;inset:0;width:100%;height:100%;}
.map-land path{fill:#E7DEC8;stroke:#D8CBAC;stroke-width:.8;}
.map-grid line{stroke:rgba(120,108,84,.10);stroke-width:.6;}
.map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible;}
.map-pins{position:absolute;inset:0;z-index:4;}
.conn-line{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.7;}
.conn-line.use{stroke:var(--terracotta);}
.conn-line.sup{stroke:var(--map-blue);}
.mflow{position:absolute;z-index:3;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(calc(1/var(--mz,1)));transform-origin:center;will-change:left,top;}
.mflow.coin{width:13px;height:13px;background:var(--ochre);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);}
.mflow.song{width:9px;height:9px;background:var(--terracotta);box-shadow:0 0 6px rgba(199,86,64,.65);}
.map-pin{position:absolute;transform:translate(-50%,-100%) scale(calc(1/var(--mz,1)));cursor:pointer;z-index:2;transition:filter .15s, opacity .2s;transform-origin:50% 100%;}
.map-pin:hover,.map-pin.sel{z-index:30;}
.map-pin:hover .pk-svg,.map-pin.sel .pk-svg,.map-pin.lit .pk-svg{transform:scale(1.16);}
.pk-svg{display:block;transition:transform .16s var(--ease-out);filter:drop-shadow(0 3px 4px rgba(25,34,46,.35));}
.map-pin.artist{z-index:5;}
.map-stage.netactive .map-pin{opacity:.26;filter:grayscale(.55);}
.map-stage.netactive .map-pin.lit,.map-stage.netactive .map-pin.sel{opacity:1;filter:none;}
.map-pin.sel .pk-svg{transform:scale(1.28);}
.map-pin.sel::after{content:"";position:absolute;left:50%;bottom:0;width:34px;height:34px;border-radius:50%;background:rgba(199,86,64,.35);transform:translate(-50%,50%);z-index:-1;animation:pinpulse 1.6s ease-out infinite;}
@keyframes pinpulse{0%{transform:translate(-50%,50%) scale(.4);opacity:.7}100%{transform:translate(-50%,50%) scale(1.9);opacity:0}}
.map-stage.f-artist .map-pin:not(.artist),
.map-stage.f-supporting .map-pin:not(.sup),
.map-stage.f-using .map-pin:not(.use){display:none;}
/* zoom controls */
.map-ctrls{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px;z-index:20;}
.map-ctrls button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--glass);color:var(--ink);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:.12s;}
.map-ctrls button:hover{background:var(--card);border-color:var(--brand-ink);color:var(--brand-ink);}
.map-ctrls button svg{width:17px;height:17px;}
.map-hint{position:absolute;left:14px;bottom:14px;z-index:20;background:rgba(25,34,46,.8);color:var(--cream);font-size:12px;font-weight:600;padding:7px 13px;border-radius:100px;pointer-events:none;backdrop-filter:blur(4px);transition:opacity .4s;}
.map-stage.netactive .map-hint{opacity:0;}
/* detail card */
.map-card{position:absolute;left:14px;top:14px;width:300px;max-width:calc(100% - 28px);background:var(--glass);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:18px;z-index:25;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:.2s;backdrop-filter:blur(8px);}
.map-card.open{opacity:1;transform:none;pointer-events:auto;}
.map-card .x{position:absolute;right:13px;top:11px;cursor:pointer;color:var(--ink-3);font-size:15px;line-height:1;}
.map-card .x:hover{color:var(--ink);}
.map-card .hd{display:flex;align-items:center;gap:12px;margin-bottom:2px;padding-right:18px;}
.map-card h3{font-size:18px;line-height:1.1;}
.map-card .sub{font-size:12.5px;color:var(--ink-3);}
.mc-role{display:inline-block;margin:11px 0 2px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:100px;}
.map-card .ttl{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:800;margin-top:14px;}
.mc-list{margin-top:6px;max-height:184px;overflow:auto;margin-right:-6px;padding-right:2px;}
.mc-conn{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:9px;cursor:pointer;transition:.12s;}
.mc-conn:hover{background:var(--paper-2);}
.mc-conn .dotc{width:9px;height:9px;border-radius:50%;flex:none;}
.mc-conn .mn{font-size:13px;font-weight:600;flex:1;}
.mc-conn .ml{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.mc-conn .ml.sup{color:var(--map-ink);}.mc-conn .ml.use{color:var(--brand-ink);}
.mc-add{margin-top:14px;width:100%;justify-content:center;}
/* community chip + panel */
.map-commchip{position:absolute;right:14px;top:14px;z-index:25;background:var(--ink);color:var(--paper);border:none;border-radius:100px;padding:9px 15px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-lg);}
.map-commchip:hover{background:var(--ink-2);}
.map-commchip b{background:var(--brand-fill);color:var(--cream);border-radius:100px;padding:1px 9px;font-size:12px;}
.map-commpanel{position:absolute;right:14px;top:58px;width:288px;max-width:calc(100% - 28px);max-height:calc(100% - 76px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:14px 16px;z-index:26;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s;backdrop-filter:blur(8px);}
.map-commpanel.open{opacity:1;transform:none;pointer-events:auto;}
.cm-item{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:10px;cursor:pointer;}
.cm-item:hover{background:var(--paper-2);}
.cm-item .mn{font-size:13px;font-weight:600;line-height:1.15;}
.cm-item .ml{font-size:11px;color:var(--ink-3);}
.cm-item .rm{color:var(--ink-3);font-size:14px;padding:2px 7px;border-radius:6px;}
.cm-item .rm:hover{color:var(--brand-ink);background:var(--card);}
.cm-empty{font-size:13px;color:var(--ink-3);text-align:center;padding:18px 8px;line-height:1.5;}
.pk-body{stroke:none;}
.pk-art .pk-body{fill:#fff;stroke:rgba(25,34,46,.22);stroke-width:3;}
.pk-sup .pk-body{fill:var(--map-blue);}
.pk-use .pk-body{fill:var(--terracotta);}
.pk-glyph{stroke:#fff;stroke-width:9;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.pk-art .pk-glyph{stroke:var(--forest);}
.map-pin .ptip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--ink);color:var(--paper);border-radius:10px;padding:9px 12px;width:max-content;max-width:230px;font-size:12.5px;line-height:1.4;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:.14s;z-index:40;}
.map-pin:hover .ptip,.map-pin.sel .ptip{opacity:1;transform:translateX(-50%) translateY(0);}
.map-pin .ptip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink);}
.ptip .pn{font-weight:800;font-size:13px;display:block;color:var(--paper);}
.ptip .pl{color:var(--paper-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:1px;}
.ptip .pr{color:var(--paper-2);margin-top:5px;display:block;}
.ptip .ptag{display:inline-block;margin-top:7px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:100px;}
.ptag.t-art{background:var(--forest);color:var(--cream);}
.ptag.t-sup{background:var(--map-blue-d);color:var(--cream);}
.ptag.t-use{background:var(--brand-fill);color:var(--cream);}
.map-legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);background:var(--glass);}
.lg-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);}
.lg-pk{width:15px;height:18px;flex:none;}
.lg-item b{color:var(--ink);font-weight:800;}
.map-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px;}
.map-stats .stat .v{font-family:var(--anton);font-weight:400;font-size:30px;}
.map-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.map-filter button{font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:100px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);transition:.14s;}
.map-filter button:hover{border-color:var(--brand-ink);color:var(--ink);}
.map-filter button.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.conn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px;}
.conn-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);}
.conn-card .ch{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
.conn-card .ch h3{font-size:17px;}
.conn-card .ch .lo{font-size:12.5px;color:var(--ink-3);}
.conn-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;}
.conn-row .nm{font-weight:600;}
.conn-row .lc{font-size:11.5px;color:var(--ink-3);}
.conn-count{margin-left:auto;font-size:12px;font-weight:800;color:var(--ink-2);}
@media(max-width:880px){
  .map-stats{grid-template-columns:repeat(2,1fr);}
  .conn-grid{grid-template-columns:1fr;}
  .cols-4,.cols-3,.cols-2,.models,.frow,.frow3{grid-template-columns:1fr;}
  .optgrid,.licdo,.chart2col .chbody,.infogrid{grid-template-columns:1fr;column-count:1;}
  /* Navigation moves to its own scrollable row rather than disappearing —
     hiding it left phones with no way through the app at all. */
  .topbar .row{height:auto;padding:10px 0;flex-wrap:wrap;gap:10px 14px;}
  .search{display:none;}
  .navlinks{order:3;width:100%;margin-left:0;overflow-x:auto;overscroll-behavior-x:contain;gap:4px;padding-bottom:2px;scrollbar-width:none;}
  .navlinks::-webkit-scrollbar{display:none;}
  .navlinks a{flex:none;}
  .song-hero,.two,.artist-hero{grid-template-columns:1fr;}
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .song-hero .cover{height:220px;}
  .mtbar .meta{display:none;}
  .themetoggle{margin-left:auto;}
}
/* Phones: the account control keeps its avatar and drops the words. */
@media(max-width:560px){
  .acct .nm,.acct .rl{display:none;}
  .acct{padding:5px;}
  .brand .wordmark span{display:none;}
  .wrap{padding:0 18px;}
  /* Grid and flex children default to min-width:auto, so a long song title
     props the whole column open past the viewport. */
  .two>*,.song-hero>*,.artist-hero>*,.setrow>*{min-width:0;}
  .setrow{flex-wrap:wrap;gap:10px;}
  .setrow .btn{flex:none;}
  /* One column, with the chips reading as a line under the song rather than
     stranded in their own grid tracks. */
  .hand-row{grid-template-columns:1fr;gap:9px;}
  .hand-meta{justify-content:flex-start;}
  .hand-cross{gap:8px;}
  .hand-cross .nm{font-size:10px;letter-spacing:.07em;}
  .modal{padding:24px 20px;}
  .hand-sum{gap:12px;flex-wrap:wrap;}
  .set-foot{align-items:flex-start;}
}

/* ---------- THEME TOGGLE ---------- */
.themetoggle{flex:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;padding:0;}
.themetoggle:hover{color:var(--ink);border-color:var(--ink-3);}
.themetoggle svg{width:18px;height:18px;}

/* ---------- DRAG & DROP ---------- */
.setrow[data-dnd]{cursor:default;}
.setrow .grip{flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-3);cursor:grab;opacity:.55;transition:.15s;margin-right:-6px;width:16px;}
.setrow:hover .grip{opacity:1;color:var(--ink-2);}
.setrow .grip:active{cursor:grabbing;}
.setrow.dnd-dragging{opacity:.5;background:var(--paper-2);border-radius:10px;}
.open-list.dnd-active{outline:2px dashed var(--brand);outline-offset:4px;border-radius:12px;}
.stat-row .s.dashtile{position:relative;cursor:grab;border-radius:12px;transition:background .15s;}
.stat-row .s.dashtile:active{cursor:grabbing;}
.stat-row.dnd-active{outline:2px dashed var(--brand);outline-offset:6px;border-radius:14px;}
.dashtile .dash-grip{position:absolute;top:0;right:14px;color:var(--ink-3);opacity:0;transition:.15s;display:flex;}
.stat-row .s.dashtile:first-child .dash-grip{right:14px;}
.dashtile:hover .dash-grip{opacity:.85;}
.dashtile.dnd-dragging{opacity:.5;background:var(--paper-2);}

/* ---------- DARK MODE ----------
   Warm charcoal, not blue-black. Win the Week's dark surfaces are neutral
   charcoal; LWP sits a few degrees warmer because it is the warmer sister,
   close enough that an embedded Win the Week panel reads as the same room.
   Fills stay saturated. INK roles brighten so accent text survives the flip. */
html.dark{
  --paper:#15140F; --paper-2:#1F1D17; --paper-3:#2B2820;
  --line:#38342B; --ink:#F3EFE6; --ink-2:#B4ADA0; --ink-3:#948C7F;
  --card:#1F1D17; --topbar:rgba(21,20,15,.93); --topbar-line:#332F27;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 10px 30px rgba(0,0,0,.5);
  --shadow-lg:0 20px 60px rgba(0,0,0,.6);

  /* Brand tints deepen, brand ink brightens */
  --brand-soft:#3A2018; --brand-line:#5C332A; --brand-ink:#E4836B;
  --accent-soft:#332715; --accent-line:#584626; --accent-ink:#E8B45F;

  /* Sister brand, dark — Win the Week's own remaps */
  --wtw-soft:#3E201D; --wtw-line:#7C3832; --wtw-ink:#ff8d7f;
  --pray-soft:#15383D; --pray-line:#1C555C; --pray-ink:#5bb3bf;
  --glass:rgba(31,29,23,.96);
  --deep-ink:#9CC49C; --deep-tint:rgba(156,196,156,.14);
  --map-ink:#8CBBDD; --map-tint:rgba(140,187,221,.14);

  /* Status, dark — Win the Week's exact values again */
  --ok-tint:#18301f; --ok-ink:#6cc296; --ok-border:#2c5440;
  --wait-tint:#342716; --wait-ink:#e0a352; --wait-border:#5c4626;
  --no-tint:#3a1f1f; --no-ink:#ec8079; --no-border:#5c3331;
}
html.dark body{background:var(--paper);}
html.dark .toast{background:#05080C;color:var(--cream);}
html.dark .navlinks a.active{color:var(--accent-ink);background:var(--brand-soft);}
html.dark .assistant{background:linear-gradient(135deg,var(--card),var(--paper-3));border-color:var(--line);}
html.dark .about-hero{background:var(--paper);}
/* Mirrors the light scrim's two stops. At a single stop the copy nearest the
   sand blob was left sitting on it at roughly 2:1. */
html.dark .about-hero .inner::before{background:radial-gradient(ellipse 68% 60% at 40% 50%,rgba(21,20,15,.93) 0%,rgba(21,20,15,.82) 44%,rgba(21,20,15,0) 80%);}
html.dark .songcard .art .play{background:rgba(31,29,23,.88);color:var(--accent-ink);}
html.dark .b-key{background:var(--paper-3);color:var(--ink-2);}
html.dark .b-free{color:#E89B73;}
html.dark .tier .amt,html.dark .navlinks a:hover{color:var(--accent-ink);}
html.dark .acct,html.dark .menu{box-shadow:none;}

/* ============================================================
   IMPECCABLE REDESIGN · THE LIVING SETLIST

   THESIS: A local song should feel like a cultural release and a
   production-ready worship tool in the same breath. This refuses the
   category's centered promise-plus-card-grid homepage.

   OWN-WORLD: Stage Night and Rehearsal Ink own full fields; cream paper,
   terracotta, ochre and forest carry setlists, tracks and human voices.
   Tight controls live beside 24px cinematic frames.

   STORY: Hear one complete local song, see everything it includes, put it
   into Sunday, then meet and support the person who wrote it.

   FIRST VIEWPORT: A poster-scale claim fills the left; a playable album and
   stem console fill the right; the primary play action sits at the seam.

   FORM: The Living Setlist, first-ranked direction, album-release staging.
   User-pinned reference world: Artlist × MultiTracks, translated through LWP.
   ============================================================ */
:root{
  --night:#0D1117;
  --night-2:#121A22;
  --night-3:#1A2530;
  --maxw:1240px;
  --shadow-stage:0 26px 80px rgba(4,8,12,.32);
}
body{background:var(--cream);}
.topbar{background:rgba(13,17,23,.96);border-bottom:1px solid rgba(222,212,184,.13);box-shadow:none;backdrop-filter:saturate(150%) blur(18px);}
.topbar .row{height:72px;gap:18px;}
.brand{gap:12px;min-width:max-content;}
.brand .logomark{width:31px;height:37px;filter:none;}
.brand .wordmark b{color:var(--cream);font-size:14px;letter-spacing:-.01em;}
.brand .wordmark span{color:var(--ochre);font-size:9px;letter-spacing:.31em;margin-top:4px;}
.navlinks{gap:0;margin-left:14px;}
.navlinks a{position:relative;color:rgba(250,247,240,.66);font-size:12px;font-weight:700;padding:26px 9px 24px;border-radius:0;letter-spacing:.015em;}
.navlinks a:hover{background:none;color:var(--cream);}
.navlinks a.active{color:var(--cream);background:none;}
.navlinks a.active::after{content:"";position:absolute;left:9px;right:9px;bottom:0;height:3px;background:var(--terracotta);}
.search{flex-basis:220px;}
.search input{background:rgba(250,247,240,.07);border-color:rgba(250,247,240,.12);color:var(--cream);border-radius:8px;padding-top:10px;padding-bottom:10px;}
.search input::placeholder{color:rgba(250,247,240,.48);}
.search svg{color:var(--sand);}
.search input:focus{border-color:var(--ochre);box-shadow:0 0 0 3px rgba(224,169,78,.15);}
.themetoggle,.acct{background:rgba(250,247,240,.07);border-color:rgba(250,247,240,.13);color:var(--cream);}
.themetoggle:hover,.acct:hover{border-color:rgba(224,169,78,.55);}
.acct .nm{color:var(--cream);}.acct .rl{color:rgba(222,212,184,.68);}
.menu{background:var(--night-2);border-color:rgba(222,212,184,.16);color:var(--cream);}
.menu .item:hover{background:rgba(250,247,240,.07);}
.menu .item small,.menu .hd{color:rgba(222,212,184,.66);}
.menu .item.cur{background:rgba(199,86,64,.2);}
.menu .item:focus-visible{outline:2px solid var(--ochre);outline-offset:2px;background:rgba(250,247,240,.08);}

/* Product-truth rail: the prototype contains seeded people and activity. */
.demo-truth{background:var(--ochre);color:var(--night);min-height:30px;display:flex;align-items:center;justify-content:center;padding:6px 18px;font-size:10px;font-weight:900;letter-spacing:.085em;text-transform:uppercase;text-align:center;position:relative;z-index:49;}
.demo-truth b{font-weight:900;margin-right:7px;}.demo-truth span{opacity:.78;letter-spacing:.045em;text-transform:none;font-weight:700;}

.btn{min-height:42px;border-radius:10px;padding:11px 19px;transition:transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast),color var(--t-fast);}
.btn:hover{transform:translateY(-2px);}.btn:active{transform:translateY(1px);}
.btn.solid{background:var(--brand-fill);box-shadow:0 10px 24px rgba(168,67,44,.18);}
.btn.solid:hover{background:var(--terra-d);box-shadow:0 14px 28px rgba(168,67,44,.24);}
.btn.clay{background:var(--ochre);}
.btn.sm{min-height:34px;padding:7px 13px;}
.page{padding:54px 0 104px;}
.page>.eyebrow:first-child,.wrap.page>.eyebrow:first-child{margin-bottom:10px;}
.sec-title h2,.page>h2{letter-spacing:-.025em;}
.card{box-shadow:none;}

/* Release covers are authored from song data; the waveform is content. */
.songgrid{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:26px 18px;}
.songcard .art{height:236px;border-radius:14px;padding:18px;background-color:var(--night)!important;isolation:isolate;box-shadow:0 14px 34px rgba(6,10,15,.12);}
.songcard .art::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 78% 18%,rgba(250,247,240,.13),transparent 28%),linear-gradient(153deg,transparent 0 56%,rgba(13,17,23,.4) 56% 100%);}
.songcard .art::after{content:"";position:absolute;left:18px;right:18px;bottom:54px;height:1px;background:rgba(250,247,240,.7);box-shadow:0 -5px 0 rgba(250,247,240,.12),0 6px 0 rgba(250,247,240,.12);}
.songcard .art .play{top:auto;right:16px;bottom:16px;width:42px;height:42px;background:var(--cream);color:var(--terra-d);z-index:3;}
.songcard .art .kk{display:none;}
.songcard .cover-kicker{position:absolute;top:16px;left:18px;color:rgba(250,247,240,.76);font-size:10px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;}
.songcard .cover-title{font-family:var(--anton);font-size:34px;line-height:.92;text-transform:uppercase;color:var(--cream);max-width:7ch;letter-spacing:-.01em;margin-bottom:24px;position:relative;z-index:2;}
.songcard .cover-wave{position:absolute;left:18px;right:68px;bottom:25px;height:28px;z-index:2;color:var(--cream);--wf-base-o:.9;}
.songcard:hover .art{transform:translateY(-7px);box-shadow:0 24px 52px rgba(6,10,15,.28);}
.songcard .bd{padding:15px 2px 8px;}
.songcard .bd h4{font-size:18px;letter-spacing:-.02em;}
.songcard .by{font-size:13px;margin-top:2px;}
.songcard .tags{margin-top:10px;}

/* Home · first viewport */
.lp-home{background:var(--cream);overflow:hidden;}
.lp-hero{position:relative;background:var(--night);color:var(--cream);min-height:calc(100vh - 72px);display:flex;flex-direction:column;overflow:hidden;}
.lp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 28%,rgba(44,58,44,.38),transparent 34%),radial-gradient(circle at 18% 78%,rgba(199,86,64,.12),transparent 30%);pointer-events:none;}
.lp-hero-grid{width:min(100% - 56px,var(--maxw));margin:auto;display:grid;grid-template-columns:.82fr 1.28fr;gap:54px;align-items:center;padding:56px 0 42px;position:relative;z-index:1;}
.lp-hero-copy{padding:24px 0;}
.lp-kicker{display:flex;align-items:center;gap:10px;color:var(--ochre);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:20px;}
.lp-kicker::before{content:"";width:30px;height:2px;background:var(--terracotta);}
.lp-hero h1{font-family:var(--anton);font-size:clamp(64px,8vw,112px);line-height:.82;letter-spacing:-.025em;text-transform:uppercase;color:var(--cream);max-width:6.4ch;text-wrap:balance;}
.lp-hero h1 em{display:block;color:var(--ochre);font-style:normal;}
.lp-hero-copy>p{color:rgba(222,212,184,.84);font-size:17px;line-height:1.6;max-width:43ch;margin:28px 0 0;}
.lp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;}
.lp-play{background:var(--terracotta);color:var(--cream);border:0;box-shadow:0 14px 34px rgba(199,86,64,.24);}
.lp-play:hover{background:var(--terra-d);}
.lp-ghost{border:1px solid rgba(250,247,240,.24);color:var(--cream);background:transparent;}
.lp-ghost:hover{border-color:var(--ochre);color:var(--ochre);}
.lp-proof{display:flex;gap:22px;margin-top:34px;color:rgba(222,212,184,.62);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;}
.lp-proof span{display:flex;align-items:center;gap:7px;}.lp-proof i{width:5px;height:5px;background:var(--ochre);border-radius:50%;}

.lp-package{display:grid;grid-template-columns:minmax(240px,.86fr) minmax(300px,1.14fr);min-height:510px;background:var(--night-2);box-shadow:0 34px 100px rgba(2,5,8,.5),0 0 0 1px rgba(224,169,78,.08);border:1px solid rgba(222,212,184,.15);border-radius:24px;overflow:hidden;position:relative;}
.lp-package::after{content:"LWP · 001";position:absolute;right:19px;bottom:8px;color:rgba(222,212,184,.28);font-size:8px;font-weight:900;letter-spacing:.18em;pointer-events:none;}
.lp-album{position:relative;background:var(--terracotta) url("LWP%20IMAGES/Website/about+us+pic.jpg") center/cover no-repeat;padding:28px;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;}
.lp-album{border:0;width:100%;text-align:left;font-family:inherit;cursor:pointer;color:inherit;}
.lp-album::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(13,17,23,.08) 0%,rgba(13,17,23,.04) 34%,rgba(13,17,23,.93) 100%);}
.lp-album::after{content:"";position:absolute;z-index:-1;inset:0;border:12px solid rgba(222,212,184,.08);box-shadow:inset 0 0 80px rgba(13,17,23,.3);}
.lp-album-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--cream);font-size:10px;letter-spacing:.12em;font-weight:900;text-transform:uppercase;text-shadow:0 2px 12px rgba(13,17,23,.7);}
.lp-album-mark{width:38px;height:44px;color:var(--night);}
.lp-album-title{margin-top:auto;color:var(--cream);text-shadow:0 3px 18px rgba(13,17,23,.28);}
.lp-album-title b{display:block;font-family:var(--anton);font-size:clamp(46px,4.6vw,70px);line-height:.86;text-transform:uppercase;max-width:6ch;letter-spacing:-.015em;}
.lp-album-title span{display:block;color:var(--ochre);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-top:12px;}
.lp-console{padding:24px 22px 20px;display:flex;flex-direction:column;background-color:var(--night-2);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0,rgba(255,255,255,.014) 1px,transparent 1px,transparent 4px);min-width:0;box-shadow:inset 18px 0 40px rgba(0,0,0,.16);}
.lp-console-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(222,212,184,.14);}
.lp-console-head .name{font-size:11px;color:rgba(222,212,184,.66);letter-spacing:.09em;text-transform:uppercase;font-weight:800;}
.lp-console-head .live{font-size:10px;color:var(--ochre);font-weight:800;display:flex;align-items:center;gap:7px;}.lp-console-head .live i{width:6px;height:6px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 4px rgba(199,86,64,.14);}
.lp-master{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:17px 0 13px;}
.lp-master button{width:48px;height:48px;border:0;border-radius:50%;background:var(--cream);color:var(--terracotta);display:grid;place-items:center;transition:transform .2s var(--ease-out),background .2s;}
.lp-master button:hover{transform:scale(1.08);background:var(--ochre);}
.lp-wave{height:52px;position:relative;overflow:hidden;cursor:pointer;touch-action:none;color:var(--terracotta);--wf-base-o:.36;filter:drop-shadow(0 0 12px rgba(199,86,64,.22));}
.lp-console-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(222,212,184,.12);background:rgba(0,0,0,.16);margin:0 0 13px;}
.lp-console-strip span{padding:7px 9px;border-right:1px solid rgba(222,212,184,.1);font-size:8px;color:rgba(222,212,184,.52);font-weight:800;letter-spacing:.1em;text-transform:uppercase;}.lp-console-strip span:last-child{border:0}.lp-console-strip b{display:block;color:var(--cream);font-size:11px;letter-spacing:.02em;margin-top:2px;}
.lp-stem-list{border-top:1px solid rgba(222,212,184,.12);}
.lp-stem{display:grid;grid-template-columns:58px 1fr 46px 28px 28px;gap:7px;align-items:center;height:50px;border-bottom:1px solid rgba(222,212,184,.11);transition:opacity .15s;}.lp-stem.is-muted{opacity:.48;}
.lp-stem .nm{color:var(--cream);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.lp-stem .mini-wave{height:28px;position:relative;overflow:hidden;color:var(--sand);--wf-base-o:.34;}
.lp-level{width:46px;height:4px;accent-color:var(--ochre);cursor:pointer;}
.lp-stem button{width:27px;height:27px;border:1px solid rgba(222,212,184,.2);border-radius:6px;color:var(--sand);background:transparent;font-size:9px;font-weight:900;padding:0;}.lp-stem button:hover,.lp-stem button.on{border-color:var(--ochre);color:var(--night);background:var(--ochre);}
.lp-keyrow{display:flex;gap:4px;align-items:center;padding-top:16px;margin-top:auto;overflow-x:auto;}
.lp-keyrow span{font-size:9px;color:rgba(222,212,184,.55);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-right:4px;}
.lp-keyrow button{flex:0 0 27px;height:27px;border:1px solid rgba(222,212,184,.18);border-radius:5px;background:transparent;color:var(--sand);font-size:10px;font-weight:800;}.lp-keyrow button.on,.lp-keyrow button:hover{background:var(--ochre);border-color:var(--ochre);color:var(--night);}
.lp-resource-rail{position:relative;z-index:1;border-top:1px solid rgba(222,212,184,.13);background:#101720;min-height:74px;display:flex;align-items:center;justify-content:center;gap:0;color:var(--cream);}
.lp-resource-rail span{display:flex;align-items:center;gap:9px;padding:0 34px;font-size:11px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;}.lp-resource-rail span+span{border-left:1px solid rgba(222,212,184,.18);}.lp-resource-rail svg{color:var(--ochre);}

/* Home · Sunday workbench */
.lp-work{padding:96px 0 110px;background:var(--cream);position:relative;}
.lp-work .wrap{position:relative;}
.lp-section-head{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(380px,1.25fr);gap:60px;align-items:end;margin-bottom:38px;}
.lp-section-head .over{font-size:11px;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:10px;}
.lp-section-head h2{font-family:var(--anton);font-size:clamp(46px,6vw,76px);line-height:.88;text-transform:uppercase;letter-spacing:-.018em;color:var(--ink);max-width:9ch;}
.lp-section-head p{font-size:17px;color:var(--ink-2);max-width:52ch;margin:0;}
.lp-work-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:28px;align-items:start;}
.lp-set{background:var(--ink);color:var(--cream);border-radius:24px;padding:28px 30px 24px;box-shadow:var(--shadow-stage);}
.lp-set-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;border-bottom:1px solid rgba(222,212,184,.16);}
.lp-set-title small{display:block;color:var(--ochre);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:6px;}.lp-set-title h3{color:var(--cream);font-size:26px;letter-spacing:-.025em;}
.lp-set-time{text-align:right;color:var(--sand);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}.lp-set-time b{display:block;font-family:var(--anton);color:var(--cream);font-size:28px;line-height:1;letter-spacing:0;}
.lp-set .open-list{border:0;}.lp-set .setrow{border-color:rgba(222,212,184,.13);padding:15px 2px;color:var(--cream);}.lp-set .setrow:hover{background:rgba(250,247,240,.05);}.lp-set .setrow .muted{color:rgba(222,212,184,.63)!important;}.lp-set .setrow .num{color:var(--ochre);}.lp-set .setrow .grip{color:var(--sand);}.lp-set .btn.ghost{background:transparent;border-color:rgba(222,212,184,.2);color:var(--cream);}.lp-set .btn.ghost:hover{border-color:var(--ochre);color:var(--ochre);}.lp-set .set-foot{border-color:rgba(222,212,184,.14);}.lp-set .set-foot .len{color:var(--sand);}.lp-set .set-foot .len b{color:var(--cream);}
.lp-side-stack{display:grid;gap:18px;}
.lp-note-card{background:var(--ochre);color:var(--ink);padding:26px;border-radius:24px;min-height:250px;display:flex;flex-direction:column;}
.lp-note-card .label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;}.lp-note-card blockquote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.28;margin:26px 0 22px;}.lp-note-card .who{margin-top:auto;font-size:12px;font-weight:800;}.lp-note-card .who span{display:block;font-weight:500;opacity:.7;margin-top:2px;}
.lp-plan-card{background:var(--terracotta);color:var(--cream);padding:25px 26px;border-radius:24px;}.lp-plan-card .pwr-badge{background:rgba(13,17,23,.18);color:var(--cream);}.lp-plan-card h3{color:var(--cream);font-size:23px;margin:18px 0 7px;}.lp-plan-card p{color:rgba(250,247,240,.82);font-size:13.5px;margin:0 0 18px;}.lp-plan-card .btn{background:var(--cream);color:var(--terra-d);}
.lp-fresh{padding:0 0 108px;background:var(--cream);}.lp-fresh .sec-title{margin-bottom:24px;}.lp-fresh .sec-title h2{font-size:30px;}

/* Home · people and movement */
.lp-network{background:var(--forest);color:var(--cream);padding:108px 0;position:relative;overflow:hidden;}
.lp-network::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(224,169,78,.16);border-radius:50%;right:-120px;top:-160px;}
.lp-network-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:46px;position:relative;z-index:1;}
.lp-network .over{font-size:11px;color:var(--ochre);text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:12px;}.lp-network h2{font-family:var(--anton);font-size:clamp(48px,6vw,82px);line-height:.87;text-transform:uppercase;color:var(--cream);max-width:10ch;}.lp-network-head p{color:rgba(222,212,184,.82);font-size:17px;max-width:52ch;}
.lp-network-line{height:110px;position:relative;margin:0 0 38px;}.lp-network-line svg{width:100%;height:100%;overflow:visible;}.lp-network-line path{fill:none;stroke:var(--ochre);stroke-width:2;stroke-dasharray:6 10;opacity:.7;animation:dash 18s linear infinite;}.lp-network-line circle{fill:var(--terracotta);stroke:var(--cream);stroke-width:3;}.lp-network-line circle.artist{fill:var(--ochre);stroke:var(--ink);}.lp-network-line .pulse{transform-origin:center;animation:pulse 2.6s ease-out infinite;}
@keyframes dash{to{stroke-dashoffset:-160}}@keyframes pulse{0%{opacity:.8;transform:scale(.5)}100%{opacity:0;transform:scale(2.8)}}
.lp-artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1;}.lp-person{border-top:1px solid rgba(222,212,184,.3);padding:22px 10px 0 0;cursor:pointer;transition:transform .2s var(--ease-out);}.lp-person:hover{transform:translateY(-6px);}.lp-person-top{display:flex;align-items:center;gap:13px;}.lp-person h3{color:var(--cream);font-size:17px;}.lp-person .loc{color:rgba(222,212,184,.62);font-size:11px;}.lp-person p{color:rgba(222,212,184,.78);font-size:13px;line-height:1.5;margin:14px 0 0;}
.lp-close{background:var(--terracotta);color:var(--cream);padding:88px 0;}.lp-close .wrap{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;}.lp-close h2{font-family:var(--anton);font-size:clamp(48px,6vw,84px);line-height:.88;text-transform:uppercase;color:var(--cream);max-width:12ch;}.lp-close p{color:rgba(250,247,240,.82);max-width:48ch;margin:18px 0 0;}.lp-close .btn{background:var(--cream);color:var(--terra-d);min-width:190px;justify-content:center;}

/* Global operative surfaces inherit the same room, without sacrificing task clarity. */
.song-hero{grid-template-columns:300px 1fr;gap:52px;padding-top:16px;}.song-hero .cover{width:100%;height:300px;border-radius:24px;box-shadow:var(--shadow-stage);position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:24px;}.song-hero .cover::before{content:"";position:absolute;z-index:-2;width:230px;height:230px;border-radius:50%;background:var(--ochre);left:50%;top:42px;transform:translateX(-50%);opacity:.86}.song-hero .cover::after{content:"";position:absolute;z-index:-1;left:-6%;right:-6%;height:118px;bottom:0;background:var(--forest);clip-path:polygon(0 55%,15% 40%,29% 61%,44% 36%,61% 60%,76% 43%,91% 57%,100% 39%,100% 100%,0 100%)}.song-hero .album-kicker{position:absolute;top:20px;left:22px;color:var(--cream);font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.song-hero .album-word{font-family:var(--anton);font-size:42px;line-height:.86;text-transform:uppercase;color:var(--cream);max-width:6ch;position:relative;z-index:2;text-shadow:0 4px 18px rgba(13,17,23,.25)}.song-hero .album-wave{height:26px;width:68%;position:relative;z-index:2;margin-top:12px;color:var(--ochre);--wf-base-o:1}.song-hero .cover .kk{position:absolute;right:18px;bottom:18px;z-index:3;background:var(--cream);color:var(--terra-d);box-shadow:0 8px 18px rgba(13,17,23,.18)}.song-hero h1{font-size:clamp(50px,6vw,76px);}.mtp{background:var(--night);color:var(--cream);border:0;border-radius:24px;box-shadow:var(--shadow-stage);}.mtp .eyebrow,.mtp .mtp-hd .eyebrow{color:var(--ochre);}.mtp .mtp-hd .ld,.mtp .keyrow .lab,.mtp .hint{color:rgba(222,212,184,.65);}.mtp .keybtn,.mtp .msbtn{background:var(--night-2);border-color:rgba(222,212,184,.18);color:var(--cream);}.mtp .keybtn.on{background:var(--ochre);color:var(--night);}.mtp .stemrow{border-bottom:1px solid rgba(222,212,184,.1);border-radius:0;}.mtp .stemrow:hover{background:rgba(250,247,240,.05);}.mtp .stemrow .nm{color:var(--cream);}.mtp .stemrow .wave{color:rgba(222,212,184,.85);--wf-base-o:.34;}.artist-item{border-radius:16px;transition:transform .2s var(--ease-out),background .2s;}.artist-item:hover{transform:translateY(-5px);}
.mtbar{background:rgba(13,17,23,.97);border-color:rgba(222,212,184,.15);color:var(--cream);}.mtbar .meta span,.mtbar .time,.mtbar .x{color:rgba(222,212,184,.66);}
.songtabs{scrollbar-width:none;}.songtabs::-webkit-scrollbar{display:none;}
.songcard .art.real-release,.song-hero .cover.real-release{background:var(--terracotta) url("LWP%20IMAGES/Website/about+us+pic.jpg") center/cover no-repeat!important;}
.songcard .art.real-release::before,.song-hero .cover.real-release::before{inset:0;width:auto;height:auto;left:0;top:0;transform:none;border-radius:0;background:linear-gradient(180deg,rgba(13,17,23,.08),rgba(13,17,23,.9));opacity:1;}
.songcard .art.real-release::after{left:16px;right:16px;bottom:54px;background:rgba(250,247,240,.7);box-shadow:0 -5px 0 rgba(250,247,240,.12),0 6px 0 rgba(250,247,240,.12);}
.song-hero .cover.real-release::after{inset:0;height:auto;background:linear-gradient(180deg,transparent 22%,rgba(13,17,23,.86) 100%);clip-path:none;}

@media(max-width:1100px){
  .lp-hero-grid{grid-template-columns:1fr;gap:32px;padding-top:72px;}.lp-hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-items:end;}.lp-hero-copy .lp-kicker,.lp-hero-copy h1{grid-column:1}.lp-hero-copy>p,.lp-hero-actions,.lp-proof{grid-column:2}.lp-hero-copy>p{grid-row:2;margin-top:0}.lp-hero-actions{grid-row:3}.lp-proof{grid-row:4}.lp-hero h1{font-size:clamp(70px,11vw,108px)}.lp-package{min-height:480px}.lp-resource-rail{overflow-x:auto;justify-content:flex-start}.lp-resource-rail span{padding:0 24px}.lp-work-grid{grid-template-columns:1fr}.lp-side-stack{grid-template-columns:1fr 1fr}.lp-note-card{min-height:0}.lp-artist-grid{grid-template-columns:repeat(2,1fr);gap:34px 18px}.lp-close .wrap{grid-template-columns:1fr}.lp-close .btn{justify-self:start}
}
@media(min-width:881px) and (max-width:1100px){
  .topbar .row{gap:10px}.search{display:none}.acct{padding:5px}.acct .nm,.acct .rl{display:none}
  .lp-hero-grid{grid-template-columns:.64fr 1.36fr;gap:24px;padding:42px 0 34px}.lp-hero-copy{display:block}.lp-hero-copy>p{margin-top:22px;font-size:14px}.lp-hero-actions{margin-top:22px}.lp-proof{gap:10px;flex-wrap:wrap;margin-top:24px}.lp-hero h1{font-size:clamp(60px,8vw,78px)}.lp-package{grid-template-columns:minmax(168px,.76fr) minmax(255px,1.24fr);min-height:468px}.lp-album{padding:20px}.lp-album::before{width:220px;height:220px;top:92px}.lp-album-title b{font-size:46px}.lp-console{padding:20px 16px 16px}.lp-stem{grid-template-columns:48px 1fr 28px 28px;gap:6px}.lp-resource-rail span{padding:0 18px}
}
@media(max-width:880px){
  .topbar .row{padding:10px 0 8px}.navlinks a{padding:8px 10px;border-radius:7px}.navlinks a.active::after{display:none}.navlinks a.active{background:rgba(199,86,64,.2)}.lp-hero{min-height:auto}.lp-hero-grid{width:min(100% - 36px,var(--maxw));padding:64px 0 34px}.lp-hero-copy{display:block}.lp-hero-copy>p{margin-top:22px}.lp-hero h1{font-size:clamp(62px,17vw,96px)}.lp-package{grid-template-columns:1fr;min-height:0}.lp-album{min-height:430px}.lp-console{min-height:430px}.lp-section-head,.lp-network-head{grid-template-columns:1fr;gap:24px}.lp-section-head h2,.lp-network h2{max-width:12ch}.lp-network-line{display:none}.lp-work{padding:78px 0 90px}.lp-network{padding:82px 0}.song-hero{grid-template-columns:1fr}.song-hero .cover{height:300px}
}
@media(max-width:560px){
  .lp-hero-grid{width:calc(100% - 32px);padding-top:42px}.lp-hero h1{font-size:62px}.lp-hero-copy>p{font-size:15px}.lp-proof{gap:12px;flex-wrap:wrap}.lp-package{border-radius:18px}.lp-album{min-height:360px;padding:22px}.lp-console{padding:20px 16px;min-height:400px}.lp-stem{grid-template-columns:48px 1fr 28px 28px}.lp-resource-rail{min-height:64px}.lp-resource-rail span{padding:0 18px}.lp-section-head h2,.lp-network h2,.lp-close h2{font-size:50px}.lp-work-grid{gap:18px}.lp-set{padding:22px 18px;border-radius:18px}.lp-set .setrow{display:grid;grid-template-columns:16px 22px 34px 1fr}.lp-set .setrow .gr{grid-column:4;justify-content:flex-start}.lp-side-stack{grid-template-columns:1fr}.lp-artist-grid{grid-template-columns:1fr}.lp-close{padding:68px 0}.lp-fresh{padding-bottom:76px}.songgrid{grid-template-columns:1fr 1fr;gap:18px 10px}.songcard .art{height:190px;padding:14px}.songcard .cover-title{font-size:26px}.songcard .cover-kicker{left:14px;top:13px}.songcard .cover-wave{left:14px;right:56px}.songcard .art .play{width:36px;height:36px;right:12px;bottom:12px}.songcard .tags{display:none}
}
@media(min-width:881px) and (max-width:1100px){
  .lp-album::before{inset:0;width:auto;height:auto;top:0;left:0;transform:none;border-radius:0}
  .lp-stem{grid-template-columns:48px 1fr 38px 28px 28px;gap:5px}.lp-level{width:38px}
}
@media(max-width:560px){
  .lp-stem{grid-template-columns:48px 1fr 38px 28px 28px;gap:5px}.lp-level{width:38px}.demo-truth{font-size:9px;padding-inline:12px}
}

/* ============================================================
   HOME V3 · THE RECORDING ROOM

   THESIS: The homepage is a release in progress—not a marketing page
   decorated with music cards. It refuses the centered SaaS hero.

   OWN-WORLD: Charcoal stage space, warm practical light, sharp record
   sleeves, cream paper, hairline console rules, terracotta action.

   STORY: Hear one real song, inspect its parts, see it enter Sunday,
   then meet the people the system is designed to serve.

   FIRST VIEWPORT: Room-scale headline at left; artwork and a working
   stem desk form one continuous instrument at right; play sits below copy.

   FORM: Editorial release spread, user-pinned LWP Concept composition.
   ============================================================ */
body.hp-route{background:#0b1014;}
body.hp-route .topbar{background:#0b1116;border-bottom:1px solid rgba(222,212,184,.1);backdrop-filter:none;}
body.hp-route .topbar .row{height:70px;max-width:1500px;}
body.hp-route .search{display:none;}
body.hp-route .navlinks{margin-left:auto;margin-right:auto;gap:18px;}
body.hp-route .navlinks a{font-family:var(--anton);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:24px 8px 21px;color:rgba(250,247,240,.82);}
body.hp-route .navlinks a.active::after{height:2px;background:var(--terracotta);}
body.hp-route .demo-truth{min-height:24px;padding:4px 18px;background:#11191f;color:rgba(222,212,184,.7);border-bottom:1px solid rgba(222,212,184,.08);font-size:9px;letter-spacing:.1em;}
body.hp-route .demo-truth b{color:var(--ochre);}

.hp-home{--hp-night:#090e12;--hp-panel:#11191a;--hp-cream:#f3ead8;--hp-ink:#19222e;--hp-forest:#2c3a2c;--hp-muted:#52606a;--hp-line:rgba(236,224,198,.2);background:var(--hp-cream);overflow:hidden;}
.hp-hero{position:relative;min-height:calc(100vh - 94px);display:flex;flex-direction:column;color:var(--hp-cream);background-color:var(--hp-night);background-image:linear-gradient(90deg,rgba(7,12,16,.98) 0%,rgba(7,12,16,.82) 31%,rgba(7,12,16,.26) 58%,rgba(7,12,16,.72) 100%),linear-gradient(0deg,rgba(7,12,16,.84) 0%,transparent 48%),url("/assets/home-v2/hero-rehearsal-room-v1.jpg");background-size:cover;background-position:center;isolation:isolate;}
.hp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -100px 110px rgba(5,8,10,.58);z-index:-1;}
.hp-stage{width:min(calc(100% - 56px),1500px);margin:auto;display:grid;grid-template-columns:minmax(340px,.92fr) minmax(300px,.7fr) minmax(340px,.84fr);grid-template-rows:auto auto;column-gap:14px;row-gap:14px;align-items:center;padding:28px 0 24px;}
.hp-copy{align-self:center;padding-right:18px;position:relative;z-index:2;}
.hp-copy h1{font-family:var(--anton);font-size:clamp(64px,6.2vw,96px);line-height:.94;letter-spacing:-.025em;text-transform:uppercase;color:var(--hp-cream);max-width:8ch;text-wrap:balance;text-shadow:0 8px 42px rgba(0,0,0,.36);}
.hp-copy h1>span,.hp-copy h1 em{font-style:normal;color:var(--hp-cream);display:block;white-space:nowrap;}
.hp-copy h1 em:last-child{color:var(--ochre);}
.hp-copy .dot{color:var(--terracotta);}
.hp-subline{font-size:clamp(16px,1.25vw,20px);font-weight:750;line-height:1.42;letter-spacing:-.02em;color:var(--hp-cream);margin:22px 0 0;max-width:34ch;text-wrap:balance;}
.hp-copy .lp-play{margin-top:20px;min-width:236px;min-height:58px;border-radius:0;font-family:var(--anton);font-size:19px;letter-spacing:.055em;text-transform:uppercase;justify-content:center;background:var(--terracotta);box-shadow:14px 14px 0 rgba(5,8,10,.34);}
.hp-copy .lp-play:hover{transform:translate(-2px,-2px);box-shadow:17px 17px 0 rgba(5,8,10,.4);}

.hp-album{position:relative;aspect-ratio:1;background:url("/assets/home-v2/album-by-your-word-v1.jpg") center/cover no-repeat;border:1px solid rgba(236,224,198,.34);box-shadow:0 24px 64px rgba(0,0,0,.46);overflow:hidden;cursor:pointer;color:var(--hp-cream);font-family:inherit;text-align:left;padding:0;align-self:center;}
.hp-album::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,12,.05) 35%,rgba(6,10,12,.9) 100%);}
.hp-album::after{content:"";position:absolute;inset:14px;border:1px solid rgba(236,224,198,.18);pointer-events:none;}
.hp-album-copy{position:absolute;left:26px;right:22px;bottom:24px;z-index:2;text-shadow:0 3px 22px rgba(0,0,0,.68);}
.hp-album-copy b{display:block;font-family:var(--anton);font-size:clamp(34px,3vw,46px);line-height:.84;text-transform:uppercase;letter-spacing:-.02em;max-width:none;white-space:nowrap;}
.hp-album-copy span{display:block;margin-top:12px;color:var(--ochre);font-size:12px;font-weight:900;letter-spacing:.095em;text-transform:uppercase;}
.hp-album-seal{position:absolute;top:22px;left:24px;z-index:2;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,247,240,.85);}

.hp-mixer{align-self:start;min-width:0;border:1px solid rgba(236,224,198,.22);background:rgba(10,16,17,.92);box-shadow:0 24px 64px rgba(0,0,0,.38);display:flex;flex-direction:column;position:relative;}
/* master and track rows share one grid so every lane lines up under one playhead */
.hp-master{display:grid;grid-template-columns:25px 62px 1fr 26px 26px 54px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--hp-line);}
.hp-master button{grid-column:1/3;justify-self:start;width:42px;height:42px;border:1px solid rgba(236,224,198,.42);background:transparent;color:var(--hp-cream);display:grid;place-items:center;border-radius:0;}
.hp-master button:hover{background:var(--terracotta);border-color:var(--terracotta);}
.hp-master-wave{height:44px;position:relative;overflow:hidden;cursor:pointer;touch-action:none;color:var(--sand);--wf-base-o:.3;--wf-played:var(--cream);}
.hp-master-wave:hover{--wf-base-o:.44;}
.hp-time{grid-column:4/-1;justify-self:end;font-size:11px;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgba(222,212,184,.62);white-space:nowrap;}
.hp-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;z-index:4;pointer-events:none;background:var(--terracotta);box-shadow:0 0 10px rgba(199,86,64,.55);left:calc(var(--lane-l,0px) + var(--lane-w,0px) * var(--wf-p,0));}
.hp-playhead::before{content:"";position:absolute;top:0;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--terracotta);}
.hp-tracks{display:flex;flex-direction:column;flex:1;}
.hp-track{--track:#d8ccb2;display:grid;grid-template-columns:25px 62px 1fr 26px 26px 54px;gap:8px;align-items:center;min-height:54px;padding:7px 12px;border-bottom:1px solid var(--hp-line);transition:background .16s,opacity .16s;}
.hp-track:hover{background:rgba(250,247,240,.035);}.hp-track.is-muted{opacity:.42;}
.hp-track .track-ic{color:var(--track);display:grid;place-items:center;}.hp-track .nm{font-family:var(--anton);color:var(--hp-cream);font-size:12px;letter-spacing:.055em;text-transform:uppercase;}
.hp-track-wave{height:30px;position:relative;overflow:hidden;cursor:pointer;touch-action:none;color:var(--track);--wf-base-o:.3;}
.hp-track-wave:hover{--wf-base-o:.46;}
.hp-track button{width:25px;height:25px;padding:0;border:1px solid rgba(236,224,198,.28);border-radius:0;background:transparent;color:var(--hp-cream);font-size:9px;font-weight:900;}.hp-track button:hover,.hp-track button.on{background:var(--track);border-color:var(--track);color:#081013;}
.hp-track input{width:54px;height:4px;accent-color:var(--track);}
.hp-keybar{grid-column:2/4;display:flex;align-items:center;gap:5px;padding:11px 13px;border:1px solid rgba(236,224,198,.2);background:rgba(10,16,17,.9);overflow-x:auto;}
.hp-keybar span{font-family:var(--anton);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-right:7px;}
.hp-keybar button{flex:1 0 34px;height:36px;border:1px solid rgba(236,224,198,.25);border-radius:0;background:transparent;color:var(--hp-cream);font-family:var(--anton);font-size:13px;}.hp-keybar button.on,.hp-keybar button:hover{background:var(--ochre);border-color:var(--ochre);color:#0a1115;}
.hp-rail{margin-top:auto;min-height:66px;border-top:1px solid rgba(236,224,198,.18);background:rgba(8,13,16,.94);display:flex;align-items:center;justify-content:center;color:var(--hp-cream);}
.hp-rail span{display:flex;align-items:center;justify-content:center;gap:11px;min-width:190px;padding:0 34px;font-family:var(--anton);font-size:15px;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;}.hp-rail span+span::before{content:"/";color:var(--sand);font-family:var(--sans);font-size:25px;font-weight:300;margin-right:22px;}.hp-rail svg{color:var(--ochre);}

.hp-discover{background:var(--hp-cream);color:var(--hp-ink);padding:58px 0 66px;}
.hp-discover-inner{width:min(calc(100% - 56px),1500px);margin:auto;display:grid;grid-template-columns:minmax(440px,.86fr) minmax(600px,1.34fr);gap:48px;align-items:start;}
.hp-set{display:grid;grid-template-columns:190px 1fr;gap:26px;min-width:0;padding-right:40px;border-right:1px solid rgba(25,34,46,.18);}
.hp-set-intro{padding-top:12px;}.hp-set-intro h2,.hp-artists h2{font-family:var(--anton);font-size:clamp(34px,3vw,50px);line-height:.9;text-transform:uppercase;color:var(--hp-forest);letter-spacing:-.015em;}
.hp-set-intro p,.hp-artists-head p{font-size:14px;line-height:1.5;color:var(--hp-muted);margin:12px 0 0;}
.hp-set-intro .btn{margin-top:24px;border-radius:0;background:transparent;border:1px solid rgba(25,34,46,.48);color:var(--hp-ink);font-family:var(--anton);letter-spacing:.06em;text-transform:uppercase;}
.hp-set-list{border-top:1px solid rgba(25,34,46,.22);}
.hp-set-row{display:grid;grid-template-columns:68px 1fr 36px;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(25,34,46,.18);cursor:pointer;}
.hp-set-row img{width:68px;height:68px;object-fit:cover;}.hp-set-row b{display:block;font-family:var(--anton);font-size:21px;line-height:1;text-transform:uppercase;color:var(--hp-ink);}.hp-set-row small{display:block;color:var(--hp-muted);font-size:11px;margin-top:5px;}.hp-set-row small em{font-style:normal;color:var(--terracotta);font-weight:800;}.hp-set-row .key{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(25,34,46,.38);color:var(--hp-ink);font-family:var(--anton);font-size:14px;}
.hp-set-link{display:inline-block;margin-top:14px;padding:0;border:0;background:transparent;color:var(--terracotta);font-family:var(--anton);font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.hp-artists-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px;}.hp-artists-head p{margin:0;text-align:right;max-width:28ch;}
.hp-artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.hp-artist{cursor:pointer;min-width:0;}.hp-artist-portrait{position:relative;aspect-ratio:4/4.4;overflow:hidden;background:var(--forest);}
.hp-artist-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02);transition:transform .6s var(--ease-out),filter .3s;}.hp-artist:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02);}
.hp-artist h3{font-family:var(--anton);font-size:16px;text-transform:uppercase;margin-top:10px;line-height:1;color:var(--hp-ink);}.hp-artist .loc{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#68737a;margin-top:5px;}.hp-artist .concept{position:absolute;left:8px;top:8px;background:rgba(9,14,18,.82);color:#ded4b8;padding:4px 6px;font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hp-artist-link{display:inline-block;margin-top:20px;padding:0;border:0;background:transparent;color:var(--terracotta);font-family:var(--anton);font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.hp-close{position:relative;min-height:560px;display:flex;align-items:end;color:var(--hp-cream);padding:72px 0;background-color:#0b1114;background-image:linear-gradient(90deg,rgba(7,12,15,.97) 0%,rgba(7,12,15,.88) 32%,rgba(7,12,15,.44) 60%,rgba(7,12,15,.22) 100%),linear-gradient(0deg,rgba(7,12,15,.82) 0%,transparent 70%),url("/assets/home-v2/closing-rehearsal-room-v1.jpg");background-size:cover;background-position:center;border-top:1px solid rgba(243,234,216,.15);}
.hp-close::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.34);}
.hp-close-inner{position:relative;z-index:1;width:min(calc(100% - 56px),1500px);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;}
.hp-close-kicker{margin-bottom:15px;color:var(--ochre);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.hp-close h2{font-family:var(--anton);font-size:clamp(50px,5.25vw,78px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase;color:var(--hp-cream);max-width:15ch;text-wrap:balance;}.hp-close h2 em{font-style:normal;color:var(--ochre);}.hp-close p{margin:22px 0 0;max-width:62ch;line-height:1.62;color:rgba(243,234,216,.82);}.hp-close-actions{display:flex;gap:10px;}.hp-close .btn{border-radius:0;font-family:var(--anton);font-size:15px;letter-spacing:.06em;text-transform:uppercase;}.hp-close .btn:first-child{background:var(--terracotta);color:var(--cream);}.hp-close .btn:last-child{border:1px solid rgba(243,234,216,.42);color:var(--cream);background:rgba(8,13,16,.32);}


/* ============================================================
   SHARED PAGE PRIMITIVES — the homepage language, carried inward.

   Any route that opts in by adding .sgpage gets the same world the
   home route established: dark rooms and cream fields alternating,
   Anton section heads, hard edges, hairline rules, and dense data
   living inside a console rather than a table.

   Scoped to .sgpage so routes still on the old card system are
   untouched until they are converted.
   ============================================================ */
.sgpage{
  --sg-night:#090e12; --sg-panel:#11191a; --sg-cream:#f3ead8;
  --sg-ink:#19222e; --sg-forest:#2c3a2c; --sg-muted:#52606a;
  --sg-line:rgba(236,224,198,.2); --sg-line-ink:rgba(25,34,46,.16);
  background:var(--sg-cream);
}
.sgpage .sgwrap{width:min(calc(100% - 56px),1500px);margin:0 auto;}

/* ---------- bands: full-bleed fields that set the pace ---------- */
.sgpage .band{padding:64px 0 70px;}
.sgpage .band-cream{background:var(--sg-cream);color:var(--sg-ink);}
.sgpage .band-paper{background:#ece1cb;color:var(--sg-ink);}
.sgpage .band-dark{background:var(--sg-night);color:var(--sg-cream);}
.sgpage .band-forest{background:var(--sg-forest);color:var(--sg-cream);}
.sgpage .band-head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.5fr);gap:40px;align-items:end;margin-bottom:36px;}
.sgpage .band-head h2{font-family:var(--anton);font-weight:400;font-size:clamp(34px,3.1vw,52px);line-height:.96;text-transform:uppercase;letter-spacing:-.018em;color:var(--sg-forest);text-wrap:balance;padding-bottom:2px;}
.sgpage .band-dark .band-head h2,.sgpage .band-forest .band-head h2{color:var(--sg-cream);}
.sgpage .band-head p{font-size:14.5px;line-height:1.6;color:var(--sg-muted);margin:0;max-width:64ch;}
.sgpage .band-dark .band-head p,.sgpage .band-forest .band-head p{color:rgba(243,234,216,.7);}

/* ---------- buttons: squared, physical, one accent ---------- */
.sgpage .sgbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:0;padding:0 22px;height:50px;font-family:var(--anton);font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .16s var(--ease-out),background .16s,border-color .16s;}
.sgpage .sgbtn:hover{transform:translateY(-2px);}
.sgpage .sgbtn.solid{background:var(--terracotta);color:var(--cream);box-shadow:8px 8px 0 rgba(5,8,10,.34);}
.sgpage .sgbtn.solid:hover{background:var(--terra-d);box-shadow:10px 10px 0 rgba(5,8,10,.4);}
.sgpage .sgbtn.ghost{background:transparent;border-color:rgba(243,234,216,.42);color:var(--sg-cream);}
.sgpage .sgbtn.ghost:hover{border-color:var(--sg-cream);background:rgba(243,234,216,.07);}
.sgpage .sgbtn.ghost.on{background:var(--ochre);border-color:var(--ochre);color:#0a1115;}
.sgpage .sgbtn.ink{background:transparent;border-color:rgba(25,34,46,.42);color:var(--sg-ink);}
.sgpage .sgbtn.ink:hover{background:rgba(25,34,46,.06);border-color:var(--sg-ink);}
.sgpage .sgbtn.ink.on{background:var(--sg-ink);border-color:var(--sg-ink);color:var(--sg-cream);}
.sgpage .sgbtn.sm{height:38px;padding:0 15px;font-size:12px;}
.sgpage .sgbtn:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;}

/* ---------- console: the device, reused for every dense surface ---------- */
.sgpage .console{position:relative;min-width:0;border:1px solid rgba(236,224,198,.22);background:rgba(10,16,17,.94);box-shadow:0 24px 64px rgba(0,0,0,.42);display:flex;flex-direction:column;color:var(--sg-cream);}
.sgpage .console-hd{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--sg-line);}
.sgpage .console-hd .nm{font-family:var(--anton);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.sgpage .console-hd .sub{margin-left:auto;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(222,212,184,.55);}
.sgpage .console-hd .live{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre);}
.sgpage .console-hd .live i{width:6px;height:6px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 4px rgba(199,86,64,.16);}

.sgpage .mx-master{display:grid;grid-template-columns:25px 62px 1fr 26px 26px 54px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--sg-line);}
.sgpage .mx-master>button{grid-column:1/3;justify-self:start;width:42px;height:42px;border:1px solid rgba(236,224,198,.42);background:transparent;color:var(--sg-cream);display:grid;place-items:center;border-radius:0;transition:.15s;}
.sgpage .mx-master>button:hover{background:var(--terracotta);border-color:var(--terracotta);}
.sgpage .mx-wave{height:44px;position:relative;overflow:hidden;cursor:pointer;touch-action:none;color:var(--sand);--wf-base-o:.3;--wf-played:var(--cream);}
.sgpage .mx-wave:hover{--wf-base-o:.44;}
.sgpage .mx-time{grid-column:4/-1;justify-self:end;font-size:11px;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgba(222,212,184,.62);white-space:nowrap;}
.sgpage .mx-track{--track:#d8ccb2;display:grid;grid-template-columns:25px 62px 1fr 26px 26px 54px;gap:8px;align-items:center;min-height:52px;padding:6px 12px;border-bottom:1px solid var(--sg-line);transition:background .16s,opacity .16s;}
.sgpage .mx-track:hover{background:rgba(250,247,240,.035);}
.sgpage .mx-track.is-muted{opacity:.42;}
.sgpage .mx-track .track-ic{color:var(--track);display:grid;place-items:center;}
.sgpage .mx-track .nm{font-family:var(--anton);font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:var(--sg-cream);}
.sgpage .mx-track-wave{height:30px;position:relative;overflow:hidden;cursor:pointer;touch-action:none;color:var(--track);--wf-base-o:.3;}
.sgpage .mx-track-wave:hover{--wf-base-o:.46;}
.sgpage .mx-track button{width:25px;height:25px;padding:0;border:1px solid rgba(236,224,198,.28);border-radius:0;background:transparent;color:var(--sg-cream);font-size:9px;font-weight:900;}
.sgpage .mx-track button:hover,.sgpage .mx-track button.on{background:var(--track);border-color:var(--track);color:#081013;}
.sgpage .mx-track input{width:54px;height:4px;accent-color:var(--track);}
.sgpage .mx-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;z-index:4;pointer-events:none;background:var(--terracotta);box-shadow:0 0 10px rgba(199,86,64,.55);left:calc(var(--lane-l,0px) + var(--lane-w,0px) * var(--wf-p,0));}
.sgpage .mx-playhead::before{content:"";position:absolute;top:0;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--terracotta);}
.sgpage .keybar{display:flex;align-items:center;gap:5px;padding:11px 12px;border-top:1px solid var(--sg-line);overflow-x:auto;}
.sgpage .keybar>span{font-family:var(--anton);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-right:7px;color:rgba(222,212,184,.7);}
.sgpage .keybar button{flex:1 0 34px;height:34px;border:1px solid rgba(236,224,198,.25);border-radius:0;background:transparent;color:var(--sg-cream);font-family:var(--anton);font-size:13px;transition:.14s;}
.sgpage .keybar button.on,.sgpage .keybar button:hover{background:var(--ochre);border-color:var(--ochre);color:#0a1115;}

/* ---------- editorial rail ---------- */
.sgpage .rail{border-top:1px solid rgba(236,224,198,.18);background:rgba(8,13,16,.94);display:flex;align-items:center;justify-content:center;color:var(--sg-cream);min-height:64px;overflow-x:auto;}
.sgpage .rail span{display:flex;align-items:center;justify-content:center;gap:11px;min-width:180px;padding:0 30px;font-family:var(--anton);font-size:14px;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;}
.sgpage .rail span+span::before{content:"/";color:var(--sand);font-family:var(--sans);font-size:24px;font-weight:300;margin-right:20px;}
.sgpage .rail svg{color:var(--ochre);}

/* ---------- shelf: an accordion whose sections open real tools ---------- */
.sgpage .shelf{border-top:1px solid var(--sg-line-ink);}
.sgpage .shelf-group{border-bottom:1px solid var(--sg-line-ink);}
.sgpage .grp-head{width:100%;display:grid;grid-template-columns:34px auto 1fr 26px;gap:16px;align-items:center;padding:18px 4px;cursor:pointer;background:transparent;border:0;border-radius:0;text-align:left;color:inherit;font:inherit;}
.sgpage .grp-head:hover{background:rgba(25,34,46,.03);}
.sgpage .grp-head:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;}
.sgpage .g-ic{color:var(--terracotta);display:grid;place-items:center;}
.sgpage .g-nm{font-family:var(--anton);font-size:20px;text-transform:uppercase;letter-spacing:.01em;color:var(--sg-ink);}
.sgpage .g-ct{justify-self:end;text-align:right;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-muted);}
.sgpage .g-tw{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--sg-line-ink);transition:transform .28s var(--ease-out),background .18s,color .18s;}
.sgpage .shelf-group.is-open .g-tw{background:var(--sg-ink);color:var(--sg-cream);border-color:var(--sg-ink);transform:rotate(180deg);}
.sgpage .shelf-group.is-open .g-nm{color:var(--terracotta);}
.sgpage .grp-body[hidden]{display:none;}

/* ---------- file rows ---------- */
.sgpage .file{display:grid;grid-template-columns:34px 1fr 84px 128px;gap:16px;align-items:center;padding:13px 4px;border-top:1px solid rgba(25,34,46,.09);}
.sgpage .file:hover{background:rgba(25,34,46,.03);}
.sgpage .file .f-ic{color:var(--sg-muted);display:grid;place-items:center;}
.sgpage .file b{display:block;font-size:14.5px;font-weight:750;letter-spacing:-.01em;color:var(--sg-ink);line-height:1.3;}
.sgpage .file small{display:block;font-size:12.5px;color:var(--sg-muted);margin-top:2px;}
.sgpage .file .sz{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sg-muted);font-variant-numeric:tabular-nums;}

/* ---------- stat line, details, artist, licence ---------- */
.sgpage .sgstats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--sg-line-ink);}
.sgpage .sgstats .s{padding:20px 22px;border-right:1px solid var(--sg-line-ink);}
.sgpage .sgstats .s:last-child{border-right:0;}
.sgpage .sgstats .s b{display:block;font-family:var(--anton);font-size:30px;line-height:1;color:var(--sg-ink);}
.sgpage .sgstats .s span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sg-muted);margin-top:8px;}
.sgpage .sgtwo{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:52px;}
.sgpage .voice{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.55;color:var(--sg-ink);max-width:56ch;}
.sgpage .meta-list{border-top:1px solid var(--sg-line-ink);}
.sgpage .meta-list div{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid var(--sg-line-ink);font-size:14px;}
.sgpage .meta-list dt{flex:none;width:120px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-muted);padding-top:3px;}
.sgpage .meta-list dd{margin:0;color:var(--sg-ink);font-weight:600;}
.sgpage .artist-band{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:38px;align-items:center;}
.sgpage .artist-portrait{position:relative;margin:0;width:200px;flex:none;}
.sgpage .artist-portrait img{display:block;width:200px;height:200px;object-fit:cover;object-position:center 24%;border:1px solid rgba(243,234,216,.2);}
.sgpage .artist-portrait figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(9,14,18,.86),transparent);padding:20px 10px 8px;font-size:8.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,216,.9);}
.sgpage .artist-band h3{font-family:var(--anton);font-weight:400;font-size:clamp(30px,2.6vw,44px);text-transform:uppercase;line-height:.92;color:var(--sg-cream);margin-top:8px;}
.sgpage .artist-band .loc{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ochre);}
.sgpage .artist-band p{font-size:15px;line-height:1.6;color:rgba(243,234,216,.74);margin:14px 0 0;max-width:52ch;}
.sgpage .artist-acts{display:flex;flex-direction:column;gap:10px;}
.sgpage .lic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(243,234,216,.16);border:1px solid rgba(243,234,216,.16);}
.sgpage .lic-grid>div{background:var(--sg-night);padding:26px 22px;}
.sgpage .lic-grid b{display:block;font-family:var(--anton);font-size:19px;text-transform:uppercase;color:var(--sg-cream);margin-bottom:9px;}
.sgpage .lic-grid p{margin:0;font-size:13.5px;line-height:1.55;color:rgba(243,234,216,.66);}

/* ---------- editors: re-skin the existing option rails, hard-edged ---------- */
.sgpage .editor{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(268px,.82fr);gap:34px;padding:26px 4px 34px;border-top:1px solid rgba(25,34,46,.09);}
.sgpage .ed-label{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sg-muted);margin-bottom:10px;}
.sgpage .optrail{display:flex;flex-direction:column;gap:0;border:1px solid var(--sg-line-ink);align-self:start;background:rgba(255,255,255,.42);border-radius:0;padding:0;}
.sgpage .optgrp{padding:15px 16px;border-bottom:1px solid var(--sg-line-ink);border-radius:0;background:transparent;margin:0;}
.sgpage .optgrp:last-child{border-bottom:0;}
.sgpage .optgrp .ttl{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sg-muted);margin-bottom:10px;}
.sgpage .optgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.sgpage .optbtn{display:flex;align-items:center;gap:7px;justify-content:flex-start;height:36px;padding:0 10px;border:1px solid var(--sg-line-ink);border-radius:0;background:transparent;font-size:12.5px;font-weight:650;color:var(--sg-ink);text-align:left;transition:.14s;cursor:pointer;}
.sgpage .optbtn:hover{border-color:var(--sg-ink);}
.sgpage .optbtn.on{background:var(--sg-ink);border-color:var(--sg-ink);color:var(--sg-cream);}
.sgpage .optbtn .gly{font-size:10px;font-weight:800;opacity:.6;min-width:22px;}
.sgpage .optbtn.on .gly{opacity:.85;}
.sgpage .optkeys{display:flex;flex-wrap:wrap;gap:5px;}
.sgpage .optkey{min-width:36px;height:34px;padding:0 8px;border:1px solid var(--sg-line-ink);border-radius:0;background:transparent;font-family:var(--anton);font-size:13px;color:var(--sg-ink);transition:.14s;cursor:pointer;}
.sgpage .optkey:hover{border-color:var(--sg-ink);}
.sgpage .optkey.on{background:var(--ochre);border-color:var(--ochre);color:#0a1115;}
.sgpage .optsel{width:100%;height:36px;border:1px solid var(--sg-line-ink);border-radius:0;background:#fff;font-family:var(--sans);font-size:13px;color:var(--sg-ink);padding:0 9px;}
.sgpage .opttoggle{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:650;padding:7px 0;color:var(--sg-ink);}
.sgpage .tgl{width:38px;height:21px;flex:none;border:1px solid var(--sg-line-ink);background:#fff;position:relative;cursor:pointer;transition:.16s;border-radius:0;}
.sgpage .tgl::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;background:var(--sg-muted);transition:.16s var(--ease-out);border-radius:0;}
.sgpage .tgl.on{background:var(--forest);border-color:var(--forest);}
.sgpage .tgl.on::after{left:20px;background:var(--cream);}
.sgpage .dlcard{padding:17px 16px;border-bottom:1px solid var(--sg-line-ink);background:var(--sg-ink);color:var(--sg-cream);border-radius:0;border-top:0;border-left:0;border-right:0;}
.sgpage .dlcard .free{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.sgpage .dlcard .free b{font-family:var(--anton);font-size:18px;text-transform:uppercase;letter-spacing:.01em;color:var(--sg-cream);}
.sgpage .dlcard .px{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--ochre);background:none;padding:0;}
.sgpage .dlcard p{margin:9px 0 14px;font-size:12.5px;line-height:1.55;color:rgba(243,234,216,.66);}
.sgpage .dlcard .sgbtn{width:100%;height:44px;}

/* chord chart preview */
.sgpage .chartprev{background:#fff;border:1px solid var(--sg-line-ink);border-radius:0;padding:28px 30px;min-height:420px;color:#1a1a1a;box-shadow:none;}
.sgpage .chartprev.bw{filter:grayscale(1);}
.sgpage .ch-hd{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1.5px solid #1a1a1a;margin-bottom:18px;}
.sgpage .ch-hd h3{font-size:21px;font-weight:800;letter-spacing:-.01em;color:#1a1a1a;font-family:var(--sans);}
.sgpage .ch-hd .meta{font-size:10.5px;line-height:1.6;text-align:right;color:#666;text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
.sgpage .chbody.chart2col{columns:2;column-gap:34px;}
.sgpage .chsec{break-inside:avoid;margin-bottom:17px;}
.sgpage .chsec .lbl{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#666;margin-bottom:7px;width:100%;}
.sgpage .chsec .dot{width:20px;height:20px;display:grid;place-items:center;background:var(--terracotta);color:#fff;font-size:9.5px;font-weight:800;flex:none;border-radius:0;}
.sgpage .chd{font-family:var(--sans);font-size:14px;font-weight:800;color:var(--terracotta);letter-spacing:-.01em;}
.sgpage .chartprev.bw .chd,.sgpage .chartprev.bw .dot{color:#1a1a1a;}
.sgpage .lyrline{height:8px;background:#e8e2d4;margin:2px 0 11px;border-radius:0;}

/* slide + stage preview */
.sgpage .slideprev{aspect-ratio:16/9;background:#0b0f13;display:flex;align-items:center;justify-content:center;padding:30px;border:1px solid var(--sg-line-ink);border-radius:0;background-image:radial-gradient(circle at 50% 40%,rgba(255,255,255,.06),transparent 60%);}
.sgpage .slideprev .lyr{color:#fff;font-size:27px;font-weight:700;text-align:center;line-height:1.28;text-wrap:balance;}
.sgpage .stageprev{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--sg-line-ink);border:1px solid var(--sg-line-ink);border-radius:0;}
.sgpage .stageprev .pane{background:#12171c;padding:13px 15px;min-height:82px;border-radius:0;}
.sgpage .stageprev .cap{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,234,216,.42);margin-bottom:7px;}
.sgpage .stageprev .txt{color:#fff;font-size:15px;font-weight:650;line-height:1.3;}
.sgpage .stageprev .nt{color:var(--ochre);font-size:14px;font-weight:800;letter-spacing:.04em;}

/* tones */
.sgpage .tonegrp{border-top:1px solid rgba(25,34,46,.09);border-radius:0;background:transparent;padding:0;margin:0;}
.sgpage .tonegrp .ghd{display:flex;align-items:center;gap:12px;padding:14px 4px 10px;background:transparent;border:0;}
.sgpage .tonegrp .ghd .ic{color:var(--terracotta);display:grid;place-items:center;background:none;width:auto;height:auto;}
.sgpage .tonegrp .ghd b{display:block;font-family:var(--anton);font-size:15px;text-transform:uppercase;letter-spacing:.02em;color:var(--sg-ink);}
.sgpage .tonegrp .ghd span{display:block;font-size:11.5px;color:var(--sg-muted);margin-top:2px;}
.sgpage .tone{display:grid;grid-template-columns:40px 1fr 70px auto;gap:14px;align-items:center;padding:11px 4px;border-top:1px solid rgba(25,34,46,.07);}
.sgpage .tone:hover{background:rgba(25,34,46,.03);}
.sgpage .tone b{display:block;font-size:14px;font-weight:750;color:var(--sg-ink);line-height:1.3;}
.sgpage .tone small{display:block;font-size:12px;color:var(--sg-muted);margin-top:1px;}
.sgpage .tone .sz{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--sg-muted);font-variant-numeric:tabular-nums;}
.sgpage .audition{width:40px;height:40px;display:grid;place-items:center;border-radius:0;border:1px solid var(--sg-line-ink);background:transparent;color:var(--sg-ink);transition:.15s;cursor:pointer;}
.sgpage .audition:hover{background:var(--sg-ink);border-color:var(--sg-ink);color:var(--sg-cream);}
.sgpage .audition.on{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.sgpage .tone-note{font-size:12.5px;color:var(--sg-muted);padding:12px 4px 0;line-height:1.5;margin:0;}
.sgpage .empty-note{border:1px solid var(--sg-line-ink);padding:34px 30px;text-align:center;background:rgba(255,255,255,.4);}
.sgpage .empty-note .ic{color:var(--sg-muted);margin-bottom:12px;}
.sgpage .empty-note h4{font-family:var(--anton);font-weight:400;font-size:22px;text-transform:uppercase;color:var(--sg-ink);margin:0 0 9px;}
.sgpage .empty-note p{font-size:14px;line-height:1.6;color:var(--sg-muted);max-width:56ch;margin:0 auto 18px;}
.sgpage .snip{border-top:1px solid rgba(25,34,46,.09);padding:15px 4px;}
.sgpage .snip .k{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sg-muted);margin-bottom:8px;}
.sgpage .snip .v{background:#fff;border:1px solid var(--sg-line-ink);padding:13px 15px;font-size:13px;line-height:1.6;color:var(--sg-ink);}

/* ---------- Songs: view tabs, song lanes, artist cards, the Sunday set ---------- */
.sgpage .songs-head{padding:44px 0 0;}
.sgpage .viewtabs{display:flex;gap:0;margin-top:30px;border-top:1px solid var(--sg-line);overflow-x:auto;}
.sgpage .viewtab{position:relative;flex:none;padding:16px 26px 15px;background:transparent;border:0;border-radius:0;cursor:pointer;font-family:var(--anton);font-size:15px;letter-spacing:.055em;text-transform:uppercase;color:rgba(243,234,216,.5);display:flex;align-items:center;gap:9px;transition:color .16s;}
.sgpage .viewtab:hover{color:var(--sg-cream);}
.sgpage .viewtab.on{color:var(--sg-cream);}
.sgpage .viewtab.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--terracotta);}
.sgpage .viewtab b{font-family:var(--sans);font-size:10.5px;font-weight:800;letter-spacing:.06em;color:rgba(243,234,216,.42);}
.sgpage .viewtab.on b{color:var(--ochre);}
.sgpage .viewtab:focus-visible{outline:2px solid var(--terracotta);outline-offset:-2px;}
.sgpage .viewtab em{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:none;color:rgba(243,234,216,.5);margin-top:5px;}
.sgpage .viewtab.on em{color:var(--ochre);}
.sgpage .viewtabs.steps .viewtab{flex-direction:column;align-items:flex-start;gap:0;padding-block:14px 13px;}

.sgpage .sgfilters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:26px;}
.sgpage .sgchip{border:1px solid var(--sg-line-ink);border-radius:0;background:transparent;padding:0 14px;height:34px;font-size:12.5px;font-weight:700;color:var(--sg-ink);cursor:pointer;transition:.14s;}
.sgpage .sgchip:hover{border-color:var(--sg-ink);}
.sgpage .sgchip.on{background:var(--sg-ink);border-color:var(--sg-ink);color:var(--sg-cream);}
.sgpage .sgfilter-div{width:1px;height:22px;background:var(--sg-line-ink);margin:0 6px;}

.sgpage .sgsearch{margin-bottom:22px;}
.sgpage .sgsearch input{width:100%;max-width:420px;height:44px;border:1px solid var(--sg-line-ink);border-radius:0;background:#fff;padding:0 14px;font-family:var(--sans);font-size:14px;color:var(--sg-ink);}
.sgpage .sgsearch input:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(199,86,64,.16);}

/* the lane: the console row, reused for songs */
.sgpage .songlanes{border-top:1px solid var(--sg-line-ink);}
.sgpage .songlane{display:grid;grid-template-columns:56px minmax(160px,1.15fr) minmax(120px,1fr) auto 62px 54px auto;gap:18px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--sg-line-ink);transition:background .14s;}
.sgpage .songlane:hover{background:rgba(25,34,46,.035);}
.sgpage .songlane.is-set{grid-template-columns:22px 26px 56px minmax(150px,1.1fr) minmax(110px,1fr) 44px auto;}
.sgpage .sl-grip{color:var(--sg-muted);cursor:grab;display:grid;place-items:center;}
.sgpage .sl-num{font-family:var(--anton);font-size:17px;color:var(--sg-muted);text-align:center;}
.sgpage .sl-art{position:relative;width:56px;height:56px;background-size:cover;background-position:center;cursor:pointer;border:1px solid var(--sg-line-ink);}
.sgpage .sl-playbtn{position:absolute;inset:0;margin:auto;width:28px;height:28px;border-radius:50%;background:rgba(250,247,240,.94);color:var(--terra-d,var(--terracotta));display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;box-shadow:0 2px 8px rgba(9,14,18,.3);opacity:0;transition:opacity .14s,transform .14s;padding:0;}
.sgpage .sl-art::after{content:"";position:absolute;inset:0;background:rgba(9,14,18,0);transition:background .14s;pointer-events:none;}
.sgpage .songlane:hover .sl-art::after{background:rgba(9,14,18,.28);}
.sgpage .songlane:hover .sl-playbtn,.sgpage .sl-playbtn.on{opacity:1;}
.sgpage .sl-playbtn:hover{transform:scale(1.08);}
.sgpage .sl-playbtn svg{margin-left:1px;}
.sgpage .sl-meta{cursor:pointer;min-width:0;}
.sgpage .sl-meta b{display:block;font-family:var(--anton);font-weight:400;font-size:20px;line-height:1;text-transform:uppercase;color:var(--sg-ink);letter-spacing:.005em;}
.sgpage .sl-meta small{display:block;font-size:11.5px;color:var(--sg-muted);margin-top:6px;}
.sgpage .sl-meta small em{font-style:normal;color:var(--terracotta);font-weight:800;}
.sgpage .sl-wave{height:30px;min-width:0;color:var(--sg-forest);--wf-base-o:.42;}
.sgpage .sl-tags{display:flex;gap:5px;flex-wrap:wrap;}
.sgpage .sgtag{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-muted);border:1px solid var(--sg-line-ink);padding:4px 8px;white-space:nowrap;}
.sgpage .sl-keys{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sg-muted);white-space:nowrap;}
.sgpage .sl-bpm{font-family:var(--anton);font-size:19px;color:var(--sg-ink);line-height:1;}
.sgpage .sl-bpm span{display:block;font-family:var(--sans);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-muted);margin-top:3px;}
.sgpage .sl-key{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--sg-line-ink);font-family:var(--anton);font-size:15px;color:var(--sg-ink);}
.sgpage .sl-acts{display:flex;gap:7px;justify-content:flex-end;}
.sgpage .songlane.dragging{opacity:.4;}
.sgpage .songlane.dragover{box-shadow:inset 0 2px 0 var(--terracotta);}

/* artists */
.sgpage .artgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--sg-line-ink);border:1px solid var(--sg-line-ink);}
.sgpage .artcard{background:var(--sg-cream);padding:0 0 22px;cursor:pointer;transition:background .16s;}
.sgpage .artcard:hover{background:#efe4cd;}
.sgpage .artcard:focus-visible{outline:2px solid var(--terracotta);outline-offset:-2px;}
.sgpage .ac-portrait{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dfd4bb;}
.sgpage .ac-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.sgpage .ac-av{width:100%;height:100%;display:grid;place-items:center;}
.sgpage .ac-mark{position:absolute;left:0;bottom:0;right:0;background:linear-gradient(0deg,rgba(9,14,18,.8),transparent);padding:22px 12px 8px;font-size:8.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,216,.9);}
.sgpage .artcard h3{font-family:var(--anton);font-weight:400;font-size:23px;text-transform:uppercase;color:var(--sg-ink);margin:18px 20px 0;line-height:1;}
.sgpage .ac-loc{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta);margin:8px 20px 0;}
.sgpage .artcard p{font-size:13.5px;line-height:1.55;color:var(--sg-muted);margin:12px 20px 0;}
.sgpage .ac-foot{display:flex;justify-content:space-between;gap:10px;margin:16px 20px 8px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-muted);}
.sgpage .ac-fund{color:var(--ochre-d);}
.sgpage .ac-bar{height:3px;background:var(--sg-line-ink);margin:0 20px;}
.sgpage .ac-bar i{display:block;height:100%;background:var(--ochre);}

/* this Sunday */
.sgpage .sundaygrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.72fr);gap:44px;align-items:start;}
.sgpage .setsum{position:sticky;top:96px;}
.sgpage .ss-card{background:var(--sg-forest);color:var(--sg-cream);padding:24px 22px;}
.sgpage .ss-n{font-family:var(--anton);font-size:52px;line-height:1;margin:10px 0 18px;}
.sgpage .ss-n span{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-left:9px;color:rgba(243,234,216,.66);}
.sgpage .ss-list{margin:0;border-top:1px solid rgba(243,234,216,.2);}
.sgpage .ss-list div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(243,234,216,.14);}
.sgpage .ss-list dt{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,234,216,.6);}
.sgpage .ss-list dd{margin:0;font-size:13.5px;font-weight:700;color:var(--sg-cream);}

@media(max-width:1100px){
  .sgpage .songlane{grid-template-columns:52px minmax(140px,1.2fr) auto 54px auto;gap:14px;}
  .sgpage .sl-wave,.sgpage .sl-keys{display:none;}
  .sgpage .songlane.is-set{grid-template-columns:22px 24px 52px minmax(130px,1fr) 40px auto;}
  .sgpage .songlane.is-set .sl-wave{display:none;}
  .sgpage .sundaygrid{grid-template-columns:1fr;gap:30px;}
  .sgpage .setsum{position:static;}
}
@media(max-width:820px){
  .sgpage .songs-head{padding:32px 0 0;}
  .sgpage .viewtab{padding:14px 16px 13px;font-size:13px;}
  .sgpage .songlane{grid-template-columns:46px minmax(0,1fr) auto;gap:12px;}
  .sgpage .sl-art{width:46px;height:46px;}
  .sgpage .sl-tags,.sgpage .sl-bpm{display:none;}
  .sgpage .sl-meta b{font-size:17px;}
  .sgpage .songlane.is-set{grid-template-columns:20px 46px minmax(0,1fr) auto;}
  .sgpage .songlane.is-set .sl-num{display:none;}
  .sgpage .artgrid{grid-template-columns:1fr;}
}

/* ---------- Community: map stats, people, threads ---------- */
.sgpage .mapband{padding-bottom:70px;}
.sgpage .mapstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sg-line);border:1px solid var(--sg-line);margin:30px 0 22px;}
.sgpage .mapstats .ms{background:var(--sg-night);padding:20px 22px;}
.sgpage .mapstats b{display:block;font-family:var(--anton);font-weight:400;font-size:34px;line-height:1;color:var(--sg-cream);}
.sgpage .mapstats span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);margin-top:9px;}
.sgpage .mapstats small{display:block;font-size:12px;color:rgba(243,234,216,.55);margin-top:4px;}
.sgpage .map-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.sgpage .map-filter button{border:1px solid rgba(236,224,198,.28);border-radius:0;background:transparent;color:rgba(243,234,216,.72);height:34px;padding:0 16px;font-size:12.5px;font-weight:700;cursor:pointer;transition:.14s;}
.sgpage .map-filter button:hover{border-color:var(--sg-cream);color:var(--sg-cream);}
.sgpage .map-filter button.on{background:var(--terracotta);border-color:var(--terracotta);color:var(--cream);}
.sgpage .map-legend{display:flex;gap:26px;flex-wrap:wrap;padding:16px 2px 0;font-size:12.5px;color:rgba(243,234,216,.7);}
.sgpage .map-legend b{color:var(--sg-cream);font-weight:750;}
.sgpage .map-legend .lg-item{display:flex;align-items:center;gap:8px;}

.sgpage .peoplegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--sg-line-ink);border:1px solid var(--sg-line-ink);}
.sgpage .peoplecard{background:var(--sg-cream);padding:20px;display:flex;flex-direction:column;gap:12px;}
.sgpage .pc-top{display:flex;align-items:center;gap:13px;cursor:pointer;min-width:0;}
.sgpage .pc-top:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;}
.sgpage .pc-id{min-width:0;}
.sgpage .pc-id b{display:block;font-family:var(--anton);font-weight:400;font-size:19px;text-transform:uppercase;color:var(--sg-ink);line-height:1;}
.sgpage .pc-id span{display:block;font-size:11.5px;color:var(--sg-muted);margin-top:5px;}
.sgpage .pc-role{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta);}
.sgpage .pc-acts{display:flex;gap:8px;align-items:center;margin-top:auto;flex-wrap:wrap;}
.sgpage .pc-conn{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);}

.sgpage .threadlist{border-top:1px solid var(--sg-line-ink);}
.sgpage .threadlane{display:grid;grid-template-columns:46px minmax(0,1fr) auto 20px;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--sg-line-ink);cursor:pointer;transition:background .14s;}
.sgpage .threadlane:hover{background:rgba(25,34,46,.035);}
.sgpage .threadlane:focus-visible{outline:2px solid var(--terracotta);outline-offset:-2px;}
.sgpage .tl-body{min-width:0;}
.sgpage .tl-body b{display:block;font-family:var(--anton);font-weight:400;font-size:18px;text-transform:uppercase;color:var(--sg-ink);line-height:1;}
.sgpage .tl-body small{display:block;font-size:13px;color:var(--sg-muted);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sgpage .tl-n{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-muted);white-space:nowrap;}
.sgpage .tl-go{color:var(--sg-muted);display:grid;place-items:center;}

@media(max-width:1100px){
  .sgpage .mapstats{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
  .sgpage .mapstats{grid-template-columns:1fr;}
  .sgpage .peoplegrid{grid-template-columns:1fr;}
  .sgpage .threadlane{grid-template-columns:40px minmax(0,1fr) auto;}
  .sgpage .tl-go{display:none;}
}

/* ---------- Plan a Service: the case, and the work ---------- */
.sgpage .plan-hero{padding:66px 0 58px;}
.sgpage .cost-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sg-line);border:1px solid var(--sg-line);margin-top:8px;}
.sgpage .cost-strip .cs{background:var(--sg-night);padding:22px 20px;}
.sgpage .cost-strip b{display:block;font-family:var(--anton);font-weight:400;font-size:22px;text-transform:uppercase;color:var(--sg-cream);line-height:1.04;}
.sgpage .cost-strip span{display:block;font-size:12px;font-weight:700;color:rgba(243,234,216,.58);margin-top:9px;}
.sgpage .cost-strip .give b{color:var(--ochre);}
.sgpage .cost-strip .give span{color:var(--ochre);opacity:.8;}

.sgpage .partner-band{padding:70px 0;}
.sgpage .partner-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:48px;align-items:start;margin-bottom:34px;}
.sgpage .partner-kicker{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);margin-bottom:14px;}
.sgpage .band-dark .partner-kicker{color:var(--ochre);}
.sgpage .partner-kicker.proposed{color:var(--ochre-d);border:1px solid var(--ochre);padding:6px 11px;}
.sgpage .partner-name{font-family:var(--anton);font-weight:400;font-size:clamp(38px,3.8vw,62px);line-height:.94;text-transform:uppercase;letter-spacing:-.02em;color:var(--sg-ink);margin:0;}
.sgpage .partner-lede{font-size:16px;line-height:1.6;color:var(--sg-muted);margin:16px 0 0;max-width:52ch;}
.sgpage .partner-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sg-line-ink);}
.sgpage .partner-list li{padding:11px 0;border-bottom:1px solid var(--sg-line-ink);font-size:13.5px;line-height:1.5;color:var(--sg-muted);}
.sgpage .partner-list b{display:block;font-family:var(--anton);font-weight:400;font-size:14px;text-transform:uppercase;color:var(--sg-ink);letter-spacing:.04em;margin-bottom:3px;}
.sgpage .partner-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px;}
.sgpage .partner-note{font-size:12px;line-height:1.5;color:var(--sg-muted);max-width:36ch;}
.sgpage a.sgbtn{text-decoration:none;}
.sgpage .lwp-tag{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;background:rgba(255,107,94,.1);border:1px solid rgba(255,107,94,.3);color:var(--coral);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.sgpage .lwp-tag svg{flex:none;}

/* Worship Artistry */
.sgpage .wa-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:start;}
.sgpage .wa-video{margin:0;}
.sgpage .wa-play{position:relative;width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--sg-line-ink);border-radius:0;cursor:pointer;color:var(--sg-cream);
  background:radial-gradient(circle at 50% 42%,#2a3540,#0d1218 70%);transition:.2s;}
.sgpage .wa-play:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(6,10,15,.28);}
.sgpage .wa-play-ic{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(243,234,216,.5);background:rgba(199,86,64,.9);color:#fff;}
.sgpage .wa-play:hover .wa-play-ic{background:var(--terracotta);}
.sgpage .wa-play-t{font-family:var(--anton);font-size:22px;text-transform:uppercase;letter-spacing:.03em;}
.sgpage .wa-play-s{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,234,216,.62);}
.sgpage .wa-embed{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--sg-line-ink);}
.sgpage .wa-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.sgpage .wa-video figcaption{margin-top:10px;font-size:11px;line-height:1.5;color:var(--sg-muted);}
.sgpage .wa-part{padding:11px 0;border-bottom:1px solid var(--sg-line-ink);}
.sgpage .wa-part b{display:block;font-family:var(--anton);font-weight:400;font-size:15px;text-transform:uppercase;color:var(--sg-ink);letter-spacing:.03em;}
.sgpage .wa-part span{display:block;font-size:12.5px;color:var(--sg-muted);margin-top:3px;}
.sgpage .wa-attach{margin-top:22px;padding-top:18px;border-top:1px solid var(--sg-line-ink);}
.sgpage .wa-song{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(25,34,46,.08);}
.sgpage .wa-song .k{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--sg-line-ink);font-family:var(--anton);font-size:13px;color:var(--sg-ink);}
.sgpage .wa-song b{font-size:14px;font-weight:750;color:var(--sg-ink);}
.sgpage .wa-song .go{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta);}
.sgpage .wa-strip{margin-top:30px;padding-top:22px;border-top:1px solid var(--sg-line-ink);}
.sgpage .proposed-tag{color:var(--ochre-d);border:1px solid var(--ochre);padding:2px 7px;margin-left:8px;}

/* connected worktop + the import moment */
.sgpage .plan-worktop{padding:38px 0 34px;}
.sgpage .worktop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;}
.sgpage .worktop-h{font-family:var(--anton);font-weight:400;font-size:clamp(34px,3.2vw,52px);line-height:.94;text-transform:uppercase;color:var(--sg-cream);margin:0;}
.sgpage .worktop-svc{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-size:12px;font-weight:700;color:rgba(243,234,216,.66);}
.sgpage .worktop-acts{display:flex;flex-direction:column;gap:9px;align-items:flex-end;}

.sgpage .import-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 22px;border:1px solid var(--terracotta);background:rgba(199,86,64,.06);margin-bottom:26px;transition:background .3s,border-color .3s;}
.sgpage .import-strip.is-done{border-color:var(--forest);background:rgba(44,58,44,.07);}
.sgpage .is-m b{display:block;font-family:var(--anton);font-weight:400;font-size:20px;text-transform:uppercase;color:var(--sg-ink);letter-spacing:.01em;}
.sgpage .is-m>span{display:block;font-size:13px;line-height:1.55;color:var(--sg-muted);margin-top:6px;max-width:62ch;}
.sgpage .is-songs{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.sgpage .is-song{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--sg-line-ink);background:#fff;padding:5px 10px 5px 5px;font-size:12.5px;font-weight:700;color:var(--sg-ink);transition:transform .5s var(--ease-out),opacity .5s;}
.sgpage .is-song i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;background:var(--sg-ink);color:var(--sg-cream);font-family:var(--anton);font-size:11px;}
.sgpage .is-song.flew{transform:translate(26px,-14px) scale(.92);opacity:.25;}
.sgpage .is-song.muted{color:var(--sg-muted);font-weight:600;}
.sgpage .is-r{display:flex;flex-direction:column;gap:9px;align-items:flex-end;}
.sgpage .is-ok{display:inline-flex;align-items:center;gap:8px;font-family:var(--anton);font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--forest);}
.sgpage .is-link{font-size:12px;font-weight:700;color:var(--terracotta);cursor:pointer;white-space:nowrap;}
.sgpage .is-link:hover{text-decoration:underline;}

@media(max-width:1100px){
  .sgpage .cost-strip{grid-template-columns:1fr 1fr;}
  .sgpage .partner-head{grid-template-columns:1fr;gap:28px;}
  .sgpage .wa-grid{grid-template-columns:1fr;gap:26px;}
  .sgpage .worktop{grid-template-columns:1fr;gap:20px;align-items:start;}
  .sgpage .worktop-acts{align-items:flex-start;flex-direction:row;flex-wrap:wrap;}
  .sgpage .import-strip{grid-template-columns:1fr;gap:16px;}
  .sgpage .is-r{align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center;}
}
@media(max-width:820px){
  .sgpage .cost-strip{grid-template-columns:1fr;}
  .sgpage .partner-band,.sgpage .plan-hero{padding:48px 0;}
  .sgpage .wa-play-t{font-size:17px;}
}

/* ============================================================
   WIN THE WEEK, EMBEDDED

   These frames are lifted from Win the Week's own site rather than
   redrawn, so what a church sees here is the real product. Scoped
   under .sgpage, with the sister brand's tokens aliased onto LWP's
   spine so the two stay one family.
   ============================================================ */
.sgpage{
  --coral:var(--wtw); --coral-dark:var(--wtw-d); --coral-mid:#ff8c82;
  --coral-light:#ffb3ac; --coral-wash:var(--wtw-soft);
  --teal-tint:#7cc4d1; --rule:var(--sg-line-ink);
  --s2:8px; --s3:14px; --s4:20px;
}
.sgpage .demo-frames{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:20px;align-items:start;}
.sgpage .fd-panel{min-height:0;}
.sgpage .fd-body{min-height:0;}
@media(max-width:1100px){
  .sgpage .demo-frames{grid-template-columns:1fr;}
  .sgpage .fp{justify-self:center;}
}
/* The app frame is a fixed-fidelity artifact, like a chart. Below its natural
   width it scrolls inside its own rail rather than widening the page. */
@media(max-width:860px){
  .sgpage .demo-frames{display:block;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
  .sgpage .demo-frames .fd{min-width:620px;}
  .sgpage .demo-frames .fp{display:none;}
  .sgpage .fd-nav .cmdk{display:none;}
}
/* desktop frame */
.sgpage .fd{background:#241F1C;border-radius:14px;overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.18),0 32px 64px -24px rgba(26,26,26,.45);
  border:1px solid #3E362F;font-size:13px;line-height:1.45}
.sgpage .fd-chrome{display:flex;align-items:center;gap:8px;padding:11px 16px;background:#2B2521;
  border-bottom:1px solid #3E362F}
.sgpage .fd-chrome i{width:10px;height:10px;border-radius:50%;background:#453D35;display:block}
.sgpage .fd-chrome .url{margin-left:10px;flex:1;max-width:280px;background:#241F1C;border-radius:6px;
  padding:4px 12px;color:#9a948c;font-size:11px;letter-spacing:.02em}
.sgpage .fd-nav{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#292420;
  border-bottom:1px solid #3E362F;color:#c9c3ba;white-space:nowrap}
.sgpage .fd-nav .mark{width:15px;height:15px;flex:none;color:var(--coral)}
.sgpage .fd-nav b{color:#fff;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;font-size:11.5px}
.sgpage .fd-nav span{font-size:12px}
.sgpage .fd-nav .on{color:#fff;box-shadow:0 14px 0 -12px var(--coral)}
.sgpage .fd-nav .invest{color:var(--teal-tint)}
.sgpage .fd-nav .cmdk{margin-left:auto;background:#332D28;border:1px solid #453D35;border-radius:99px;
  padding:5px 12px;color:#9a948c;font-size:11px;display:flex;gap:8px;align-items:center}
.sgpage .fd-nav .cmdk kbd{background:#241F1C;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:10px}
.sgpage .fd-kicker{color:var(--coral);font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.sgpage .fd-h{color:#fff;font-weight:900;letter-spacing:-.02em;text-transform:uppercase;font-size:19px;line-height:1.1;margin-bottom:2px}
.sgpage .fd-sub{color:#9a948c;font-style:italic;font-family:'Playfair Display',Georgia,serif;font-size:12.5px;min-height:18px}
.sgpage .fd-sub .caret{display:inline-block;width:1px;height:12px;background:var(--coral);vertical-align:-2px;
  margin-left:1px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.sgpage .fd-packet{margin-top:auto;background:var(--coral);color:#fff;border:none;border-radius:8px;
  padding:9px 14px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;
  transition:background .2s,transform .2s}
.sgpage .fd-packet:hover{background:var(--coral-dark)}
.sgpage .fd-packet.pulse{animation:packetpulse .9s var(--ease)}
@keyframes packetpulse{0%{transform:scale(1)}35%{transform:scale(1.06)}100%{transform:scale(1)}}
.sgpage .fd-toast{position:absolute;right:16px;bottom:14px;background:#332D28;border:1px solid #453D35;
  color:#efeae2;border-radius:8px;padding:8px 14px;font-size:11.5px;display:flex;gap:8px;align-items:center;
  opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.sgpage .fd-toast.show{opacity:1;transform:none}
.sgpage .fd-toast .tick{color:var(--teal-tint);font-weight:800}
.sgpage .fd-body{position:relative;min-height:320px}
.sgpage .fd-stage{position:relative}

/* assistant strip */
.sgpage .fd-assist{border-top:1px solid #3E362F;background:#2B2521;padding:12px 20px;display:flex;
  gap:12px;align-items:center}
.sgpage .fd-assist .orb-mini{width:26px;height:26px;border-radius:50%;flex:none;position:relative;overflow:hidden;
  background:radial-gradient(circle at 50% 24%, var(--coral) 0%, var(--coral-mid) 60%, var(--coral-light) 100%)}
.sgpage .fd-assist .orb-mini::after{content:"";position:absolute;inset:44% -20% -20% -20%;border-radius:50%;
  background:radial-gradient(circle at 50% 70%, #fff, rgba(255,255,255,0) 70%);filter:blur(3px);
  animation:minitide 5s ease-in-out infinite}
@keyframes minitide{0%,100%{transform:translateY(18%)}50%{transform:translateY(-6%)}}
.sgpage .fd-assist .line{flex:1;min-width:0}
.sgpage .fd-assist .cmd{color:#efeae2;font-size:12px;min-height:16px}
.sgpage .fd-assist .cmd .caret{display:inline-block;width:1px;height:11px;background:var(--coral);
  vertical-align:-1px;animation:blink 1s steps(1) infinite}
.sgpage .fd-assist .reply{color:#9a948c;font-size:11px;min-height:14px;transition:color .3s}
.sgpage .fd-assist .reply.said{color:var(--teal-tint)}
.sgpage .fd-assist .soon{flex:none;background:rgba(124,196,209,.12);border:1px solid rgba(124,196,209,.35);
  color:var(--teal-tint);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border-radius:99px;padding:3px 9px}

/* phone frame */
.sgpage .fp{width:236px;background:#241F1C;border:1px solid #3E362F;border-radius:30px;overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.18),0 28px 56px -22px rgba(26,26,26,.5);
  font-size:11px;justify-self:end;position:sticky;top:96px}
.sgpage .fp-notch{height:22px;display:grid;place-items:center}
.sgpage .fp-notch i{width:64px;height:16px;background:#000;border-radius:99px;display:block}
.sgpage .fp-head{padding:10px 16px 6px}
.sgpage .fp-head .k{color:var(--coral);font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sgpage .fp-head .h{color:#fff;font-weight:900;font-size:13.5px;letter-spacing:-.02em;text-transform:uppercase}
.sgpage .fp-body{padding:6px 16px 12px;min-height:210px}
.sgpage .fp-status{margin-top:10px;background:#2B2521;border:1px solid #3E362F;border-radius:9px;padding:8px 10px;
  color:#9a948c;font-size:9.5px;line-height:1.5}
.sgpage .fp-status .tick{color:var(--teal-tint);font-weight:800}
.sgpage .fp-nav{display:flex;justify-content:space-around;border-top:1px solid #332D28;
  padding:9px 4px 14px;background:#2B2521}
.sgpage .fp-nav .tab{color:#9a948c;font-size:8px;font-weight:600;letter-spacing:.03em;display:flex;
  flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:color .25s var(--ease)}
.sgpage .fp-nav .tab svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.9;fill:none;
  stroke-linecap:round;stroke-linejoin:round;display:block}
.sgpage .fp-nav .tab.on{color:var(--coral)}
.sgpage .fp-nav .tab.more svg{fill:currentColor;stroke:none}

/* Services tab: the two logo triangles split apart and a plan opens between
   them. Lifted from the product's own ServicesIcon + globals.css.          */
.sgpage .svc-ico{position:relative;display:inline-block;width:17px;height:17px;flex:none}
/* Every rule below is scoped `.fp-nav .tab .svc-ico ...` so the states outrank
   the generic `.fp-nav .tab svg` sizing rule and each other in source order. */
.sgpage .fp-nav .tab .svc-ico svg{position:absolute;inset:0;width:100%;height:100%;
  transform-origin:center;
  transition:transform .55s cubic-bezier(.34,1.56,.64,1),opacity .35s ease}
.sgpage .fp-nav .tab .svc-ico svg.si-tri{fill:currentColor;stroke:none;opacity:1;transform:none}
.sgpage .fp-nav .tab .svc-ico svg.si-plan{fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.5)}
/* hover peek, closed only */
.sgpage .fp-nav .tab:not(.on):hover .svc-ico svg.si-tri-top{transform:translate(13%,-13%) rotate(6deg)}
.sgpage .fp-nav .tab:not(.on):hover .svc-ico svg.si-tri-bottom{transform:translate(-13%,13%) rotate(-6deg)}
.sgpage .fp-nav .tab:not(.on):hover .svc-ico svg.si-plan{opacity:.35;transform:scale(.85)}
/* open: the logo splits and the plan opens */
.sgpage .fp-nav .tab.on .svc-ico svg.si-tri-top{transform:translate(45%,-45%) rotate(14deg);opacity:0}
.sgpage .fp-nav .tab.on .svc-ico svg.si-tri-bottom{transform:translate(-45%,45%) rotate(-14deg);opacity:0}
.sgpage .fp-nav .tab.on .svc-ico svg.si-plan{opacity:1;transform:scale(1)}
@media (prefers-reduced-motion:reduce){
.sgpage .fp-nav .tab .svc-ico svg{transition:opacity .2s ease}
}


/* panels: one per app surface, swapped by the tabs.
   Structure, copy, and colour all taken from the running product.        */
.sgpage .fd-nav span[data-tab]{cursor:pointer;transition:color .2s var(--ease)}
.sgpage .fd-nav span[data-tab]:hover{color:#fff}
.sgpage .fd-panel{display:none;padding:18px 22px 20px;min-height:326px}
.sgpage .fd-panel.on{display:block;animation:panelIn .45s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sgpage .fd-panel .col2{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}

/* --- Current Service --- */
.sgpage .svc-meta{color:#9a948c;font-size:10.5px;margin-bottom:2px}
.sgpage .svc-say{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#9a948c;font-size:11.5px;margin-bottom:14px}
.sgpage .rail3{display:flex;align-items:center;gap:8px;margin:0 0 16px}
.sgpage .rail3 .st{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#9a948c}
.sgpage .rail3 .st i{width:11px;height:11px;border-radius:50%;border:2px solid #453D35;display:block;transition:all .4s var(--ease)}
.sgpage .rail3 .st.done i{background:var(--teal-tint);border-color:var(--teal-tint)}
.sgpage .rail3 .st.now i{background:var(--coral);border-color:var(--coral)}
.sgpage .rail3 .st.done,.sgpage .rail3 .st.now{color:#fff}
.sgpage .rail3 .ln{flex:1;height:2px;background:#332D28;border-radius:2px;overflow:hidden}
.sgpage .rail3 .ln b{display:block;height:100%;width:100%;background:var(--coral);transform:scaleX(0);
  transform-origin:left;transition:transform .9s var(--ease)}
.sgpage .rail3 .ln.fill b{transform:scaleX(1)}
.sgpage .sec-h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px}
.sgpage .sec-h b{color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sgpage .sec-h span{color:#9a948c;font-size:10px}
.sgpage .setrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #332D28}
.sgpage .setrow .kk{width:20px;height:20px;border-radius:5px;background:#332D28;color:#efeae2;display:grid;
  place-items:center;font-size:9.5px;font-weight:800;flex:none;transition:all .3s var(--ease)}
.sgpage .setrow .kk.hot{background:var(--coral);color:#fff}
.sgpage .setrow .tt{flex:1;min-width:0}
.sgpage .setrow .tt b{display:block;color:#efeae2;font-size:12px;font-weight:600;line-height:1.3}
.sgpage .setrow .tt span{color:#9a948c;font-size:9.5px}
.sgpage .setrow .dur{color:#9a948c;font-size:10px;flex:none}
.sgpage .teamrow{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:11px;color:#C9C3BA}
.sgpage .teamrow i{width:6px;height:6px;border-radius:50%;flex:none;display:block}
.sgpage .teamrow .act{margin-left:auto;font-size:9px;font-weight:700;color:var(--coral)}
.sgpage .gauge{text-align:center;padding:6px 0 2px}
.sgpage .gauge svg{width:92px;height:52px;display:block;margin:0 auto}
.sgpage .gauge .val{font-size:20px;font-weight:900;color:#fff;letter-spacing:-.03em;margin-top:-6px}
.sgpage .gauge .cap{color:#9a948c;font-size:9.5px;margin-top:2px}
.sgpage .btn-row{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.sgpage .mini-btn{border-radius:7px;padding:7px 10px;font-size:10.5px;font-weight:700;text-align:center;
  border:1px solid #453D35;color:#C9C3BA;background:transparent;font-family:inherit;cursor:pointer}
.sgpage .mini-btn.solid{background:var(--coral);border-color:var(--coral);color:#fff}

/* --- chart editor --- */
.sgpage .chart-bar{display:flex;flex-wrap:wrap;gap:14px;background:#2B2521;border:1px solid #3E362F;
  border-radius:9px;padding:10px 12px;margin-bottom:12px}
.sgpage .cgrp{display:flex;flex-direction:column;gap:5px}
.sgpage .cgrp .lb{font-size:7.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9a948c}
.sgpage .cgrp .opts{display:flex;gap:4px}
.sgpage .cgrp .opt{font-size:9px;font-weight:700;color:#C9C3BA;background:#332D28;border:1px solid #453D35;
  border-radius:5px;padding:3px 8px;cursor:pointer;font-family:inherit;transition:all .2s var(--ease)}
.sgpage .cgrp .opt.on{background:var(--coral);border-color:var(--coral);color:#fff}
.sgpage .cgrp .sel{font-size:9.5px;font-weight:700;color:#efeae2;background:#332D28;border:1px solid #453D35;
  border-radius:5px;padding:3px 10px;cursor:pointer;font-family:inherit}
.sgpage .sheet{background:#F7F4EF;border-radius:8px;padding:14px 16px;color:#2E2E2E}
.sgpage .sheet .sh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.sgpage .sheet .sh b{font-size:13px;font-weight:800;color:#1A1A1A;display:block}
.sgpage .sheet .sh span{font-size:9px;color:#767676}
.sgpage .sheet .sh .kof{font-size:9.5px;font-weight:700;color:#1A1A1A;text-align:right}
.sgpage .sheet .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sgpage .sheet .sec{font-size:7.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#A8331F;margin:8px 0 3px}
.sgpage .sheet .chl{margin-bottom:1px;min-height:12px}
.sgpage .sheet .ch{display:inline-block;color:#A8331F;font-weight:800;font-size:9.5px;min-width:26px}
.sgpage .sheet .ly{font-size:10px;color:#2E2E2E;margin-bottom:5px}
.sgpage .ch.flip{animation:chflip .5s var(--ease)}
@keyframes chflip{0%{transform:translateY(0);opacity:1}35%{transform:translateY(-6px);opacity:0}
.sgpage 55%{transform:translateY(6px);opacity:0}100%{transform:translateY(0);opacity:1}}

/* --- people --- */
.sgpage .prow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #332D28}
.sgpage .prow .av{width:26px;height:26px;border-radius:50%;background:#453D35;color:#efeae2;display:grid;
  place-items:center;font-size:9px;font-weight:800;flex:none}
.sgpage .prow .nm{color:#efeae2;font-size:12px;font-weight:600}
.sgpage .prow .rl{color:#9a948c;font-size:9.5px}
.sgpage .prow .magic{margin-left:auto;font-size:8.5px;font-weight:800;letter-spacing:.06em;color:var(--teal-tint);
  background:rgba(124,196,209,.13);border:1px solid rgba(124,196,209,.32);border-radius:99px;
  padding:3px 9px;opacity:0;transform:translateX(6px);transition:all .4s var(--ease)}
.sgpage .prow.ok .magic{opacity:1;transform:none}

/* --- invest --- */
.sgpage .inv-k{color:var(--teal-tint)}
.sgpage .inv-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #332D28}
.sgpage .inv-row .ico{width:28px;height:28px;border-radius:50%;background:rgba(124,196,209,.13);
  border:1px solid rgba(124,196,209,.3);display:grid;place-items:center;flex:none}
.sgpage .inv-row .ico svg{width:14px;height:14px;stroke:var(--teal-tint);stroke-width:2;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.sgpage .inv-row .tx{flex:1;min-width:0}
.sgpage .inv-row .tx b{display:block;color:#efeae2;font-size:12px;font-weight:700}
.sgpage .inv-row .tx span{color:#9a948c;font-size:10px}
.sgpage .inv-row .rt{text-align:right;flex:none}
.sgpage .inv-bar{width:74px;height:4px;border-radius:2px;background:#332D28;overflow:hidden;margin-bottom:4px}
.sgpage .inv-bar b{display:block;height:100%;width:100%;background:var(--teal-tint);transform:scaleX(0);
  transform-origin:left;transition:transform 1s var(--ease)}
.sgpage .inv-row .rt span{color:#9a948c;font-size:9px}
.sgpage .donut{width:34px;height:34px}
.sgpage .donut circle{fill:none;stroke-width:4}
.sgpage .donut .bg{stroke:#332D28}
.sgpage .donut .fg{stroke:var(--teal-tint);stroke-linecap:round;stroke-dasharray:88;stroke-dashoffset:88;
  transition:stroke-dashoffset 1.1s var(--ease)}

/* phone panels */
.sgpage .fp-panel{display:none}
.sgpage .fp-panel.on{display:block;animation:panelIn .45s var(--ease)}
.sgpage .fp-k{font-size:7.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.sgpage .fp-setrow{display:flex;align-items:center;gap:6px;padding:5px 0;border-top:1px solid #332D28}
.sgpage .fp-setrow .kk{width:16px;height:16px;border-radius:4px;background:#332D28;color:#efeae2;display:grid;
  place-items:center;font-size:8px;font-weight:800;flex:none;transition:all .3s}
.sgpage .fp-setrow .kk.hot{background:var(--coral);color:#fff}
.sgpage .fp-setrow b{flex:1;color:#efeae2;font-size:9.5px;font-weight:600}
.sgpage .fp-setrow span{color:#9a948c;font-size:8px}
.sgpage .fp-sheet{background:#F7F4EF;border-radius:6px;padding:8px 9px;color:#2E2E2E;margin-top:4px}
.sgpage .fp-sheet .sec{font-size:6.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#A8331F;margin-bottom:2px}
.sgpage .fp-sheet .ch{display:inline-block;color:#A8331F;font-weight:800;font-size:8px;min-width:20px}
.sgpage .fp-sheet .ly{font-size:8.5px;margin-bottom:4px}
.sgpage .fp-prow{display:flex;align-items:center;gap:5px;padding:5px 0;border-top:1px solid #332D28;font-size:9px;color:#efeae2}
.sgpage .fp-prow .magic{margin-left:auto;font-size:7px;font-weight:800;color:var(--teal-tint);opacity:0;transition:opacity .4s}
.sgpage .fp-prow.ok .magic{opacity:1}
.sgpage .fp-inv{padding:6px 0;border-top:1px solid #332D28}
.sgpage .fp-inv b{display:block;color:#efeae2;font-size:9px;font-weight:700}
.sgpage .fp-inv span{color:#9a948c;font-size:7.5px}
.sgpage .fp-inv .tr{height:3px;border-radius:2px;background:#332D28;overflow:hidden;margin-top:4px}
.sgpage .fp-inv .fl{height:100%;width:100%;background:var(--teal-tint);transform:scaleX(0);transform-origin:left;
  transition:transform 1s var(--ease)}

/* scene rail + try-it hints */
.sgpage .demo-rail{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-top:var(--s4)}
.sgpage .scene-chip{background:none;border:1px solid var(--rule);border-radius:99px;padding:8px 16px;
  font-family:inherit;font-size:.8125rem;font-weight:700;color:var(--ink-3);cursor:pointer;
  transition:all .25s var(--ease)}
.sgpage .scene-chip:hover{border-color:var(--ink);color:var(--ink)}
.sgpage .scene-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.sgpage .demo-try{margin-top:var(--s3);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.sgpage .demo-try em{font-style:normal;font-size:.8125rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sg-muted)}
.sgpage .try-chip{background:var(--sg-cream);border:1px solid var(--rule);border-radius:99px;padding:8px 16px;
  font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--sg-ink);cursor:pointer;
  transition:all .25s var(--ease)}
.sgpage .try-chip:hover{border-color:var(--coral);color:var(--sg-ink);background:var(--coral-wash)}
@keyframes blink{50%{opacity:0}}
@keyframes chflip{0%{transform:translateY(0);opacity:1}35%{transform:translateY(-6px);opacity:0}
  55%{transform:translateY(6px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes minitide{0%,100%{transform:translateY(18%)}50%{transform:translateY(-6%)}}
@keyframes packetpulse{0%{transform:scale(1)}35%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ---------- song hero: the release and the console share one dark room ---------- */
.sgpage .song-hero-band{position:relative;background-color:var(--sg-night);color:var(--sg-cream);background-image:linear-gradient(90deg,rgba(7,12,16,.97) 0%,rgba(7,12,16,.8) 34%,rgba(7,12,16,.34) 62%,rgba(7,12,16,.78) 100%),linear-gradient(0deg,rgba(7,12,16,.9) 0%,transparent 52%),url("/assets/home-v2/hero-rehearsal-room-v1.jpg");background-size:cover;background-position:center;isolation:isolate;}
.sgpage .song-stage{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(280px,.62fr) minmax(360px,.9fr);gap:16px;align-items:center;padding:34px 0 26px;}
.sgpage .crumb{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:rgba(243,234,216,.5);margin-bottom:18px;}
.sgpage .crumb a{color:rgba(243,234,216,.5);cursor:pointer;}
.sgpage .crumb a:hover{color:var(--sg-cream);}
.sgpage .song-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--ochre);margin-bottom:12px;}
.sgpage h1.song-title{font-family:var(--anton);font-weight:400;text-transform:uppercase;font-size:clamp(52px,5.4vw,84px);line-height:.9;letter-spacing:-.025em;color:var(--sg-cream);max-width:9ch;text-wrap:balance;text-shadow:0 8px 42px rgba(0,0,0,.4);margin:0;}
.sgpage .song-by{margin-top:16px;font-size:15px;font-weight:750;letter-spacing:-.01em;color:var(--sg-cream);}
.sgpage .song-by a{color:var(--ochre);cursor:pointer;border-bottom:1px solid rgba(224,169,78,.4);}
.sgpage .song-blurb{margin:14px 0 0;font-size:14.5px;line-height:1.6;color:rgba(243,234,216,.72);max-width:44ch;}
.sgpage .song-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.sgpage .song-art{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid rgba(236,224,198,.3);box-shadow:0 24px 64px rgba(0,0,0,.46);background-size:cover;background-position:center;}
.sgpage .song-art .seal{position:absolute;top:16px;left:18px;font-size:8.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,216,.86);}
.sgpage .song-art .kk{position:absolute;right:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(243,234,216,.5);background:rgba(9,14,18,.55);font-family:var(--anton);font-size:16px;color:var(--sg-cream);backdrop-filter:blur(3px);}
@media(max-width:1180px){
  .sgpage .song-stage{grid-template-columns:1fr 1fr;padding:40px 0 26px;}
  .sgpage .song-copy{grid-column:1/3;}
}
@media(max-width:820px){
  .sgpage .song-stage{grid-template-columns:1fr;padding:32px 0 22px;}
  .sgpage .song-copy{grid-column:1;}
  .sgpage h1.song-title{font-size:clamp(44px,12vw,64px);}
}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .sgpage .band-head{grid-template-columns:1fr;gap:14px;}
  .sgpage .sgtwo{grid-template-columns:1fr;gap:34px;}
  .sgpage .artist-band{grid-template-columns:150px 1fr;gap:26px;}
  .sgpage .artist-portrait,.sgpage .artist-portrait img{width:150px;}
  .sgpage .artist-portrait img{height:150px;}
  .sgpage .artist-acts{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;}
  .sgpage .lic-grid{grid-template-columns:1fr 1fr;}
  .sgpage .editor{grid-template-columns:1fr;gap:26px;}
  .sgpage .optrail{order:-1;}
}
@media(max-width:820px){
  .sgpage .sgwrap{width:calc(100% - 32px);}
  .sgpage .mx-track,.sgpage .mx-master{grid-template-columns:22px 52px 1fr 25px 25px;gap:6px;padding-inline:9px;}
  .sgpage .mx-track input{display:none;}
  .sgpage .sgstats{grid-template-columns:1fr 1fr;}
  .sgpage .sgstats .s:nth-child(2){border-right:0;}
  .sgpage .sgstats .s:nth-child(-n+2){border-bottom:1px solid var(--sg-line-ink);}
  .sgpage .file{grid-template-columns:28px 1fr auto;gap:12px;}
  .sgpage .file .sz{display:none;}
  .sgpage .artist-band{grid-template-columns:1fr;}
  .sgpage .lic-grid{grid-template-columns:1fr;}
  .sgpage .band{padding:48px 0 52px;}
  .sgpage .grp-head{grid-template-columns:30px 1fr 26px;gap:12px;padding:16px 2px;}
  .sgpage .g-ct{display:none;}
  .sgpage .g-nm{font-size:17px;}
  .sgpage .chartprev{min-height:0;padding:20px 18px;overflow-x:auto;}
  .sgpage .chbody.chart2col{columns:1;}
  .sgpage .ch-hd{flex-direction:column;gap:8px;}
  .sgpage .ch-hd .meta{text-align:left;}
  .sgpage .optgrid{grid-template-columns:1fr;}
  .sgpage .tone{grid-template-columns:38px 1fr auto;gap:11px;}
  .sgpage .tone .sz{display:none;}
  .sgpage .stageprev{grid-template-columns:1fr;}
  .sgpage .slideprev .lyr{font-size:19px;}
}

@media(max-width:1180px){
  .hp-stage{grid-template-columns:minmax(280px,.72fr) minmax(350px,1fr);width:min(calc(100% - 36px),1040px);padding-top:42px}.hp-copy{grid-column:1/3;padding:0 0 18px}.hp-copy h1{font-size:clamp(68px,8vw,96px);max-width:12ch}.hp-keybar{grid-column:1/3}.hp-track{grid-template-columns:22px 54px 1fr 25px 25px 48px;}.hp-track input{width:48px}.hp-discover-inner{grid-template-columns:1fr;width:min(calc(100% - 40px),1500px)}.hp-set{border-right:0;border-bottom:1px solid rgba(25,34,46,.18);padding:0 0 42px}.hp-artist-grid{gap:20px}
}
@media(max-width:900px){
  body.hp-route .topbar .row{height:auto}.hp-stage{grid-template-columns:1fr 1fr;gap:16px;padding:48px 0 28px}.hp-copy{grid-column:1/3;padding:0 0 20px}.hp-copy h1{font-size:clamp(64px,10vw,88px);max-width:12ch}.hp-copy .lp-play{display:inline-flex}.hp-keybar{grid-column:1/3}.hp-track,.hp-master{grid-template-columns:22px 54px 1fr 25px 25px}.hp-track input{display:none}.hp-rail{justify-content:flex-start;overflow-x:auto}.hp-rail span{min-width:auto;padding:0 24px}.hp-set{grid-template-columns:170px 1fr}.hp-artists-head{align-items:start}.hp-artist-grid{grid-template-columns:repeat(2,1fr)}.hp-close{min-height:610px;background-position:58% center}.hp-close-inner{grid-template-columns:1fr}.hp-close-actions{justify-self:start}
}
@media(max-width:620px){
  body.hp-route .navlinks{width:100%;order:3;margin:0;gap:2px;overflow-x:auto}.hp-hero{min-height:auto;background-position:68% center}.hp-stage{grid-template-columns:1fr;width:calc(100% - 28px);padding:44px 0 22px}.hp-copy{grid-column:1}.hp-copy h1{font-size:clamp(54px,16vw,72px);line-height:.96;max-width:11ch}.hp-subline{font-size:16px;max-width:31ch}.hp-copy .lp-play{width:100%;box-shadow:8px 8px 0 rgba(5,8,10,.35)}.hp-album{min-height:0}.hp-mixer{min-height:0}.hp-keybar{grid-column:1}.hp-track,.hp-master{grid-template-columns:22px 52px 1fr 25px 25px;gap:6px;padding-inline:9px}.hp-rail{min-height:58px}.hp-rail span{font-size:12px;padding:0 18px}.hp-rail span+span::before{margin-right:10px}.hp-discover{padding:44px 0 52px}.hp-discover-inner{width:calc(100% - 28px);gap:40px}.hp-set{grid-template-columns:1fr;padding-bottom:34px}.hp-set-intro .btn{width:100%;justify-content:center}.hp-artists-head{display:block}.hp-artists-head p{text-align:left;margin-top:9px}.hp-artist-grid{gap:20px 10px}.hp-artist h3{font-size:14px}.hp-close{min-height:640px;padding:54px 0;background-position:66% center}.hp-close-inner{width:calc(100% - 28px)}.hp-close h2{font-size:clamp(48px,15vw,62px);line-height:1}.hp-close-actions{width:100%;flex-direction:column}.hp-close .btn{justify-content:center}
}
