:root{color-scheme:light;--b-bg:#f8f9fa;--color-bg:#f8f9fa;--b-surface:#ffffff;--color-surface:#ffffff;--b-muted:#ededf0;--color-muted:#ededf0;--b-text:#18181b;--color-text:#18181b;--b-text-muted:#67676f;--color-text-muted:#67676f;--b-border:#dee2e6;--color-border:#dee2e6;--b-accent:#e11d48;--accent:#e11d48;--b-accent-contrast:#ffffff;--accent-contrast:#ffffff;--b-accent-text:#cf1b42;--accent-text:#cf1b42;--radius:12px;--radius-sm:6px;--font-heading:'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--font-body:'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--font-scale:1.0;--space:1.0;--shadow:0 6px 20px -10px rgba(15,23,42,.18);}
:root[data-theme=dark]{color-scheme:dark;--b-bg:#1c1c1e;--color-bg:#1c1c1e;--b-surface:#28282a;--color-surface:#28282a;--b-muted:#161616;--color-muted:#161616;--b-text:#f2f2f2;--color-text:#f2f2f2;--b-text-muted:#a3a3a3;--color-text-muted:#a3a3a3;--b-border:#38383a;--color-border:#38383a;--b-accent:#e11d48;--accent:#e11d48;--b-accent-contrast:#ffffff;--accent-contrast:#ffffff;--b-accent-text:#eb6582;--accent-text:#eb6582;--shadow:0 6px 20px -10px rgba(0,0,0,.6);}
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:wms-fade-out .28s ease both}::view-transition-new(root){animation:wms-fade-in .38s ease both}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:calc(100% * var(--font-scale,1))}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 1.0625rem/1.65 var(--font-body);transition:background-color .2s,color .2s}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-heading);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
.wms-skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-contrast);padding:.5rem 1rem;z-index:100}
.wms-skip:focus{left:1rem}
.wms-container{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.wms-container--narrow{width:min(780px,100% - 2.5rem)}
/* Every section takes its colors from the context it sits in: tones and brand-color backgrounds
   redefine the color and accent variables with values computed against that background (theme.py: context_vars). */
.wms-section{--pad-top:calc(clamp(3rem,7vw,6rem) * var(--space));--pad-bottom:var(--pad-top);padding-block:var(--pad-top) var(--pad-bottom);background:var(--color-bg);color:var(--color-text);position:relative}
.wms-space-compact{--pad-top:calc(clamp(2rem,4vw,3rem) * var(--space))}
.wms-space-spacious{--pad-top:calc(clamp(4.5rem,10vw,9rem) * var(--space))}
.wms-pt-none{--pad-top:0px!important}.wms-pt-compact{--pad-top:calc(clamp(2rem,4vw,3rem) * var(--space))!important}.wms-pt-normal{--pad-top:calc(clamp(3rem,7vw,6rem) * var(--space))!important}.wms-pt-spacious{--pad-top:calc(clamp(4.5rem,10vw,9rem) * var(--space))!important}
.wms-pb-none{--pad-bottom:0px!important}.wms-pb-compact{--pad-bottom:calc(clamp(2rem,4vw,3rem) * var(--space))!important}.wms-pb-normal{--pad-bottom:calc(clamp(3rem,7vw,6rem) * var(--space))!important}.wms-pb-spacious{--pad-bottom:calc(clamp(4.5rem,10vw,9rem) * var(--space))!important}
.wms-width-narrow>.wms-container{width:min(780px,100% - 2.5rem)}
.wms-width-wide>.wms-container{width:min(1360px,100% - 2.5rem)}
.wms-width-full>.wms-container{width:calc(100% - 2.5rem)}
.wms-align-left .wms-heading,.wms-align-left .wms-hero__content{text-align:left;margin-inline:0}
.wms-align-left .wms-actions{justify-content:flex-start}
.wms-align-center .wms-heading{text-align:center;margin-inline:auto}
.wms-align-center .wms-actions{justify-content:center}
.wms-align-right .wms-heading,.wms-align-right .wms-hero__content{text-align:right;margin-inline:auto 0}
.wms-align-right .wms-actions{justify-content:flex-end}
@media (max-width:820px){.wms-hide-mobile{display:none!important}}
@media (min-width:821px){.wms-hide-desktop{display:none!important}}
.wms-heading{max-width:720px;margin-bottom:2.5rem}
.wms-heading--center{margin-inline:auto;text-align:center}
.wms-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.75rem}
.wms-title{font-size:clamp(1.75rem,3.5vw,2.6rem)}
.wms-lead{font-size:1.15rem;color:var(--color-text-muted)}
.wms-prose{color:var(--color-text-muted)}
.wms-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.wms-actions--center{justify-content:center}
.wms-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:var(--radius-sm);text-decoration:none;border:2px solid transparent;transition:transform .15s,filter .15s,background-color .15s;cursor:pointer;font:inherit;font-weight:600}
.wms-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.wms-btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,label:focus-within{outline:3px solid var(--accent);outline-offset:2px}
.wms-btn--lg{padding:.9rem 1.6rem;font-size:1.05rem}
.wms-btn--primary{background:var(--accent);color:var(--accent-contrast)}
.wms-btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
.wms-btn--outline{border-color:currentColor;background:transparent}
.wms-btn--text{background:transparent;padding-inline:0;text-decoration:underline;text-underline-offset:4px}
.wms-rounded{border-radius:var(--radius)}
.wms-img-placeholder{display:grid;place-items:center;min-height:180px;border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-muted);color:var(--color-text-muted);font-size:.9rem}

