:root{
  --paper:#F5EDF0; --blush:#F0D3D6; --lilac:#DAD3E8; --ink:#2A1F24; --ink-2:#6B5A62;
  --red:#FA2C2C; --red-t:#C0202A; /* red = logo red for fills, red-t = darker for small text */
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Manrope",system-ui,sans-serif;
  --pad:clamp(20px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* About */
.about{display:grid;gap:36px;padding:var(--pad);max-width:1440px;margin:0 auto}
.about__photo{margin:0;position:relative;justify-self:center;width:min(100%,460px)}
.about__photo::before{content:"";position:absolute;inset:6% -8% -5% 8%;background:var(--lilac);border-radius:999px 999px 0 0;z-index:0}
.about__photo img{position:relative;z-index:1;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:46% 60%;border-radius:999px 999px 0 0;background:var(--blush)}
.about__title{font:600 clamp(3.4rem,13vw,7.5rem)/.9 var(--serif);letter-spacing:-.02em;margin:0 0 .25em}
.about__roles{font:italic 500 clamp(1.3rem,3vw,1.75rem)/1.3 var(--serif);color:var(--ink-2);margin:0 0 1.5em}
.about__bio{max-width:44ch;margin:0 0 2em}

.btn{display:inline-flex;align-items:center;gap:14px;padding:6px 26px 6px 6px;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;transition:background .3s,transform .3s}
.btn__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;transition:transform .3s}
.btn:hover{background:#3d2d34}
.btn:hover .btn__icon{transform:scale(1.1)}

/* One orchestrated load sequence: the arch opens, then the text settles */
.about__photo img{clip-path:inset(100% 0 0 0);animation:open 1.3s cubic-bezier(.2,.7,.2,1) .15s forwards}
.about__photo::before{transform:scaleY(0);transform-origin:bottom;animation:grow 1.1s cubic-bezier(.2,.7,.2,1) .35s forwards}
.about__text>*{opacity:0;animation:settle .9s ease forwards}
.about__text>:nth-child(1){animation-delay:.7s}.about__text>:nth-child(2){animation-delay:.85s}
.about__text>:nth-child(3){animation-delay:1s}.about__text>:nth-child(4){animation-delay:1.15s}
@keyframes open{to{clip-path:inset(0)}}
@keyframes grow{to{transform:scaleY(1)}}
@keyframes settle{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (min-width:768px){
  .about{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(32px,6vw,96px);min-height:100svh}
  .about__photo{order:2;justify-self:end;width:100%;max-width:520px}
  .about__text{order:1}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .about__photo img,.about__photo::before,.about__text>*{animation:none;clip-path:none;transform:none;opacity:1}
}

/* Voice cards */
.voice{max-width:1180px;margin:0 auto;padding:clamp(56px,9vw,128px) var(--pad)}
.voice__head{max-width:900px;margin:0 0 clamp(36px,6vw,72px)}
.voice__head h2{font:600 clamp(2rem,4.6vw,3.4rem)/1.08 var(--serif);letter-spacing:-.01em;margin:0}
.voice__head p{margin:.8em 0 0;color:var(--ink-2)}
.cards{display:grid;gap:clamp(40px,6vw,72px) clamp(24px,5vw,72px);grid-template-columns:1fr}
@media (min-width:768px){.cards{grid-template-columns:1fr 1fr;align-items:start}.card:nth-child(even){margin-top:clamp(0px,7vw,96px)}}

.card__cover{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--blush)}
.card__cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.card__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(42,31,36,.55))}
.card.is-playing .card__cover img{transform:scale(1.05)}

.player{position:absolute;z-index:2;left:8%;right:8%;bottom:6%;display:flex;align-items:center;gap:14px;color:#fff}
.play{flex:none;width:52px;height:52px;border:0;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .3s}
.play:hover:not(:disabled){transform:scale(1.08)}
.play:disabled{background:rgba(255,255,255,.35);cursor:default}
.play svg{width:16px;height:16px}.play .i-pause{display:none}
.is-playing .play .i-play{display:none}.is-playing .play .i-pause{display:block}
.wave{flex:1;display:flex;align-items:center;gap:3px;height:36px}
.wave i{flex:1;max-width:4px;border-radius:2px;background:rgba(255,255,255,.85);height:var(--h);transform-origin:center}
.is-playing .wave i{animation:bar 1.1s ease-in-out infinite;animation-delay:calc(var(--i)*-.09s)}
@keyframes bar{50%{transform:scaleY(.35)}}
.time{flex:none;font-size:.8125rem;font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}

.seek{display:block;width:100%;height:18px;margin:10px 0 0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.seek::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--red) var(--p,0%),rgba(42,31,36,.18) var(--p,0%))}
.seek::-moz-range-track{height:2px;background:rgba(42,31,36,.18)}.seek::-moz-range-progress{height:2px;background:var(--red)}
.seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border-radius:50%;background:var(--red);border:0}
.seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--red);border:0}
.seek:disabled{opacity:.35;cursor:default}

