/* /pricing: the plans told as one night out. Hand-written; tabs + header/footer come from /site.css. No icons. */
.sc { font: 600 11px var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); } .acc { color: var(--accent); }
.btn { border: 0; cursor: pointer; font-family: var(--sans); } .btn.line { background: transparent; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px var(--ink); }
.lnk { font: 600 14px var(--sans); color: var(--accent); text-decoration: none; }
.acts { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.faq { max-width: 820px; } .faq details { border-top: 1px solid var(--line); padding: 18px 0; } .faq summary { cursor: pointer; list-style: none; font: 400 22px var(--serif); display: flex; justify-content: space-between; gap: 20px; }
.faq summary::-webkit-details-marker { display: none; } .faq summary::after { content: "+"; color: var(--accent); font: 300 26px var(--sans); } .faq details[open] summary::after { content: "–"; }
.faq p { margin: 10px 0 0; color: var(--ink-soft); font-size: 16.5px; max-width: 64ch; }
.note { font-size: 13px; color: var(--ink-soft); }
.choice-tabs .pb p, .choice-tabs .tab p { font: 400 14.5px/1.5 var(--sans); color: inherit; max-width: none; } .beat .note { font: 400 13px var(--sans); }
.choice-tabs { margin: 34px -40px 0 -90px; } .choice-tabs .tabs2 { max-width: none; }
@media (max-width: 1060px) { .choice-tabs { margin: 30px 0 0; } }
@media (max-width: 760px) { .choice-tabs { margin: 26px 0 0; } }

.n-hero { text-align: center; padding: 60px 0 30px; } .n-hero h1 { font-size: clamp(48px, 7vw, 96px); line-height: .95; max-width: 14ch; margin: 14px auto 18px; }
.n-hero .lead { font: 300 21px/1.5 var(--serif); color: var(--ink-soft); max-width: 52ch; margin: 0 auto; }
.story { position: relative; max-width: 860px; margin: 40px auto 0; padding-left: 90px; }
.story::before { content: ""; position: absolute; left: 34px; top: 10px; bottom: 10px; border-left: 2px dashed var(--line); }
.beat { position: relative; padding: 0 0 60px; }
.beat .t { position: absolute; left: -90px; top: 0; width: 70px; height: 70px; border-radius: 50%; background: var(--card); border: 1px solid var(--line); display: grid; place-items: center; text-align: center; font: italic 400 16px/1.1 var(--serif); }
.beat h3, .beat h2 { font: 400 34px/1.1 var(--serif); letter-spacing: normal; margin: 6px 0 10px; } .beat p { font: 300 19px/1.6 var(--serif); color: var(--ink-soft); margin: 0; max-width: 54ch; }
.meter { display: flex; gap: 8px; margin-top: 16px; height: auto; } .meter i { position: static; translate: none; border: 0; width: 46px; height: 10px; border-radius: 5px; background: var(--line); } .meter i.on { background: var(--accent); }
.beat.out .t { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.n-sec { padding: 80px 0 0; } .n-sec h2 { font-size: clamp(36px, 4.6vw, 60px); margin: 8px 0 30px; }
.end2 { text-align: center; margin: 90px 0 80px; padding: 70px 30px; background: var(--ink); color: var(--paper); border-radius: 36px; } .end2 h2 { color: var(--paper); font-size: clamp(40px, 5.4vw, 68px); margin: 0 0 22px; }
.end2 .btn { background: var(--paper); color: var(--ink) !important; } .end2 .btn.line { background: transparent; color: var(--paper) !important; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--on-deep) 60%, transparent); }
@media (max-width: 760px) { .story { padding-left: 0; } .story::before { display: none; } .beat .t { position: static; margin-bottom: 10px; } }