/* Scroll reveal (motion grammar) - CSS scroll-driven animations, progressive enhancement */
@supports (animation-timeline:view()){
 @media (prefers-reduced-motion:no-preference){
  html[data-motion=subtle] main .wms-section>.wms-container{animation:wms-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  html[data-motion=energetic] main .wms-section>.wms-container{animation:wms-reveal-big linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
 }
}
@keyframes wms-reveal{from{opacity:0;transform:translateY(24px)}}
@keyframes wms-reveal-big{from{opacity:0;transform:translateY(56px) scale(.96)}}
@keyframes wms-fade-out{to{opacity:0}}
@keyframes wms-fade-in{from{opacity:0}}
@keyframes wms-slide-up-in{from{opacity:0;transform:translateY(32px)}}
@keyframes wms-slide-left-out{to{opacity:0;transform:translateX(-40px)}}
@keyframes wms-slide-left-in{from{opacity:0;transform:translateX(40px)}}
@keyframes wms-slide-right-out{to{opacity:0;transform:translateX(40px)}}
@keyframes wms-slide-right-in{from{opacity:0;transform:translateX(-40px)}}
@keyframes wms-zoom-in{from{opacity:0;transform:scale(.96)}}
@keyframes wms-blur-out{to{opacity:0;filter:blur(8px)}}
@keyframes wms-blur-in{from{opacity:0;filter:blur(8px)}}
@keyframes wms-fade-slide-in{from{opacity:0;transform:translateY(12px)}}

/* Header */
.wms-header{z-index:50;background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--color-border);position:relative}
.wms-header--sticky{position:sticky;top:0}
.wms-header__bar{display:flex;align-items:center;gap:1rem;min-height:68px}
.wms-brand{display:inline-flex;align-items:center;gap:.6rem;font:700 1.2rem var(--font-heading);text-decoration:none;margin-right:auto}
.wms-brand img{height:36px;width:auto}
.wms-logo--dark{display:none}
:root[data-theme=dark] .wms-logo--light{display:none}
:root[data-theme=dark] .wms-logo--dark{display:block}
.wms-nav{display:flex;align-items:center;gap:.25rem}
.wms-nav a,.wms-dd>summary{padding:.5rem .8rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;opacity:.85;cursor:pointer}
.wms-nav a:hover,.wms-nav a[aria-current=page],.wms-dd>summary:hover{opacity:1;background:var(--color-muted)}
.wms-nav a.wms-btn{opacity:1}
.wms-nav a.wms-btn:hover{background:var(--accent)}
.wms-dd{position:relative}
.wms-dd>summary{list-style:none;display:inline-flex;align-items:center;gap:.3rem}
.wms-dd>summary::-webkit-details-marker{display:none}
.wms-dd>summary::after{content:"";width:.45em;height:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.wms-dd__menu{position:absolute;top:calc(100% + .4rem);left:0;min-width:220px;padding:.4rem;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow),0 12px 30px -12px rgba(0,0,0,.25);z-index:60}
.wms-dd__menu a{opacity:.9}
.wms-icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}
.wms-icon-btn svg{width:18px;height:18px}
.wms-theme-toggle [data-icon]{display:none}
html[data-theme-mode=auto] .wms-theme-toggle [data-icon=auto],html[data-theme-mode=light] .wms-theme-toggle [data-icon=light],html[data-theme-mode=dark] .wms-theme-toggle [data-icon=dark]{display:block}
.wms-nav-toggle{display:none}
.wms-header--centered .wms-header__bar{flex-wrap:wrap;justify-content:center;padding-block:.75rem;row-gap:.4rem}
.wms-header--centered .wms-brand{margin:0;flex-basis:100%;justify-content:center}
.wms-header--centered .wms-nav{justify-content:center}
.wms-header--centered .wms-theme-toggle{position:absolute;right:1.25rem;top:1rem}
@media (max-width:820px){.wms-header--centered .wms-brand{flex-basis:auto;margin-right:auto}.wms-header--centered .wms-theme-toggle{position:static}}
@media (max-width:820px){
  .wms-nav-toggle{display:inline-grid}
  .wms-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;padding:.75rem 1.25rem 1.25rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}
  .wms-header[data-open] .wms-nav{display:flex}
  .wms-nav .wms-btn{margin-top:.5rem}
  .wms-dd__menu{position:static;box-shadow:none;border:0;padding:0 0 0 1rem;background:transparent}
}
.wms-header--minimal .wms-nav-toggle{display:inline-grid}
.wms-header--minimal .wms-nav{display:none;position:absolute;right:1.25rem;left:auto;top:calc(100% + .5rem);min-width:260px;flex-direction:column;align-items:stretch;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 18px 40px -16px rgba(0,0,0,.35)}
.wms-header--minimal[data-open] .wms-nav{display:flex}
.wms-header--minimal .wms-dd__menu{position:static;box-shadow:none;border:0;padding:0 0 0 1rem}

