/* Kroma: an open campaign canvas, sculpted photographs and generous spacing. */
.campaign-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:min(960px,100svh);padding:0 var(--gutter);overflow:hidden;background:var(--bg)}
.hero-campaign-media{position:absolute;inset:0 0 0 23%;z-index:-2;overflow:hidden}
.hero-campaign-media img{width:100%;height:100%;object-fit:cover;object-position:76% top}
.hero-campaign-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080909 0%,#080909b8 14%,#08090920 46%,transparent 75%),linear-gradient(0deg,#080909 0%,#08090938 23%,transparent 58%,#08090928 100%)}
.hero-campaign-media figcaption{position:absolute;z-index:2;right:var(--gutter);bottom:100px;color:#edf1e7;font-size:.75rem;letter-spacing:.05em;line-height:1.6}
.hero-copy{width:100%;max-width:740px;padding:160px 0 125px;position:relative;z-index:2}
.hero-kicker{color:#d6ded0;margin-bottom:24px;font-size:.875rem;letter-spacing:.1em;animation:arrive .8s .05s both}
.campaign-hero h1{font-size:clamp(6rem,10.8vw,10.5rem);line-height:.95;letter-spacing:-.018em}
.campaign-hero h1>span{display:block;animation:arrive .9s .15s both}
.campaign-hero h1>span:nth-child(2){font-style:italic;animation-delay:.25s;padding-right:.08em}
.campaign-hero h1>.hero-search-title{font-family:var(--body);font-weight:500;font-size:1rem;line-height:1.65;letter-spacing:0;max-width:440px;margin-top:26px;color:#e4e9dd}
.hero-description{color:#b9c1b3;margin-top:18px;font-size:1rem;line-height:1.8;animation:arrive .8s .3s both}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;animation:arrive .8s .4s both}
.hero-bottom{position:absolute;inset:auto var(--gutter) 0;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:85px;padding:20px 0;z-index:3}
.scroll-cue{display:flex;align-items:center;gap:18px;font-size:.75rem;letter-spacing:.06em}
.scroll-cue>span{display:flex;color:var(--lime);font-size:1.4rem}
.hero-coordinate{font-size:.75rem;color:#a4ad9d;letter-spacing:.07em}
.marquee{overflow:hidden;padding:30px 0;color:#c2c7bf;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee-track>span{display:flex;align-items:center;white-space:nowrap;font-family:var(--display);font-size:1.75rem;line-height:1.2;letter-spacing:.03em;font-weight:700}
.marquee i{margin:0 38px;color:var(--lime);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}
.section-marker{display:flex;align-items:center;justify-content:space-between;gap:30px;color:#909b87;font-size:.75rem;letter-spacing:.09em;line-height:1.6}
.section-marker>span:first-child{color:var(--lime)}
.garments{padding-top:100px;padding-bottom:100px}
.garments-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;padding:34px 0 64px}
.garments-heading h2{font-size:clamp(4rem,7.6vw,8rem);line-height:.98;font-weight:700}
.garments-heading h2 .lime{font-style:italic;font-weight:800}
.garments-intro{width:350px;max-width:100%;flex:none;padding-bottom:8px}
.garments-intro>p{font-size:1rem;line-height:1.8;color:var(--muted)}
.sport-picker{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
.sport-picker>label{font-size:.75rem;color:#b9c2b1;font-weight:600;letter-spacing:.07em}
.select-wrap{position:relative;width:100%;max-width:350px}
.select-wrap select{appearance:none;display:block;width:100%;padding:12px 58px 12px 23px;background:#151917;border:1px solid #738357;border-radius:999px;font-family:var(--body);font-size:1.125rem;line-height:1.5;min-height:56px;font-weight:600;color:var(--white);cursor:pointer;transition:border-color .2s}
.select-wrap select:hover{border-color:var(--lime)}
.select-wrap>span{position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--lime);pointer-events:none}
.select-wrap option{color:var(--white);background:#151917}
.sports-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(38px,6vw,100px);align-items:center}
.mockup-gallery{min-width:0;margin:0}
.mockup-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 0 18px}
.visual-mode,.mockup-variants{display:inline-flex;align-items:center;gap:3px;padding:4px;background:#ffffff08;border:1px solid #ffffff18;border-radius:999px}
.visual-mode button,.mockup-variants button{font-size:.875rem;font-weight:600;line-height:1.5;padding:9px 17px;min-height:42px;border-radius:999px;transition:background .2s,color .2s}
.visual-mode button[aria-pressed='true'],.mockup-variants button[aria-pressed='true']{background:var(--lime);color:var(--bg)}
.visual-mode button:hover:not([aria-pressed='true']),.mockup-variants button:hover:not([aria-pressed='true']){background:#ffffff12}
.mockup-preview{position:relative;isolation:isolate;display:block;width:100%;aspect-ratio:1 / 1.03;overflow:hidden;padding:0;background:#0e120e;border-radius:34px 34px 140px 34px;cursor:zoom-in;touch-action:pan-y}
.mockup-preview:focus-visible{outline-offset:-7px}
.mockup-preview.is-zoomed{cursor:zoom-out}
.mockup-float{position:absolute;inset:0;display:block;pointer-events:none}
.mockup-preview img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:translate(var(--mockup-x,0px),var(--mockup-y,0px)) scale(var(--mockup-scale,1));transition:transform .6s ease,opacity .25s ease}
.mockup-preview[data-visual-mode='product']{aspect-ratio:1;border-radius:34px}
.mockup-preview[data-visual-mode='product'] img{object-fit:contain;padding:10px;transform:translate(var(--mockup-x,0px),var(--mockup-y,0px)) rotateX(var(--mockup-rx,0deg)) rotateY(var(--mockup-ry,0deg)) scale(var(--mockup-scale,1))}
.mockup-preview[data-visual-mode='product'] .mockup-float{animation:product-breathe 7s ease-in-out infinite}
.mockup-preview.is-zoomed .mockup-float{animation-play-state:paused}
.mockup-preview.is-loading img{opacity:0}
.mockup-status{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:30px;text-align:center;font-size:.875rem;line-height:1.7;color:#d0dac6}
.mockup-zoom-control{position:absolute;z-index:4;bottom:24px;left:24px;display:flex;align-items:center;gap:9px;padding:10px 15px;line-height:1.5;background:#080d09c9;color:#f2f6ec;border:1px solid #ffffff40;border-radius:999px;backdrop-filter:blur(10px);font-size:.875rem;pointer-events:none}
.mockup-zoom-symbol{color:var(--lime)}
.mockup-caption{display:flex;flex-direction:column;gap:5px;padding:21px 6px 0;color:var(--muted);line-height:1.6}
.mockup-caption #mockup-sport-label{font-size:.75rem;letter-spacing:.06em;color:#c0caaa}
.mockup-caption strong{font-size:.875rem;font-weight:600;color:#e2e9d9}
.mockup-caption>span:last-child{font-size:.75rem;color:#9da993}
.category-info{min-width:0;padding:16px 0}
.category-topline{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}
.category-topline .eyebrow{font-size:.75rem;letter-spacing:.05em;line-height:1.8;color:#b6c3a3;max-width:230px}
.category-count{font-size:.75rem;color:#849572;white-space:nowrap}
.category-info h2,.category-info h3{font-size:clamp(3.5rem,6.4vw,6.5rem);line-height:1;margin-bottom:20px}
.category-description{color:#b9c3b0;font-size:1rem;line-height:1.85;margin-bottom:30px;max-width:520px}
.products-label{font-size:.75rem;letter-spacing:.07em;color:#9fae8c}
.model-list{margin:4px 0 0}
.sport-product{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #ffffff16;transition:color .2s}
.sport-product:last-child{border-bottom:0}
.sport-product:hover{color:var(--lime)}
.sport-product-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.sport-product-name{font-size:1rem;font-weight:600;line-height:1.5}
.sport-product-spec{font-size:.875rem;line-height:1.65;color:#aebf98}
.sport-product-arrow{display:flex;color:#d2dfc0;flex:none;transition:transform .2s}
.sport-product:hover .sport-product-arrow{transform:translate(3px,-3px);color:var(--lime)}
.category-page-link{display:block;color:#c8d6b0;font-size:.875rem;line-height:1.7;margin-top:20px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.category-page-link:hover{color:var(--lime)}
.category-cta{margin-top:28px;gap:22px}
.catalogue-note{font-size:.75rem;color:#a4b38f;margin-top:18px;line-height:1.8}
.catalogue-note a:hover{color:var(--lime)}
.sports-panel.is-changing .category-info{animation:arrive .5s ease both}
@keyframes product-breathe{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}
.sport-directory{display:flex;align-items:flex-start;gap:clamp(22px,3vw,48px);margin:92px calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) 78px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:var(--gutter);scrollbar-width:thin;scrollbar-color:#7f913e #111510}
.sport-directory-link{position:relative;isolation:isolate;display:flex;align-items:flex-end;flex:0 0 clamp(240px,26vw,380px);aspect-ratio:3 / 4;padding:28px;overflow:hidden;scroll-snap-align:start;border-radius:110px 24px 24px 24px;background:#111610}
.sport-directory-link:nth-child(even){margin-top:48px;border-radius:24px 24px 110px 24px}
.sport-directory-link>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.65,.3,1)}
.sport-directory-link:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#050a05fa 0%,#050a05b8 23%,transparent 64%)}
.sport-directory-link:hover>img{transform:scale(1.05)}
.sport-directory-link:focus-visible{outline-offset:-6px}
.directory-number{position:absolute;right:22px;top:23px;font-size:.75rem;color:#edf4e4;letter-spacing:.04em}
.directory-copy{max-width:90%}
.directory-copy strong{display:block;font-family:var(--display);font-size:clamp(2.7rem,3.5vw,3.75rem);line-height:1;font-weight:700;text-transform:uppercase}
.directory-copy small{display:block;font-size:.875rem;color:#ced8c3;line-height:1.6;margin-top:10px}
.directory-arrow{position:absolute;right:20px;bottom:30px;display:flex;color:var(--lime);font-size:1.7rem}
.sport-directory-link:nth-child(even) .directory-arrow{bottom:85px;right:22px}
.garments-foot{text-align:center;font-size:clamp(1.5rem,3.4vw,3rem);font-weight:500;letter-spacing:-.035em;line-height:1.4;color:#8c9686;padding:100px 0 20px}
.garments-foot>span{color:var(--white)}
.about{padding-top:50px;padding-bottom:110px}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,115px);align-items:center;padding:42px 0 70px}
.about-photo{position:relative;isolation:isolate;aspect-ratio:4 / 5;overflow:hidden;border-radius:38% 38% 30px 30px;transform:rotate(-3deg);margin:18px 12px 0 6px;background:#0f1710}
.about-photo>img{width:100%;height:100%;object-fit:cover;object-position:56% center}
.about-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#050a05c0)}
.about-photo figcaption{position:absolute;bottom:28px;left:28px;right:28px;text-align:center;z-index:1;font-size:.875rem;color:#e9f2e0;line-height:1.6}
.about-photo.is-visible{transform:rotate(-3deg)}
.about-right{min-width:0}
.about h2{font-size:clamp(3.5rem,5.6vw,6rem);line-height:1;letter-spacing:-.015em;margin-bottom:28px}
.about h2 .lime{font-style:italic;font-weight:800}
.about-lead{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.5;margin-bottom:22px}
.body-muted{font-size:1rem;line-height:1.9;color:var(--muted);margin-bottom:17px;max-width:560px}
.origin-lockup{display:flex;align-items:center;gap:26px;margin-top:32px}
.origin-number{font-family:var(--display);font-size:5rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--lime);white-space:nowrap}
.origin-number>span{font-size:2.25rem}
.origin-lockup>div{display:flex;flex-direction:column;gap:8px}
.origin-lockup b{font-size:.875rem;font-weight:600;letter-spacing:.06em;line-height:1.5}
.origin-lockup>div>span{font-size:.75rem;color:#a9b49d;line-height:1.7}
.origin-star{display:none}
.principles{display:flex;align-items:flex-start;gap:clamp(36px,6vw,96px);padding-top:20px}
.principle{flex:1;min-width:0}
.principle:nth-child(2){margin-top:40px}
.principle:nth-child(3){margin-top:80px}
.principle-index{font-family:var(--display);font-size:3.25rem;line-height:1;color:#76843e;letter-spacing:-.03em}
.principle h3{font-family:var(--body);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.5;margin:18px 0 12px}
.principle p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:380px}
.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);padding-top:60px;padding-bottom:125px}
.faq-heading{min-width:0}
.faq-heading h2{font-size:clamp(2.75rem,4.3vw,4.5rem);line-height:1.05;margin-top:18px;max-width:430px}
.faq-list{min-width:0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:1rem;font-weight:600;line-height:1.7;padding:23px 0;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span{flex:none;color:var(--lime);transition:transform .2s}
.faq-item[open] summary>span{transform:rotate(45deg)}
.faq-item>p{font-size:1rem;line-height:1.9;color:var(--muted);padding:0 38px 25px 0}
.contact{background:var(--lime);color:#101507;margin:0 24px;overflow:hidden;border-radius:44px 140px 44px 44px}
.contact-inner{padding-top:54px;padding-bottom:54px}
.contact .section-marker,.contact .section-marker>span:first-child{color:#344016}
.contact-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:60px;align-items:center;padding:65px 0 60px}
.contact h2{font-size:clamp(5.5rem,10vw,10rem);font-weight:800;line-height:.95;letter-spacing:-.02em}
.contact-outline{color:transparent;-webkit-text-stroke:1.5px #18200b;font-style:italic;padding-right:.12em;display:inline-block}
.contact-intro{justify-self:center}
.contact-intro p{font-size:1.125rem;line-height:1.8;letter-spacing:-.02em;margin-bottom:30px}
.whatsapp-note{display:block;color:#3b481c;font-size:.875rem;margin-top:13px}
.contact-details{display:flex;flex-wrap:wrap;gap:28px 45px;padding-top:22px}
.contact-details>a{flex:1;min-width:230px;position:relative;padding-right:36px;line-height:1.6}
.contact-details>a>span{display:block;font-size:.75rem;letter-spacing:.08em;font-weight:600;color:#465522;margin-bottom:8px}
.contact-details b{display:block;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere}
.contact-details small{font-size:.875rem;display:block;margin-top:3px;color:#3c4a1a}
.contact-details i{position:absolute;right:0;top:28px}
.contact :focus-visible{outline-color:#111909}
.contact ::selection{background:#151d08;color:var(--lime)}
.sport-intro{padding-top:140px;padding-bottom:45px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem;color:#a4b392;line-height:1.7;margin-bottom:32px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:5px}
.breadcrumbs a:hover{color:var(--lime)}
.breadcrumbs [aria-current]{color:var(--white)}
.sport-title{font-size:clamp(3.5rem,7.8vw,7.5rem);font-weight:800;line-height:1;max-width:1160px;margin-top:20px;text-transform:uppercase;white-space:normal}
.sport-intro-bottom{margin-top:26px;max-width:820px}
.sport-intro-bottom p{font-size:1rem;line-height:1.9;color:var(--muted)}
.sport-showcase{padding-bottom:100px}
.sport-showcase>.sport-picker{margin:0 0 38px}
.sport-guide{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);padding-top:20px;padding-bottom:100px}
.sport-guide h2{font-size:clamp(2.8rem,4.6vw,4.5rem);line-height:1.04;margin-top:18px;max-width:530px}
.sport-guide-copy>p{font-size:1rem;line-height:1.9;color:var(--muted)}
.sport-guide-copy>p+p{margin-top:22px}
.sport-local a{color:var(--lime);text-decoration:underline;text-underline-offset:4px}
.related-sports{padding-top:10px;padding-bottom:110px}
.related-sports h2{font-size:clamp(2.8rem,4.7vw,4.5rem);line-height:1.05;margin-top:18px}
.related-sports .sport-directory{margin-top:40px}
.mockup-fallback{margin-top:24px;max-width:720px}
.mockup-fallback img{width:100%;height:auto;border-radius:28px}
.mockup-fallback figcaption{font-size:.875rem;line-height:1.7;margin-top:15px}
@media(min-width:1800px){.hero-copy{max-width:900px}.campaign-hero h1{font-size:12rem}.hero-campaign-media{left:28%}}
@media(max-width:1100px){
  .hero-copy{max-width:670px;padding-top:155px;padding-bottom:140px}
  .campaign-hero h1{font-size:11.7vw}
  .hero-campaign-media{left:15%}
  .hero-campaign-media:after{background:linear-gradient(90deg,#080909 0%,#080909a8 18%,#08090912 52%,transparent 80%),linear-gradient(0deg,#080909 0%,transparent 45%)}
  .garments-heading{gap:36px}
  .garments-heading h2{font-size:7.7vw}
  .garments-intro{width:300px}
  .sports-panel{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
  .visual-mode button,.mockup-variants button{padding:8px 12px}
  .mockup-preview{aspect-ratio:1 / 1.3;border-bottom-right-radius:100px}
  .category-info h2,.category-info h3{font-size:5.9vw}
  .category-cta{padding:14px 20px;gap:15px}
  .category-description{margin-bottom:22px}
  .about-layout{gap:42px}
  .about-photo{aspect-ratio:3 / 4}
  .about h2{font-size:5.7vw}
  .origin-lockup{gap:18px}
  .contact{margin:0 18px;border-top-right-radius:100px}
  .contact-main{gap:35px}
  .contact-details{gap:28px}
}
@media(max-width:850px){
  .campaign-hero{min-height:850px}
  .hero-copy{max-width:580px}
  .campaign-hero h1{font-size:13.2vw}
  .hero-coordinate{display:none}
  .hero-campaign-media figcaption{bottom:35px}
  .garments{padding-top:65px;padding-bottom:70px}
  .garments-heading{align-items:flex-start;gap:30px;padding-bottom:45px}
  .garments-heading h2{font-size:8.2vw}
  .garments-intro{width:270px}
  .sports-panel{grid-template-columns:1fr;gap:35px}
  .mockup-preview{aspect-ratio:1.15 / 1;border-radius:28px 28px 100px 28px}
  .mockup-preview[data-visual-mode='product']{aspect-ratio:1}
  .category-info{padding:0 6px}
  .category-info h2,.category-info h3{font-size:4.75rem}
  .category-description{max-width:650px}
  .category-cta{margin-top:26px}
  .sport-directory{margin-top:65px}
  .sport-directory-link{flex-basis:38vw}
  .about-layout{grid-template-columns:1fr;gap:54px;padding-top:40px}
  .about-photo{aspect-ratio:5 / 4;width:85%;justify-self:center;border-radius:120px 28px 120px 28px}
  .about h2{font-size:clamp(3.5rem,8.5vw,5.5rem)}
  .about-right{max-width:680px}
  .body-muted{max-width:none}
  .principles{gap:28px}
  .principle h3{font-size:1.0625rem}
  .faq-section{grid-template-columns:1fr;gap:36px;padding-bottom:85px}
  .faq-heading h2{max-width:650px;font-size:3.5rem}
  .contact-main{grid-template-columns:1fr;gap:36px;padding:42px 0}
  .contact h2{font-size:clamp(5.5rem,13vw,8.5rem)}
  .contact-intro{justify-self:start}
  .contact-intro p{font-size:1rem}
  .sport-guide{grid-template-columns:1fr;gap:30px;padding-bottom:70px}
  .sport-guide h2{max-width:680px}
}
@media(max-width:600px){
  .campaign-hero{min-height:0;padding:0 var(--gutter)}
  .hero-campaign-media{inset:0 0 auto;height:535px}
  .hero-campaign-media:after{background:linear-gradient(0deg,#080909 0%,#080909ec 9%,#08090980 27%,transparent 63%,#0809094d 100%)}
  .hero-campaign-media figcaption{top:112px;bottom:auto;right:24px;font-size:.75rem;text-shadow:0 2px 10px #000}
  .hero-copy{max-width:none;padding:335px 0 32px}
  .hero-kicker{font-size:.75rem;margin-bottom:18px;letter-spacing:.065em}
  .campaign-hero h1{font-size:clamp(4.3rem,19.5vw,7rem);line-height:.96}
  .campaign-hero h1>.hero-search-title{font-size:1rem;max-width:340px;line-height:1.65;margin-top:20px}
  .hero-description{font-size:1rem;margin-top:15px;line-height:1.75}
  .hero-actions{gap:20px;margin-top:25px}
  .hero-actions .button{font-size:.875rem;padding:14px 21px;gap:18px}
  .hero-actions .text-link{font-size:.875rem}
  .hero-bottom{position:static;min-height:68px;padding:12px 0 24px}
  .scroll-cue{font-size:.75rem;gap:14px;letter-spacing:.04em}
  .marquee{padding:22px 0}
  .marquee-track>span{font-size:1.5rem}
  .marquee i{margin:0 25px}
  .garments{padding-top:56px;padding-bottom:65px}
  .section-marker{font-size:.75rem;gap:18px}
  .section-marker>span:last-child{display:none}
  .garments-heading{display:block;padding:25px 0 34px}
  .garments-heading h2{font-size:clamp(3.2rem,12vw,4.5rem);line-height:1}
  .garments-intro{width:100%;padding:0;margin-top:25px}
  .garments-intro>p{line-height:1.8}
  .sport-picker{margin-top:24px}
  .select-wrap{max-width:none}
  .select-wrap select{font-size:1.125rem;min-height:56px}
  .mockup-toolbar{gap:10px;padding-bottom:15px}
  .visual-mode button,.mockup-variants button{font-size:.875rem;padding:8px 13px}
  .mockup-preview{aspect-ratio:1 / 1.13;border-radius:22px 22px 90px 22px}
  .mockup-preview[data-visual-mode='product']{border-radius:22px}
  .mockup-zoom-control{bottom:20px;left:18px;font-size:.875rem;padding:9px 13px}
  .mockup-caption{padding:18px 3px 0;gap:4px}
  .sports-panel{gap:30px}
  .category-info{padding:0}
  .category-topline{margin-bottom:19px}
  .category-topline .eyebrow{max-width:220px}
  .category-info h2,.category-info h3{font-size:clamp(3.1rem,12.8vw,4.5rem);margin-bottom:18px}
  .category-description{font-size:1rem;line-height:1.8;margin-bottom:26px}
  .sport-product{padding:17px 0}
  .category-cta{width:100%;max-width:390px;padding:15px 22px;gap:16px}
  .catalogue-note{font-size:.75rem;line-height:1.8}
  .sport-directory{gap:22px;margin-top:54px;padding-bottom:65px}
  .sport-directory-link{flex-basis:76vw;max-width:350px;padding:24px;aspect-ratio:3 / 4;border-radius:90px 22px 22px 22px}
  .sport-directory-link:nth-child(even){margin-top:30px;border-radius:22px 22px 90px 22px}
  .directory-copy strong{font-size:2.8rem}
  .directory-copy small{font-size:.875rem;max-width:230px}
  .directory-number{right:20px;top:22px}
  .garments-foot{font-size:1.6rem;padding:66px 0 0;letter-spacing:-.035em;line-height:1.5}
  .about{padding-top:20px;padding-bottom:55px}
  .about-layout{padding-top:32px;padding-bottom:36px;gap:46px}
  .about-photo{width:93%;aspect-ratio:4 / 5;border-radius:42% 42% 24px 24px;margin:10px 0 0}
  .about-photo figcaption{left:18px;right:18px;bottom:24px;font-size:.75rem}
  .about h2{font-size:clamp(3.3rem,12.2vw,4.4rem);margin-bottom:24px}
  .about-lead{font-size:1.4rem;margin-bottom:20px;line-height:1.5}
  .body-muted{font-size:1rem;line-height:1.85}
  .origin-lockup{gap:24px;margin-top:28px}
  .origin-number{font-size:4.75rem}
  .origin-lockup>div>span{font-size:.75rem}
  .principles{display:block;padding-top:5px}
  .principle,.principle:nth-child(2),.principle:nth-child(3){display:grid;grid-template-columns:55px minmax(0,1fr);gap:0 21px;margin:0 0 30px}
  .principle-index{grid-row:1 / 3;font-size:2.5rem;line-height:1.2}
  .principle h3{font-size:1.0625rem;margin:0 0 9px}
  .principle p{font-size:1rem;line-height:1.8;max-width:none}
  .faq-section{padding-top:16px;padding-bottom:64px;gap:30px}
  .faq-heading .eyebrow{font-size:.75rem}
  .faq-heading h2{font-size:2.8rem;line-height:1.05;margin-top:16px}
  .faq-item summary{padding:20px 0;font-size:1rem;gap:15px}
  .faq-item>p{padding:0 0 23px;line-height:1.85}
  .contact{margin:0 12px;border-radius:28px 75px 28px 28px}
  .contact-inner{padding:35px 25px}
  .contact-main{padding:34px 0 38px;gap:28px}
  .contact h2{font-size:clamp(4.6rem,18vw,6.5rem);line-height:.96}
  .contact-intro p{font-size:1rem;line-height:1.85;margin-bottom:25px}
  .contact .button{padding:14px 21px;font-size:.875rem;gap:18px}
  .contact-details{display:block;padding-top:0}
  .contact-details>a{display:block;min-width:0;margin-top:28px;padding-right:35px}
  .contact-details b{font-size:1.3rem}
  .contact-details>a>span{margin-bottom:6px}
  .contact-details i{top:25px}
  .sport-intro{padding-top:118px;padding-bottom:34px}
  .breadcrumbs{font-size:.875rem;margin-bottom:24px}
  .sport-intro>.eyebrow{font-size:.75rem}
  .sport-title{font-size:clamp(2.7rem,11.5vw,4.6rem);line-height:1.02;margin-top:17px}
  .sport-intro-bottom{margin-top:22px}
  .sport-intro-bottom p{font-size:1rem;line-height:1.85}
  .sport-showcase{padding-bottom:56px}
  .sport-showcase>.sport-picker{margin-bottom:30px}
  .sport-guide{padding-top:0;padding-bottom:55px;gap:25px}
  .sport-guide h2{font-size:2.75rem;line-height:1.07}
  .sport-guide .eyebrow{font-size:.75rem}
  .sport-guide-copy>p{line-height:1.85}
  .related-sports{padding-top:0;padding-bottom:65px}
  .related-sports>.eyebrow{font-size:.75rem}
  .related-sports h2{font-size:2.75rem}
  .related-sports .sport-directory{margin-top:32px}
}
@media(max-width:370px){.hero-copy{padding-top:300px}.hero-campaign-media{height:495px}.hero-kicker{letter-spacing:.025em}.campaign-hero h1{font-size:19.5vw}.visual-mode button,.mockup-variants button{padding:8px 12px}.origin-lockup{gap:16px}.origin-number{font-size:4rem}.contact-inner{padding:32px 21px}.contact h2{font-size:18.2vw}.contact .button{width:100%;padding:14px 18px;gap:12px}}
@media(prefers-reduced-motion:reduce){.mockup-preview img{transform:scale(var(--mockup-scale,1))!important}}
.no-motion .mockup-preview img{transform:scale(var(--mockup-scale,1))!important}

/* Local services use the same open composition as the sport collections. */
.dropdown-services{border-top:1px solid var(--line);margin-top:7px;padding-top:7px}
.desktop-nav .dropdown-services a{font-size:.8125rem;color:#c7d8b0}
.mobile-services{display:flex;flex-direction:column;gap:5px;padding:0 0 12px 32px}
.mobile-services a{font-size:.875rem;color:#c7d8b0;padding:7px 0}
.footer-services{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 0 25px;font-size:.875rem;color:#c7d8b0}
.footer-services a:hover{color:var(--lime)}
.local-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);padding-top:20px;padding-bottom:105px}
.service-overview h2{font-size:clamp(3rem,5vw,5rem);line-height:1;max-width:560px;margin:20px 0 25px}
.service-overview>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:var(--muted);max-width:550px;margin-top:15px}
.service-links{align-self:center;min-width:0}
.service-teaser{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 0;border-bottom:1px solid var(--line)}
.service-teaser:first-child{border-top:1px solid var(--line)}
.service-teaser h3{font-size:2.2rem;line-height:1.1}
.service-teaser p{font-size:1rem;line-height:1.8;color:var(--muted);margin-top:12px;max-width:450px}
.service-teaser>.icon{font-size:1.75rem;color:var(--lime)}
.service-teaser:hover h3{color:var(--lime)}
.seritene-services{font-size:.875rem;line-height:1.8;color:#a5b398;margin-top:25px;max-width:500px}
.seritene-services a{color:#d2e5b5;text-decoration:underline;text-underline-offset:4px}
.service-hero{padding-top:136px;padding-bottom:80px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(35px,5vw,85px);align-items:center}
.service-hero h1{font-size:clamp(3.2rem,5.5vw,5.8rem);line-height:1.03;max-width:740px;margin-top:20px}
.service-intro{font-size:1rem;line-height:1.9;color:var(--muted);max-width:660px;margin:25px 0 30px}
.service-photo{position:relative;isolation:isolate;aspect-ratio:4 / 5;border-radius:32px 32px 110px 32px;overflow:hidden;background:#111811}
.service-photo>img{width:100%;height:100%;object-fit:cover}
.service-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#080d08e0)}
.service-photo figcaption{position:absolute;z-index:1;left:24px;right:40px;bottom:28px;max-width:310px;font-size:.75rem;line-height:1.7;color:#e5f0db}
.service-comparison{padding-bottom:70px}
.service-comparison h2{font-size:clamp(2.5rem,3.7vw,4rem);line-height:1.05;margin-bottom:28px}
.table-scroll{max-width:100%;overflow:auto;scrollbar-color:#7f913e #111510}
.service-comparison table{border-collapse:collapse;min-width:620px;width:100%;text-align:left;font-size:1rem;line-height:1.8}
.service-comparison th,.service-comparison td{padding:16px 25px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.service-comparison thead th{color:#b9caa5;font-size:.875rem;font-weight:600}
.service-comparison tbody th{font-weight:600}
.service-comparison td{color:var(--muted)}
.service-comparison a{text-decoration:underline;text-underline-offset:5px;color:#d5e5bd}
.service-guide{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);padding-bottom:66px}
.service-guide h2{font-size:clamp(2.6rem,3.7vw,4rem);line-height:1.06;max-width:520px}
.service-guide p{font-size:1rem;line-height:1.9;color:var(--muted)}
.service-guide p+p{margin-top:18px}
.service-related{display:inline-flex;margin-top:23px;color:var(--lime)}
.service-collections{padding-bottom:76px}
.service-collections>p{font-size:1rem;line-height:1.8;margin-bottom:20px}
.service-collections>div{display:flex;flex-wrap:wrap;gap:12px 30px}
.service-collections a{font-size:1rem;color:#d0e2b4;text-decoration:underline;text-underline-offset:5px}
.not-found{min-height:70svh;padding-top:180px;padding-bottom:70px}
.not-found h1{font-size:clamp(3.5rem,8vw,7.5rem);line-height:1;margin:20px 0 28px}
.not-found>p:not(.eyebrow){max-width:520px;font-size:1rem;color:var(--muted);margin-bottom:30px}
@media(max-width:850px){.local-services{grid-template-columns:1fr;gap:28px;padding-bottom:70px}.service-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero h1{font-size:clamp(3rem,8vw,5rem)}.service-photo{aspect-ratio:3 / 2;max-height:560px}.service-guide{grid-template-columns:1fr;gap:25px}.service-guide h2{max-width:670px}.service-hero{padding-bottom:55px}}
@media(max-width:600px){.local-services{padding-top:0;padding-bottom:62px}.service-overview .eyebrow{font-size:.75rem}.service-overview h2{font-size:3rem;margin-top:15px}.service-teaser{gap:22px;padding:23px 0}.service-teaser h3{font-size:2rem}.service-teaser p{font-size:1rem}.service-hero{padding-top:114px}.service-hero .eyebrow{font-size:.75rem}.service-hero h1{font-size:clamp(2.65rem,10.8vw,3.75rem);line-height:1.04}.service-intro{margin-top:22px;line-height:1.85}.service-photo{aspect-ratio:1 / 1.05;border-radius:25px 25px 85px 25px}.service-photo figcaption{left:20px;right:45px;bottom:24px}.service-comparison{padding-bottom:48px}.service-comparison h2{font-size:2.7rem}.service-guide{padding-bottom:46px}.service-guide h2{font-size:2.65rem}.service-guide p{line-height:1.85}.service-collections{padding-bottom:52px}.service-collections>div{gap:14px 24px}.not-found{padding-top:140px;padding-bottom:60px}}
