:root{
  --ink:#382f38;--plum:#603c63;--plum-deep:#38223e;--sage:#71806d;--rose:#c999a8;
  --gold:#bd9654;--cream:#fffaf2;--paper:#fffdf8;--mist:#f4eee8;--light:#fffef8;
  --shadow:0 24px 70px rgba(55,39,57,.16);--soft-shadow:0 12px 34px rgba(55,39,57,.1);
  --serif:"Frank Ruhl Libre",Georgia,serif;--sans:"Heebo",Arial,sans-serif;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.85;overflow-x:hidden}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.skip-link{position:fixed;top:10px;right:10px;z-index:9999;transform:translateY(-150%);background:#fff;padding:10px 16px;border-radius:12px}.skip-link:focus{transform:none}
.shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto;position:relative;z-index:2}
.reveal{opacity:0;transform:translateY(32px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}

.threshold{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-height:100svh;isolation:isolate;background:#f7eee5 url("assets/garden-gate.webp") center/cover no-repeat;transition:opacity 1.15s ease,visibility 1.15s ease,transform 1.15s ease}
.threshold::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,241,.12),rgba(255,247,238,.28) 48%,rgba(250,239,228,.46));z-index:-2}
.threshold__veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,246,.1),rgba(255,245,236,.16) 38%,rgba(54,30,56,.22));z-index:-1;animation:breathe 8s ease-in-out infinite}
.threshold__light{position:absolute;top:4%;left:50%;width:min(65vw,780px);height:min(65vw,780px);transform:translateX(-50%);background:radial-gradient(circle,rgba(255,255,233,.9),rgba(255,229,185,.26) 38%,transparent 69%);filter:blur(4px);animation:pulse 6s ease-in-out infinite}
.threshold__sparkles{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(circle,rgba(255,255,255,.95) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,222,157,.85) 0 1px,transparent 1.8px);background-size:73px 73px,111px 111px;background-position:0 0,31px 17px;mask-image:linear-gradient(to bottom,black,transparent 90%);animation:drift 18s linear infinite}
.threshold__content{text-align:center;width:min(850px,calc(100% - 34px));padding:40px 18px;position:relative;z-index:3;text-shadow:0 2px 20px rgba(255,255,255,.8)}
.threshold__line{font-family:var(--serif);color:var(--plum-deep);margin:0;line-height:1.35}.threshold__line--first{font-size:clamp(34px,6.2vw,72px);font-weight:600;animation:firstLine 10s both}.threshold__line--second{font-size:clamp(27px,4.4vw,50px);font-weight:500;position:absolute;inset-inline:0;top:38%;opacity:0;animation:secondLine 10s 3.2s both}
.gate-button{margin-top:48px;border:0;background:rgba(255,253,245,.82);color:var(--plum-deep);padding:16px 34px;border-radius:999px;box-shadow:0 12px 36px rgba(77,44,72,.18),inset 0 0 0 1px rgba(189,150,84,.42);font-weight:500;font-size:clamp(18px,2.4vw,23px);cursor:pointer;position:relative;overflow:hidden;opacity:0;animation:buttonAppear 1.4s 7.4s forwards;transition:transform .25s ease,box-shadow .25s ease}.gate-button:hover,.gate-button:focus-visible{transform:translateY(-3px);box-shadow:0 18px 44px rgba(77,44,72,.25),0 0 42px rgba(255,223,158,.6)}.gate-button__glow{position:absolute;inset:-60%;background:radial-gradient(circle,rgba(255,228,170,.9),transparent 55%);animation:stoneGlow 4.5s ease-in-out infinite}.gate-button span:last-child{position:relative}
.butterfly{position:absolute;color:rgba(255,255,255,.82);font-size:24px;filter:drop-shadow(0 4px 8px rgba(82,46,75,.25));animation:fly 14s ease-in-out infinite}.butterfly--one{left:12%;top:28%}.butterfly--two{right:13%;bottom:24%;animation-delay:-6s;transform:scale(.8)}
body.entered .threshold{opacity:0;visibility:hidden;transform:scale(1.04)}

