:root{--ink:#282c37;--cream:#f1f3f5;--paper:#fff;--lime:#eb3549;--teal:#282c37;--blue:#00a3e0;--slate:#48586d;--line:rgba(40,44,55,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.site-header{height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:white}.brand{display:flex;align-items:center;gap:12px;font:700 13px "Manrope";letter-spacing:.08em}.brand span{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:11px}.brand-logo{gap:14px}.brand-logo img{width:108px;height:62px;object-fit:contain}.brand-logo span{display:block;width:auto;height:auto;border:0;border-radius:0;font-size:12px}.site-header nav{display:flex;gap:34px;font-size:14px}.site-header nav a{border-bottom:1px solid transparent;padding:7px 0}.site-header nav a:hover{border-color:var(--lime)}.menu{display:none;background:none;border:0;padding:10px}.menu span{display:block;width:24px;height:1px;background:white;margin:6px}
.hero{min-height:100vh;background:var(--teal);color:white;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden}.hero-copy{padding:170px 5vw 150px 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:600;margin:0 0 30px}.hero h1,.section h2{font:600 clamp(48px,6.4vw,104px)/.94 "Manrope";letter-spacing:-.065em;margin:0}.hero h1 em,.section h2 em{font-style:normal;color:var(--lime)}.hero-lead{font-size:19px;line-height:1.55;max-width:480px;margin:38px 0}.button{display:inline-flex;align-items:center;gap:40px;background:var(--lime);color:var(--ink);padding:17px 21px;font-weight:600;font-size:14px;border:0;cursor:pointer}.button span{font-size:20px}.hero-image{position:relative;height:calc(100vh - 110px);margin-top:110px}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,93,89,.16),transparent 40%)}.image-tag{position:absolute;z-index:2;left:-70px;bottom:46px;background:var(--lime);color:var(--ink);width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:9px}.image-tag strong{font:700 47px "Manrope";letter-spacing:-.07em}.image-tag span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.hero-stats{position:absolute;left:8vw;bottom:45px;display:flex;gap:55px}.hero-stats div{display:flex;gap:10px;align-items:baseline}.hero-stats strong{font:600 23px "Manrope"}.hero-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
.section{padding:130px 8vw}.section-intro{max-width:1050px;margin-bottom:100px}.section-intro h2{font-size:clamp(42px,5.5vw,82px);line-height:1.02}.section-intro h2 em{color:var(--teal)}.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:start}.about-copy{padding-top:40px}.about-copy p{line-height:1.7;color:#4f5654}.about-copy .big-copy{font:500 24px/1.45 "Manrope";color:var(--ink);letter-spacing:-.02em}.text-link{display:inline-flex;gap:70px;border-bottom:1px solid var(--ink);padding:13px 0;margin-top:24px;font-weight:600}.fepsac-membership{display:flex;align-items:center;gap:20px;margin-top:28px;padding:20px;background:#fff;border:1px solid rgba(14,39,34,.12)}.fepsac-membership img{width:min(230px,48%);height:auto;object-fit:contain}.about-copy .fepsac-membership p{margin:0;color:var(--ink);font-weight:600;line-height:1.5}.photo-story{height:680px;display:grid;grid-template-columns:1.05fr .7fr;grid-template-rows:1fr 1fr;gap:14px}.photo{margin:0;position:relative;overflow:hidden}.photo-main{grid-row:1/3}.photo-tall{grid-column:2}.photo figcaption{position:absolute;bottom:0;left:0;background:var(--lime);padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.photo img{transition:transform .7s ease}.photo:hover img{transform:scale(1.04)}
.services{background:var(--ink);color:white}.section-intro.light h2 em{color:var(--lime)}.service-list{border-top:1px solid rgba(255,255,255,.25)}.service{display:grid;grid-template-columns:90px 1fr 60px;gap:35px;align-items:start;padding:42px 0;border-bottom:1px solid rgba(255,255,255,.25)}.service .number{color:var(--lime);font-size:12px}.service h3{font:600 clamp(28px,3.7vw,56px) "Manrope";letter-spacing:-.045em;margin:0 0 17px}.service p{color:#aeb5b3;line-height:1.6;max-width:660px;margin:0}.service>a{display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);width:50px;height:50px;border-radius:50%;font-size:22px;transition:.2s}.service:hover>a{background:var(--lime);color:var(--ink);border-color:var(--lime);transform:rotate(45deg)}.team-gallery{grid-column:2/4;display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:22px}.team-gallery figure{height:340px;margin:0;position:relative;overflow:hidden}.team-gallery img{transition:transform .7s ease}.team-gallery figure:hover img{transform:scale(1.035)}.team-gallery figcaption{position:absolute;left:0;bottom:0;background:var(--lime);color:var(--ink);padding:9px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.logo-wall{grid-column:2/4;display:grid;grid-template-columns:repeat(5,1fr);margin-top:24px;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.client-logo{height:122px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font:600 22px "Manrope";letter-spacing:-.04em;color:#e8eaed;background:rgba(255,255,255,.02);transition:.25s}.client-logo:hover{background:white;color:var(--ink)}.client-logo span{display:block;font-size:8px;letter-spacing:.12em}.logo-d{gap:5px}.logo-d b{font-size:42px;color:var(--lime)}.logo-toyo{font-style:italic;color:#e83d4e}.logo-toyo b{color:#2873bd}.logo-velux{background:#d71920;color:white;letter-spacing:.04em}.logo-ja{flex-direction:column;line-height:.9}.logo-ja b{font-size:28px}.logo-ja span{margin-top:7px}.logo-axa{font:500 36px Georgia,serif;color:#fff}.logo-wiener{flex-direction:column;line-height:.9;color:#2770b7}.logo-wiener span{margin-top:7px}.logo-omv{color:#09a4d7;font-size:30px}.logo-sandoz{color:#4aa840}.logo-erste{color:#1685c7}.logo-ddor{flex-direction:column;color:#1c64a6}.logo-ddor span{color:#ef3340}
.quote{background:var(--lime);text-align:center;padding-top:100px;padding-bottom:100px}.quote p{font:600 clamp(37px,5vw,75px) "Manrope";letter-spacing:-.055em;margin:0 0 20px}.quote span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.water-polo{background:#e7edf0;color:var(--ink)}.water-polo-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:80px}.water-polo-heading h2{font-size:clamp(50px,6vw,92px)}.water-polo-heading h2 em{color:#174f91}.water-polo-heading>p{max-width:480px;line-height:1.7;color:#4e5d65}.water-polo-gallery{display:grid;grid-template-columns:1.2fr .72fr .72fr;grid-template-rows:360px 360px 330px;gap:15px}.water-polo-gallery figure{margin:0;position:relative;overflow:hidden;background:#153c68}.water-polo-gallery img{transition:transform .8s ease}.water-polo-gallery figure:hover img{transform:scale(1.035)}.wp-wide{grid-column:1/3}.wp-portrait{grid-column:3;grid-row:1/3}.wp-square{grid-column:1}.wp-team{grid-column:2}.wp-paris{grid-column:1/3}.wp-medal{grid-column:3}.water-polo-gallery figcaption{position:absolute;left:0;bottom:0;background:white;padding:12px 15px;display:flex;flex-direction:column;gap:4px}.water-polo-gallery figcaption strong{font:600 13px "Manrope"}.water-polo-gallery figcaption span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#607079}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:var(--cream)}.contact-copy h2{font-size:clamp(43px,5vw,76px);line-height:1}.contact-copy h2 em{color:var(--teal)}.contact-copy>p:not(.eyebrow){color:#58615e;line-height:1.7;max-width:450px;margin:35px 0}.contact-copy>a{font-weight:600;border-bottom:1px solid}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/3}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.field input,.field textarea{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 15px;outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(40,44,55,.08)}.submit{justify-self:start;margin-top:6px}
footer{background:var(--teal);color:white;padding:48px 8vw;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.08em}footer p{margin:0;opacity:.75}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
.logo-wall{grid-template-columns:repeat(3,1fr)}.client-logo{background:#fff}.client-logo:hover{background:#f4f5f7}.client-logo img{width:100%;height:100%;object-fit:contain;max-width:180px;max-height:72px}.client-logo.logo-wide img{max-width:210px}
@media(max-width:850px){.site-header{position:absolute}.site-header nav{position:absolute;display:none;top:72px;right:4vw;background:var(--paper);color:var(--ink);padding:25px;flex-direction:column;gap:15px}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:140px 7vw 80px;min-height:75vh}.hero-image{height:55vh;margin:0}.image-tag{left:auto;right:20px;bottom:-50px;width:130px;height:130px}.hero-stats{position:static;padding:80px 7vw 40px;gap:25px;flex-wrap:wrap}.hero-stats div{min-width:90px;display:block}.hero-stats span{display:block;margin-top:4px}.section{padding:90px 7vw}.section-intro{margin-bottom:60px}.about-grid,.contact,.water-polo-heading{grid-template-columns:1fr}.photo-story{height:620px;margin-top:35px}.service{grid-template-columns:45px 1fr}.service>a{grid-column:2}.team-gallery{grid-column:2;grid-template-columns:1fr}.team-gallery figure{height:280px}.logo-wall{grid-column:2;grid-template-columns:repeat(2,1fr)}.client-logo{height:105px}.water-polo-heading{gap:30px;margin-bottom:50px}.water-polo-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 360px 260px 260px 380px}.wp-wide{grid-column:1/3}.wp-portrait{grid-column:1;grid-row:2}.wp-square{grid-column:2;grid-row:2}.wp-team{grid-column:1/3;grid-row:3}.wp-paris{grid-column:1/3;grid-row:4}.wp-medal{grid-column:1/3;grid-row:5}.contact-form{margin-top:30px}footer{align-items:flex-start;gap:24px;flex-direction:column}}
@media(max-width:520px){.hero h1{font-size:47px}.hero-lead{font-size:16px}.photo-story{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:370px 220px}.photo-main{grid-column:1/3;grid-row:auto}.photo-side,.photo-tall{grid-column:auto}.service{gap:16px}.water-polo-gallery{display:flex;flex-direction:column}.water-polo-gallery figure{height:270px}.water-polo-gallery .wp-portrait{height:420px}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}.contact{gap:40px}}
.button,.image-tag{color:#fff}.image-tag{bottom:90px}.hero-image:after{background:linear-gradient(90deg,rgba(40,44,55,.2),transparent 40%)}.quote{color:#fff}.water-polo{background:#eef4f7}.water-polo-heading h2 em{color:var(--blue)}.water-polo-heading>p{color:var(--slate)}.water-polo-gallery figure{background:var(--slate)}.water-polo-gallery figcaption span{color:var(--slate)}
.coaching-audience{margin-top:14px!important;color:#fff!important;font-weight:600}.coaching-audience:before{content:"";display:inline-block;width:24px;height:2px;background:var(--lime);vertical-align:middle;margin-right:10px}.my-work{background:#fff}.work-heading{max-width:900px;margin-bottom:75px}.work-heading h2{font-size:clamp(48px,6vw,88px)}.work-heading h2 em{color:var(--lime)}.team-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.team-logos figure{margin:0;background:var(--cream)}.team-logo-image{height:360px;background:#fff;overflow:hidden}.team-logo-image img{object-fit:contain;padding:24px;transition:transform .6s ease}.team-logos figure:first-child .team-logo-image img{padding:0;object-fit:cover}.team-logos figure:hover img{transform:scale(1.035)}.team-logos figcaption{display:flex;justify-content:space-between;align-items:center;padding:18px 20px}.team-logos figcaption strong{font:600 15px "Manrope"}.team-logos figcaption span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--slate)}.client-sports{margin-top:90px;padding:65px 6vw;background:var(--ink);color:white}.client-sports h3{font:600 clamp(38px,4.7vw,68px)/1.05 "Manrope";letter-spacing:-.05em;margin:0 0 50px;max-width:850px}.client-sports h3 em{font-style:normal;color:var(--lime)}.sport-list{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.sport-list span{flex:1 0 180px;padding:16px 18px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:.04em;color:#d3d6dc}.sport-list span:last-child{background:var(--lime);color:white;font-weight:600}.work-cta{margin-top:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:flex;align-items:center;justify-content:space-between;font:600 clamp(25px,3vw,42px) "Manrope";letter-spacing:-.03em}.work-cta b{display:grid;place-items:center;background:var(--lime);color:white;border-radius:50%;width:58px;height:58px;font-size:22px;transition:transform .25s}.work-cta:hover b{transform:rotate(45deg)}
.hero-stats{display:grid;grid-template-columns:repeat(2,max-content);column-gap:55px;row-gap:16px}.instagram-contact{display:table;margin-top:18px}.sport-list span::first-letter{font-size:18px}@media(max-width:850px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:18px}.image-tag{bottom:-50px}.team-logos{grid-template-columns:1fr}.team-logo-image{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Keep every photograph fully visible without cropping. */
.hero-image,.photo,.team-gallery figure,.team-logo-image,.water-polo-gallery figure{background:var(--ink)}
.hero-image img,.photo img,.team-gallery img,.team-logo-image img,.water-polo-gallery img{object-fit:contain}
.team-logo-image img,.team-logos figure:first-child .team-logo-image img{padding:0;object-fit:contain}
.photo:hover img,.team-gallery figure:hover img,.team-logos figure:hover img,.water-polo-gallery figure:hover img{transform:none}
