:root{--wine:#872f43;--cream:#faf5ed;--ink:#302624;--line:#d8c9bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #c4782f;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:10;background:white}header{min-height:88px;padding:15px 6%;display:flex;align-items:center;justify-content:space-between}.brand{font:34px/1 Georgia,serif;letter-spacing:2px}.brand span{display:block;font:12px/1.8 Arial,sans-serif;text-align:center;letter-spacing:6px;margin-top:3px}nav{display:flex;gap:30px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto;min-height:650px}.hero-photo{background:#e5e4d9;max-height:850px}.hero-photo img{display:block;width:100%;height:100%;object-fit:contain}.hero-copy{padding:60px 12%;align-self:center}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:500}.hero h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(58px,7vw,100px);font-weight:400;letter-spacing:6px;line-height:1.2;margin:30px 0;color:var(--wine)}.subtitle{font-size:20px;letter-spacing:2px;margin-bottom:14px}.intro{color:#75645d}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid var(--wine);padding:15px 24px;font-size:15px;background:var(--wine);color:var(--cream);transition:background .2s}.button:hover{background:#692335;color:white}.hero .button{margin-top:18px}.hero-note{border-top:1px solid var(--line);margin-top:45px;padding-top:20px}.hero-note span{font-size:12px;letter-spacing:2px}.hero-note p{font-size:14px;margin:7px 0 0;color:#75645d}.stories,.packages{padding:100px 6%;max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}.section-head>p{color:#75645d;margin-bottom:6px}h2{font-family:"Songti SC",serif;font-size:clamp(30px,3.5vw,48px);font-weight:400;line-height:1.5;margin:15px 0 0}h2 em{font-style:normal;color:var(--wine)}.gallery{columns:3;column-gap:22px}.photo{display:block;border:0;padding:0;background:none;width:100%;margin:0 0 22px;break-inside:avoid;position:relative}.photo img{display:block;width:100%;height:auto}.photo:after{content:'＋';position:absolute;right:12px;bottom:12px;border-radius:50%;background:#faf5ede8;width:32px;height:32px;color:var(--ink);line-height:32px;font-size:20px}.packages{border-top:1px solid var(--line)}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.price-card{border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column}.price-card h3{font-family:"Songti SC",serif;font-size:28px;font-weight:400;margin:18px 0 0}.english{font-size:14px;color:#75645d;margin:4px 0 0}.price{font:58px/1.3 Georgia,serif;margin:28px 0}.price small{font:16px Arial,sans-serif;margin-right:10px}.price-card ul{padding-left:20px;line-height:2.1;margin:0 0 32px}.price-card .button{margin-top:auto;gap:10px}.outline{background:transparent;color:var(--wine)}.featured{background:#f0e3df;border-color:var(--wine)}.contact{text-align:center;padding:95px 24px;background:var(--wine);color:var(--cream)}.contact h2{margin:25px 0}.contact>p:not(.eyebrow){line-height:1.9}.contact .button{background:var(--cream);color:var(--wine);margin-top:22px}.contact .phone{font-size:14px;letter-spacing:1px}footer{padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>span{font-size:13px;color:#75645d}dialog{position:fixed;inset:0;border:0;padding:50px 55px;background:#171513;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;color:white}dialog[open]{display:flex;align-items:center;justify-content:center}dialog::backdrop{background:#171513}dialog img{max-width:100%;max-height:calc(100dvh - 110px);object-fit:contain}dialog button{position:absolute;border:0;background:#302624aa;color:white;font-size:36px;min-width:44px;min-height:44px}dialog .close{right:15px;top:6px}.prev{left:5px}.next{right:5px}.counter{position:absolute;bottom:0;font-size:14px;margin:10px}.locked{overflow:hidden}@media(min-width:1100px){.hero{height:calc(100svh - 88px);max-height:850px}.hero-photo{min-height:0}}@media(max-width:800px){.hero-copy{padding:35px 8%}.hero{min-height:0}.hero h1{font-size:64px}.price-grid{grid-template-columns:1fr}.price-card{padding:32px}.section-head{display:block}.gallery{columns:2}.stories,.packages{padding:65px 6%}}@media(max-width:550px){header{min-height:76px}.brand{font-size:28px}nav{gap:17px;font-size:14px}.hero{grid-template-columns:1fr}.hero-photo{height:65svh;min-height:340px;max-height:640px;background:#dfe2d7}.hero-copy{padding:38px 7% 48px}.hero h1{font-size:62px;margin:22px 0}.hero-note{margin-top:30px}.hero .button{width:100%}.gallery{column-gap:12px}.photo{margin-bottom:12px}.section-head{margin-bottom:30px}footer{flex-wrap:wrap}footer>span{width:100%}.contact{padding:65px 20px}dialog{padding:50px 34px}.prev,.next{font-size:28px;min-width:32px}.prev{left:0}.next{right:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

header{position:static}.instagram-link{display:table;margin:18px auto 0;padding:8px 0;font-size:16px;text-decoration:underline;text-underline-offset:5px}.mobile-contact{display:none}@media(max-width:800px){body{padding-bottom:var(--mobile-contact-height,100px)}.mobile-contact{position:fixed;inset:auto 0 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -3px 16px #3026240c}.mobile-contact p{flex:1;min-width:0;max-width:24em;margin:0;font-size:14px;line-height:1.5}.mobile-contact a{flex:none;display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;background:var(--wine);color:var(--cream);font-size:15px}.locked .mobile-contact{visibility:hidden}html{scroll-padding-bottom:var(--mobile-contact-height,100px)}}
