/*
Theme Name: St. Johann Apotheke
Theme URI: https://www.stjohannapotheke.ch/
Author: Tarek Dakroub
Author URI: mailto:tarek@dakroub.ch
Description: Thème WordPress vivant, accessible et léger pour la St. Johann-Apotheke Basel.
Version: 1.3.0
Text Domain: stjohannapotheke
Requires at least: 6.5
Requires PHP: 8.1
*/

:root {
  --sja-brand: #166d0c;
  --sja-brand-hover: #105b08;
  --sja-forest: #173f2f;
  --sja-forest-deep: #0e3024;
  --sja-leaf: #64a853;
  --sja-lime: #dcef72;
  --sja-mint: #e7f1df;
  --sja-sand: #f2e5cd;
  --sja-peach: #f5ddcd;
  --sja-paper: #faf6ec;
  --sja-canvas: #fffdf8;
  --sja-white: #fff;
  --sja-heading: #203b2f;
  --sja-body: #34483e;
  --sja-muted: #5a6a61;
  --sja-line: #d8e0d8;
  --sja-danger: #963944;
  --sja-radius-sm: .75rem;
  --sja-radius: 1.4rem;
  --sja-radius-lg: 2.25rem;
  --sja-shadow-sm: 0 12px 30px rgba(25, 55, 42, .09);
  --sja-shadow: 0 28px 70px rgba(25, 55, 42, .16);
  --sja-content: 1220px;
  --sja-sans: "Helvetica Neue", "Segoe UI Variable", "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --sja-serif: var(--sja-sans);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--sja-body); background: var(--sja-canvas); font-family: var(--sja-sans); font-size: 1.0625rem; font-weight: 400; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.sja-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { color: var(--sja-heading); text-wrap: balance; }
h1, h2 { font-family: var(--sja-sans); }
p { text-wrap: pretty; }
a { color: var(--sja-brand); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--sja-brand-hover); text-decoration: none; }
button, input, textarea, select { font: inherit; }
a:focus-visible, button:focus-visible { border-radius: .2rem; outline: 3px solid #0d5e1a; outline-offset: 4px; box-shadow: 0 0 0 7px rgba(255,255,255,.96); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.sja-skip-link { position: fixed; z-index: 100; top: .8rem; left: .8rem; width: auto; height: auto; overflow: visible; clip: auto; padding: .7rem 1rem; border-radius: .5rem; color: var(--sja-white); background: var(--sja-forest-deep); font-weight: 750; white-space: normal; text-decoration: none; transform: translateY(-160%); }
.sja-skip-link:focus { color: var(--sja-white); transform: translateY(0); }
.sja-container { width: min(calc(100% - 3rem), var(--sja-content)); margin-inline: auto; }

/* Header */
.sja-site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid rgba(216,224,216,.78); background: rgba(255,253,248,.9); backdrop-filter: blur(18px); transition: box-shadow .25s ease, background-color .25s ease; }
body.sja-menu-open .sja-site-header { background: var(--sja-paper); backdrop-filter: none; }
.sja-scrolled .sja-site-header { background: rgba(255,253,248,.97); box-shadow: 0 10px 35px rgba(21,55,41,.08); }
.sja-header-inner { min-height: 5.2rem; display: flex; align-items: center; gap: 2.4rem; transition: min-height .25s ease; }
.sja-scrolled .sja-header-inner { min-height: 4.45rem; }
.sja-logo { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .85rem; color: var(--sja-forest); font-weight: 550; letter-spacing: -.01em; text-decoration: none; }
.sja-logo:hover { color: var(--sja-brand); text-decoration: none; }
.sja-logo img { width: 4.5rem; height: 4.5rem; object-fit: contain; transition: width .36s cubic-bezier(.22,1,.36,1), height .36s cubic-bezier(.22,1,.36,1); }
.sja-scrolled .sja-logo img { width: 3.75rem; height: 3.75rem; }
.sja-nav { margin-left: auto; }
.sja-nav ul { display: flex; align-items: center; gap: clamp(1.1rem, 2.2vw, 2rem); margin: 0; padding: 0; list-style: none; }
.sja-nav li { position: relative; }
.sja-nav a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--sja-heading); font-size: .92rem; font-weight: 500; letter-spacing: .005em; text-decoration: none; }
.sja-nav a:hover, .sja-nav .current-menu-item > a, .sja-nav .current-menu-ancestor > a { color: var(--sja-brand); }
.sja-nav .current-menu-item > a::after, .sja-nav .current-menu-ancestor > a::after { display:none; content:none; }
.sja-nav a:focus-visible { border-radius:.35rem; outline:2px solid currentColor; outline-offset:3px; }
.sja-nav .sub-menu { position: absolute; top: calc(100% - .2rem); left: -.9rem; min-width: 14rem; display: none; padding: .65rem; border: 1px solid var(--sja-line); border-radius: var(--sja-radius-sm); background: var(--sja-white); box-shadow: var(--sja-shadow-sm); }
.sja-nav .sub-menu a { width: 100%; min-height: 2.5rem; padding: .3rem .55rem; }
.sja-nav li:hover > .sub-menu, .sja-nav li:focus-within > .sub-menu { display: block; }
.sja-language-switcher { flex: 0 0 auto; }
.sja-language-switcher ul { display: flex; align-items: center; gap: .2rem; margin: 0; padding: .22rem; border: 1px solid var(--sja-line); border-radius: 999px; background: rgba(255,255,255,.62); list-style: none; }
.sja-language-switcher li { margin: 0; padding: 0; }
.sja-language-switcher a { min-width: 2.15rem; min-height: 2.15rem; display: grid; place-items: center; padding: .3rem; border-radius: 999px; color: var(--sja-muted); font-size: .7rem; font-weight: 650; letter-spacing: .06em; line-height: 1; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.sja-language-switcher a:hover { color: var(--sja-brand); background: var(--sja-mint); text-decoration: none; }
.sja-language-switcher .is-current a { color: var(--sja-white); background: var(--sja-forest); }
.sja-language-switcher .sja-preview-language { min-height: 2.15rem; display: grid; place-items: center; padding: .3rem .7rem; border-radius: 999px; color: var(--sja-white); background: var(--sja-forest); font-size: .7rem; font-weight: 650; letter-spacing: .04em; line-height: 1; }
.sja-language-switcher--mobile { display: none; }
.sja-header-tools { flex: 0 0 auto; display: flex; align-items: center; gap: .75rem; }
.sja-header-qr { width: 4.5rem; height: 4.5rem; flex: 0 0 4.5rem; display: grid; place-items: center; overflow: hidden; padding: .18rem; border: 1px solid rgba(23,63,47,.13); border-radius: .78rem; background: #fff; box-shadow: 0 7px 20px rgba(21,55,41,.07); transition: width .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),flex-basis .36s cubic-bezier(.22,1,.36,1); }
.sja-header-qr__image { width: 100%; height: 100%; display: block; object-fit: contain; }
.sja-scrolled .sja-header-qr { width: 3.75rem; height: 3.75rem; flex-basis: 3.75rem; }
.sja-menu-toggle { display: none; width: 3rem; height: 3rem; padding: .65rem; border: 1px solid var(--sja-line); border-radius: 50%; color: var(--sja-heading); background: var(--sja-paper); cursor: pointer; }
.sja-menu-toggle span:not(.screen-reader-text) { display: block; width: 1.25rem; height: 2px; margin: 4px auto; border-radius: 2px; background: currentColor; }
.sja-mobile-nav { position: fixed; z-index: 29; inset: 4.75rem 0 0; overflow-y: auto; padding: 1.25rem 0 2rem; background: var(--sja-paper); }
.sja-mobile-nav[hidden] { display: none; }
.sja-mobile-nav ul { margin: 0; padding: 0; list-style: none; }
.sja-mobile-nav li { border-bottom: 1px solid var(--sja-line); }
.sja-mobile-nav a { display: flex; min-height: 3.8rem; align-items: center; color: var(--sja-heading); font-size: 1.1rem; font-weight: 720; text-decoration: none; }

/* Shared elements */
.sja-button { display: inline-flex; min-height: 3.45rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .8rem 1.3rem; border: 2px solid var(--sja-forest); border-radius: 999px; color: var(--sja-white); background: var(--sja-forest); font-weight: 580; text-decoration: none; transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s cubic-bezier(.22,1,.36,1); }
.sja-button:hover { border-color: var(--sja-brand); color: var(--sja-white); background: var(--sja-brand); text-decoration: none; transform: translateY(-2px); }
.sja-link-arrow { display: inline-flex; align-items: center; gap: .55rem; color: var(--sja-heading); font-weight: 550; text-decoration: none; }
.sja-link-arrow span { transition: transform .2s ease; }
.sja-link-arrow:hover { color: var(--sja-brand); text-decoration: none; }
.sja-link-arrow:hover span { transform: translateX(.25rem); }
.sja-link-arrow--light { color: var(--sja-white); }
.sja-link-arrow--light:hover { color: var(--sja-lime); }
.sja-text-link { color: var(--sja-brand); font-weight: 720; text-decoration: none; }
.sja-text-link:hover { color: var(--sja-brand-hover); text-decoration: none; }
.sja-eyebrow { margin: 0 0 .75rem; color: var(--sja-brand); font-size: .76rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.sja-lead { max-width: 58ch; color: var(--sja-body); font-size: clamp(1.08rem, 1.8vw, 1.3rem); line-height: 1.62; }
.sja-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.35rem; margin-top: 2rem; }
.sja-section { padding: clamp(4.75rem, 8vw, 8rem) 0; }
.sja-home-module-frame { min-height:var(--sja-module-height,auto); }
.sja-home-module-frame[style] > .sja-section,.sja-home-module-frame[style] > .sja-live-hero { box-sizing:border-box; min-height:var(--sja-module-height); }
.sja-home-module-frame--hero_status[style] .sja-live-hero { min-height:var(--sja-module-height); }
.sja-home-module-frame--promotions[style] .sja-current-list .sja-current-item.sja-offer,.sja-home-module-frame--articles[style] .sja-article-card { min-height:0; }
.sja-home-module-frame--team[style] .sja-team-spotlight,.sja-home-module-frame--services[style] .sja-service-panel { min-height:0; }
.sja-home-module-frame--hero_status[style] .sja-live-hero-image,.sja-home-module-frame--hero_status[style] .sja-scene-stack { min-height:clamp(16rem,calc(var(--sja-module-height) - 10rem),38rem); }
.sja-home-module-frame[style] > .sja-section { padding-block:clamp(1.5rem,calc(var(--sja-module-height) / 13),6rem); }
.sja-home-module-frame--promotions[style] .sja-card-media,.sja-home-module-frame--articles[style] .sja-card-media { height:clamp(9rem,calc(var(--sja-module-height) - 26rem),15rem); }
.sja-section h2 { margin: 0; font-size: clamp(2.55rem, 5vw, 4.45rem); font-weight: 400; line-height: 1.06; letter-spacing: -.025em; }
.sja-section-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr); align-items: end; gap: clamp(2rem, 7vw, 5rem); margin-bottom: clamp(2.5rem, 5vw, 4.25rem); }
.sja-section-heading > p, .sja-heading-side > p { max-width: 37rem; margin: 0; color: var(--sja-muted); }
.sja-section-heading--large { grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); }
.sja-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.sja-card { position: relative; overflow: hidden; padding: 1.55rem; border: 1px solid var(--sja-line); border-radius: var(--sja-radius); background: var(--sja-card-background,var(--sja-white)); }
.sja-card h2, .sja-card h3 { margin: 0; color: var(--sja-heading); }
.sja-empty { padding: 1.25rem 1.4rem; border-radius: var(--sja-radius-sm); color: var(--sja-muted); background: var(--sja-paper); }

