/* Full-width, constant-height hero. Its size never depends on the active slide. */
.hero-carousel{--hero-height:clamp(580px,calc(100svh - 134px),700px);position:relative;width:100%;max-width:none;margin:0;padding:0;background:#f4f6eb}
.hero-slides{position:relative;height:var(--hero-height);border-radius:0;overflow:hidden;background:#e5ebdc}
.hero-slide{position:absolute;inset:0;display:block;height:100%;min-height:0;overflow:hidden}
.hero-slide[hidden]{display:none}
.slide-visual{position:absolute;inset:0;display:block;min-height:0;padding:0;background:#e5ebdc}
.slide-visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%;border-radius:0}
.slide-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f4f6eb 0%,rgba(244,246,235,.98) 25%,rgba(244,246,235,.90) 40%,rgba(244,246,235,.25) 66%,rgba(244,246,235,.03) 100%)}
.slide-copy{position:relative;z-index:2;width:min(1280px,calc(100% - 80px));height:100%;margin:auto;padding:46px 53% 108px 0;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;scrollbar-width:thin}
.slide-copy .eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;color:#486846;flex-shrink:0}
.slide-copy h1,.slide-copy h2{font-size:clamp(48px,5.2vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.055em;margin:25px 0 23px;max-width:600px;flex-shrink:0}
.slide-description{font-size:18px;line-height:1.55;color:#52644f;max-width:435px;margin-bottom:24px;flex-shrink:0}
.slide-copy .pill{flex-shrink:0;padding:16px 26px}
.photo-label{display:none}
.slide-flower{position:absolute;right:12%;top:16%;font-size:340px;color:#98b583}
.carousel-controls{position:absolute;z-index:4;top:calc(var(--hero-height) - 85px);left:50%;transform:translateX(-50%);width:min(1280px,calc(100% - 80px));height:52px;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.carousel-dots{gap:3px;flex-wrap:nowrap;max-width:65%;overflow-x:auto}
.carousel-dots button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:44px;padding:0;border:0;border-radius:50%;background:transparent}
.carousel-dots button:before{content:'';display:block;width:8px;height:8px;border:1px solid #476740;border-radius:50%;background:transparent;transition:background .2s,transform .2s}
.carousel-dots button[aria-current=true]:before{background:#365f37;transform:scale(1.35)}
.carousel-dots button:hover:before{background:#365f37}
.carousel-actions{gap:10px}
.carousel-actions button,.carousel-actions .carousel-pause{display:grid;place-items:center;width:48px;height:48px;max-width:none;padding:0;background:rgba(255,254,248,.88);border:1px solid rgba(81,105,70,.3);border-radius:50%;color:#294737;font-size:22px;backdrop-filter:blur(8px)}
.carousel-actions .carousel-pause{width:40px;height:40px;font-size:15px}
.carousel-actions button:hover{background:#fffef8;border-color:#365f37}
.carousel-pause svg{width:15px;height:15px;fill:currentColor}
.hero-carousel>.ticker{width:min(1280px,calc(100% - 80px));margin:auto;background:var(--bg);border-top:0}
.hero-carousel:has(>.ticker){background:var(--bg)}
.language-switcher{display:flex;align-items:center;flex-shrink:0;gap:2px;padding:4px;margin:0;border:1px solid #d0dbc8;border-radius:40px;background:#f2f5ec;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.035em}
.language-switcher li{list-style:none;margin:0}
.language-switcher a{display:block;padding:10px 11px;border-radius:30px;color:#52674d}
.language-switcher .current-lang a{background:#fffef8;color:#25452e;font-weight:700}
.language-switcher a:hover{color:#25452e;background:#e2ead9}
@media(min-width:1800px){.slide-copy{padding-right:620px}}
@media(max-width:1100px){.slide-copy{padding-right:48%}.slide-copy h1,.slide-copy h2{font-size:58px}.slide-description{font-size:17px}.slide-visual:after{background:linear-gradient(90deg,#f4f6eb 0%,rgba(244,246,235,.96) 32%,rgba(244,246,235,.72) 53%,rgba(244,246,235,.08) 85%)}}
@media(max-width:760px){.hero-carousel{--hero-height:760px}.hero-slides{height:var(--hero-height)}.slide-visual img{height:340px;object-position:center 45%}.slide-visual:after{background:linear-gradient(180deg,rgba(244,246,235,0) 180px,#f4f6eb 340px)}.slide-visual{background:#f4f6eb}.slide-copy{width:calc(100% - 40px);padding:292px 0 88px;justify-content:flex-start}.slide-copy .eyebrow{font-size:10px}.slide-copy h1,.slide-copy h2{font-size:42px;line-height:1.02;margin:18px 0;max-width:480px}.slide-description{font-size:16px;line-height:1.5;margin-bottom:16px;max-width:470px}.slide-copy .pill{padding:13px 21px}.carousel-controls{width:calc(100% - 40px);top:calc(var(--hero-height) - 72px);height:48px}.carousel-dots button{width:30px;flex-basis:30px}.carousel-actions{gap:7px}.carousel-actions button{width:42px;height:42px}.carousel-actions .carousel-pause{width:34px;height:34px}.hero-carousel>.ticker{width:calc(100% - 36px)}.slide-flower{right:calc(50% - 90px);top:25px;font-size:180px}.language-switcher{margin:0 0 0 auto;font-size:10px}.language-switcher a{padding:9px 8px}.header-row{gap:12px}.header-row .menu-toggle{order:3}}
@media(max-width:360px){.slide-copy h1,.slide-copy h2{font-size:37px}.slide-copy{padding-top:284px}.brand{font-size:13px}.brand-mark{font-size:33px}.language-switcher a{padding:8px 6px}}
@media(prefers-reduced-motion:no-preference){.hero-slide:not([hidden]) .slide-copy{animation:hero-enter .45s both}@keyframes hero-enter{from{opacity:.65;translate:0 10px}to{opacity:1;translate:0 0}}}
@media(max-width:360px){.header-row{gap:8px}.header-row .menu-toggle{font-size:13px;padding:8px 10px}.brand{gap:8px}.footer-grid a{overflow-wrap:anywhere}}
