/*
Theme Name: Raavanaa Bowling
Theme URI: https://raavanaabowling.com
Author: Raavanaa Bowling Community
Description: The Raavanaa Bowling Community website (Light edition) as a WordPress theme. One front page with League, KingPin, Stats, Rules, Services, Gallery (photos and videos) and Registration. Contact numbers, social links and the registration email are set under Appearance > Customize > Raavanaa Bowling.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: raavanaa-bowling
*/
html{color-scheme:light}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Layout: a night at the lanes. Dark alley ground, gold rules taken from the crest,
   one maple-wood lane band per page, and a ten-frame score sheet as the signature. */
:root{
  color-scheme:light;
  --alley:#fffdf8;        /* ground: pin white */
  --alley-2:#f7efe0;      /* raised surface */
  --alley-3:#efe4d0;      /* controls */
  --line:#e0d0b6;         /* hairline */
  --gold:#f0b43a;
  --gold-hi:#ffe08a;
  --gold-deep:#b0700f;
  --ink-accent:#8a5a06;   /* dark gold for small text and icons on light */
  --mark:#a01318;         /* chart bars */
  --crimson:#a01318;
  --crimson-hi:#c81e24;
  --pin:#1c1410;          /* main text */
  --muted:#5c4f43;
  --maple:#dcaa6a;        /* lane wood */
  --maple-2:#c99352;
  --on-maple:#2a1608;
  --display:"Cinzel","Trajan Pro","Times New Roman",serif;
  --body:"Barlow","Segoe UI",system-ui,sans-serif;
  --label:"Barlow Condensed","Arial Narrow","Barlow",sans-serif;
}
*{box-sizing:border-box}
body{background:var(--alley);color:var(--pin);font:400 15.5px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;height:auto}
h1,h2,h3,p{margin:0}
h1,h2{font-family:var(--display);font-weight:900;line-height:1.08;text-wrap:balance;letter-spacing:.01em}
h2{font-size:clamp(1.45rem,3.2vw,2.15rem)}
h3{font:700 1.12rem/1.25 var(--body)}
:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:20px}
.label{font:700 .88rem/1.2 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lead{color:var(--muted);font-size:1rem;max-width:62ch}
.gold-text{background:linear-gradient(180deg,var(--gold-hi) 8%,var(--gold) 48%,var(--gold-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 26px;border:2px solid var(--gold);background:var(--gold);color:#1a1005;font:700 1.05rem/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:background .15s,color .15s}
.btn:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.btn.ghost{background:transparent;color:var(--gold);clip-path:none}
.btn.ghost:hover{background:var(--gold);color:#1a1005}
.icon{width:30px;height:30px;flex:none;fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
section{padding-block:clamp(48px,7vw,88px)}
.head{display:flex;flex-direction:column;gap:12px;margin-bottom:clamp(26px,4vw,40px)}
.head h2::after{content:"";display:block;width:132px;height:14px;margin-top:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='14'%3E%3Cpath d='M0 7h52M80 7h52' stroke='%23d9a032' stroke-width='2'/%3E%3Ccircle cx='56' cy='7' r='2.2' fill='%23d9a032'/%3E%3Ccircle cx='76' cy='7' r='2.2' fill='%23d9a032'/%3E%3Cpath d='M66 0l7 7-7 7-7-7z' fill='%23a01318'/%3E%3C/svg%3E") no-repeat}
.head.center h2::after{margin-inline:auto}
.head.center{align-items:center;text-align:center}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(18,13,11,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.site-head::after{content:"";position:absolute;inset:auto 0 -3px 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--crimson-hi) 50%,var(--gold) 80%,transparent)}
.bar{display:flex;align-items:center;gap:18px;min-height:72px}
.site-head .wrap{max-width:1400px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;flex:1 1 auto;min-width:0}
.brand img{width:58px;flex:none}
.brand .bn{display:block;min-width:0;white-space:nowrap;overflow:hidden;font:900 1.75rem/1.1 var(--display);letter-spacing:.04em;color:var(--pin)}
.brand b{font:inherit;color:var(--gold)}
.nav{display:flex;align-items:center;gap:4px;flex:none}
.nav a{padding:10px 10px;font:700 1rem/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--pin);border-bottom:2px solid transparent}
.nav a:hover{color:var(--gold-hi)}
.nav a[aria-current="page"]{color:var(--gold);border-bottom-color:var(--gold)}
.nav a.join{margin-left:10px;padding:13px 18px;background:var(--crimson);border:0;color:var(--pin)}
.nav a.join:hover,.nav a.join[aria-current="page"]{background:var(--crimson-hi);color:#fff}
.phone{font:700 1.05rem/1 var(--label);letter-spacing:.08em;color:var(--gold-hi);text-decoration:none;white-space:nowrap}
.menu-btn{display:none;width:48px;height:48px;border:1px solid var(--line);background:var(--alley-3);color:var(--pin);cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}
@media (max-width:1399px){.bar>.phone{display:none}}
@media (max-width:1360px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--alley-2);border-bottom:2px solid var(--gold);padding:8px 20px 18px}
  .site-head.open .nav{display:flex}
  .nav a{padding:16px 4px;border-bottom:1px solid var(--line);font-size:1.1rem}
  .nav a[aria-current="page"]{border-bottom-color:var(--line)}
  .nav a.join{margin:14px 0 0;text-align:center}
}

/* pages */
.page[hidden]{display:none}
.page-title{padding-block:clamp(36px,6vw,64px) clamp(26px,4vw,40px);border-bottom:1px solid var(--line);background:radial-gradient(90% 140% at 100% 0%,rgba(160,19,24,.34),transparent 60%)}
.page-title h1{font-size:clamp(1.9rem,5vw,2.9rem);margin-top:10px}
.page-title{position:relative;overflow:hidden}
.page-title .wrap{position:relative;z-index:1}
.page-title::after{content:"";position:absolute;right:5%;top:50%;transform:translateY(-50%) rotate(-8deg);width:clamp(110px,20vw,230px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d9a032' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M7 35h34l3-21-11 9-9-15-9 15-11-9z'/%3E%3Cpath d='M7 41h34'/%3E%3Ccircle cx='24' cy='6' r='2'/%3E%3Ccircle cx='4' cy='13' r='1.6'/%3E%3Ccircle cx='44' cy='13' r='1.6'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.22;pointer-events:none}
@media (max-width:560px){.page-title::after{opacity:.12;top:34%}}
.page-title .wrap::after{content:"";display:block;width:132px;height:14px;margin-top:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='14'%3E%3Cpath d='M0 7h52M80 7h52' stroke='%23d9a032' stroke-width='2'/%3E%3Ccircle cx='56' cy='7' r='2.2' fill='%23d9a032'/%3E%3Ccircle cx='76' cy='7' r='2.2' fill='%23d9a032'/%3E%3Cpath d='M66 0l7 7-7 7-7-7z' fill='%23a01318'/%3E%3C/svg%3E") no-repeat}
.page-title .lead{margin-top:14px}

/* hero */
.hero{padding-block:clamp(28px,5vw,60px) clamp(36px,5vw,60px);background:radial-gradient(60% 70% at 76% 46%,rgba(212,38,44,.36),transparent 70%),radial-gradient(40% 50% at 76% 46%,rgba(240,180,58,.16),transparent 70%)}
.hero .hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(20px,4vw,56px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hero h1{display:flex;align-items:center;gap:clamp(10px,1.6vw,18px);font-size:clamp(1.8rem,4.4vw,3.4rem)}
.hero h1::before,.hero h1::after{content:"";flex:none;width:clamp(16px,3.4vw,46px);height:3px;background:var(--gold)}
.hero h1 span{min-width:0}
.hero-crest{width:100%;max-width:540px;justify-self:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
@media (max-width:820px){
  .hero .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-crest{order:-1;max-width:340px}
  .hero-copy{align-items:center;text-align:center}
  .cta-row{justify-content:center}
}

/* score sheet */
.sheet-wrap{padding-block:0 clamp(40px,6vw,64px)}
.sheet{display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) minmax(0,1.5fr);border:2px solid var(--gold);background:var(--alley-2)}
.frame{min-width:0;border-right:1px solid var(--gold-deep);display:grid;grid-template-rows:auto auto auto}
.frame:last-child{border-right:0}
.frame .no{font:700 .72rem/1 var(--label);letter-spacing:.1em;text-align:center;padding:5px 0;background:var(--gold);color:#1a1005}
.frame .marks{display:flex;justify-content:flex-end}
.frame .marks i{font:700 clamp(.8rem,2.2vw,1.2rem)/1 var(--label);font-style:normal;color:var(--crimson-hi);width:clamp(15px,3.2vw,30px);padding:4px 0;text-align:center;border-left:1px solid var(--gold-deep);border-bottom:1px solid var(--gold-deep)}
.frame .total{font:700 clamp(.85rem,2.5vw,1.5rem)/1 var(--label);text-align:center;padding:clamp(6px,1.4vw,12px) 0 clamp(8px,1.6vw,14px);font-variant-numeric:tabular-nums;color:var(--pin)}
.frame:last-child .total{color:var(--gold-hi)}
.sheet-note{margin-top:12px;color:var(--muted);font-size:.98rem;text-align:center}

/* league band */
.league{background:var(--crimson);border-block:3px solid var(--gold);padding-block:clamp(34px,5vw,56px)}
.league .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.league .label{color:var(--gold-hi)}
.league h2{font-size:clamp(2rem,5.6vw,3.6rem);margin:10px 0 16px;color:#fff}
.facts{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0;padding:0;list-style:none}
.facts li{display:flex;gap:10px;align-items:baseline;font-size:1.05rem}
.facts b{font:700 .88rem/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hi)}
.league .btn{background:#1a1005;border-color:#1a1005;color:var(--gold-hi)}
.league .btn:hover{background:var(--alley-3);border-color:var(--alley-3)}
@media (max-width:760px){.league .wrap{grid-template-columns:minmax(0,1fr)}}

/* cards and grids */
.grid{display:grid;gap:18px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.g2{grid-template-columns:minmax(0,1fr)}}
.trophy{display:flex;align-items:center;gap:14px;padding:20px 18px;border:2px solid var(--gold);background:var(--alley-2);min-width:0}
.trophy .icon{width:44px;height:44px}
.trophy b{display:block;font:900 clamp(1.15rem,2.6vw,1.5rem)/1.12 var(--display);letter-spacing:.03em}
.trophy span{display:block;margin-top:7px;font:600 1rem/1.25 var(--body);color:var(--muted)}
.trophy.top{background:var(--gold);color:#1a1005}
.trophy.top .icon{stroke:#1a1005}
.trophy.top span{color:#1a1005}
@media (max-width:480px){.trophy{flex-direction:column;align-items:flex-start;padding:16px 14px}}
.feature{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid var(--gold);min-width:0}
.feature p{color:var(--muted)}

/* events */
.events{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.events li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.events p{color:var(--muted)}
.tba{font:700 .86rem/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-deep);padding:8px 12px;text-align:center}
@media (max-width:700px){.events li{grid-template-columns:auto minmax(0,1fr)}.events .tba{grid-column:2;justify-self:start}}

/* voices */
.voices{background:var(--alley-2);border-block:1px solid var(--line)}
.voice{margin:0;display:flex;flex-direction:column;gap:18px;padding:26px 24px;background:var(--alley);border-left:4px solid var(--crimson-hi);min-width:0}
.voice blockquote{margin:0;font-size:1rem;line-height:1.55}
.voice figcaption b{display:block;font:700 1.05rem/1.2 var(--body);color:var(--gold-hi)}
.voice figcaption span{font:700 .8rem/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* maple lane band */
.lane{color:var(--on-maple);background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(42,22,8,.22) 46px 47px),linear-gradient(180deg,var(--maple),var(--maple-2));border-block:4px solid #1a1005;padding-block:clamp(40px,6vw,68px)}
.lane .wrap{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.lane h2{color:var(--on-maple)}
.lane p{max-width:52ch;font-size:1rem;font-weight:500}
.lane .btn{background:var(--crimson);border-color:var(--crimson);color:#fff}
.lane .btn:hover{background:#1a1005;border-color:#1a1005}
.arrows{width:min(320px,80%);height:auto}
.arrows path{fill:var(--on-maple)}

/* about */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.story p{font-size:1.05rem;line-height:1.65}
.story p+p{margin-top:16px;color:var(--muted)}
@media (max-width:760px){.story{grid-template-columns:minmax(0,1fr)}}
.person{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 14px;background:var(--alley-2);border:1px solid var(--line);min-width:0}
.mono{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;font:900 1.7rem/1 var(--display);color:var(--gold-hi);border:2px solid var(--gold);background:radial-gradient(circle at 35% 30%,var(--crimson-hi),var(--crimson) 60%,#5a0b0e);margin-bottom:8px}
.person b{font:700 1.15rem/1.2 var(--body)}
.person span{font:700 .82rem/1.2 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.team{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:560px){.team{gap:10px}.team .person{padding:18px 6px}.team .mono{width:60px;height:60px}.team .person span.mono{font-size:1.4rem}.team .person b{font-size:1rem}.team .person span{font-size:.7rem;letter-spacing:.12em}}
.person span.mono{font:900 1.9rem/1 var(--display);letter-spacing:0;color:var(--gold-hi)}

/* services */
.steps{counter-reset:step;list-style:none;margin:0;padding:0}
.steps li{counter-increment:step;display:flex;flex-direction:column;gap:10px;padding:26px 22px;background:var(--alley-2);border:1px solid var(--line);min-width:0}
.steps li::before{content:counter(step);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 1.3rem/1 var(--label);background:var(--crimson);color:#fff;border:2px solid var(--gold)}
.steps p{color:var(--muted)}
.tier{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:28px 24px;background:var(--alley-2);border:2px solid var(--gold);min-width:0}
.tier .price{font:900 3rem/1 var(--display);font-variant-numeric:tabular-nums}
.tier p{color:var(--muted);flex:1}

/* photos */
.photo{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.photo img{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--gold);background:var(--alley-2)}
.photo figcaption{font:700 .86rem/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.photo.band img{aspect-ratio:16/7;object-position:50% 62%}
@media (max-width:700px){.photo.band img{aspect-ratio:4/3;object-position:50% 50%}}
.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.shots .wide{grid-column:1/-1}
.shots .wide img{aspect-ratio:16/8}
@media (max-width:760px){.shots{grid-template-columns:minmax(0,1fr)}}

/* registration */
.reg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,60px);align-items:start}
@media (max-width:820px){.reg{grid-template-columns:minmax(0,1fr)}}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:clamp(22px,4vw,34px);background:var(--alley-2);border:2px solid var(--gold)}
.form h2{grid-column:1/-1;font-size:1.6rem}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font:700 .86rem/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.field input{width:100%;min-height:52px;padding:12px 14px;font:500 1.05rem var(--body);color:var(--pin);background:var(--alley);border:1px solid var(--line);border-radius:0}
.field input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.form .btn{grid-column:1/-1}
.form-note{grid-column:1/-1;padding:14px 16px;border-left:4px solid var(--gold);background:var(--alley);color:var(--gold-hi)}
@media (max-width:480px){.form{grid-template-columns:minmax(0,1fr)}}
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{border:1px solid var(--line);background:var(--alley-2)}
.faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 18px;position:relative;font:600 1.1rem/1.3 var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font:700 1.6rem/1 var(--label);color:var(--gold)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 18px;color:var(--muted)}
.touch{background:var(--alley-2);border-top:1px solid var(--line)}
.touch .wrap{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.big-phone{font:900 clamp(2rem,7vw,3.4rem)/1 var(--display);letter-spacing:.04em;text-decoration:none;user-select:all}

/* league, kingpin, stats */
.sample-note{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-start;padding:14px 16px;margin-bottom:26px;border:1px dashed var(--gold-deep);background:var(--alley-2);font-size:1rem}
.sample-note span{flex:1 1 260px;min-width:0}
.sample-note b{font:700 .84rem/1.5 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-accent);white-space:nowrap}
.fact{display:flex;flex-direction:column;gap:8px;padding:22px 20px;background:var(--alley-2);border:1px solid var(--line);min-width:0}
.fact b{font:900 clamp(1.2rem,2.6vw,1.6rem)/1.15 var(--display)}
.more{color:#fff;font:700 1rem/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-underline-offset:5px}
.league-cta{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
@media (min-width:761px){.league-cta{align-items:flex-end}}
.table-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--alley-2)}
.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.data th,.data td{padding:13px 9px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.data tbody tr:last-child td{border-bottom:0}
.data .l{text-align:left}
.data thead th{font:700 .82rem/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--alley-3)}
.data thead button{all:unset;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.data thead button:hover,.data thead th[aria-sort] button{color:var(--pin)}
.data thead button:focus-visible{outline:2px solid var(--ink-accent);outline-offset:3px}
.data thead th[aria-sort] button::after{content:"▼";font-size:.6rem}
.data thead th[aria-sort="ascending"] button::after{content:"▲"}
.data abbr{text-decoration:none}
.data td.pos{color:var(--muted);width:1%}
.data td.strong{font-weight:700}
#stats-table{min-width:520px}
@media (max-width:560px){#stats-table .t-col{display:none}.data th,.data td{padding:12px 7px}}
#stats-table tbody tr{cursor:pointer}
#stats-table tbody tr:hover{background:var(--alley-3)}
#stats-table tbody tr[aria-selected="true"]{background:var(--alley-3);box-shadow:inset 4px 0 0 var(--gold)}
.row-btn{all:unset;cursor:pointer;font-weight:600}
.row-btn:focus-visible{outline:2px solid var(--ink-accent);outline-offset:3px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;background:var(--alley-2);border:1px solid var(--line);min-width:0}
.tile span{font:600 .95rem/1.2 var(--body);color:var(--muted)}
.tile b{font:900 clamp(1.9rem,4.6vw,2.7rem)/1 var(--display);font-variant-numeric:tabular-nums}
.tile small{font-size:.92rem;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{min-height:42px;padding:8px 16px;border:1px solid var(--gold-deep);background:transparent;color:var(--pin);font:700 .95rem/1 var(--label);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.chip:hover{background:var(--alley-3)}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#1a1005}
.dash{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:980px){.dash{grid-template-columns:minmax(0,1fr)}}
.player{display:flex;flex-direction:column;gap:14px;padding:22px 20px;background:var(--alley-2);border:2px solid var(--gold);min-width:0}
.player h3{font:900 1.5rem/1.1 var(--display)}
.player .mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.player .mini div{display:flex;flex-direction:column;gap:2px;min-width:0}
.player .mini span{font-size:.86rem;color:var(--muted)}
.player .mini b{font:700 1.5rem/1.1 var(--label);font-variant-numeric:tabular-nums}
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .bar{fill:var(--mark)}
.chart .hit{fill:transparent;cursor:pointer}
.chart .hit:focus-visible{outline:2px solid var(--ink-accent)}
.chart text{font:600 11px var(--body);fill:var(--muted)}
.chart text.val{font-weight:700;fill:var(--pin)}
.chart-title{font-size:.95rem;color:var(--muted)}
.tip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);padding:6px 10px;background:var(--pin);color:var(--alley);font:600 .88rem/1.2 var(--body);white-space:nowrap;z-index:2}
.throne{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:clamp(22px,4vw,36px);border:2px solid var(--gold);background:var(--alley-2)}
.throne .icon{width:72px;height:72px}
.throne h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.throne p{color:var(--muted);margin-top:8px;font-size:1.1rem}
@media (max-width:520px){.throne{grid-template-columns:minmax(0,1fr)}}
.race{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.race li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;background:var(--alley-2);border:1px solid var(--line)}
.race li:first-child{border:2px solid var(--gold)}
.race .rk{font:900 1.7rem/1 var(--display);color:var(--ink-accent)}
.race .who b{display:block;font:700 1.12rem/1.2 var(--body)}
.race .who span{font:700 .8rem/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.race .pts{text-align:right}
.race .pts b{display:block;font:700 1.7rem/1 var(--label);font-variant-numeric:tabular-nums}
.race .pts span{font-size:.82rem;color:var(--muted)}

.highlights{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.highlights .tiles{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}
@media (max-width:860px){.highlights{grid-template-columns:minmax(0,1fr)}}

/* stat dashboard: scoreboard, podium, player card */
.royal-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px}
.royal-head .label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:.95rem;letter-spacing:.26em}
.royal-head .label .icon{width:24px;height:24px}
.royal-head .orn{position:relative;flex:1 1 0;max-width:220px;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.royal-head .orn::after{content:"";position:absolute;right:-5px;top:-4px;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.royal-head .orn:last-child{transform:scaleX(-1)}
.court-note{margin-top:-10px;color:var(--muted);font-size:.95rem;font-style:italic}
.step .title{font:700 .78rem/1 var(--label);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-accent);margin-bottom:2px}
.pc-head .crown{margin-left:auto;width:30px;height:30px;stroke:#ffe08a;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.board .cell{--tone:var(--gold);position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;min-width:0;border:1px solid var(--line);border-top:5px solid var(--tone);background:linear-gradient(160deg,var(--alley) 0%,var(--alley-2) 55%,var(--alley-3) 100%);box-shadow:0 12px 24px -10px rgba(90,45,0,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.board .cell::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(160,19,24,.05));pointer-events:none}
.board .cell::before{content:"";position:absolute;inset:9px;pointer-events:none;opacity:.85;background:
  linear-gradient(var(--tone),var(--tone)) top left/18px 2px no-repeat,linear-gradient(var(--tone),var(--tone)) top left/2px 18px no-repeat,
  linear-gradient(var(--tone),var(--tone)) top right/18px 2px no-repeat,linear-gradient(var(--tone),var(--tone)) top right/2px 18px no-repeat,
  linear-gradient(var(--tone),var(--tone)) bottom left/18px 2px no-repeat,linear-gradient(var(--tone),var(--tone)) bottom left/2px 18px no-repeat,
  linear-gradient(var(--tone),var(--tone)) bottom right/18px 2px no-repeat,linear-gradient(var(--tone),var(--tone)) bottom right/2px 18px no-repeat}
.board .cell:nth-child(2){--tone:var(--crimson)}
.board .cell:nth-child(3){--tone:var(--gold-deep)}
.board .cell:nth-child(4){--tone:var(--crimson-hi)}
.board .k{font:700 .8rem/1.2 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-accent);padding-right:30px}
.board .v{font:900 clamp(2.3rem,5.2vw,3.6rem)/1 var(--display);font-variant-numeric:tabular-nums}
.board .who{font-size:.92rem;color:var(--muted)}
.board .cell .icon{position:absolute;top:24px;right:26px;width:26px;height:26px;stroke:var(--ink-accent)}
@media (max-width:860px){.board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.board .cell{padding:20px 18px 28px}.board .who{font-size:.84rem;line-height:1.35}}
.filters{margin-bottom:26px}
.podium-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:34px}
.podium-wrap .royal-head{width:100%;margin-bottom:0}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;width:100%;max-width:720px}
.step{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}
.step .icon{width:34px;height:34px;stroke:var(--gold-deep)}
.step b{font:700 1.05rem/1.2 var(--body)}
.step small{font:700 .76rem/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.step .avg{font:900 clamp(1.6rem,4vw,2.3rem)/1.1 var(--display);font-variant-numeric:tabular-nums;margin-top:4px}
.step .avg span{display:block;font:600 .78rem/1 var(--body);color:var(--muted);margin-top:4px}
.step .block{width:100%;margin-top:10px;display:grid;place-items:start center;padding-top:12px;font:900 2rem/1 var(--display);color:#fff;background:linear-gradient(180deg,var(--crimson-hi),var(--crimson));border-top:5px solid var(--gold)}
.step.p1 .block{height:132px;background:linear-gradient(180deg,#f7c84f,var(--gold-deep));color:#1a1005}
.step.p2 .block{height:96px}
.step.p3 .block{height:72px}
.player{padding:0;gap:0;overflow:hidden}
.pc-head{display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(135deg,var(--crimson-hi),#6e0b0f);color:#fff}
.pc-head .mono{width:56px;height:56px;margin:0;font:900 1.4rem/1 var(--display);flex:none}
.pc-head p{font:700 .78rem/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:#ffe08a}
.pc-head h3{font:900 1.45rem/1.15 var(--display);color:#fff;margin-top:6px}
.pc-body{display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}

/* rules */
.math{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px clamp(14px,3vw,34px);padding:clamp(22px,4vw,36px);border:2px solid var(--gold);background:var(--alley-2);text-align:center}
.math div{display:flex;flex-direction:column;gap:6px;min-width:0}
.math b{font:900 clamp(2rem,6vw,3.3rem)/1 var(--display);font-variant-numeric:tabular-nums}
.math span{font:700 .86rem/1.2 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.math i{font:700 clamp(1.6rem,4vw,2.4rem)/1 var(--label);font-style:normal;color:var(--ink-accent)}
.math-note{margin-top:18px;max-width:70ch;font-size:1.1rem;color:var(--muted)}
.rules{display:flex;flex-direction:column;gap:16px;padding:clamp(22px,3vw,30px);background:var(--alley-2);border:1px solid var(--line);min-width:0}
.rules-head{display:flex;align-items:center;gap:14px}
.rules-head .no{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:700 1.3rem/1 var(--label);background:var(--crimson);color:#fff;border:2px solid var(--gold)}
.rules ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:13px}
.rules li{position:relative;padding-left:26px}
.rules li::before{content:"";position:absolute;left:2px;top:.52em;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.rules ul ul{margin-top:11px;gap:9px}
.rules ul ul li{color:var(--muted)}
.rules ul ul li::before{width:7px;height:7px;top:.6em;background:transparent;border:2px solid var(--gold-deep)}
.rules strong{font-weight:700}
.swaps{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.swap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.swap p{color:var(--muted);font-size:.98rem}
.swap b{display:block;font-weight:700;color:var(--pin)}
.boxes{display:flex;align-items:center;gap:10px;font:700 1.3rem/1 var(--label);color:var(--ink-accent)}
.box{display:inline-flex;border:2px solid var(--gold);background:var(--alley)}
.box i{font:700 1.25rem/1 var(--label);font-style:normal;width:34px;padding:8px 0;text-align:center;color:var(--pin)}
.box i+i{border-left:1px solid var(--gold-deep)}
.box.was i{color:var(--crimson-hi)}
.stays{font:700 .86rem/1.2 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-accent);border:1px solid var(--gold-deep);padding:8px 12px}
.closing{margin-top:clamp(26px,4vw,40px);padding:22px 24px;border-left:4px solid var(--crimson-hi);background:var(--alley-2);font:700 clamp(1.15rem,2.6vw,1.45rem)/1.4 var(--body)}

/* royal frames */
.trophy:not(.top),.tier,.fact,.rules,.person,.throne,.steps li,.form{background:var(--corners),var(--alley-2)}
.trophy:not(.top),.fact{padding:22px 22px}

/* footer */
.site-foot{border-top:3px solid var(--gold);background:#0b0807;padding-block:44px 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:30px}
.foot-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.foot-brand img{width:132px}
.foot-brand p{color:var(--muted);max-width:30ch}
.foot-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.foot-col a{color:var(--pin);text-decoration:none;font-size:1.02rem}
.foot-col a:hover{color:var(--gold-hi)}
.foot-base{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
@media (max-width:820px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── light edition ── */
:focus-visible{outline-color:var(--crimson)}
.label,.photo figcaption,.person span,.tba,.field label,.phone,.nav a[aria-current="page"]{color:var(--ink-accent)}
.icon{stroke:var(--ink-accent)}
.gold-text{background-image:linear-gradient(180deg,#d4262c 0%,#a01318 55%,#6e0b0f 100%)}
.btn.ghost{color:var(--ink-accent);border-color:var(--ink-accent)}
.btn.ghost:hover{background:var(--ink-accent);border-color:var(--ink-accent);color:#fff}
.site-head{background:rgba(255,253,248,.95)}
.brand b{color:var(--crimson)}
.nav a:hover{color:var(--crimson)}
.nav a.join{color:#fff}
.hero{background:radial-gradient(58% 70% at 76% 46%,rgba(240,180,58,.45),transparent 70%)}
.hero-crest{filter:drop-shadow(0 16px 26px rgba(70,35,0,.3))}
.page-title{background:radial-gradient(90% 140% at 100% 0%,rgba(240,180,58,.34),transparent 60%)}
.frame:last-child .total{color:var(--crimson)}
.league{color:#fff}
.league .btn:hover{background:#000;border-color:#000}
.voice figcaption b{color:var(--crimson)}
.form-note{color:var(--pin)}
.faq summary::after{color:var(--ink-accent)}
.data thead th[aria-sort] button::after{color:var(--crimson)}
.tip{background:#1c1410;color:#fff}
.site-foot{background:#6e0b0f;color:#fff}
.site-foot .label{color:var(--gold-hi)}
.foot-brand p{color:#f6dccb}
.foot-col a{color:#fff}
.foot-col a:hover{color:var(--gold-hi)}
.foot-base{color:#f6dccb;border-top-color:rgba(255,255,255,.28)}

/* gallery: photo mosaic, picture viewer, videos */
.g-tabs{display:flex;gap:0;margin:0 0 18px;border-bottom:2px solid var(--line)}
.g-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:12px 22px 10px;margin-bottom:-2px;border:0;border-bottom:3px solid transparent;background:none;cursor:pointer;font:700 1.05rem/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.g-tabs button span{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:999px;background:var(--alley-3);color:var(--ink-accent);font-size:.8rem;letter-spacing:0}
.g-tabs button[aria-selected="true"]{color:var(--crimson);border-bottom-color:var(--crimson)}
.g-tabs button[aria-selected="true"] span{background:var(--crimson);color:#fff}
.g-more{margin-top:22px}
.g-hint{margin:0 0 12px;font:600 .82rem/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.g-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:clamp(36px,7vw,64px) 20px;border:2px dashed var(--gold);background:var(--alley-2)}
.g-empty .icon{width:48px;height:48px}
.g-empty p{color:var(--muted);max-width:44ch}
.g-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.g-head h2{font:700 clamp(1.4rem,3vw,1.9rem)/1.1 "Cinzel",Georgia,serif;color:var(--ink-accent,var(--gold-deep));margin:0}
.g-head span{font:600 .85rem/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.g-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:12px}
@media (min-width:760px){.g-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
.g-item{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.g-item.wide{grid-column:1/-1}
.g-item.tall{grid-row:span 2}
.g-open{display:block;width:100%;padding:0;border:2px solid var(--gold);background:var(--alley-2);cursor:zoom-in;overflow:hidden;flex:1}
.g-open img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.g-item.wide .g-open img{aspect-ratio:16/8}
.g-item.tall .g-open img{aspect-ratio:auto;min-height:100%}
.g-open:hover img{transform:scale(1.04)}
.g-item figcaption{font:700 .8rem/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
@media (max-width:759px){.g-item figcaption{font-size:.72rem;letter-spacing:.1em}.g-item:last-child{grid-column:1/-1}.g-item:last-child .g-open img{aspect-ratio:16/9}}
.g-box{padding:0;border:0;background:transparent;max-width:min(1100px,96vw);max-height:94vh;overflow:visible}
.g-box::backdrop{background:rgba(20,12,4,.9)}
.g-box figure{margin:0;display:grid;gap:10px;justify-items:center}
.g-box img{max-width:96vw;max-height:82vh;width:auto;height:auto;border:2px solid var(--gold)}
.g-box figcaption{font:700 .9rem/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:#f0d27a;text-align:center}
.g-close{position:absolute;top:-46px;right:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(240,210,122,.6);background:rgba(0,0,0,.4);color:#f0d27a;font-size:18px;cursor:pointer}
.g-nav{position:absolute;top:42%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(240,210,122,.6);background:rgba(0,0,0,.45);color:#f0d27a;font-size:28px;line-height:1;cursor:pointer}
.g-prev{left:6px}.g-next{right:6px}
.g-vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
@media (min-width:900px){.g-vgrid{grid-template-columns:minmax(0,.6fr) minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:640px){.g-vgrid{grid-template-columns:minmax(0,1fr)}}
.g-vgrid figcaption small{display:block;margin-top:4px;font:600 .78rem/1 var(--body);letter-spacing:0;text-transform:none;color:var(--muted)}
.g-vgrid figure{margin:0;display:grid;gap:8px}
.g-vgrid video,.g-vgrid iframe{width:100%;aspect-ratio:16/9;border:2px solid var(--gold);background:#000;display:block}
.g-vgrid .tall video{aspect-ratio:9/16;max-height:78vh;margin-inline:auto;width:auto;max-width:100%;object-fit:cover}
@media (min-width:641px) and (max-width:899px){.g-vgrid .tall{grid-row:span 2}}
.g-vgrid figcaption{font:700 .8rem/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}

/* footer social links */
.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px 8px 10px;border:1px solid rgba(255,224,138,.55);color:#fff;text-decoration:none;font:700 .95rem/1 var(--label);letter-spacing:.12em;text-transform:uppercase}
.social a:hover{background:rgba(255,255,255,.1);color:var(--gold-hi)}
.social svg{width:22px;height:22px;fill:currentColor}

/* WordPress: other pages and posts use the same look */
.rb-page{padding-block:clamp(36px,6vw,64px)}
.rb-page .entry{max-width:760px}
.rb-page .entry h1{font-size:clamp(1.9rem,5vw,2.9rem);margin-bottom:18px}
.rb-page .entry p,.rb-page .entry li{font-size:1.05rem;line-height:1.7}
.rb-page .entry p+p{margin-top:14px}
.rb-page .entry a{color:var(--crimson)}
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:46px}}
