/* Self-developed equipment and a dedicated Paris 2024 case section. */










.olympic-section{background:#f5f2e9;padding:82px 0 30px}
.olympic-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:76px;align-items:center}
.olympic-copy>.eyebrow{font-size:10px;color:#8e7545;letter-spacing:1.3px}
.olympic-copy h2{font-size:36px;margin-top:23px;line-height:1.5;letter-spacing:-1px}
.olympic-copy .olympic-lead{font-size:17px;color:#354036;line-height:1.9;margin-top:24px}
.olympic-lead strong{font-weight:600;color:#9a702e;margin-left:4px}
.olympic-copy>p:not(.olympic-lead){font-size:12px;line-height:1.95;margin-top:14px;max-width:420px}
.medal-results{display:flex;align-items:center;gap:30px;margin:24px 0 22px;padding:22px 0;border-top:1px solid #dcd5c5;border-bottom:1px solid #dcd5c5}
.medal-results>div{display:flex;flex-direction:column;gap:7px;min-width:80px}
.medal-results strong{font-weight:400;line-height:1;font-size:49px;letter-spacing:-2px;color:#a58146;font-variant-numeric:tabular-nums}
.medal-results>div:nth-child(2) strong{color:#7c8781}
.medal-results>div>span{font-size:9px;color:#887e69;letter-spacing:1.3px}
.medal-event{font-size:10px;color:#7a806e;line-height:1.95;border-left:1px solid #d9d1c0;padding-left:23px;margin-left:auto}
.olympic-copy>.text-link{font-size:12px}
.olympic-photo{position:relative;overflow:hidden;margin:0;background:#d7dfd6;align-self:stretch;min-height:420px}
.olympic-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 42%}
.olympic-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#173228d9)}
.olympic-photo figcaption{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;color:white;font-size:10px;letter-spacing:1.2px;z-index:1}
.olympic-footnote{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ded9cc;margin-top:37px;padding-top:20px;font-size:9px;color:#898471;line-height:1.8}
.olympic-footnote>a{white-space:nowrap;color:#81704d}
.research-products{display:grid;grid-template-columns:1fr 1fr;gap:27px}
.research-product{background:var(--paper);min-width:0;display:grid;grid-template-columns:.85fr 1fr;overflow:hidden}
.research-product-visual{position:relative;min-height:300px;background:#e9ede5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.research-label{position:absolute;left:15px;top:15px;padding:4px 8px;font-size:9px;letter-spacing:.6px;background:var(--ink);color:#fff}
.research-product-visual img{width:100%;height:100%;object-fit:cover}
.research-product-visual.type-one img{object-fit:contain;height:auto;width:82%;padding-top:12px}
.research-product-visual.type-two img{object-position:56% 50%}
.research-product-copy{padding:32px 24px;display:flex;flex-direction:column;align-items:flex-start}
.research-product-copy>.eyebrow{font-size:8px;letter-spacing:1px;color:#7e8879}
.research-product h3{font-size:20px;font-weight:500;margin-top:15px}
.research-product p{font-size:12px;line-height:1.95;margin-top:14px}
.research-role{font-size:10px;color:#65785e;border-top:1px solid #dce2d5;padding-top:15px;margin-top:19px;width:100%}
.research-product .text-link{font-size:11px;margin-top:16px;gap:20px}
.research-products.with-indoor{grid-template-columns:repeat(3,1fr)}
.with-indoor .research-product{display:flex;flex-direction:column}
.with-indoor .research-product-visual{min-height:0;height:230px;flex-shrink:0}
.with-indoor .type-one img{max-height:178px;max-width:190px;padding:0}
.indoor-visual img{object-fit:contain;padding:23px}
.with-indoor .research-product-copy{flex-grow:1;padding:26px}
.with-indoor .research-product p{flex-grow:1}
.system-explainer{display:grid;grid-template-columns:.8fr 2fr;gap:48px;margin-top:48px;padding-top:38px;border-top:1px solid var(--line)}
.system-explainer>div>.eyebrow{font-size:9px;letter-spacing:1.3px}
.system-explainer h3{font-size:24px;font-weight:500;margin-top:15px;line-height:1.6}
.system-chain{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.system-chain li{position:relative;border-left:1px solid var(--line);padding-left:22px}
.system-chain li:not(:last-child)::after{content:'→';position:absolute;right:-24px;top:43px;color:#b4bdaa;font-size:23px;background:#fff}
.system-step{display:block;font-size:9px;letter-spacing:.8px;color:#7d8875;margin-bottom:20px}
.system-chain .icon{width:24px;height:24px;color:var(--accent)}
.system-chain h4{font-size:14px;font-weight:500;margin:11px 0 8px;line-height:1.5}
.system-chain p{font-size:11px;line-height:1.9}
.indoor-crosslink{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:35px;padding:21px 25px;background:var(--paper)}
.indoor-crosslink>div{display:flex;align-items:center;gap:14px;font-size:12px;color:#6a7862}
.indoor-crosslink .icon{width:20px;height:20px}
.indoor-crosslink .text-link{white-space:nowrap;font-size:11px;gap:13px}
@media(max-width:1150px){.olympic-layout{gap:43px}.olympic-copy h2{font-size:31px}.olympic-copy .olympic-lead{font-size:15px}.research-product{grid-template-columns:1fr}.research-product-visual{min-height:0;height:220px}.research-product-visual.type-one img{height:175px;width:auto}.research-product-copy{padding:27px}.research-product h3{font-size:22px}.research-product-visual.type-two img{object-position:50% 42%}.system-explainer{gap:30px;grid-template-columns:.7fr 2fr}.system-explainer h3{font-size:21px}.system-chain{gap:22px}.system-chain li{padding-left:16px}.system-chain li:not(:last-child)::after{right:-19px}.medal-results{gap:19px}.medal-results>div{min-width:69px}.medal-event{padding-left:16px}.research-products.with-indoor{gap:20px}.with-indoor .research-product h3{font-size:20px}}
@media(max-width:900px){.digital-hero .hero-copy>p{font-size:13px}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:12px;gap:20px;padding:13px 17px}.olympic-section{padding-top:64px}.olympic-layout{gap:31px}.olympic-copy h2{font-size:27px}.olympic-copy>.eyebrow{font-size:8px;letter-spacing:1px}.olympic-copy .olympic-lead{font-size:14px}.desktop-break{display:none}.olympic-photo{min-height:390px}.medal-results{gap:15px}.medal-results strong{font-size:41px}.medal-results>div{min-width:58px}.medal-event{padding-left:12px;font-size:8px}.olympic-copy>.text-link{font-size:10px;gap:15px}.system-explainer{grid-template-columns:1fr;gap:27px}.system-explainer h3 br{display:none}.system-chain li:first-child{border-left:0;padding-left:0}.system-chain li:not(:last-child)::after{right:-10px}.with-indoor .research-product-copy{padding:23px}.with-indoor .research-product-visual{height:190px}.with-indoor .research-product h3{font-size:18px}.with-indoor .research-product p{font-size:11px}.indoor-crosslink{align-items:flex-start;flex-direction:column;gap:13px}}
@media(max-width:720px){.digital-hero,.home-hero{height:auto;min-height:760px}.hero-content{padding-top:19px}.hero-copy,.home-hero .home-hero .hero-copy{padding-top:49px}.hero h1{font-size:43px}.home-hero h1{font-size:39px}.hero-copy p,.digital-hero .hero-copy>p{font-size:12px;letter-spacing:0;line-height:2}.hero-actions .button{font-size:10px;padding:12px 14px;gap:15px}.hero-actions{margin-top:26px;gap:10px}.hero-bottom{flex-shrink:0}.section-nav-title{display:none}.section-nav nav{margin:0;justify-content:space-between;width:100%;gap:18px;font-size:10px}.olympic-section{padding:52px 0 26px}.olympic-layout{grid-template-columns:1fr;gap:30px}.olympic-copy>.eyebrow{font-size:8px;letter-spacing:1.2px}.olympic-copy h2{font-size:30px;margin-top:20px;line-height:1.5}.olympic-copy .olympic-lead{font-size:15px;margin-top:20px}.olympic-copy>p:not(.olympic-lead){font-size:12px;max-width:none}.medal-results{gap:28px;margin:22px 0 18px;padding:21px 0}.medal-results strong{font-size:45px}.medal-results>div>span{font-size:8px}.medal-event{font-size:9px;padding-left:18px}.olympic-copy>.text-link{font-size:11px}.olympic-photo{min-height:0;aspect-ratio:1.16}.olympic-photo img{object-position:center 37%}.olympic-photo figcaption{left:17px;right:17px;bottom:16px;font-size:8px}.olympic-footnote{margin-top:24px;padding-top:17px;font-size:8px;display:block}.olympic-footnote>a{display:block;margin-top:10px}.research-products,.research-products.with-indoor{grid-template-columns:1fr;gap:22px}.research-product-visual,.with-indoor .research-product-visual{height:225px}.research-product-copy,.with-indoor .research-product-copy{padding:26px}.research-product h3,.with-indoor .research-product h3{font-size:22px}.research-product p,.with-indoor .research-product p{font-size:12px}.research-product-visual.type-one img{height:185px}.research-label{font-size:9px}.research-role{font-size:10px}.system-explainer{margin-top:33px;padding-top:30px;gap:25px}.system-explainer h3{font-size:23px}.system-explainer h3 br{display:block}.system-chain{grid-template-columns:1fr;gap:21px}.system-chain li,.system-chain li:first-child{display:grid;grid-template-columns:28px 1fr;column-gap:15px;padding:0 0 23px;border-left:0;border-bottom:1px solid var(--line)}.system-chain li:not(:last-child)::after{display:none}.system-chain li:last-child{border-bottom:0;padding-bottom:0}.system-step{grid-column:2;grid-row:1;margin:0 0 7px;font-size:9px}.system-chain .icon{grid-column:1;grid-row:1/4;margin-top:3px}.system-chain h4{grid-column:2;grid-row:2;margin:0 0 9px;font-size:15px}.system-chain p{grid-column:2;grid-row:3;font-size:12px}.system-chain p br{display:none}.indoor-crosslink{margin-top:30px;padding:20px;gap:16px}.indoor-crosslink>div{font-size:11px;align-items:flex-start;line-height:1.9;gap:10px}.indoor-crosslink .icon{margin-top:3px}.indoor-crosslink .text-link{font-size:10px}.with-indoor .indoor-visual img{max-width:90%;margin:auto}}


@media(max-width:720px){.digital-hero,.home-hero{min-height:0}.hero-content{height:auto}}
@media(max-width:380px){.hero h1{font-size:39px}.home-hero h1{font-size:35px}.hero-actions .button{font-size:9px;padding:12px;gap:12px}.medal-results{gap:21px}.olympic-copy h2{font-size:27px}.section-nav nav{gap:14px;font-size:9px}}

/* Keep the hero focused; the Olympic story follows in its own section. */
.hero-copy{max-width:780px}
@media(max-width:900px){.hero-copy{max-width:660px}}
@media(max-width:720px){.digital-hero,.home-hero{height:590px;min-height:0}.hero-content{height:100%}.hero-copy,.home-hero .hero-copy{max-width:none;padding-top:55px}.home-hero .hero-copy{padding-top:70px}.hero-bottom{margin-top:auto}}
