/*
 * Avestix Frontier shared stylesheet.
 *
 * BREAKPOINT SCALE (mobile-first, min-width only). Base styles cover 320 to 479.
 *   sm  480   @media (min-width:480px)
 *   md  768   @media (min-width:768px)
 *   lg  1024  @media (min-width:1024px)   page layout. The header differs: hamburger through 1024, desktop nav from 1025 (KPUB-54)
 *   xl  1280  @media (min-width:1280px)   full-size header bar; 1025-1279 is the compact bar
 * Any other @media width query is "stray" (lint rule S3): this file must have none.
 * prefers-reduced-motion, hover, pointer and print queries are allowed.
 *
 * CONVENTIONS
 *   - Layout lives in classes, never in inline style= (lint rules S1, S2).
 *   - Anything that caps height uses a 100vh fallback line, then 100dvh:
 *       max-height:100vh; max-height:100dvh;
 *   - User-visible names and emails get overflow-wrap:anywhere.
 */

/* ---- ANNOUNCEMENT BAR ---- */
.announce-bar{position:relative;background:rgba(168,146,118,.12);border-bottom:1px solid rgba(168,146,118,.2);text-align:center;padding:.6rem .75rem;font-size:.75rem;color:var(--gold-light);}
.announce-bar a{color:var(--gold);text-decoration:underline;margin-left:.5rem;white-space:nowrap;}
.announce-bar a::after{content:'';position:absolute;top:0;left:0;right:0;height:max(100%,44px);z-index:1001;}
@media(min-width:768px){
  .announce-bar{padding:.6rem 2rem;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;min-height:44px;}
}
/* the hamburger and logo sit under the bar through 1024: its ::after hit area is 44px, so the bar is too; from 1025 the header has padding above the logo and the bar returns to main's height */
@media(min-width:1025px){.announce-bar{min-height:0;}}
/* CAY-104: crumb link copy swaps at md like the announce bar. The spans sit inside the <a>: .crumb-pill>span{display:none} hides direct children, and .crumb span adds margin and colour that the third rule undoes. */
.cr-full{display:none;}
@media(min-width:768px){.cr-full{display:inline;}.cr-short{display:none;}}
.crumb a>.cr-full,.crumb a>.cr-short{margin:0;color:inherit;}
/* owner ruling 2026-10-12: "Flagship Retreat" keeps its copy and wraps; tighter pill below 480 holds it to 2 rows at 320. */
.crumb .crumb-pill{padding:.5rem;}.crumb .crumb-pill>a::after{margin:0 .25rem;}
@media(min-width:480px){.crumb .crumb-pill{padding:.6rem 1.1rem;}.crumb .crumb-pill>a::after{margin:0 .5rem;}}

/* skip link: 44px high when focused; the colours, position and type stay with each page's own .skip-link rule */
.skip-link{min-height:44px;display:inline-flex;align-items:center;}