.journey{background:linear-gradient(#fffaf3,#f8f0e9);opacity:0;transition:opacity 1s ease}.entered .journey{opacity:1}
.scene{position:relative;padding:120px 0;overflow:hidden;isolation:isolate}.scene::after{content:"";position:absolute;inset:0;z-index:-3;pointer-events:none}
.scene--morning{min-height:100svh;display:grid;align-items:center;background:linear-gradient(180deg,rgba(255,250,242,.88),rgba(248,239,230,.96)),url("assets/flora-left.webp") left center/55% auto no-repeat}.scene--morning::after{background:radial-gradient(circle at 68% 18%,rgba(255,237,180,.5),transparent 30%),radial-gradient(circle at 22% 80%,rgba(175,196,176,.24),transparent 28%)}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(45px,8vw,105px);align-items:center}.hero__copy h1,.section-heading h2,.author-copy h2,.order-card h2{font-family:var(--serif);font-weight:600;color:var(--plum-deep);line-height:1.12;letter-spacing:-.02em}.hero__copy h1{font-size:clamp(47px,6.6vw,80px);margin:10px 0 28px}.hero__copy p{font-size:clamp(18px,1.8vw,21px);max-width:680px}.hero__intro{font-size:clamp(20px,2vw,24px)!important}.gate-label{display:inline-flex;align-items:center;gap:12px;margin:0;color:var(--gold);font-weight:500;letter-spacing:.08em}.gate-label::before,.gate-label::after{content:"";width:34px;height:1px;background:currentColor;opacity:.65}
.book{margin:0;position:relative;max-width:480px;justify-self:center;animation:float 7s ease-in-out infinite}.book img{border-radius:12px 24px 24px 12px;box-shadow:0 38px 65px rgba(56,34,60,.29);transform:perspective(1200px) rotateY(-5deg);position:relative;z-index:2}.book__aura{position:absolute;inset:8% -10% -8% 5%;background:radial-gradient(circle,rgba(255,231,167,.72),rgba(175,118,173,.23) 45%,transparent 72%);filter:blur(22px)}.book figcaption{text-align:center;color:var(--plum);margin-top:24px;font-family:var(--serif);font-size:19px}
.ambient{position:absolute;border-radius:50%;filter:blur(80px);opacity:.33;z-index:-1}.ambient--one{width:380px;height:380px;background:#f5d9ae;top:-80px;right:-80px}.ambient--two{width:420px;height:420px;background:#cab8d6;bottom:-150px;left:-80px}

.whisper{min-height:360px;display:grid;place-items:center;text-align:center;padding:80px 24px;position:relative;overflow:hidden}.whisper::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.7),transparent 58%)}.whisper p{font-family:var(--serif);font-size:clamp(30px,4.7vw,58px);line-height:1.45;max-width:920px;margin:0;position:relative;color:var(--plum-deep)}.whisper--gold{background:linear-gradient(120deg,#fbf2df,#fffaf3,#f0e2d1)}.whisper--sage{background:linear-gradient(120deg,#e8eee5,#f9f6ee,#e7ece6)}.whisper--moon{background:linear-gradient(120deg,#e5e1ea,#f5f2f6,#dedce7)}.whisper--rose{background:linear-gradient(120deg,#f2e2e5,#fff7f3,#eadbd8)}

.scene--path{background:linear-gradient(180deg,rgba(255,252,247,.96),rgba(243,238,230,.96)),url("assets/flora-right.webp") right center/54% auto no-repeat}.section-heading{text-align:center;max-width:780px;margin:0 auto 58px}.section-heading h2{font-size:clamp(42px,5.7vw,68px);margin:10px 0 18px}.section-heading>p:last-child{font-size:clamp(19px,2vw,23px);color:#6d626b}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.path-card{background:rgba(255,253,248,.72);backdrop-filter:blur(9px);border:1px solid rgba(126,92,119,.13);border-radius:46% 54% 45% 55% / 56% 46% 54% 44%;padding:40px 26px 36px;text-align:center;box-shadow:var(--soft-shadow);min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .35s ease,background .35s ease}.path-card:nth-child(even){border-radius:54% 46% 56% 44% / 45% 55% 45% 55%}.path-card:hover{transform:translateY(-7px);background:rgba(255,255,251,.92)}.path-card span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#815a7e,#b48aa8);color:#fff;font-size:25px;box-shadow:0 9px 25px rgba(91,58,89,.25);margin-bottom:16px}.path-card h3{font-family:var(--serif);color:var(--plum-deep);font-size:25px;margin:0 0 10px}.path-card p{margin:0;color:#716872;line-height:1.7}

.scene--night{background:linear-gradient(180deg,rgba(37,28,49,.92),rgba(48,35,57,.95)),url("assets/garden-gate.webp") center/cover fixed;color:#fdf6ee}.scene--night::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(217,203,244,.2),transparent 45%),linear-gradient(180deg,transparent,rgba(15,11,23,.28));z-index:-1}.section-heading--light h2,.section-heading--light>p:last-child{color:#fff}.section-heading--light .gate-label{color:#e8c68a}.stars{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.7px);background-size:60px 60px;animation:drift 24s linear infinite}.pages{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:start}.page{border:0;padding:0;background:rgba(255,255,255,.94);border-radius:17px;overflow:hidden;cursor:pointer;box-shadow:0 20px 45px rgba(0,0,0,.34);transition:transform .32s ease,box-shadow .32s ease}.page:nth-child(even){transform:translateY(30px)}.page:hover,.page:focus-visible{transform:translateY(-7px) rotate(-.5deg);box-shadow:0 30px 58px rgba(0,0,0,.46)}.page:nth-child(even):hover,.page:nth-child(even):focus-visible{transform:translateY(20px) rotate(.5deg)}.page img{aspect-ratio:3/4.2;width:100%;object-fit:cover}.page span{display:block;padding:12px;color:var(--plum-deep);font-family:var(--serif);font-size:20px}

.scene--water{background:linear-gradient(125deg,rgba(248,247,239,.95),rgba(225,235,228,.93)),url("assets/flora-left.webp") left 60%/48% auto no-repeat}.scene--water::after{background:radial-gradient(ellipse at 70% 70%,rgba(157,200,195,.25),transparent 40%)}.author-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,8vw,105px);align-items:center}.portrait{margin:0;position:relative;max-width:440px;justify-self:center}.portrait img{width:100%;border-radius:49% 51% 45% 55% / 41% 47% 53% 59%;box-shadow:var(--shadow);position:relative;z-index:2}.portrait__halo{position:absolute;inset:-8%;border:1px solid rgba(189,150,84,.42);border-radius:53% 47% 58% 42% / 47% 58% 42% 53%;animation:slowSpin 26s linear infinite}.portrait__halo::after{content:"";position:absolute;inset:7%;border:1px solid rgba(103,127,105,.36);border-radius:47% 53% 44% 56% / 56% 42% 58% 44%}.author-copy h2{font-size:clamp(44px,5.5vw,67px);margin:10px 0 4px}.author-role{color:var(--plum);font-size:21px;font-weight:500;margin-top:0}.author-copy>p:not(.gate-label){font-size:clamp(18px,1.8vw,21px)}.authentic-note{font-family:var(--serif);font-style:italic;color:#7a6573;border-right:2px solid var(--gold);padding-right:18px;margin-top:28px}

.scene--sunset{background:linear-gradient(180deg,rgba(255,247,233,.88),rgba(237,214,194,.96)),url("assets/flora-right.webp") right center/50% auto no-repeat}.scene--sunset::after{background:radial-gradient(circle at 18% 22%,rgba(255,207,127,.42),transparent 34%),radial-gradient(circle at 82% 86%,rgba(170,123,164,.23),transparent 35%)}.order-card{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;background:rgba(255,253,247,.79);backdrop-filter:blur(12px);border:1px solid rgba(129,86,118,.14);border-radius:52px 52px 110px 52px;padding:clamp(34px,6vw,72px);box-shadow:var(--shadow)}.order-card h2{font-size:clamp(44px,5.8vw,70px);margin:10px 0 14px}.order-lead{font-size:22px}.price{font-family:var(--serif);font-size:clamp(56px,7vw,86px);font-weight:600;color:var(--plum);line-height:1;margin:28px 0 5px}.shipping{color:#736872}.order-card ul{list-style:none;padding:0;margin:24px 0 30px}.order-card li{padding:5px 0;font-size:18px}.order-card li::before{content:"✦";color:var(--gold);margin-left:10px}.order-button{display:inline-flex;text-decoration:none;background:linear-gradient(135deg,#68446c,#8f668c);color:white;border-radius:999px;padding:16px 30px;font-weight:500;font-size:20px;box-shadow:0 15px 34px rgba(91,57,91,.29);transition:.3s ease}.order-button:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(91,57,91,.36)}.order-card__contact{background:rgba(255,255,255,.65);border-radius:47% 53% 48% 52% / 55% 45% 55% 45%;padding:52px 35px;text-align:center;box-shadow:inset 0 0 0 1px rgba(189,150,84,.2)}.order-card__contact p{font-family:var(--serif);font-size:26px;margin:0 0 12px;color:var(--plum-deep)}.order-card__contact a{display:block;text-decoration:none;font-weight:500;color:var(--plum);margin:8px 0;overflow-wrap:anywhere}.order-card__contact span{display:block;color:#776d74;font-size:15px;line-height:1.65;margin-top:18px}
.gratitude{text-align:center;padding:110px 24px 70px;background:linear-gradient(180deg,#efe0d3,#faf3ea);position:relative}.gratitude::before{content:"";display:block;width:1px;height:62px;background:linear-gradient(var(--gold),transparent);margin:0 auto 25px}.gratitude p{font-family:var(--serif);font-size:clamp(36px,5vw,62px);color:var(--plum-deep);margin:0 0 20px}.gratitude span{color:#7b6f76}
.floating-whatsapp{position:fixed;left:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#5c806b;color:#fff;text-decoration:none;font-size:28px;box-shadow:0 12px 30px rgba(50,69,58,.3);z-index:80;transition:.25s ease}.floating-whatsapp:hover{transform:translateY(-4px) scale(1.04)}
.lightbox{width:min(900px,94vw);max-height:94vh;border:0;padding:0;border-radius:18px;background:transparent;overflow:visible}.lightbox::backdrop{background:rgba(21,14,26,.91);backdrop-filter:blur(5px)}.lightbox img{max-height:90vh;margin:auto;border-radius:12px;box-shadow:0 26px 80px rgba(0,0,0,.55)}.lightbox__close{position:fixed;top:18px;left:22px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;font-size:30px;cursor:pointer}
@keyframes firstLine{0%{opacity:0;transform:translateY(12px)}16%,34%{opacity:1;transform:none}52%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes secondLine{0%{opacity:0;transform:translateY(14px)}20%,100%{opacity:1;transform:none}}
@keyframes buttonAppear{to{opacity:1}}
@keyframes breathe{50%{transform:scale(1.025);opacity:.88}}
@keyframes pulse{50%{transform:translateX(-50%) scale(1.08);opacity:.76}}
@keyframes stoneGlow{50%{transform:scale(.72);opacity:.45}}
@keyframes drift{to{background-position:160px 80px,210px 100px}}
@keyframes fly{0%,100%{transform:translate(0,0) rotate(-6deg)}35%{transform:translate(55px,-32px) rotate(5deg)}70%{transform:translate(-22px,28px) rotate(-2deg)}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes slowSpin{to{transform:rotate(360deg)}}
@media(max-width:980px){.hero__grid,.author-grid,.order-card{grid-template-columns:1fr}.hero__copy{text-align:center}.hero__copy p{margin-inline:auto}.gate-label{justify-content:center}.book{max-width:390px}.cards{grid-template-columns:repeat(2,1fr)}.pages{grid-template-columns:repeat(3,1fr)}.page:nth-child(even){transform:none}.author-copy{text-align:center}.authentic-note{border-right:0;border-top:1px solid rgba(189,150,84,.45);padding:18px 0 0}.order-card__copy{text-align:center}.order-card ul{display:inline-block;text-align:right}.scene--morning,.scene--water,.scene--sunset,.scene--path{background-size:90% auto}}
@media(max-width:640px){.shell{width:min(100% - 24px,var(--max))}.scene{padding:88px 0}.threshold__line--second{top:34%}.gate-button{margin-top:70px}.hero__copy h1{font-size:45px}.cards,.pages{grid-template-columns:1fr}.path-card{min-height:260px;max-width:430px;margin:auto}.page{max-width:390px;margin:auto}.page:nth-child(even){transform:none}.whisper{min-height:300px}.order-card{border-radius:34px;padding:32px 22px}.order-card__contact{border-radius:32px;padding:34px 20px}.floating-whatsapp{left:14px;bottom:14px;width:54px;height:54px}.gratitude{padding-top:85px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.threshold__line--first{opacity:0}.threshold__line--second,.gate-button{opacity:1}.book{animation:none}.portrait__halo{animation:none}}

/* v3.1 refinements */
html{scroll-behavior:auto}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.threshold{background:#f8f2ed url("assets/opening-gate.webp") center center/cover no-repeat;transition:opacity .75s ease,visibility .75s ease,transform .75s ease}
.threshold::before{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,252,248,.08) 55%,rgba(255,247,241,.18))}
.threshold__veil{background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),rgba(255,255,255,.02) 46%,rgba(73,48,72,.10));animation:none}
.threshold__light{opacity:.55;animation:none}
.threshold__sparkles{opacity:.22;animation:none}
.threshold__content{padding:30px 18px}
.threshold__line{font-size:clamp(34px,5.6vw,68px);font-weight:600;animation:none;opacity:1;text-shadow:0 2px 24px rgba(255,255,255,.95)}
.gate-button{margin-top:34px;opacity:1;animation:none}
body.entered .threshold{transform:scale(1.015)}
.journey{transition:opacity .55s ease}
.hero__copy h1{font-size:clamp(38px,4.8vw,60px);margin:10px 0 24px}
.book{animation:none;max-width:430px}
.book img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:perspective(1200px) rotateY(-3deg)}
.scene--night{background-attachment:scroll}
.path-card,.order-card{backdrop-filter:none}
.butterfly{font-size:30px;opacity:.82;filter:drop-shadow(0 4px 10px rgba(77,48,75,.22));will-change:transform;animation:fly 12s ease-in-out infinite}
.butterfly--one{left:10%;top:24%}
.butterfly--two{right:11%;bottom:20%;animation-delay:-4s;transform:scale(.82)}
.butterfly--three{right:29%;top:17%;animation-delay:-8s;transform:scale(.64)}
.journey-butterflies{position:fixed;inset:0;pointer-events:none;z-index:70;opacity:0;visibility:hidden;transition:opacity .6s ease .35s}
.entered .journey-butterflies{opacity:1;visibility:visible}
.journey-butterfly{position:absolute;font-size:25px;opacity:.58;filter:drop-shadow(0 4px 8px rgba(80,55,78,.18));will-change:transform}
.journey-butterfly--one{left:5%;top:72%;animation:journeyFlyOne 22s linear infinite}
.journey-butterfly--two{right:7%;top:42%;font-size:21px;animation:journeyFlyTwo 26s linear infinite -9s}
.journey-butterfly--three{left:44%;top:88%;font-size:18px;animation:journeyFlyThree 30s linear infinite -17s}
@keyframes journeyFlyOne{0%{transform:translate(-10vw,15vh) rotate(-8deg)}45%{transform:translate(38vw,-35vh) rotate(8deg)}100%{transform:translate(92vw,-82vh) rotate(-3deg)}}
@keyframes journeyFlyTwo{0%{transform:translate(12vw,25vh) rotate(8deg)}50%{transform:translate(-42vw,-18vh) rotate(-7deg)}100%{transform:translate(-96vw,-62vh) rotate(5deg)}}
@keyframes journeyFlyThree{0%{transform:translate(-20vw,10vh) rotate(-5deg)}55%{transform:translate(15vw,-42vh) rotate(7deg)}100%{transform:translate(48vw,-95vh) rotate(-4deg)}}
@media(max-width:980px){.book{max-width:360px}.scene--morning{background-size:90% auto}}
@media(max-width:640px){.threshold{background-position:center center}.threshold__line{font-size:clamp(34px,10vw,48px)}.gate-button{margin-top:28px}.hero__copy h1{font-size:38px}.journey-butterfly{opacity:.5}.butterfly{font-size:25px}}
@media(prefers-reduced-motion:reduce){.threshold__line,.gate-button{opacity:1}.journey-butterfly,.butterfly{animation:none}.journey-butterflies{display:none}}
