.riptide-announcement{position:relative;isolation:isolate;background:#03182d;color:#fff;overflow:hidden}
.riptide-wave{position:absolute;inset:0 0 110px;z-index:-1;background:url('/assets/riptide-wave-2027.png') center right/cover no-repeat}
.riptide-announcement-inner{padding-top:66px;padding-bottom:72px;min-height:650px;display:flex;align-items:center}
.riptide-announcement-copy{width:58%;max-width:720px;min-width:0;text-shadow:0 2px 16px rgba(0,10,25,.5)}
.riptide-announcement-brand{font-size:.88rem;letter-spacing:.23em;line-height:1.5;text-transform:uppercase;font-weight:700;margin:0 0 22px}
.riptide-announcement h1{font-size:clamp(5rem,9.8vw,9.5rem);font-weight:900;font-style:italic;line-height:.88;letter-spacing:-.025em;margin:0 0 30px}
.riptide-announcement h1 span{color:#7bcaee}
.riptide-opening{font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.4;font-weight:800;max-width:620px;margin:0 0 14px}
.riptide-welcome{font-size:1rem;line-height:1.65;margin:0 0 28px;max-width:530px}
.riptide-explore{background:#fff;border-color:#fff;color:#081b2c;text-shadow:none;min-height:58px;padding:12px 30px;letter-spacing:.09em}
.riptide-explore:hover{background:#c8e4f5;border-color:#c8e4f5}
.riptide-explore:focus-visible{outline:3px solid #7bcaee;outline-offset:5px}
.riptide-deadlines{border-top:3px solid #7bcaee;background:#03182d;padding:27px 0 30px}
.riptide-deadlines dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;margin-bottom:0}
.riptide-deadlines dl>div{padding:0 24px;border-left:1px solid #7094ac;text-align:center;min-width:0}
.riptide-deadlines dl>div:first-child{border-left:0;padding-left:0}
.riptide-deadlines dl>div:last-child{padding-right:0}
.riptide-deadlines dt{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#8ccbea;font-weight:800;line-height:1.5;margin-bottom:8px}
.riptide-deadlines dd{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.6rem,2.7vw,2.5rem);line-height:1.1;font-weight:800;margin:0}
@media(min-width:1600px){.riptide-wave{background-position:center;background-size:cover}.riptide-announcement-inner{min-height:730px}}
@media(max-width:900px){.riptide-announcement-copy{width:67%}.riptide-wave{background-image:linear-gradient(90deg,rgba(3,24,45,.8),rgba(3,24,45,.18) 75%),url('/assets/riptide-wave-2027.png')}.riptide-announcement-inner{min-height:570px;padding-top:48px;padding-bottom:48px}.riptide-deadlines dl>div{padding:0 14px}.riptide-deadlines dt{font-size:.75rem;letter-spacing:.06em}}
@media(max-width:600px){.riptide-wave{position:relative;inset:auto;height:215px;background-image:url('/assets/riptide-wave-2027.png');background-position:right center;background-size:auto 150%;margin-bottom:-1px}.riptide-announcement-inner{display:block;min-height:0;padding-top:28px;padding-bottom:34px}.riptide-announcement-copy{width:100%;max-width:none;text-shadow:none}.riptide-announcement-brand{font-size:.75rem;letter-spacing:.12em;margin-bottom:18px}.riptide-announcement h1{font-size:clamp(4.5rem,18vw,6.5rem);margin-bottom:24px}.riptide-opening{font-size:1.35rem}.riptide-welcome{font-size:1rem}.riptide-deadlines{padding:4px 0}.riptide-deadlines dl{display:block}.riptide-deadlines dl>div,.riptide-deadlines dl>div:first-child,.riptide-deadlines dl>div:last-child{padding:17px 0;border-left:0;border-bottom:1px solid #35536b;text-align:left}.riptide-deadlines dl>div:last-child{border-bottom:0}.riptide-deadlines dt{font-size:.8rem;margin-bottom:4px}.riptide-deadlines dd{font-size:2rem}.riptide-explore{width:100%;min-width:0}}
.home-carousel{background:var(--navy);color:#fff}
.home-carousel-slides{display:grid}
.home-carousel .home-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease;align-self:stretch}
.home-carousel .home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.home-carousel .riptide-announcement{display:flex;flex-direction:column}
.home-carousel .riptide-announcement-inner{flex:1}
.home-carousel .club-hero-title{font-size:clamp(4.4rem,8vw,8.6rem);letter-spacing:-.045em;line-height:.94;margin:18px 0 24px}
.home-carousel .club-hero-title em{display:block;color:var(--carolina);font-style:normal}
.home-carousel-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-top:1px solid #35536b;background:#03182d}
.home-carousel-controls[hidden]{display:none}
.home-carousel-controls button{min-width:44px;min-height:44px;border:1px solid #62859f;background:transparent;color:#fff;cursor:pointer;border-radius:3px}
.home-carousel-controls button:hover{background:#193b53}
.home-carousel-controls button:focus-visible{outline:3px solid #7bcaee;outline-offset:3px}
.home-carousel-controls [data-carousel-prev],.home-carousel-controls [data-carousel-next]{font-size:1.8rem;line-height:1}
.home-carousel-dots{display:flex;gap:2px}
.home-carousel-dots button{position:relative;border:0}
.home-carousel-dots button:after{content:'';display:block;width:12px;height:12px;border:2px solid #b6cbd9;border-radius:50%;margin:auto}
.home-carousel-dots button[aria-pressed=true]:after{background:#7bcaee;border-color:#7bcaee}
.home-carousel-controls [data-carousel-pause]{font-size:.85rem;padding:8px 12px}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.home-carousel .home-slide{transition:none}}
/* Keep the desktop carousel compact; both slides share the same grid row. */
@media(min-width:901px){
  .home-carousel-slides{min-height:520px}
  .home-carousel .home-slide{min-height:0}
  .home-carousel .riptide-announcement-inner{min-height:0;padding-top:34px;padding-bottom:34px}
  .home-carousel .riptide-announcement-copy{width:56%;max-width:610px}
  .home-carousel .riptide-announcement-brand{font-size:.8rem;letter-spacing:.16em;margin-bottom:16px}
  .home-carousel .riptide-announcement h1{font-size:clamp(4.5rem,6.4vw,6rem);margin-bottom:20px}
  .home-carousel .riptide-opening{font-size:1.25rem;line-height:1.4;max-width:530px;margin-bottom:10px}
  .home-carousel .riptide-welcome{font-size:.95rem;line-height:1.5;margin-bottom:20px}
  .home-carousel .riptide-explore{min-height:48px;padding:10px 24px;font-size:.875rem}
  .home-carousel .riptide-wave{inset:0 0 92px;background-position:right center}
  .home-carousel .riptide-deadlines{padding:18px 0}
  .home-carousel .riptide-deadlines dt{font-size:.75rem;letter-spacing:.08em;margin-bottom:5px}
  .home-carousel .riptide-deadlines dd{font-size:clamp(1.5rem,2vw,1.9rem)}
  .home-carousel .hero{grid-template-columns:52% 48%}
  .home-carousel .hero-copy{padding:34px max(34px,calc((100vw - 1180px)/2));padding-right:32px}
  .home-carousel .club-hero-title{font-size:clamp(3.4rem,4.4vw,4.5rem);letter-spacing:-.025em;line-height:.98;margin:16px 0 20px}
  .home-carousel .hero p{font-size:1rem;line-height:1.6;margin-bottom:22px;max-width:470px}
  .home-carousel .hero .btn{font-size:.8rem;min-height:46px;padding:8px 16px}
  .home-carousel .hero-photo{min-height:0}
  .home-carousel .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .home-carousel-controls{padding:7px 18px}
}