.card__body{padding-top:14px}
.card__title{font:600 clamp(1.8rem,3.2vw,2.3rem)/1.05 var(--serif);margin:0 0 .4em}
.card__text{margin:0 0 1.25em;color:var(--ink-2);max-width:36ch}
.card__buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.price{font:600 1.9rem/1 var(--serif);color:var(--red-t)}
.btn--sm{padding:13px 22px;border:0;cursor:pointer;font:600 1rem var(--sans)}

@media (prefers-reduced-motion:reduce){.is-playing .wave i{animation:none}.card__cover img{transition:none}.card.is-playing .card__cover img{transform:none}}

[hidden]{display:none!important}
.tag{position:absolute;z-index:2;top:14px;left:14px;padding:6px 14px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:.8125rem;font-weight:600}

/* Logo badge (hero photo + footer) */
.badge{border-radius:50%;background:var(--red) url(../../images/logo.webp) center/92% no-repeat;border:5px solid var(--paper)}
.about__photo .badge{position:absolute;z-index:3;left:-6%;bottom:9%;width:clamp(92px,26%,132px);aspect-ratio:1;animation:pop .7s cubic-bezier(.3,1.6,.5,1) 1.5s both}
@keyframes pop{from{transform:scale(0) rotate(-30deg)}}
@media (prefers-reduced-motion:reduce){.about__photo .badge{animation:none}}

/* Contact circles (FAQ + footer) */
.contacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);transition:background .3s,color .3s,transform .3s}
.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
a.ico:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}
.ico.is-off{opacity:.4}

/* How it works: dark rounded panel */
.how{background:var(--ink);color:var(--paper);margin:clamp(16px,3vw,40px) clamp(8px,2vw,24px) 0;border-radius:clamp(28px,5vw,64px);overflow:hidden}
.how__in{max-width:1180px;margin:0 auto;padding:clamp(48px,8vw,104px) var(--pad)}
.how h2,.faq h2,.insta h2{font:600 clamp(2.2rem,5vw,3.6rem)/.95 var(--serif);letter-spacing:-.015em;margin:0}
.how h2{margin-bottom:clamp(32px,6vw,64px)}
.how__steps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(32px,5vw,40px) clamp(24px,5vw,72px)}
.how__steps li{position:relative;padding-top:28px;border-top:1px solid var(--blush)}
.how__steps li::before{content:"";position:absolute;top:-2px;left:0;width:44px;height:3px;border-radius:2px;background:var(--blush)}
.how__steps b{display:block;font:500 clamp(2.4rem,4vw,3.2rem)/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--blush);margin-bottom:16px}
.how__steps h3{font:600 clamp(1.7rem,2.8vw,2.2rem)/1.05 var(--serif);margin:0 0 .5em}
.how__steps p{margin:0;max-width:30ch;color:rgba(245,237,240,.74)}
@media (min-width:768px){.how__steps{grid-template-columns:repeat(3,1fr)}}
.js .how__steps li{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .how__steps li.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .how__steps li{opacity:1;transform:none;transition:none}}

/* FAQ: open lines, contacts on the left */
.faq{max-width:1180px;margin:0 auto;padding:clamp(56px,9vw,120px) var(--pad);display:grid;gap:32px}
.faq h2{margin-bottom:.35em}
.faq__note{margin:0;color:var(--ink-2);max-width:30ch}
.faq details{border-top:1px solid rgba(42,31,36,.22)}
.faq details:last-child{border-bottom:1px solid rgba(42,31,36,.22)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font:600 clamp(1.4rem,2.4vw,1.75rem)/1.15 var(--serif);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:300 2.2rem/1 var(--sans);color:var(--red-t);transition:transform .35s}
.faq summary:hover{color:var(--red-t)}
.faq details[open] summary{color:var(--red-t)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 0 28px;max-width:56ch;color:var(--ink-2);animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(-6px)}}
@media (min-width:900px){.faq{grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,96px);align-items:start}.faq__side{position:sticky;top:48px}}
@media (prefers-reduced-motion:reduce){.faq details p{animation:none}}