/* Hero */
.sja-hero { position: relative; overflow: hidden; padding: clamp(2.75rem, 5vw, 4.75rem) 0 clamp(7rem, 10vw, 9rem); background: var(--sja-paper); }
.sja-hero::before { position: absolute; top: -13rem; left: -10rem; width: 31rem; height: 31rem; border-radius: 50%; background: rgba(220,239,114,.42); content: ""; filter: blur(1px); }
.sja-hero::after { position: absolute; right: -9rem; bottom: -11rem; width: 26rem; height: 26rem; border: 1px solid rgba(22,109,12,.17); border-radius: 50%; content: ""; }
.sja-hero-stage { position: relative; z-index: 1; min-height: min(38rem, calc(100vh - 8rem)); display: grid; grid-template-columns: minmax(20rem, .82fr) minmax(31rem, 1.18fr); align-items: start; gap: clamp(2.5rem, 6vw, 5.8rem); }
.sja-hero-copy { position: relative; z-index: 2; padding-block: 1.5rem; }
.sja-hero h1 { max-width: 11ch; margin: .3rem 0 1.45rem; color: var(--sja-forest); font-size: clamp(3.35rem, 6.3vw, 5.8rem); font-weight: 600; line-height: .98; letter-spacing: -.055em; }
.sja-hero .sja-lead { max-width: 35rem; margin: 0; }
.sja-hero-visual { position: relative; z-index: 1; margin: 0; }
.sja-hero-image-wrap { position: relative; margin-right: clamp(-4rem, -4vw, -1rem); }
.sja-hero-image-wrap::before { position: absolute; z-index: -1; top: -1.35rem; right: -1.35rem; width: 66%; height: 78%; border-radius: 2.5rem 2.5rem 8rem 2.5rem; background: var(--sja-lime); content: ""; transform: rotate(3deg); }
.sja-hero-image { display: block; width: 100%; min-height: 31rem; max-height: 38rem; aspect-ratio: 1.08 / 1; border-radius: 7rem 2rem 7rem 2rem; box-shadow: var(--sja-shadow); object-fit: cover; object-position: 63% center; transition: transform .5s ease; }
.sja-hero-visual:hover .sja-hero-image { transform: scale(1.012); }
.sja-photo-caption { position: absolute; top: 1.3rem; right: 1rem; padding: .72rem 1rem; border-radius: 999px; color: var(--sja-forest-deep); background: var(--sja-lime); font-size: .81rem; font-weight: 820; letter-spacing: .02em; box-shadow: var(--sja-shadow-sm); transform: rotate(3deg); }

