/* DeVaney Bowling: shared look, loaded after each page's inline CSS (2026-10-26 taste redesign).
   Canon kept: dark green ground + gold accent. Sizes: 92 display / 40 heading / 22 lead / 17 body / 14 small.
   Surfaces are tone steps, not outlines. Rules/hairlines are only used for real table cells. */
:root{
  --paper:#14211a; --deep:#0d1712; --field:#1d3127; --cell:#102018;
  --gold:#c9a45c; --gold-dark:#a98539; --red:#c9a45c; --red-dark:#e0bd74;
  --ink:#eef1ea; --ink-soft:#c5cfc0; --ink-faint:#98a894;
  --rule:rgba(201,164,92,.22); --rule-dark:rgba(201,164,92,.38);
  --open:#58c77b;
  --edge:clamp(20px,4vw,48px);
}
html{overflow-x:clip}
body{font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-decoration-thickness:2px}
.wrap{max-width:1240px;padding-left:var(--edge);padding-right:var(--edge)}
/* band: full-bleed colour field behind a .wrap section */
.band-field{background:var(--field)}
.band-gold{background:var(--gold);color:#14211a}
.band-deep{background:var(--deep)}

/* labels lose the capitals and tracking */
.smallcaps{font-size:14px;letter-spacing:0;text-transform:none;font-weight:700}

/* ---- masthead ---- */
.stripe{display:none}
.masthead{border:0;padding:24px var(--edge) 0;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 17px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.brand:visited{color:var(--ink)}
.brand svg{width:32px;height:32px;flex:none}
.brand small{display:block;font:400 14px/1.2 var(--sans);color:var(--ink-soft);margin-top:3px}
.mast-nav{display:flex;align-items:center;gap:30px;font-size:14px}
.mast-nav a{text-decoration:none;color:var(--ink-soft);padding:8px 0}
.mast-nav a:hover{color:var(--gold)}
.mast-nav a.mast-phone{color:var(--ink);font-weight:700}
@media(max-width:860px){.mast-nav a:not(.mast-phone):not(.btn){display:none}.mast-nav{gap:14px}}

/* ---- buttons ---- */
.btn,.btn-ghost{font:700 17px/1 var(--sans);letter-spacing:0;text-transform:none;padding:19px 34px;border-radius:2px;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.btn{background:var(--gold);color:#14211a}
.btn:visited{color:#14211a}
.btn:hover{background:#ddb96e;color:#14211a;transform:translateY(-2px)}
.btn:active,.btn-ghost:active{transform:translateY(1px) scale(.98)}
.btn-ghost{border:0;background:var(--field);color:var(--ink)}
.btn-ghost:hover{background:var(--gold);color:#14211a;transform:translateY(-2px)}
.btn.ghost{background:var(--field);color:var(--ink);border:0;padding:19px 34px}
.btn.ghost:hover{background:var(--gold);color:#14211a}
.mast-nav .btn{padding:13px 22px;font-size:15px}

/* ---- hero ---- */
.hero{padding-top:clamp(36px,6vw,84px);padding-bottom:clamp(56px,8vw,110px)}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center}
h1{font-size:clamp(52px,7.4vw,108px);line-height:.98;letter-spacing:-.02em}
.hero-lede{margin-top:28px;font:400 22px/1.5 var(--sans);color:var(--ink);max-width:30em}
.hero-lede strong{font-weight:700}
.hero-say{margin-top:20px;font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.3;color:var(--gold)}
.hero-cta{margin-top:34px;gap:28px}
.hero-phone{font-weight:700;font-size:22px;text-decoration:none}
.photo{border:0;background:none;padding:0}
.photo .clip{overflow:hidden;background:var(--cell)}
.photo img{aspect-ratio:4/5;max-height:min(78vh,720px);object-position:center 22%;transform-origin:50% 40%;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.07)}}
.photo figcaption,.pic figcaption{margin-top:12px;display:block;color:var(--ink-soft);font-size:14px}
.photo figcaption .smallcaps{font-weight:400}

/* ---- section heads ---- */
section{padding:clamp(64px,9vw,128px) 0}
.sec-head{border:0;padding:0;margin:0 0 clamp(28px,4vw,52px);display:block;max-width:44rem}
.sec-head h2{font-size:clamp(36px,4.6vw,56px);line-height:1.05;letter-spacing:-.015em}
.sec-note{display:block;margin-top:14px;color:var(--ink-soft);font-size:22px;line-height:1.5}
.band-gold .sec-note{color:#2a3a2f}
#schedule{padding-top:clamp(64px,9vw,128px)}

/* ---- calendar ---- */
.cal-tools{border:0;padding:0 0 22px}
.cal-tools .where{font-size:17px;color:var(--ink)}
.refresh,.pagebtn{font:700 14px var(--sans);letter-spacing:0;text-transform:none;border:0;background:var(--cell);color:var(--gold);padding:10px 16px;border-radius:2px;transition:background-color .18s}
.refresh:hover,.pagebtn:hover{background:var(--paper);color:#ddb96e}
.pagebtn:disabled{color:var(--ink-faint);background:transparent}
.stamp{font-size:14px}
.cal-pager h3{font-size:22px}
.cal-pager h3 span{font-size:14px}
.tblwrap{border:0;background:var(--cell)}
.cal th,.cal td{font-size:17px;border-color:rgba(201,164,92,.14)}
.cal thead th{background:var(--cell)}
.cal thead .dow{font:700 14px var(--sans);letter-spacing:0;text-transform:none}
.cal thead .dnum{font-size:22px}
.cal tbody th{background:var(--cell);font-size:14px}
.slot{background:var(--paper);font-size:17px}
button.slot{transition:background-color .15s,transform .15s}
button.slot:hover{background:rgba(201,164,92,.22)}
.cal td{height:52px}
.cal-quiet,.cal-status{font-size:17px;color:var(--ink-soft)}
.aday{border:0;padding:12px 0 18px}
.aday-date b{font-size:22px}
.aday-date span{font:700 14px var(--sans);letter-spacing:0;text-transform:none}
.chip{font-size:17px;border:0;background:var(--cell);padding:12px 18px;border-radius:2px}
.chip.booked{background:transparent}
.next-slot-banner{border:0;background:var(--cell);font-size:17px}
.next-slot-banner a{color:#14211a;font-size:14px;letter-spacing:0;text-transform:none;padding:10px 18px}

/* ---- the record: scoresheet on a gold field ---- */
.frames{border:0;background:none;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:0 0 14px}
.frame{border:0;background:#14211a;height:clamp(64px,7vw,96px);flex:none}
.frame .fno{font-size:14px;color:var(--ink-faint);top:5px;left:7px}
.frame .corner{border:0;font-size:17px;width:auto;height:auto;left:auto;right:8px;top:4px;color:var(--ink-soft)}
.frame .year{font-size:14px;bottom:8px}
.frame.title .corner,.frame.title .year{color:var(--gold)}
.frames-cap{color:#2a3a2f;font-size:17px}
.record-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);margin-top:clamp(36px,5vw,64px);align-items:start}
.pic{margin:0}
.pic img{display:block;width:100%;height:auto;background:var(--cell)}
.pic figcaption{color:#2a3a2f}
.record-grid .pic{position:sticky;top:24px}
.ledger{margin-top:0}
.ledger li{border:0;padding:0 0 28px;gap:24px}
.ledger li.big{align-items:flex-end}
.ledger .what{font-size:17px}
.ledger .what small{font-size:17px;color:#2a3a2f}
.ledger li.big .what{font-size:26px;line-height:1.1}
.ledger .yr{font-size:22px}
.ledger li.big .yr{font-size:56px;line-height:.9;letter-spacing:-.02em}
.band-gold a{color:#14211a;text-decoration-color:#14211a}
.band-gold a:hover{color:#000}
.ledger .what a::after,.statline a::after{color:#14211a}
.statline{font-size:22px;color:#14211a;margin-top:8px;line-height:1.55}
.press-head{margin-top:clamp(40px,5vw,72px);color:#14211a;font:700 26px var(--serif)}
.ledger.press{margin-top:16px;columns:2;column-gap:clamp(32px,5vw,80px)}
.ledger.press li{break-inside:avoid;padding-bottom:22px}
.ledger.press .what{font-size:17px}
.ledger.press .what small{font-size:14px}
.ledger.press .yr{font-size:22px;color:#14211a}
.brands{color:#2a3a2f;font-size:14px;margin-top:20px}

/* ---- lane picture band ---- */
.lane-band{margin:0;padding:0;height:clamp(260px,42vw,520px);overflow:hidden;background:var(--deep)}
.lane-band img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.lane-band figcaption{display:none}

/* ---- lessons ---- */
.lessons-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:start}
.lessons-grid .pic{margin-top:6px}
.lessons{columns:1;margin-top:0}
.lessons li{border:0;padding:11px 0 11px 34px;font-size:22px;line-height:1.3;font-family:var(--serif);font-weight:600}
.lessons li::before{width:14px;height:14px;top:20px;left:4px;border:0;background:var(--gold)}
.lessons-note{font-size:22px;margin-top:28px;max-width:34em}

/* ---- guides ---- */
.guides{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}
.guides a{border:0;background:var(--field);padding:30px 28px 34px;transition:transform .22s ease,background-color .22s ease;display:block;height:100%}
.guides a:hover{background:#26402f;transform:translateY(-4px)}
.guides h3{font-size:26px;line-height:1.15;margin-bottom:12px}
.guides p{font-size:17px;color:var(--ink-soft)}
@media(max-width:980px){.guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.guides{grid-template-columns:1fr}}
#guides.band-deep .guides a{background:var(--paper)}
#guides.band-deep .guides a:hover{background:var(--field)}

/* ---- faq ---- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-grid .sec-head{position:sticky;top:28px;margin:0}
.faq{margin-top:0}
.faq li{border:0;padding:0 0 38px}
.faq h3{font-size:26px;line-height:1.25;margin-bottom:10px}
.faq p{font-size:17px;max-width:40em}
.faq-cta{margin-top:30px}

/* ---- footer ---- */
footer{border:0;margin-top:0;padding:clamp(56px,7vw,96px) 0 36px;background:var(--deep)}
.foot-col p,.foot-links{font-size:17px}
.foot-links{line-height:2}
.foot-head{font-size:14px;letter-spacing:0;color:var(--gold);text-transform:none}
.portal-row{border:0;margin-top:56px;text-align:left}
.portal-link{font-size:14px}

/* ---- sticky mobile lead ---- */
.mobile-sticky-lead{border:0;background:var(--deep)}
.mobile-sticky-lead .btn{font-size:17px;letter-spacing:0;text-transform:none}

/* ---- inner (guide) pages ---- */
.content{padding:clamp(40px,6vw,88px) var(--edge) 80px}
.content h1{font-size:clamp(40px,5.6vw,72px);line-height:1.02;margin-bottom:20px;letter-spacing:-.015em}
.subhead{font-size:22px;line-height:1.45;font-style:normal;max-width:34em;margin-bottom:36px}
.card{border:0;background:var(--field);padding:clamp(24px,3vw,40px);margin:20px 0}
.card h2{font-size:26px;line-height:1.15}
.card p,.card li{font-size:17px;max-width:44em}
.card.cta-card{background:var(--gold);color:#14211a}
.card.cta-card h2,.card.cta-card p{color:#14211a}
.card.cta-card .btn{background:#14211a;color:var(--ink)}
.card.cta-card .btn:hover{background:#000;color:var(--ink)}
.card.cta-card .btn-ghost{background:#14211a;color:var(--ink)}
.card.cta-card .btn-ghost:hover{background:#000;color:var(--gold)}
.faq-list li{border:0;padding:16px 0}
.faq-list h3{font-size:22px}
.faq-list p{font-size:17px}
.page-band{margin:0 0 36px;height:clamp(180px,26vw,340px);overflow:hidden;background:var(--deep)}
.page-band img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}

/* ---- motion: entrances, once, never hiding content when script is off ---- */
html.js .rv{opacity:0;transform:translateY(26px)}
html.js .rv.in{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
@media(prefers-reduced-motion:reduce){
  html.js .rv{opacity:1;transform:none}
  .photo img{animation:none}
}

/* ---- narrow screens ---- */
@media(max-width:900px){
  .hero-grid,.record-grid,.lessons-grid,.faq-grid{grid-template-columns:1fr}
  .record-grid .pic,.faq-grid .sec-head{position:static}
  .ledger.press{columns:1}
  .photo img{aspect-ratio:4/3;max-height:none}
}
@media(max-width:560px){
  .frames{grid-template-columns:repeat(5,1fr)}
  .ledger li.big{flex-direction:column;align-items:flex-start;gap:4px}
  h1{font-size:clamp(46px,14vw,64px)}
}

@media(max-width:560px){.faq h3{font-size:20px}.guides h3{font-size:22px}.ledger li.big .what{font-size:22px}.ledger li.big .yr{font-size:56px}}
.lessons-grid .pic img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;height:auto}
.record-grid .pic img{aspect-ratio:1/1;object-fit:cover}
@media(max-width:560px){.ledger li.big{padding-bottom:36px}.faq h3{font-size:20px}}
@media(max-width:560px){.content h1{font-size:clamp(30px,8.4vw,40px)}.masthead>.btn{display:none}}