/* ---- HEADER ---- */
.uh{position:relative;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:0;min-height:64px;background:rgba(13,18,41,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(168,146,118,.14);}
.uh-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;position:absolute;top:10px;left:1.1rem;min-height:44px;}
.uh-logo img{height:34px;width:auto;display:block;}
.uh-list{display:none;align-items:center;gap:1.05rem;list-style:none;}
.uh-list>li{position:relative;display:flex;align-items:center;}
.uh-list,.uh-list>li{margin:0;} /* the legal pages' own ul/li margins leaked into the bar: 104px instead of 86px from 1025 up */
.uh-link{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cream);text-decoration:none;transition:color .2s;}
.uh-link:hover,.uh-link:focus-visible{color:var(--gold);}
.uh-link.active{color:var(--gold);}
.nav-cta{border:1px solid var(--gold);padding:.55rem 1rem;color:var(--gold)!important;text-decoration:none;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;transition:all .2s;display:inline-block;}
.nav-cta:hover,.nav-cta:focus-visible{background:var(--gold);color:var(--navy-deep)!important;}
main .nav-cta{display:inline-flex;align-items:center;min-height:44px;font-size:14px;}
@media(min-width:1024px){main .nav-cta{font-size:.68rem;}}
@media(min-width:1024px) and (pointer:coarse){main .nav-cta{font-size:14px;}}
.uh-drop{list-style:none;}
.uh-drop>summary{list-style:none;cursor:pointer;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cream);display:flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none;}
.uh-drop>summary::-webkit-details-marker{display:none;}
.uh-drop>summary::marker{content:'';}
.uh-drop>summary:hover,.uh-drop>summary:focus-visible{color:var(--gold);}
.uh-drop>summary a{color:inherit;text-decoration:none;}
.uh-drop.active>summary{color:var(--gold);}
.uh-caret{font-size:.6rem;color:var(--gold);transition:transform .2s;display:inline-block;}
.uh-drop[open] .uh-caret{transform:rotate(180deg);}
.uh-drop-panel{list-style:none;position:absolute;top:calc(100% + 1.1rem);left:50%;transform:translateX(-50%);min-width:220px;background:var(--navy-deep);border:1px solid rgba(168,146,118,.22);padding:.6rem 0;box-shadow:0 20px 44px rgba(0,0,0,.45);z-index:1001;}
.uh-drop-panel a{display:block;padding:.7rem 1.4rem;font-size:.72rem;letter-spacing:.03em;color:var(--cream);text-decoration:none;white-space:nowrap;}
.uh-drop-panel a:hover,.uh-drop-panel a:focus-visible{color:var(--gold);background:rgba(168,146,118,.08);}
.uh-mobile{display:block;width:100%;position:static;}
.uh-mobile>summary{position:absolute;top:10px;right:.5rem;list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;}
.uh-mobile>summary::-webkit-details-marker{display:none;}
.uh-mobile>summary::marker{content:'';}
.uh-mobile>summary span{display:block;height:1.5px;background:var(--gold);width:22px;transition:transform .2s,opacity .2s;}
.uh-mobile[open]>summary span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.uh-mobile[open]>summary span:nth-child(2){opacity:0;}
.uh-mobile[open]>summary span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
/* 109px: the 64px header plus the tallest announce bar below 1024 (44px), so the panel ends inside the viewport */
.uh-mobile-panel{position:relative;width:100%;margin-top:64px;max-height:calc(100vh - 109px);max-height:calc(100dvh - 109px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--navy-deep);border-top:1px solid rgba(168,146,118,.2);padding:.3rem 0 2rem;z-index:999;}
.uh-m-link{display:block;padding:.9rem 1.2rem;font-size:1rem;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(168,146,118,.12);min-height:44px;}
.uh-m-link:hover,.uh-m-link:focus-visible{background:rgba(168,146,118,.08);}
.uh-m-link.active{color:var(--gold);}
.uh-m-group{border-bottom:1px solid rgba(168,146,118,.12);}
.uh-m-group>summary{list-style:none;cursor:pointer;padding:0 1.2rem;font-size:1rem;color:var(--cream);display:flex;justify-content:space-between;align-items:center;min-height:44px;}
.uh-m-group>summary::-webkit-details-marker{display:none;}
.uh-m-group>summary::marker{content:'';}
.uh-m-group>summary:hover,.uh-m-group>summary:focus-visible{background:rgba(168,146,118,.08);}
.uh-m-group>summary>a{color:inherit;text-decoration:none;display:flex;align-items:center;min-height:44px;}
.uh-m-group>summary::after{content:'+';color:var(--gold);font-size:.9rem;margin-left:1rem;}
.uh-m-group[open]>summary::after{content:'\2013';}
.uh-m-group[open]>summary{color:var(--gold-light);}
.uh-m-group.active>summary{color:var(--gold);}
.uh-m-sub{padding:.2rem 1.2rem 1rem 1.6rem;display:flex;flex-direction:column;gap:.2rem;}
.uh-m-sub a{font-size:1rem;color:var(--muted);text-decoration:none;border-left:1px solid var(--gold);padding:.6rem 0 .6rem .9rem;min-height:44px;display:flex;align-items:center;}
.uh-m-sub a:hover,.uh-m-sub a:focus-visible{color:var(--gold-light);}
.uh-m-cta{background:var(--gold);color:var(--navy-deep);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:1rem;border-bottom:none;}
.uh-m-cta:hover,.uh-m-cta:focus-visible{background:var(--gold-light);}
.uh-drop-panel a[aria-current="page"]{color:var(--gold);}
.uh-m-sub a[aria-current="page"]{color:var(--gold-light);}
/* header: the hamburger shows through 1024 inclusive and the desktop nav from 1025, because 8 items do not fit at 1024 (KPUB-54, KNW-AC-84; tests/header-breakpoints.mjs). 1025 is the one header-only step outside the scale. 1025-1279 is the compact bar, 1280 and up the full bar. */
@media(min-width:1025px){
  .uh{padding:1.1rem 1.6rem;min-height:auto;}
  .uh-logo{position:static;top:auto;left:auto;min-height:0;}
  .uh-logo img{height:50px;}
  .uh-list{display:flex;}
  .uh-mobile{display:none;width:auto;}
}
@media(min-width:1280px){
  .uh{gap:1.5rem;padding:1.1rem 4rem;}
  .uh-list{gap:1.7rem;}
  .uh-link,.uh-drop>summary{font-size:.68rem;letter-spacing:.12em;}
  .nav-cta{padding:.6rem 1.3rem;font-size:.68rem;letter-spacing:.12em;}
}
@media(pointer:coarse){
  .uh-drop>summary{min-height:44px;}
  .uh-drop-panel a{display:flex;align-items:center;min-height:44px;}
}

