:root{--ink:#43241f;--cream:#fff8e8;--pink:#f5a1a4;--coral:#e85f52;--yellow:#ffd55f;--green:#446d55;--scroll:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;overflow-x:hidden}.site{overflow:hidden}.loader{position:fixed;inset:0;z-index:100;background:var(--coral);display:grid;place-items:center;color:#fff;transition:transform .85s cubic-bezier(.77,0,.18,1) .35s}.loader span{font-size:clamp(2.5rem,8vw,7rem);font-weight:900;letter-spacing:-.08em;animation:loaderPulse .8s ease-in-out infinite alternate}.loader i{position:absolute;bottom:15%;width:120px;height:2px;background:#ffffff55;overflow:hidden}.loader i:after{content:"";display:block;width:45%;height:100%;background:#fff;animation:loading 1s infinite}.is-loaded .loader{transform:translateY(-105%)}@keyframes loading{from{transform:translateX(-110%)}to{transform:translateX(240%)}}@keyframes loaderPulse{to{transform:scale(1.04)}}.progress{position:fixed;left:0;top:0;width:100%;height:4px;z-index:80;background:var(--yellow);transform-origin:left}.header{position:fixed;z-index:70;left:0;top:0;width:100%;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;color:#fff;mix-blend-mode:difference}.logo{color:inherit;text-decoration:none;font-size:1.6rem;line-height:.75;font-weight:950;letter-spacing:-.08em;display:flex;flex-direction:column}.logo span{font-size:.72em}.nav{display:flex;gap:2rem;align-items:center}.nav a{color:#3d1916;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.14em}.nav a:last-child{border:1px solid;padding:12px 18px;border-radius:40px}.menu{display:none;border:0;background:transparent;width:42px;height:42px;position:relative}.menu span{position:absolute;left:9px;width:24px;height:2px;background:#fff}.menu span:first-child{top:16px}.menu span:last-child{top:24px}.hero{height:100svh;min-height:700px;position:relative;background:var(--pink);display:grid;place-items:center;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff7 1.2px,transparent 1.2px);background-size:24px 24px;opacity:.28;z-index:-1}.hero__copy{position:absolute;z-index:4;left:7vw;top:15%;color:#fff}.hero__mini{font-size:.89rem;font-weight:800;letter-spacing:.2em}.hero h1{margin:12px 0 22px;font-size:clamp(4.1rem,10vw,10rem);line-height:.99;letter-spacing:-.11em;font-weight:950}.hero h1 span{display:block;opacity:0;transform:translateY(60px);transition:1s cubic-bezier(.16,1,.3,1)}.is-loaded .hero h1 span{opacity:1;transform:none;transition-delay:1s}.is-loaded .hero h1 span:nth-child(2){transition-delay:1.14s}.hero__lead{font-weight:800;font-size:clamp(1rem,1.8vw,1.4rem);line-height:1.8}.hero__product{position:absolute;right:10vw;top:16%;z-index:3;transform:translateY(calc(var(--scroll) * .08));transition:transform .1s linear}.package{width:clamp(260px,28vw,440px);aspect-ratio:.78;background:linear-gradient(145deg,#ff8a72,#d64d48);border-radius:14px 14px 28px 28px;box-shadow:0 35px 60px #78342f44;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;transform:rotate(5deg);border:7px solid #fff3}.package--gold{background:linear-gradient(145deg,#f3c850,#c58a29)}.package__eyebrow,.package__sub{font-size:.63rem;letter-spacing:.18em;font-weight:800}.package strong{font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.08em}.package__shape{width:40%;aspect-ratio:1;border-radius:50% 50% 45% 55%;background:#ffd17e;margin-top:12%;box-shadow:inset -12px -12px 0 #dc9250}.package--small{width:min(40vw,560px);transform:rotate(-4deg)}.hero__ring{position:absolute;right:-40px;top:-55px;width:180px;height:180px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:start center;padding-top:15px;font-size:.58rem;letter-spacing:.22em;animation:spin 16s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero__orb{position:absolute;border-radius:50%;opacity:.65}.hero__orb--one{width:24vw;height:24vw;background:#ffd95a;right:-8vw;top:-6vw}.hero__orb--two{width:14vw;height:14vw;background:#df625a;left:38%;bottom:-6vw}.scroll{position:absolute;bottom:30px;left:3.5vw;color:#fff;font-size:.6rem;letter-spacing:.2em;writing-mode:vertical-rl}.scroll i{display:block;height:48px;width:1px;background:#fff;margin-top:10px;animation:scrollLine 1.6s infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}.section-pad{padding:130px 7vw}.section-title{display:grid;grid-template-columns:52px auto 1fr;align-items:end;gap:15px;margin-bottom:80px}.section-title span{font-size:.65rem;border:1px solid;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.section-title h2{font-size:clamp(2.6rem,6vw,6rem);line-height:1;margin:0;letter-spacing:-.07em}.section-title p{margin:0 0 4px;font-weight:700}.section-title--light{color:#fff}.concept{position:relative;background:var(--cream)}.concept__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center}.photo-placeholder{aspect-ratio:.82;border-radius:50% 50% 8% 8%;background:linear-gradient(160deg,#f6c067,#e87b65);display:grid;place-items:center;color:#fff;font-size:1rem;font-weight:900;letter-spacing:.15em;text-align:center;box-shadow:25px 25px 0 #f8d7b5;overflow:hidden}.photo-placeholder:after{content:"";width:55%;aspect-ratio:1;border-radius:50%;background:#fff3;position:absolute;animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-25px) rotate(10deg)}}.concept__copy .kicker{font-size:.75rem;letter-spacing:.18em;font-weight:900;color:var(--coral)}.concept__copy h3{font-size:clamp(2.7rem,6vw,6rem);line-height:1.25;letter-spacing:-.07em;margin:18px 0 35px}.concept__copy>div:last-child p{line-height:2.2;font-weight:600;max-width:500px}.marquee{width:calc(100% + 14vw);margin:130px -7vw -40px;overflow:hidden;color:var(--coral);font-size:clamp(4rem,11vw,10rem);font-weight:950;letter-spacing:-.08em;white-space:nowrap}.marquee div{width:max-content;animation:marquee 20s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.points{background:var(--green);position:relative}.points__list{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.point{background:#fff9e9;border-radius:50% 50% 24px 24px;padding:60px 30px 40px;text-align:center;min-height:500px;display:flex;flex-direction:column;align-items:center}.point__no{font-size:.85rem;letter-spacing:.18em;color:var(--coral);font-weight:900}.point__icon{width:210px;height:210px;border-radius:48% 52% 55% 45%;background:var(--pink);margin:10px 0;position:relative}.point__icon:after{content:"";position:absolute;width:55%;height:55%;border:3px solid #fff;border-radius:50%;left:22%;top:22%}.point__icon--2{background:var(--yellow);transform:rotate(12deg)}.point__icon--3{background:#8eb69a;border-radius:50% 10% 50% 10%}.point h3{font-size:1.35rem;margin:0 0 15px}.point p{font-size:.82rem;line-height:1.9}.products{padding-bottom:0}.product{min-height:780px;margin:0 -7vw;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;padding:80px 11vw;overflow:hidden}.product--coral{background:#f2a09a}.product--gold{background:#f0c75b}.product__image{display:grid;place-items:center;z-index:2}.product__copy{z-index:2;max-width:460px}.product__no{font-size:.65rem;letter-spacing:.18em;font-weight:900}.product__copy h3{font-size:clamp(3.7rem,7vw,7rem);margin:15px 0 0;line-height:.85;letter-spacing:-.08em}.product__copy h4{font-size:1.5rem;margin:24px 0}.product__copy p{line-height:2;font-weight:600}.round-link{display:flex;align-items:center;justify-content:space-between;color:inherit;text-decoration:none;border-bottom:1px solid;margin-top:45px;padding-bottom:14px;font-size:.8rem;font-weight:800}.round-link span{width:38px;height:38px;border:1px solid;border-radius:50%;display:grid;place-items:center}.product__word{position:absolute;bottom:-.15em;left:-.03em;color:#fff3;font-size:19vw;font-weight:950;letter-spacing:-.1em;line-height:.75}.shop{min-height:85vh;background:var(--coral);color:#fff;display:grid;place-items:normal;text-align:center;position:relative}.shop p{font-size:.65rem;letter-spacing:.2em;font-weight:800}.shop h2{font-size:clamp(4rem,10vw,10rem);line-height:1;letter-spacing:-.08em;margin:15px 0 45px}.shop a{display:flex;width:250px;height:70px;border-radius:50px;background:#fff;color:var(--coral);align-items:center;justify-content:center;gap:32px;margin:auto;text-decoration:none;font-weight:900;font-size:.82rem;transition:.3s}.shop a:hover{transform:scale(1.06);box-shadow:0 15px 35px #6e251f44}.shop__bubbles i{position:absolute;border-radius:50%;background:#ffffff20;animation:float 4s ease-in-out infinite}.shop__bubbles i:nth-child(1){width:150px;height:150px;left:8%;top:18%}.shop__bubbles i:nth-child(2){width:70px;height:70px;right:14%;top:24%;animation-delay:-1s}.shop__bubbles i:nth-child(3){width:210px;height:210px;right:-5%;bottom:0;animation-delay:-2s}.shop__bubbles i:nth-child(4){width:55px;height:55px;left:20%;bottom:18%;animation-delay:-3s}footer{height:180px;background:#35201d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}footer p{font-size:.65rem;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(55px);transition:opacity .9s ease var(--delay),transform 1.1s cubic-bezier(.16,1,.3,1) var(--delay)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.header{height:68px;padding:0 20px}.logo{font-size:1.25rem}.menu{display:block;z-index:2}.nav{position:fixed;inset:0;background:var(--coral);display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.55s cubic-bezier(.77,0,.18,1)}.nav.is-open{transform:none}.nav a{font-size:1.2rem}.hero{min-height:650px}.hero__copy{left:7vw;top:17%}.hero h1{font-size:18vw}.hero__lead{font-size:.88rem}.hero__product{right:3vw;top:50%;transform:translateY(calc(var(--scroll) * .035))}.package{width:46vw}.hero__ring{width:110px;height:110px;right:0;top:-34px;font-size:.42rem}.hero__orb--one{width:45vw;height:45vw}.scroll{left:auto;right:18px}.section-pad{padding:90px 24px}.section-title{grid-template-columns:42px 1fr;margin-bottom:55px}.section-title h2{font-size:12vw}.section-title p{grid-column:2;font-size:.75rem}.concept__grid{grid-template-columns:1fr;gap:70px}.photo-placeholder{max-height:520px}.concept__copy h3{font-size:12vw}.marquee{margin:90px -24px -20px;width:calc(100% + 48px)}.points__list{grid-template-columns:1fr;gap:28px}.point{min-height:430px}.product{margin:0 -24px;min-height:700px;grid-template-columns:1fr;padding:70px 30px;text-align:center}.product__image{margin-bottom: -30px;margin-top: -50px;}.package--small{width:85vw}.product__copy{margin:auto}.product__copy h3{font-size:17vw}.product__copy p{text-align:left}.product__word{font-size:30vw}.shop{min-height:70vh}.shop h2{font-size:26vw}footer{height:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__product{transform:none}}

.hero__product-image{display:block;width:clamp(360px,43vw,690px);height:auto;filter:drop-shadow(0 30px 35px #78342f45);transform:rotate(2deg)}

/* Floating new-release badge */
.hero__ring{right:-18px;top:-30px;width:132px;height:132px;padding:0;border:0;border-radius:46% 54% 52% 48% / 52% 43% 57% 48%;background:var(--cream);color:var(--coral);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 16px 35px #78342f38;animation:badgeFloat 4.2s ease-in-out infinite;transform-origin:center;isolation:isolate}
.hero__ring:before{content:"";position:absolute;inset:7px;border:1px dashed #e85f5270;border-radius:inherit;z-index:-1}
.hero__ring small{font-family:Arial,sans-serif;font-size:.56rem;font-weight:900;letter-spacing:.22em;line-height:1}
.hero__ring strong{font-size:1.35rem;font-weight:900;letter-spacing:.08em;line-height:1;white-space:nowrap}
@keyframes badgeFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-5deg)}
  35%{transform:translate3d(9px,-16px,0) rotate(2deg)}
  68%{transform:translate3d(-5px,-7px,0) rotate(-1deg)}
}

/* Image logo */
.logo{width:150px;display:block;line-height:1}
.logo img{display:block;width:100%;height:auto}
.logo--footer{width:165px}

/* Customer voice */
.voice{background:#f8d8c6;position:relative;isolation:isolate}
.voice:before{content:"VOICE";position:absolute;right:-.04em;top:.05em;z-index:-1;color:#fff4;font-size:18vw;font-weight:950;letter-spacing:-.1em;line-height:1}
.voice__heading{text-align:center;max-width:760px;margin:0 auto 75px}
.voice__eyebrow,.faq__eyebrow{color:var(--coral);font-size:.66rem;font-weight:900;letter-spacing:.2em}
.voice__heading h2,.faq__heading h2{margin:12px 0 20px;font-size:clamp(3rem,7vw,7rem);line-height:1;letter-spacing:-.08em}
.voice__heading>p:last-child,.faq__heading>p:last-child{font-size:.9rem;font-weight:600;line-height:2}
.voice__list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1280px;margin:auto}
.voice-card{position:relative;background:#fffaf0;border-radius:180px 180px 26px 26px;padding:75px 38px 45px;min-height:500px}
.voice-card__meta{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #deb7a5}
.voice-card__meta span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;font-size:.7rem;font-weight:900}
.voice-card__meta p{margin:0;font-size:.75rem;font-weight:700}
.voice-card__stars{color:#e7a422;letter-spacing:.18em;margin:30px 0 20px}
.voice-card h3{font-size:1.25rem;line-height:1.65;margin:0 0 22px}
.voice-card>p{font-size:.82rem;line-height:2;margin:0}

/* FAQ accordion */
.faq{background:var(--cream)}
.faq__heading{text-align:center;max-width:760px;margin:0 auto 70px}
.faq__list{max-width:980px;margin:auto;border-top:1px solid #cdb9a5}
.faq-item{border-bottom:1px solid #cdb9a5}
.faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 42px;align-items:center;gap:18px;padding:30px 8px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span,.faq-item__answer>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font-family:Arial,sans-serif;font-size:1rem;font-weight:900}
.faq-item summary strong{font-size:1rem;line-height:1.7}
.faq-item summary i{position:relative;width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;transition:.35s}
.faq-item summary i:before,.faq-item summary i:after{content:"";position:absolute;left:10px;top:17px;width:14px;height:1px;background:var(--ink)}
.faq-item summary i:after{transform:rotate(90deg);transition:.35s}
.faq-item[open] summary i{background:var(--ink);transform:rotate(180deg)}
.faq-item[open] summary i:before,.faq-item[open] summary i:after{background:#fff}
.faq-item[open] summary i:after{transform:rotate(0)}
.faq-item__answer{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 58px 32px 8px;animation:faqOpen .45s ease}
.faq-item__answer>span{background:var(--green)}
.faq-item__answer p{margin:5px 0 0;font-size:.88rem;line-height:2}
@keyframes faqOpen{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

@media(max-width:800px){
  .logo{width:112px}.logo--footer{width:132px}
  .hero__product-image{width:67vw;max-width:460px}
  .hero__ring{right:-2px;top:-26px;width:120px;height:120px;padding:0}
  .hero__ring small{font-size:.44rem}.hero__ring strong{font-size:2.1rem}
  .voice:before{font-size:30vw;top:.3em}
  .voice__heading,.faq__heading{margin-bottom:0px}
  .voice__list{grid-template-columns:1fr;gap:22px}
  .voice-card{min-height:0;border-radius:130px 130px 22px 22px;padding:65px 30px 40px}
  .faq-item summary{grid-template-columns:40px 1fr 34px;gap:12px;padding:24px 0}
  .faq-item summary>span,.faq-item__answer>span{width:34px;height:34px}
  .faq-item summary i{width:32px;height:32px}.faq-item summary i:before,.faq-item summary i:after{left:9px;top:15px;width:12px}
  .faq-item__answer{grid-template-columns:40px 1fr;gap:12px;padding:0 0 25px}
}

/* Final hero logo slot */
.hero__brand-logo{width:min(41vw, 570px);height:auto;margin-top:0px;border-radius:999px;display:grid;place-items:center;overflow:hidden}
.hero__brand-logo>img{width:100%;height:100%;object-fit:contain;padding:0px}
.hero__brand-logo.has-image{border-color:transparent;background:transparent}
.hero__brand-logo .image-slot__placeholder{color:#fff;font-size:.65rem;letter-spacing:.18em}

/* Product images around the footer CTA */
.shop{overflow:hidden;padding:80px 4vw 0}
.shop__content{position:relative;z-index:3;transform:translateY(-8vh)}
.shop__products{position:absolute;z-index:2;inset:0;pointer-events:none}
.shop__product{position:absolute;bottom:7%;width:min(31vw,500px);height:auto;filter:drop-shadow(0 24px 28px #6e251f45)}
.shop__product--rich{left:3vw;transform:rotate(-3deg)}
.shop__product--original{right:3vw;transform:rotate(3deg)}
.shop__bubbles{position:absolute;z-index:1;inset:0}

@media(max-width:800px){
  .hero{height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:92px 20px 40px}
  .hero__copy{position:relative;left:auto;top:auto;width:100%;z-index:4}
  .hero__mini{font-size:.58rem}
  .hero h1{font-size:17vw;line-height:.95;margin:10px 0 18px}
  .hero__lead{font-size:.82rem;line-height:1.7}
  .hero__brand-logo{order:initial;width:auto;height:auto;margin:0;border-radius:0px}
  .hero__product{position:relative;right:auto;top:auto;align-self:center;margin-top:12px;transform:none}
  .hero__product-image{width:min(82vw,480px)}
  .hero__ring{right:200px;top:20px}
  .hero__orb--one{right:-16vw;top:-8vw}.hero__orb--two{left:-4vw;bottom:2vw}
  .shop{min-height:80svh;padding:70px 16px 0;align-items:start}
  .shop__content{transform:none;margin-top:-4vh}
  .shop__product{bottom:8%;width:54vw;max-width:310px}
  .shop__product--rich{left:-5vw}
  .shop__product--original{right:-5vw}
}

/* Replaceable image slots */
.image-slot{position:relative;overflow:hidden}
.image-slot>img{display:none;width:100%;height:100%;object-fit:cover}
.image-slot.has-image>img{display:block}
.image-slot.has-image>.image-slot__placeholder,.image-slot.has-image>.package__placeholder{display:none}
.image-slot__placeholder{position:relative;z-index:1;color:#fff;font-family:Arial,sans-serif;font-size:.65rem;font-weight:900;letter-spacing:.14em;text-align:center}
.photo-placeholder{margin:0}
.photo-placeholder.has-image:after{display:none}
.photo-placeholder>img{position:absolute;inset:0}
.point__icon:after{display:none}
.point__icon>img{position:absolute;inset:0}
.voice-card__meta{gap:12px}
.voice-card__meta>p{margin-left:0}
.voice-card__avatar{flex:0 0 150px;width:150px;height:150px;border-radius:50%;background:#f2c9b6;border:3px solid #fff;box-shadow:0 7px 18px #78342f20;display:grid;place-items:center;margin-top: -120px;margin-right: -25px;}
.voice-card__avatar>img{position:absolute;inset:0}
.voice-card__avatar .image-slot__placeholder{font-size:.46rem;color:#a45f56;letter-spacing:.1em}
.package__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.package.image-slot.has-image{background:transparent;border-color:transparent;box-shadow:none}
.package.image-slot>img{object-fit:contain}

/* Concept cutout: the person floats outside the orange frame */
.concept__visual{padding:9% 3% 0}
.photo-placeholder{background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.photo-placeholder:before{content:"";position:absolute;z-index:0;left:2%;right:2%;top:11%;bottom:0;border-radius:50% 50% 8% 8%;background:linear-gradient(160deg,#f6c067,#e87b65);box-shadow:25px 25px 0 #f8d7b5}
.photo-placeholder:after{display:none}
.photo-placeholder>img{display:none;position:absolute;z-index:2;left:-8%;top:-13%;width:116%;height:113%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 18px #78342f20);pointer-events:none}
.photo-placeholder.has-image>img{display:block}
.photo-placeholder .image-slot__placeholder{position:absolute;z-index:1;inset:11% 2% 0;display:grid;place-items:center}
.photo-placeholder.has-image .image-slot__placeholder{display:none}
@media(max-width:800px){
  .voice-card__avatar{flex-basis:110px;width:110px;height:110px;margin-top: -130px;}
  .voice-card__meta{gap:9px}
  .concept__visual{padding:10% 1% 0}
  .photo-placeholder:before{left:4%;right:4%;top:10%;box-shadow:14px 14px 0 #f8d7b5}
  .photo-placeholder>img{left:-6%;top:-12%;width:112%;height:112%}
}

/* Voice carousel */
.voice-carousel{max-width:1280px;margin:auto;overflow:hidden;touch-action:pan-y}
.voice-carousel.reveal.is-visible{overflow:visible}
.voice-carousel .voice__list{display:flex;grid-template-columns:none;gap:24px;max-width:none;margin:0;transition:transform .75s cubic-bezier(.16,1,.3,1);will-change:transform}
.voice-carousel .voice-card{flex:0 0 calc((100% - 48px)/3);min-width:0}
.voice-carousel__footer{display:flex;align-items:center;justify-content:space-between;margin-top:35px}
.voice-carousel__dots{display:flex;align-items:center;gap:9px}
.voice-carousel__dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#b99281;opacity:.45;cursor:pointer;transition:.3s}
.voice-carousel__dot.is-active{width:34px;border-radius:10px;background:var(--coral);opacity:1}
.voice-carousel__buttons{display:flex;gap:10px}
.voice-carousel__button{width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:1.15rem;cursor:pointer;transition:.3s}
.voice-carousel__button:hover{background:var(--ink);color:#fff;transform:scale(1.06)}
.voice-carousel__button:disabled{opacity:.25;cursor:default;transform:none;background:transparent;color:var(--ink)}
@media(max-width:800px){
  .voice-carousel{overflow:visible}
  .voice-carousel.reveal.is-visible{overflow:visible}
  .voice-carousel .voice__list{gap:16px}
  .voice-carousel .voice-card{flex-basis:100%}
  .voice-carousel__footer{margin-top:26px}
  .voice-carousel__button{width:48px;height:48px}
}

/* Header color fix: disable difference blending on desktop and mobile */
.header{mix-blend-mode:normal;isolation:isolate}
@media(max-width:800px){
  .header{mix-blend-mode:normal}
  .nav.is-open{color:#fff}
  .nav.is-open a{color:#fff}
  .menu span{background:#fff}
}

/* No-JavaScript edition */
.menu-toggle{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.image-slot>img,
.photo-placeholder>img{display:block}
.image-slot>.image-slot__placeholder,
.image-slot>.package__placeholder{display:none}
.package.image-slot{background:transparent;border-color:transparent;box-shadow:none}
.photo-placeholder>img{display:block}

.hero h1 span{opacity:1;transform:none}
.reveal{opacity:1;transform:none}

/* Scroll progress bar: supported by current Chromium/Safari/Firefox releases */
@keyframes pageProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@supports (animation-timeline:scroll()){
  .progress{transform:scaleX(0);animation:pageProgress linear both;animation-timeline:scroll(root block)}
  .reveal{opacity:0;transform:translateY(55px);animation:cssReveal .9s cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 8% cover 30%}
  @keyframes cssReveal{to{opacity:1;transform:none}}
}

/* Native, manual carousel */
.voice-carousel,
.voice-carousel.reveal{overflow:visible;touch-action:auto}
.voice-carousel .voice__list{
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:0;
  scrollbar-width:thin;
  scrollbar-color:var(--coral) transparent;
  transform:none!important;
  transition:none;
  padding:45px 0 20px;
}
.voice-carousel .voice-card{scroll-snap-align:start;scroll-snap-stop:always}
.voice-carousel__hint{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:14px 0 0;font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--coral)}
.voice-carousel__hint span{font-size:1.25rem}

@media(max-width:800px){
  .menu{display:block;cursor:pointer;z-index:72}
  .menu-toggle:checked~.nav{transform:none;color:#fff}
  .menu-toggle:checked~.nav a{color:#fff}
  .menu-toggle:checked~.menu span:first-child{top:20px;transform:rotate(45deg)}
  .menu-toggle:checked~.menu span:last-child{top:20px;transform:rotate(-45deg)}
  .menu span{transition:top .25s ease,transform .25s ease}
  .voice-carousel .voice__list{padding-right:14vw}
}