.sja-status { position: absolute; z-index: 3; left: clamp(-5rem, -5vw, -2rem); bottom: -2.6rem; width: min(24rem, calc(100% - 1.5rem)); padding: 1.25rem 1.35rem 1.15rem; border: 1px solid rgba(255,255,255,.16); border-radius: 1.6rem; color: #fff; background: var(--sja-forest); box-shadow: var(--sja-shadow); }
.sja-status[data-state="closed"] { background: #66333a; }
.sja-status[data-state="unknown"] { background: #46574e; }
.sja-status-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.sja-status-kicker { margin: 0; color: #fff; font-size: .71rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.sja-status-dot { display: inline-block; width: .65rem; height: .65rem; margin-right: .45rem; border: 2px solid rgba(255,255,255,.55); border-radius: 50%; background: var(--sja-lime); box-shadow: 0 0 0 5px rgba(220,239,114,.12); }
.sja-status[data-state="closed"] .sja-status-dot,.sja-live-status[data-state="closed"] .sja-status-dot { background: #ffd1c8; box-shadow: 0 0 0 5px rgba(255,209,200,.12); }
.sja-status[data-state="unknown"] .sja-status-dot,.sja-live-status[data-state="unknown"] .sja-status-dot { background: #d8e0d8; box-shadow: none; }
.sja-live-time { color: #fff; font-size: 1rem; font-variant-numeric: tabular-nums; font-weight: 820; }
.sja-status h2 { margin: 0; color: #fff; font-family: var(--sja-sans); font-size: 1.45rem; font-weight: 760; letter-spacing: -.025em; }
.sja-status-message p { margin: .15rem 0 0; color: rgba(255,255,255,.84); font-size: .92rem; }
.sja-status-message .sja-status-reason { color: var(--sja-lime); font-weight: 740; }
.sja-status[data-state="closed"] .sja-status-reason { color: #ffd1c8; }
.sja-dayline { margin-top: .95rem; }
.sja-dayline-track { position: relative; height: .34rem; border-radius: 999px; background: rgba(255,255,255,.18); }
.sja-dayline-open { position: absolute; left: var(--sja-segment-left); width: var(--sja-segment-width); height: 100%; border-radius: inherit; background: rgba(255,255,255,.46); }
.sja-dayline-now { position: absolute; z-index: 2; top: 50%; left: var(--sja-now-position, 0%); width: .75rem; height: .75rem; border: 2px solid var(--sja-forest); border-radius: 50%; background: var(--sja-lime); box-shadow: 0 0 0 2px var(--sja-lime); transform: translate(-50%, -50%); }
.sja-status[data-state="closed"] .sja-dayline-now { border-color: #66333a; background: #ffd1c8; box-shadow: 0 0 0 2px #ffd1c8; }
.sja-dayline-labels { display: flex; justify-content: space-between; margin-top: .3rem; color: rgba(255,255,255,.66); font-size: .67rem; font-variant-numeric: tabular-nums; }

/* Unified practical dock */
.sja-action-dock { position: relative; z-index: 4; margin-top: -3.2rem; scroll-margin-top: 5.5rem; }
.sja-action-dock-inner { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid rgba(22,109,12,.12); border-radius: 1.45rem; background: var(--sja-white); box-shadow: 0 18px 50px rgba(25,55,42,.12); }
.sja-action-dock a { min-height: 6.5rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .9rem; padding: 1rem 1.25rem; color: var(--sja-heading); text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.sja-action-dock a + a { border-left: 1px solid var(--sja-line); }
.sja-action-dock a:hover { color: var(--sja-forest); background: var(--sja-mint); text-decoration: none; }
.sja-action-dock small, .sja-action-dock strong { display: block; }
.sja-action-dock small { margin-bottom: .14rem; color: var(--sja-muted); font-size: .71rem; font-weight: 760; letter-spacing: .03em; }
.sja-action-dock strong { font-size: .95rem; line-height: 1.35; }
.sja-dock-icon { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border-radius: 50%; color: var(--sja-forest); background: var(--sja-lime); font-size: 1.1rem; }

/* Services */
.sja-services-section { overflow: hidden; }
.sja-services-stage { display: grid; grid-template-columns: minmax(20rem, .86fr) minmax(25rem, 1.14fr); align-items: stretch; gap: clamp(2.5rem, 7vw, 6rem); }
.sja-services-photo { position: relative; min-height: 35rem; margin: 0; }
.sja-services-photo::before { position: absolute; z-index: -1; right: -1.25rem; bottom: -1.25rem; width: 70%; height: 56%; border-radius: 2rem; background: var(--sja-peach); content: ""; transform: rotate(-4deg); }
.sja-services-photo img { width: 100%; height: 100%; min-height: 35rem; display: block; border-radius: 2rem 6rem 2rem 2rem; object-fit: cover; object-position: center; }
.sja-services-photo figcaption { position: absolute; right: -1.2rem; bottom: 2rem; max-width: 16rem; padding: 1rem 1.15rem; border-radius: 1.2rem; color: var(--sja-forest-deep); background: var(--sja-lime); box-shadow: var(--sja-shadow-sm); transform: rotate(-2deg); }
.sja-services-photo figcaption strong, .sja-services-photo figcaption span { display: block; }
.sja-services-photo figcaption strong { line-height: 1.25; }
.sja-services-photo figcaption span { margin-top: .2rem; font-size: .79rem; }
.sja-service-list { align-self: center; border-bottom: 1px solid var(--sja-line); }
.sja-service-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.2rem; padding: 1.35rem .25rem; border-top: 1px solid var(--sja-line); color: var(--sja-heading); text-decoration: none; transition: padding .22s ease, background-color .22s ease; }
.sja-service-row:hover { padding-right: 1rem; padding-left: 1rem; color: var(--sja-forest); background: var(--sja-mint); text-decoration: none; }
.sja-service-copy, .sja-service-copy strong, .sja-service-copy > span { display: block; }
.sja-service-copy strong { margin-bottom: .2rem; font-family: var(--sja-serif); font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.2; }
.sja-service-copy > span { color: var(--sja-muted); font-size: .9rem; }
.sja-service-mark { position: relative; width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border-radius: 50%; background: var(--sja-paper); }
.sja-service-mark span { position: absolute; width: .9rem; height: 2px; border-radius: 2px; background: var(--sja-brand); }
.sja-service-mark span + span { transform: rotate(90deg); }
.sja-service-arrow { font-size: 1.25rem; transition: transform .2s ease; }
.sja-service-row:hover .sja-service-arrow { transform: translate(.18rem, -.18rem); }
.sja-service-all { display: inline-flex; gap: .5rem; margin: 1.4rem 0 0; font-weight: 760; text-decoration: none; }

/* Team */
.sja-team-feature { position: relative; overflow: hidden; background: var(--sja-peach); }
.sja-team-feature::before { position: absolute; top: -8rem; left: 42%; width: 25rem; height: 25rem; border-radius: 50%; background: rgba(255,255,255,.4); content: ""; }
.sja-team-feature-grid { position: relative; display: grid; grid-template-columns: minmax(18rem, .78fr) minmax(30rem, 1.22fr); align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.sja-team-copy .sja-lead { margin-bottom: 1.6rem; }
.sja-team-scene { position: relative; min-height: 34rem; }
.sja-team-scene::before { position: absolute; z-index: -1; top: -1.3rem; left: -1.3rem; width: 45%; height: 68%; border: 2px solid rgba(23,63,47,.24); border-radius: 5rem 2rem 2rem 2rem; content: ""; transform: rotate(-3deg); }
.sja-team-scene > img { width: 100%; height: 34rem; display: block; border-radius: 2rem 6rem 2rem 2rem; box-shadow: var(--sja-shadow-sm); object-fit: cover; object-position: center; }
.sja-team-peek { position: absolute; right: -1.4rem; bottom: -1.6rem; width: min(92%, 36rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 1.35rem; color: #fff; background: rgba(14,48,36,.94); box-shadow: var(--sja-shadow); backdrop-filter: blur(12px); }
.sja-team-person { min-width: 0; display: flex; align-items: center; gap: .55rem; padding: .85rem .8rem; }
.sja-team-person + .sja-team-person { border-left: 1px solid rgba(255,255,255,.14); }
.sja-team-avatar { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; overflow: hidden; border: 2px solid var(--sja-lime); border-radius: 50%; }
.sja-team-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sja-team-person h3 { overflow: hidden; margin: 0; color: #fff; font-family: var(--sja-sans); font-size: .8rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.sja-team-person p { overflow: hidden; margin: .14rem 0 0; color: rgba(255,255,255,.68); font-size: .64rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }

/* Promotions */
.sja-offers-section { overflow: hidden; background: var(--sja-sand); }
.sja-heading-side { display: grid; gap: 1.2rem; }
.sja-scroll-controls { display: flex; gap: .55rem; }
.sja-scroll-controls button { width: 2.8rem; height: 2.8rem; border: 1px solid var(--sja-forest); border-radius: 50%; color: var(--sja-forest); background: transparent; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.sja-scroll-controls button:hover { color: #fff; background: var(--sja-forest); }
.sja-scroll-controls button:disabled { opacity: .35; cursor: default; }
.sja-offer-list { display: grid; grid-auto-columns: minmax(18rem, 31%); grid-auto-flow: column; gap: 1.25rem; overflow-x: auto; padding: .5rem .3rem 1.5rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: var(--sja-leaf) rgba(255,255,255,.55); scrollbar-width: thin; }
.sja-offer-list:focus-visible { outline: 3px solid var(--sja-leaf); outline-offset: 4px; border-radius: 1rem; }
.sja-offer-list .sja-offer { min-height: 29rem; display: flex; flex-direction: column; padding: 1.35rem; border: 0; border-radius: 2rem; background: var(--sja-card-background,rgba(255,255,255,.9)); box-shadow: 0 10px 30px rgba(78,60,35,.08); scroll-snap-align: start; }
.sja-offer-list .sja-offer:first-child { grid-column: span 1; }
.sja-card-media { height: 17rem; margin: 0 0 1.25rem; overflow: hidden; border-radius: 1.35rem; background: #fff; }
.sja-card-media img { width: 100%; height: 100%; padding: 1.1rem; object-fit: contain; transition: transform .35s ease; }
.sja-offer:hover .sja-card-media img { transform: scale(1.025); }
.sja-offer h3 { font-family: var(--sja-serif); font-size: 1.5rem; line-height: 1.25; }
.sja-offer p { margin: .55rem 0; color: var(--sja-muted); }
.sja-offer-date { margin-top: auto !important; padding-top: .8rem; color: var(--sja-heading) !important; font-size: .78rem; font-weight: 760; }
.sja-badge { position: absolute; z-index: 2; top: 1.8rem; right: 1.8rem; min-width: 4rem; min-height: 4rem; display: grid; place-items: center; padding: .55rem; border-radius: 50%; color: var(--sja-forest-deep); background: var(--sja-lime); font-size: .84rem; font-weight: 850; box-shadow: var(--sja-shadow-sm); transform: rotate(7deg); }

/* Local story */
.sja-story { overflow: hidden; color: rgba(255,255,255,.84); background: var(--sja-forest); }
.sja-story-grid { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(26rem, 1.28fr); align-items: center; gap: clamp(3rem, 9vw, 8rem); }
.sja-story .sja-eyebrow { color: var(--sja-lime); }
.sja-story h2 { color: #fff; }
.sja-story-copy > p:not(.sja-eyebrow) { max-width: 34rem; }
.sja-story-image { position: relative; }
.sja-story-image::after { position: absolute; right: -2rem; bottom: -2rem; width: 55%; height: 70%; border: 2px solid rgba(220,239,114,.6); border-radius: 2rem; content: ""; transform: rotate(4deg); }
.sja-story-image img { position: relative; z-index: 1; width: 100%; min-height: 24rem; display: block; border-radius: 6rem 2rem 2rem 2rem; filter: sepia(.08) contrast(.96); object-fit: cover; }
.sja-story-image > span { position: absolute; z-index: 2; right: -1rem; bottom: .5rem; color: var(--sja-lime); font-family: var(--sja-serif); font-size: clamp(4rem, 9vw, 8rem); line-height: 1; text-shadow: 0 8px 20px rgba(14,48,36,.3); }

/* Opening hours and exceptions */
.sja-section--hours { scroll-margin-top: 4.8rem; background: var(--sja-canvas); }
.sja-hours-grid { display: grid; grid-template-columns: minmax(20rem, .83fr) minmax(24rem, 1.17fr); align-items: start; gap: clamp(3rem, 8vw, 7rem); }
.sja-hours-grid > div:first-child > p:not(.sja-eyebrow) { max-width: 37rem; color: var(--sja-muted); }
.sja-regular-hours { max-width: 32rem; margin: 2rem 0 1.5rem; border-block: 1px solid var(--sja-line); }
.sja-regular-hours p { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; margin: 0; padding: .65rem 0; border-bottom: 1px solid var(--sja-line); font-size: .89rem; }
.sja-regular-hours p:last-child { border-bottom: 0; }
.sja-regular-hours span { color: var(--sja-muted); font-weight: 740; }
.sja-regular-hours strong { color: var(--sja-heading); }
.sja-exceptions { padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: 2rem; background: var(--sja-mint); }
.sja-exceptions-label { margin: 0 0 1rem; color: var(--sja-brand); font-size: .76rem; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; }
.sja-special-days { display: grid; gap: .75rem; }
.sja-special-day { display: grid; grid-template-columns: 4.25rem 1fr; align-items: center; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(23,63,47,.15); }
.sja-special-day:last-child { border-bottom: 0; }
.sja-special-day time { display: grid; width: 4rem; height: 4rem; place-content: center; border-radius: 50%; color: var(--sja-forest); background: var(--sja-lime); text-align: center; }
.sja-special-day time strong { font-family: var(--sja-serif); font-size: 1.42rem; line-height: .95; }
.sja-special-day time span { font-size: .62rem; font-weight: 820; letter-spacing: .04em; text-transform: uppercase; }
.sja-special-day h3, .sja-special-day p { margin: 0; }
.sja-special-day h3 { font-size: 1rem; }
.sja-special-day p { color: var(--sja-muted); font-size: .89rem; }

/* Interior pages and generic content */
.sja-page-header { position: relative; display: flex; min-height: var(--sja-detail-header-min, 180px); overflow: hidden; padding: clamp(2rem, 4vw, 3.5rem) 0; border-bottom: 1px solid var(--sja-line); background: var(--sja-paper); align-items: center; }
.sja-page-header::after { position: absolute; right: -7rem; bottom: -11rem; width: 25rem; height: 25rem; border-radius: 50%; background: var(--sja-mint); content: ""; }
.sja-page-header h1 { position: relative; z-index: 1; max-width: 18ch; margin: .35rem 0 0; color: var(--sja-forest); font-size: clamp(3rem, 6vw, 5.4rem); font-weight: 600; line-height: 1; letter-spacing: -.05em; }
.sja-page-header .sja-lead { position: relative; z-index: 1; }
.sja-section-all-link,.sja-detail-return { margin-top: clamp(1.5rem,3vw,2.5rem); }
@media (max-width: 520px) { .sja-page-header { min-height: var(--sja-detail-header-min-mobile, 132px); } }
.sja-prose { max-width: 54rem; color: var(--sja-body); font-size: 1.08rem; }
.sja-prose > * + * { margin-top: 1.3em; }
.sja-prose h2, .sja-prose h3 { line-height: 1.2; }
.sja-prose h2 { font-family: var(--sja-serif); font-size: clamp(2rem, 4vw, 3.2rem); }
.sja-page-image { margin-bottom: 2.5rem; }
.sja-page-image img { display: block; width: 100%; border-radius: 2rem 5rem 2rem 2rem; }
.sja-contact-details { font-style: normal; }
.sja-contact-details p { margin-block: .75rem; }
.sja-service-archive { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.sja-service-tile { min-height: 18rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; gap: 1rem; overflow: hidden; padding: 1.5rem; border-radius: 2rem; color: var(--sja-heading); background: var(--sja-card-background,var(--sja-mint)); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.sja-service-tile:nth-child(3n+2) { background: var(--sja-card-background,var(--sja-sand)); }
.sja-service-tile:nth-child(3n) { background: var(--sja-card-background,var(--sja-peach)); }
.sja-service-tile:first-child { grid-column: 1 / -1; min-height: 15rem; }
.sja-service-tile:hover { color: var(--sja-forest); box-shadow: var(--sja-shadow-sm); text-decoration: none; transform: translateY(-4px); }
.sja-service-tile-media { grid-column: 1 / -1; height: 12rem; overflow: hidden; margin: -1.5rem -1.5rem .5rem; background: #fff; }
.sja-service-tile-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sja-service-tile:hover .sja-service-tile-media img { transform: scale(1.025); }
.sja-service-tile-copy h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.08; }
.sja-service-tile-copy p { max-width: 38rem; margin: .55rem 0 0; color: var(--sja-muted); }
.sja-service-tile > .sja-service-arrow { align-self: start; }
.pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; margin-top: 2.5rem; }
.pagination .page-numbers { min-width: 2.75rem; min-height: 2.75rem; display: inline-grid; place-items: center; padding: .45rem .8rem; border: 1px solid var(--sja-line); border-radius: 999px; color: var(--sja-forest); background: var(--sja-paper); font-weight: 760; text-decoration: none; }
.pagination a.page-numbers:hover, .pagination .page-numbers.current { border-color: var(--sja-forest); color: #fff; background: var(--sja-forest); text-decoration: none; }
.sja-service { min-height: 18rem; display: flex; flex-direction: column; color: var(--sja-body); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.sja-service:hover { border-color: #9dc99a; box-shadow: var(--sja-shadow-sm); text-decoration: none; transform: translateY(-4px); }
.sja-service h2, .sja-service h3 { margin-top: 1rem; font-family: var(--sja-serif); font-size: 1.5rem; line-height: 1.25; }
.sja-service p { color: var(--sja-muted); }
.sja-service-number { display: block; color: var(--sja-leaf); font-family: var(--sja-serif); font-size: 2.8rem; font-weight: 700; line-height: 1; }
.sja-service-image { display: block; height: 7rem; margin-bottom: 1rem; }
.sja-service-image img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.sja-card-link { display: block; margin-top: auto; padding-top: 1.2rem; color: var(--sja-brand); font-size: .93rem; font-weight: 740; }
.sja-team-grid .sja-team-member { padding: 1rem; border: 0; border-radius: 2rem; background: var(--sja-paper); }
.sja-team-grid .sja-card-media { height: 19rem; margin: 0 0 1rem; }
.sja-team-grid .sja-card-media img { padding: 0; object-fit: cover; }
.sja-role { color: var(--sja-brand); font-weight: 760; }

/* Footer */
.sja-site-footer { padding: 4rem 0 1.5rem; color: #dce8e1; background: var(--sja-forest-deep); }
.sja-site-footer a { color: #fff; }
.sja-site-footer p { margin: .55rem 0; }
.sja-footer-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr); gap: clamp(2rem, 8vw, 7rem); }
.sja-footer-grid h2 { margin: .35rem 0 1rem; color: var(--sja-lime); font-family: var(--sja-sans); font-size: .82rem; letter-spacing: .07em; text-transform: uppercase; }
.sja-footer-logo { width: 4.3rem; filter: brightness(0) invert(1); }
.sja-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3.2rem; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.16); color: #bdd0c4; font-size: .84rem; }
.sja-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 1rem; margin: .55rem 0; padding: 0; list-style: none; }
.sja-footer-meta { display: flex; align-items: center; justify-content: flex-end; gap: 1.25rem; }
.sja-language-switcher--footer ul { gap: .15rem; margin: 0; padding: .18rem; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.sja-language-switcher--footer a { min-width: 2rem; min-height: 2rem; color: #dce8e1; }
.sja-language-switcher--footer a:hover { color: var(--sja-forest-deep); background: var(--sja-lime); }
.sja-language-switcher--footer .is-current a { color: var(--sja-forest-deep); background: var(--sja-lime); }
.sja-language-switcher--footer .sja-preview-language { color: var(--sja-forest-deep); background: var(--sja-lime); }

/* Progressive motion: content remains visible without JavaScript. */
.sja-reveal-ready [data-sja-reveal] { opacity: 0; transform: translateY(1rem); transition: opacity .45s ease, transform .45s ease; }
.sja-reveal-ready [data-sja-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .sja-hero-stage { grid-template-columns: minmax(18rem, .9fr) minmax(26rem, 1.1fr); gap: 2.5rem; }
  .sja-hero h1 { font-size: clamp(3.25rem, 7vw, 4.8rem); }
  .sja-hero-image-wrap { margin-right: 0; }
  .sja-status { left: -2rem; }
  .sja-action-dock a { padding-inline: 1rem; }
  .sja-services-stage { gap: 3rem; }
}

@media (max-width: 1120px) {
  .sja-nav,.sja-language-switcher--header { display: none; }
  .sja-header-tools { margin-left: auto; }
  .sja-menu-toggle { display: block; }
  .sja-mobile-nav { inset-block-start: 6.25rem; }
	.sja-mobile-nav .sja-language-switcher--mobile { display: block; margin-top: 1.5rem; }
	.sja-mobile-nav .sja-language-switcher--mobile ul { display: flex; gap: .35rem; padding: .3rem; border: 1px solid var(--sja-line); }
	.sja-mobile-nav .sja-language-switcher--mobile li { flex: 1; border: 0; }
	.sja-mobile-nav .sja-language-switcher--mobile a { min-height: 2.75rem; justify-content: center; padding: .5rem; border-radius: 999px; font-size: .78rem; font-weight: 650; }
}

@media (max-width: 900px) {
	.sja-collection-view .sja-offer-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sja-nav { display: none; }
	.sja-language-switcher--header { display: none; }
	.sja-mobile-nav .sja-language-switcher--mobile { display: block; margin-top: 1.5rem; }
	.sja-mobile-nav .sja-language-switcher--mobile ul { display: flex; gap: .35rem; padding: .3rem; border: 1px solid var(--sja-line); }
	.sja-mobile-nav .sja-language-switcher--mobile li { flex: 1; border: 0; }
	.sja-mobile-nav .sja-language-switcher--mobile a { min-height: 2.75rem; justify-content: center; padding: .5rem; border-radius: 999px; font-size: .78rem; font-weight: 650; }
  .sja-header-inner { gap: 1rem; }
  .sja-menu-toggle { display: block; }
  .sja-hero { padding-bottom: 7.5rem; }
  .sja-hero-stage { min-height: 0; grid-template-columns: 1fr; gap: 2.25rem; }
  .sja-hero-copy { max-width: 44rem; }
  .sja-hero-visual { width: min(100%, 43rem); margin-left: auto; }
  .sja-hero-image { min-height: 26rem; max-height: 35rem; aspect-ratio: 1.25 / 1; }
  .sja-status { left: 1.25rem; bottom: -3.5rem; }
  .sja-action-dock-inner { grid-template-columns: 1fr; }
  .sja-action-dock a { min-height: 5.1rem; }
  .sja-action-dock a + a { border-top: 1px solid var(--sja-line); border-left: 0; }
  .sja-section-heading, .sja-section-heading--large, .sja-services-stage, .sja-team-feature-grid, .sja-story-grid, .sja-hours-grid { grid-template-columns: 1fr; }
  .sja-services-photo { min-height: 27rem; }
  .sja-services-photo img { min-height: 27rem; }
  .sja-services-photo figcaption { right: 1rem; }
  .sja-team-feature-grid { gap: 3rem; }
  .sja-team-copy { max-width: 40rem; }
  .sja-team-scene { width: min(100%, 45rem); }
  .sja-offer-list { grid-auto-columns: minmax(18rem, 48%); }
  .sja-story-image { width: min(100%, 43rem); }
  .sja-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.sja-collection-view .sja-offer-list { grid-template-columns:1fr; }
  .sja-container { width: min(calc(100% - 2rem), var(--sja-content)); }
  body { font-size: 1rem; }
  .sja-section { padding: 4.5rem 0; }
  .sja-section h2 { font-size: clamp(2.45rem, 11vw, 3.45rem); }
  .sja-section-heading { gap: 1.25rem; }
  .sja-hero::before { width: 20rem; height: 20rem; }
  .sja-hero h1 { font-size: clamp(3rem, 13.5vw, 4.15rem); }
  .sja-hero-image { min-height: 25rem; aspect-ratio: .96 / 1; border-radius: 4rem 1.5rem 4rem 1.5rem; object-position: 62% center; }
  .sja-photo-caption { right: .5rem; }
  .sja-status { right: .75rem; left: .75rem; width: auto; }
  .sja-action-dock { margin-top: -2.2rem; }
  .sja-service-copy > span { display: none; }
  .sja-team-peek { right: .7rem; bottom: -1.4rem; width: calc(100% - 1.4rem); overflow-x: auto; }
  .sja-team-person { min-width: 9rem; }
  .sja-offer-list { margin-right: -1rem; grid-auto-columns: minmax(17rem, 82%); }
  .sja-story-image > span { right: 0; }
  .sja-grid { grid-template-columns: 1fr; }
  .sja-service-archive { grid-template-columns: 1fr; }
  .sja-service-tile:first-child { grid-column: auto; }
  .sja-footer-grid { grid-template-columns: 1fr; }
  .sja-footer-bottom { display: block; }
	.sja-footer-meta { align-items: flex-start; flex-direction: column; margin-top: .75rem; }
}

@media (max-width: 520px) {
	.sja-home-module-frame { min-height:var(--sja-module-height-mobile,auto); }
	.sja-home-module-frame[style] > .sja-section,.sja-home-module-frame[style] > .sja-live-hero,.sja-home-module-frame--hero_status[style] .sja-live-hero { min-height:var(--sja-module-height-mobile,auto); }
	.sja-home-module-frame--hero_status[style] .sja-live-hero-image,.sja-home-module-frame--hero_status[style] .sja-scene-stack { min-height:clamp(22rem,calc(var(--sja-module-height-mobile,560px) - 13rem),31rem); }
  .sja-logo span { max-width: 9rem; line-height: 1.12; }
  .sja-hero { padding-top: 2rem; }
  .sja-actions { align-items: flex-start; flex-direction: column; }
  .sja-status { padding: 1.1rem; border-radius: 1.25rem; }
  .sja-status h2 { font-size: 1.25rem; }
  .sja-services-photo, .sja-services-photo img { min-height: 23rem; }
  .sja-service-row { gap: .75rem; }
  .sja-service-mark { width: 2rem; height: 2rem; }
  .sja-team-scene, .sja-team-scene > img { min-height: 25rem; height: 25rem; }
  .sja-card-media { height: 15rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .sja-reveal-ready [data-sja-reveal] { opacity: 1; transform: none; }
}

@media (max-width:900px) { .sja-collection-view .sja-offer-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .sja-collection-view .sja-offer-list { grid-template-columns:1fr; } }

/* Global recursive typography system — one source for current and future modules. */
body { font-size:var(--sja-type-body,17px); }
.sja-nav a,.sja-mobile-nav a { font-size:var(--sja-type-menu,15px); }
#main h1 { font-size:var(--sja-type-h1,72px); }
#main h2 { font-size:var(--sja-type-h2,52px); }
#main h3 { font-size:var(--sja-type-h3,28px); }
#main .sja-status h2 { font-size:var(--sja-type-action,15px); }
.sja-lead,.sja-section-heading > p,.sja-section-heading .sja-heading-side > p { font-size:var(--sja-type-lead,19px); }
.sja-button,.sja-link-arrow,.sja-current-cta,button,input,textarea,select { font-size:var(--sja-type-action,15px); }
.sja-eyebrow,.sja-current-meta,.sja-article-date,.sja-role,.sja-offer-date,.sja-current-availability,.sja-map-provider { font-size:var(--sja-type-meta,12px); }

@media (max-width:700px) {
  body { font-size:var(--sja-type-body,16px); }
  .sja-nav a,.sja-mobile-nav a { font-size:var(--sja-type-menu,17px); }
  #main h1 { font-size:var(--sja-type-h1,48px); }
  #main h2 { font-size:var(--sja-type-h2,38px); }
  #main h3 { font-size:var(--sja-type-h3,24px); }
  .sja-lead,.sja-section-heading > p,.sja-section-heading .sja-heading-side > p { font-size:var(--sja-type-lead,17px); }
}

/* Global recursive vertical rhythm. Explicit editor spacing blocks remain local exceptions. */
.sja-page-header h1 + .sja-lead,
.sja-page-header h1 + p { margin-top:var(--sja-space-h1-lead,24px); }
.sja-section-heading { column-gap:var(--sja-space-section-heading,64px); }
.sja-section-heading h2,
.sja-prose h2 { margin-bottom:0; }
.sja-section-heading h2 + p,
.sja-prose h2 + * { margin-top:var(--sja-space-h2-content,24px); }
#main h3 { margin-bottom:0; }
#main h3 + p,
#main h3 + .sja-role,
#main h3 + .sja-article-date,
#main h3 + .sja-offer-date { margin-top:var(--sja-space-h3-details,12px); }
.sja-page-header + .sja-section { padding-top:var(--sja-space-detail-content,64px); }
.sja-welcome-section { background:linear-gradient(135deg,var(--sja-paper),var(--sja-mint)); }
.sja-prose p + p { margin-top:var(--sja-space-paragraph,18px); }

@media (max-width:700px) {
  .sja-page-header h1 + .sja-lead,
  .sja-page-header h1 + p { margin-top:var(--sja-space-h1-lead,18px); }
  .sja-section-heading { row-gap:var(--sja-space-section-heading,20px); }
  .sja-section-heading h2 + p,
  .sja-prose h2 + * { margin-top:var(--sja-space-h2-content,18px); }
  #main h3 + p,
  #main h3 + .sja-role,
  #main h3 + .sja-article-date,
  #main h3 + .sja-offer-date { margin-top:var(--sja-space-h3-details,10px); }
  .sja-page-header + .sja-section { padding-top:var(--sja-space-detail-content,40px); }
  .sja-prose p + p { margin-top:var(--sja-space-paragraph,16px); }
}

/* ==========================================================================
   0.4 — Living pharmacy experience
   ========================================================================== */

.sja-site-header { background: rgba(255,253,248,.94); }
.sja-header-inner { min-height: 6.25rem; }
.sja-scrolled .sja-header-inner { min-height: 5.15rem; }
.sja-logo span { max-width: 11.5rem; font-size: .95rem; line-height: 1.2; }
.sja-mobile-nav { inset-block-start: 6.25rem; }

.sja-live-hero { position: relative; overflow: hidden; min-height: calc(100svh - 6.25rem); padding: clamp(2.5rem,5vw,5.25rem) 0 clamp(4rem,7vw,7rem); background: linear-gradient(125deg,#fffdf8 0%,#f8f4e9 46%,#e9f2e1 100%); }
.sja-live-hero::before { position: absolute; inset: 0; background-image: radial-gradient(rgba(22,109,12,.08) .7px,transparent .7px); background-size: 18px 18px; content: ""; opacity: .32; mask-image: linear-gradient(90deg,transparent,#000 42%,#000); pointer-events: none; }
.sja-ambient-shape { position: absolute; border-radius: 999px; pointer-events: none; }
.sja-ambient-shape--one { top: -13rem; left: -11rem; width: 32rem; height: 32rem; background: rgba(220,239,114,.58); filter: blur(2px); animation: sja-ambient-one 16s ease-in-out infinite alternate; }
.sja-ambient-shape--two { right: -9rem; bottom: -14rem; width: 31rem; height: 31rem; border: 1px solid rgba(22,109,12,.24); animation: sja-ambient-two 20s ease-in-out infinite alternate; }
.sja-live-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(20rem,.78fr) minmax(34rem,1.22fr); align-items: center; gap: clamp(3rem,7vw,7.25rem); }
.sja-live-hero-copy { position: relative; z-index: 2; padding-block: 1rem; }
.sja-live-hero h1 { max-width: 10.5ch; margin: .25rem 0 1.5rem; color: var(--sja-forest); font-family: var(--sja-serif); font-size: clamp(3.5rem,6.15vw,5.2rem); font-weight: 400; line-height: .98; letter-spacing: -.027em; }
.sja-live-hero .sja-lead { max-width: 35rem; margin: 0; color: #42554b; font-size: clamp(1.04rem,1.6vw,1.2rem); line-height: 1.7; }
.sja-live-hero .sja-actions { margin-top: 2.25rem; }
.sja-live-hero .sja-button { min-width: min(20rem,100%); }

.sja-scene-gallery { position: relative; min-width: 0; padding: 1.2rem 0 3.25rem; --sja-gallery-x: 0px; --sja-gallery-y: 0px; }
.sja-scene-stack { position: relative; min-height: clamp(31rem,54vw,43rem); border-radius: 10rem 2.4rem 9rem 2.4rem; background: var(--sja-mint); box-shadow: 0 35px 90px rgba(16,55,39,.18); transform: translate3d(var(--sja-gallery-x),var(--sja-gallery-y),0); transition: transform .52s cubic-bezier(.22,1,.36,1); }
.sja-scene-stack::before { position: absolute; z-index: -1; inset: -1rem 1.75rem 1rem -1.25rem; border: 1px solid rgba(23,63,47,.19); border-radius: 10rem 2.4rem 9rem 2.4rem; content: ""; transform: rotate(-2deg); }
.sja-media-placeholder { position: relative; width: 100%; height: 100%; display: block; overflow: hidden; background: linear-gradient(145deg,#e7f1df,#cfdfc8 58%,#f2e5cd); }
.sja-media-placeholder i { position: absolute; display: block; border: 1px solid rgba(23,63,47,.16); border-radius: 999px; }
.sja-media-placeholder i:nth-child(1) { top: 12%; right: -10%; width: 72%; aspect-ratio: 1; }
.sja-media-placeholder i:nth-child(2) { bottom: 8%; left: -18%; width: 68%; aspect-ratio: 1; background: rgba(220,239,114,.28); }
.sja-media-placeholder i:nth-child(3) { top: 24%; left: 23%; width: 31%; aspect-ratio: 1; border-color: rgba(255,255,255,.7); }
.sja-media-placeholder--hero { min-height: inherit; border-radius: inherit; }
.sja-scene { position: absolute; inset: 0; overflow: hidden; margin: 0; border-radius: inherit; opacity: 0; visibility: hidden; transform: scale(1.035); transition: opacity .62s ease,transform 1.05s cubic-bezier(.22,1,.36,1),visibility 0s linear .62s; }
.sja-scene.is-active { opacity: 1; visibility: visible; transform: scale(1); transition-delay: 0s; }
.sja-scene::after { position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent,rgba(14,48,36,.38)); content: ""; pointer-events: none; }
.sja-live-hero-image { width: 100%; height: 100%; min-height: clamp(31rem,54vw,43rem); display: block; object-fit: cover; object-position: center; }
.sja-scene figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.35rem; display: flex; align-items: center; gap: .7rem; margin: 0; color: #fff; font-size: .83rem; font-weight: 500; letter-spacing: .02em; }
.sja-scene figcaption span { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; font-variant-numeric: tabular-nums; }
.sja-scene-controls { position: absolute; z-index: 5; right: 1.5rem; bottom: .25rem; display: flex; align-items: center; gap: .42rem; padding: .35rem; border: 1px solid rgba(23,63,47,.12); border-radius: 999px; background: rgba(255,253,248,.94); box-shadow: var(--sja-shadow-sm); backdrop-filter: blur(14px); }
.sja-scene-controls p { min-width: 4.2rem; margin: 0 .2rem; color: var(--sja-muted); font-size: .74rem; font-variant-numeric: tabular-nums; text-align: center; }
.sja-scene-controls button,.sja-scroll-controls button { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--sja-forest); background: transparent; cursor: pointer; transition: color .22s ease,background-color .22s ease,transform .22s cubic-bezier(.22,1,.36,1); }
.sja-scene-controls button:hover,.sja-scroll-controls button:hover { color: #fff; background: var(--sja-forest); transform: scale(1.04); }
.sja-scene-controls button[aria-pressed="true"] { color: #fff; background: var(--sja-brand); }

.sja-live-status { position: absolute; z-index: 4; left: clamp(-4.6rem,-5vw,-2rem); bottom: 1.3rem; width: min(24rem,calc(100% - 3rem)); padding: 1.2rem 1.3rem 1.1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 1.65rem; color: #fff; background: rgba(18,61,45,.96); box-shadow: 0 22px 55px rgba(14,48,36,.26); backdrop-filter: blur(16px); transition: background-color .36s ease,transform .36s cubic-bezier(.22,1,.36,1); }
.sja-live-status[data-state="closed"] { background: rgba(104,50,58,.96); }
.sja-live-status[data-state="unknown"] { background: rgba(67,82,73,.96); }
.sja-live-status-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .62rem; }
.sja-live-status-head p { display: flex; align-items: center; margin: 0; color: rgba(255,255,255,.8); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sja-live-status-head time { color: #fff; font-size: .9rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.sja-swiss-clock { position: relative; width: 4.5rem; height: 4.5rem; flex: 0 0 4.5rem; display: block; border-radius: 50%; filter: drop-shadow(0 7px 11px rgba(5,28,20,.25)); }
.sja-swiss-clock-face { position: absolute; inset: 0; overflow: hidden; border: 2px solid rgba(255,255,255,.82); border-radius: inherit; background: linear-gradient(145deg,#fff 0%,#f4f2e9 100%); box-shadow: inset 0 0 0 1px rgba(23,63,47,.09); }
.sja-swiss-clock-face::before { position: absolute; inset: .27rem; border-radius: 50%; background: repeating-conic-gradient(from -1.5deg,var(--sja-forest) 0 3deg,transparent 3deg 30deg); content: ""; opacity: .78; -webkit-mask: radial-gradient(circle,transparent 0 70%,#000 72%); mask: radial-gradient(circle,transparent 0 70%,#000 72%); }
.sja-swiss-clock-number { position: absolute; z-index: 1; color: var(--sja-forest); font-family: var(--sja-sans); font-size: .48rem; font-weight: 750; line-height: 1; }
.sja-swiss-clock-number--12 { top: .42rem; left: 50%; transform: translateX(-50%); }
.sja-swiss-clock-number--3 { top: 50%; right: .42rem; transform: translateY(-50%); }
.sja-swiss-clock-number--9 { top: 50%; left: .42rem; transform: translateY(-50%); }
.sja-swiss-clock-number--6 { bottom: .38rem; left: 50%; transform: translateX(-50%); }
.sja-swiss-clock-hand { position: absolute; z-index: 2; bottom: 50%; left: 50%; border-radius: 999px; background: var(--sja-forest); transform-origin: 50% 100%; }
.sja-swiss-clock-hand--hour { width: .19rem; height: 25%; transform: translateX(-50%) rotate(var(--sja-hour-angle)); }
.sja-swiss-clock-hand--minute { width: .13rem; height: 36%; transform: translateX(-50%) rotate(var(--sja-minute-angle)); }
.sja-swiss-clock-hand--second { z-index: 3; width: .075rem; height: 41%; border-radius: 0; background: #d94f45; transform: translateX(-50%) rotate(var(--sja-second-angle)); }
.sja-swiss-clock-hand--second::before { position: absolute; top: -.13rem; left: 50%; width: .24rem; height: .24rem; border: .075rem solid #d94f45; border-radius: 50%; background: #fff; content: ""; transform: translateX(-50%); }
.sja-swiss-clock-hand--second::after { position: absolute; top: 100%; left: 50%; width: .075rem; height: .38rem; background: #d94f45; content: ""; transform: translateX(-50%); }
.sja-swiss-clock-pin { position: absolute; z-index: 4; top: 50%; left: 50%; width: .32rem; height: .32rem; border: .08rem solid #fff; border-radius: 50%; background: #d94f45; box-shadow: 0 0 0 1px rgba(23,63,47,.14); transform: translate(-50%,-50%); }
.sja-live-status-copy { display: grid; gap: .12rem; }
.sja-live-status-copy strong { color: #fff; font-family: var(--sja-serif); font-size: 1.45rem; font-weight: 400; line-height: 1.15; }
.sja-live-status-copy > span { color: rgba(255,255,255,.82); font-size: .87rem; }
.sja-live-status-copy .sja-status-reason { color: var(--sja-lime); font-weight: 500; }
.sja-live-status[data-state="closed"] .sja-status-reason { color: #ffd8d1; }
.sja-live-status .sja-dayline { margin-top: .9rem; }
.sja-live-status .sja-dayline-now { border-color: var(--sja-forest); }

.sja-visit-bar { position: relative; z-index: 8; margin-top: -1.55rem; scroll-margin-top: 6rem; }
.sja-visit-bar-inner { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid rgba(23,63,47,.1); border-radius: 1.5rem; background: rgba(255,255,255,.96); box-shadow: 0 18px 55px rgba(25,55,42,.11); }
.sja-visit-bar a { min-height: 6.2rem; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .9rem; padding: 1rem 1.35rem; color: var(--sja-heading); text-decoration: none; transition: background-color .22s ease,color .22s ease; }
.sja-visit-bar a + a { border-left: 1px solid var(--sja-line); }
.sja-visit-bar a:hover { color: var(--sja-forest); background: var(--sja-mint); }
.sja-visit-bar a > span:first-child { width: 2.45rem; height: 2.45rem; display: grid; place-items: center; border-radius: 50%; color: var(--sja-forest); background: var(--sja-lime); }
.sja-visit-bar small,.sja-visit-bar strong { display: block; }
.sja-visit-bar small { color: var(--sja-muted); font-size: .69rem; font-weight: 500; letter-spacing: .04em; }
.sja-visit-bar strong { font-size: .91rem; font-weight: 560; line-height: 1.35; }

.sja-motion-ribbon { position: relative; z-index: 3; display: flex; align-items: center; overflow: hidden; margin-top: 3rem; color: #fff; background: var(--sja-brand); }
.sja-motion-ribbon-window { min-width: 0; flex: 1; overflow: hidden; }
.sja-motion-ribbon-track { width: max-content; display: flex; animation: sja-ribbon 30s linear infinite; }
.sja-motion-ribbon.is-paused .sja-motion-ribbon-track { animation-play-state: paused; }
.sja-motion-ribbon-group { display: flex; align-items: center; gap: 1.1rem; padding: .82rem .55rem; white-space: nowrap; }
.sja-motion-ribbon-group span { font-family: var(--sja-serif); font-size: 1.08rem; font-weight: 400; }
.sja-motion-ribbon-group i { color: var(--sja-lime); font-size: 1.25rem; font-style: normal; }
.sja-motion-ribbon > button { width: 3.75rem; min-height: 3.6rem; flex: 0 0 auto; border: 0; border-left: 1px solid rgba(255,255,255,.28); color: #fff; background: var(--sja-brand-hover); cursor: pointer; }

.sja-service-experience { overflow: hidden; padding-top: clamp(5.5rem,8vw,8.5rem); background: var(--sja-canvas); }
.sja-service-explorer { display: grid; grid-template-columns: minmax(17rem,.72fr) minmax(30rem,1.28fr); align-items: stretch; gap: clamp(2rem,5vw,4.5rem); }
.sja-service-tabs { align-self: center; border-block: 1px solid var(--sja-line); }
.sja-service-tab { display: grid; grid-template-columns: 2.2rem minmax(0,1fr) auto; align-items: center; gap: .8rem; min-height: 5.1rem; padding: .8rem .35rem; border-bottom: 1px solid var(--sja-line); color: var(--sja-heading); text-decoration: none; transition: padding .3s cubic-bezier(.22,1,.36,1),color .22s ease,background-color .22s ease; }
.sja-service-tab:last-of-type { border-bottom: 0; }
.sja-service-tab:hover,.sja-service-tab.is-active { padding-inline: 1rem .75rem; color: var(--sja-forest); background: var(--sja-mint); text-decoration: none; }
.sja-service-tab > span { color: var(--sja-brand); font-size: .7rem; font-variant-numeric: tabular-nums; }
.sja-service-tab strong { font-family: var(--sja-serif); font-size: clamp(1.2rem,2vw,1.55rem); font-weight: 400; line-height: 1.15; }
.sja-service-tab small { grid-column: 2; margin-top: -.45rem; color: var(--sja-muted); font-size: .7rem; font-weight: 400; }
.sja-service-tab i { grid-column: 3; grid-row: 1 / span 2; font-style: normal; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.sja-service-tab:hover i,.sja-service-tab.is-active i { transform: translate(.2rem,-.2rem); }
.sja-service-tabs > .sja-service-all { margin: 1.35rem .25rem; color: var(--sja-brand); font-size: .84rem; font-weight: 550; }
.sja-service-panels { position: relative; min-height: 38rem; }
.sja-service-panel { position: absolute; inset: 0; overflow: hidden; border-radius: 2.25rem 8rem 2.25rem 2.25rem; background: var(--sja-forest); box-shadow: var(--sja-shadow); }
.sja-service-panel[hidden] { display: none; }
.sja-service-panel.is-entering { animation: sja-panel-enter .52s cubic-bezier(.22,1,.36,1); }
.sja-service-panel-media { position: absolute; inset: 0; }
.sja-service-panel-media .sja-media-placeholder { position: absolute; inset: 0; }
.sja-service-panel-media::after { position: absolute; inset: 20% 0 0; background: linear-gradient(transparent,rgba(14,48,36,.94)); content: ""; }
.sja-service-panel-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.sja-service-panel-media > span { position: absolute; z-index: 2; top: 1.35rem; right: 1.45rem; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; color: #fff; font-size: .78rem; font-variant-numeric: tabular-nums; }
.sja-service-panel-copy { position: absolute; z-index: 2; right: clamp(1.5rem,4vw,3.2rem); bottom: clamp(1.5rem,4vw,3.2rem); left: clamp(1.5rem,4vw,3.2rem); max-width: 34rem; color: rgba(255,255,255,.83); }
.sja-service-panel-copy h3 { margin: .25rem 0 .7rem; color: #fff; font-family: var(--sja-serif); font-size: clamp(2rem,4.2vw,3.55rem); font-weight: 400; line-height: 1.02; letter-spacing: -.02em; }
.sja-service-panel-copy > p:not(.sja-service-meta) { max-width: 42rem; margin: 0 0 1rem; }
.sja-service-meta { margin: 0; color: var(--sja-lime); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.sja-service-panel .sja-link-arrow { color: #fff; }
.sja-service-panel .sja-link-arrow:hover { color: var(--sja-lime); }

.sja-current-section { position: relative; overflow: hidden; background: linear-gradient(120deg,var(--sja-sand),#f7ecdc 60%,var(--sja-peach)); }
.sja-current-section::before { position: absolute; top: -11rem; right: -8rem; width: 26rem; height: 26rem; border: 1px solid rgba(23,63,47,.15); border-radius: 50%; content: ""; }
.sja-heading-side { display: grid; gap: 1.2rem; }
.sja-scroll-controls { display: flex; gap: .45rem; }
.sja-current-list.sja-offer-list { grid-auto-columns: minmax(19rem,32%); gap: 1.2rem; padding: .3rem .25rem 1.5rem; }
.sja-current-list .sja-current-item.sja-offer { min-height: 31rem; padding: 1rem 1rem 1.25rem; border: 1px solid rgba(23,63,47,.08); border-radius: 1.75rem; background: rgba(255,253,248,.92); box-shadow: 0 15px 38px rgba(78,60,35,.08); }
.sja-current-list .sja-card-media { height: 15.5rem; margin: 0 0 1.1rem; border-radius: 1.15rem; background: var(--sja-mint); }
.sja-current-list .sja-card-media img { width: 100%; height: 100%; padding: 0; object-fit: cover; }
.sja-current-list .sja-current-item--angebot .sja-card-media,.sja-current-list .sja-card-media--product { border: 1px solid rgba(23,63,47,.1); background: #fff; }
.sja-current-list .sja-current-item--angebot .sja-card-media img,.sja-current-list .sja-card-media--product img { padding: clamp(.8rem,2vw,1.35rem); object-fit: contain; }
.sja-current-list .sja-card-media--placeholder { position: relative; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg,var(--sja-mint),#d7e8cd); }
.sja-current-list .sja-card-media--placeholder::before,.sja-current-list .sja-card-media--placeholder::after { position: absolute; width: 9rem; height: 2.25rem; border-radius: 999px; background: rgba(22,109,12,.12); content: ""; }
.sja-current-list .sja-card-media--placeholder::after { transform: rotate(90deg); }
.sja-current-list .sja-card-media--placeholder span { position: relative; z-index: 1; color: var(--sja-forest); font-family: var(--sja-serif); font-size: 1.1rem; }
.sja-current-meta { display: flex; flex-wrap: wrap; gap: .45rem .75rem; margin: .25rem .15rem .65rem !important; color: var(--sja-brand) !important; font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sja-current-kicker { color: var(--sja-muted); }
.sja-current-list .sja-offer h3 { margin: 0 .15rem; font-family: var(--sja-serif); font-size: 1.75rem; font-weight: 400; line-height: 1.12; }
.sja-current-list .sja-offer h3 a { color:inherit; font:inherit; text-decoration:none; }
.sja-current-list .sja-offer h3 a:hover,.sja-current-list .sja-offer h3 a:focus-visible { color:var(--sja-brand); text-decoration:none; }
.sja-current-list .sja-offer > p:not(.sja-current-meta) { margin-inline: .15rem; }
.sja-current-availability { color: var(--sja-brand) !important; font-size: .75rem; font-weight: 500; }
.sja-current-list .sja-offer-date { margin-top: auto !important; font-size: .7rem; font-weight: 500; }
.sja-current-cta { display: flex; align-items: center; justify-content: space-between; margin: .85rem .15rem 0; padding-top: .8rem; border-top: 1px solid var(--sja-line); color: var(--sja-heading); font-size: .82rem; font-weight: 550; text-decoration: none; }
.sja-current-cta:hover { color: var(--sja-brand); }
.sja-collection-view .sja-offer-list { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:row; grid-auto-columns:auto; overflow:visible; padding-inline:0; scroll-snap-type:none; }
.sja-collection-view .sja-current-item.sja-offer { min-height:0; }
.sja-collection-view .pagination ul { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; margin:2.5rem 0 0; padding:0; list-style:none; }
.sja-current-list .sja-badge { top: 1.7rem; right: 1.7rem; min-width: 3.7rem; min-height: 3.7rem; font-weight: 600; }
.sja-current-list .sja-badge--20,.sja-current-list .sja-badge--30,.sja-current-list .sja-badge--40 { width: 3.7rem; height: 3.7rem; border-radius: 50%; }
.sja-current-list .sja-badge--20 { border: 2px solid #fff; color: var(--sja-forest-deep); background: var(--sja-lime); box-shadow: 0 8px 22px rgba(23,63,47,.2); transform: rotate(-6deg); }
.sja-current-list .sja-badge--30 { border: 2px solid #fff; color: #fff; background: var(--sja-brand); box-shadow: 0 8px 22px rgba(22,109,12,.28); transform: rotate(4deg); }
.sja-current-list .sja-badge--40 { border: 2px solid #fff; color: #fff; background: #8a3042; box-shadow: 0 8px 22px rgba(91,24,39,.3); transform: rotate(-7deg); }
.sja-current-list .sja-badge--note { min-width: 4.5rem; min-height: 2.6rem; padding-inline: .8rem; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #52645a; font-size: .7rem; line-height: 1.1; text-align: center; box-shadow: 0 8px 22px rgba(23,63,47,.22); transform: none; }

#promotions,#articles { scroll-margin-top: 5.5rem; }
.sja-articles-section { position: relative; overflow: hidden; background: linear-gradient(150deg,#fff 0%,#f4f8f1 72%,var(--sja-mint) 100%); }
.sja-articles-section::after { position: absolute; right: -7rem; bottom: -12rem; width: 27rem; height: 27rem; border: 1px solid rgba(22,109,12,.13); border-radius: 50%; content: ""; pointer-events: none; }
.sja-articles-section > .sja-container { position: relative; z-index: 1; }
.sja-article-list.sja-offer-list { grid-auto-columns: minmax(19rem,32%); gap: 1.2rem; padding: .3rem .25rem 1.5rem; }
.sja-article-card { min-height: 0; height: fit-content; align-self:start; display: flex; flex-direction: column; padding: 1rem 1rem 1.25rem; border: 1px solid rgba(23,63,47,.1); border-radius: 1.75rem; background: var(--sja-card-background,rgba(255,255,255,.94)); box-shadow: 0 16px 38px rgba(23,63,47,.08); scroll-snap-align: start; }
.sja-article-card .sja-article-media { display: block; height: 15.5rem; margin: 0 0 1.1rem; overflow: hidden; border-radius: 1.15rem; background: var(--sja-mint); }
.sja-article-card .sja-article-media img { width: 100%; height: 100%; padding: 0; object-fit: cover; transition: transform .35s ease; }
.sja-article-card:hover .sja-article-media img { transform: scale(1.025); }
.sja-article-date { margin: .15rem .15rem .55rem; color: var(--sja-brand); font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.sja-article-card h3 { margin: 0 .15rem .65rem; font-family: var(--sja-serif); font-size: 1.75rem; font-weight: 400; line-height: 1.12; }
.sja-article-card h3 a { color: inherit; text-decoration: none; }
.sja-article-card h3 a:hover { color: var(--sja-brand); }
.sja-article-card > p:not(.sja-article-date) { margin: 0 .15rem; color: var(--sja-muted); }
.sja-article-card .sja-current-cta { margin-top: auto; }

.sja-team-studio { position: relative; overflow: hidden; background: #edf4e7; }
.sja-team-studio::after { position: absolute; bottom: -14rem; left: -12rem; width: 32rem; height: 32rem; border-radius: 50%; background: rgba(220,239,114,.35); content: ""; }
.sja-team-studio > .sja-container { position: relative; z-index: 1; }
.sja-team-spotlight { display: grid; grid-template-columns: minmax(27rem,1.12fr) minmax(21rem,.88fr); overflow: hidden; border-radius: 7rem 2rem 2rem 2rem; background: var(--sja-forest-deep); box-shadow: var(--sja-shadow); }
.sja-team-spotlight-photo { position: relative; min-height: 39rem; }
.sja-team-spotlight-photo::after { position: absolute; inset: 48% 0 0; background: linear-gradient(transparent,rgba(14,48,36,.58)); content: ""; }
.sja-team-spotlight-photo > img,.sja-team-member-photo,.sja-team-member-photo > img { width: 100%; height: 100%; min-height: 39rem; display: block; object-fit: cover; }
.sja-team-spotlight-photo > .sja-media-placeholder,.sja-team-member-photo > .sja-media-placeholder { min-height: inherit; }
.sja-team-member-photo { position: absolute; inset: 0; margin: 0; overflow: hidden; }
.sja-team-member-photo[hidden] { display: none; }
.sja-team-member-photo.is-entering { animation: sja-panel-enter .52s cubic-bezier(.22,1,.36,1); }
.sja-team-spotlight-photo > p { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: center; gap: .6rem; margin: 0; color: #fff; font-size: .79rem; }
.sja-team-spotlight-photo > p span { color: var(--sja-lime); }
.sja-team-details { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,4.5vw,4rem); color: rgba(255,255,255,.78); }
.sja-team-detail[hidden] { display: none; }
.sja-team-detail.is-entering { animation: sja-panel-enter .52s cubic-bezier(.22,1,.36,1); }
.sja-team-position { margin: 0 0 .5rem; color: var(--sja-lime); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sja-team-detail h3,.sja-team-spotlight--photo-only .sja-team-details h3 { margin: 0; color: #fff; font-family: var(--sja-serif); font-size: clamp(2.4rem,4vw,3.8rem); font-weight: 400; line-height: 1; }
.sja-team-detail blockquote { max-width: 27rem; margin: 1.6rem 0; color: #fff; font-family: var(--sja-serif); font-size: clamp(1.2rem,2.1vw,1.55rem); font-weight: 400; line-height: 1.45; }
.sja-team-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1.6rem; }
.sja-team-facts p { margin: 0; }
.sja-team-facts small,.sja-team-facts strong { display: block; }
.sja-team-facts small { color: rgba(255,255,255,.55); font-size: .66rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.sja-team-facts strong { color: #fff; font-size: .82rem; font-weight: 500; }
.sja-team-tabs { display: grid; grid-auto-columns: minmax(8.25rem,1fr); grid-auto-flow: column; gap: .7rem; overflow-x: auto; margin: 2rem 0 1.5rem; padding: .25rem .1rem .9rem; scrollbar-color: var(--sja-lime) transparent; scrollbar-width: thin; scroll-snap-type: x proximity; }
.sja-team-tab { position: relative; min-width: 8.25rem; display: grid; align-content: start; justify-items: stretch; gap: .55rem; overflow: hidden; padding: .5rem .5rem .65rem; border: 1px solid rgba(255,255,255,.22); border-radius: 1rem; color: rgba(255,255,255,.76); background: rgba(255,255,255,.07); cursor: pointer; text-align: left; scroll-snap-align: start; transition: border-color .22s ease,background-color .22s ease,transform .22s cubic-bezier(.22,1,.36,1); }
.sja-team-tab > span { width: 100%; height: auto; aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: .7rem; color: #fff; background: rgba(255,255,255,.08); font-size: 1rem; transition: border-color .22s ease,transform .22s cubic-bezier(.22,1,.36,1); }
.sja-team-tab img { width: 100%; height: 100%; object-fit: cover; }
.sja-team-tab strong { max-width: none; overflow: visible; padding-inline: .15rem; color: inherit; font-size: .72rem; font-weight: 550; line-height: 1.25; text-overflow: clip; white-space: normal; }
.sja-team-tab:hover { border-color: rgba(220,239,114,.7); background: rgba(255,255,255,.12); transform: translateY(-2px); }
.sja-team-tab:hover > span,.sja-team-tab.is-active > span { border-color: var(--sja-lime); transform: none; }
.sja-team-tab.is-active { border-color: var(--sja-lime); color: #fff; background: rgba(220,239,114,.14); box-shadow: inset 0 0 0 1px var(--sja-lime); transform: translateY(-2px); }
.sja-team-details > .sja-link-arrow { align-self: flex-start; color: #fff; }
.sja-team-details > .sja-link-arrow:hover { color: var(--sja-lime); }

.sja-neighborhood { position: relative; background: var(--sja-forest); }
.sja-neighborhood .sja-story-grid { gap: clamp(3rem,8vw,7rem); }
.sja-neighborhood .sja-story-grid--without-media { grid-template-columns: minmax(0,48rem); justify-content: center; }
.sja-neighborhood-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin: 2.25rem 0; }
.sja-neighborhood-facts p { margin: 0; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.2); }
.sja-neighborhood-facts strong,.sja-neighborhood-facts span { display: block; }
.sja-neighborhood-facts strong { color: var(--sja-lime); font-family: var(--sja-serif); font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 400; line-height: 1; }
.sja-neighborhood-facts span { margin-top: .35rem; color: rgba(255,255,255,.67); font-size: .67rem; line-height: 1.35; }
.sja-neighborhood .sja-story-image::after { display: none; }
.sja-neighborhood .sja-story-image img { min-height: 33rem; border-radius: 2rem 8rem 2rem 2rem; }
.sja-route-drawing { position: absolute; z-index: 2; right: -2rem; bottom: -1.4rem; width: 72%; overflow: visible; }
.sja-route-drawing path { fill: none; stroke: var(--sja-lime); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 530; stroke-dashoffset: 530; }
.sja-route-drawing circle { fill: var(--sja-lime); opacity: 0; }
.sja-story-image.is-visible .sja-route-drawing path { animation: sja-draw-route 1.8s .2s cubic-bezier(.22,1,.36,1) forwards; }
.sja-story-image.is-visible .sja-route-drawing circle { animation: sja-route-dot .35s 1.65s ease forwards; }

.sja-visit-planner { background: var(--sja-canvas); }
.sja-visit-planner-grid { display: grid; grid-template-columns: minmax(22rem,.92fr) minmax(24rem,1.08fr); gap: clamp(2rem,5vw,4.5rem); align-items: stretch; }
.sja-visit-planner .sja-regular-hours { max-width: none; margin: 0; padding: clamp(1.5rem,3vw,2.25rem); border: 1px solid var(--sja-line); border-radius: 1.75rem; background: #fff; }
.sja-visit-planner .sja-regular-hours > p:not(.sja-exceptions-label) { grid-template-columns: minmax(5rem,.55fr) 1fr; font-size: .85rem; }
.sja-visit-planner .sja-regular-hours span { font-weight: 500; }
.sja-visit-planner .sja-regular-hours strong { font-weight: 550; }
.sja-visit-planner .sja-exceptions { border-radius: 1.75rem; }
.sja-visit-planner-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; }
.sja-visit-planner-actions a { padding: .55rem .85rem; border: 1px solid var(--sja-line); border-radius: 999px; color: var(--sja-heading); font-size: .75rem; font-weight: 550; text-decoration: none; }
.sja-visit-planner-actions a:hover { border-color: var(--sja-brand); color: var(--sja-brand); }
.sja-exceptions-label,.sja-special-day time span { font-weight: 600; }
.sja-special-day h3 { font-weight: 550; }

.sja-page-header h1 { font-size: clamp(3rem,6vw,5rem); font-weight: 400; letter-spacing: -.025em; }
.sja-prose h2,.sja-service-tile-copy h2,.sja-service h2,.sja-service h3 { font-weight: 400; }
.sja-role,.sja-card-link,.sja-text-link,.pagination .page-numbers { font-weight: 550; }

/* Contact experience */
.sja-contact-hero { position: relative; overflow: hidden; padding: clamp(4.5rem,8vw,8rem) 0; color: rgba(255,255,255,.8); background: radial-gradient(circle at 78% 40%,rgba(100,168,83,.2),transparent 28rem),linear-gradient(135deg,#0b2c21,#164634 58%,#123629); }
.sja-contact-hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(220,239,114,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(220,239,114,.055) 1px,transparent 1px); background-size: 42px 42px; content: ""; mask-image: radial-gradient(circle at 77% 48%,#000,transparent 68%); pointer-events: none; }
.sja-contact-orbit { position: absolute; border: 1px solid rgba(220,239,114,.18); border-radius: 50%; pointer-events: none; }
.sja-contact-orbit--one { top: -16rem; left: -13rem; width: 35rem; height: 35rem; }
.sja-contact-orbit--two { right: -8rem; bottom: -20rem; width: 43rem; height: 43rem; }
.sja-contact-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(20rem,.88fr) minmax(29rem,1.12fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
.sja-contact-hero-copy .sja-eyebrow { color: var(--sja-lime); }
.sja-contact-hero h1 { max-width: 10ch; margin: .3rem 0 1.5rem; color: #fff; font-family: var(--sja-serif); font-size: clamp(3.5rem,7vw,6.4rem); font-weight: 400; line-height: .96; letter-spacing: -.035em; }
.sja-contact-hero .sja-lead { max-width: 35rem; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1.05rem,1.8vw,1.25rem); }
.sja-contact-hero .sja-button { border-color: var(--sja-lime); color: var(--sja-forest-deep); background: var(--sja-lime); }
.sja-contact-hero .sja-button:hover { border-color: #fff; color: var(--sja-forest-deep); background: #fff; }
.sja-contact-hero .sja-link-arrow { color: #fff; }
.sja-contact-hero .sja-link-arrow:hover { color: var(--sja-lime); }

.sja-contact-radar { position: relative; min-height: 31rem; display: grid; place-items: center; isolation: isolate; }
.sja-contact-radar::before { position: absolute; z-index: -2; width: min(31rem,100%); aspect-ratio: 1; border: 1px solid rgba(220,239,114,.19); border-radius: 50%; background: repeating-radial-gradient(circle,transparent 0 3.4rem,rgba(220,239,114,.09) 3.45rem 3.5rem),linear-gradient(90deg,transparent 49.8%,rgba(220,239,114,.12) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(220,239,114,.12) 50%,transparent 50.2%); content: ""; }
.sja-contact-radar::after { position: absolute; z-index: -1; width: min(30rem,96%); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 20deg,transparent 0 70%,rgba(220,239,114,.16) 88%,transparent 100%); content: ""; animation: sja-radar-sweep 12s linear infinite; }
.sja-contact-radar-ring { position: absolute; z-index: -1; border: 1px solid rgba(220,239,114,.28); border-radius: 50%; opacity: 0; animation: sja-radar-ring 4.8s ease-out infinite; }
.sja-contact-radar-ring--one { width: 13rem; height: 13rem; }
.sja-contact-radar-ring--two { width: 13rem; height: 13rem; animation-delay: 2.4s; }
.sja-contact-live-status.sja-live-status { position: relative; inset: auto; width: min(26rem,calc(100% - 2rem)); padding: 1.55rem 1.65rem 1.4rem; border-color: rgba(255,255,255,.2); background: rgba(15,53,39,.9); box-shadow: 0 28px 70px rgba(5,25,18,.3); transform: none; }
.sja-contact-live-status.sja-live-status[data-state="closed"] { background: rgba(98,48,56,.92); }
.sja-contact-live-status.sja-live-status[data-state="unknown"] { background: rgba(61,78,68,.92); }
.sja-contact-location-tag { position: absolute; right: 1.25rem; bottom: .65rem; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 .65rem; margin: 0; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; background: rgba(255,255,255,.1); font-size: .76rem; font-weight: 550; backdrop-filter: blur(12px); }
.sja-contact-location-tag > span { grid-row: 1 / span 2; color: var(--sja-lime); font-size: 1.15rem; }
.sja-contact-location-tag small { color: rgba(255,255,255,.58); font-size: .62rem; font-weight: 450; }

.sja-contact-map-section { position: relative; overflow: hidden; background: linear-gradient(180deg,var(--sja-canvas),#f5f5e9); }
.sja-contact-map-section::before { position: absolute; top: 6rem; left: -11rem; width: 24rem; height: 24rem; border-radius: 50%; background: rgba(220,239,114,.22); content: ""; filter: blur(1px); }
.sja-contact-map-layout { position: relative; display: grid; grid-template-columns: minmax(18rem,.68fr) minmax(34rem,1.32fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.sja-contact-map-copy h2 { max-width: 10ch; margin: 0 0 1.25rem; color: var(--sja-forest); font-family: var(--sja-serif); font-size: clamp(2.8rem,5.2vw,4.75rem); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.sja-contact-map-copy > p:not(.sja-eyebrow) { max-width: 32rem; margin: 0 0 2rem; color: var(--sja-muted); }
.sja-contact-address { display: grid; gap: .08rem; margin: 0 0 1.4rem; padding: 1.25rem 0; border-block: 1px solid var(--sja-line); color: var(--sja-heading); font-style: normal; }
.sja-contact-address span { margin-bottom: .35rem; color: var(--sja-brand); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sja-contact-address strong { font-family: var(--sja-serif); font-size: 1.35rem; font-weight: 400; line-height: 1.3; }

.sja-google-map { position: relative; min-height: 38rem; overflow: hidden; border: 1px solid rgba(23,63,47,.13); border-radius: 2rem 8rem 2rem 2rem; background: var(--sja-mint); box-shadow: 0 30px 75px rgba(25,55,42,.17); }
.sja-google-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; display: block; border: 0; background: var(--sja-mint); }
.sja-google-map iframe[hidden],.sja-map-preview[hidden] { display: none !important; }
.sja-map-preview { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 63% 44%,rgba(220,239,114,.82),transparent 11rem),linear-gradient(145deg,#e8f2df,#cfe2c7 54%,#f3ead8); }
.sja-map-preview::before { position: absolute; inset: 0; background-image: radial-gradient(rgba(23,63,47,.18) .7px,transparent .7px); background-size: 19px 19px; content: ""; opacity: .42; }
.sja-map-network { position: absolute; inset: -4%; width: 108%; height: 108%; }
.sja-map-network path { fill: none; stroke: rgba(23,63,47,.22); stroke-width: 12; stroke-linecap: round; }
.sja-map-network path:nth-child(2),.sja-map-network path:nth-child(5) { stroke: rgba(255,255,255,.74); stroke-width: 5; }
.sja-map-network path:nth-child(3),.sja-map-network path:nth-child(4) { stroke-width: 7; }
.sja-map-pulse { position: absolute; top: 40%; left: 66%; width: 5rem; height: 5rem; display: grid; place-items: center; border: 1px solid rgba(22,109,12,.34); border-radius: 50%; background: rgba(255,255,255,.38); animation: sja-map-pulse 2.8s ease-out infinite; }
.sja-map-pulse::before { width: 2.35rem; height: 2.35rem; border-radius: 50% 50% 50% 8%; background: var(--sja-brand); box-shadow: 0 10px 24px rgba(22,109,12,.28); content: ""; transform: rotate(-45deg); }
.sja-map-pulse i { position: absolute; width: .66rem; height: .66rem; border-radius: 50%; background: #fff; }
.sja-map-consent-card { position: absolute; right: 2rem; bottom: 2rem; left: 2rem; max-width: 30rem; padding: 1.35rem 1.45rem; border: 1px solid rgba(255,255,255,.72); border-radius: 1.4rem; background: rgba(255,253,248,.91); box-shadow: 0 18px 45px rgba(25,55,42,.14); backdrop-filter: blur(18px); }
.sja-map-consent-card > strong { display: block; margin: .35rem 0 .45rem; color: var(--sja-heading); font-family: var(--sja-serif); font-size: 1.32rem; font-weight: 400; line-height: 1.25; }
.sja-map-consent-card > p:not(.sja-map-provider) { margin: 0; color: var(--sja-muted); font-size: .76rem; line-height: 1.5; }
.sja-map-provider { display: flex; align-items: center; gap: .55rem; margin: 0; color: var(--sja-brand); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sja-map-provider span { width: 1.55rem; height: 1.55rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--sja-brand); font-size: .72rem; }
.sja-map-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; margin-top: 1rem; }
.sja-map-actions button { min-height: 2.9rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem 1rem; border: 0; border-radius: 999px; color: #fff; background: var(--sja-forest); font-size: .78rem; font-weight: 560; cursor: pointer; transition: background-color .2s ease,transform .2s ease; }
.sja-map-actions button:hover { background: var(--sja-brand); transform: translateY(-2px); }
.sja-map-actions button:disabled { cursor: wait; opacity: .72; transform: none; }
.sja-map-actions a { color: var(--sja-heading); font-size: .76rem; font-weight: 550; text-decoration: none; }
.sja-map-actions a:hover { color: var(--sja-brand); }
.sja-google-map.is-loading .sja-map-preview { filter: saturate(.72); }
.sja-map-noscript { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; margin: 0; padding: .7rem 1rem; border-radius: 999px; background: #fff; }

.sja-contact-channels { padding: 0 0 clamp(4.5rem,8vw,8rem); background: #f5f5e9; }
.sja-contact-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-block: 1px solid var(--sja-line); }
.sja-contact-channel-grid > a { min-width: 0; min-height: 8.5rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 1.3rem 1.5rem; color: var(--sja-heading); text-decoration: none; transition: color .22s ease,background-color .22s ease; }
.sja-contact-channel-grid > a + a { border-left: 1px solid var(--sja-line); }
.sja-contact-channel-grid > a:only-child { grid-column: 1 / -1; }
.sja-contact-channel-grid > a:hover { color: var(--sja-forest); background: rgba(255,255,255,.72); }
.sja-contact-channel-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; color: var(--sja-forest); background: var(--sja-lime); font-style: normal; }
.sja-contact-channel-grid small,.sja-contact-channel-grid strong { display: block; overflow-wrap: anywhere; }
.sja-contact-channel-grid small { margin-bottom: .25rem; color: var(--sja-muted); font-size: .67rem; font-weight: 550; letter-spacing: .06em; text-transform: uppercase; }
.sja-contact-channel-grid strong { font-family: var(--sja-serif); font-size: clamp(1.2rem,2.5vw,1.75rem); font-weight: 400; line-height: 1.2; }
.sja-contact-channel-grid i { font-style: normal; transition: transform .2s ease; }
.sja-contact-channel-grid > a:hover i { transform: translateX(.25rem); }
.sja-contact-editor { padding-top: 0; background: #f5f5e9; }

@keyframes sja-ambient-one { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(3rem,2rem,0) scale(1.06); } }
@keyframes sja-ambient-two { from { transform: translate3d(0,0,0) rotate(0); } to { transform: translate3d(-2rem,-1.5rem,0) rotate(10deg); } }
@keyframes sja-ribbon { to { transform: translateX(-50%); } }
@keyframes sja-panel-enter { from { opacity: 0; transform: translate3d(0,14px,0) scale(.992); } to { opacity: 1; transform: none; } }
@keyframes sja-draw-route { to { stroke-dashoffset: 0; } }
@keyframes sja-route-dot { to { opacity: 1; } }
@keyframes sja-radar-sweep { to { transform: rotate(1turn); } }
@keyframes sja-radar-ring { 0% { opacity: 0; transform: scale(.45); } 18% { opacity: .8; } 100% { opacity: 0; transform: scale(2.1); } }
@keyframes sja-map-pulse { 0% { box-shadow: 0 0 0 0 rgba(22,109,12,.26); } 75%,100% { box-shadow: 0 0 0 2.3rem rgba(22,109,12,0); } }

@media (max-width: 1100px) {
  .sja-live-hero-grid { grid-template-columns: minmax(18rem,.72fr) minmax(30rem,1.28fr); gap: 3rem; }
  .sja-live-hero h1 { font-size: clamp(3.35rem,6vw,4.75rem); }
  .sja-live-status { left: -2rem; }
  .sja-service-explorer { gap: 2.5rem; }
}

@media (max-width: 900px) {
  .sja-header-inner { min-height: 5.5rem; }
  .sja-scrolled .sja-header-inner { min-height: 5rem; }
  .sja-logo img { width: 4rem; height: 4rem; }
  .sja-scrolled .sja-logo img { width: 3.6rem; height: 3.6rem; }
  .sja-header-qr { width: 4rem; height: 4rem; flex-basis: 4rem; }
  .sja-scrolled .sja-header-qr { width: 3.6rem; height: 3.6rem; flex-basis: 3.6rem; }
  .sja-mobile-nav { inset-block-start: 5.5rem; }
  .sja-live-hero { min-height: auto; padding-top: 3rem; }
  .sja-live-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .sja-live-hero-copy { max-width: 46rem; }
  .sja-live-hero h1 { max-width: 12ch; }
  .sja-scene-gallery { width: min(100%,46rem); margin-left: auto; }
  .sja-scene-stack,.sja-live-hero-image { min-height: 34rem; }
  .sja-live-status { left: 1rem; }
  .sja-visit-bar-inner { grid-template-columns: 1fr; }
  .sja-visit-bar a { min-height: 5.2rem; }
  .sja-visit-bar a + a { border-top: 1px solid var(--sja-line); border-left: 0; }
  .sja-service-explorer { grid-template-columns: 1fr; }
  .sja-service-tabs { display: grid; grid-auto-columns: minmax(15rem,44%); grid-auto-flow: column; overflow-x: auto; border-block: 0; scroll-snap-type: x mandatory; }
  .sja-service-tab { min-height: 6.5rem; border: 1px solid var(--sja-line); border-radius: 1rem; scroll-snap-align: start; }
  .sja-service-tabs > .sja-service-all { min-width: 13rem; display: grid; place-content: center; margin: 0; border: 1px solid var(--sja-line); border-radius: 1rem; text-align: center; scroll-snap-align: start; }
  .sja-service-panels { min-height: 34rem; }
  .sja-team-spotlight { grid-template-columns: 1fr; border-radius: 5rem 1.75rem 1.75rem; }
  .sja-team-spotlight-photo,.sja-team-spotlight-photo > img,.sja-team-member-photo,.sja-team-member-photo > img { min-height: 31rem; max-height: 36rem; }
  .sja-current-list.sja-offer-list { grid-auto-columns: minmax(19rem,48%); }
  .sja-visit-planner-grid { grid-template-columns: 1fr; }
  .sja-contact-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .sja-contact-hero-copy { max-width: 44rem; }
  .sja-contact-radar { min-height: 28rem; }
  .sja-contact-map-layout { grid-template-columns: 1fr; }
  .sja-contact-map-copy { max-width: 43rem; }
  .sja-contact-map-copy h2 { max-width: 13ch; }
}

@media (max-width: 700px) {
  .sja-live-hero { padding-top: 2.15rem; }
  .sja-live-hero h1 { font-size: clamp(3.05rem,13vw,4.3rem); line-height: 1; }
  .sja-live-hero .sja-lead { font-size: 1rem; }
  .sja-scene-stack,.sja-live-hero-image { min-height: 31rem; }
  .sja-scene-stack { border-radius: 5rem 1.5rem 5rem 1.5rem; }
  .sja-live-status { top: 1rem; right: .75rem; bottom: auto; left: .75rem; width: auto; }
  .sja-scene-controls { right: .75rem; bottom: .1rem; transform: translateY(100%); }
  .sja-scene-gallery { padding-bottom: 4.5rem; }
  .sja-visit-bar { margin-top: -.75rem; }
  .sja-service-tabs { grid-auto-columns: minmax(15rem,82%); margin-right: -1rem; padding-right: 1rem; }
  .sja-service-panels { min-height: 31rem; }
  .sja-service-panel { border-radius: 1.5rem 5rem 1.5rem 1.5rem; }
  .sja-current-list.sja-offer-list { grid-auto-columns: minmax(17.5rem,84%); }
  .sja-team-spotlight { border-radius: 4rem 1.5rem 1.5rem; }
  .sja-team-details { padding: 2rem 1.35rem; }
	.sja-team-tabs { grid-auto-columns: minmax(8rem,46%); margin-right: -1.35rem; padding-right: 1.35rem; scroll-snap-type: x mandatory; }
  .sja-neighborhood-facts { gap: .55rem; }
  .sja-neighborhood .sja-story-image img { min-height: 27rem; border-radius: 1.5rem 5rem 1.5rem 1.5rem; }
  .sja-route-drawing { right: -.5rem; width: 85%; }
  .sja-contact-hero { padding-block: 4rem 4.5rem; }
  .sja-contact-hero h1 { font-size: clamp(3.15rem,14vw,4.7rem); }
  .sja-contact-radar { min-height: 25rem; }
  .sja-contact-location-tag { right: 0; }
  .sja-google-map { min-height: 34rem; border-radius: 1.6rem 5rem 1.6rem 1.6rem; }
  .sja-map-consent-card { right: 1rem; bottom: 1rem; left: 1rem; }
  .sja-contact-channel-grid { grid-template-columns: 1fr; }
  .sja-contact-channel-grid > a + a { border-top: 1px solid var(--sja-line); border-left: 0; }
}

@media (max-width: 520px) {
  .sja-logo { gap: .55rem; }
  .sja-logo img { width: 3.75rem; height: 3.75rem; }
  .sja-logo span { max-width: 8.25rem; font-size: .78rem; }
  .sja-header-tools { gap: .5rem; }
  .sja-header-qr { width: 3.75rem; height: 3.75rem; flex-basis: 3.75rem; }
  .sja-live-hero .sja-actions { align-items: stretch; }
  .sja-live-hero .sja-button { min-width: 0; width: 100%; }
  .sja-scene-stack,.sja-live-hero-image { min-height: 27rem; }
  .sja-live-status { padding: 1rem; border-radius: 1.3rem; }
  .sja-swiss-clock { width: 4rem; height: 4rem; flex-basis: 4rem; }
  .sja-swiss-clock-number { font-size: .43rem; }
  .sja-swiss-clock-number--12 { top: .36rem; }
  .sja-swiss-clock-number--3 { right: .36rem; }
  .sja-swiss-clock-number--9 { left: .36rem; }
  .sja-swiss-clock-number--6 { bottom: .32rem; }
  .sja-live-status-copy strong { font-size: 1.25rem; }
  .sja-scene figcaption { top: auto; right: 1rem; bottom: 1rem; }
  .sja-visit-bar a { padding-inline: 1rem; }
  .sja-motion-ribbon-group span { font-size: .98rem; }
  .sja-service-panels { min-height: 28rem; }
  .sja-service-panel-copy h3 { font-size: 2.25rem; }
  .sja-team-spotlight-photo,.sja-team-spotlight-photo > img,.sja-team-member-photo,.sja-team-member-photo > img { min-height: 26rem; }
  .sja-team-facts { grid-template-columns: 1fr; }
  .sja-neighborhood-facts { grid-template-columns: 1fr; }
  .sja-neighborhood-facts p { display: grid; grid-template-columns: 5rem 1fr; align-items: end; }
  .sja-contact-hero .sja-actions { align-items: stretch; }
  .sja-contact-hero .sja-button { width: 100%; }
  .sja-contact-radar { min-height: 23rem; margin-inline: -1rem; }
  .sja-contact-radar::before,.sja-contact-radar::after { width: 24rem; }
  .sja-contact-live-status.sja-live-status { width: calc(100% - 1rem); padding: 1.1rem; }
  .sja-contact-location-tag { right: .5rem; bottom: -.25rem; }
  .sja-google-map { min-height: 32rem; }
  .sja-map-pulse { top: 25%; left: 68%; }
  .sja-map-consent-card { padding: 1.1rem; }
  .sja-map-actions { align-items: stretch; }
  .sja-map-actions button { width: 100%; }
  .sja-contact-channel-grid > a { min-height: 7.25rem; padding-inline: .8rem; }
  .sja-contact-channel-icon { width: 2.65rem; height: 2.65rem; }
}

@media (max-width: 400px) {
  .sja-logo span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sja-motion-ribbon-track { width: auto; flex-wrap: wrap; animation: none; transform: none; }
  .sja-motion-ribbon-group:nth-child(2) { display: none; }
  .sja-ambient-shape { animation: none; }
  .sja-scene-stack { transform: none; }
  .sja-route-drawing path { stroke-dashoffset: 0; }
  .sja-route-drawing circle { opacity: 1; }
  .sja-contact-radar::after,.sja-contact-radar-ring,.sja-map-pulse { animation: none; }
  .sja-contact-radar-ring { display: none; }
  .sja-swiss-clock-hand--second { display: none; }
}

@media (max-width:900px) { .sja-collection-view .sja-offer-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .sja-collection-view .sja-offer-list { grid-template-columns:1fr; } }
