:root{--ink:#172f39;--paper:#f4f1e9;--orange:#f18a4d;--lime:#e6ed92}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.9 "PingFang TC","Microsoft JhengHei",sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #e96526;outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;position:relative;z-index:20}.brand{font-weight:800;font-size:23px;letter-spacing:.08em;line-height:1.4}.brand span{display:block;font-weight:400;font-size:12px;letter-spacing:.18em}header nav{display:flex;gap:30px;font-size:14px}.nav-cta{border:1px solid;padding:7px 18px;border-radius:30px}.reading-progress{height:3px;position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;background:var(--orange);z-index:100}.chapter-nav{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:8px;background:#f4f1e9ed;backdrop-filter:blur(10px);padding:14px 10px;border-radius:30px;box-shadow:0 4px 30px #172f3915}.chapter-nav a{font-size:12px;padding:7px 9px;border-radius:30px}.chapter-nav a.active{background:var(--ink);color:white}.hero{max-width:1600px;min-height:860px;margin:auto;padding:35px 7% 24px;position:relative;isolation:isolate}.hero-overline{font-size:13px;letter-spacing:.16em}h1{font-size:clamp(72px,9.7vw,150px);letter-spacing:-.065em;line-height:1.14;font-weight:650;margin:45px 0 0;position:relative;z-index:2;pointer-events:none;width:65%}h1>span{display:block}.title-middle{margin-left:10%}.title-last{margin-left:40%;color:var(--orange)}.outline{color:transparent;-webkit-text-stroke:1.8px var(--ink)}.hero-deck{position:absolute;inset:70px 8% 95px 40%;perspective:1200px}.floating-card{position:absolute;box-shadow:0 28px 50px #172f3930;transition:transform .5s,box-shadow .5s;will-change:transform}.photo-card{width:66%;right:0;top:0;background:#fff;padding:12px;transform:rotate(8deg);z-index:1}.photo-card img{width:100%;height:280px;object-fit:cover;display:block}.photo-card>span{display:flex;justify-content:space-between;font-size:14px;padding:10px 4px 0}.photo-card b{font-size:24px}.photo-card:hover,.photo-card:focus-visible{transform:rotate(2deg) translateY(-18px);box-shadow:0 40px 65px #172f3940;z-index:6}.note-card{width:62%;right:14%;top:330px;background:var(--lime);padding:30px;transform:rotate(-7deg);z-index:4}.note-card strong{display:block;font-size:30px;line-height:1.5;margin:20px 0}.note-card>span{font-size:14px;display:block}.note-card .eyebrow{font-size:12px;margin:0}.note-card:hover,.note-card:focus-visible{transform:rotate(-2deg) translateY(-16px);z-index:7}.card-link{margin-top:24px;border-top:1px solid #172f3950;padding-top:12px}.round-card{position:absolute;right:-5%;top:295px;background:var(--orange);color:var(--ink);border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.4;transform:rotate(14deg);z-index:5;box-shadow:0 15px 25px #172f3920;transition:transform .4s}.round-card:hover{transform:rotate(-8deg) scale(1.05)}.round-card strong{font-size:25px}.round-card span{font-size:12px;margin-top:10px}.hero-caption{margin-top:45px;font-size:18px}.scroll-cue{font-size:14px;border-bottom:1px solid;padding-bottom:5px}.hero-foot{display:flex;justify-content:space-between;font-size:12px;margin-top:65px;border-top:1px solid #172f3930;padding-top:15px}.section{padding:110px 10%;position:relative}.eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;margin:0 0 25px}h2{font-size:clamp(35px,4.3vw,62px);line-height:1.45;font-weight:500;letter-spacing:-.04em;margin:0 0 32px}h3{font-size:32px;line-height:1.5;font-weight:550;margin:0 0 22px}p{margin:0 0 20px}em{font-style:normal;color:#b4532a}.story{padding-top:140px;padding-bottom:180px;isolation:isolate}.section-index{font-family:Arial,sans-serif;font-weight:900;position:absolute;right:8%;top:45px;font-size:clamp(100px,18vw,260px);line-height:1;color:#172f3909;z-index:-1}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.story-grid>div{padding-top:85px}.story h2 span{color:#b4532a}.floating-quote{background:var(--ink);color:white;padding:28px 35px;transform:rotate(3deg);margin:45px -30px -60px -60px;box-shadow:12px 12px 0 var(--orange);font-size:22px;position:relative;z-index:3}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px}.section-top>p{font-size:16px}.day{background:#e5e9e7;padding-top:100px;border-radius:70px 70px 0 0}.notice{font-size:13px;color:#516266}.timeline{position:relative;padding:45px 0 50px}.experience{position:relative;width:66%;padding:40px 42px;box-shadow:0 25px 60px #172f3915;margin-bottom:100px;transition:box-shadow .4s,translate .4s;isolation:isolate}.experience:hover{translate:0 -10px;box-shadow:0 35px 65px #172f3925}.experience-1{background:#fffdf6;transform:rotate(-3deg);margin-left:3%}.experience-2{background:var(--ink);color:white;margin-left:31%;transform:rotate(3deg);margin-top:-30px;z-index:2}.experience-3{background:#e8b16e;transform:rotate(-2deg);margin-left:1%;margin-top:-20px;z-index:3}.giant-number{position:absolute;right:24px;top:-65px;font-family:Arial,sans-serif;font-size:140px;font-weight:800;line-height:1;color:#172f3918;z-index:-1}.experience-2 .giant-number{color:#ffffff30}.moment-label{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:30px}.moment-body p{font-size:16px}.tags{border-top:1px solid #172f3930;padding-top:18px;font-size:14px}.experience-2 .tags{border-color:#ffffff40}.footnote{font-size:13px!important;margin-top:16px}.side-note{position:absolute;right:-39%;top:40%;font-size:23px;line-height:1.7;transform:rotate(9deg);color:var(--ink)}.experience-2 .side-note{left:-43%;right:auto;transform:rotate(-8deg)}.night{background:#11232b;color:#fff8e8;min-height:980px;isolation:isolate;overflow:hidden;padding-bottom:120px}.night-photo{position:absolute;inset:0;background:linear-gradient(90deg,#11232b 5%,#11232b70 65%,#11232b30),url(dinner.jpg) center/cover;opacity:.55;z-index:-2}.night-word{position:absolute;left:-15px;top:20px;font:bold clamp(80px,14vw,200px)/1 Arial,sans-serif;color:#ffffff07;white-space:nowrap;z-index:-1}.night>.eyebrow{color:var(--orange)}.night h2{font-size:clamp(38px,5vw,72px);max-width:1000px}.night em{color:var(--lime)}.night-controls{display:flex;gap:12px;margin:45px 0 0 40%}.night-controls button{border:1px solid #ffffff80;border-radius:30px;background:#11232b;color:white;font-size:15px;padding:12px 22px;cursor:pointer}.night-controls button[aria-selected=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.night-grid{position:relative;margin:25px 2% 0 36%;min-height:330px;perspective:1000px}.night-grid article{background:#f4f1e9;color:var(--ink);padding:40px;transform:rotate(2deg);box-shadow:14px 14px 0 #f18a4d;animation:cardIn .45s both}.night-grid article[hidden]{display:none}.night-grid article:nth-child(2){background:var(--lime);transform:rotate(-2deg)}.night-grid article>span{font-size:14px;display:block;margin-bottom:20px}.night-grid p{font-size:16px;margin:0}.night-end{font-size:22px;position:absolute;left:10%;bottom:125px;max-width:200px;transform:rotate(-7deg)}.place{padding:150px 10% 120px}.stay-stamp{position:absolute;right:12%;top:-60px;transform:rotate(9deg);padding:28px 35px;border:2px solid var(--ink);background:var(--orange);font:bold 26px/1.15 Arial,sans-serif;box-shadow:7px 7px 0 var(--ink);z-index:4}.venue{font-size:14px;border-top:1px solid #172f3930;padding-top:25px}.venue strong{font-size:18px}.join{margin:40px 7% 80px;background:var(--lime);padding:75px 7%;transform:rotate(-1deg);box-shadow:16px 16px 0 var(--ink);border:1px solid var(--ink)}.ticket-label{display:block;font-size:13px;border-bottom:1px dashed #172f3980;padding-bottom:20px;margin-bottom:35px;letter-spacing:.1em}.join h2{max-width:850px}.invite{max-width:780px}.invite strong{display:block;font-weight:500;margin-top:16px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px;padding-top:28px;border-top:1px dashed #172f3980}.info span,.info strong,.info small{display:block}.info span,.info small{font-size:14px}.info strong{font-size:18px;font-weight:500;margin:8px 0}.signup{margin-top:35px;display:flex;align-items:center;gap:25px}.signup button{background:var(--ink);color:#fff;border:0;padding:16px 30px;white-space:nowrap;cursor:not-allowed}.signup p{font-size:14px;margin:0}footer{display:flex;justify-content:space-between;padding:20px 7% 40px;font-size:13px;gap:20px}.reveal{transition:opacity .7s,translate .8s}.reveal.waiting{opacity:0;translate:0 45px}@keyframes cardIn{from{opacity:0;translate:25px 20px}to{opacity:1;translate:0 0}}@media(min-width:1100px){.story h2{position:sticky;top:100px;align-self:start}.day .section-top{position:sticky;top:15px;z-index:0}.timeline{z-index:1;margin-top:30px}.section-top h2{font-size:48px}}@media(max-width:900px){.chapter-nav{display:none}.hero{min-height:1050px}h1{font-size:100px;width:100%}.hero-deck{inset:330px 8% 100px 25%}.photo-card{width:65%;right:0}.photo-card img{height:240px}.note-card{top:250px;right:24%;width:75%}.round-card{top:265px;right:-3%}.hero-caption{margin-top:550px}.hero-foot{margin-top:25px}.story-grid{gap:5%}.section{padding-left:7%;padding-right:7%}.experience{width:73%;padding:32px}.experience-2{margin-left:26%}.side-note{font-size:18px;right:-31%}.experience-2 .side-note{left:-33%}.night-grid{margin-left:20%}.night-controls{margin-left:22%}.night-end{position:static;max-width:none;margin-top:60px}.signup{flex-direction:column;align-items:flex-start}}@media(max-width:600px){header{padding:20px 6%}.brand{font-size:19px}header nav>a:not(.nav-cta){display:none}.hero{padding:20px 7%;min-height:auto}h1{font-size:clamp(65px,18vw,95px);margin-top:30px}.title-last{margin-left:45%}.hero-overline{font-size:12px}.hero-deck{position:relative;inset:auto;height:570px;margin-top:25px}.photo-card{width:75%;right:2%;top:0}.photo-card img{height:210px}.note-card{width:78%;left:0;right:auto;top:240px;padding:24px}.note-card strong{font-size:26px;margin:14px 0}.round-card{width:110px;height:110px;top:210px;right:-1%;font-size:13px}.round-card strong{font-size:19px}.round-card span{font-size:12px}.hero-caption{margin-top:0;font-size:17px}.hero-foot{gap:12px;font-size:12px}.section{padding:75px 7%}.story-grid{grid-template-columns:1fr;gap:10px}.story-grid>div{padding-top:0}.floating-quote{margin:35px 5px 10px 0;padding:25px;font-size:19px;box-shadow:8px 8px 0 var(--orange)}h2{font-size:35px}h3{font-size:27px}.section-top{display:block}.day{border-radius:35px 35px 0 0;margin-top:25px}.timeline{padding:35px 0 0}.experience{width:94%;padding:28px 25px;margin-bottom:90px}.experience-1{margin-left:0}.experience-2{margin-left:6%;margin-top:0}.experience-3{margin-left:0;margin-top:0;margin-bottom:30px}.giant-number{font-size:90px;top:-38px}.side-note{position:static;display:block;font-size:17px;margin-top:24px;transform:none!important;border-top:1px dashed #172f3940;padding-top:15px}.experience-2 .side-note{color:var(--lime);border-color:#ffffff40}.moment-label{margin-bottom:20px}.night{min-height:0;padding-bottom:100px}.night h2{font-size:37px}.night-controls{margin:30px 0 0;gap:10px}.night-controls button{padding:10px 18px}.night-grid{margin:25px 10px 0 0;min-height:0}.night-grid article{padding:28px;box-shadow:9px 9px 0 var(--orange)}.night-end{font-size:20px;margin-top:45px}.stay-stamp{right:9%;top:-35px;padding:17px 22px;font-size:19px}.place{padding-top:120px}.join{margin:10px 6% 55px;padding:40px 7%;box-shadow:9px 9px 0 var(--ink)}.join h2{font-size:32px}.info{grid-template-columns:1fr;gap:22px}.info>div+div{border-top:1px solid #172f3930;padding-top:18px}.invite br{display:none}.ticket-label{font-size:12px}.signup button{width:100%}footer{flex-direction:column;gap:8px}.eyebrow{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;translate:0 0}}

/* A letter from the event. The envelope is the opening control. */
[hidden]{display:none!important}
.invitation{position:relative;isolation:isolate;background:var(--ink);color:var(--paper);padding:28px 6% 90px;min-height:100svh}
.invitation-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1320px;margin:0 auto;color:#f4f1e9b8;font-size:14px;letter-spacing:.14em}
.name-entry{min-height:calc(100svh - 110px);display:grid;place-items:center;padding:48px 0 20px}
.name-entry-card{width:min(790px,94%);margin:0;background:var(--paper);color:var(--ink);padding:58px 62px 52px;box-shadow:12px 12px 0 var(--orange);transform:rotate(-1deg);font-family:"PingFang TC","Microsoft JhengHei",sans-serif}
.name-entry-overline{font-size:12px;letter-spacing:.16em;font-weight:700;margin:0 0 22px}
.name-entry-card h2{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:clamp(38px,5vw,58px);line-height:1.45;letter-spacing:-.025em;margin:0 0 38px}
.name-entry-card label{display:block;font-size:17px;font-weight:700;margin-bottom:12px}
.name-entry-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.name-entry-control input{min-width:0;height:58px;border:1px solid #172f3966;background:#fffdf6;color:var(--ink);padding:12px 16px;font:inherit;font-size:18px;border-radius:0}
.name-entry-control input:focus{outline:3px solid #e96526;outline-offset:3px;border-color:transparent}
.name-entry-control input[aria-invalid=true]{border-color:#aa3e2a}
.name-entry-control button{min-height:58px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:13px 22px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap}
.name-entry-control button span{color:var(--lime);font-size:21px;margin-left:10px}
.name-entry-control button:hover{box-shadow:4px 4px 0 var(--lime);translate:0 -2px}
.name-entry-help,.name-entry-error{font-size:14px;line-height:1.7;margin:13px 0 0}
.name-entry-help{color:#52636a}.name-entry-error{color:#9d3325;font-weight:700}
.envelope-scene{min-height:calc(100svh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 0 10px}
.envelope-kicker{font-size:clamp(17px,2vw,22px);letter-spacing:.12em;margin:0 0 52px;text-align:center;color:var(--paper)}
.envelope{position:relative;isolation:isolate;display:block;width:min(610px,90%);aspect-ratio:1.62;border:0;border-radius:3px;background:#ded7c9;color:var(--ink);padding:0;cursor:pointer;perspective:1500px;transform:rotate(-4deg);box-shadow:0 32px 80px #0005;transition:transform .45s,box-shadow .45s;-webkit-tap-highlight-color:transparent}
.envelope:hover,.envelope:focus-visible{transform:rotate(-1deg) translateY(-8px);box-shadow:0 40px 90px #0007}
.envelope-liner{position:absolute;inset:7% 5% 4%;background:#fffdf6;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px;box-shadow:0 -2px 8px #172f3912;transform:translateY(0);transition:transform .6s .1s}
.envelope-liner>span{font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(15px,2vw,21px);letter-spacing:.1em}
.envelope-pocket{position:absolute;inset:0;z-index:2;background:linear-gradient(31deg,#e5dfd3 49.8%,transparent 50%) left/50.1% 100% no-repeat,linear-gradient(-31deg,#e5dfd3 49.8%,transparent 50%) right/50.1% 100% no-repeat;clip-path:polygon(0 0,50% 45%,100% 0,100% 100%,0 100%);border-radius:3px}
.envelope-fold{position:absolute;inset:0 0 43%;z-index:3;background:#f4f1e9;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;transition:transform .65s cubic-bezier(.22,.68,.2,1)}
.envelope-seal{position:absolute;top:45%;left:50%;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;width:76px;height:76px;border-radius:50%;border:1px solid #a95630;background:var(--orange);box-shadow:0 3px 0 #b8653a,0 5px 12px #172f3925,inset 0 0 0 5px #f18a4d,inset 0 0 0 6px #b7653a;color:var(--ink);font-family:"Noto Serif TC","Songti TC",serif;font-size:16px;line-height:1.5;transform:translate(-50%,-50%) rotate(8deg);transition:opacity .18s,scale .25s}
.envelope-address{position:absolute;left:7%;bottom:11%;z-index:3;max-width:76%;text-align:left;font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(17px,2.4vw,25px);letter-spacing:.05em;line-height:1.6;overflow-wrap:anywhere}
.envelope-from{position:absolute;right:6%;bottom:12%;z-index:3;font-size:12px;letter-spacing:.12em;text-align:right}
.open-hint{font-size:14px;margin:44px 0 0;letter-spacing:.08em;color:#f4f1e9bd}.open-hint span{color:var(--orange);margin-left:10px}
.envelope-scene.is-opening .envelope{transform:rotate(0)}
.envelope-scene.is-opening .envelope-fold{transform:rotateX(175deg)}
.envelope-scene.is-opening .envelope-seal{opacity:0;scale:.7}
.envelope-scene.is-opening .envelope-liner{transform:translateY(-16%)}
.invitation-letter{position:relative;max-width:850px;margin:65px auto 15px;background:var(--paper);color:var(--ink);padding:55px 75px 35px;box-shadow:0 28px 65px #0003;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}
.invitation.is-open .invitation-letter{animation:letterUnfold .7s cubic-bezier(.2,.65,.25,1) both}
.letter-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-family:"PingFang TC","Microsoft JhengHei",sans-serif;font-size:12px;letter-spacing:.12em;padding-bottom:24px;margin-bottom:35px;border-bottom:1px solid #172f3930}
.invitation-letter h2{font-size:clamp(30px,4vw,44px);line-height:1.65;letter-spacing:.02em;margin-bottom:32px}
.letter-copy{font-size:18px;line-height:2.15;letter-spacing:.025em}.letter-copy p{margin-bottom:24px}
.letter-takeaway{padding-left:22px;border-left:2px solid var(--orange);margin:32px 0}
.letter-signature{text-align:right;margin:34px 0 30px;line-height:1.8}.letter-signature span{display:block;font-size:14px}.letter-signature strong{display:block;font-size:24px;font-weight:500;letter-spacing:.1em;margin:4px 0}
.letter-continue{font-family:"PingFang TC","Microsoft JhengHei",sans-serif;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #172f3930;padding:24px 0 4px;font-size:15px;font-weight:600}.letter-continue span{font-size:25px;color:#b4532a;transition:translate .25s}.letter-continue:hover span{translate:0 5px}
.invitation-closed .invitation{padding-bottom:30px}
.section-index{font-size:clamp(70px,12vw,175px);letter-spacing:-.05em}
.night-grid .night-afterthought{border-top:1px solid #172f3930;margin-top:22px;padding-top:18px;font-size:15px}
.companion-note{font-size:16px;margin-top:25px;max-width:680px}
.chapter-nav a{font-size:14px}
#experience-start{scroll-margin-top:12px}
@keyframes letterUnfold{from{opacity:0;translate:0 28px;transform:rotate(-1deg)}to{opacity:1;translate:0 0;transform:rotate(0)}}
@media(max-width:900px){.invitation-letter{padding:45px 8% 28px;margin-top:45px}.envelope{width:min(600px,93%)}.invitation{padding-left:5%;padding-right:5%}}
@media(max-width:600px){.invitation{padding:23px 5% 55px}.invitation-masthead{font-size:12px;letter-spacing:.09em}.name-entry{min-height:calc(100svh - 80px);padding:35px 0 10px}.name-entry-card{width:96%;padding:38px 7% 34px;box-shadow:8px 8px 0 var(--orange)}.name-entry-card h2{font-size:clamp(35px,10.5vw,45px);margin-bottom:30px}.name-entry-card label{font-size:16px}.name-entry-control{grid-template-columns:1fr;gap:11px}.name-entry-control input,.name-entry-control button{width:100%;height:56px}.name-entry-help{font-size:13px}.envelope-scene{min-height:calc(100svh - 105px);padding-top:25px}.envelope-kicker{font-size:16px;letter-spacing:.04em;margin-bottom:45px}.envelope{width:94%;aspect-ratio:1.42;transform:rotate(-3deg)}.envelope-seal{width:60px;height:60px;font-size:14px}.envelope-address{font-size:18px;bottom:13%}.envelope-from{font-size:12px;letter-spacing:.02em;bottom:5%;right:6%}.envelope-liner{padding:20px 10px}.envelope-liner>span{font-size:14px}.open-hint{font-size:14px;margin-top:34px;letter-spacing:0}.invitation-letter{margin:32px auto 0;padding:28px 7% 22px}.letter-meta{font-size:12px;letter-spacing:.04em;padding-bottom:18px;margin-bottom:24px}.invitation-letter h2{font-size:clamp(26px,7.6vw,34px);line-height:1.65;letter-spacing:0;margin-bottom:24px}.letter-copy{font-size:17px;line-height:2.05;letter-spacing:.015em}.letter-copy p{margin-bottom:23px}.letter-takeaway{padding-left:15px}.letter-signature{margin:28px 0 24px}.letter-continue{font-size:14px;padding-top:20px}.night-end{line-height:1.7}.venue strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.envelope,.envelope:hover,.envelope:focus-visible{transform:none}.invitation.is-open .invitation-letter{animation:none}}

/* The seal extends the existing sun-and-water brand mark. */
.envelope-seal{width:116px;height:116px;border-radius:48% 52% 49% 51% / 51% 47% 53% 49%;border:1px solid #c97140;background:radial-gradient(ellipse at 33% 24%,#f6a263 0,#ed8950 47%,#d97740 100%);box-shadow:0 4px 0 #b96235,0 7px 16px #172f3935,inset 0 2px 3px #ffc991b3,inset 0 -3px 4px #af5a2a70;transform:translate(-50%,-50%) rotate(8deg)}
.envelope-seal::before{content:"";position:absolute;inset:9px;border:1px solid #a65b319e;border-radius:50%;box-shadow:0 1px 0 #ffd6a68c,inset 0 1px 0 #ffd6a68c}
.envelope-seal::after{content:"";position:absolute;inset:17px;border:1px solid #a65b3173;border-radius:50%;box-shadow:0 1px 0 #ffd6a673}
.seal-ornament{position:absolute;inset:13px;border-radius:50%;background:repeating-conic-gradient(from 2deg,#aa5c337d 0 1.5deg,transparent 1.5deg 10deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px))}
.seal-mark{width:69px;height:69px;stroke:#99502c;stroke-width:1.25;stroke-linecap:round;filter:drop-shadow(0 1px 0 #ffd7a8);transform:translateY(-4px)}
.seal-water{stroke-width:1}
.letter-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:15px 0 26px;font-family:"PingFang TC","Microsoft JhengHei",sans-serif}
.letter-themes>strong{font-size:clamp(21px,2.7vw,27px);font-weight:700;line-height:1.65;letter-spacing:.04em;border-bottom:3px solid var(--orange);padding:12px 0 14px;white-space:nowrap}
.letter-themes>strong:nth-child(2){border-color:#b6bf58}.letter-themes>strong:nth-child(3){border-color:var(--ink)}
.letter-themes>strong>span{display:block;font-size:12px;letter-spacing:.12em;color:#637171;font-weight:500;margin-bottom:5px}
.letter-copy .theme-intro{margin-bottom:8px}
.theme-inline{font-weight:700;background:linear-gradient(transparent 65%,#e6ed928c 65%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.invite .theme-inline{display:inline;font-weight:700;margin:0}
.note-card .card-themes{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:16px;line-height:1.8;margin-bottom:12px}.card-themes b{font-weight:700;border-bottom:1px solid #172f3966;white-space:nowrap}
.task-themes{display:block;color:var(--lime);font-weight:650;font-size:16px;line-height:1.9;margin-bottom:8px}
.letter-details{font-family:"PingFang TC","Microsoft JhengHei",sans-serif;margin:32px 0 0;border-top:1px solid #172f3930;padding-top:8px}
.letter-details>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid #172f3918}.letter-details>div:last-child{border:0}
.letter-details dt{font-size:14px;color:#607072;padding-top:3px;letter-spacing:.08em}.letter-details dd{margin:0;font-size:18px;font-weight:600;line-height:1.7}
.detail-note{display:block;font-size:14px;font-weight:400;line-height:1.85;margin-top:4px;color:#52636a}
.detail-link{display:block;width:fit-content;font-size:14px;font-weight:500;margin-top:8px;text-decoration:underline;text-underline-offset:4px}.detail-link span{margin-left:6px;color:#b4532a}
.venue-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.venue-link>span{font-size:14px;margin-left:4px}.venue>.venue-link{display:inline-block;font-size:23px;font-weight:600;margin-bottom:15px}.venue p{font-size:17px;margin-bottom:14px}.venue-note{font-size:14px;color:#52636a}
.signup-plans{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:38px 0}
.signup-plans article{border:1px solid #172f393d;padding:25px 28px;background:#f4f1e969}.signup-plans article:nth-child(2){background:#172f39;color:var(--paper);transform:rotate(1deg)}
.plan-overline{font-size:12px;letter-spacing:.12em;display:block;margin-bottom:14px}.signup-plans h3{font-size:28px;margin:0 0 14px;line-height:1.5}.signup-plans p{font-size:16px;margin:0}.signup-plans article:nth-child(2) .plan-overline{color:var(--lime)}
@media(max-width:900px) and (min-width:601px){.note-card{width:79%}}
@media(max-width:600px){.envelope-seal{width:94px;height:94px}.envelope-seal::before{inset:7px}.envelope-seal::after{inset:14px}.seal-ornament{inset:10px}.seal-mark{width:58px;height:58px}.letter-themes{grid-template-columns:1fr;gap:0;margin:12px 0 24px}.letter-themes>strong{display:flex;align-items:baseline;gap:18px;font-size:23px;border-bottom-width:1px;padding:11px 0;white-space:normal}.letter-themes>strong>span{font-size:12px;width:84px;flex-shrink:0;margin:0}.letter-details>div{grid-template-columns:32px minmax(0,1fr);gap:13px}.letter-details dd{font-size:17px}.letter-details dt{font-size:14px}.note-card .card-themes{display:grid;gap:3px;font-size:16px}.card-themes b{width:fit-content}.hero-deck{height:645px}.signup-plans{grid-template-columns:1fr;gap:18px;margin:30px 0}.signup-plans article{padding:23px}.signup-plans h3{font-size:27px}.task-themes{font-size:15px}}
@media(max-width:600px){.envelope-seal{top:39%}.envelope-address{font-size:clamp(16px,4.8vw,18px);bottom:10%}}

/* The quieter part of the night, after a day of shared experiences. */
.inner-growth{background:#e5e9e7;padding-top:120px;padding-bottom:120px}
.inner-growth>.eyebrow{color:#52666a}
.growth-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:8%;align-items:center}
.growth-copy h2{font-size:clamp(34px,4vw,54px)}
.growth-copy p:last-child{margin-bottom:0}
.growth-note{position:relative;background:var(--ink);color:var(--paper);padding:40px 34px;transform:rotate(3deg);box-shadow:9px 9px 0 #e8b16e}
.growth-note-label{display:block;font-size:14px;letter-spacing:.08em;color:var(--lime);margin-bottom:28px}
.growth-note p{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:clamp(24px,2.5vw,33px);line-height:1.8;margin:0 0 30px}
.growth-note-signature{display:block;font-size:14px;border-top:1px solid #f4f1e940;padding-top:18px;letter-spacing:.08em}
@media(max-width:900px){.growth-grid{grid-template-columns:1fr;gap:40px}.growth-note{width:85%;margin:0 0 0 auto;max-width:490px}}
@media(max-width:600px){.inner-growth{padding-top:75px;padding-bottom:100px}.growth-grid{gap:35px}.growth-copy h2{font-size:35px}.growth-note{width:94%;padding:28px 25px;margin-right:5px;transform:rotate(2deg);box-shadow:7px 7px 0 #e8b16e}.growth-note p{font-size:26px}.growth-note-label{margin-bottom:24px}}

/* Theme annotations stay below their titles, including narrow previews. */
.letter-themes>strong{display:block;white-space:normal}
.letter-themes>strong>span{display:block;width:auto;margin-bottom:5px}
.letter-themes>strong>small{display:block;font-size:15px;line-height:1.8;font-weight:400;letter-spacing:0;color:#52636a;margin-top:8px;white-space:normal}

/* Health gates: short invitation previews, followed by full experience cards. */
.letter-themes>strong{font-size:clamp(19px,2.2vw,23px);letter-spacing:0}
.gate-preview-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:600;line-height:1.6;border-bottom:1px solid currentColor;padding-bottom:2px}
.gate-preview-link:hover{color:#9c431d}
.gates{padding-top:65px;padding-bottom:105px}
.gate-section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:45px}
.gate-section-heading>p{max-width:28em;margin:0 0 8px;line-height:1.9}
.gate-section-heading h2{margin-bottom:0}
.gate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gate-card{min-width:0;padding:28px 25px 30px;background:#f9e7d7;border:1px solid #172f3920;border-radius:3px;scroll-margin-top:35px;display:flex;flex-direction:column}
.gate-style{background:#edf0c5}
.gate-resilience{background:var(--ink);color:var(--paper)}
.gate-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.gate-number{font-size:48px;line-height:1;font-weight:700;letter-spacing:-.05em;opacity:.32}
.gate-topic{font-size:13px;letter-spacing:.08em;border:1px solid currentColor;border-radius:30px;padding:4px 12px}
.gate-card h3{font-size:clamp(21px,2vw,27px);line-height:1.5;margin:0 0 18px;letter-spacing:0}
.gate-hook{font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.5;letter-spacing:-.035em;margin:0 0 18px;min-height:3em}
.gate-experience{font-size:16px;line-height:1.85;margin:0 0 28px}
.gate-guide{border-top:1px solid #172f3930;padding-top:23px;margin-top:auto}
.gate-resilience .gate-guide{border-color:#f4f1e94d}
.gate-guide-label{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:12px;opacity:.75}
.gate-guide h4{font-size:17px;line-height:1.65;margin:0 0 12px;font-weight:700}
.gate-guide p{font-size:15px;line-height:1.9;margin:0}
@media(max-width:1050px){.gate-grid{gap:15px}.gate-card{padding:24px 20px}.gate-hook{font-size:25px}.gate-card h3{font-size:21px}}
@media(max-width:800px){.gate-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.gate-grid{grid-template-columns:1fr;gap:22px}.gate-card{padding:28px}.gate-card h3{font-size:26px}.gate-hook{font-size:31px;min-height:0}.gate-guide{margin-top:0}.gate-experience{max-width:36em}.gates{padding-top:40px;padding-bottom:65px}}
@media(max-width:380px){.gate-card{padding:24px 21px}.gate-card h3{font-size:23px}.gate-hook{font-size:27px}}

.signup-entrances{margin-top:36px}.signup-status{font-size:14px;letter-spacing:.1em;margin:0 0 16px}.signup-entrance-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.signup-entrance-grid article{min-width:0}.signup-entrance-grid article:only-child{grid-column:1/-1}.signup-entrance-grid a{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:20px 24px;font:inherit;font-size:21px;font-weight:600;background:var(--ink);color:var(--paper);border:1px solid var(--ink);text-align:left}.signup-entrance-grid article:first-child a{background:transparent;color:var(--ink)}.participant-entry .signup-entrance-grid article:first-child a{background:var(--ink);color:var(--paper)}.signup-entrance-grid a:hover{box-shadow:4px 4px 0 var(--orange)}.signup-entrance-grid p{font-size:15px;line-height:1.8;margin:12px 0 0;max-width:32em}@media(max-width:700px){.signup-entrance-grid{grid-template-columns:1fr;gap:26px}.signup-entrance-grid a{font-size:19px}}