/* nav-mega:start */
.uh-list>li:has(>.uh-mega){position:static;}
.uh-mega-panel{position:absolute;top:100%;left:0;right:0;z-index:1001;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:2rem max(1.6rem,calc((100% - 1120px)/2)) 2.2rem;background:var(--navy-deep);border-top:1px solid rgba(168,146,118,.22);border-bottom:1px solid rgba(168,146,118,.22);box-shadow:0 20px 44px rgba(0,0,0,.45);--uh-h:calc(2.2rem + 51px);--ab-h:2.5rem;max-height:calc(100vh - var(--uh-h) - var(--ab-h));max-height:calc(100dvh - var(--uh-h) - var(--ab-h));overflow-y:auto;overscroll-behavior:contain;}
.uh-mega[open]::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 1.8rem);height:1.8rem;}
.uh-mega-frame{background:#141b38;padding:8px;border:1px solid rgba(168,146,118,.35);}
.uh-mega-frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.uh-mega-label{border-left:2px solid var(--gold);padding-left:.7rem;margin:.85rem 0 .5rem;display:flex;flex-direction:column;gap:.15rem;}
.uh-mega-acc{font-size:.68rem;letter-spacing:.12em;font-variant:small-caps;color:var(--gold);font-weight:700;}
.uh-mega-title{font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;line-height:1.25;color:var(--cream);}
.uh-mega-links{list-style:none;display:flex;flex-direction:column;}
.uh-mega-links a{display:block;padding:.45rem 0;font-size:.92rem;letter-spacing:.02em;color:var(--cream);text-decoration:none;}
.uh-mega-links a:hover,.uh-mega-links a:focus-visible{color:var(--gold);}
.uh-mega-links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.uh-mega-k{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);}
.uh-mega-k>.uh-mega-col:only-child{grid-column:1/-1;}
.uh-mega-head{margin:0 0 .8rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.uh-mega-card,.uh-mega-room{display:block;color:inherit;text-decoration:none;}
.uh-mega-card:focus-visible,.uh-mega-room:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.uh-mega-card .uh-mega-frame img{aspect-ratio:16/10;}
.uh-mega-card .uh-mega-title{font-size:1.5rem;line-height:1.2;}
.uh-mega-dek{font-size:.78rem;line-height:1.5;color:var(--muted);}
.uh-mega-meta{font-size:.68rem;letter-spacing:.04em;color:var(--muted);}
.uh-mega-card:hover .uh-mega-title,.uh-mega-room:hover .uh-mega-title{color:var(--gold);}
.uh-mega-rooms{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem .8rem;margin-bottom:.6rem;}
.uh-mega-rooms:has(li:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));}
.uh-mega-rooms .uh-mega-frame img{aspect-ratio:4/3;}
.uh-mega-rooms .uh-mega-label{margin:.5rem 0 0;}
.uh-mega-rooms .uh-mega-title{font-size:.9rem;}
.uh-mega-roomlist{list-style:none;margin-bottom:.6rem;}
.uh-mega-roomlist a{display:flex;gap:.8rem;padding:.45rem 0;font-size:.82rem;color:var(--cream);text-decoration:none;}
.uh-mega-roomlist a:hover,.uh-mega-roomlist a:focus-visible{color:var(--gold);}
.uh-mega-panel [aria-current],.uh-m-sub [aria-current]{color:var(--gold);}
.uh-mega-num{color:var(--gold);min-width:2.4rem;font-weight:700;}
.uh-m-sub .uh-m-feature{display:block;border-left:0;padding:0 0 .8rem;min-height:44px;}
.uh-m-feature .uh-mega-title{font-size:1.1rem;}
.uh-m-feature .uh-mega-frame img{max-height:18vh;max-height:18dvh;}
.uh-m-feature .uh-mega-dek{display:none;}
.uh-m-feature .uh-mega-acc,.uh-m-feature .uh-mega-meta{font-size:.875rem;}
@media(orientation:landscape) and (max-height:500px){.uh-m-feature .uh-mega-frame{display:none;}}
.uh-m-num{color:var(--gold);min-width:2.2rem;font-weight:700;}
.uh-m-set{display:flex;flex-direction:column;gap:.2rem;}
.uh-m-set+.uh-m-set{margin-top:.7rem;}
.uh-m-label{margin:.4rem 0 .1rem;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.uh-m-sub a{overflow-wrap:anywhere;}
@media(prefers-reduced-motion:reduce){.uh-caret,.uh-link,.uh-mega-links a,.uh-m-sub a{transition:none;}}
/* nav-mega:end */

/* ---- FOOTER ---- */
.uf{background:var(--navy-deep);padding:3.5rem 2rem 2rem;border-top:1px solid rgba(168,146,118,.12);}
.uf-cols{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.6rem;margin-bottom:3rem;}
.uf-brand-logo{height:50px;width:auto;display:block;margin-bottom:1rem;}
.uf-brand-desc{font-size:.875rem;color:var(--muted);line-height:1.7;max-width:300px;margin-bottom:1rem;}
.uf-contact a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;font-size:.875rem;color:var(--muted);text-decoration:none;}
.uf-contact a:hover,.uf-contact a:focus-visible{color:var(--gold);}
.uf-cities{font-size:.875rem;color:var(--silver);letter-spacing:.12em;text-transform:uppercase;margin-top:.5rem;}
.footer-cookie-btn{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;padding:0;margin:0;font:inherit;font-size:.875rem;letter-spacing:.08em;color:var(--muted);cursor:pointer;}
.footer-cookie-btn:hover,.footer-cookie-btn:focus-visible{color:var(--gold);}
.uf-social{display:flex;gap:.6rem;margin-top:1.1rem;}
.uf-social a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(168,146,118,.4);color:var(--gold);transition:all .2s;}
.uf-social a:hover,.uf-social a:focus-visible{background:var(--gold);color:var(--navy-deep);}
.footer-col-title{font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;}
.uf-list{list-style:none;display:flex;flex-direction:column;gap:0;}
.uf-list a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:.875rem;color:var(--muted);transition:color .2s;}
.uf-list a:hover,.uf-list a:focus-visible{color:var(--gold);}
.uf-list li.uf-sub-item{padding-left:.85rem;border-left:1px solid var(--gold);}
.uf-list li.uf-sub-item a{font-size:.875rem;opacity:.85;}
.uf-list li.uf-group-label{font-size:.875rem;color:var(--cream);font-weight:700;margin-top:.3rem;}
.uf-list li.uf-group-label:first-child{margin-top:0;}
.footer-bottom{max-width:1280px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:.875rem;color:var(--muted);}
.footer-legal{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--muted);text-decoration:none;letter-spacing:.08em;}
.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--gold);}
.footer-partner-badge{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gold);background:rgba(168,146,118,.08);border:1px solid rgba(168,146,118,.2);padding:.3rem .8rem;}
.uf-brand{order:1;}
.uf-about{order:2;}
.uf-events{order:3;}
.uf-memsponsor{order:4;}
@media(min-width:768px){
  .uf-cols{grid-template-columns:1fr 1fr;}
  .uf-brand,.uf-about,.uf-events,.uf-memsponsor{order:0;}
}
@media(min-width:1024px){
  .uf{padding:4.5rem 4rem 2.5rem;}
  .uf-cols{grid-template-columns:1.4fr .95fr 1.25fr .95fr;}
  .uf-brand-desc,.uf-contact a,.uf-list a,.uf-list li.uf-group-label{font-size:.73rem;}
  .uf-contact a,.uf-list a,.footer-legal a{display:inline;min-height:0;}
  .uf-list{gap:.55rem;}
  .uf-list li.uf-sub-item a{font-size:.7rem;}
  .uf-cities,.footer-col-title,.footer-partner-badge{font-size:.62rem;}
  .uf-social a{width:36px;height:36px;}
  .footer-copy{font-size:.68rem;}
  .footer-legal a{font-size:.66rem;}
  .footer-cookie-btn{display:inline-block;font-size:.66rem;min-height:0;}
}
@media(min-width:1024px) and (pointer:coarse){
  .uf-brand-desc,.uf-contact a,.uf-list a,.uf-list li.uf-group-label,.uf-list li.uf-sub-item a,.uf-cities,.footer-col-title,.footer-partner-badge,.footer-copy,.footer-legal a,.footer-cookie-btn{font-size:.875rem;}
  .uf-contact a,.uf-list a,.footer-legal a{display:inline-flex;align-items:center;min-height:44px;}
  .footer-cookie-btn{display:inline-flex;font-size:.875rem;min-height:44px;}
  .uf-social a{width:44px;height:44px;}
}