/* Hero */
.wms-hero{position:relative;padding-block:calc(clamp(4rem,10vw,8rem) * var(--space));text-align:center}
.wms-hero--tight{padding-block:calc(clamp(2.5rem,6vw,4.5rem) * var(--space))}
.wms-hero--xl{min-height:min(88svh,900px);display:grid;align-items:center}
.wms-hero--left{text-align:left}
.wms-hero__content{max-width:780px;margin-inline:auto;position:relative;z-index:1}
.wms-hero--left .wms-hero__content{margin-inline:0}
.wms-hero .wms-actions{justify-content:center}
.wms-hero--left .wms-actions{justify-content:flex-start}
.wms-hero__title{font-size:clamp(2.3rem,6vw,4.2rem);font-weight:700}
.wms-hero__subtitle{font-size:clamp(1.1rem,2vw,1.3rem);color:var(--color-text-muted);max-width:640px;margin-inline:auto}
.wms-hero__subtitle--large{font-size:clamp(1.25rem,2.6vw,1.6rem)}
.wms-hero--left .wms-hero__subtitle{margin-inline:0}
.wms-hero--has-bg{background-size:cover;background-position:center}
.wms-hero--has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.65))}
.wms-hero--overlay-solid::before{background:rgba(0,0,0,.55)}
.wms-hero--overlay-none::before{display:none}
.wms-hero--overlay-none.wms-hero--scrim::before{display:block;background:rgba(0,0,0,.4)}
.wms-hero--has-bg .wms-btn--secondary{background:color-mix(in srgb,var(--ctx-text,#fff) 12%,transparent);color:var(--ctx-text,#fff);border-color:color-mix(in srgb,var(--ctx-text,#fff) 50%,transparent)}
.wms-hero__split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.wms-hero--media-left .wms-hero__media{order:-1}
.wms-hero--split .wms-hero__content{margin:0}
.wms-hero__media img,.wms-hero__media .wms-img-placeholder{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:820px){.wms-hero__split{grid-template-columns:1fr}.wms-hero--media-left .wms-hero__media{order:0}}
.wms-hero--fullscreen{min-height:100svh;display:flex;align-items:flex-end;padding-block:0;text-align:left}
.wms-hero--fullscreen .wms-container{padding-block:clamp(3rem,8vw,6rem)}
.wms-hero--fullscreen .wms-hero__content{margin:0;max-width:820px}
.wms-hero--fullscreen .wms-hero__subtitle{margin-inline:0}
.wms-hero__floating-cta{position:absolute;right:clamp(1.25rem,4vw,3rem);bottom:clamp(1.25rem,4vw,3rem);display:flex;gap:.75rem;flex-wrap:wrap;z-index:2}
@media (max-width:820px){.wms-hero__floating-cta{position:static;margin-top:1.5rem}}
.wms-hero--editorial{text-align:left}
.wms-hero--editorial .wms-hero__title{font-size:clamp(2.8rem,8vw,6rem);letter-spacing:-.03em;max-width:14ch}
.wms-hero__rule{height:2px;background:currentColor;opacity:.85;margin:clamp(1.5rem,4vw,2.5rem) 0}
.wms-hero__band{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:end}
.wms-hero__band .wms-hero__subtitle{margin:0;max-width:none}
.wms-hero__band .wms-actions{margin:0;justify-content:flex-end}
@media (max-width:820px){.wms-hero__band{grid-template-columns:1fr}.wms-hero__band .wms-actions{justify-content:flex-start}}

/* Text & image / centered / quote */
.wms-content__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.wms-content--img-left .wms-content__media{order:-1}
.wms-content--img-none .wms-content__grid{grid-template-columns:1fr;max-width:780px}
.wms-content--align-center .wms-content__grid{margin-inline:auto;text-align:center}
.wms-content__media img{width:100%;box-shadow:var(--shadow)}
@media (max-width:820px){.wms-content__grid{grid-template-columns:1fr}.wms-content--img-left .wms-content__media{order:0}}
.wms-content--centered .wms-content__text{max-width:760px;margin-inline:auto;text-align:center}
.wms-content--centered .wms-actions{justify-content:center}
.wms-quote-block{max-width:880px;margin-inline:auto;text-align:center}
.wms-quote-block blockquote{margin:0;font:500 clamp(1.5rem,3.4vw,2.4rem)/1.35 var(--font-heading);position:relative}
.wms-quote-block__mark{display:block;font:700 5rem/0.6 var(--font-heading);color:var(--accent-text);margin-bottom:1rem}
.wms-quote-block cite{display:block;margin-top:1.5rem;font-style:normal;font-weight:600;color:var(--color-text-muted)}

/* Grids & cards */
.wms-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.wms-grid--2{--cols:2}.wms-grid--3{--cols:3}.wms-grid--4{--cols:4}
@media (max-width:980px){.wms-grid--3,.wms-grid--4{--cols:2}}
@media (max-width:620px){.wms-grid{--cols:1!important}}
.wms-cards--compact .wms-grid{gap:1rem}.wms-cards--relaxed .wms-grid{gap:2.25rem}
.wms-card{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--color-surface);color:var(--color-text);text-decoration:none}
.wms-elev-flat .wms-card,.wms-elev-flat .wms-row{border:1px solid var(--color-border)}
.wms-elev-soft .wms-card,.wms-elev-soft .wms-row{border:1px solid var(--color-border);box-shadow:0 6px 20px -10px rgba(15,23,42,.2)}
.wms-elev-pronounced .wms-card,.wms-elev-pronounced .wms-row{box-shadow:0 24px 48px -18px rgba(15,23,42,.35)}
:root[data-theme=dark] .wms-elev-pronounced .wms-card,:root[data-theme=dark] .wms-elev-pronounced .wms-row{box-shadow:0 24px 48px -18px rgba(0,0,0,.85);border:1px solid var(--color-border)}
.wms-corner-sharp .wms-card,.wms-corner-sharp .wms-row,.wms-corner-sharp img,.wms-corner-sharp .wms-img-placeholder{border-radius:0!important}
.wms-card__img{width:100%;aspect-ratio:16/10;object-fit:cover}
.wms-card .wms-img-placeholder{border-radius:0;min-height:140px}
.wms-card__body{padding:1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.wms-cards--compact .wms-card__body{padding:1rem}.wms-cards--relaxed .wms-card__body{padding:1.9rem}
.wms-card__title{font-size:1.2rem;margin:0}
.wms-card__text{color:var(--color-text-muted);flex:1}
.wms-card__link{font-weight:600;color:var(--accent-text);text-decoration:none;margin-top:.5rem}
.wms-rows{display:flex;flex-direction:column;gap:1.25rem}
.wms-cards--relaxed .wms-rows{gap:2rem}
.wms-row{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;padding:1.5rem;border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-decoration:none}
.wms-row--reverse{margin-left:clamp(0rem,6vw,4rem)}
.wms-row:not(.wms-row--reverse){margin-right:clamp(0rem,6vw,4rem)}
.wms-row__marker{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-contrast);font:700 1.2rem var(--font-heading)}
.wms-row h3{margin:0 0 .3rem;font-size:1.25rem}
.wms-mag{display:flex;flex-direction:column;gap:clamp(2rem,5vw,4rem)}
.wms-mag__row{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;text-decoration:none;color:inherit}
.wms-mag__row--reverse .wms-mag__media{order:2}
.wms-mag__row--text-only{grid-template-columns:1fr;max-width:760px}
.wms-mag__media img,.wms-mag__media .wms-img-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.wms-mag__row h3{font-size:clamp(1.5rem,3vw,2.2rem)}
@media (max-width:820px){.wms-mag__row{grid-template-columns:1fr}.wms-mag__row--reverse .wms-mag__media{order:0}.wms-row--reverse,.wms-row:not(.wms-row--reverse){margin:0}}

/* Gallery */
.wms-gallery__item{margin:0;position:relative;overflow:hidden;border-radius:var(--radius)}
.wms-gallery__item img,.wms-gallery__item .wms-img-placeholder{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);transition:transform .4s ease,opacity .3s ease}
.wms-gallery__item figcaption{font-size:.9rem;color:var(--color-text-muted);margin-top:.5rem}
.wms-gal--tight .wms-grid{gap:.5rem}.wms-gal--relaxed .wms-grid{gap:2rem}
.wms-gal--hover-zoom .wms-gallery__item:hover img{transform:scale(1.06)}
.wms-gal--hover-fade .wms-gallery__item:hover img{opacity:.75}
.wms-gal--overlay .wms-gallery__item figcaption{position:absolute;inset:auto 0 0 0;margin:0;padding:2rem 1rem .9rem;color:#fff;opacity:1;background:linear-gradient(transparent,rgba(0,0,0,.7));border-radius:0 0 var(--radius) var(--radius)}
.wms-gal--masonry .wms-grid{display:block;columns:var(--cols,3) 240px;column-gap:1.25rem}
.wms-gal--masonry.wms-gal--tight .wms-grid{column-gap:.5rem}.wms-gal--masonry.wms-gal--relaxed .wms-grid{column-gap:2rem}
.wms-gal--masonry .wms-gallery__item{break-inside:avoid;margin-bottom:1.25rem}
.wms-gal--masonry .wms-gallery__item img{aspect-ratio:auto}
.wms-gal-editorial__feature{margin-bottom:1.5rem}
.wms-gal-editorial__feature img,.wms-gal-editorial__feature .wms-img-placeholder{aspect-ratio:21/9}

/* Carousel */
.wms-carousel__viewport{position:relative}
.wms-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:1rem;scrollbar-width:none;border-radius:var(--radius)}
.wms-carousel__track::-webkit-scrollbar{display:none}
.wms-carousel__slide{flex:0 0 100%;scroll-snap-align:center;margin:0}
.wms-carousel__slide img,.wms-carousel__slide .wms-img-placeholder{width:100%;aspect-ratio:var(--ratio,16/9);object-fit:cover;border-radius:var(--radius)}
.wms-carousel__slide figcaption{margin-top:.6rem;color:var(--color-text-muted);text-align:center}
.wms-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:1.2rem;cursor:pointer;display:grid;place-items:center}
.wms-carousel__arrow--prev{left:.75rem}.wms-carousel__arrow--next{right:.75rem}
.wms-carousel__dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}
.wms-carousel__dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:currentColor;opacity:.25;cursor:pointer}
.wms-carousel__dots button[aria-current=true]{opacity:.85}

