/* Caesura Cappella + Elementi Vocali — the vocal sector.
   Shares the house dark/brass/serif language; premium suite reads richer,
   the cheap line keeps the App-Store card warmth. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --ink:#14161c; --panel:#1c1f27; --panel2:#20242e;
  --bone:#f1ead9; --cream:#efe6d2; --ash:#a49b86; --ash-dim:#726a58;
  --brass:#d9b45a; --line:rgba(217,180,90,.16);
  --serif:'Fraunces',Georgia,serif; --sans:'Inter',-apple-system,system-ui,sans-serif;
  --accent:#8fa6d8; --maxw:1120px;
}
*{box-sizing:border-box;} html{scroll-behavior:smooth;}
body{margin:0; color:var(--bone); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased;
  background:radial-gradient(120% 80% at 50% -8%, rgba(143,166,216,.10), transparent 55%),
  linear-gradient(180deg,var(--ink) 0%,#101218 62%,#12141d 100%); background-attachment:fixed;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,52px);}
.bar{position:sticky; top:0; z-index:50; backdrop-filter:blur(11px);
  background:linear-gradient(180deg,rgba(14,16,20,.9),rgba(14,16,20,.55)); border-bottom:1px solid var(--line);}
.bar-in{max-width:var(--maxw); margin:0 auto; padding:13px clamp(20px,5vw,52px); display:flex; align-items:center; justify-content:space-between; gap:14px;}
.lock{display:flex; align-items:center; gap:12px;}
.word{font-family:var(--serif); font-size:19px; letter-spacing:.28em; color:var(--cream); font-weight:500;}
.badge{font-family:var(--sans); font-weight:700; font-size:9.5px; letter-spacing:.22em; color:#171208; background:var(--brass); padding:4px 9px 3px; border-radius:5px;}
.bar a.up{font-size:12px; letter-spacing:.04em; color:var(--ash);} .bar a.up:hover{color:var(--cream);}
.hero{padding:clamp(52px,9vh,104px) 0 clamp(24px,4vh,44px); text-align:center;}
.hero .eye{font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--brass);}
.hero h1{font-family:var(--serif); font-weight:500; font-size:clamp(42px,8vw,84px); letter-spacing:.02em; margin:16px 0 0; color:var(--cream); line-height:1;}
.hero .credo{font-family:var(--serif); font-style:italic; font-size:clamp(18px,2.6vw,27px); color:var(--ash); margin:22px auto 0; max-width:26ch; line-height:1.4;}
.hero .sub{margin:24px auto 0; max-width:60ch; color:#d6cdb9; font-size:clamp(15px,1.7vw,17px);} .hero .sub strong{color:var(--cream);}
.answer{margin:30px auto 0; max-width:70ch; border:1px solid var(--line); border-radius:16px; padding:18px 22px; background:rgba(255,255,255,.02); font-size:14px; color:#cbc2ae;}
.answer b{color:var(--cream);}
.sec{padding:clamp(30px,5vh,56px) 0;}
.sec-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:8px; flex-wrap:wrap;}
.sec-head h2{font-family:var(--serif); font-weight:500; font-size:clamp(26px,3.6vw,38px); margin:0; color:var(--cream);}
.sec-head .tag{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass);}
.sec-note{color:var(--ash); font-size:14px; margin:0 0 26px; max-width:64ch;}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px;}
.tile{display:block; background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--line);
  border-radius:18px; padding:18px 18px 16px; transition:transform .14s,border-color .2s,box-shadow .2s; position:relative; overflow:hidden;}
.tile::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--accent); opacity:.9;}
.tile:hover{transform:translateY(-3px); border-color:rgba(217,180,90,.34); box-shadow:0 16px 34px rgba(0,0,0,.42);}
.tile .thumb{display:flex; justify-content:center; margin:4px 0 12px;}
.tile .thumb svg{width:120px; height:auto; filter:drop-shadow(0 8px 14px rgba(0,0,0,.5));}
.tile .tn{font-family:var(--serif); font-style:italic; font-weight:500; font-size:23px; color:var(--cream);}
.tile .te{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ash); margin-top:3px;}
.tile .th{font-size:12.5px; color:#cbc2ae; margin-top:10px; line-height:1.5; min-height:4.2em;}
.tile .foot{display:flex; align-items:center; justify-content:space-between; margin-top:12px;}
.tile .price{font-size:13px; color:var(--brass); font-weight:600;} .tile .price.free{color:#8fd0bf;}
.tile .status{font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ash);}
.tile .go{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash);} .tile:hover .go{color:var(--cream);}
.vocali-band{border:1px solid var(--line); border-radius:20px; background:linear-gradient(180deg,rgba(28,31,39,.6),rgba(20,24,30,.6)); padding:clamp(20px,3vw,32px); margin-top:10px;}
.chips{margin:18px 0 24px; display:flex; gap:12px; flex-wrap:wrap;}
.chip{border:1px solid var(--line); border-radius:100px; padding:8px 16px; font-size:12.5px; color:var(--cream);}
.chip b{color:var(--brass); font-weight:600;} .chip.free b{color:#8fd0bf;}
.appstore{display:inline-flex; align-items:center; gap:12px; background:#000; color:#fff; border:1px solid #3a3a3a; border-radius:13px;
  padding:11px 20px 11px 18px; cursor:pointer; transition:transform .12s,box-shadow .2s; box-shadow:0 6px 20px rgba(0,0,0,.4);}
.appstore:hover{transform:translateY(-1px); border-color:#555;} .appstore svg{width:26px; height:26px;}
.appstore .as-t{display:flex; flex-direction:column; line-height:1.05; text-align:left;}
.appstore .as-t small{font-size:10px; opacity:.85;} .appstore .as-t b{font-size:19px; font-weight:600;}
.foot-bar{border-top:1px solid var(--line); padding:34px 0 46px; text-align:center;}
.foot-bar p{color:var(--ash-dim); font-size:12.5px; margin:6px 0;}
.foot-bar a{color:var(--ash); border-bottom:1px solid var(--line);} .foot-bar a:hover{color:var(--cream);}
/* card page */
.card-wrap{padding:clamp(32px,6vh,64px) 0 clamp(56px,9vh,96px);}
.back{display:inline-flex; gap:7px; font-size:12px; color:var(--ash); margin-bottom:24px;} .back:hover{color:var(--cream);}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:0 26px 60px rgba(0,0,0,.5);}
.accent-strip{height:5px;}
.card-in{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(24px,4vw,52px); padding:clamp(26px,4vw,44px);}
.card-art{display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(120% 100% at 50% 0%,rgba(255,255,255,.03),transparent 60%); border-radius:16px; padding:20px 10px;}
.card-art svg{width:min(240px,64vw); height:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.55));}
.tier-tag{margin-top:18px; font-size:12px; letter-spacing:.03em; border:1px solid var(--line); border-radius:100px; padding:7px 16px; font-weight:600;}
.card-body .kicker{font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--brass);}
.card-body h1{font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(38px,6vw,58px); margin:8px 0 0; color:var(--cream); line-height:1;}
.card-body .eff{font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); margin-top:10px;}
.card-body .blurb{margin-top:20px; color:#d6cdb9; font-size:15.5px; line-height:1.65; max-width:48ch;}
.knobs-title{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ash-dim); margin:28px 0 12px;}
.knoblist{list-style:none; padding:0; margin:0; display:grid; gap:11px;}
.knoblist li{display:grid; grid-template-columns:110px 1fr; gap:14px; align-items:baseline;}
.knoblist .kn{font-weight:700; font-size:12px; letter-spacing:.08em; color:var(--cream); border:1px solid var(--line); border-radius:7px; padding:6px 4px; text-align:center; background:rgba(255,255,255,.02);}
.knoblist .kd{font-size:14px; color:#cbc2ae; line-height:1.5;}
.auto-row{margin-top:24px; display:flex; align-items:center; gap:14px; border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:rgba(255,255,255,.02);}
.auto-pill{font-weight:700; font-size:11px; letter-spacing:.18em; color:var(--ink); background:var(--brass); border-radius:100px; padding:6px 14px; white-space:nowrap;}
.auto-desc{font-size:13px; color:#cbc2ae; line-height:1.5;}
.card-cta{margin-top:30px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.card-cta .note{font-size:12.5px; color:var(--ash-dim);}
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--sans); font-size:13px; letter-spacing:.02em; color:var(--cream); border:1px solid var(--line); border-radius:100px; padding:11px 22px;}
.btn.solid{background:var(--brass); color:#171208; border-color:var(--brass); font-weight:600;}
@media (max-width:760px){ .card-in{grid-template-columns:1fr;} .bar a.up{display:none;} }
