:root{
  --navy:#071b2f;
  --navy-2:#0c2947;
  --gold:#b08d57;
  --gold-light:#d7b97a;
  --ivory:#f7f2ea;
  --ink:#18202a;
  --muted:#68717d;
  --wine:#4f1117;
  --wine-2:#721d24;
  --white:#fff;
  --border:rgba(176,141,87,.30);
  --shadow:0 22px 55px rgba(0,0,0,.12);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fbfaf7;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,calc(100% - 40px));margin:0 auto}
.nav{position:sticky;top:0;z-index:30;background:rgba(7,27,47,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;flex-direction:column;line-height:1;color:white;min-width:max-content}
.brand-main{font-family:var(--serif);text-transform:uppercase;font-size:25px;letter-spacing:.055em;color:var(--gold-light)}
.brand-sub{font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin-top:8px;padding-left:3px;color:var(--ivory)}
.nav-links{display:flex;align-items:center;gap:26px;color:rgba(255,255,255,.86);font-size:14px}
.nav-links a:hover{color:var(--gold-light)}
.nav-cta{padding:11px 16px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-light)!important}
.mobile-toggle{display:none;background:none;border:0;color:white;font-size:26px}
.hero{background:radial-gradient(circle at 82% 18%,rgba(176,141,87,.14),transparent 28%),linear-gradient(135deg,var(--navy),#061626 70%);color:white;padding:105px 0 96px;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;right:-160px;bottom:-250px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(176,141,87,.22)}
.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:12px;color:var(--gold-light);font-weight:700}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7vw,82px);line-height:1.04;max-width:830px;margin:18px 0 25px}
.hero h1 em{font-style:normal;color:var(--gold-light)}
.hero-copy{font-size:19px;max-width:760px;color:rgba(255,255,255,.82)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;font-weight:700;letter-spacing:.025em;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--gold);color:var(--navy)}
.btn-primary:hover{background:var(--gold-light)}
.btn-secondary{border-color:rgba(255,255,255,.38);color:white}
.btn-dark{background:var(--navy);color:white}
.hero-tags{display:flex;gap:22px;flex-wrap:wrap;margin-top:45px;color:rgba(255,255,255,.70);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.section{padding:88px 0}
.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;color:var(--gold)}
.section h2{font-family:var(--serif);font-size:clamp(34px,4.6vw,54px);font-weight:500;line-height:1.1;margin:10px 0 20px;color:var(--navy)}
.lead{font-size:18px;color:var(--muted);max-width:760px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.card{background:white;border:1px solid #eee8dc;padding:30px;border-radius:8px;box-shadow:0 9px 30px rgba(7,27,47,.05)}
.card-num{font-family:var(--serif);font-size:18px;color:var(--gold);margin-bottom:10px}
.card h3{font-family:var(--serif);font-size:26px;margin:0 0 10px;color:var(--navy);font-weight:500}
.card p{color:var(--muted);margin:0}
.band{background:var(--navy);color:white}
.band h2{color:white}
.band .lead{color:rgba(255,255,255,.72)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.step{border-top:1px solid rgba(176,141,87,.55);padding-top:18px}
.step span{color:var(--gold-light);font-family:var(--serif);font-size:24px}
.step h3{font-size:17px;margin:7px 0;color:white}
.step p{font-size:14px;color:rgba(255,255,255,.68);margin:0}
.event-teaser{background:linear-gradient(135deg,#351015,var(--wine) 58%,#2a0d11);color:white}
.event-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.event-title{font-family:var(--serif);font-size:clamp(50px,7vw,82px);line-height:.95;font-weight:500;margin:14px 0 15px;color:var(--gold-light)}
.event-title span{display:block;font-family:var(--sans);font-weight:400;font-size:.37em;letter-spacing:.35em;color:var(--ivory);margin-top:15px;padding-left:6px}
.event-box{border:1px solid rgba(215,185,122,.42);padding:34px;border-radius:8px;background:rgba(0,0,0,.09)}
.event-box strong{display:block;font-size:17px;margin-bottom:7px;color:var(--gold-light)}
.event-box p{margin:0 0 18px;color:rgba(255,255,255,.78)}
.event-box p:last-child{margin-bottom:0}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.quote-card{background:var(--ivory);border-left:4px solid var(--gold);padding:30px;font-family:var(--serif);font-size:25px;line-height:1.4;color:var(--navy)}
.contact{background:#f3eee5}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.contact-list{display:grid;gap:8px;color:var(--muted)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form .full{grid-column:1/-1}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #dcd6ca;border-radius:5px;background:white;font:inherit;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
footer{background:#061626;color:rgba(255,255,255,.66);padding:34px 0;font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-inner a{color:var(--gold-light)}
/* Event page */
.event-hero{min-height:690px;background:radial-gradient(circle at 14% 50%,rgba(142,48,57,.25),transparent 31%),linear-gradient(120deg,#1b0709 0%,#4d1218 52%,#180708 100%);color:white;display:flex;align-items:center;padding:105px 0 80px;position:relative;overflow:hidden}
.event-hero::before{content:"";position:absolute;left:-120px;top:120px;width:360px;height:520px;border:1px solid rgba(215,185,122,.18);border-radius:50%}
.event-hero h1{font-family:var(--serif);font-size:clamp(66px,10vw,118px);line-height:.8;color:var(--gold-light);font-weight:500;margin:0}
.event-hero h1 span{font-family:var(--sans);display:block;font-size:.26em;letter-spacing:.40em;color:var(--ivory);font-weight:400;margin-top:25px}
.event-tagline{font-family:var(--serif);font-style:italic;font-size:25px;color:#e6cf9d;margin:36px 0 30px}
.event-meta{display:flex;gap:36px;flex-wrap:wrap;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.event-meta b{display:block;color:var(--gold-light);font-size:11px;letter-spacing:.18em;margin-bottom:5px}
.event-price{display:inline-flex;align-items:baseline;gap:9px;margin-top:32px;color:var(--gold-light)}
.event-price strong{font-family:var(--serif);font-weight:500;font-size:36px}
.event-price span{font-size:14px;color:rgba(255,255,255,.72)}
.register-section{background:#fff;padding:82px 0}
.register-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}
.reg-card{background:#fbf7f0;border:1px solid #eadfcd;padding:32px;border-radius:8px;position:sticky;top:105px}
.reg-card h3{font-family:var(--serif);font-size:30px;margin:0 0 14px;color:var(--navy)}
.reg-card ul{padding-left:20px;color:var(--muted)}
.reg-card li{margin:9px 0}
.reg-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.reg-form label{font-size:13px;font-weight:700;color:#39414b}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.form-note{font-size:12px;color:var(--muted);grid-column:1/-1}
.payment-shell{min-height:calc(100vh - 78px);background:linear-gradient(135deg,var(--navy),#061626);color:white;display:grid;place-items:center;padding:50px 20px}
.payment-card{width:min(650px,100%);background:white;color:var(--ink);padding:44px;border-radius:12px;box-shadow:var(--shadow);text-align:center}
.payment-card h1{font-family:var(--serif);color:var(--navy);font-size:42px;margin:0 0 12px;font-weight:500}
.payment-card p{color:var(--muted)}
.status{display:none;padding:14px;border-radius:6px;margin:20px 0;background:#fff6dd;color:#6c5322;border:1px solid #eed89f}
.status.show{display:block}
@media(max-width:850px){
  .nav-links{display:none}.mobile-toggle{display:block}.nav-links.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column;align-items:flex-start}
  .cards,.steps{grid-template-columns:1fr 1fr}.event-grid,.about-grid,.contact-grid,.register-grid{grid-template-columns:1fr}.reg-card{position:static}.hero{padding-top:78px}.event-hero{min-height:auto}.event-hero h1{font-size:70px}.contact-form,.reg-form{grid-template-columns:1fr}.contact-form .full,.field.full{grid-column:auto}
}
@media(max-width:560px){.container{width:min(100% - 28px,1120px)}.cards,.steps{grid-template-columns:1fr}.hero h1{font-size:47px}.section{padding:66px 0}.event-hero h1{font-size:55px}.event-meta{gap:20px}.payment-card{padding:30px 22px}.footer-inner{flex-direction:column;align-items:flex-start}}


/* Refinements requested by user */
.brand-main{font-size:22px;letter-spacing:.04em}
.brand-sub{font-size:10px;letter-spacing:.38em}
.hero::after,.event-hero::before{content:none !important}
.hero::before{content:"STG";position:absolute;right:3%;bottom:-18px;font-family:var(--serif);font-size:clamp(180px,28vw,360px);line-height:1;color:rgba(255,255,255,.04);letter-spacing:.02em;pointer-events:none;font-weight:600}
.event-hero::after{content:"STG";position:absolute;right:2%;bottom:-18px;font-family:var(--serif);font-size:clamp(180px,26vw,330px);line-height:1;color:rgba(255,255,255,.05);letter-spacing:.02em;pointer-events:none;font-weight:600}
.hero .container,.event-hero .container{position:relative;z-index:1}
.swam-image-section{padding:10px 0 34px}
.swam-image-box{max-width:700px;margin-left:auto;background:#fff;border:1px solid #e7dcc8;border-radius:14px;box-shadow:0 12px 30px rgba(7,27,47,.08);padding:14px}
.swam-image-box img{width:100%;border-radius:8px}
.event-hero{padding-bottom:94px}
.event-hero .container{max-width:1120px}
.event-meta{margin-top:10px;gap:18px}
.event-meta>div{min-width:160px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);padding:14px 16px;border-radius:10px;backdrop-filter:blur(4px)}
.event-price{margin-top:26px;padding:14px 18px;border:1px solid rgba(215,185,122,.35);border-radius:10px;background:rgba(0,0,0,.10)}
.register-section{background:linear-gradient(180deg,#fff 0%, #faf6ef 100%)}
.reg-card{border-radius:14px;box-shadow:0 12px 30px rgba(7,27,47,.06)}
.reg-form-wrap,.payment-card{border-radius:14px;box-shadow:0 18px 40px rgba(7,27,47,.08)}
.reg-form-wrap{background:#fff;border:1px solid #eadfcd;padding:30px}
.reg-form input,.reg-form textarea,.contact-form input,.contact-form textarea{width:100%;border:1px solid #d9d9d9;border-radius:8px;padding:12px 14px;font:inherit}
.reg-form textarea,.contact-form textarea{min-height:110px;resize:vertical}
.contact-form input,.contact-form textarea{width:100%}
@media(max-width:560px){
  .brand-main{font-size:18px}
  .hero::before,.event-hero::after{font-size:150px;right:-8px;bottom:18px}
  .swam-image-box{margin:0 auto}
}

/* Refined certification badge and restrained texture */
.swam-image-box{max-width:240px;padding:8px;border-radius:8px;box-shadow:0 4px 12px rgba(7,27,47,.05)}
.swam-image-box img{border-radius:4px}
.swam-image-section{padding:10px 0 24px}
.hero{background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.018) 0px,rgba(255,255,255,.018) 1px,transparent 1px,transparent 5px),repeating-linear-gradient(25deg,rgba(0,0,0,.035) 0px,rgba(0,0,0,.035) 1px,transparent 1px,transparent 6px),radial-gradient(circle at 82% 18%,rgba(176,141,87,.14),transparent 28%),linear-gradient(135deg,var(--navy),#061626 70%)}

.social-connect{border-top:1px solid rgba(14,31,47,.12)}
.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.social-connect:target{scroll-margin-top:100px}
