@import "tailwindcss";
:root{--navy:#071d49;--blue:#123f8c;--royal:#1769c2;--red:#cf1f2e;--white:#fff;--ink:#0c2147}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}a{color:inherit}.hero{min-height:790px;color:#fff;overflow:hidden;position:relative;background:linear-gradient(120deg,rgba(207,31,46,.35),rgba(4,20,55,.55),rgba(23,105,194,.45)),url("/images/IMG_8369.jpeg") center/cover;background-size:200% 200%,cover;animation:colors 11s ease-in-out infinite}.hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-70px;height:170px;background:#fff;border-radius:50% 50% 0 0/30% 30% 0 0}.hero nav{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.brand{position:relative}.brand img{width:178px;height:178px;object-fit:contain;filter:drop-shadow(0 8px 18px #0008)}.brand sup{position:absolute;right:-10px;top:22px;font-weight:900}.navlinks{display:flex;align-items:center;gap:26px}.navlinks a{text-decoration:none;font-weight:800}.button{display:inline-flex;justify-content:center;background:var(--red);color:#fff;border:0;border-radius:999px;padding:13px 22px;font-weight:900;text-decoration:none;box-shadow:0 7px 0 #830d17;cursor:pointer}.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:55px;padding:10px 0 155px;position:relative;z-index:1}.eyebrow,.kicker{text-transform:uppercase;font-size:.8rem;letter-spacing:.17em;font-weight:900;color:var(--red)}.hero h1{margin:.2em 0;line-height:.8;text-transform:uppercase}.hero h1 small{display:block;font:900 1.4rem "Courier New";letter-spacing:.3em;margin-bottom:16px}.hero h1 span,.hero h1 b{display:block;width:max-content;max-width:100%;font-size:clamp(3.5rem,8vw,7.3rem);letter-spacing:-.075em;text-shadow:5px 5px 0 var(--navy),-3px -3px 0 #fff,3px -3px 0 #fff,-3px 3px 0 #fff}.hero h1 span{color:var(--red);animation:wiggle 3.7s infinite}.hero h1 b{font-size:clamp(3rem,6.8vw,6.2rem);margin-top:18px;animation:float 3.2s infinite}.lead{max-width:650px;font-size:1.2rem;text-shadow:0 2px 7px #000}.stamp{width:min(330px,78vw);aspect-ratio:1;border:10px double var(--red);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-10deg);background:#fffffff0;color:var(--red);font:900 clamp(2.7rem,5vw,4.7rem)/.85 "Courier New";text-transform:uppercase;box-shadow:0 20px 60px #0006}
section{padding:90px 0}h2{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.95;letter-spacing:-.045em;text-transform:uppercase;margin:.2em 0 .5em}.club{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}.big{font-size:clamp(1.5rem,3vw,2.35rem);font-weight:800;line-height:1.25;margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:0}.cards article{padding:28px;border-radius:24px;background:#fff;border:3px solid var(--blue);border-top-width:10px;box-shadow:0 16px 50px #0c323f17}.cards article:nth-child(2){border-color:var(--red)}.cards span{font-size:2.2rem}.cards h3{text-transform:uppercase}.event{background:var(--navy);color:#fff}.eventGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:54px;align-items:center}.light{color:#fff}.event mark{background:#fff;color:var(--red);padding:5px 12px;font-weight:900}.video{position:relative;padding-bottom:56.25%;height:0;border-radius:24px;overflow:hidden;box-shadow:18px 18px 0 var(--red)}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.gallery{background:linear-gradient(135deg,#eaf3ff,#fff 47%,#ffe9ec);border-block:14px solid var(--red)}.photoGrid,.uploadGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photoGrid figure,.uploadGrid figure{margin:0;height:190px;overflow:hidden;border-radius:16px;background:var(--navy);box-shadow:0 8px 24px #071d4922}.photoGrid figure:nth-child(5n+1){grid-column:span 2;height:392px}.photoGrid img,.uploadGrid img{width:100%;height:100%;object-fit:cover}.memberPhotos{background:#edf3fd}.uploadBox{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff;padding:24px;border-radius:22px;margin-bottom:35px;border:3px dashed var(--royal)}label{display:grid;gap:6px;font-weight:800}input,textarea{width:100%;padding:12px;border:2px solid #b9c9e6;border-radius:10px;font:inherit}.full{grid-column:1/-1}.status{font-weight:800}.uploadGrid figure{height:auto;background:#fff}.uploadGrid img{height:190px}.uploadGrid figcaption{padding:12px}.uploadGrid time{display:block;color:var(--red);font-weight:900}.join{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff}.joinGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.joinForm{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff;color:var(--ink);padding:28px;border-radius:24px}.contact a{font-weight:900;text-underline-offset:4px}footer{background:#030d22;color:#dbe7ff;padding:45px 18px 28px;text-align:center;border-top:9px solid var(--red)}.foot{display:flex;justify-content:space-between;gap:20px}footer>p{border-top:1px solid #ffffff33;padding-top:22px;margin:28px auto 0;max-width:1120px;font-size:.9rem}
@keyframes colors{50%{background-position:100% 50%,center}}@keyframes wiggle{50%{transform:rotate(1deg) scale(1.02)}}@keyframes float{50%{transform:translateY(-8px) rotate(-.7deg)}}@media(max-width:800px){.navlinks a:not(.button){display:none}.brand img{width:138px;height:138px}.heroGrid,.club,.eventGrid,.joinGrid{grid-template-columns:1fr}.heroGrid{gap:28px}.stamp{margin:auto}.cards{grid-template-columns:1fr}.photoGrid,.uploadGrid{grid-template-columns:repeat(2,1fr)}.photoGrid figure:nth-child(5n+1){grid-column:span 2}.uploadBox,.joinForm{grid-template-columns:1fr}.full{grid-column:auto}.foot{flex-direction:column}.hero h1 span{font-size:clamp(3rem,15vw,5.2rem)}.hero h1 b{font-size:clamp(2.6rem,13vw,4.5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero,.hero h1 span,.hero h1 b{animation:none}}

/* Home and member-photo page refinements */
.hero{background-image:linear-gradient(120deg,rgba(207,31,46,.16),rgba(4,20,55,.28),rgba(23,105,194,.18)),url("/images/IMG_8369.jpeg")}
.club{position:relative;max-width:none;width:100%;padding-inline:max(18px,calc((100% - 1120px)/2));background:linear-gradient(rgba(255,255,255,.74),rgba(255,255,255,.74)),url("/images/IMG_7211.jpeg") center/cover no-repeat;background-attachment:fixed}
.club>div{position:relative;z-index:1}.photoButton{margin-top:10px}
.subnav{background:var(--navy);color:#fff}.subnav .wrap{display:flex;align-items:center;justify-content:space-between}.subnav .brand img{width:130px;height:130px}.pageIntro{background:linear-gradient(135deg,#eaf3ff,#fff 55%,#ffe9ec);padding:65px 0}.pageIntro h1{font-size:clamp(3rem,8vw,6rem);line-height:.9;text-transform:uppercase;margin:.15em 0}.photosPage .memberPhotos{padding-top:70px}
@media(max-width:800px){.club{background-attachment:scroll}.subnav .brand img{width:108px;height:108px}}

/* Live Callville Bay wind */
.windBar{padding:0;background:linear-gradient(110deg,var(--red) 0 29%,#fff 29% 31%,var(--blue) 31% 100%);color:#fff;border-block:5px solid #fff;box-shadow:0 12px 35px rgba(7,29,73,.2)}
.windInner{min-height:150px;display:flex;align-items:center;gap:32px}.windTitle{display:flex;align-items:center;gap:16px;min-width:285px}.windTitle p{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:900}.windTitle h2{font-size:1.75rem;margin:2px 0 0;letter-spacing:-.03em}.windIcon{display:grid;place-items:center;width:62px;height:62px;border:4px solid #fff;border-radius:50%;font-size:3.2rem;font-weight:900;line-height:1;transform:rotate(-8deg)}.windReadings{flex:1;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:12px}.windReadings>div{display:grid;text-align:center;border-left:1px solid rgba(255,255,255,.4);padding:8px 12px}.windReadings strong{font-size:2.3rem;line-height:1}.windReadings span,.windUpdated time{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.windUpdated time{font-size:1rem}.windStatus{flex:1;text-align:center;font-weight:800}.windRefresh{flex:0 0 44px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}.windRefresh:disabled{opacity:.55}
@media(max-width:800px){.windBar{background:linear-gradient(145deg,var(--red),var(--blue) 42%)}.windInner{padding-block:25px;align-items:flex-start;flex-wrap:wrap}.windTitle{min-width:0;flex:1}.windReadings{order:3;flex-basis:100%;grid-template-columns:repeat(2,1fr)}.windReadings>div:nth-child(odd){border-left:0}.windTitle h2{font-size:1.45rem}}

/* Weekly Callville Bay forecast and safely positioned divider */
.weatherPanel{padding:0;background:#eef4ff;box-shadow:0 12px 35px rgba(7,29,73,.2)}
.weatherPanel .windBar{background:linear-gradient(90deg,var(--red),var(--blue) 38%,var(--navy))}
.weatherPanel .windTitle{border-left:8px solid #fff;padding-left:24px}
.forecast{padding-block:28px 34px}.forecastHeading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.forecastHeading p{margin:0;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.forecastHeading h3{margin:0;text-transform:uppercase;font-size:1.55rem}.forecastGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.forecastGrid article{display:grid;gap:5px;text-align:center;padding:16px 8px;background:#fff;border:2px solid #c8d7f0;border-radius:16px;box-shadow:0 7px 18px #071d4914}.forecastGrid article>strong{text-transform:uppercase;color:var(--blue)}.forecastGrid article>span:not(.forecastIcon):not(.forecastTemps){font-size:.72rem;font-weight:700;color:#526584}.forecastIcon{font-size:2rem}.forecastTemps{font-size:1.25rem;font-weight:900}.forecastTemps small{color:#6e7f9e;font-size:.86em}
@media(max-width:800px){.weatherPanel .windTitle{border-left:6px solid #fff;padding-left:15px}.forecastHeading{display:block}.forecastGrid{grid-template-columns:repeat(2,1fr)}.forecastGrid article:first-child{grid-column:1/-1}}
