/* Homepage only: centered copy over a softened photographic background. */
.home-hero{isolation:isolate;background:#faf7f1;min-height:600px;display:flex;align-items:center;padding:68px 24px 94px;}
.home-hero::before{display:none;}
.home-hero-background,.home-hero-slide,.home-hero-shade{position:absolute;inset:0;pointer-events:none;}
.home-hero-background{z-index:-3;}
.home-hero-slide{opacity:0;z-index:0;transition:opacity 1.8s cubic-bezier(.4,0,.2,1);}
.home-hero-slide.is-active{opacity:1;z-index:2;}
.home-hero-slide.is-leaving{opacity:1;z-index:1;}
.home-hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 48%;}
.home-hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(250,247,241,.57),rgba(250,247,241,.76) 30%,rgba(250,247,241,.87) 50%,rgba(250,247,241,.76) 70%,rgba(250,247,241,.57));}
.home-hero .hero-g{display:block;width:100%;max-width:960px;text-align:center;}
.home-hero-copy{margin:auto;}
.home-hero .eyebrow{justify-content:center;}
.home-hero h1.brand-slogan{font-size:clamp(52px,5.7vw,80px);line-height:1.07;margin:15px 0 26px;}
.home-hero p.sub{max-width:690px;margin:0 auto 12px;color:#33302b;font-size:17px;line-height:1.85;}
.home-hero p.note{max-width:720px;margin:0 auto 28px;color:#4e493f;font-size:14px;line-height:1.8;}
.home-hero .hero-cta,.home-hero .trust{justify-content:center;}
.home-hero .hero-cta{margin-bottom:25px;}
.home-hero .trust span{color:#403c34;}
.home-hero .btn-s{background:rgba(255,255,255,.68);}
.home-hero-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:18px;align-items:center;}
.home-hero-controls[hidden]{display:none;}
.hero-background-dots{display:flex;align-items:center;gap:4px;}
.hero-background-dot{position:relative;width:30px;height:32px;display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer;}
.hero-background-dot::before{content:"";width:8px;height:8px;border-radius:20px;background:#8c8577;transition:width .25s,background .25s;}
.hero-background-dot.is-active::before{width:24px;background:rgba(140,133,119,.35);}
.hero-background-dot.is-active::after{content:"";position:absolute;width:24px;height:8px;left:3px;top:12px;background:#ad6400;border-radius:20px;transform-origin:left;animation:heroBackgroundProgress 8s linear both;}
.hero-background-dot:focus-visible{outline:2px solid #ad6400;outline-offset:3px;}
@media(max-width:600px){.home-hero{min-height:610px;padding:54px 22px 92px;}.home-hero h1.brand-slogan{font-size:56px;margin-bottom:24px;}.home-hero p.sub{font-size:15px;line-height:1.9;}.home-hero p.note{font-size:12px;}.home-hero .trust{gap:10px 16px;}.home-hero .trust span{font-size:12px;}.home-hero-shade{background:rgba(250,247,241,.80);}.home-hero-slide img{object-position:center;}}
@media(prefers-reduced-motion:reduce){.home-hero-slide,.hero-background-dot::before{transition:none;}}

/* Crossfade retains the previous photo below the incoming one to avoid a white flash. */
.home-hero-slide.is-active img,.home-hero-slide.is-leaving img{animation:heroBackgroundDrift 10s linear both;will-change:transform;}
.home-hero-slide:nth-child(even).is-active img,.home-hero-slide:nth-child(even).is-leaving img{animation-direction:reverse;}
.home-hero[data-hero-running="false"] .home-hero-slide img,.home-hero[data-hero-running="false"] .hero-background-dot::after{animation-play-state:paused;}
@keyframes heroBackgroundDrift{from{transform:scale(1.025) translate3d(-.35%,0,0);}to{transform:scale(1.085) translate3d(.35%,-.2%,0);}}
@keyframes heroBackgroundProgress{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@media(prefers-reduced-motion:reduce){.home-hero-slide{transition:none;}.home-hero-slide.is-active img,.home-hero-slide.is-leaving img,.hero-background-dot.is-active::after{animation:none;}.hero-background-dot.is-active::after{transform:scaleX(1);}}