/* FAQ */
.wms-faq__list{display:grid;gap:.75rem}
.wms-faq__item{padding:0 1.25rem;color:var(--color-text)}
.wms-faq__item summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-weight:600;display:flex;justify-content:space-between;gap:1rem}
.wms-faq__item summary::-webkit-details-marker{display:none}
.wms-faq__item summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--accent-text)}
.wms-faq__item[open] summary::after{content:"\2212"}
.wms-faq__answer{padding-bottom:1.1rem;color:var(--color-text-muted)}
.wms-faq--floating .wms-faq__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}
.wms-faq--divided .wms-faq__list{gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}
.wms-faq--divided .wms-faq__item+.wms-faq__item{border-top:1px solid var(--color-border)}
.wms-faq--minimal .wms-faq__list{gap:0}
.wms-faq--minimal .wms-faq__item{padding:0;border-bottom:1px solid var(--color-border);color:inherit}
.wms-faq-side{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.wms-faq-side__tabs{display:flex;flex-direction:column;gap:.35rem}
.wms-faq-side__tab{display:block;padding:.85rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;border:1px solid transparent}
.wms-faq-side__tab input{position:absolute;opacity:0;pointer-events:none}
.wms-faq-side__tab:has(input:checked){background:var(--color-surface);border-color:var(--color-border);color:var(--accent-text)}
.wms-faq-side__panel{display:none;padding:1.5rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}
.wms-faq-side__panel h3{margin-top:0}
.wms-faq-side:not(:has(input:checked)) .wms-faq-side__panel:first-child{display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(1) input:checked) .wms-faq-side__panel:nth-child(1){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(2) input:checked) .wms-faq-side__panel:nth-child(2){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(3) input:checked) .wms-faq-side__panel:nth-child(3){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(4) input:checked) .wms-faq-side__panel:nth-child(4){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(5) input:checked) .wms-faq-side__panel:nth-child(5){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(6) input:checked) .wms-faq-side__panel:nth-child(6){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(7) input:checked) .wms-faq-side__panel:nth-child(7){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(8) input:checked) .wms-faq-side__panel:nth-child(8){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(9) input:checked) .wms-faq-side__panel:nth-child(9){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(10) input:checked) .wms-faq-side__panel:nth-child(10){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(11) input:checked) .wms-faq-side__panel:nth-child(11){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(12) input:checked) .wms-faq-side__panel:nth-child(12){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(13) input:checked) .wms-faq-side__panel:nth-child(13){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(14) input:checked) .wms-faq-side__panel:nth-child(14){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(15) input:checked) .wms-faq-side__panel:nth-child(15){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(16) input:checked) .wms-faq-side__panel:nth-child(16){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(17) input:checked) .wms-faq-side__panel:nth-child(17){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(18) input:checked) .wms-faq-side__panel:nth-child(18){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(19) input:checked) .wms-faq-side__panel:nth-child(19){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(20) input:checked) .wms-faq-side__panel:nth-child(20){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(21) input:checked) .wms-faq-side__panel:nth-child(21){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(22) input:checked) .wms-faq-side__panel:nth-child(22){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(23) input:checked) .wms-faq-side__panel:nth-child(23){display:block}
.wms-faq-side:has(.wms-faq-side__tab:nth-child(24) input:checked) .wms-faq-side__panel:nth-child(24){display:block}

@media (max-width:820px){.wms-faq-side{grid-template-columns:1fr}}

/* Timeline */
.wms-timeline__list{list-style:none;margin:0;padding:0;border-left:2px solid var(--color-border)}
.wms-timeline__item{position:relative;padding:0 0 2rem 2rem}
.wms-timeline__item::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.wms-timeline__date{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.25rem}
.wms-timeline__item h3{font-size:1.2rem;margin-bottom:.3rem}
.wms-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;counter-reset:step;position:relative}
.wms-steps::before{content:"";position:absolute;top:1.5rem;left:1.5rem;right:1.5rem;height:2px;background:var(--color-border)}
.wms-step{position:relative}
.wms-step__marker{position:relative;width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-contrast);font:700 1.1rem var(--font-heading);margin-bottom:1rem;box-shadow:0 0 0 6px var(--color-bg)}
.wms-step h3{font-size:1.1rem;margin-bottom:.3rem}
@media (max-width:820px){.wms-steps::before{display:none}}

