@charset "UTF-8";
:root{
  --ink:#102b35;
  --ink-soft:#23434c;
  --gold:#f3ca54;
  --paper:#fafaf7;
  --white:#fff;
  --text:#193640;
  --muted:#596b71;
  --line:#dce2df;
  --green:#215641;
  --radius:16px;
  --max:1160px;
  font-family:"Inter","Aptos","Segoe UI",sans-serif;
  color:var(--text);
  font-synthesis:none
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body{
  margin:0;
  background:var(--paper);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
body,button{
  font-family:"Inter","Aptos","Segoe UI",sans-serif
}
a{
  color:inherit;
  text-decoration:none
}
button,a{
  -webkit-tap-highlight-color:transparent
}
button{
  font-size:1rem
}
a:hover{
  text-decoration:underline;
  text-underline-offset:5px
}
img{
  display:block;
  max-width:100%;
  height:auto
}
h1,h2,h3,p{
  margin:0
}
h1,h2,h3{
  line-height:1.15;
  letter-spacing:-.035em
}
h1{
  font-size:clamp(2.8rem,5vw,4.7rem);
  font-weight:650
}
h2{
  font-size:clamp(1.6rem,2.8vw,2.4rem);
  font-weight:650
}
h3{
  font-size:1.25rem;
  font-weight:650
}
button,[role=button]{
  cursor:pointer
}
[hidden]{
  display:none!important
}
:focus-visible{
  outline:3px solid #966a05;
  outline-offset:5px
}
main:focus{
  outline:none
}
.container{
  width:min(calc(100% - 72px),var(--max));
  margin-inline:auto
}
.icon{
  flex-shrink:0;
  vertical-align:middle
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.76rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.5
}
.short-line{
  display:block;
  width:24px;
  height:2px;
  background:#b58a20
}
.muted{
  color:var(--muted)
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link{
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100;
  background:var(--gold);
  padding:12px 20px;
  color:var(--ink)
}
.skip-link:focus{
  top:10px
}
.preview-banner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:6px 20px;
  font-size:.75rem;
  line-height:1.5;
  background:#edf0eb;
  color:#465d60;
  border-bottom:1px solid #dce4dc
}
.preview-banner strong{
  font-weight:650
}
.preview-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#708260
}
.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line)
}
.header-inner{
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex-shrink:0
}
.brand:hover{
  text-decoration:none
}
.brand-logo{
  display:block;
  width:64px;
  height:64px;
  flex-shrink:0;
  object-fit:contain
}
.brand-text{
  font-size:.99rem;
  letter-spacing:.015em;
  font-weight:800;
  line-height:1.25
}
.brand-text small{
  display:block;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.27em;
  margin-top:5px
}
.main-navigation{
  display:flex;
  gap:32px;
  align-items:center;
  font-size:.875rem;
  font-weight:550
}
.nav-current{
  color:var(--ink);
  position:relative
}
.nav-current:after{
  position:absolute;
  content:"";
  height:2px;
  background:var(--ink);
  bottom:-9px;
  left:0;
  right:0
}
.nav-location{
  color:var(--muted);
  border-left:1px solid var(--line);
  padding-left:25px;
  font-size:.82rem;
  display:flex;
  gap:12px
}
.menu-button{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px 13px;
  background:transparent;
  color:var(--ink);
  align-items:center;
  gap:10px;
  min-height:44px
}
.menu-lines{
  display:block;
  width:16px;
  height:10px;
  border-block:1.5px solid currentColor
}
.page-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:50px;
  padding:52px 0 38px
}
.page-intro h1{
  margin-top:16px
}
.serif-accent{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.055em
}
.intro-copy{
  max-width:360px;
  color:var(--muted);
  font-size:1rem;
  margin-bottom:8px;
  line-height:1.8
}
.featured-event{
  display:grid;
  grid-template-columns:1.02fr 1fr;
  border:1px solid #d9dfd6;
  border-radius:var(--radius);
  overflow:hidden;
  background:#f0f2e9
}
.featured-visual{
  position:relative;
  min-height:348px;
  background:var(--ink)
}
.featured-visual img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:60% center
}
.image-caption{
  position:absolute;
  left:25px;
  bottom:22px;
  font-size:.65rem;
  letter-spacing:.15em;
  color:white;
  font-weight:650;
  text-shadow:0 1px 8px #000;
  background:#102b35b8;
  padding:6px 9px;
  border-radius:3px
}
.featured-content{
  padding:29px 34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.featured-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.featured-top .eyebrow{
  font-size:.68rem
}
.featured-content h2{
  margin-top:19px;
  font-size:2rem
}
.featured-content>p{
  font-size:.95rem;
  color:var(--muted);
  margin-top:9px
}
.featured-facts{
  display:grid;
  gap:9px;
  font-size:.875rem;
  margin-top:20px
}
.featured-facts>span{
  display:flex;
  align-items:center;
  gap:10px
}
.featured-facts .icon{
  width:18px;
  height:18px;
  color:#56675d
}
.featured-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #d5decd;
  margin-top:23px;
  padding-top:20px;
  gap:20px
}
.price{
  font-size:1.9rem;
  line-height:1;
  font-weight:650;
  letter-spacing:-.04em
}
.price span{
  display:block;
  font-size:.7rem;
  color:var(--muted);
  font-weight:400;
  letter-spacing:0;
  margin-top:8px
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border-radius:7px;
  min-height:48px;
  padding:12px 18px;
  font-size:.85rem;
  font-weight:650;
  border:1px solid transparent;
  text-decoration:none;
  line-height:1.4
}
.button:hover{
  text-decoration:none;
  filter:brightness(.95)
}
.button-gold{
  background:var(--gold);
  color:var(--ink)
}
.button-ink{
  background:var(--ink);
  color:white
}
.button-ink:focus-visible{
  outline-color:#b8840a
}
.button .icon{
  width:19px;
  height:19px
}
.status{
  display:inline-flex;
  align-items:center;
  border:1px solid transparent;
  border-radius:5px;
  padding:3px 8px;
  font-size:.7rem;
  font-weight:600;
  white-space:nowrap;
  letter-spacing:0;
  line-height:1.5
}
.status.upcoming{
  background:#e3eddf;
  color:#34563b;
  border-color:#d2dfcb
}
.status.completed{
  background:#eff0ed;
  color:#5d6863;
  border-color:#dee2dc
}
.status.cancelled{
  background:#f8e7e2;
  color:#843b2b;
  border-color:#e9cbc2
}
.calendar-section{
  padding-top:53px
}
.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px
}
.section-heading h2{
  font-size:1.85rem;
  margin-top:10px
}
.section-heading .eyebrow{
  font-size:.68rem;
  color:#6a7a72
}
.count-label{
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:3px
}
.view-switch{
  display:flex;
  gap:25px;
  border-bottom:1px solid var(--line);
  font-size:.86rem
}
.view-switch a{
  padding:13px 2px 15px;
  color:var(--muted);
  min-height:48px
}
.view-switch a[aria-current]{
  color:var(--ink);
  border-bottom:2px solid var(--ink);
  font-weight:650
}
.view-switch a:hover{
  text-decoration:none;
  color:var(--ink)
}
.event-row{
  display:grid;
  grid-template-columns:78px 1fr auto;
  gap:28px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--line)
}
.date-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#f0f1eb;
  border-radius:9px;
  min-height:98px;
  width:78px;
  line-height:1.2;
  flex-shrink:0
}
.date-block span:first-child{
  font-size:.68rem;
  letter-spacing:.13em;
  font-weight:700;
  color:#63715f
}
.date-block strong{
  font-size:2.15rem;
  font-weight:550;
  letter-spacing:-.04em;
  margin-top:4px
}
.date-block span:last-child{
  font-size:.67rem;
  color:var(--muted);
  margin-top:4px
}
.event-title-line{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}
.event-title-line h3{
  font-size:1.2rem
}
.event-audience{
  font-size:.83rem;
  color:var(--muted);
  margin-top:7px
}
.row-meta{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-size:.78rem;
  color:var(--muted);
  margin-top:11px
}
.row-meta span{
  display:flex;
  align-items:center;
  gap:6px
}
.row-meta .icon{
  width:15px;
  height:15px
}
.event-action{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px
}
.row-price{
  font-size:1.18rem;
  font-weight:650;
  letter-spacing:-.02em
}
.row-price span{
  font-size:.66rem;
  font-weight:400;
  color:var(--muted);
  letter-spacing:0
}
.text-link{
  display:inline-flex;
  gap:12px;
  align-items:center;
  font-size:.82rem;
  font-weight:600;
  min-height:32px
}
.text-link .icon{
  width:18px;
  height:18px
}
.first-tournament{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px;
  margin:64px 0 72px;
  padding:45px 48px;
  border-radius:var(--radius);
  background:#eaf0ee;
  scroll-margin-top:26px
}
.first-intro .eyebrow{
  font-size:.67rem;
  color:#4e6a63
}
.first-intro h2{
  margin-top:15px;
  font-size:2rem
}
.first-intro>p:last-child{
  margin-top:16px;
  font-size:.875rem;
  max-width:360px;
  line-height:1.8;
  color:var(--muted)
}
.first-steps{
  display:grid;
  gap:22px
}
.first-steps>div{
  display:flex;
  gap:19px
}
.step-number{
  font-family:Georgia,serif;
  font-size:1.25rem;
  line-height:1.3;
  color:#768b76
}
.first-steps h3{
  font-size:.95rem;
  letter-spacing:-.01em;
  font-weight:650;
  margin-bottom:5px
}
.first-steps p{
  font-size:.8rem;
  color:var(--muted);
  line-height:1.7
}
.site-footer{
  background:var(--ink);
  color:#e8eeeb
}
.footer-top{
  padding:34px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.site-footer .brand-text{
  font-size:.82rem
}
.site-footer .brand-logo{
  filter:drop-shadow(0 0 1px rgba(250,250,247,.85))
}
.site-footer .brand-text small{
  font-size:.56rem
}
.footer-top>p{
  font-family:Georgia,serif;
  font-size:1.4rem;
  font-style:italic;
  color:#c2d1c9
}
.footer-top>a:last-child{
  font-size:.78rem
}
.footer-bottom{
  padding:18px 0 22px;
  border-top:1px solid #365059;
  display:flex;
  justify-content:space-between;
  font-size:.7rem;
  color:#b4c4c8;
  gap:20px
}
.empty-state{
  padding:48px 24px;
  text-align:center;
  background:#f2f4ee;
  border-bottom:1px solid var(--line)
}
.empty-piece{
  font-size:2.5rem;
  line-height:1.4;
  color:#52716a
}
.empty-state h3{
  margin:10px 0;
  font-size:1.4rem
}
.empty-state p{
  max-width:480px;
  margin:0 auto;
  color:var(--muted);
  font-size:.95rem
}
.empty-state .text-link{
  margin-top:17px
}
.breadcrumbs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:.8rem;
  color:var(--muted);
  padding-top:30px
}
.breadcrumbs a{
  text-decoration:underline;
  text-underline-offset:3px
}
.detail-heading{
  display:flex;
  gap:32px;
  justify-content:space-between;
  align-items:flex-start;
  padding:38px 0 30px
}
.detail-heading h1{
  font-size:clamp(2.5rem,5vw,4rem);
  margin-top:14px;
  max-width:760px
}
.detail-heading>.status{
  margin-top:44px
}
.detail-summary{
  font-size:1.1rem;
  color:var(--muted);
  margin-top:17px
}
.detail-facts{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  border-block:1px solid var(--line);
  padding:23px 0;
  gap:30px
}
.detail-facts>div{
  display:flex;
  gap:13px;
  align-items:center;
  font-size:.88rem
}
.detail-facts small{
  display:block;
  text-transform:uppercase;
  font-size:.65rem;
  letter-spacing:.14em;
  font-weight:650;
  color:var(--muted);
  margin-bottom:4px
}
.detail-facts .icon{
  width:22px;
  height:22px;
  color:#5f7469
}
.detail-grid{
  display:grid;
  grid-template-columns:1fr 350px;
  gap:52px;
  align-items:start;
  padding:38px 0 70px
}
.detail-image{
  width:100%;
  aspect-ratio:1.8;
  object-fit:cover;
  object-position:50% 64%;
  border-radius:12px
}
.detail-section{
  padding-top:35px
}
.detail-section h2{
  font-size:1.8rem;
  margin:12px 0 18px
}
.detail-section>p:last-child{
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  max-width:660px
}
.event-specs{
  margin:0
}
.event-specs>div{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:20px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  font-size:.875rem
}
.event-specs dt{
  font-weight:650
}
.event-specs dd{
  margin:0;
  color:var(--muted)
}
.event-specs dd small{
  display:block;
  margin-top:4px
}
.entry-panel{
  padding:28px;
  border:1px solid #d6dfd1;
  background:#f0f2e9;
  border-radius:12px
}
.entry-panel>.eyebrow{
  font-size:.65rem;
  color:#5c705f
}
.entry-panel h2{
  font-size:1.5rem;
  margin-top:12px
}
.entry-price{
  font-size:2.65rem;
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.1;
  margin-top:25px
}
.entry-price span{
  font-size:.75rem;
  font-weight:400;
  letter-spacing:0;
  display:block;
  margin-top:8px;
  color:var(--muted)
}
.entry-includes{
  list-style:none;
  padding:22px 0;
  margin:22px 0 0;
  border-block:1px solid #d6dfd1;
  display:grid;
  gap:13px;
  font-size:.8rem
}
.entry-includes li{
  display:flex;
  gap:10px;
  align-items:flex-start
}
.entry-includes .icon{
  width:18px;
  height:18px;
  color:#3c6851
}
.entry-deadline{
  font-size:.76rem;
  margin-top:22px;
  color:var(--muted)
}
.entry-deadline strong{
  display:block;
  font-size:.8rem;
  color:var(--ink);
  margin-bottom:4px
}
.sample-notice,.entry-notice{
  padding:16px;
  background:#fffdf4;
  border:1px solid #e4d8af;
  border-radius:7px;
  font-size:.78rem;
  margin-top:23px;
  color:#5f5435
}
.sample-notice strong,.entry-notice strong{
  display:block;
  font-size:.8rem;
  color:#534a31;
  margin-bottom:5px
}
.entry-panel .button{
  display:flex;
  width:100%;
  margin-top:22px;
  font-size:.8rem
}
.entry-footnote{
  font-size:.7rem;
  text-align:center;
  color:var(--muted);
  margin-top:12px
}
.error-page{
  padding:90px 24px;
  max-width:900px;
  margin-inline:auto;
  min-height:60vh
}
.error-page h1{
  margin:15px 0 22px
}
.error-page>p:not(.eyebrow){
  color:var(--muted);
  max-width:550px;
  margin-bottom:18px
}
.error-page .button{
  margin-top:16px
}
@media(min-width:1500px){
  .page-intro{
    padding-top:65px;
    padding-bottom:45px
  }
}
@media(max-width:1000px){
  .container{
    width:calc(100% - 48px)
  }
  .main-navigation{
    gap:22px
  }
  .nav-location{
    display:none
  }
  .featured-content{
    padding:25px
  }
  .featured-content h2{
    font-size:1.8rem
  }
  .featured-bottom{
    gap:15px
  }
  .button{
    padding:12px 14px;
    gap:12px
  }
  .first-tournament{
    gap:35px;
    padding:35px
  }
  .detail-grid{
    grid-template-columns:1fr 310px;
    gap:30px
  }
  .entry-panel{
    padding:24px
  }
  .detail-facts{
    gap:18px
  }
  .intro-copy{
    max-width:330px
  }
}
@media(max-width:760px){
  .container{
    width:calc(100% - 40px)
  }
  .preview-banner{
    flex-wrap:wrap;
    gap:4px 8px;
    font-size:.68rem;
    padding:7px 12px;
    line-height:1.35
  }
  .preview-banner>span:last-child{
    flex-basis:100%;
    text-align:center
  }
  .preview-dot{
    width:5px;
    height:5px
  }
  .header-inner{
    min-height:82px;
    flex-wrap:wrap;
    gap:0;
    position:relative;
    padding-block:15px
  }
  .brand-logo{
    width:50px;
    height:50px
  }
  .brand-text{
    font-size:.8rem
  }
  .brand-text small{
    font-size:.52rem
  }
  .brand{
    gap:9px
  }
  .menu-button:not([hidden]){
    display:flex;
    font-size:.78rem
  }
  .main-navigation{
    width:100%;
    align-items:stretch;
    display:flex;
    flex-direction:column;
    gap:0;
    padding:17px 0 2px;
    font-size:.9rem
  }
  .main-navigation>a{
    padding:11px 0;
    min-height:44px
  }
  .nav-current:after{
    display:none
  }
  .page-intro{
    padding:34px 0 28px;
    display:block
  }
  .page-intro h1{
    font-size:3.3rem;
    line-height:1.02;
    margin-top:16px
  }
  .desktop-break{
    display:none
  }
  .eyebrow{
    font-size:.63rem;
    gap:8px
  }
  .short-line{
    width:19px
  }
  .intro-copy{
    max-width:450px;
    margin-top:21px;
    font-size:.88rem;
    line-height:1.7
  }
  .intro-copy br{
    display:none
  }
  .featured-event{
    grid-template-columns:1fr
  }
  .featured-visual{
    min-height:0;
    height:215px
  }
  .featured-visual img{
    object-position:50% 62%
  }
  .image-caption{
    font-size:.55rem;
    left:17px;
    bottom:15px
  }
  .featured-content{
    padding:23px
  }
  .featured-content h2{
    font-size:1.8rem;
    margin-top:15px
  }
  .featured-content>p{
    font-size:.88rem
  }
  .featured-facts{
    font-size:.8rem;
    gap:8px;
    margin-top:17px
  }
  .featured-bottom{
    margin-top:20px;
    padding-top:18px
  }
  .featured-bottom .button{
    font-size:.76rem
  }
  .price{
    font-size:1.65rem
  }
  .price span{
    font-size:.66rem
  }
  .status{
    font-size:.66rem
  }
  .calendar-section{
    padding-top:38px
  }
  .section-heading{
    display:block;
    margin-bottom:18px
  }
  .section-heading h2{
    font-size:1.65rem
  }
  .count-label{
    margin-top:10px;
    font-size:.77rem
  }
  .view-switch{
    gap:23px;
    font-size:.8rem
  }
  .event-row{
    grid-template-columns:59px 1fr;
    gap:12px 17px;
    padding:24px 0;
    align-items:start
  }
  .date-block{
    width:59px;
    min-height:83px
  }
  .date-block strong{
    font-size:1.8rem
  }
  .date-block span:first-child,.date-block span:last-child{
    font-size:.6rem
  }
  .event-title-line{
    gap:7px
  }
  .event-title-line h3{
    font-size:1.07rem;
    line-height:1.3
  }
  .event-title-line .status{
    font-size:.61rem;
    padding:2px 6px
  }
  .event-audience{
    font-size:.76rem;
    margin-top:7px;
    line-height:1.5
  }
  .row-meta{
    font-size:.72rem;
    gap:6px;
    margin-top:10px;
    flex-direction:column
  }
  .row-meta .icon{
    width:14px;
    height:14px
  }
  .event-action{
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px
  }
  .row-price{
    font-size:1rem
  }
  .text-link{
    font-size:.75rem;
    gap:8px;
    min-height:44px
  }
  .first-tournament{
    grid-template-columns:1fr;
    gap:28px;
    padding:27px 24px;
    margin:40px 0 45px
  }
  .first-intro h2{
    font-size:1.65rem
  }
  .first-intro>p:last-child{
    font-size:.82rem
  }
  .first-steps{
    gap:22px
  }
  .first-steps p{
    font-size:.78rem
  }
  .footer-top{
    flex-wrap:wrap;
    padding:28px 0;
    gap:24px
  }
  .footer-top>p{
    font-size:1.2rem
  }
  .footer-top>a:last-child{
    width:100%
  }
  .footer-bottom{
    flex-direction:column;
    gap:8px;
    font-size:.65rem
  }
  .detail-heading{
    padding:27px 0 25px;
    display:block
  }
  .detail-heading h1{
    font-size:2.65rem
  }
  .detail-heading>.status{
    margin-top:18px
  }
  .detail-summary{
    font-size:1rem
  }
  .breadcrumbs{
    font-size:.7rem;
    gap:9px;
    padding-top:23px
  }
  .detail-facts{
    grid-template-columns:1fr;
    gap:20px
  }
  .detail-facts>div{
    font-size:.83rem
  }
  .detail-grid{
    grid-template-columns:1fr;
    padding:27px 0 42px;
    gap:28px
  }
  .entry-panel{
    grid-row:1;
    padding:25px
  }
  .entry-price span{
    display:inline-block;
    margin-left:7px
  }
  .entry-includes{
    margin-top:18px;
    padding:17px 0;
    gap:9px
  }
  .entry-panel h2{
    font-size:1.4rem
  }
  .entry-price{
    margin-top:17px;
    font-size:2.4rem
  }
  .entry-deadline{
    margin-top:18px
  }
  .sample-notice{
    margin-top:18px
  }
  .detail-image{
    aspect-ratio:1.65
  }
  .detail-section h2{
    font-size:1.6rem
  }
  .detail-section>p:last-child{
    font-size:.9rem
  }
  .event-specs>div{
    grid-template-columns:100px 1fr;
    gap:14px;
    font-size:.8rem
  }
  .empty-state{
    padding:30px 15px
  }
  .empty-state h3{
    font-size:1.2rem
  }
  .empty-state p{
    font-size:.85rem
  }
  .error-page{
    padding:55px 20px
  }
  .error-page h1{
    font-size:2.7rem
  }
}
@media(max-width:360px){
  .container{
    width:calc(100% - 28px)
  }
  .brand-text{
    font-size:.72rem
  }
  .brand-logo{
    width:44px;
    height:44px
  }
  .menu-button{
    padding:9px;
    font-size:.72rem
  }
  .page-intro h1{
    font-size:2.85rem
  }
  .featured-content{
    padding:19px
  }
  .featured-top .eyebrow{
    font-size:.59rem
  }
  .featured-bottom{
    gap:10px
  }
  .featured-bottom .button{
    gap:6px;
    font-size:.69rem;
    padding:11px
  }
  .view-switch{
    gap:14px;
    font-size:.74rem
  }
  .event-title-line h3{
    font-size:1rem
  }
  .row-price{
    font-size:.9rem
  }
  .text-link{
    font-size:.7rem
  }
  .entry-panel{
    padding:21px
  }
  .entry-price span{
    display:block;
    margin-left:0
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    animation:none!important;
    transition:none!important
  }
}
/* Keep the first event's date, fee and action within easy reach on small screens. */
.section-heading .eyebrow{
  color:#54685c
}
.step-number{
  color:#526d58
}
@media(max-width:760px){
  .page-intro{
    padding-top:25px;
    padding-bottom:25px
  }
  .page-intro h1{
    font-size:3rem
  }
  .featured-visual{
    height:145px
  }
  .intro-copy{
    margin-top:17px
  }
  .featured-facts{
    font-size:.875rem
  }
  .row-meta,.event-audience{
    font-size:.8125rem
  }
  .text-link{
    font-size:.8125rem
  }
  .entry-includes{
    font-size:.875rem
  }
  .entry-deadline{
    font-size:.8125rem
  }
}
