/* The intro follows the supplied film; JavaScript owns its shared timeline. */
body{background:#faf7ee}
html{scroll-behavior:smooth;scroll-padding-top:35px}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:50px;background:linear-gradient(transparent,#faf7ee);pointer-events:none}
.entrance,.site-header.entrance{animation:none}
.motion-loading .hero-copy>.entrance,.motion-loading .site-header,.motion-loading .mood-panel{opacity:0}
.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0;pointer-events:none}
.has-video .scene-video{opacity:1}
.has-video .scene-image{opacity:0;animation:none}
.header-links{display:flex;align-items:center;justify-content:center;gap:31px}
.header-links a{font-size:11px;text-decoration:none;color:#6b6150;transition:color .2s}
.header-links a:hover{color:#354c35}
.site-header{gap:20px}
.mobile-menu{display:none}
.motion-controls{display:flex;align-items:center;gap:7px}
.motion-replay{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid #fff9e798;border-radius:999px;background:#fff8e879;backdrop-filter:blur(10px);font-size:9px}
.motion-replay svg{width:14px;height:14px}
.scroll-cue{text-decoration:none}
.scroll-cue>span{font-size:17px;animation:scroll-nudge 2.8s ease-in-out infinite}
.motion-paused .scroll-cue>span{animation-play-state:paused}
.section-wrap{max-width:1180px;margin-inline:auto;padding-inline:40px}
.section-eyebrow{margin:0 0 20px;font-size:9px;letter-spacing:.19em;line-height:1.6;color:#888b6e;font-weight:500}
.section-title{font-family:'Gowun Batang',Georgia,serif;font-size:45px;font-weight:400;line-height:1.25;letter-spacing:-.055em;margin:0 0 24px;color:#534a3c}
.section-description{font-size:13px;line-height:1.95;color:#7a7565;margin:0}
.intro-bridge{text-align:center;padding:86px 28px 80px;max-width:850px;margin:auto}
.little-spark{color:#b9a36c;font-size:27px}
.intro-bridge p{font-family:'Gowun Batang',Georgia,serif;font-size:25px;line-height:1.65;letter-spacing:-.025em;color:#837864;margin:18px 0 0}
.intro-bridge em{font-style:normal;color:#596c53}
.ritual-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:55px;padding-bottom:135px;align-items:center}
.ritual-copy>.section-description{max-width:415px}
.ritual-steps{margin-top:34px}
.ritual-step{display:flex;align-items:flex-start;width:100%;gap:17px;padding:19px 0;border:0;border-top:1px solid #77796322;background:transparent;text-align:left;transition:opacity .2s}
.ritual-step:last-child{border-bottom:1px solid #77796322}
.step-number{font-family:'Gowun Batang',Georgia,serif;font-size:18px;color:#a1a18b;line-height:1.3;padding-top:1px}
.ritual-step>span:nth-child(2){flex:1}
.ritual-step strong{display:block;font-size:13px;font-weight:500;line-height:1.6;color:#6d6c59}
.ritual-step>span:nth-child(2)>span{display:block;font-size:11px;line-height:1.7;color:#8f8976;margin-top:4px}
.ritual-step>svg{width:16px;height:16px;flex-shrink:0;margin-top:5px;color:#708568;opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s}
.ritual-step[aria-pressed=true]>svg{opacity:1;transform:none}
.ritual-step[aria-pressed=true] strong,.ritual-step[aria-pressed=true] .step-number{color:#50694a}
.ritual-art{position:relative;max-width:405px;padding:23px 17px 0;margin:auto;width:100%}
.paper-note{position:absolute;left:7px;top:-3px;font-size:9px;letter-spacing:.11em;transform:rotate(-4deg);color:#8f9276}
.journal-underlay{position:absolute;inset:35px 10px 40px;background:#e7e9d8;border:1px solid #d5dac5;transform:rotate(-6deg);border-radius:3px;box-shadow:0 5px 13px #79684e09}
.journal-preview{position:relative;padding:18px 19px 15px;background:#fffdf6;border:1px solid #dfddcc;box-shadow:0 7px 24px #7161450c;transform:rotate(3deg);border-radius:2px}
.journal-preview::before{content:"";position:absolute;z-index:1;top:-12px;left:calc(50% - 38px);width:76px;height:26px;background:#e6d9a9b3;transform:rotate(-3deg);border-left:2px dashed #faf7ee55;border-right:2px dashed #faf7ee55}
.journal-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-family:'Gowun Batang',Georgia,serif;font-size:13px;color:#827560}
.journal-topline>span:last-child{color:#aa9969;font-size:18px}
.ritual-photo-frame{outline:2px solid transparent;outline-offset:5px;transition:outline-color .3s}
.ritual-photo-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.journal-date{margin:20px 0 11px;color:#a09b88;font-size:8px;letter-spacing:.08em}
.journal-preview h3{font-family:'Gowun Batang',Georgia,serif;font-size:24px;font-weight:400;line-height:1.35;letter-spacing:-.045em;margin:0 0 10px}
.ritual-entry-note{font-size:11px;line-height:1.9;margin:0;color:#828471;padding:3px 0;border-radius:5px;transition:background .3s}
.ritual-tag{display:flex;align-items:center;gap:8px;margin-top:18px;border-radius:8px;font-size:10px;color:#78846b;transition:background .3s}
.ritual-tag img{width:39px;height:35px;object-fit:contain;mix-blend-mode:multiply}
.little-heart{margin-left:auto;font-size:19px;color:#a29672}
.ritual-spark{position:absolute;right:-4px;top:5px;font-size:34px;color:#baad75;transform:rotate(13deg)}
.illustration-label{position:relative;margin:26px 0 0;text-align:center;font-size:9px;color:#a29b87}
.ritual-art[data-step=photo] .ritual-photo-frame{outline-color:#9aa68a77}
.ritual-art[data-step=mood] .ritual-tag{background:#e7eddb}
.ritual-art[data-step=words] .ritual-entry-note{background:#f5eccd}
.feelings-section{background:#edf0e6;border-top:1px solid #d9e0cf77;border-bottom:1px solid #d9e0cf77}
.feelings-inner{padding-top:88px;padding-bottom:69px}
.center-heading{text-align:center;max-width:720px;margin:auto}
.center-heading .section-title{font-size:41px}
.center-heading .section-description{max-width:520px;margin:auto}
.companion-gallery{display:grid;grid-template-columns:repeat(8,1fr);gap:11px;margin-top:47px}
.companion{border:1px solid transparent;border-radius:50% 50% 22px 22px;background:transparent;min-width:0;padding:12px 4px 16px;transition:background .2s,transform .25s,border-color .2s}
.companion img{display:block;width:100%;height:auto;aspect-ratio:320/280;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s}
.companion>span{display:block;font-size:11px;color:#71795f;margin-top:7px;line-height:1.4}
.companion:hover img{transform:translateY(-7px) rotate(-5deg)}
.companion[aria-pressed=true]{background:#faf9eda6;border-color:#cdd7c399}
.companion[aria-pressed=true] img{transform:translateY(-4px)}
.companion-message{font-family:'Gowun Batang',Georgia,serif;text-align:center;font-size:19px;line-height:1.6;letter-spacing:-.025em;min-height:31px;margin:29px 0 0;color:#728061}
.books-section{padding-top:120px;padding-bottom:100px}
.books-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
.books-intro .section-title{margin-bottom:0}
.books-intro>.section-description{max-width:370px}
.book-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;max-width:935px;margin:73px auto 20px;padding:12px 20px 28px}
.photobook{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;aspect-ratio:2/3;border:1px solid #75826780;border-radius:3px 8px 8px 3px;padding:27px 25px 21px 32px;background:var(--book-color);color:#5c6750;box-shadow:4px 5px 0 -2px #fffdf0,5px 5px 0 -1px #9c9e8380,0 14px 24px #6e694417;transition:transform .35s,box-shadow .35s;transform-origin:50% 85%;text-align:center}
.photobook::after{content:"";position:absolute;inset:5px;border:1px solid #6a715a1a;border-radius:2px 6px 6px 2px;pointer-events:none}
.photobook-sage{--book-color:#e1e7d5;transform:rotate(-5deg)}
.photobook-honey{--book-color:#f0e4bd;transform:rotate(3deg);color:#7f754d}
.photobook-rose{--book-color:#ecdbd3;transform:rotate(-3deg);color:#8a7369}
.photobook:hover,.photobook:focus-visible{transform:translateY(-12px) rotate(0);box-shadow:4px 5px 0 -2px #fffdf0,5px 5px 0 -1px #9c9e8380,0 22px 30px #6e694420}
.book-binding{position:absolute;left:12px;inset-block:0;width:1px;background:#6d765e38;box-shadow:2px 0 0 #fffaf14d}
.book-photo{display:block;width:100%;aspect-ratio:4/3;background:#fffaf0;padding:7px;box-shadow:0 2px 5px #6e62420a;transform:rotate(-2deg)}
.book-photo img{display:block;width:100%;height:100%;object-fit:cover}
.book-title{font-family:'Gowun Batang',Georgia,serif;font-size:23px;line-height:1.4;letter-spacing:-.04em;margin-top:26px}
.book-subtitle{font-size:8px;line-height:1.7;margin-top:9px;color:#847c66}
.book-volume{position:absolute;left:32px;bottom:25px;font-family:'Gowun Batang',Georgia,serif;font-size:14px;color:#8b8d71}
.book-companion{position:absolute;right:14px;bottom:12px;width:63px;height:56px;object-fit:contain;mix-blend-mode:multiply}
.book-open{position:absolute;right:10px;top:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fffaf4c4;opacity:0;transition:opacity .25s}
.book-open svg{width:15px;height:15px}
.photobook:hover .book-open,.photobook:focus-visible .book-open{opacity:1}
.books-hint{font-size:10px;text-align:center;color:#96927e;margin:19px 0 0}
.keepsake-section{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding-top:35px;padding-bottom:120px}
.keepsake-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,black 48%,transparent 73%)}
.keepsake-copy .section-description{max-width:370px}
.local-facts{list-style:none;padding:0;margin:28px 0 0;max-width:350px}
.local-facts li{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid #e5e3d7;font-size:11px;color:#76816a}
.local-facts li>span{font-size:12px}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-top:55px;padding-bottom:115px;border-top:1px solid #e9e5d9}
.faq-heading img{width:90px;height:79px;object-fit:contain;mix-blend-mode:multiply;margin-top:8px;transform:rotate(-6deg)}
.faq-list details{border-bottom:1px solid #e4e2d4}
.faq-list details:first-child{border-top:1px solid #e4e2d4}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:13px;line-height:1.6;color:#6a6858}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{position:relative;flex-shrink:0;width:12px;height:12px}
.faq-list summary>span::before,.faq-list summary>span::after{content:"";position:absolute;background:#8c9378;top:50%;left:0;width:12px;height:1px}
.faq-list summary>span::after{transform:rotate(90deg);transition:transform .2s}
.faq-list details[open] summary>span::after{transform:rotate(0)}
.faq-list details>p{font-size:12px;line-height:1.95;color:#898371;margin:0 25px 23px 0}
.faq-list summary:focus-visible{outline:2px solid #687c5c;outline-offset:5px}
.closing-section{background:#f2eadc;overflow:hidden}
.closing-inner{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center}
.closing-copy{position:relative;z-index:1;padding:70px 0 85px}
.closing-copy .section-title{font-size:55px;margin-bottom:21px}
.closing-copy .section-description{font-size:13px;margin-bottom:29px}
.closing-art{position:absolute;right:-50px;bottom:-100px;width:670px;height:670px;object-fit:cover;z-index:0;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,black 35%),linear-gradient(180deg,transparent,black 12%);mask-composite:intersect}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:45px;padding-top:53px;padding-bottom:28px}
.footer-brand img{width:105px;height:auto;display:block}
.footer-brand p{font-size:10px;color:#9b927d;margin:12px 0 0}
.site-footer>nav{display:flex;align-items:flex-start;gap:35px;padding-top:12px}
.site-footer>nav a{font-size:10px;text-decoration:none;color:#807c69}
.site-footer>nav a:hover{color:#4f6849}
.footer-end{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding-top:22px;border-top:1px solid #e8e4d8;color:#aaa18b;font-size:9px}
.footer-end>span{margin-right:auto}
.footer-end>a{text-decoration:none}
.back-top{font-size:20px;margin-left:10px}
.reveal-managed .reveal{opacity:0;transform:translateY(23px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.3,1)}
.reveal-managed .reveal.is-visible{opacity:1;transform:none}
html[lang=ko] body{word-break:keep-all;overflow-wrap:break-word}
html[lang=ko] .section-title{font-size:39px;line-height:1.4;letter-spacing:-.065em}
html[lang=ko] .section-eyebrow{font-size:11px;letter-spacing:.1em}
html[lang=ko] .section-description{font-size:14px;line-height:1.95}
html[lang=ko] .intro-bridge p{font-size:24px}
html[lang=ko] .closing-copy .section-title{font-size:48px}
html[lang=ko] .book-title{font-size:24px}
html[lang=ko] .book-subtitle{font-size:10px}
html[lang=ko] .companion>span{font-size:12px}
@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(min-width:1600px){.section-wrap{max-width:1280px}.section-title{font-size:50px}.section-description{font-size:14px}.ritual-art{max-width:430px}.book-shelf{max-width:1000px}.book-title{font-size:25px}.companion-message{font-size:21px}}
@media(max-width:1100px){.section-wrap{padding-inline:38px}.ritual-section{gap:60px}.section-title{font-size:39px}.books-intro{gap:50px}.book-shelf{gap:35px}.photobook{padding:23px 20px 20px 27px}.book-title{font-size:21px}.keepsake-section{gap:55px}.faq-section{gap:55px}.closing-art{right:-130px}html[lang=ko] .section-title{font-size:35px}}
@media(max-width:900px){
  .header-links{gap:20px}.header-links a{font-size:9px}
  .scene-video{inset:auto 0 120px;width:100%;height:auto;object-fit:contain;object-position:center;mask-image:linear-gradient(to bottom,transparent,black 12%,black 84%,transparent)}
  .site-header{gap:14px}
  .section-wrap{padding-inline:32px}
  .ritual-section{gap:35px;padding-bottom:100px}.section-title{font-size:33px}.section-description{font-size:12px}
  .ritual-art{padding-inline:7px}.journal-preview{padding:15px}.journal-preview h3{font-size:21px}.ritual-step{gap:12px}.ritual-step strong{font-size:12px}.ritual-step>span:nth-child(2)>span{font-size:10px}
  .companion-gallery{grid-template-columns:repeat(4,1fr);max-width:560px;margin-inline:auto;margin-top:30px;gap:14px}.companion img{max-width:112px;margin:auto}.companion-message{font-size:17px}
  .books-section{padding-top:90px;padding-bottom:75px}.books-intro{gap:35px}.book-shelf{gap:24px;margin-top:52px;padding-inline:3px}.book-title,html[lang=ko] .book-title{font-size:18px}.book-subtitle{font-size:7px}.photobook{padding:18px 16px 16px 22px}.book-companion{width:48px;height:42px}.book-title{margin-top:17px}.book-volume{bottom:17px;left:23px;font-size:11px}
  .keepsake-section{gap:35px;padding-bottom:85px}.local-facts li{font-size:10px}
  .faq-section{gap:40px;padding-bottom:90px}.faq-list summary{font-size:12px;padding-block:20px}
  .closing-copy .section-title{font-size:46px}.closing-art{width:540px;height:540px;right:-145px;bottom:-45px}.closing-inner{min-height:460px}
  html[lang=ko] .section-title{font-size:30px}html[lang=ko] .section-description{font-size:12px}html[lang=ko] .closing-copy .section-title{font-size:39px}
}
@media(max-width:680px){
  .header-links{display:none}.language-switch{margin-left:auto}.site-header{gap:9px}
  .mobile-menu{display:block}
  .mobile-menu summary{display:flex;flex-direction:column;justify-content:center;gap:5px;list-style:none;width:28px;height:32px;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary>span{display:block;width:14px;height:1px;background:#7c735e;margin:auto}
  .mobile-menu summary>span:first-child{margin-bottom:0}.mobile-menu summary>span:last-child{margin-top:0}
  .mobile-menu>nav{position:absolute;left:0;right:0;top:calc(100% + 9px);display:flex;flex-direction:column;gap:0;border-radius:20px;padding:15px 22px;background:#fffaf2ed;backdrop-filter:blur(20px);box-shadow:0 10px 25px #75613a12}
  .mobile-menu>nav a{padding:12px 0;text-decoration:none;font-size:12px;color:#6b6c56}
  .mobile-menu[open] summary{background:#e4e8d767;border-radius:50%}
  .section-wrap{padding-inline:26px}
  .intro-bridge{padding:65px 30px 45px}.intro-bridge p,html[lang=ko] .intro-bridge p{font-size:20px;line-height:1.75}.little-spark{font-size:23px}
  .ritual-section{display:flex;flex-direction:column;gap:60px;padding-top:40px;padding-bottom:85px}.ritual-copy{width:100%}.section-title{font-size:35px}.section-description,html[lang=ko] .section-description{font-size:12px;line-height:1.95}.section-eyebrow{font-size:8px;margin-bottom:15px}
  .ritual-copy>.section-description{max-width:100%}.ritual-art{max-width:340px;padding-inline:18px}.ritual-step strong{font-size:13px}.ritual-step>span:nth-child(2)>span{font-size:11px}.journal-preview h3{font-size:23px}.journal-preview{padding:17px}.ritual-spark{right:3px}
  .feelings-inner{padding-top:65px;padding-bottom:48px}.center-heading .section-title{font-size:33px}.center-heading .section-description{max-width:330px}.companion-gallery{gap:9px;margin-top:25px}.companion{padding:8px 0 11px}.companion>span{font-size:10px}.companion-message{font-size:16px;max-width:310px;margin:24px auto 0;min-height:51px}.companion img{width:100%}
  .books-section{padding-top:76px;padding-bottom:55px;overflow:hidden}.books-intro{display:block}.books-intro .section-title{margin-bottom:22px}.books-intro>.section-description{max-width:100%}.book-shelf{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;width:calc(100% + 52px);max-width:none;margin:30px -26px 5px;padding:28px 37px 35px;scrollbar-width:thin;scrollbar-color:#c5cbb5 transparent}
  .photobook{flex:0 0 235px;height:352px;padding:24px 22px 20px 29px;scroll-snap-align:center}.book-title,html[lang=ko] .book-title{font-size:23px;margin-top:24px}.book-subtitle{font-size:8px}.book-companion{width:62px;height:54px}.book-volume{font-size:13px;bottom:23px;left:30px}.books-hint{font-size:9px;line-height:1.7;max-width:280px;margin-inline:auto}.book-open{opacity:.75}
  .keepsake-section{display:flex;flex-direction:column;gap:2px;padding-top:12px;padding-bottom:75px}.keepsake-art{max-width:370px;margin-inline:-10px}.keepsake-copy{width:100%}.keepsake-copy .section-description{max-width:100%}.local-facts{max-width:100%}.local-facts li{font-size:11px;padding-block:15px}
  .faq-section{display:block;padding-top:60px;padding-bottom:70px}.faq-heading{position:relative;margin-bottom:30px}.faq-heading .section-title{margin-bottom:0}.faq-heading img{position:absolute;width:85px;height:75px;bottom:0;right:14px}.faq-list summary{font-size:12px;padding-block:22px}.faq-list details>p{font-size:11px}
  .closing-inner{display:block;min-height:650px}.closing-copy{padding:62px 0 0}.closing-copy .section-title{font-size:43px}.closing-copy .section-description{font-size:12px;margin-bottom:24px}.closing-art{right:-70px;bottom:-110px;width:500px;height:500px;mask-image:linear-gradient(180deg,transparent,black 35%)}.closing-copy .memory-button{min-height:46px}
  .site-footer{display:block;padding-top:40px;padding-bottom:24px}.footer-brand img{width:100px}.site-footer>nav{gap:25px;margin-top:23px;padding-top:0}.site-footer>nav a{font-size:9px}.footer-end{margin-top:32px;font-size:8px;gap:12px}.back-top{margin-left:6px}
  html[lang=ko] .section-title{font-size:31px;line-height:1.4}html[lang=ko] .section-eyebrow{font-size:10px}html[lang=ko] .center-heading .section-title{font-size:28px}html[lang=ko] .closing-copy .section-title{font-size:38px}html[lang=ko] .companion>span{font-size:10px}
}
@media(max-width:540px){
  .scene-video{bottom:147px}
  .hero-bottom{left:20px;right:20px}
  .motion-replay{font-size:0;padding:7px 8px;gap:0;min-height:32px}
  .motion-replay svg{width:14px;height:14px}.motion-replay span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .motion-controls{gap:5px}
  .scroll-cue{font-size:8px;gap:5px}.scroll-cue>span{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scene-video{display:none}
  .has-video .scene-image{opacity:1}
  .motion-replay,.motion-toggle{display:none}
  .reveal-managed .reveal{opacity:1;transform:none;transition:none}
  .motion-loading .hero-copy>.entrance,.motion-loading .site-header,.motion-loading .mood-panel{opacity:1}
}
