@charset "UTF-8";
:root{--paper:#f8f4e9;--ink:#302923;--wine:#762c2a;--muted:#82776b;--line:#dcd3c4;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:5px}.section-wrap{max-width:1240px;margin:auto;padding-left:60px;padding-right:60px}.site-header{max-width:1440px;min-height:110px;margin:auto;padding:24px 60px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:inline-flex;flex-direction:column;color:var(--wine);flex-shrink:0}.brand-cn{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:5px;line-height:1.5}.brand-dot{padding:0 4px}.brand-en{font:9px/1.6 Arial,sans-serif;letter-spacing:2.3px;padding-left:2px}.site-header nav{display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:1px}.site-header nav>a{transition:color .2s}.site-header nav>a:hover{color:var(--wine)}.site-header .nav-cta{border:1px solid var(--wine);padding:9px 20px;color:var(--wine)}.nav-cta span{margin-left:20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:664px;align-items:center;padding-top:65px;padding-bottom:85px;gap:30px}.eyebrow{font:10px/1.8 var(--sans);letter-spacing:2px;color:var(--wine);font-weight:600}.small-star{margin-right:8px;font-size:16px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(43px,4.55vw,63px);line-height:1.4;letter-spacing:3px;margin:23px 0}.hero h1 em{font-style:normal;color:var(--wine)}.hero-description{color:#746a60;font-size:13px;line-height:2.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;padding:14px 22px;line-height:1.6;font-size:12px;letter-spacing:1px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-wine{background:var(--wine);border-color:var(--wine);color:#fffaf0}.button-wine:hover{background:#5b211f}.button-outline{border-color:#b5a38d;background:transparent}.button-outline:hover{background:#eee5d5}.hero .button{margin-top:27px}.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:37px;color:var(--muted);font-size:10px;letter-spacing:1.5px}.little-camera{width:30px;color:var(--wine)}.little-camera svg{display:block;width:100%}.hero-art{height:480px;position:relative;margin-left:15px}.polaroid{padding:12px 12px 18px;background:#fffdf7;box-shadow:0 12px 30px #5143301a;border:1px solid #e9e0d3;position:absolute}.hero-photo{width:70%;left:2%;top:19px;transform:rotate(-6deg);z-index:2}.hero-photo img{height:335px;width:100%;object-fit:cover;object-position:center 62%}.polaroid figcaption{font-family:var(--serif);font-size:13px;padding-top:15px;text-align:center;color:#655348;line-height:1.6}.polaroid figcaption span{display:block;font:7px/1.6 Arial,sans-serif;letter-spacing:1.7px;margin-top:7px}.hero-strip{width:42%;right:-9px;top:155px;transform:rotate(10deg);z-index:3;padding:9px 9px 15px}.hero-strip img{width:100%;height:245px;object-fit:cover}.hero-strip figcaption{font-size:10px;padding-top:10px}.tape{position:absolute;width:95px;height:28px;background:#dbc49a8f;left:37%;top:-15px;transform:rotate(3deg);z-index:4;clip-path:polygon(1% 0,98% 5%,100% 97%,2% 100%,3% 70%,0 52%,3% 30%)}.hero-stamp{width:104px;height:104px;border:1px solid #bfa486;border-radius:50%;position:absolute;right:0;top:-13px;transform:rotate(12deg);color:var(--wine);font:10px/1.3 Georgia,serif;display:flex;align-items:center;justify-content:center;flex-direction:column;letter-spacing:1px}.hero-stamp>span:first-child{font-style:italic;font-size:9px;letter-spacing:0}.hero-stamp>span:last-child{font-size:31px;line-height:1.2;margin-top:2px}.handwritten{font-family:var(--serif);color:var(--wine);letter-spacing:1px}.hero-note{position:absolute;left:15px;bottom:-4px;font-size:13px;transform:rotate(-4deg)}.hero-note svg{width:65px;vertical-align:middle;margin-left:8px}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;padding:19px 28px;background:var(--wine);color:#fff4df;font-size:12px;letter-spacing:3px;white-space:nowrap;overflow:hidden}.ribbon>span:nth-child(even){color:#e8bc76;font-size:20px;line-height:1}.ribbon-en{font:10px Georgia,serif;letter-spacing:3px}.intro{display:grid;grid-template-columns:32% 1fr;gap:80px;align-items:center;padding-top:95px;padding-bottom:95px;position:relative}.intro-brand{width:230px;max-width:100%;justify-self:center;transform:rotate(-5deg)}.intro-brand img{mix-blend-mode:multiply}.intro h2,h2{font-family:var(--serif);font-weight:500;line-height:1.5;letter-spacing:2px;font-size:34px}.intro h2{margin:13px 0 23px}.intro-copy>p:not(.eyebrow){font-size:12px;color:#7a6e60;line-height:2.2;margin-top:12px}.intro-doodle{font-family:Georgia,serif;position:absolute;right:85px;top:155px;font-size:86px;color:#c0a279;transform:rotate(17deg);font-weight:400}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}.section-heading h2{margin-top:10px}.section-aside{font-size:11px;color:var(--muted);line-height:2.1}.moments{padding-top:40px;padding-bottom:85px;border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;align-items:start}.gallery-item{padding:0;background:none;border:0;text-align:left;min-width:0}.gallery-item-middle{margin-top:55px}.gallery-image{display:block;position:relative;overflow:hidden}.gallery-image img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.image-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fffaf0e6;font-size:16px}.gallery-caption{display:block;padding-top:18px}.gallery-caption>span{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.7px}.gallery-caption b{font:10px Georgia,serif;color:var(--wine);margin-right:8px}.gallery-caption small{font-size:10px;color:var(--muted);letter-spacing:1px;display:block;padding-top:5px;padding-left:24px}.gallery-note{font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:35px;text-align:right}.gallery-note span{margin-left:18px;color:var(--wine)}.experience{padding:76px 0;background:#efe8da}.experience .section-heading{margin-bottom:40px}.experience-note{transform:rotate(-5deg);font-size:15px;margin-right:30px;margin-bottom:16px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps article{border-top:1px solid #cbbda6;padding-top:20px}.step-number{font:26px/1.4 Georgia,serif;color:#a89478}.steps h3{font:16px/1.8 var(--serif);margin-top:13px;font-weight:600}.steps p{font-size:11px;color:#7a6e60;line-height:2;margin-top:11px}.equipment-note{border-top:1px solid #d5c9b6;padding-top:22px;margin-top:43px;color:#84745f;letter-spacing:1px;font-size:10px}.equipment-note>span:first-child{color:var(--wine);font-size:18px;vertical-align:middle;margin-right:12px}.equipment-divider{color:#c2b198;margin:0 22px}.keepsake{display:grid;grid-template-columns:1fr 1fr;padding-top:100px;padding-bottom:100px;gap:90px;align-items:center}.keepsake-photo{position:relative;transform:rotate(-3deg);border:11px solid #fffdf6;box-shadow:0 10px 30px #51433012}.keepsake-photo img{width:100%;height:440px;object-fit:cover;object-position:50% 65%}.photo-label{display:block;text-align:center;font:8px/2 Arial,sans-serif;letter-spacing:2px;padding:12px 2px 2px}.keepsake-copy{position:relative}.outline-heart{position:absolute;right:4px;top:-35px;color:#c2a178;font:88px/1 Georgia,serif;transform:rotate(15deg)}.keepsake h2{font-size:46px;margin-top:16px;margin-bottom:22px}.keepsake-copy>p:not(.eyebrow){font:18px/1.9 var(--serif);color:var(--wine)}.keepsake-copy>.keepsake-detail{font:11px/2.2 var(--sans)!important;color:var(--muted)!important;margin-top:20px}.text-link{background:none;border:0;border-bottom:1px solid #ad8d74;padding:0 0 7px;font:11px/1.7 var(--sans);color:var(--wine);letter-spacing:.7px;display:inline-flex;gap:24px;align-items:center;cursor:pointer}.keepsake .text-link{margin-top:28px}.packages{padding-top:65px;padding-bottom:90px;border-top:1px solid var(--line)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr)}.package{position:relative;border:1px solid var(--line);padding:29px 29px 27px;display:flex;flex-direction:column;margin-left:-1px}.package:first-child{margin-left:0}.package-featured{background:#eee4d2;border-color:#d0bda0;z-index:1}.package-index{font:8px/1.6 Arial,sans-serif;letter-spacing:1.7px;color:#8c765e}.package-time{display:flex;align-items:baseline;gap:16px;margin-top:26px}.package-time h3{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:1px}.package-time>span{font-size:10px;color:var(--muted)}.price{font:54px/1.3 Georgia,serif;color:var(--wine);letter-spacing:-2px;margin-top:12px}.price small{font:21px/1 Georgia,serif;margin-right:6px;vertical-align:top;display:inline-block;margin-top:13px}.package-summary{font-size:10px;color:var(--muted);margin-top:12px;line-height:2}.package ul{list-style:none;padding:20px 0;margin:20px 0 23px;border-top:1px solid var(--line);font-size:11px;line-height:2.6;flex:1}.package li::before{content:'✓';margin-right:9px;color:#99805e;font-size:10px}.package .button{width:100%;font-size:11px;gap:8px}.package-flower{position:absolute;right:25px;top:59px;font-size:29px;color:var(--wine)}.package-footnote{font-size:10px;line-height:2;color:var(--muted);margin-top:23px}.faq{display:grid;grid-template-columns:34% 1fr;gap:45px;padding-top:65px;padding-bottom:90px;border-top:1px solid var(--line)}.faq h2{margin-top:13px;font-size:31px}.faq-heading>p:last-child{font-size:11px;color:var(--muted);margin-top:22px;line-height:2.1}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:20px 0;cursor:pointer;font-size:12px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:300;color:var(--wine);line-height:1;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details>p{font-size:11px;line-height:2.1;color:var(--muted);padding:0 30px 20px 0}.inquiry{background:#eee3d2;padding:70px 0}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.inquiry h2{font-size:44px;line-height:1.5;margin-top:16px}.inquiry-grid>div>p:not(.eyebrow){font-size:12px;color:#82715f;margin-top:20px;line-height:2.2}.inquiry-note{display:block;margin-top:36px;font-size:13px;transform:rotate(-3deg)}#inquiry-form{padding-top:4px}label{display:block;font-size:11px;letter-spacing:.7px}input,select,textarea{width:100%;display:block;margin-top:8px;border:1px solid #cdbca7;border-radius:0;background:#fbf7ee8f;color:var(--ink);padding:12px 13px;font-size:12px;min-width:0}input{min-height:44px}input::placeholder,textarea::placeholder{color:#a29484;font-size:11px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}#inquiry-form>label{margin-top:17px}.optional{font-size:10px;color:#9a8770;margin-left:5px}#inquiry-form .button{width:100%;margin-top:20px}.form-note{font-size:9px;color:#8d7b65;line-height:1.9;margin-top:12px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:145px;padding-top:30px;padding-bottom:30px}.site-footer .brand-cn{font-size:21px;letter-spacing:3px}.site-footer .brand-en{font-size:7px;letter-spacing:1.4px}.site-footer p{font-family:var(--serif);font-size:12px;color:#8b755f;letter-spacing:1px}.site-footer>span,.site-footer>a:last-child{font-size:9px;color:#9b8c7b}.site-footer>a:last-child{border-bottom:1px solid #cdbca7;padding-bottom:3px}dialog{border:0;max-height:92vh;max-width:95vw;padding:0;box-shadow:0 20px 90px #0005;color:var(--ink)}dialog::backdrop{background:#211811c9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:12px;z-index:2;border:1px solid #ddcdb7;border-radius:50%;background:#fffaf0;color:var(--wine);width:34px;height:34px;display:grid;place-items:center;font-size:25px;line-height:1;padding:0}.image-dialog{background:var(--paper);width:min(660px,94vw)}.image-dialog>img{max-height:80vh;width:auto;margin:auto;object-fit:contain}.image-dialog>p{text-align:center;padding:13px 40px;font:12px/1.8 var(--serif);color:var(--wine)}.inquiry-dialog{width:520px;background:var(--paper);padding:40px}.inquiry-dialog h2{font-size:28px;margin-top:10px}.dialog-description{font-size:11px;color:var(--muted);margin-top:12px}.inquiry-dialog textarea{margin-top:20px;font-size:12px;line-height:2;background:#fffcf5}.inquiry-dialog .button{margin-top:17px;width:100%}.copy-status{font-size:11px;color:var(--wine);min-height:22px;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;left:15px;transform:translateY(-120%);background:var(--wine);color:white;padding:10px;z-index:50}.skip-link:focus{transform:translateY(0)}
@media(min-width:1441px){.site-header{padding-left:100px;padding-right:100px}.hero{min-height:710px}.hero-art{transform:scale(1.04)}}
@media(max-width:1050px){.section-wrap{padding-left:36px;padding-right:36px}.site-header{padding-left:36px;padding-right:36px}.site-header nav{gap:23px}.hero{gap:12px;min-height:630px}.hero h1{font-size:48px}.hero-art{margin-left:0;height:450px}.hero-photo{width:74%}.hero-photo img{height:315px}.hero-strip{right:-5px;width:43%;top:155px}.hero-strip img{height:220px}.hero-stamp{right:2px;width:85px;height:85px;top:-4px;font-size:8px}.hero-note{font-size:11px;bottom:2px}.intro{gap:45px}.intro-doodle{right:45px}.ribbon{gap:27px;font-size:10px}.keepsake{gap:55px}.keepsake-photo img{height:400px}.package{padding:23px}.package-time{gap:10px}.package-time h3{font-size:24px}.package li{font-size:10px}.inquiry-grid{gap:45px}.site-footer>span{display:none}}
@media(max-width:760px){html{scroll-padding-top:20px}.section-wrap{padding-left:23px;padding-right:23px}.site-header{min-height:90px;padding:18px 23px}.brand-cn{font-size:23px;letter-spacing:3px}.brand-en{font-size:7px;letter-spacing:1.8px}.site-header nav{gap:20px;font-size:10px}.site-header nav>a:nth-child(2),.site-header nav>a:first-child{display:none}.site-header .nav-cta{padding:7px 11px}.nav-cta span{margin-left:6px}.hero{grid-template-columns:1fr;gap:15px;padding-top:42px;padding-bottom:44px;overflow:hidden}.hero-copy{position:relative;z-index:4}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:48px;line-height:1.35;letter-spacing:2px;margin:18px 0}.hero-description{font-size:11px;line-height:2.1}.hero .button{margin-top:22px;padding:12px 18px;font-size:11px}.hero-footnote{margin-top:22px;font-size:9px;letter-spacing:.9px}.little-camera{width:25px}.hero-art{height:418px;width:100%;max-width:430px;margin:25px auto 5px}.hero-photo{left:6%;top:16px;width:63%;padding:9px 9px 12px}.hero-photo img{height:287px}.hero-photo figcaption{font-size:11px;padding-top:11px}.polaroid figcaption span{font-size:6px;margin-top:5px}.hero-strip{width:39%;right:4%;top:135px;padding:7px 7px 12px}.hero-strip img{height:213px}.hero-strip figcaption{font-size:9px}.hero-stamp{width:76px;height:76px;right:6%;top:-7px}.hero-stamp>span:last-child{font-size:23px}.hero-note{left:25px;bottom:0;font-size:11px}.ribbon{justify-content:flex-start;gap:24px;font-size:9px;padding:15px 23px;letter-spacing:2px}.ribbon>span:nth-child(even){font-size:16px}.ribbon-en{display:none}.intro{grid-template-columns:28% 1fr;gap:21px;padding-top:53px;padding-bottom:56px}.intro-brand{width:100%;align-self:start;margin-top:44px}.intro h2{font-size:28px;line-height:1.5;margin:10px 0 15px;letter-spacing:1px}.intro-copy>.eyebrow{font-size:7px;letter-spacing:1.3px}.intro-copy>p:not(.eyebrow){font-size:10px;line-height:2;margin-top:8px}.desktop-break{display:none}.intro-doodle{right:22px;top:64px;font-size:42px}h2{font-size:29px;letter-spacing:1px}.section-heading{gap:20px;margin-bottom:26px}.section-heading h2{margin-top:9px;font-size:28px}.section-aside{display:none}.moments{padding-top:35px;padding-bottom:48px}.gallery-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.gallery-item-middle{margin-top:32px}.gallery-item:last-child{grid-column:1/-1;width:72%;margin:-1px auto 0}.gallery-item:last-child .gallery-image img{aspect-ratio:1/1.15;object-position:50% 66%}.gallery-caption{padding-top:12px}.gallery-caption>span{font-size:12px;letter-spacing:0}.gallery-caption b{font-size:8px;margin-right:5px}.gallery-caption small{font-size:8px;padding-left:17px}.image-expand{right:7px;bottom:7px;width:24px;height:24px}.gallery-note{font-size:8px;text-align:center;margin-top:28px;letter-spacing:0}.gallery-note span{margin-left:7px}.experience{padding:44px 0}.experience .section-heading{margin-bottom:29px}.experience .section-heading h2{font-size:28px}.experience-note{display:none}.steps{grid-template-columns:1fr 1fr;gap:28px 20px}.steps article{padding-top:14px}.step-number{font-size:22px}.steps h3{font-size:14px;margin-top:9px;letter-spacing:0}.steps p{font-size:10px;line-height:2;margin-top:7px}.equipment-note{font-size:8px;letter-spacing:0;margin-top:28px;padding-top:16px}.equipment-note>span:first-child{font-size:15px;margin-right:4px}.equipment-divider{margin:0 7px}.keepsake{grid-template-columns:1fr;gap:40px;padding-top:60px;padding-bottom:50px}.keepsake-photo{max-width:350px;width:87%;margin:auto;border-width:9px}.keepsake-photo img{height:340px;object-position:50% 64%}.photo-label{font-size:7px;padding-top:10px;letter-spacing:1.5px}.keepsake-copy{padding-left:20px}.keepsake h2{font-size:38px;margin:13px 0 17px}.keepsake-copy>p:not(.eyebrow){font-size:16px}.outline-heart{right:30px;top:15px;font-size:85px}.keepsake-copy>.keepsake-detail{font-size:10px!important;margin-top:17px}.keepsake .text-link{margin-top:22px}.packages{padding-top:35px;padding-bottom:50px}.packages .section-heading{display:block}.packages .section-heading .text-link{margin-top:18px;font-size:10px}.package-grid{grid-template-columns:1fr;gap:17px}.package{padding:24px;margin-left:0}.package-index{font-size:8px}.package-time{margin-top:14px}.package-time h3{font-size:26px}.price{font-size:51px;margin-top:8px}.package-summary{font-size:11px;margin-top:7px}.package ul{margin:17px 0 8px;padding:13px 0;font-size:11px;line-height:2.4}.package li{font-size:11px}.package .button{margin-top:10px}.package-flower{top:53px;right:30px}.package-footnote{font-size:9px;line-height:2}.faq{grid-template-columns:1fr;gap:29px;padding-top:35px;padding-bottom:45px}.faq h2{font-size:28px;margin-top:9px}.faq-heading>p:last-child{font-size:10px;margin-top:12px}.faq-heading>p:last-child br{display:none}.faq-list summary{font-size:11px;padding:18px 0}.faq-list details>p{font-size:10px}.inquiry{padding:43px 0}.inquiry-grid{grid-template-columns:1fr;gap:34px}.inquiry h2{font-size:36px;margin-top:13px}.inquiry-grid>div>p:not(.eyebrow){font-size:11px;margin-top:14px}.inquiry-note{margin-top:22px;font-size:11px}.form-row{gap:12px;grid-template-columns:1fr}label{font-size:11px}input,select,textarea{font-size:16px;padding:11px 12px}input::placeholder,textarea::placeholder{font-size:11px}.form-row label+label{margin-top:5px}.form-note{font-size:9px}.site-footer{flex-wrap:wrap;min-height:160px;padding-top:25px;padding-bottom:25px;gap:16px}.site-footer .brand{width:56%}.site-footer .brand-cn{font-size:21px}.site-footer p{font-size:10px;width:100%;order:3}.site-footer>a:last-child{font-size:9px}.inquiry-dialog{padding:34px 23px;width:94vw}.inquiry-dialog h2{font-size:25px}.inquiry-dialog textarea{font-size:12px}.image-dialog>p{font-size:10px}.image-dialog>img{max-height:78vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