/* footer height reserved before partials/footer.html loads (AC-CLS-1): the rendered height at the widest width of each band, rounded down. The first band is the exception: its widest width (479) renders 1880px, under the 90% floor at 320 (1890 of 2096), so it takes the floor and leaves a gap of at most 10px at 479, which the check never measures (it renders at 320, 375, 414). */
#site-footer{min-height:1968px;}
@media(min-width:480px){
  #site-footer{min-height:1952px;}
}
@media(min-width:768px){
  #site-footer{min-height:1232px;}
}
@media(min-width:1024px){
  #site-footer{min-height:569px;}
}

/* in-page anchors land clear of the header (110px, the value cayman-deal-sponsors/memberships already use) */
[id]{scroll-margin-top:110px;}

/* speakers.html card grid: the cards' nowrap buttons made each 1fr track wider than its share at 1025-1039 (7px page overflow); the page's own grid rule cannot be reached from here, so the item is allowed to shrink and its buttons to wrap instead of poking out of the card */
.spkr-grid>.spkr-card{min-width:0;}
.spkr-grid .spkr-card .btn,.spkr-grid .spkr-card .btn-ghost{white-space:normal;}

.uh a:focus-visible,.uh summary:focus-visible,.uf a:focus-visible,.uf summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

/* Tier-card badge and CTAs (CTIX-21, CTIX-30). Pages load this file before their own <style>, so a page rule of equal or higher specificity wins. */
.tier-badge{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;}
@media(min-width:1024px){.tier-badge{font-size:.58rem}}
@media(min-width:1024px) and (pointer:coarse){.tier-badge{font-size:14px}}
.tier-cta,.tier-cta-ghost{display:block;text-align:center;text-decoration:none;margin-top:auto;padding:16px;border-radius:3px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;transition:all .2s;}
@media(min-width:1024px){.tier-cta,.tier-cta-ghost{font-size:12px}}
@media(min-width:1024px) and (pointer:coarse){.tier-cta,.tier-cta-ghost{font-size:14px}}
.tier-cta{background:var(--gold);color:var(--navy);}
.tier-cta:hover{background:var(--gold-light);}
.tier-cta-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.tier-cta-ghost:hover{background:var(--gold);color:var(--navy);}
.tier-cta:focus-visible,.tier-cta-ghost:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}

