/* Aquatic sport palette; reference influence is limited to composition and transitions. */
:root {
  --ink: #103c53;
  --dark: #092d43;
  --muted: #627e8d;
  --accent: #0788c6;
  --brand-orange: #ef642f;
  --accent-hover: #056b9e;
  --paper: #eff7fb;
  --line: #dceaf1;
  --header: 82px;
  --content: 1240px;
}
::selection { background: var(--accent); color: #fff; }
.site-header { border-top: 3px solid var(--accent); background: #fff; backdrop-filter: none; }
.brand img { width: 164px; }
.main-nav { gap: 40px; }
.main-nav>a { font-size: 13px; font-weight: 600; }
.header-contact { background: var(--ink); }
.button { min-height: 54px; letter-spacing: .4px; }
.button-small { min-height: 42px; }
.eyebrow { color: #7c8082; font-size: 10px; letter-spacing: 1.5px; }
.section-heading h2 { font-size: clamp(32px, 3.1vw, 46px); line-height: 1.4; font-weight: 700; letter-spacing: -1.6px; }
.section-heading>p { max-width: 340px; line-height: 2; font-size: 13px; }
.section-heading { align-items: flex-end; margin-bottom: 52px; }
.hero-photo { filter: none; }
.hero-shade { background: linear-gradient(90deg,#111d27de,#111d2799 40%,#111d2710 75%),linear-gradient(0deg,#111d27ad,transparent 40%); }
.hero h1 { font-weight: 800; }
.home-hero { height: min(820px, calc(100svh - var(--header))); min-height: 700px; }
.home-hero .hero-photo { object-position: 62% 50%; }
.home-hero::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 132px; background: url('assets/photo-water-hero.webp') center bottom/100% 100% no-repeat; pointer-events: none; }
.home-hero .hero-content { padding-top: 0; }
.home-hero .hero-copy { padding-top: 77px; max-width: 700px; }
.home-hero .eyebrow { font-size: 11px; letter-spacing: 2px; }
.home-hero h1 { font-size: clamp(68px, 6.35vw, 92px); line-height: 1.1; margin-top: 30px; letter-spacing: -4px; }
.home-hero .orange { color: var(--accent); }
.hero-manifesto { display: block; font-size: 23px; line-height: 1.13; font-weight: 900; font-style: italic; letter-spacing: -.3px; margin-top: 22px; color: #fff; }
.home-hero .hero-copy p { margin-top: 22px; font-size: 13px; line-height: 1.95; color: #e0e3e5; }
.home-hero .hero-actions { margin-top: 28px; align-items: center; gap: 30px; }
.hero-explore { display: inline-flex; gap: 24px; font-size: 12px; align-items: center; padding: 12px 0; }
.hero-explore span { border: 1px solid #ffffff66; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; transition: background .2s; }
.hero-explore:hover span { background: #ffffff26; }
.home-hero .hero-bottom { margin-top: auto; margin-bottom: 95px; border: 0; padding-top: 18px; font-size: 9px; }
.hero-bottom>span:last-child { font-size: 9px; letter-spacing: 1.5px; }
.brand-strengths { background: #fff; padding: 90px 0 100px; }
.strength-grid { grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 32px; row-gap: 45px; }
.strength-card { border: 0; background: transparent; }
.strength-image { height: 200px; background: #f2f2ef; }
.strength-image img { transition: transform .45s ease; }
.strength-card:hover .strength-image img { transform: scale(1.025); }
.strength-content { padding: 26px 0 0; }
.strength-content>.eyebrow { color: var(--accent); font-size: 10px; }
.strength-content h3 { font-size: 23px; font-weight: 700; margin-top: 14px; }
.strength-content>p { font-size: 12px; line-height: 1.95; }
.strength-detail { font-size: 9px; color: #85898a; min-height: 35px; padding-top: 17px; letter-spacing: 1px; }
.icf-image img { padding: 26px 67px; }
.esports-image img { object-position: center 35%; }
.champion-strength { grid-column: 1/-1; display: grid; grid-template-columns: 1.06fr 1fr; background: var(--dark); color: white; }
.champion-strength .strength-image { height: 430px; }
.champion-strength .strength-image img { object-position: 50% 30%; }
.champion-strength .strength-image>span { top: auto; bottom: 24px; left: 28px; background: #1e252a; padding: 7px 12px; letter-spacing: 2px; }
.champion-strength .strength-content { padding: 46px 48px 38px; justify-content: center; align-items: flex-start; }
.champion-strength .strength-content>.eyebrow { font-size: 9px; color: #ff995e; }
.champion-strength h3 { font-size: 34px; line-height: 1.45; letter-spacing: -.8px; margin: 20px 0 16px; }
.champion-strength p { color: #c0c4c7; font-size: 13px; flex: 0; }
.champion-result { display: flex; align-items: center; gap: 27px; margin: 18px 0 19px; }
.champion-result>strong { font-size: 57px; font-weight: 700; line-height: 1; letter-spacing: -1px; color: #ff995e; white-space: nowrap; }
.champion-result small { font-size: 15px; margin-left: 8px; font-weight: 400; }
.champion-result strong>span { font-size: 24px; color: #657078; font-weight: 400; margin: 0 13px; }
.champion-result>span { font-size: 9px; color: #aeb6bb; line-height: 1.9; border-left: 1px solid #4b5359; padding-left: 21px; }
.champion-strength .text-link { font-size: 11px; color: white; border-color: #ffffff42; gap: 33px; }
.home-equipment { background: var(--paper); padding-top: 95px; padding-bottom: 65px; }
.equipment-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.equipment-preview { min-width: 0; }
.equipment-preview-image { height: 360px; background: #e9eae6; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.equipment-word { position: absolute; top: 22px; left: 25px; font-size: clamp(47px,5.3vw,75px); font-weight: 900; font-style: italic; letter-spacing: -4px; color: #fff; line-height: 1; white-space: nowrap; }
.equipment-preview-image img { position: relative; z-index: 1; width: 96%; max-height: 270px; object-fit: contain; transform: translateY(17px); transition: transform .35s ease; }
.equipment-preview:hover img { transform: translateY(10px); }
.water-preview { background: #e1e6e8; }
.water-preview img { width: 49%; height: 230px; }
.equipment-index { position: absolute; bottom: 22px; left: 26px; font-size: 9px; letter-spacing: .9px; color: #767e83; }
.equipment-preview-copy { display: flex; align-items: center; justify-content: space-between; padding: 28px 0 30px; border-bottom: 1px solid #d3d7d7; gap: 16px; }
.equipment-preview-copy .eyebrow { font-size: 9px; color: #868b8e; }
.equipment-preview-copy h3 { font-size: 27px; font-weight: 700; letter-spacing: -.6px; margin-top: 9px; }
.equipment-preview-copy p { font-size: 12px; margin-top: 11px; line-height: 1.9; }
.round-arrow { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #b7bec1; font-size: 23px; flex-shrink: 0; transition: background .2s,color .2s,border-color .2s; }
.equipment-preview:hover .round-arrow { background: var(--accent); border-color: var(--accent); color: #fff; }
.equipment-preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 30px; }
.equipment-preview-footer p { font-size: 11px; }
.equipment-preview-footer .text-link { font-size: 12px; }
.contact-section { background: var(--accent); color: #fff; }
.contact-section .eyebrow { color: #fff; }
.contact-content { padding-top: 70px; padding-bottom: 80px; }
.contact-content h2 { font-size: 43px; font-weight: 700; line-height: 1.4; }
.contact-content p { color: #e8f7ff; font-size: 13px; }
.contact-watermark { color: #ffffff14; font-style: italic; font-weight: 900; }
.site-footer { background: var(--dark); color: #c2c6c8; }
.footer-brand img { width: 172px; height: auto; }
.footer-brand p { color: #d8dcde; }
.footer-top h3 { color: #fff; }
.footer-brand>span,.footer-contact>span { color: #85929a; }
.footer-contact .phone { color: #fff; }
.site-footer .footer-links a,.site-footer .footer-links button,.site-footer .footer-contact>a:not(.phone) { color: #afbbc1; }
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover { color: #fff; }
.footer-bottom { border-color: #3d474e; color: #85929a; }
.page-intro { background: var(--paper); padding: 85px 0 78px; }
.page-intro h1 { font-weight: 750; font-size: clamp(40px,4.1vw,58px); line-height: 1.35; letter-spacing: -1.8px; }
.page-intro .eyebrow { color: var(--accent); }
.intro-art { color: #dcebf3; font-weight: 800; }
.product-family { gap: 70px; padding: 55px 0; }
.family-visual { background: #eff7fb; min-height: 400px; }
.family-visual>span { color: var(--ink); }
.family-copy h2 { font-weight: 700; font-size: 34px; }
.family-copy>p { line-height: 2; }
.software-layer-visual { background: var(--dark); }
.research-product-visual { background: #edf6fb; }
.research-label { background: var(--dark); }
.research-role { color: #69787d; }
.dashboard { background: #202d36; }
.dashboard-body { background: #202d36; }
.platform-screen { background: #26323b; }
.field-section { background-color: var(--dark); }
.olympic-section { background: #f5f2ec; }
.olympic-copy h2 { font-weight: 700; }

@media(min-width:1600px) {
  .home-hero .hero-photo { object-position: center 55%; }
}
@media(max-width:1100px) {
  .home-hero { min-height: 700px; }
  .home-hero .hero-copy { padding-top: 65px; }
  .home-hero h1 { font-size: 74px; }
  .strength-grid { gap: 28px 24px; }
  .strength-image { height: 175px; }
  .strength-content h3 { font-size: 20px; }
  .icf-image img { padding: 25px 38px; }
  .champion-strength .strength-image { height: 407px; }
  .champion-strength .strength-content { padding: 30px; }
  .champion-strength h3 { font-size: 28px; }
  .champion-result { gap: 18px; }
  .champion-result>strong { font-size: 48px; }
  .champion-result>span { padding-left: 16px; }
  .equipment-preview-image { height: 300px; }
  .equipment-preview-image img { max-height: 225px; }
  .water-preview img { height: 205px; }
  .equipment-preview-copy h3 { font-size: 23px; }
  .product-family { gap: 38px; }
  .family-visual { min-height: 370px; }
  .main-nav { gap: 26px; }
}
@media(max-width:850px) and (min-width:721px) {
  .champion-strength .strength-content { padding: 26px; }
  .champion-strength h3 { font-size: 24px; }
  .champion-strength p { font-size: 12px; }
  .champion-result { align-items: flex-start; flex-direction: column; gap: 12px; }
  .champion-result>span { border: 0; padding: 0; }
  .champion-result>span br { display: none; }
  .strength-content h3 { font-size: 17px; }
  .strength-content>p { font-size: 11px; }
}
@media(max-width:720px) {
  :root { --header: 72px; }
  .site-header { border-top-width: 2px; }
  .brand img { width: 136px; }
  .header-contact { min-height: 35px; font-size: 10px; padding: 8px 12px; gap: 12px; }
  .main-nav { margin: 0; gap: 0; }
  .main-nav>a { font-size: 15px; }
  .section-heading h2 { font-size: 30px; letter-spacing: -1px; }
  .section-heading { margin-bottom: 30px; }
  .section-heading>p { font-size: 12px; max-width: 410px; line-height: 1.95; }
  .section-heading .eyebrow { font-size: 8px; letter-spacing: 1.1px; }
  .home-hero { height: 830px; min-height: 0; background: #14212b; }
  .home-hero .hero-photo { top: 370px; height: 460px; object-position: 70% 52%; }
  .home-hero .hero-shade { background: linear-gradient(180deg,#14212b 0%,#14212b 44%,#14212b00 64%,#0e1b253d); }
  .home-hero .hero-content { padding-top: 0; }
  .home-hero .hero-copy { padding-top: 44px; }
  .home-hero .eyebrow { font-size: 9px; letter-spacing: 1.3px; }
  .home-hero h1 { font-size: 62px; line-height: 1.12; letter-spacing: -2.5px; margin-top: 26px; }
  .hero-manifesto { font-size: 18px; margin-top: 17px; }
  .home-hero .hero-copy p { font-size: 11px; line-height: 2; margin-top: 21px; }
  .home-hero .hero-actions { margin-top: 24px; gap: 21px; }
  .home-hero .hero-actions .button { min-height: 48px; font-size: 11px; gap: 21px; padding: 11px 16px; }
  .hero-explore { font-size: 10px; gap: 11px; }
  .hero-explore span { width: 26px; height: 26px; }
  .home-hero .hero-bottom { margin-bottom: 72px; font-size: 8px; }
  .home-hero .hero-bottom>span:last-child { display: block; font-size: 6px; letter-spacing: .3px; }
  .home-hero::after { height: 84px; background-size: auto 100%; background-position: 80% bottom; }
  .brand-strengths { padding: 54px 0 60px; }
  .strength-grid { grid-template-columns: 1fr; gap: 33px; }
  .strength-card { display: grid; grid-template-columns: 116px minmax(0,1fr); column-gap: 21px; align-items: start; }
  .strength-image { height: 115px; aspect-ratio: auto; }
  .strength-content { padding: 0; }
  .strength-content>.eyebrow { font-size: 8px; letter-spacing: .7px; }
  .strength-content h3 { font-size: 17px; margin: 9px 0 10px; line-height: 1.5; letter-spacing: -.5px; }
  .strength-content>p { font-size: 11px; line-height: 1.9; }
  .strength-detail { display: none; }
  .strength-card .strength-image img { object-position: center; }
  .icf-image img { padding: 15px; }
  .champion-strength { display: flex; flex-direction: column; }
  .champion-strength .strength-image { height: auto; aspect-ratio: 1.47; width: 100%; }
  .champion-strength .strength-image img { object-position: 50% 28%; }
  .champion-strength .strength-image>span { left: 20px; bottom: 17px; font-size: 8px; }
  .champion-strength .strength-content { padding: 28px 26px 31px; }
  .champion-strength .strength-content>.eyebrow { font-size: 8px; }
  .champion-strength h3 { font-size: 27px; margin: 18px 0 15px; line-height: 1.5; }
  .champion-strength p { font-size: 12px; }
  .champion-result { gap: 21px; margin: 22px 0; }
  .champion-result>strong { font-size: 50px; }
  .champion-result small { font-size: 13px; margin-left: 5px; }
  .champion-result strong>span { margin: 0 10px; font-size: 20px; }
  .champion-result>span { font-size: 8px; padding-left: 16px; }
  .champion-strength .text-link { font-size: 11px; }
  .home-equipment { padding: 55px 0 40px; }
  .equipment-preview-grid { grid-template-columns: 1fr; gap: 31px; }
  .equipment-preview-image { height: 275px; }
  .equipment-word { top: 20px; left: 19px; font-size: 52px; letter-spacing: -3px; }
  .equipment-preview-image img { max-height: 205px; width: 96%; }
  .water-preview img { width: 48%; height: 192px; }
  .equipment-index { bottom: 19px; left: 21px; font-size: 8px; }
  .equipment-preview-copy { padding: 22px 0 26px; }
  .equipment-preview-copy h3 { font-size: 24px; }
  .equipment-preview-copy p { font-size: 11px; line-height: 1.8; }
  .equipment-preview-copy .eyebrow { font-size: 8px; }
  .round-arrow { width: 39px; height: 39px; font-size: 21px; }
  .equipment-preview-footer { flex-direction: column; align-items: flex-start; margin-top: 26px; gap: 16px; }
  .equipment-preview-footer p { font-size: 9px; }
  .equipment-preview-footer .text-link { font-size: 11px; }
  .contact-content { padding-top: 50px; padding-bottom: 59px; }
  .contact-content h2 { font-size: 31px; }
  .contact-content p { font-size: 12px; }
  .contact-content .eyebrow { font-size: 9px; }
  .footer-contact { border-color: #3d474e; }
  .page-intro { padding: 54px 0; }
  .page-intro h1 { font-size: 35px; line-height: 1.4; letter-spacing: -1.1px; }
  .product-family { gap: 27px; padding: 31px 0 38px; }
  .family-visual { min-height: 0; height: 260px; }
  .family-copy h2 { font-size: 29px; }
}
@media(max-width:380px) {
  .brand img { width: 119px; }
  .home-hero h1 { font-size: 57px; }
  .home-hero .hero-copy p { font-size: 10px; }
  .home-hero .hero-actions { gap: 15px; }
  .hero-explore { gap: 8px; }
  .strength-card { grid-template-columns: 95px minmax(0,1fr); gap: 18px; }
  .strength-image { height: 105px; }
  .champion-strength { display: flex; }
  .champion-strength .strength-content { padding: 25px 22px; }
  .champion-strength h3 { font-size: 24px; }
  .champion-result { gap: 15px; }
  .champion-result>strong { font-size: 44px; }
  .champion-result>span { padding-left: 13px; }
  .equipment-word { font-size: 46px; }
}
