@import url('fonts/fonts.css');
:root{--primary:#061a2d;--secondary:#0e3750;--cyan:#65e6e3;--orange:#ff704b;--bg:#f2eee7;--text:#061a2d;--muted:#607080;--font-heading:'Bebas Neue',sans-serif;--font-body:'Source Sans 3',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:18px;line-height:1.45}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:absolute;top:0;left:0;width:100%;z-index:3;color:white}.mark{font:2rem var(--font-heading);letter-spacing:.08em}.mark span{color:var(--orange)}nav{display:flex;gap:2rem;align-items:center;font-size:.9rem;font-weight:600}nav a{opacity:.9}nav a:hover{color:var(--cyan)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:.65rem 1rem}.hero{min-height:760px;background:var(--primary);color:white;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:130px 8vw 70px;overflow:hidden}.hero:before{content:'TRIATHLON';position:absolute;font:clamp(7rem,18vw,18rem) var(--font-heading);color:rgba(255,255,255,.035);right:-3vw;bottom:-2rem;line-height:.7;white-space:nowrap}.hero-copy{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;color:var(--cyan);margin:0 0 1.4rem}.hero h1,h2{font:clamp(4rem,8vw,8rem)/.84 var(--font-heading);letter-spacing:.02em;text-transform:uppercase;margin:0}.hero h1 em,h2 em{font-style:normal;color:var(--orange)}.intro{max-width:360px;color:#b7c8d0;font-size:1.15rem;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.6rem}.button{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;transition:transform .25s,background .25s}.button:hover{transform:translateY(-4px)}.button-orange{background:var(--orange);color:var(--primary)}.button-cyan{background:var(--cyan);color:var(--primary)}.button span{font-size:1.3rem}.scroll-note{color:#9bb1bd;font-size:.76rem;line-height:1.15}.scroll-note b{font-size:1.4rem}.hero-visual{position:relative;margin:0 0 -80px 5vw;z-index:1}.image-frame{height:510px;overflow:hidden;border:12px solid var(--bg);box-shadow:24px 24px 0 var(--orange);transform:rotate(3deg)}.image-frame img{width:100%;height:100%;object-fit:cover}.hero-visual figcaption{margin-top:2rem;color:#b7c8d0;font-size:.8rem;letter-spacing:.05em}.hero-visual figcaption span{color:var(--orange);font-weight:bold;margin-right:.6rem}.hero-number{position:absolute;right:8vw;top:120px;color:var(--cyan);font:5rem var(--font-heading);opacity:.8}.statement{padding:150px 14vw 130px;max-width:1100px}.statement h2{font-size:clamp(4rem,8vw,8rem)}.statement h2 span{color:var(--secondary)}.statement-bottom{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-top:4rem}.statement-bottom p{max-width:440px;color:var(--muted)}.stamp{border:2px solid var(--orange);border-radius:50%;width:125px;height:125px;display:grid;place-content:center;text-align:center;font:1.6rem/.78 var(--font-heading);transform:rotate(-12deg);color:var(--orange)}.stamp small{font:700 .45rem var(--font-body);letter-spacing:.08em;margin-top:.5rem}.disciplines{background:#dce8e5;padding:110px 8vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem}.section-head h2{font-size:clamp(4rem,7vw,7rem)}.section-note{max-width:260px;color:var(--muted)}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.discipline{min-height:330px;padding:1.8rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s}.discipline:hover{transform:translateY(-8px)}.swim{background:var(--primary);color:white}.bike{background:var(--orange)}.run{background:var(--cyan)}.discipline-no{font-size:.72rem;font-weight:bold;letter-spacing:.1em}.discipline .icon{font-size:4rem;line-height:1}.discipline h3{font:4rem var(--font-heading);margin:0;text-transform:uppercase}.discipline p{max-width:230px;margin:0}.race-card{background:var(--orange);padding:90px 8vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:3rem}.race-card h2{font-size:clamp(4rem,7vw,7rem)}.race-info{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem}.race-label{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;opacity:.7}.race-info strong{font-size:1.3rem}.race-mark{font:3rem/.75 var(--font-heading);transform:rotate(8deg);text-align:center}.contact{background:var(--primary);color:white;text-align:center;padding:130px 1.5rem}.contact h2{font-size:clamp(4rem,8vw,8rem)}.contact-copy{max-width:420px;margin:2rem auto;color:#b7c8d0}.contact .wchat-placeholder{display:inline-block}footer{background:#041321;color:#9bb1bd;padding:28px 6vw;display:flex;justify-content:space-between;align-items:center;font-size:.82rem}footer p{margin:0}footer div:last-child{display:flex;gap:1.2rem}footer a:hover{color:var(--cyan)}@media(max-width:750px){nav a:not(.nav-cta){display:none}.hero{display:block;padding:130px 7vw 80px;min-height:auto}.hero-visual{margin:70px 0 0 4vw}.image-frame{height:390px}.hero-number{right:6vw;top:110px}.statement{padding:100px 8vw}.statement-bottom{display:block}.stamp{margin:2rem 0 0 auto}.disciplines{padding:80px 7vw}.section-head{display:block}.section-note{margin-top:2rem}.discipline-grid{grid-template-columns:1fr}.discipline{min-height:260px}.race-card{grid-template-columns:1fr;padding:75px 8vw}.race-mark{display:none}footer{display:block}footer p{margin:1rem 0}footer div:last-child{gap:1rem}.hero h1{font-size:5.6rem}}