/* ==== LEDGER (SPNX-01) ==== shared sponsorship component. Markup contract: top of js/ledger.js.
   Tokens map to the page :root tokens, with the design handoff's values as fallbacks (BT-8).
   Scale (owner ruling 2026-10-18): the tier buttons are equal-width columns (2x2 below 768px, one row from 768px); no price-distance rail or fill. */
.ledger{--ledger-ground:var(--navy,#0D1229);--ledger-panel:var(--navy-mid,#162040);--ledger-line:var(--navy-light,#1E3060);--ledger-text:var(--cream,#F2F2F2);--ledger-muted:var(--silver,#A6A6A6);--ledger-gold:var(--gold,#a89276);--ledger-gold-hover:var(--gold-light,#b8a280);--ledger-accent:var(--ledger-gold);color:var(--ledger-text);font-weight:300;line-height:1.55;padding:32px 0 40px;}
.ledger[data-accent="teal"]{--ledger-accent:var(--cayman,#1FA8A8);}
.ledger [hidden]{display:none!important;}
.ledger :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--ledger-text);outline-offset:3px;}
.ledger a{color:var(--ledger-gold);}
.ledger a:hover{color:var(--ledger-gold-hover);}
.ledger-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.ledger-hero{padding:28px 20px;border:1px solid var(--ledger-line);}
.ledger-hero .eyebrow{color:var(--ledger-accent);font-weight:700;letter-spacing:.28em;font-size:12px;margin-bottom:0;}
.ledger-hero .eyebrow::before{content:"";width:28px;height:1px;background:currentColor;}
.ledger-hero .sec-title{font-weight:400;font-size:36px;line-height:1.1;margin:16px 0 12px;}
.ledger-hero .sec-title em{color:var(--ledger-gold);}
.ledger-hero p{font-size:15px;font-weight:400;max-width:560px;}

.ledger-toggle{display:inline-flex;margin:24px 0;border:1px solid var(--ledger-line);}
.ledger-toggle button{min-height:44px;padding:12px 14px;font:700 14px/1.2 'Lato',sans-serif;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:var(--ledger-text);border:0;cursor:pointer;}
.ledger-toggle button[aria-pressed="true"]{background:var(--ledger-gold);color:var(--ledger-ground);}
.ledger-toggle button[aria-pressed="true"]::before{content:"\25CF\00a0";}

.ledger-stage{position:relative;height:180px;border:1px solid var(--ledger-line);background:var(--ledger-panel);overflow:hidden;}
.ledger-stage img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;}
.ledger-stage img.is-sel{opacity:1;}
.ledger-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to top,rgba(13,18,41,.9),transparent);}
.ledger-stage-cap{position:absolute;z-index:1;left:14px;right:14px;bottom:16px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:400 18px/1.2 'Playfair Display',serif;}
.ledger-stage-cap span:last-child{color:var(--ledger-gold-hover);}

