*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#1c365e;color:#e7f8df;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff28;gap:24px}.brand{font-weight:900;font-size:20px;line-height:.95;text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:30px}nav a{font-size:14px;text-decoration:none;padding:10px 0}nav a[aria-current]{border-bottom:2px solid #78d5cf}.nav-cta{font-weight:bold;font-size:13px;text-decoration:none;background:#e7f8df;color:#1c365e;padding:15px 20px}.intro{padding:74px 7% 20px;max-width:1440px;margin:auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#78d5cf}h1,h2,h3{font-weight:900;letter-spacing:-.055em;line-height:.94;margin:24px 0}h1{font-size:clamp(58px,8.2vw,120px)}h2{font-size:clamp(38px,4.7vw,68px)}h3{font-size:35px}p{font-size:17px;line-height:1.7;max-width:620px;color:inherit;opacity:.85}.intro p{max-width:570px;font-size:19px}.hero-bottom{padding:10px 7% 48px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-bottom span{font-size:12px;margin-left:auto}.button{display:inline-block;background:#e7f8df;color:#1c365e;padding:17px 23px;text-decoration:none;font-size:14px;font-weight:bold;margin:8px 8px 8px 0}.button:hover,.nav-cta:hover{background:#79d5cf}.outline{border:1px solid currentColor;background:transparent;color:inherit}.logo-stage{margin:0 7% 65px;background:#1c365e;position:relative;border:1px solid #78d5cf55}.logo-stage img{display:block;width:100%;max-height:440px;object-fit:contain}.logo-stage span{display:block;text-align:center;font-size:10px;letter-spacing:4px;padding:18px;border-top:1px solid #78d5cf55}.ticker{background:#208c9e;padding:20px;text-align:center;font-size:17px;font-weight:900;letter-spacing:3px;overflow:hidden}.split{padding:90px 7%;display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.split h2{margin-top:0}.cream{background:#e7f8df;color:#1c365e;padding:75px 7%}.cream .eyebrow{color:#187889}.cream .button{background:#1c365e;color:#e7f8df}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-head a{font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:35px 0}.cards article{padding:25px 30px;border-left:1px solid #1c365e40}.cards article:first-child{padding-left:0;border-left:0}.cards p{font-size:15px}.number{font-size:11px;letter-spacing:1.5px;font-weight:bold}.cards .button{font-size:12px}.closing{padding:85px 7%;background:#208c9e}.closing .eyebrow{color:#e7f8df}.closing h2{font-size:clamp(60px,8vw,115px)}footer{padding:40px 7%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer p{font-size:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;padding:40px 7% 80px;gap:20px}.contact-grid>a,.contact-grid>div{border-top:1px solid #ffffff40;padding:30px 0;text-decoration:none}.contact-grid h2{font-size:34px}.contact-grid span{font-size:11px;letter-spacing:2px;color:#78d5cf}.gallery-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:40px 7% 85px}.gallery-panel img{width:100%}details{border-bottom:1px solid #ffffff35;padding:22px 0}summary{cursor:pointer;font-size:19px;font-weight:bold}a:focus-visible,summary:focus-visible{outline:3px solid #78d5cf;outline-offset:5px}@media(min-width:1100px){body:has(.hero-bottom) .intro{width:63%;margin:0}.hero-bottom{max-width:68%}body:has(.hero-bottom) .logo-stage{position:absolute;top:190px;right:4%;width:33%;margin:0;transform:rotate(5deg)}body:has(.hero-bottom) .intro p{max-width:460px}.hero-bottom span{margin:20px 0 0;flex-basis:100%}}@media(max-width:720px){header{flex-wrap:wrap;padding:22px 6%;gap:22px}nav{order:3;width:100%;gap:0;justify-content:space-between}nav a{font-size:12px}.intro{padding-top:48px}h1{font-size:59px}.hero-bottom span{margin:14px 0 0}.split,.gallery-panel{grid-template-columns:1fr;gap:25px;padding:55px 7%}.cards{grid-template-columns:1fr}.cards article,.cards article:first-child{padding:26px 0;border-left:0;border-top:1px solid #1c365e40}.section-head{display:block}.contact-grid{grid-template-columns:1fr}.cream,.closing{padding:50px 7%}footer{display:block}.logo-stage img{min-height:220px}}/* Club motion: short entrances, playful lettering, and a floating badge. */
.dance-word{display:inline-block;white-space:nowrap}.dance-letter{display:inline-block;transform-origin:50% 80%}.letters-playing .dance-letter{animation:letter-dance .65s var(--letter-delay,0ms) both}.motion-card{transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s;transition-delay:var(--card-delay,0ms)}.reveal-ready{opacity:0;transform:translateY(50px) rotate(2deg)}.reveal-ready.in-view{opacity:1;transform:translateY(0) rotate(0)}.motion-card.in-view:hover{transform:translateY(-7px);transition-delay:0ms}.logo-stage img,.gallery-panel>img{animation:badge-float 5s ease-in-out infinite;transform-origin:center}.logo-stage{overflow:hidden}.gallery-panel>img{border-radius:3px}@keyframes letter-dance{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-9px) rotate(-7deg);color:#208c9e}55%{transform:translateY(2px) rotate(5deg)}75%{transform:translateY(-3px) rotate(-2deg)}}@keyframes badge-float{0%,100%{transform:translateY(0) rotate(-1deg) scale(.97)}50%{transform:translateY(-7px) rotate(1deg) scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dance-letter,.logo-stage img,.gallery-panel>img{animation:none!important}.motion-card,.motion-card.in-view:hover{transition:none!important;opacity:1!important;transform:none!important}}
.ticker{padding:20px 0;text-align:left}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 30s linear infinite}.ticker-group{display:flex;flex-shrink:0;gap:65px;padding-right:65px;white-space:nowrap}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker-scroll{to{transform:translateX(-25%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;width:100%;justify-content:center}.ticker-group{white-space:normal;flex-wrap:wrap;justify-content:center;gap:18px;padding:0 20px}.ticker-group~.ticker-group{display:none}}
body:has(.hero-bottom) .cards{overflow:clip;padding:20px 0 35px}.scroll-card,.scroll-card.in-view:hover{opacity:1;transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(var(--scroll-rotate,0deg));transition:none;will-change:transform}@media(max-width:720px){.scroll-card{--scroll-x:0px!important}}@media(prefers-reduced-motion:reduce){.scroll-card{transform:none!important;will-change:auto}}
/* A light print patina unifies the navy, teal, and cream surfaces. */
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.15;background-image:url("texture.svg");background-repeat:repeat;background-size:240px 240px;mix-blend-mode:soft-light}body::before{content:"";position:fixed;inset:0;z-index:99;pointer-events:none;box-shadow:inset 0 0 150px 25px #100e0924;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#281c1005 4px,transparent 5px)}
/* Stronger visible paper grain and warm print wear. */
body::after{opacity:.32;mix-blend-mode:overlay;background-size:180px 180px}body::before{box-shadow:inset 0 0 170px 35px #100e0938;background-image:url("texture.svg"),repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#281c1009 4px,transparent 5px);background-size:320px 320px,auto;mix-blend-mode:multiply;opacity:.32}
.button,.nav-cta{border-radius:999px}
.falling-matches{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.falling-matches img{position:absolute;top:0;height:auto;filter:drop-shadow(2px 4px 3px #10203a44)}@media(prefers-reduced-motion:reduce){.falling-matches{display:none}}
header .header-logo{display:block;flex-shrink:0;width:145px}header .header-logo img{display:block;width:100%;height:auto}@media(max-width:720px){header .header-logo{width:125px}}
.falling-matches .falling-bag{clip-path:polygon(13% 9%,16% 9%,22% 14%,37% 18%,48% 18%,51% 19%,54% 25%,50% 38%,47% 49%,46% 62%,47% 72%,44% 76%,29% 72%,13% 68%,3% 65%,2% 61%,5% 51%,8% 35%,10% 19%);transform-origin:28% 42%;margin-left:-35px;margin-top:-35px;scale:1.8}.falling-matches{isolation:isolate}
/* Pronounced antique stock: visible dark fibers and pale worn flecks. */
body::after{opacity:.48;mix-blend-mode:normal;background-image:url("patina.svg");background-size:300px 300px}body::before{opacity:.65;mix-blend-mode:multiply;background-image:radial-gradient(ellipse at 18% 28%,#73502533,transparent 45%),radial-gradient(ellipse at 84% 76%,#60472544,transparent 48%);background-size:cover;box-shadow:inset 0 0 180px 35px #170f0840}
/* Paper wear belongs to the painted surfaces, beneath all content. */
body::before,body::after{content:none}body,.cream,.closing,.ticker,.logo-stage{background-image:url("patina.svg"),radial-gradient(ellipse at 18% 28%,#73502522,transparent 45%),radial-gradient(ellipse at 84% 76%,#60472533,transparent 48%);background-size:300px 300px,100% 100%,100% 100%;background-repeat:repeat,no-repeat,no-repeat;background-blend-mode:normal,multiply,multiply}
/* On the homepage, each content panel slides over the preceding one. */
main > section:not(.intro),
.closing {
  position: relative;
  margin-inline: clamp(10px, 2.2vw, 36px);
  border-radius: 20px;
  background-clip: padding-box;
  box-shadow: 0 -6px 26px #101e342e;
}
main > .split {
  background-color: #1c365e;
  background-image: url("patina.svg");
  background-size: 300px;
}
body:has(.hero-bottom) #about { margin-top: 28px; }
@media (prefers-reduced-motion: no-preference) {
  main > section:not(.intro) {
    position: sticky;
    top: min(0px, calc(100svh - var(--panel-height, 100svh) - 24px));
  }
  main > section:not(.intro) + section,
  .closing { margin-top: -22px; }
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("barlow-condensed-800.ttf") format("truetype");
  font-weight: 800;
  font-display: swap;
}
.cards h3, .contact-grid h2 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
}

/* Soft fading and paper fibers sit underneath the content. */
body, .cream, .closing, .ticker, .logo-stage,
main > .split {
  background-size: 640px 640px, 100% 100%, 100% 100%;
}

/* Solid brand colors on all page surfaces. */
body, .cream, .closing, .ticker, .logo-stage,
main > .split {
  background-image: none;
}

/* Keep site copy upright while preserving semantic emphasis. */
body, body * {
  font-style: normal;
}

@media(max-width:720px){nav{flex-wrap:wrap;column-gap:12px}}

/* Double rules and corner stars borrow from the Ohio Blue Tip matchbox. */
.logo-stage {
  border: 4px double #c9a769;
}
.logo-stage span {
  border-top: 1px solid #c9a769;
  color: #f0d6a0;
}
main .eyebrow, .closing .eyebrow {
  display: inline-block;
  padding-bottom: 7px;
  border-bottom: 1px solid #c9a769;
}
.cards {
  gap: clamp(12px, 2vw, 28px);
}
.cards article, .cards article:first-child {
  position: relative;
  padding: 27px 20px 20px;
  border: 4px double #94723a;
  border-radius: 7px;
}
.cards article::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 10px;
  height: 10px;
  background: #94723a;
  clip-path: polygon(50% 0, 61% 36%, 100% 38%, 70% 61%, 81% 100%, 50% 76%, 19% 100%, 30% 61%, 0 38%, 39% 36%);
  pointer-events: none;
}
.cards .number {
  display: inline-block;
  padding-right: 10px;
}

.photo-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #142845;
}
.photo-hero::before, .photo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.photo-hero::before {
  z-index: -2;
  background: url("club-hero.jpg") center 46% / cover no-repeat;
  filter: blur(1.5px) saturate(.73) contrast(1.08);
  transform: scale(1.025);
}
.photo-hero::after {
  z-index: -1;
  background: linear-gradient(90deg,#101f39f5 0%,#132945df 30%,#13294547 75%),
    radial-gradient(ellipse at 63% 45%,transparent 18%,#081324b0 100%);
}
.photo-hero .logo-stage { display: none; }
.photo-hero .hero-bottom { padding-bottom: 78px; }
@media (max-width: 720px) {
  .photo-hero::after {
    background: linear-gradient(90deg,#101f39ee,#1329458c),
      radial-gradient(ellipse at center,transparent 10%,#081324aa 100%);
  }
  .photo-hero .hero-bottom { padding-bottom: 45px; }
}

/* Rounded badge outlines echo the teal and cream rings in the club logo. */
main > section:not(.intro),
.closing {
  border: 4px solid #198497;
  border-radius: 24px;
}
main > section:not(.intro)::before,
.closing::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 2px solid #e7f8df;
  border-radius: 17px;
  pointer-events: none;
}
main > .cream::before {
  border-color: #198497;
}
.closing {
  border-color: #1c365e;
}

/* Give overlapping panels an opaque surface and keep their first edge clear of the hero. */
main > section:not(.intro):not(.cream) {
  background-color: #1c365e;
}
main > .intro + section {
  margin-top: 24px;
}

/* Gallery photo spreads */
.photo-album { padding: clamp(34px, 6vw, 90px) 7%; }
.album-feature { margin: 0; }
.album-feature img, .photo-wall img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
}
.album-feature figcaption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #94723a;
  font-weight: 700;
}
.photo-wall { columns: 3; column-gap: clamp(12px, 2vw, 26px); }
.photo-wall a {
  display: block;
  position: relative;
  break-inside: avoid;
  margin-bottom: clamp(12px, 2vw, 26px);
}
.photo-wall a span {
  position: absolute;
  bottom: 9px;
  right: 9px;
  padding: 5px 8px;
  background: #1c365e;
  color: #e7f8df;
  font-size: .72rem;
}
.photo-wall a:hover img { filter: brightness(1.09); }
@media(max-width: 760px) { .photo-wall { columns: 2; } }
@media(max-width: 380px) { .photo-wall { columns: 1; } }

.mobile-menu { display: none; }
@media (max-width: 720px) {
  header { position: relative; z-index: 5; flex-wrap: nowrap; gap: 8px; }
  header > nav { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu summary { padding: 10px 4px; font-size: 14px; }
  .mobile-menu nav {
    position: absolute;
    top: 100%;
    left: 6%;
    width: min(230px, 88vw);
    display: grid;
    gap: 0;
    padding: 8px 16px;
    background: #1c365e;
    border: 2px solid #198497;
    border-radius: 12px;
    box-shadow: 0 8px 24px #08132480;
  }
  .mobile-menu:not([open]) nav { display: none; }
  .mobile-menu nav a { font-size: 15px; }
  header .header-logo { width: clamp(75px, 28vw, 125px); }
  header .nav-cta { padding: 12px 10px; white-space: nowrap; }
}

.photo-hero::before {
  inset-inline-start: clamp(0px, 26vw, 520px);
  background-position: center 46%;
}
.photo-hero::after {
  background: linear-gradient(90deg,#142845 0%,#142845 26%,#142845e8 36%,#14284555 60%,transparent 82%),
    radial-gradient(ellipse at 73% 45%,transparent 24%,#0813248a 100%);
}
@media (max-width: 720px) {
  .photo-hero::before { inset-inline-start: 0; background-position: 36% center; }
  .photo-hero::after {
    background: linear-gradient(90deg,#101f39f2,#13294578),
      radial-gradient(ellipse at center,transparent 12%,#081324a0 100%);
  }
}

.cards article, .cards article:first-child {
  border: 4px solid #198497;
  border-radius: 24px;
}
.cards article::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 2px solid #198497;
  border-radius: 17px;
  pointer-events: none;
}
.cards article::after { content: none; }