/* Stats */
.wms-stats__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;text-align:center}
.wms-stat strong{display:block;font:700 clamp(2.2rem,5vw,3.2rem)/1.1 var(--font-heading);color:var(--accent-text)}
.wms-stat span{color:var(--color-text-muted)}

/* Testimonials */
.wms-quote{margin:0;padding:1.6rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);display:flex;flex-direction:column;gap:1.2rem;box-shadow:var(--shadow)}
.wms-quote blockquote{margin:0;font-size:1.05rem}
.wms-quote figcaption{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.wms-quote figcaption span{display:flex;flex-direction:column}
.wms-quote small{color:var(--color-text-muted)}
.wms-quote__avatar,.wms-quote .wms-img-placeholder{width:44px;height:44px;min-height:0;border-radius:50%;object-fit:cover}
.wms-quotes--spotlight .wms-quote{max-width:820px;margin-inline:auto;text-align:center;background:transparent;border:0;box-shadow:none;align-items:center}
.wms-quotes--spotlight .wms-quote blockquote{font:500 clamp(1.4rem,3vw,2.1rem)/1.4 var(--font-heading)}
.wms-quotes--spotlight .wms-grid{--cols:1!important;gap:3rem}

/* CTA */
.wms-cta__box{text-align:center;max-width:760px;margin-inline:auto}
.wms-cta .wms-actions{justify-content:center}
.wms-cta--split .wms-cta__box{max-width:none;text-align:left;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.wms-cta--split .wms-actions{justify-content:flex-end;margin:0}
@media (max-width:820px){.wms-cta--split .wms-cta__box{grid-template-columns:1fr}.wms-cta--split .wms-actions{justify-content:flex-start}}

/* Forms: contact + newsletter */
.wms-contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem)}
.wms-contact__details a{color:var(--accent-text)}
.wms-form{display:grid;gap:1rem;padding:1.75rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}
.wms-form label{display:grid;gap:.35rem;font-weight:500;font-size:.95rem}
.wms-form input,.wms-form textarea,.wms-form select{font:inherit;padding:.7rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}
.wms-form button{justify-self:start}
@media (max-width:820px){.wms-contact__grid{grid-template-columns:1fr}}
.wms-news{max-width:640px;margin-inline:auto;text-align:center}
.wms-news__form{display:flex;gap:.6rem;margin-top:1.5rem;flex-wrap:wrap}
.wms-news__form input[type=email]{flex:1;min-width:220px;font:inherit;padding:.8rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}
.wms-news__consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--color-text-muted);text-align:left;margin-top:.9rem;flex-basis:100%}
.wms-news__consent a{color:inherit}