/* Instagram strip */
.insta{--edge:max(var(--pad),calc((100vw - 1180px)/2 + var(--pad)));padding:0 0 clamp(56px,9vw,112px);overflow:hidden}
.insta__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding:0 var(--edge);margin-bottom:28px}
.insta__handle{color:var(--ink);font-weight:600;text-underline-offset:4px}
.insta__row{display:flex;gap:14px;overflow-x:auto;padding:12px 0;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none}
.insta__row::-webkit-scrollbar{display:none}
.insta__tile{flex:none;width:clamp(160px,18vw,260px);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--blush);scroll-snap-align:start;display:grid;place-items:center;color:var(--ink);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
a.insta__tile:hover{transform:translateY(-6px)}
.insta__tile img{width:100%;height:100%;object-fit:cover}
.insta__tile.is-ph:nth-child(3n+2){background:var(--lilac)}.insta__tile.is-ph:nth-child(3n){background:#F5CDB6}
.insta__tile svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.55}

/* Footer */
.foot{background:var(--blush);margin-top:clamp(24px,5vw,64px);padding:clamp(72px,12vw,150px) var(--pad) 32px;border-radius:50% 50% 0 0/clamp(40px,8vw,110px) clamp(40px,8vw,110px) 0 0}
.foot>*{max-width:1180px;margin-left:auto;margin-right:auto}
.foot__top{display:flex;align-items:center;gap:clamp(16px,3vw,32px);margin-bottom:28px}
.foot__logo{flex:none;width:clamp(72px,12vw,120px);aspect-ratio:1;border-color:var(--blush)}
.foot__name{font:italic 500 clamp(2.6rem,9vw,6.5rem)/.9 var(--serif);letter-spacing:-.02em;margin:0}
.foot__lead{margin:0 auto 24px;color:var(--ink-2);max-width:1180px}
.foot__links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:56px}
.foot__links a:not(.ico){display:inline-flex;align-items:center;height:52px;padding:0 26px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);font-weight:600;text-decoration:none;transition:background .3s,color .3s}
.foot__links a:not(.ico):hover{background:var(--ink);color:var(--blush)}
.foot__links a.ico:hover{color:var(--blush)}
.foot__small{margin-bottom:0;font-size:.875rem;color:var(--ink-2)}

/* Checkout dialog */
.checkout{border:0;padding:clamp(24px,5vw,40px);width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--paper);color:var(--ink);position:fixed}
.checkout::backdrop{background:rgba(42,31,36,.5);backdrop-filter:blur(4px)}
.checkout[open]{animation:rise .35s cubic-bezier(.2,.7,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.co-close{position:absolute;top:10px;right:14px;width:40px;height:40px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--ink);cursor:pointer}
.checkout h2{margin:0 0 .3em;font:600 clamp(1.9rem,6vw,2.4rem)/1.05 var(--serif);letter-spacing:-.015em}
.co-sum{margin:0 0 1.5em;color:var(--ink-2)}
.order-form{display:grid;gap:18px}
.fld{display:grid;gap:6px;font-size:.875rem;font-weight:600}
.fld input,.fld textarea{font:400 1rem var(--sans);color:var(--ink);padding:10px 0;border:0;border-bottom:1.5px solid rgba(42,31,36,.3);background:none;border-radius:0;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--red-t)}
.seg{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.seg legend{font-size:.875rem;font-weight:600;margin-bottom:8px;padding:0}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:block;padding:9px 18px;border-radius:999px;border:1.5px solid rgba(42,31,36,.25);font-weight:600;font-size:.9375rem;transition:background .2s,border-color .2s}
.seg input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.seg label:focus-within span{outline:2px solid var(--ink);outline-offset:2px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;color:var(--ink-2)}
.agree input{margin-top:4px;accent-color:var(--red-t)}
.hp{position:absolute;left:-9999px}
.co-err{margin:0;color:var(--red-t);font-size:.875rem;font-weight:600}
.kv{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid rgba(42,31,36,.18)}
.kv span{font-size:.875rem;color:var(--ink-2);min-width:7.5em}.kv b{flex:1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.copy,.link{border:0;background:none;color:var(--red-t);font:600 .9375rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.co-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 14px}
.btn--ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn--ghost:hover{background:var(--blush)}
a.btn--sm{text-decoration:none}
.tick{width:64px;height:64px;margin-bottom:16px;fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.tick circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .7s ease forwards}
.tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .4s ease .6s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.checkout[open],.tick circle,.tick path{animation:none;stroke-dashoffset:0}}

/* Payment step */
.pm{margin-top:6px}
.pm-note{margin:10px 0 0;color:var(--ink-2);font-size:.9375rem}
.pm-none{margin:14px 0 0;color:var(--ink-2)}
.pm-pick{margin:16px 0 4px}
.checkout:focus{outline:0}
.co-close{border-radius:50%}
.co-close:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
.about{overflow-x:clip}
