@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-semibold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--land-ink:#232821;--land-muted:#687064;--land-paper:#f6f5ef;--land-green:#52753b;--land-lime:#95bf5d;--land-yellow:#f5c94f;--land-coral:#ef7565;--land-line:rgba(32,37,31,.12);--land-shadow:0 28px 80px rgba(43,53,35,.12);--land-container:min(1320px,calc(100vw - 80px))}
html{scroll-behavior:smooth;overflow-x:hidden}body[data-page=home]{background:var(--land-paper);color:var(--land-ink);overflow-x:hidden}.landing-main{font-family:Manrope,Nunito,Arial,sans-serif}.landing-main a{text-decoration:none}.landing-main img{display:block;max-width:100%}.landing-progress{position:fixed;z-index:200;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--land-coral),var(--land-yellow),var(--land-lime));pointer-events:none}
.landing-section{padding:clamp(86px,9vw,150px) max(40px,calc((100vw - var(--land-container))/2))}.landing-kicker,.section-index{margin:0 0 22px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--land-green)}.landing-main h1,.landing-main h2,.landing-main h3,.landing-main p{margin-top:0}.landing-main h2{font:700 clamp(2.8rem,5vw,5.15rem)/1.04 Nunito,sans-serif;letter-spacing:-.055em}
.landing-hero{position:relative;min-height:calc(100vh - 100px);padding:clamp(54px,6vw,88px) max(40px,calc((100vw - var(--land-container))/2));display:grid;grid-template-columns:minmax(420px,.88fr) minmax(500px,1.12fr);align-items:center;gap:30px;background:radial-gradient(circle at 82% 28%,rgba(255,212,171,.42),transparent 31%),radial-gradient(circle at 68% 85%,rgba(204,224,155,.28),transparent 34%),linear-gradient(138deg,#fffaf4,#fff8ed 54%,#f3f7e9);overflow:hidden}.hero-copy{position:relative;z-index:3}.landing-hero h1{margin:0 0 26px;font:700 clamp(3.45rem,5.2vw,6.2rem)/.94 Nunito,sans-serif;letter-spacing:-.065em}.landing-hero h1 span{font:inherit;color:var(--land-green)}.hero-lead{max-width:670px;color:var(--land-muted);font-size:clamp(1.03rem,1.35vw,1.24rem)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 28px;border-radius:999px;background:var(--land-lime);color:var(--land-ink);font-weight:800;box-shadow:0 14px 35px rgba(104,130,61,.2);transition:transform .25s,box-shadow .25s}.landing-button:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(104,130,61,.3)}.landing-text-link{color:var(--land-ink);font-weight:800;border-bottom:1px solid;padding-bottom:4px}.hero-facts{display:flex;gap:36px;margin-top:34px;padding-top:20px;border-top:1px solid var(--land-line);color:var(--land-muted);font-size:.78rem}.hero-facts span{display:grid}.hero-facts b{font:700 1.55rem Nunito;color:var(--land-ink)}.hero-art{position:relative;height:min(650px,66vh);z-index:2}.hero-art img{position:absolute;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(54,70,39,.15));will-change:transform}.hero-book{width:67%;left:15%;top:8%}.hero-cover{width:40%;right:-1%;bottom:0;transform:rotate(8deg)}.hero-star{width:30%;left:-2%;bottom:2%}
.landing-statement{text-align:center;background:#fff}.landing-statement h2{max-width:1180px;margin:0 auto}.landing-statement h2 span{color:var(--land-green)}.statement-copy{max-width:770px;margin:38px auto 0!important;color:var(--land-muted);font-size:1.18rem}.section-head{display:grid;grid-template-columns:1.15fr .7fr;align-items:end;gap:80px;margin-bottom:62px}.section-head h2{margin:0}.section-head>p{margin:0;color:var(--land-muted);font-size:1.03rem}
.landing-moment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(40px,7vw,115px);min-height:680px;background:radial-gradient(circle at 80% 48%,#ffe8dc 0%,transparent 37%),linear-gradient(120deg,#fffaf5 0%,#fff7ed 55%,#f4f7e9 100%);overflow:hidden}.moment-copy{position:relative;z-index:2}.moment-copy h2{max-width:760px;margin:0 0 30px}.moment-copy h2 span{color:var(--land-green)}.moment-copy>p:not(.section-index){max-width:650px;margin-bottom:30px;color:var(--land-muted);font-size:clamp(1.06rem,1.45vw,1.28rem)}.moment-art{position:relative;min-height:530px;isolation:isolate}.moment-art img{position:absolute;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(60,70,45,.14))}.moment-book{width:74%;top:7%;left:12%;animation:moment-bob 7s ease-in-out infinite}.moment-heart{width:28%;left:0;bottom:3%;animation:moment-bob 6.2s ease-in-out -3s infinite}.moment-star{width:22%;right:1%;bottom:4%;animation:moment-bob 4.8s ease-in-out -1s infinite}@keyframes moment-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}
.landing-how{background:#eef3e5}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-step{min-height:475px;padding:24px;border-radius:28px;background:#fff;box-shadow:0 12px 45px rgba(43,53,35,.07)}.process-step>span,.personal-card span{font-size:.72rem;font-weight:800;color:var(--land-green)}.process-step img{height:220px;width:100%;object-fit:contain;margin:5px 0 20px}.process-step h3{font:700 1.45rem/1.15 Nunito}.process-step p{color:var(--land-muted);font-size:.9rem}
.personal-section{background:#252b24;color:#f8f8f3}.personal-section .section-index{color:var(--land-lime)}.personal-section .section-head>p{color:#c1c9bd}.personal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.personal-card{display:grid;grid-template-columns:42% 1fr;align-items:center;min-height:290px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:28px;background:rgba(255,255,255,.045)}.personal-card img{width:100%;height:240px;object-fit:contain}.personal-card h3{margin:10px 0 8px;font:700 1.55rem/1.15 Nunito}.personal-card p{margin:0;color:#bdc6b9;font-size:.92rem}
.meaning-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(55px,8vw,125px);background:#fff}.meaning-art{position:relative;min-height:520px;border-radius:40px;background:#f1f6e9}.meaning-art>img:first-child{position:absolute;width:88%;inset:3% auto auto 3%}.meaning-bridge{position:absolute;width:52%;right:0;bottom:-4%;filter:drop-shadow(0 18px 22px rgba(44,57,34,.12))}.meaning-copy h2{margin:0 0 28px}.meaning-copy>p:not(.section-index){color:var(--land-muted);font-size:1.08rem}.meaning-copy ul{list-style:none;padding:0;margin:34px 0 0}.meaning-copy li{padding:15px 0 15px 30px;border-bottom:1px solid var(--land-line);position:relative}.meaning-copy li:before{content:'•';position:absolute;left:4px;color:var(--land-green);font-size:1.5rem;line-height:1}
.quality-section{background:#f7e8dc}.quality-intro{max-width:990px;margin-bottom:65px}.quality-intro h2{margin:0 0 25px}.quality-intro>p:last-child{max-width:700px;color:var(--land-muted);font-size:1.05rem}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quality-grid article{padding:24px;border-radius:26px;background:rgba(255,255,255,.72)}.quality-grid img{width:100%;height:180px;object-fit:contain}.quality-grid b{display:block;margin-top:8px;font:700 2.3rem Nunito;color:var(--land-green)}.quality-grid h3{margin:5px 0 10px;font:700 1.22rem Nunito}.quality-grid p{margin:0;color:var(--land-muted);font-size:.86rem}
.after-order{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;background:#fff}.after-card{padding:clamp(34px,5vw,70px);border-radius:38px;background:#eef3e5}.after-card h2{margin:0 0 35px}.after-line{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(50,70,40,.15)}.after-line span{font-size:.75rem;font-weight:800;color:var(--land-green)}.after-line p{margin:0}.after-card small{display:block;margin-top:20px;color:var(--land-muted)}.after-visual{position:relative;min-height:520px}.after-visual img{position:absolute;object-fit:contain;filter:drop-shadow(0 20px 25px rgba(46,59,35,.13))}.after-visual img:nth-child(1){width:64%;top:0;right:5%}.after-visual img:nth-child(2){width:46%;left:0;bottom:8%}.after-visual img:nth-child(3){width:52%;right:0;bottom:0}
.landing-faq{background:#f7f6f0}.faq-list{max-width:1000px;margin:auto}.faq-list details{border-top:1px solid var(--land-line)}.faq-list details:last-child{border-bottom:1px solid var(--land-line)}.faq-list summary{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:26px 0;cursor:pointer;font:700 1.2rem Nunito;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.6rem;font-weight:400;transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:760px;padding:0 0 26px;margin:0;color:var(--land-muted)}
.landing-final{position:relative;min-height:660px;display:grid;place-items:center;text-align:center;background:var(--land-lime);overflow:hidden}.landing-final>div{position:relative;z-index:3;max-width:780px}.landing-final h2{margin:0 0 22px}.landing-final p:not(.landing-kicker){max-width:600px;margin:0 auto 30px;font-size:1.08rem}.landing-button-dark{background:var(--land-ink);color:#fff}.final-book,.final-memory{position:absolute;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(56,76,35,.15));will-change:transform}.final-book{width:min(330px,28vw);left:-2%;bottom:3%;transform:rotate(-7deg)}.final-memory{width:min(310px,25vw);right:0;top:10%;transform:rotate(7deg)}
.landing-reveal{opacity:0;transform:translateX(-44px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}.landing-reveal.is-visible{opacity:1;transform:none}
.landing-reveal :is(h1,h2,.section-index,.landing-kicker){opacity:0;transform:translateX(-64px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}.landing-reveal.is-visible :is(h1,h2,.section-index,.landing-kicker){opacity:1;transform:none}.landing-reveal.is-visible :is(h1,h2){transition-delay:.08s}
html,body{overflow-x:clip}
@media(max-width:1050px){:root{--land-container:calc(100vw - 48px)}.landing-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:820px}.hero-art{height:560px;max-width:760px;width:100%;margin:auto}.landing-moment{grid-template-columns:1fr;gap:24px}.moment-art{min-height:460px;max-width:680px;width:100%;margin:auto}.process-steps,.quality-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr;gap:22px}.meaning-section,.after-order{grid-template-columns:1fr}.meaning-art{min-height:480px}.after-visual{min-height:430px}.final-book{left:-8%}.final-memory{right:-7%}}
@media(max-width:680px){:root{--land-container:calc(100vw - 32px)}.landing-section{padding:76px 16px}.landing-hero{padding:62px 16px 75px}.landing-hero h1{font-size:clamp(3rem,14vw,4.25rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-facts{gap:18px;justify-content:space-between}.hero-art{height:390px}.hero-book{width:78%;left:10%}.hero-cover{width:45%}.hero-star{width:34%}.landing-main h2{font-size:clamp(2.45rem,11vw,3.5rem)}.landing-moment{padding-top:82px;padding-bottom:45px}.moment-art{min-height:340px}.moment-book{width:85%;left:8%}.moment-hourglass{width:33%}.moment-heart{width:29%}.moment-star{width:20%}.process-steps,.personal-grid,.quality-grid{grid-template-columns:1fr}.process-step{min-height:auto}.process-step img{height:190px}.personal-card{grid-template-columns:38% 1fr;min-height:220px}.personal-card img{height:180px}.meaning-art{min-height:320px;border-radius:26px}.after-card{border-radius:26px}.after-visual{min-height:320px}.landing-final{min-height:650px;padding-bottom:220px}.final-book{width:230px;left:-35px}.final-memory{width:210px;right:-45px;top:auto;bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-reveal,.landing-reveal :is(h1,h2,.section-index,.landing-kicker){opacity:1;transform:none;transition:none}.hero-art img,.final-memory{will-change:auto}.moment-float{animation:none!important}}
/* Illustrations keep independent scroll and hover motion; translate does not disturb layout. */
.hero-art img,.moment-art img,.after-visual img,.landing-final>img{will-change:translate,transform}
.hero-book{width:80.4%;left:8%;top:3%;animation:art-float-book 7.5s ease-in-out infinite}
.hero-cover{animation:art-float-cover 6.1s ease-in-out -1.4s infinite}
.hero-star{animation:art-float-star 5.4s ease-in-out -2s infinite}
@keyframes art-float-book{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}
@keyframes art-float-cover{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-17px) rotate(5deg)}}
@keyframes art-float-star{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-20px) rotate(4deg)}}
.moment-book{width:126%;left:-11%;top:-12%;z-index:1}
.moment-heart{width:84%;left:-25%;bottom:-14%;z-index:2}
.moment-star{width:66%;right:-9%;bottom:-12%;z-index:2}
.after-visual img:nth-child(1){width:51.2%;top:1%;right:12%}
.after-visual img:nth-child(2){width:69%;left:-14%;bottom:-2%}
.after-visual img:nth-child(3){width:78%;right:-13%;bottom:-8%}
.landing-final{background:radial-gradient(circle at 86% 13%,rgba(255,239,179,.85),transparent 31%),linear-gradient(120deg,#95bf5d 0%,#a9cc70 62%,#d8dc89 100%)}
.final-book{width:min(495px,42vw);left:-6%;animation:art-float-book 8.2s ease-in-out infinite}
.final-memory{width:min(465px,37.5vw);right:-3%;top:5%}
.faq-list summary{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.25}
.styles-section{background:#252b24;color:#f8f8f3}.styles-section .section-index{color:var(--land-lime)}.styles-section .section-head>p{color:#c1c9bd}
.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.style-card{display:grid;grid-template-columns:36px 1fr;column-gap:18px;padding:18px 18px 25px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.045)}
.style-card>div{grid-column:1/-1;overflow:hidden;aspect-ratio:1;border-radius:18px;margin-bottom:18px}.style-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1)}.style-card:hover img{transform:scale(1.035)}.style-card>span{font-size:.72rem;font-weight:800;color:var(--land-lime)}.style-card h3{margin:0;font:700 1.45rem/1.2 Nunito,sans-serif}.style-card p{grid-column:2;margin:7px 0 0;color:#c1c9bd;font-size:.9rem}
.landing-button-dark{background:#202820;color:#fff}

.landing-footer{min-height:230px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:24px 36px;padding:50px max(40px,calc((100vw - var(--land-container))/2));background:#20251f;color:#fff}.landing-footer .footer-brand img{width:115px;height:auto}.landing-footer>p{margin:0;color:#c1c9bd}.landing-footer nav{display:flex;gap:28px;flex-wrap:wrap;font-size:.84rem}.landing-footer a{color:inherit}.landing-footer a:hover{color:var(--land-yellow)}.landing-footer .footer-legal{grid-column:1/-1;display:flex;gap:25px;flex-wrap:wrap;color:#a8b3a5;font-size:.78rem}
@media(max-width:1050px){.moment-book{width:105%;left:0}.moment-heart{width:62%;left:-8%;bottom:-8%}.moment-star{width:50%;right:-8%;bottom:-7%}.after-visual img:nth-child(2){left:0}.after-visual img:nth-child(3){right:0}.landing-footer{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.hero-book{width:88%;left:6%;top:3%}.moment-art{min-height:370px}.moment-book{width:94%;left:3%;top:0}.moment-heart{width:45%;left:-8%;bottom:-3%}.moment-star{width:40%;right:-8%;bottom:-3%}.after-visual img:nth-child(1){width:50%;right:14%}.after-visual img:nth-child(2){width:60%;left:-7%}.after-visual img:nth-child(3){width:67%;right:-8%}.final-book{width:260px;left:-75px;bottom:0}.final-memory{width:235px;right:-75px;top:auto;bottom:70px}.style-grid{grid-template-columns:1fr}.style-card{display:block}.style-card>span{display:block}.style-card h3{margin-top:8px}.style-card p{margin-left:0}.landing-footer{grid-template-columns:1fr;gap:18px;padding:45px 20px}.landing-footer .footer-legal{grid-column:1}.faq-list summary{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.hero-art img,.moment-art img,.after-visual img,.landing-final>img{animation:none!important;translate:none!important;will-change:auto}}

/* Keep the hero as one uninterrupted background behind the floating header. */
.landing-hero{min-height:100vh;padding-top:clamp(140px,10vw,170px)}
@media(max-width:680px){.landing-hero{padding-top:168px}}

/* Shared wide content alignment, with intermediate hero breakpoints. */
@media(max-width:1280px) and (min-width:1051px){.landing-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}.landing-hero h1{font-size:clamp(3.45rem,5vw,5rem)}}
@media(max-width:900px) and (min-width:681px){.landing-hero{padding-left:24px;padding-right:24px}.landing-section{padding-left:24px;padding-right:24px}}

/* Every landing section shares the same horizontal content guides as the island. */
body[data-page="home"]{--land-container:var(--site-content-width)}
.landing-section,.landing-hero,.landing-footer{padding-inline:calc((100vw - var(--site-content-width))/2)}