/* Columns & rows */
.wms-cols{display:grid;gap:var(--gap,2rem);grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.wms-cols--rows{grid-template-columns:minmax(0,1fr)}
.wms-cols--gap-none{--gap:0}.wms-cols--gap-small{--gap:1rem}.wms-cols--gap-medium{--gap:clamp(1.25rem,3vw,2rem)}.wms-cols--gap-large{--gap:clamp(2rem,5vw,4rem)}
.wms-cols--columns.wms-cols--ratio-1-2{grid-template-columns:1fr 2fr}.wms-cols--columns.wms-cols--ratio-2-1{grid-template-columns:2fr 1fr}
.wms-cols--columns.wms-cols--ratio-1-3{grid-template-columns:1fr 3fr}.wms-cols--columns.wms-cols--ratio-3-1{grid-template-columns:3fr 1fr}
.wms-cols--columns.wms-cols--ratio-auto{display:flex;flex-wrap:wrap}.wms-cols--ratio-auto>.wms-col{flex:1 1 220px}
.wms-cols--v-top{align-items:start}.wms-cols--v-center{align-items:center}.wms-cols--v-bottom{align-items:end}.wms-cols--v-stretch{align-items:stretch}
@media (max-width:980px){.wms-cols--stack-tablet{display:flex;flex-direction:column}.wms-cols--stack-tablet.wms-cols--rev{flex-direction:column-reverse}}
@media (max-width:640px){.wms-cols--stack-mobile{display:flex;flex-direction:column}.wms-cols--stack-mobile.wms-cols--rev{flex-direction:column-reverse}}
.wms-col{display:flex;flex-direction:column;gap:1rem;min-width:0}
.wms-col--flow-row{flex-direction:row;flex-wrap:wrap;align-items:center}
.wms-col--flow-row>*{flex:1 1 180px}
.wms-col--align-center{text-align:center;align-items:center}.wms-col--align-center .wms-actions{justify-content:center}
.wms-col--align-right{text-align:right;align-items:flex-end}.wms-col--align-right .wms-actions{justify-content:flex-end}
.wms-col--filled{background:var(--color-bg);color:var(--color-text);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--radius)}
.wms-col--surface{background:var(--color-surface);border:1px solid var(--color-border);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--radius);box-shadow:var(--shadow)}
.wms-col--outline{border:1px solid var(--color-border);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--radius)}
.wms-col .wms-actions{margin-top:0}
.wms-blk-h{margin:0}.wms-blk-h--small{font-size:1.1rem}.wms-blk-h--medium{font-size:clamp(1.35rem,2.6vw,1.8rem)}.wms-blk-h--large{font-size:clamp(1.8rem,4vw,2.8rem)}
.wms-blk-text{color:var(--color-text-muted)}
.wms-blk-figure{margin:0}.wms-blk-figure img{width:100%;object-fit:cover}.wms-blk-figure figcaption{margin-top:.5rem;font-size:.9rem;color:var(--color-text-muted)}
.wms-blk-list{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}
.wms-blk-list li{position:relative;padding-left:1.6rem}
.wms-blk-list li::before{content:"";position:absolute;left:0;top:.5em;width:.75rem;height:.4rem;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:rotate(-45deg)}
.wms-col--align-center .wms-blk-list,.wms-col--align-right .wms-blk-list{justify-items:inherit}
.wms-blk-quote{margin:0}.wms-blk-quote blockquote{margin:0;font:500 1.2rem/1.5 var(--font-heading)}.wms-blk-quote figcaption{margin-top:.6rem;font-weight:600;color:var(--color-text-muted)}
.wms-blk-spacer--small{height:.5rem}.wms-blk-spacer--medium{height:1.5rem}.wms-blk-spacer--large{height:3rem}
.wms-blk-hr{border:0;border-top:1px solid var(--color-border);margin:.25rem 0;width:100%}
.wms-blk-empty{opacity:.6;font-size:.9rem;padding:1rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);margin:0}

