/* A continuous photograph, softly diffused only toward the copy. */
.hero-showcase{--hero-paper:#faf9f5;--hero-green:#23543e;background:var(--hero-paper);color:var(--hero-green);padding:118px 0 0;outline-offset:-4px}
.hero-showcase .hero-layout{position:relative;isolation:isolate;display:grid;grid-template-columns:46% 54%;gap:0;align-items:center;min-height:548px;padding-bottom:20px}
.hero-showcase .intro-copy{position:relative;z-index:2;min-width:0;padding:30px 16px 30px 0;animation:none}
.hero-showcase .location-label{font-size:12px;color:#526451;gap:11px;font-weight:500}
.hero-showcase .location-label>span:first-child{width:7px;height:7px;flex:none;background:#db963b;box-shadow:none}
.hero-showcase .location-label>span:last-child{width:auto;height:auto;border-radius:0;background:none;box-shadow:none}
.hero-showcase h1{font-size:clamp(54px,6.1vw,84px);font-weight:600;line-height:1.04;letter-spacing:-.06em;color:var(--hero-green);margin:25px 0 22px;min-height:2.08em;white-space:normal}
.hero-showcase h1>span{display:block;white-space:nowrap}
.hero-showcase .intro-copy>p{font-size:15px;line-height:1.8;color:#3f5142;max-width:410px;min-height:5.4em}
.hero-showcase .intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 23px;margin-top:27px}
.hero-showcase .intro-actions .btn{background:#f7ae42;color:#263e2c;font-size:13px;min-height:52px;padding:10px 12px 10px 23px}
.hero-showcase .intro-actions .btn:hover{background:#ffc16b;transform:none}
.hero-showcase .button-arrow{background:var(--hero-green);color:white;width:32px;height:32px;margin-left:4px}
.hero-showcase .intro-actions .text-link{font-size:12px;color:var(--hero-green);min-height:44px}
.hero-showcase .intro-assurance{display:flex;margin-top:26px;font-size:11px;line-height:1.65;color:#4e604b;gap:12px}
.hero-showcase .intro-assurance strong{color:#43583e;font-weight:500}
.hero-showcase .assurance-symbol{border-color:#cdd7c7;width:35px;height:35px}
.hero-showcase .intro-assurance svg{color:#426947}
.hero-showcase .scene-viewport{position:absolute;z-index:0;inset:0 0 20px;isolation:isolate;min-width:0;min-height:0;width:100%;margin:0;touch-action:pan-y pinch-zoom;overflow:hidden;border-radius:12px;background:var(--hero-paper);cursor:grab}
.hero-showcase .scene-viewport.is-dragging{cursor:grabbing}
.hero-showcase .scene-viewport img{user-select:none;-webkit-user-drag:none;pointer-events:none}
.hero-showcase .concept-scene{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .38s ease,visibility 0s .38s}
.hero-showcase .concept-scene.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.hero-showcase .hero-atmosphere{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;transform:scaleX(2.4);transform-origin:left center}
.hero-showcase .hero-photo{position:absolute;z-index:1;inset:0 0 0 auto;height:100%;width:auto;max-width:none;aspect-ratio:3/2;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 20%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%)}
.hero-showcase .concept-scene::before{content:"";position:absolute;z-index:2;inset:0;background:rgba(250,249,245,.84);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);mask-image:linear-gradient(90deg,#000 0%,#000 28%,rgba(0,0,0,.88) 36%,rgba(0,0,0,.25) 46%,transparent 54%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 28%,rgba(0,0,0,.88) 36%,rgba(0,0,0,.25) 46%,transparent 54%);pointer-events:none}
.hero-showcase .concept-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:0;padding-bottom:25px}
.hero-showcase .concept-controls[hidden]{display:none}
.hero-showcase .concept-current{font-size:13px;font-weight:500;color:#45634e}
.hero-showcase .concept-navigation{display:flex;align-items:center;gap:14px}
.hero-showcase .concept-selectors{display:flex;align-items:center;gap:0}
.hero-showcase .concept-button{display:grid;place-items:center;width:34px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.hero-showcase .concept-button::before{content:"";display:block;width:7px;height:7px;border-radius:20px;background:#abb9a9;transition:width .25s,background .25s}
.hero-showcase .concept-button:hover::before{background:#718c72}
.hero-showcase .concept-button.is-active::before{width:25px;background:var(--hero-green)}
.hero-showcase .concept-arrow{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #d7dfd3;border-radius:50%;background:transparent;color:var(--hero-green);cursor:pointer;transition:background .2s,transform .2s}
.hero-showcase .concept-arrow:hover{background:#e7eee3;transform:translateX(2px)}
.hero-showcase #conceptPrev:hover{transform:translateX(-2px)}
.hero-showcase .concept-arrow svg{width:18px;height:18px}
.hero-showcase .concept-count{justify-self:end;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#65745e}
.hero-showcase :is(button,a):focus-visible{outline:3px solid #a35712;outline-offset:3px}
.hero-showcase .copy-enter{animation:storyCopyIn .32s ease both}
.hero-showcase .scene-enter .concept-scene.is-active{animation:storySceneIn .42s ease both}
.hero-showcase{--scene-offset:14px}
.hero-showcase[data-direction="prev"]{--scene-offset:-14px}
@keyframes storyCopyIn{from{opacity:.4;transform:translateX(var(--scene-offset))}to{opacity:1;transform:none}}
@keyframes storySceneIn{from{transform:translateX(var(--scene-offset))}to{transform:none}}
@media(min-width:1100px){.hero-showcase .hero-layout{min-height:clamp(528px,67svh,628px)}}
@media(min-width:821px) and (max-height:760px){.hero-showcase{padding-top:108px}.hero-showcase .hero-layout{min-height:478px}.hero-showcase h1{font-size:clamp(50px,5.5vw,74px)}.hero-showcase .intro-copy{padding-block:20px}.hero-showcase .intro-assurance{margin-top:20px}}
@media(max-width:1100px) and (min-width:821px){.hero-showcase .hero-layout{grid-template-columns:48% 52%}.hero-showcase .intro-copy>p{font-size:14px;max-width:350px}.hero-showcase h1{font-size:clamp(48px,6vw,64px)}}
@media(max-width:820px){
 .hero-showcase{padding-top:112px}
 .hero-showcase .hero-layout{grid-template-columns:1fr;gap:16px;min-height:0;padding-bottom:16px}
 .hero-showcase .intro-copy{padding:4px 0 0;max-width:600px}
 .hero-showcase h1{font-size:clamp(46px,8.6vw,68px);margin:19px 0 18px;min-height:2.08em}
 .hero-showcase .intro-copy>p{font-size:15px;line-height:1.75;max-width:530px;min-height:5.25em}
 .hero-showcase .intro-actions{margin-top:19px;gap:14px 24px}
 .hero-showcase .intro-assurance{display:none}
 .hero-showcase .scene-viewport{position:relative;inset:auto;width:100%;margin:0;min-height:0;height:auto;aspect-ratio:3/2;align-self:auto}
 .hero-showcase .hero-photo{inset:0;width:100%;height:100%;object-fit:cover;mask-image:none;-webkit-mask-image:none}
 .hero-showcase .hero-atmosphere{display:none}
 .hero-showcase .concept-scene::before{display:none}
 .hero-showcase .concept-controls{gap:10px;padding-bottom:23px}
 .hero-showcase .concept-current{font-size:12px}
 .hero-showcase .concept-navigation{gap:5px}
}
@media(max-width:540px){
 .hero-showcase{padding-top:104px}
 .hero-showcase .hero-layout,.hero-showcase .concept-controls{padding-inline:22px}
 .hero-showcase .hero-layout{gap:17px;padding-bottom:12px}
 .hero-showcase .location-label{font-size:11px;min-height:18px}
 .hero-showcase h1{font-size:clamp(42px,11.2vw,59px);letter-spacing:-.055em;margin:17px 0 16px}
 .hero-showcase .intro-copy>p{font-size:14px;line-height:1.75;min-height:7em}
 .hero-showcase .intro-actions{flex-direction:column;align-items:flex-start;gap:4px;margin-top:19px}
 .hero-showcase .intro-actions .btn{justify-content:space-between;width:100%;font-size:12px;padding-left:18px}
 .hero-showcase .intro-actions .text-link{align-self:center;font-size:11px}
 .hero-showcase .concept-controls{grid-template-columns:1fr auto;gap:8px}
 .hero-showcase .concept-current{grid-row:1;grid-column:1}
 .hero-showcase .concept-count{grid-row:1;grid-column:2}
 .hero-showcase .concept-navigation{grid-row:2;grid-column:1/-1;justify-self:center;gap:14px}
}
@media(max-width:360px){.hero-showcase .intro-copy>p{min-height:8.75em}}
@media(prefers-reduced-motion:reduce){.hero-showcase .concept-scene,.hero-showcase .concept-button::before,.hero-showcase .concept-arrow{transition:none}.hero-showcase .copy-enter,.hero-showcase .scene-enter .concept-scene.is-active{animation:none}}