.ledger-scale{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 0;}
.ledger-stop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:64px;padding:12px 8px;background:none;border:1px solid var(--ledger-line);color:var(--ledger-muted);font:inherit;text-align:center;cursor:pointer;}
.ledger-stop:hover{border-color:var(--ledger-muted);background:var(--ledger-panel);}
.ledger-stop[aria-pressed="true"]{border-color:var(--ledger-gold);background:var(--ledger-panel);}
.ledger-stop .ls-price{font:400 17px/1.2 'Playfair Display',serif;}
.ledger-stop .ls-name{font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;}
.ledger-stop[aria-pressed="true"] .ls-price{color:var(--ledger-gold);}
.ledger-stop[aria-pressed="true"] .ls-name{font-weight:700;color:var(--ledger-text);text-decoration:underline;text-decoration-color:var(--ledger-gold);text-underline-offset:5px;text-decoration-thickness:2px;}

.ledger-detail{margin-top:12px;display:grid;gap:28px;padding:24px 20px;border:1px solid var(--ledger-line);border-top:2px solid var(--ledger-accent);background:var(--ledger-panel);transition:opacity .14s;}
.ledger-detail.is-fading{opacity:0;transition:none;}
.ledger-detail .ld-role{font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ledger-muted);}
.ledger-detail .ld-name{font:400 28px/1.15 'Playfair Display',serif;margin-top:8px;overflow-wrap:anywhere;}
.ledger-detail .ld-price{font:400 26px/1.2 'Playfair Display',serif;color:var(--ledger-gold);margin-top:8px;}
.ledger-detail .ld-sentence{font:400 19px/1.45 'Playfair Display',serif;margin:20px 0;}
.ledger-detail .ld-sentence em{color:var(--ledger-gold);}
.ledger-detail .ld-link{font-size:14px;font-weight:400;color:var(--ledger-muted);margin-top:16px;}
.ledger-row{display:grid;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--ledger-line);}
.ledger-row dt{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ledger-muted);}
.ledger-row.is-accent dt{color:var(--cayman,#1FA8A8);}
.ledger-row dd{margin:0;font-size:15px;font-weight:400;}
.ledger-row dd ul,.ledger-table td ul{margin:0;padding-left:1.2em;list-style:disc;}
.ledger-row dd li,.ledger-table td li{padding-left:4px;}
.ledger-row dd li+li,.ledger-table td li+li{margin-top:8px;}
.ledger-row.is-hi dd{color:var(--ledger-gold);}

.ledger .tier-cta,.ledger .tier-cta-ghost{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:0;padding:14px 28px;border-radius:0;font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;}
.ledger .tier-cta{background:var(--ledger-gold);color:var(--ledger-ground);border:1px solid var(--ledger-gold);}
.ledger .tier-cta:hover{background:var(--ledger-gold-hover);color:var(--ledger-ground);}
.ledger .tier-cta-ghost{min-height:44px;background:transparent;color:var(--ledger-gold);border:1px solid var(--ledger-gold);}
.ledger .tier-cta-ghost:hover{background:var(--ledger-gold);color:var(--ledger-ground);}

.ledger-scroller{position:relative;overflow-x:auto;border:1px solid var(--ledger-line);color-scheme:dark;scrollbar-width:thin;scrollbar-color:var(--ledger-gold) var(--ledger-panel);}
.ledger-table{width:100%;min-width:736px;table-layout:fixed;border-collapse:collapse;}
.ledger-table th,.ledger-table td{padding:14px;border:1px solid var(--ledger-line);font-size:14px;font-weight:300;line-height:1.5;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
.ledger-table tr>:first-child{width:112px;position:sticky;left:0;z-index:1;background:var(--ledger-ground);}
.ledger-table thead th[scope="col"]{width:156px;padding:0;}
.ledger-table th[scope="row"]{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ledger-muted);}
.ledger-table .is-sel{background:var(--ledger-panel);}
.ledger-table thead th.is-sel{border-top:2px solid var(--ledger-accent);}
.ledger-table .is-hi{color:var(--ledger-gold);}
.ledger-table .is-accent{color:var(--cayman,#1FA8A8);}
.ledger-dash{color:var(--ledger-muted);}
.ledger.is-enhanced .ledger-table tr[data-slot]{display:none;}
.ledger-note{margin:12px 0 0;font-size:14px;color:var(--ledger-muted);}
.ledger-table .lt-btn{display:block;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.ledger-table .lt-btn:hover{background:var(--ledger-line);}
.ledger-table .lt-img{display:block;width:100%;height:84px;object-fit:cover;opacity:.55;}
.ledger-table .is-sel .lt-img{opacity:1;}
.ledger-table .lt-text{padding:14px;}
.ledger-table .lt-sel{display:none;font-size:14px;font-weight:700;color:var(--ledger-gold);}
.ledger-table .is-sel .lt-sel{display:block;}
.ledger-table .lt-name{display:block;font:400 17px/1.2 'Playfair Display',serif;color:var(--ledger-text);}
.ledger-table .lt-price{display:block;margin-top:4px;font:400 20px/1.2 'Playfair Display',serif;color:var(--ledger-gold);}
.ledger-table .lt-role{display:block;margin-top:4px;font-size:14px;color:var(--ledger-muted);}

.ledger-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.ledger-card{border:1px solid var(--ledger-line);border-top:2px solid var(--ledger-line);background:var(--ledger-panel);}
.ledger-card.is-open{border-top-color:var(--ledger-accent);}
.ledger-card-img{display:block;width:100%;height:180px;object-fit:cover;}
.ledger-card.is-open .ledger-card-img{height:200px;}
.ledger-card-head{margin:0;font:inherit;}
.ledger-card-head button{display:grid;grid-template-columns:1fr;align-items:baseline;column-gap:12px;width:100%;min-height:44px;padding:18px 20px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.ledger-card-head button:hover{background:var(--ledger-line);}
.ledger-card .lc-name{grid-column:1;font:400 22px/1.2 'Playfair Display',serif;}
.ledger-card .lc-role{grid-column:1;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ledger-muted);}
.ledger-card .lc-price{grid-column:1;font:400 18px/1.2 'Playfair Display',serif;color:var(--ledger-gold);}
.ledger-card .lc-glyph{grid-column:1;justify-self:end;font-weight:700;}
.ledger-card-body{padding:0 20px 20px;}
.ledger-items{list-style:none;margin:0;padding:0;}
.ledger-item{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--ledger-line);}
.ledger-item.has-img{grid-template-columns:1fr;}
.ledger-item img{width:88px;height:66px;object-fit:cover;}
.ledger-item .li-name{display:block;font-size:15px;font-weight:400;}
.ledger-item .li-desc{display:block;font-size:14px;color:var(--ledger-muted);}
.ledger-item .li-price{font:400 16px/1.3 'Playfair Display',serif;color:var(--ledger-gold);}
.ledger-item .li-price.is-sold{color:var(--ledger-text);}
.ledger-card-note{margin:14px 0;font-size:14px;color:var(--ledger-muted);}
.ledger-card .tier-cta-ghost{width:auto;}

.ledger-foot{margin-top:12px;}
.ledger-foot .eyebrow{color:var(--ledger-gold);font-weight:700;margin-bottom:12px;}
.ledger-foot ol{margin:0 0 12px;padding-left:1.4em;font-size:14px;display:grid;gap:6px;}
.ledger-foot p{max-width:640px;font-size:14px;color:var(--ledger-muted);}

@media(min-width:480px){
  .ledger-card-head button{grid-template-columns:1fr auto auto;}
  .ledger-card .lc-price{grid-column:2;grid-row:1;}
  .ledger-card .lc-glyph{grid-column:3;grid-row:1;justify-self:auto;}
  .ledger-item{grid-template-columns:1fr auto;}
  .ledger-item.has-img{grid-template-columns:88px 1fr auto;}
  .ledger-toggle button{padding:12px 20px;letter-spacing:.2em;}
}
@media(min-width:768px){
  .ledger{padding:48px 0 56px;}
  .ledger-hero{padding:48px;}
  .ledger-hero .sec-title{font-size:48px;}
  .ledger-stage{height:300px;}
  .ledger-stage-cap{left:32px;right:32px;bottom:24px;font-size:26px;}
  .ledger-scale{grid-auto-flow:column;grid-auto-columns:1fr;grid-template-columns:none;gap:12px;}
  .ledger-stop .ls-price{font-size:24px;}
  .ledger-stop .ls-name{letter-spacing:.14em;}
  .ledger-detail{grid-template-columns:5fr 7fr;gap:56px;padding:32px;}
  .ledger-detail .ld-name{font-size:32px;}
  .ledger-detail .ld-price{font-size:26px;}
  .ledger-detail .ld-sentence{font-size:20px;}
  .ledger .tier-cta{width:auto;}
  .ledger-row{grid-template-columns:150px 1fr;}
  .ledger-table{min-width:0;}
  .ledger-table tr>:first-child{width:170px;}
  .ledger-table thead th[scope="col"]{width:auto;}
  .ledger.is-all .ledger-cards{grid-template-columns:1fr 1fr;}
}
@media(prefers-reduced-motion:reduce){
  .ledger-stage img,.ledger-detail{transition:none;}
}
