@font-face{font-family:Caveat;src:url('/assets/caveat.ttf');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}.demo-ribbon{padding:10px 5%;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.5px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.demo-ribbon>a{font-size:11px}.demo-header{display:flex;justify-content:space-between;align-items:center;padding:30px 5%;gap:20px}.demo-header .monogram{font:italic 26px Georgia}.demo-header nav{display:flex;gap:22px;font-size:11px}.kicker{font-size:9px;letter-spacing:3px;text-transform:uppercase}h1,h2,h3{font-family:Georgia,'Songti SC',serif;font-weight:normal}h1{font-size:clamp(48px,7.5vw,98px);line-height:1.04;letter-spacing:-3px}h2{font-size:clamp(31px,4vw,48px);line-height:1.2}h3{font-size:25px;line-height:1.3}.primary{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 25px;font-size:12px;display:inline-block}.outline{border:1px solid var(--line);background:none;color:var(--ink);padding:11px 22px;font-size:12px;display:inline-block}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.date-line{font-size:11px;letter-spacing:2px}.demo-footer{padding:26px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;gap:20px}.detail-section{max-width:1100px;margin:auto;padding:70px 5%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.detail-section p{font-size:13px}.detail-section>img{width:100%;max-height:500px;object-fit:cover}.detail-section a{text-decoration:underline;text-underline-offset:5px}.choose-bar{text-align:center;padding:60px 25px;background:var(--soft)}.choose-bar h2{margin:10px 0 22px}.choose-bar p{font-size:12px}.demo-note{font-size:10px;line-height:1.7;opacity:.7;max-width:700px;margin:30px auto 0;padding:0 20px;text-align:center}.inline-btn{border:0;border-bottom:1px solid;background:none;padding:3px 0;font-size:12px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:calc(100% - 30px);max-width:720px;max-height:85dvh;padding:48px 35px 35px}dialog::backdrop{background:#1c221c99;backdrop-filter:blur(4px)}.close{position:absolute;right:10px;top:5px;border:0;background:none;font:30px Georgia;width:44px;height:44px}dialog h2{font-size:36px;margin:15px 0 25px}dialog p{font:23px/1.7 Caveat,cursive}dialog .small{font:11px/1.8 sans-serif}.schedule{list-style:none;padding:0}.schedule li{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:20px}.schedule time{font-size:10px;letter-spacing:1px}.schedule span{font:22px Caveat}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery img{width:100%;display:block}.preview-form{display:grid;gap:15px}.preview-form label{font-size:12px;display:grid;gap:6px}.preview-form input,.preview-form select{border:1px solid var(--line);padding:12px;background:var(--paper);color:var(--ink);width:100%}.preview-form p{font:11px/1.8 sans-serif}.form-note{font:12px/1.8 sans-serif!important}.garden{--ink:#3c503f;--paper:#f5f1e6;--line:#abb49a;--soft:#e1e6d6}.garden .demo-header .monogram{font-family:Caveat;font-size:31px}.garden-hero{position:relative;min-height:700px;max-width:1400px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:50px 20px 65px}.garden-hero h1{font-style:italic;font-size:clamp(58px,7.5vw,96px);margin:25px 0}.garden-hero>p{font:27px Caveat}.garden-flower{position:absolute;width:260px;height:570px;object-fit:fill;opacity:.85;pointer-events:none}.garden-flower.left{left:-15px;bottom:-45px;transform:rotate(-13deg)}.garden-flower.right{right:-15px;bottom:-45px;transform:rotate(167deg)}.garden-seal{width:66px;height:66px;display:grid;place-items:center;border:1px solid #b5a17b;border-radius:50%;color:#9d825b;font:32px Georgia;margin-bottom:18px}.garden .detail-section{border-top:1px solid var(--line)}.garden-letter{background:#fffaf0;padding:35px;box-shadow:0 12px 35px #72765616;transform:rotate(-2deg);border:1px solid #e4dcc8}.garden-letter p{font:27px/1.5 Caveat}.cinema{--ink:#f1eadb;--paper:#141e22;--line:#77837f;--soft:#263437}.cinema .demo-header{position:absolute;top:38px;left:0;right:0;z-index:2}.cinema-hero{height:min(900px,calc(100svh - 36px));min-height:660px;position:relative;display:flex;align-items:end;padding:70px 7%;overflow:hidden}.cinema-hero>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;object-position:center 35%;filter:grayscale(1) brightness(.55);transition:opacity .4s}.cinema-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#101b21aa);pointer-events:none}.film-copy{position:relative;z-index:1;width:100%}.film-copy h1{font-size:clamp(62px,8vw,110px);font-style:italic;margin:25px 0}.film-copy p{font-size:13px}.film-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee8dc66;padding-top:24px;margin-top:32px;font-size:11px;gap:20px}.cinema .outline{border-color:#ddd2bc}.cinema .primary{background:#e9d9b8;color:#172227}.cinema .detail-section img{filter:grayscale(1)}.film-counter{letter-spacing:3px}.passport{--ink:#244d45;--paper:#ece9db;--line:#9caa96;--soft:#d1dbc9}.passport .monogram{font:12px sans-serif!important;letter-spacing:3px}.travel-hero{max-width:1200px;margin:auto;padding:70px 5% 90px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.travel-hero h1{font-size:clamp(58px,7vw,90px);margin:20px 0 25px;letter-spacing:-3px}.travel-hero p{font-size:13px}.passport-book{min-height:440px;border-radius:8px 22px 22px 8px;background:#365a4b;color:#dfd5ad;box-shadow:14px 16px 0 #b7bba5;position:relative;text-align:center;padding:35px;border:1px solid #66806a;transform:rotate(5deg)}.passport-book:before{content:'';position:absolute;inset:13px;border:1px solid #d5c79877;border-radius:3px 15px 15px 3px;pointer-events:none}.passport-book>span{font:11px sans-serif;letter-spacing:4px}.passport-book svg{display:block;width:130px;height:130px;margin:55px auto 35px}.passport-book h3{font:36px Georgia;margin:0 0 15px}.passport-book button{position:relative;color:#efe3ba;border-color:#aeb58d;margin-top:25px}.boarding-pass{max-width:1050px;margin:0 auto 70px;padding:34px;background:#fff9e8;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;border:1px dashed #9aa88e;position:relative}.boarding-pass strong{font:36px Georgia;display:block}.boarding-pass span{font-size:9px;letter-spacing:2px}.boarding-pass p{font-size:11px;margin:8px 0}.boarding-pass .stamp{align-self:center;border:3px double #a66745;color:#a66745;border-radius:50%;width:110px;height:110px;text-align:center;padding-top:22px;transform:rotate(-15deg);font-size:12px}.passport-page{min-height:230px;padding:20px 10px}.passport-page h3{color:#8c5b40}.page-controls{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.scrapbook{--ink:#5e493c;--paper:#f1eadb;--line:#bfb098;--soft:#e3d6bf;background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,#d7c8ad44 29px,#d7c8ad44 30px)}.scrapbook .monogram{font:32px Caveat}.scrap-hero{max-width:1200px;margin:auto;padding:55px 5% 65px;text-align:center}.scrap-hero h1{font:clamp(62px,8vw,100px)/1 Caveat;letter-spacing:-1px;margin:20px 0 10px}.scrap-hero>p{font:26px Caveat}.scrap-spread{display:flex;align-items:center;justify-content:center;gap:25px;position:relative;padding:60px 0 20px}.scrap-photo{width:29%;padding:10px 10px 35px;background:#fffaf0;box-shadow:0 8px 20px #73604422;position:relative;transform:rotate(-7deg);cursor:pointer;border:0}.scrap-photo:before{content:'';position:absolute;width:40%;height:26px;left:25%;top:-13px;background:#adaf8a77}.scrap-photo img{width:100%;aspect-ratio:.85;object-fit:cover;display:block}.scrap-photo:nth-child(2){transform:rotate(6deg) translateY(-15px)}.scrap-photo:nth-child(3){transform:rotate(-3deg)}.scrap-photo span{font:20px Caveat;display:block;margin:8px 0 -18px}.diary-sheet{max-width:800px;margin:40px auto 80px;background:#fffbee;padding:55px 65px;border-left:6px solid #b3b694;box-shadow:0 9px 30px #73573b15;min-height:360px}.diary-sheet h2{font:42px Caveat;margin:10px 0}.diary-sheet p{font:26px/1.6 Caveat}.diary-nav{display:flex;justify-content:space-between;font-size:10px;border-top:1px solid #d8c9ac;padding-top:15px}.chinese{--ink:#792e2a;--paper:#f3ecdc;--line:#b99f78;--soft:#e7d9c0}.chinese .demo-header .monogram{font:24px 'Songti SC',serif;letter-spacing:4px}.chinese-hero{max-width:1200px;margin:auto;padding:55px 5% 80px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.red-panel{background:#8d302d;color:#e9d4a6;min-height:600px;display:flex;align-items:center;justify-content:center;position:relative}.red-panel:before{content:'';position:absolute;inset:25px;border:1px solid #cda86b}.red-panel .xi{font:clamp(140px,20vw,260px)/1 'Songti SC',serif}.red-panel>span:last-child{position:absolute;bottom:50px;font-size:9px;letter-spacing:5px}.chinese-copy{display:flex;align-items:center;gap:45px;justify-content:center}.chinese-copy h1{font:62px/1.6 'Songti SC',serif;writing-mode:vertical-rl;letter-spacing:8px;margin:0}.chinese-copy>div{writing-mode:vertical-rl;font-size:11px;letter-spacing:4px;line-height:2.4}.chinese-bottom{grid-column:2;text-align:center;margin-top:-100px;position:relative}.chinese-bottom p{font-size:11px;margin-bottom:25px}.chinese-scroll{transform-origin:center top;animation:unroll .8s ease both}.chinese-scroll h2{font:36px/1.6 'Songti SC',serif;letter-spacing:5px}.chinese-scroll p{font:17px/2.2 'Songti SC',serif;letter-spacing:2px}.chinese .primary{background:#8d302d;color:#f4e6c9}.chinese .detail-section img{filter:sepia(.12)}@keyframes unroll{from{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}button:focus-visible,a:focus-visible{outline:3px solid #a7774a;outline-offset:5px}@media(max-width:650px){.demo-ribbon{padding:10px 20px;font-size:8px}.demo-header{padding:22px 23px}.demo-header nav{gap:13px;font-size:10px}.demo-header .monogram{font-size:23px}.garden-hero{min-height:610px;padding:65px 25px}.garden-flower{width:160px;height:400px;opacity:.6}.garden-flower.left{left:-70px}.garden-flower.right{right:-70px}.garden-hero h1{font-size:64px;letter-spacing:-2px}.garden-hero>p{font-size:24px}.detail-section{padding:45px 25px;grid-template-columns:1fr;gap:25px}.garden-letter{padding:25px}.detail-section h2{margin:12px 0}.cinema-hero{min-height:680px;padding:50px 25px}.cinema .demo-header{top:37px}.film-copy h1{font-size:64px;letter-spacing:-2px}.film-controls{align-items:start;flex-direction:column}.travel-hero{padding:45px 25px 60px;grid-template-columns:1fr;gap:50px}.travel-hero h1{font-size:67px}.passport-book{max-width:300px;width:90%;justify-self:center;min-height:380px;padding:28px}.passport-book svg{width:110px;height:110px;margin:40px auto 25px}.boarding-pass{margin:0 25px 50px;padding:25px 20px;grid-template-columns:1fr 1fr;gap:25px}.boarding-pass .stamp{grid-column:2;grid-row:1/3;justify-self:end;width:95px;height:95px;font-size:10px}.boarding-pass strong{font-size:30px}.scrap-hero{padding:30px 20px 20px}.scrap-hero h1{font-size:65px}.scrap-spread{padding:45px 0 20px;gap:10px;flex-wrap:wrap}.scrap-photo{width:43%;padding:7px 7px 30px}.scrap-photo:nth-child(3){margin-top:10px;width:43%}.scrap-photo span{font-size:18px}.diary-sheet{margin:20px 23px 45px;padding:30px 25px}.diary-sheet p{font-size:25px}.chinese-hero{padding:25px 23px 50px;grid-template-columns:1fr;gap:35px}.red-panel{min-height:350px}.red-panel .xi{font-size:190px}.red-panel>span:last-child{bottom:45px}.chinese-copy h1{font-size:44px;letter-spacing:6px}.chinese-copy{gap:35px}.chinese-bottom{grid-column:1;margin-top:0}.chinese-copy>div{font-size:10px;max-height:250px}.demo-footer{flex-direction:column;padding:24px}.choose-bar{padding:45px 23px}dialog{padding:43px 23px 28px}.gallery{gap:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important;transition:none!important}}
.garden dialog[open] #demo-content{animation:garden-letter .65s ease both}@keyframes garden-letter{from{opacity:0;transform:translateY(35px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.garden dialog[open] #demo-content{animation:none}}
/* English edition of the contemporary red invitation. */
.chinese-copy{flex-direction:column;align-items:flex-start;gap:25px}.chinese-copy h1{writing-mode:horizontal-tb;font:normal 48px/1.15 Georgia,serif;letter-spacing:-1px}.chinese-copy>div{writing-mode:horizontal-tb;font-size:11px;letter-spacing:1px;line-height:2.2}.chinese-bottom{margin-top:0}.chinese-scroll h2{font:normal 36px/1.2 Georgia,serif;letter-spacing:0}.chinese-scroll p{font:15px/1.9 Georgia,serif;letter-spacing:0}.chinese .demo-header{flex-wrap:wrap;gap:18px}.chinese .demo-header .monogram{letter-spacing:1px;font-family:Georgia,serif}@media(max-width:650px){.chinese-copy h1{font-size:38px}.chinese-copy>div{max-height:none}.chinese .demo-header .monogram{font-size:22px}}
