:root { --accent:#8c6850; --red:var(--accent); --brand-orange:#b68e6b; --product-surface:#eff0f0; }
::selection { background:#e8ddd2; }
html { -webkit-hyphens:none; hyphens:none; word-break:normal; }
p { text-wrap:pretty; }
h1,h2,h3,h4,.hero-intro,.section-heading>p,.partnership-intro>p,.audience-lead { text-wrap:balance; }
.brand-wordmark { display:block; flex:1; min-width:0; }
.brand .brand-wordmark img { width:100%; height:auto; }
.brand-letters,.footer-brand { filter:saturate(.58); }
.desktop-nav a::after { background:var(--accent); }
.header-contact:hover,.enquiry-launcher:hover,.enquiry-email:hover { background:#45473e; }
.hero h1 { font-size:clamp(53px,6.7vw,110px); max-width:1250px; line-height:1.09; }
.hero-line-two { padding-left:0; }
#hero-title .hero-line-two { color:#667174; }
.hero h1>span,.film-caption { overflow-wrap:normal; hyphens:none; }
html:lang(fr) .hero h1,html:lang(de) .hero h1 { font-size:clamp(50px,6.3vw,104px); }
html:lang(fr) .hero-line-two,html:lang(de) .hero-line-two { padding-left:0; }
.section-shell { padding-top:78px; padding-bottom:80px; }
.statement,.section-heading h2,html:lang(de) .statement,html:lang(de) .section-heading h2 { font-size:clamp(34px,3.7vw,59px); line-height:1.13; letter-spacing:-.04em; }
.approach { margin-top:26px; }
.approach-intro { margin:29px 0 37px; }
.company-principles { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:65px; color:var(--muted); font-size:14px; line-height:1.75; }
.athlete-bio { max-width:480px; margin-top:14px; font-size:14px; line-height:1.65; color:var(--muted); }
.audience-lead { font-size:25px; }
.section-heading { margin-bottom:32px; }
.contact h2,.athletes-details h2 { font-size:clamp(35px,4vw,62px); line-height:1.15; }
.contact-bottom { margin-top:30px; }

.portfolio.section-shell { display:block; background:#fff; }
.portfolio>.section-label { margin-bottom:28px; }
.portfolio .section-heading { align-items:flex-start; margin-bottom:42px; }
.portfolio .section-heading>p { max-width:520px; margin-top:5px; }
.solutions-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:44px; align-items:start; }
.solutions-sidebar { position:sticky; top:calc(var(--header) + 30px); }
.solutions-sidebar .specialty-filters { display:flex; flex-direction:column; gap:0; }
.specialty-filters button { display:flex; gap:15px; align-items:center; justify-content:space-between; padding:14px 12px; min-height:49px; text-align:left; border:0; white-space:normal; line-height:1.35; color:var(--muted); }
.specialty-filters button.active { background:#f1eeeb; color:#212320; }
.specialty-filters button.active::after { display:none; }
.specialty-filters button>span:first-child { min-width:0; }
.filter-count { font-size:11px; color:var(--muted); flex-shrink:0; }
.specialty-filters button.active .filter-count { color:var(--accent); }
.sidebar-note { color:var(--muted); font-size:12px; line-height:1.7; margin:25px 12px 0; }
.solutions-toolbar { display:flex; align-items:center; gap:30px; padding-bottom:23px; }
.solutions-toolbar .product-search { flex:1; border:1px solid #a5a6a0; padding:11px 14px; margin:0; max-width:460px; }
.solutions-toolbar .product-search:focus-within { border-color:var(--accent); }
.solutions-toolbar input { font-size:14px; min-width:0; }
.solutions-toolbar #result-count { white-space:nowrap; margin-left:auto; font-size:13px; color:var(--muted); }
.solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 23px; }
.solution-card { padding:0; text-align:left; background:none; min-width:0; display:block; width:100%; }
.packshot { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--product-surface); border:0; isolation:isolate; }
.packshot svg { display:block; width:100%; height:100%; }
.packshot--paper svg { mix-blend-mode:multiply; }
.packshot .product-cutout { filter:drop-shadow(0 10px 9px #41433618); }
.edge-bottom .product-cutout,.edge-left .product-cutout,.edge-right .product-cutout,.edge-top .product-cutout { filter:none; }
.solution-card:hover .solution-name>span,.solution-card:focus-visible .solution-name>span { color:var(--accent); }
.solution-caption { padding-top:15px; display:block; }
.solution-maker { font-size:11px; color:#65675f; display:block; margin-bottom:6px; }
.solution-name { display:flex; justify-content:space-between; gap:12px; font-size:20px; font-weight:450; line-height:1.2; letter-spacing:-.025em; }
.solution-name>span { font-size:18px; color:var(--muted); }
.solution-type { display:block; font-size:12px; color:var(--muted); line-height:1.55; margin-top:7px; }
.solutions-empty>p { padding:25px 0; max-width:500px; color:var(--muted); }
.portfolio .professional-note { margin:38px 0 0 234px; max-width:830px; }

.product-dialog { width:min(1080px,calc(100% - 48px)); max-height:92vh; padding:52px 35px 24px; }
.product-dialog .device-detail { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr); gap:35px; align-items:center; }
.detail-packshot { min-width:0; }
.detail-category { font-size:12px; color:var(--muted); margin-bottom:16px; }
.product-dialog #device-name { font-size:clamp(28px,3vw,43px); font-weight:300; letter-spacing:-.035em; line-height:1.15; padding:0; }
.product-dialog #device-description { margin-top:14px; font-size:16px; color:var(--muted); line-height:1.6; }
.detail-information dl { margin:24px 0; padding-top:18px; border-top:1px solid var(--line); font-size:13px; }
.detail-information dt { color:var(--muted); }
.detail-information dd { margin:5px 0 0; }
.detail-information .device-actions { display:flex; align-items:stretch; gap:10px; }
.detail-information .device-actions a { display:block; text-align:center; font-size:14px; color:white; background:var(--ink); padding:12px 15px; border:1px solid var(--ink); min-height:46px; }
.detail-information .device-actions a:hover { background:#45473e; }
.detail-information .device-actions button { padding:11px 14px; font-size:14px; min-height:46px; text-align:center; border:1px solid #8b8d87; background:transparent; }
.detail-information .device-actions button:hover { background:var(--paper); }
.detail-information .device-actions button:disabled { border-color:var(--line); color:var(--muted); }
.detail-information #review-enquiry { border:0; font-size:12px; text-decoration:underline; }
.detail-note { font-size:11px; line-height:1.65; color:var(--muted); margin-top:24px; }
.detail-navigation { border-top:1px solid var(--line); margin-top:32px; padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }
.detail-navigation button { padding:10px 0; background:transparent; min-height:44px; text-align:left; }
.detail-navigation button:disabled { color:#898c83; cursor:default; }
.detail-navigation button:last-child { text-align:right; }
.detail-navigation span { color:var(--muted); white-space:nowrap; }

.partnership { background:#fff; color:var(--ink); border-top:0; padding-top:54px; padding-bottom:65px; }
.partnership .section-label>span { color:var(--accent); }
.partnership-kicker { color:var(--muted); }
.partnership-headline { margin:35px 0 26px; }
.partnership h2 { font-size:clamp(35px,4.2vw,66px); line-height:1.12; letter-spacing:-.04em; }
.partnership-intro { margin-left:0; padding-bottom:42px; gap:45px; }
.partnership-intro p { color:var(--muted); max-width:720px; font-size:17px; }
.light-link { border-color:var(--ink); }
.light-link:hover { color:var(--accent); border-color:var(--accent); }
.partner-register,.partner-item { border:0; }
.register-heading>span,.partner-body,.partner-item .plus-minus { color:var(--muted); }
.partners-list { gap:12px 55px; }
.partner-item summary { min-height:125px; }
.partner-logo { width:190px; height:63px; padding:0; background:transparent; filter:none; object-fit:contain; object-position:left center; max-width:75%; }
.partner-item[data-partner=meril] .partner-logo { width:120px; height:78px; }
.partner-item[data-partner=pf] .partner-logo { width:185px; height:55px; }
.partner-item[data-partner=brosmed] .partner-logo { width:160px; }
.partner-body h4 { color:var(--ink); }
.partner-body a { border-color:var(--muted); }
.partner-body a:hover { color:var(--accent); }
.site-footer { padding-top:44px; }
.footer-main { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:50px; padding-bottom:35px; }
.footer-brand { display:block; width:285px; max-width:100%; padding:0; }
.footer-identity p { margin-top:17px; font-size:12px; color:var(--muted); }
.footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:8px 30px; font-size:14px; }
.footer-nav a { display:flex; align-items:center; min-height:40px; width:fit-content; }
.footer-nav a:hover { color:var(--accent); }
.team-member .portrait img,.team-member:hover .portrait img { filter:none; transform:none; transition:none; }
.portrait { aspect-ratio:9/16; background:#e2e3e0; }
.portrait img { object-fit:contain; }
.portrait-source-note { font-size:12px; color:var(--muted); }

@media(max-width:600px) { .company-principles { grid-template-columns:1fr; gap:17px; margin-top:-5px; } .athlete-bio { font-size:13px; } }
@media(max-width:850px) { .footer-main { grid-template-columns:1fr 1.2fr; gap:35px; } .footer-brand { width:240px; } .footer-nav { grid-template-columns:repeat(2,1fr); gap:4px 20px; } }
@media(max-width:600px) { .footer-main { grid-template-columns:1fr; gap:25px; padding-bottom:25px; } .footer-brand { width:225px; } .footer-nav { gap:0 25px; font-size:13px; } .footer-nav a { min-height:44px; } }

@media(min-width:1700px) { .solutions-layout { grid-template-columns:210px minmax(0,1fr); gap:60px; } .portfolio .professional-note { margin-left:270px; } }
@media(max-width:1150px) { .solutions-layout { grid-template-columns:165px minmax(0,1fr); gap:30px; } .solutions-grid { gap:32px 20px; grid-template-columns:repeat(2,minmax(0,1fr)); } .portfolio .professional-note { margin-left:195px; } .solution-name { font-size:20px; } }
@media(max-width:850px) { .solutions-layout { grid-template-columns:1fr; gap:20px; } .solutions-sidebar { position:static; } .solutions-sidebar .specialty-filters { flex-direction:row; flex-wrap:wrap; gap:0 12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:9px 0; } .specialty-filters button { padding:9px 11px; min-height:44px; font-size:13px; } .filter-count { font-size:10px; } .sidebar-note { display:none; } .portfolio .professional-note { margin-left:0; } .portfolio .section-heading>p { max-width:355px; } .partnership-intro p { font-size:16px; } .product-dialog { width:calc(100% - 32px); padding:52px 24px 20px; } .product-dialog .device-detail { gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(210px,1fr); } }
@media(max-width:600px) { .hero h1,html:lang(fr) .hero h1,html:lang(de) .hero h1 { font-size:clamp(35px,9.2vw,54px); line-height:1.12; } .hero h1>span { overflow-wrap:normal; } .brand-wordmark { flex:1; } .section-shell { padding-top:45px; padding-bottom:50px; } .statement,.section-heading h2,html:lang(de) .statement,html:lang(de) .section-heading h2,.contact h2,.athletes-details h2 { font-size:34px; } .approach-intro { margin:24px 0 30px; } .portfolio>.section-label { margin-bottom:21px; } .portfolio .section-heading { margin-bottom:26px; } .portfolio .section-heading>p { max-width:none; } .solutions-toolbar { gap:15px; flex-wrap:wrap; padding-bottom:19px; } .solutions-toolbar .product-search { width:100%; flex-basis:100%; max-width:none; } .solutions-toolbar input { font-size:16px; } .solutions-toolbar #result-count { margin-left:0; font-size:12px; } .specialty-filters button { font-size:12px; padding:9px 10px; } .solutions-sidebar .specialty-filters { gap:0 6px; } .solutions-grid { gap:28px 18px; } .solution-name { font-size:18px; } .solution-maker { font-size:11px; } .solution-type { font-size:12px; } .packshot::after { opacity:1; font-size:20px; top:5px; right:8px; } .product-dialog .device-detail { grid-template-columns:1fr; gap:27px; } .product-dialog { padding:48px 20px 15px; max-height:92dvh; } .detail-packshot .packshot { aspect-ratio:4/3; } .product-dialog #device-name { font-size:31px; } .detail-category { margin-bottom:9px; font-size:11px; } .product-dialog #device-description { margin-top:9px; font-size:15px; } .detail-information dl { margin:17px 0; padding-top:14px; } .detail-information .device-actions { flex-direction:row; flex-wrap:wrap; } .detail-information .device-actions a,.detail-information .device-actions button { flex:1 0 40%; font-size:12px; padding:11px 10px; min-width:0; white-space:normal; line-height:1.5; } .detail-information #review-enquiry { flex-basis:100%; } .detail-note { margin-top:17px; } .detail-navigation { margin-top:20px; font-size:11px; gap:15px; } .detail-navigation button { max-width:42%; } .partnership { padding-top:35px; padding-bottom:40px; } .partnership-headline { margin:24px 0; } .partnership h2 { font-size:36px; } .partnership-kicker { display:none; } .partnership-intro { padding-bottom:30px; } .partnership-intro p { font-size:15px; } .partners-list { gap:0 30px; } .partner-item summary { min-height:105px; } .partner-logo { max-width:75%; width:155px; height:52px; } .partner-item[data-partner=meril] .partner-logo { width:87px; height:63px; } .partner-item[data-partner=pf] .partner-logo { height:44px; } .partner-item[data-partner=brosmed] .partner-logo { width:125px; } }
@media(max-width:440px) { .solutions-grid { grid-template-columns:1fr; } .solution-card { display:grid; grid-template-columns:1fr; } .solution-name { font-size:21px; } .solution-type { font-size:13px; } .solution-caption { padding-top:14px; } .solution-maker { font-size:12px; } .hero h1,html:lang(fr) .hero h1,html:lang(de) .hero h1 { font-size:clamp(33px,9.25vw,40px); } }