/* Embed */
.wms-embed__body iframe{max-width:100%;border:0;border-radius:var(--radius)}

/* Footer */
.wms-footer{padding-block:2.5rem;border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.95rem}
.wms-footer__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.wms-footer nav{display:flex;flex-wrap:wrap;gap:1rem}
.wms-footer a{opacity:.8;text-decoration:none}
.wms-footer a:hover{opacity:1;text-decoration:underline}
.wms-footer__brand{font:700 1.15rem var(--font-heading)}
.wms-footer__tagline{color:var(--color-text-muted);max-width:36ch}
.wms-footer__social{display:flex;gap:.5rem}
.wms-footer__social a{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);opacity:.85}
.wms-footer__social svg{width:17px;height:17px}
.wms-footer--centered .wms-footer__stack{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.wms-footer__cols{display:grid;grid-template-columns:1.5fr repeat(auto-fit,minmax(140px,1fr));gap:2rem;margin-bottom:2rem}
.wms-footer__col h3{font:600 .8rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:.8rem}
.wms-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.wms-footer__bottom{border-top:1px solid var(--color-border);padding-top:1.25rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.wms-footer__credit{margin:1.25rem 0 0;font-size:.8rem;opacity:.75}
.wms-footer__credit a{color:inherit}
.wms-footer--centered .wms-footer__credit{text-align:center}

/* Site API forms + booking + collections */
.wms-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.wms-form__status{margin:.4rem 0 0;font-size:.95rem;min-height:1.2em}
.wms-form__status.is-ok{color:var(--accent-text)}
.wms-form__status.is-error{color:#c0392b}
.wms-module-note{padding:.7rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius);font-size:.9rem;color:var(--color-text-muted)}
.wms-booking{display:grid;gap:1rem;max-width:760px;margin:0 auto}
.wms-booking__days,.wms-booking__times{display:flex;flex-wrap:wrap;gap:.5rem}
.wms-booking__days button,.wms-booking__times button{font:inherit;padding:.55rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}
.wms-booking__days button.is-on,.wms-booking__times button.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.wms-booking__chosen{font-weight:600;margin:0}
.wms-booking__done{font-size:1.2rem;font-weight:600;color:var(--accent-text);margin:0}
.wms-booking__msg,.wms-coll__msg{color:var(--color-text-muted)}
.wms-coll{display:grid;gap:1.25rem}
.wms-coll--cards.wms-coll--c2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.wms-coll--cards.wms-coll--c3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.wms-coll--cards.wms-coll--c4{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.wms-coll--cards .wms-coll__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.4rem}
.wms-coll--list .wms-coll__item{display:grid;gap:.25rem;padding:.9rem 0;border-bottom:1px solid var(--color-border)}
.wms-coll__item img{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover;width:100%}
.wms-coll__item h3{margin:0}
.wms-coll__meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:0;font-weight:600;color:var(--accent-text)}
.wms-coll__text{margin:0;color:var(--color-text-muted);white-space:pre-line}
.wms-coll__link{font-weight:600}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}}
.wms-card,.wms-row,.wms-quote,.wms-form,.wms-faq--floating .wms-faq__item,.wms-faq--divided .wms-faq__list,.wms-faq-side__panel,.wms-faq-side__tab:has(input:checked),.wms-dd__menu,.wms-coll--cards .wms-coll__item,.wms-booking__days button,.wms-booking__times button,.wms-news__form input,.wms-btn--secondary,.wms-col--surface{--color-bg:var(--b-bg);--color-surface:var(--b-surface);--color-muted:var(--b-muted);--color-text:var(--b-text);--color-text-muted:var(--b-text-muted);--color-border:var(--b-border);--accent:var(--b-accent);--accent-contrast:var(--b-accent-contrast);--accent-text:var(--b-accent-text);color:var(--color-text)}
.wms-quotes--spotlight .wms-quote{--color-bg:inherit;--color-surface:inherit;--color-muted:inherit;--color-text:inherit;--color-text-muted:inherit;--color-border:inherit;--accent:inherit;--accent-contrast:inherit;--accent-text:inherit;color:inherit}
:root .wms-tone-muted,:root .wms-footer{--color-bg:#ededf0;--color-surface:#e0e0e3;--color-muted:#d8d8db;--color-text:#18181b;--color-text-muted:#636366;--color-border:#bebec1;--accent:#e11d48;--accent-contrast:#ffffff;--accent-text:#c61a3f;}
:root .wms-tone-accent{--color-bg:#e11d48;--color-surface:#e32b53;--color-muted:#e4345a;--color-text:#ffffff;--color-text-muted:#ffffff;--color-border:#e84f70;--accent:#ffffff;--accent-contrast:#e11d48;--accent-text:#ffffff;}
:root .wms-tone-inverted{--color-bg:#18181b;--color-surface:#252628;--color-muted:#2e2e31;--color-text:#f8f9fa;--color-text-muted:#9e9fa1;--color-border:#494a4c;--accent:#e11d48;--accent-contrast:#ffffff;--accent-text:#e74568;}
:root[data-theme=dark] .wms-tone-muted,:root[data-theme=dark] .wms-footer{--color-bg:#161616;--color-surface:#232323;--color-muted:#2c2c2c;--color-text:#f2f2f2;--color-text-muted:#9a9a9a;--color-border:#464646;--accent:#e11d48;--accent-contrast:#ffffff;--accent-text:#e74568;}
:root[data-theme=dark] .wms-tone-accent{--color-bg:#e11d48;--color-surface:#e32b53;--color-muted:#e4345a;--color-text:#ffffff;--color-text-muted:#ffffff;--color-border:#e84f70;--accent:#ffffff;--accent-contrast:#e11d48;--accent-text:#ffffff;}
:root[data-theme=dark] .wms-tone-inverted{--color-bg:#f2f2f2;--color-surface:#e5e5e5;--color-muted:#dddddd;--color-text:#1c1c1e;--color-text-muted:#676768;--color-border:#c3c3c3;--accent:#e11d48;--accent-contrast:#ffffff;--accent-text:#d31b44;}
