:root{--ink:#0a0e1f;--ink-2:#0c1126;--garden:#2b3821;--garden-2:#2e3c23;--garden-deep:#151c11;--ivory:#f6eedf;--muted:#b9b3c8;--faint:#8e889e;--gold:#e6c389;--line:#e6c38947;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}:root:lang(zh){--serif:"Cormorant Garamond", "Noto Serif SC", "Songti SC", "STSong", serif;--sans:"Jost", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}:lang(zh) .kicker,:lang(zh) .label,:lang(zh) .place,:lang(zh) .secnav a,:lang(zh) .time,:lang(zh) .topdate{letter-spacing:.16em}:lang(zh) .head h2,:lang(zh) .gate h2,:lang(zh) .invite-done-title,:lang(zh) .rsvp-title,:lang(zh) .guest-block>legend{letter-spacing:.06em;font-style:normal}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--ivory);font-family:var(--sans);margin:0;font-weight:300}a{color:var(--gold)}a:hover{color:var(--ivory)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{background:linear-gradient(#3b82c4 0%,#7db6e0 45%,#b7daee 70%,#e4eef0 86%,#f2e9da 100%);width:100%;height:100svh;min-height:640px;max-height:1040px;position:relative;overflow:hidden}.bg{position:absolute;inset:0}#f-moonlight{color-interpolation-filters:srgb}.L{pointer-events:none;will-change:opacity;width:100%;height:100%;display:block;position:absolute;inset:0}.l-night,.l-horizon,.l-stars,.l-landnight,.l-glow,.vignette{opacity:0}.skycol{flex-direction:column;align-items:center;gap:clamp(12px,2.4vh,20px);padding:clamp(72px,10vh,92px) 24px clamp(24px,5.5vh,56px);display:flex;position:absolute;inset:0 0 clamp(220px,40%,460px)}.sunbox{pointer-events:none;flex:1 1 0;width:100%;min-height:96px;max-height:340px;position:relative}.sunsvg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.copystack{justify-content:center;width:100%;display:flex;position:relative}.copy{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:16px;display:flex}.kicker{letter-spacing:.52em;text-transform:uppercase;color:var(--gold);margin:0;font-size:12px;font-weight:400}.names{font-family:var(--serif);letter-spacing:.01em;color:var(--ivory);text-shadow:0 0 40px #ffdcaa33;margin:0;font-size:clamp(48px,min(7vw,10.5vh),112px);font-weight:300;line-height:.95}.names em{color:var(--gold);font-style:italic}.place{letter-spacing:.32em;text-transform:uppercase;color:var(--ivory);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin:0;font-size:14px;display:flex}.topbar{color:#fff;text-shadow:0 1px 14px #0a1e3c4d;justify-content:space-between;align-items:center;padding:28px 40px;display:flex;position:absolute;top:0;left:0;right:0}.monogram{font-family:var(--serif);letter-spacing:.02em;font-size:24px;font-style:italic;font-weight:400}.topbar-right{align-items:center;gap:24px;display:flex}.langswitch{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;min-height:40px;font-family:var(--sans);letter-spacing:.08em;text-shadow:none;cursor:pointer;background:#0e224847;border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:400;transition:background .2s,border-color .2s;display:inline-flex;position:relative}.langswitch:hover{background:#0e224873}.langswitch:focus-within{outline:2px solid var(--gold);outline-offset:3px}.langswitch.busy{opacity:.7}.langswitch-caret{opacity:.8}.langswitch select{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.langswitch select option{color:#16204a;background:#fff}.langswitch.on-dark{border-color:var(--line);color:var(--muted);background:0 0;margin-top:12px}.langswitch.on-dark:hover{color:var(--ivory);border-color:#e6c38980}.topdate{letter-spacing:.36em;font-size:12px;font-weight:400}.cue{min-height:44px;color:var(--ivory);letter-spacing:.4em;text-transform:uppercase;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;font-size:11px;font-weight:400;text-decoration:none;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.cue svg,.cue:hover{color:var(--gold)}.replay{min-height:44px;color:var(--ivory);font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;cursor:pointer;background:#0a0e1f40;border:1px solid #f6eedf66;border-radius:999px;padding:0 18px;font-size:11px;position:absolute;bottom:24px;right:28px}.replay:hover{background:#f6eedf1a}.replay:focus-visible,.cue:focus-visible{outline:2px solid var(--gold);outline-offset:4px;opacity:1}.moon{fill:#5799d0;transform:translate(-170px,34px)}.sunlight{opacity:1}.corona{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.9)}.glints,.flare,.beads{opacity:0}.flare{transform-box:fill-box;transform-origin:50%}.t1,.t2,.t3,.cue,.replay,.topbar .reveal{opacity:0}.play .moon{animation:4.2s cubic-bezier(.3,0,.2,1) .3s both moon,2.2s ease-in 2.2s both moonfill}.play .sunlight{animation:1.6s ease-in 2.8s both fadeOut}.play .l-night{animation:2.2s ease-in 2.2s both fadeIn}.play .l-landnight{animation:2.2s ease-in 2.3s both fadeIn}.play .vignette{animation:2s ease-in 3s both fadeIn}.play .l-horizon{animation:1.6s ease-out 3.6s both fadeIn}.play .beads{animation:.7s ease-out 3.55s both flash}.play .flare{animation:1.1s ease-out 3.8s both flare}.play .corona{animation:1.4s cubic-bezier(.2,.7,.2,1) 4.3s both corona}.play .l-stars{animation:1.6s ease-out 4.4s both fadeIn}.play .glints{animation:1.2s ease-out 4.6s both fadeIn}.play .l-glow{animation:1.8s ease-out 4.6s both fadeIn}.play .t1{animation:1.3s cubic-bezier(.2,.6,.2,1) 5.1s both reveal}.play .t2{animation:1.7s cubic-bezier(.2,.6,.2,1) 5.5s both reveal}.play .t3{animation:1.3s cubic-bezier(.2,.6,.2,1) 6.2s both reveal}.play .cue,.play .replay{animation:1s ease-out 7.1s both fadeIn}.play .topbar .reveal{animation:1.4s ease-out 5.4s both fadeIn}.hero.done .t1,.hero.done .t2,.hero.done .t3,.hero.done .topbar .reveal{opacity:1;filter:none;animation:none;transform:none}.hero.done .replay{opacity:1;animation:none}.hero.done .cue{opacity:1;animation:2.4s ease-in-out infinite cueBob}@keyframes cueBob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,7px)}}.rays{transform-box:fill-box;transform-origin:50%;animation:90s linear infinite spin,3.2s ease-in-out infinite alternate rayShimmer}.spin-a{transform-box:fill-box;transform-origin:50%;animation:80s linear infinite spin}.spin-b{transform-box:fill-box;transform-origin:50%;animation:120s linear infinite reverse spin}.breathe{transform-box:fill-box;transform-origin:50%;animation:4.4s ease-in-out infinite alternate breathe}.shimmer{animation:2.4s ease-in-out infinite alternate shimmer}.tw{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite twinkle}.tw2{animation-duration:3.4s;animation-delay:-.9s}.tw3{animation-duration:2.2s;animation-delay:-1.6s}.tw4{animation-duration:3.9s;animation-delay:-2.4s}.st1{animation:2.6s ease-in-out infinite alternate starTw}.st2{animation:3.8s ease-in-out -1.2s infinite alternate starTw}.st3{animation:3.1s ease-in-out -2s infinite alternate starTw}.flicker{animation:3.6s ease-in-out infinite flicker}@keyframes moon{0%{transform:translate(-170px,34px)}to{transform:translate(0)}}@keyframes moonfill{0%{fill:#5799d0}to{fill:#060915}}@keyframes fadeIn{to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes flash{0%{opacity:0}40%{opacity:1}to{opacity:0}}@keyframes flare{0%{opacity:0;transform:scale(.55)}38%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes corona{to{opacity:1;transform:scale(1)}}@keyframes reveal{0%{opacity:0;filter:blur(10px);transform:translateY(12px)}to{opacity:1;filter:none;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rayShimmer{0%{opacity:.6}to{opacity:1}}@keyframes breathe{0%{transform:scale(.97)}to{transform:scale(1.05)}}@keyframes shimmer{0%{opacity:.72}to{opacity:1}}@keyframes twinkle{0%,to{opacity:.08;transform:scale(.3)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}@keyframes starTw{0%{opacity:.3}to{opacity:1}}@keyframes flicker{0%,to{opacity:1}38%{opacity:.84}52%{opacity:.97}71%{opacity:.88}}.gate-wrap{pointer-events:none;justify-content:center;animation:1s cubic-bezier(.2,.6,.2,1) .2s both gateIn;display:flex;position:absolute;bottom:0;left:0;right:0}.gate{pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);color:#fff;text-align:center;background:#0e22486b;border:1px solid #ffffff61;border-radius:22px;flex-direction:column;align-items:center;gap:10px;width:min(440px,100%);padding:24px 28px 22px;transition:opacity .6s,transform .6s,visibility linear;display:flex;box-shadow:0 20px 60px #0a1e4640}.gate.gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s,transform .6s,visibility 0s linear .6s;transform:translateY(-10px)scale(.98)}.gate h2{font-family:var(--serif);margin:0;font-size:44px;font-style:italic;font-weight:300;line-height:1}.gate label{letter-spacing:.02em;opacity:.95;font-size:14px;font-weight:300}.gate-row{gap:8px;width:100%;margin-top:6px;display:flex}.gate-field{flex:auto;min-width:0;position:relative}.gate input{color:#16204a;width:100%;height:50px;font-family:var(--sans);letter-spacing:.04em;background:#ffffffeb;border:1px solid #fff9;border-radius:999px;outline:none;padding:0 48px 0 20px;font-size:16px;font-weight:400}.gate input:focus{border-color:#fff;box-shadow:0 0 0 3px #ffffff73}.gate-eye{color:#4a5680;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:3px;right:3px}.gate-eye:focus-visible{outline:2px solid #16204a}.gate-submit{color:#fff;cursor:pointer;height:50px;font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;background:#16204a;border:0;border-radius:999px;flex:none;align-items:center;gap:10px;padding:0 22px;font-size:12px;font-weight:400;display:inline-flex}.gate-submit:hover{background:#0e1636}.gate-submit:focus-visible{outline-offset:2px;outline:2px solid #fff}.gate-submit[disabled]{opacity:.7;cursor:progress}.gate-error{color:#fff;text-shadow:0 1px 8px #78142880;min-height:20px;margin:0;font-size:14px;font-weight:400}.gate.shake{animation:.45s both shake}@keyframes gateIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.content{background:linear-gradient(var(--garden-deep), var(--garden) 360px, var(--garden-2) 50%, var(--garden))}.secnav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#151c11d6;border-bottom:1px solid #e6c38924;position:sticky;top:0}.secnav ul{scrollbar-width:none;justify-content:center;gap:4px;max-width:1080px;margin:0 auto;padding:0 16px;list-style:none;display:flex;overflow-x:auto}.secnav ul::-webkit-scrollbar{display:none}.secnav a{white-space:nowrap;min-height:52px;color:var(--muted);letter-spacing:.3em;text-transform:uppercase;align-items:center;padding:0 14px;font-size:11px;font-weight:400;text-decoration:none;display:flex}.secnav a:hover{color:var(--gold)}.section{padding:112px 24px;scroll-margin-top:56px}.section+.section{padding-top:32px}.wrap{flex-direction:column;align-items:center;gap:56px;max-width:1080px;margin:0 auto;display:flex}.narrow{max-width:680px}.head{text-align:center;flex-direction:column;align-items:center;gap:22px;display:flex}.head h2{font-family:var(--serif);color:var(--ivory);margin:0;font-size:clamp(36px,4.2vw,56px);font-style:italic;font-weight:300;line-height:1.1}.head p{max-width:540px;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.divider{background:linear-gradient(#e6c38900,#e6c38999);width:1px;height:56px}.label{letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin:0;font-size:11px;font-weight:400}.title{font-family:var(--serif);color:var(--ivory);margin:0;font-size:30px;font-weight:300;line-height:1.2}.time{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0;font-size:13px;font-weight:400}.rsvp-title{font-size:40px;font-style:italic}.note{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.title,.note,.head h2,.head p,.footnote,.label{text-wrap:balance}.prose p{text-wrap:pretty}.item{border-top:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:28px;display:flex}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 56px;width:100%;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;width:100%;max-width:880px;display:grid}@media (max-width:1100px){.grid3{grid-template-columns:minmax(0,1fr);max-width:440px}}@media (max-width:760px){.grid2{grid-template-columns:minmax(0,1fr);max-width:440px}}.events{flex-direction:column;gap:40px;width:100%;max-width:560px;display:flex}.footnote{color:var(--faint);text-align:center;max-width:520px;margin:0;font-size:14px;line-height:1.6}.prose{text-align:center;flex-direction:column;gap:18px;display:flex}.prose p{color:var(--muted);margin:0;font-size:17px;line-height:1.8}.faq{flex-direction:column;width:100%;max-width:680px;display:flex}.faq details{border-top:1px solid var(--line);padding:4px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:56px;font-family:var(--serif);color:var(--ivory);justify-content:space-between;align-items:center;gap:16px;font-size:24px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--sans);color:var(--gold);font-size:20px}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--muted);margin:0 0 20px;font-size:16px;line-height:1.7}.rsvp-card{border:1px solid var(--line);text-align:center;background:#f6eedf05;border-radius:24px;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:520px;padding:40px 32px;display:flex}.button{background:var(--gold);min-height:48px;color:var(--garden-deep);letter-spacing:.26em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:0 28px;font-size:12px;font-weight:400;text-decoration:none;display:inline-flex}.button:hover{background:var(--ivory);color:var(--garden-deep)}.button:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}.button[disabled]{opacity:.6;cursor:progress}.button-quiet{color:var(--gold);border:1px solid var(--line);cursor:pointer;font-family:var(--sans);background:0 0}.button-quiet:hover{color:var(--ivory);background:#e6c38914}.head .button{margin-top:8px}.invite-card{border:1px solid var(--line);text-align:left;background:#f6eedf06;border-radius:28px;flex-direction:column;gap:28px;width:100%;max-width:680px;padding:clamp(24px,4vw,44px);display:flex}.invite-card fieldset{border:0;min-width:0;margin:0;padding:0}.invite-card legend{color:var(--ivory);margin-bottom:14px;padding:0;font-size:15px}.person{flex-direction:column;gap:22px;display:flex}.row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;display:grid}.field{grid-column:span var(--span,12);flex-direction:column;gap:8px;min-width:0;display:flex}.row2 .field{grid-column:auto}.field label{color:var(--ivory);font-size:14px}.opt{color:var(--faint);font-size:13px}.field input,.field select{width:100%;min-height:48px;color:var(--ivory);font-family:var(--sans);background:#151c118c;border:1px solid #e6c38942;border-radius:12px;outline:none;padding:0 16px;font-size:16px;font-weight:300;transition:border-color .15s,box-shadow .15s}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%23E6C389' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.field select option{background:var(--garden-deep);color:var(--ivory)}.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e6c3892e}.field.has-error input,.field.has-error select{border-color:#f0a3a3}.field-error{color:#f6b8b8;margin:0;font-size:14px}.fine{color:var(--faint);margin:0;font-size:13px;line-height:1.6}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{display:inline-flex;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip span{min-height:44px;color:var(--muted);cursor:pointer;border:1px solid #e6c3894d;border-radius:999px;align-items:center;padding:0 18px;font-size:14px;transition:all .15s;display:inline-flex}.chip:hover span{color:var(--ivory);border-color:#e6c3898c}.chip.on span{background:var(--gold);border-color:var(--gold);color:var(--garden-deep);font-weight:400}.chip input:focus-visible+span{outline:2px solid var(--ivory);outline-offset:2px}.dest .fine{margin-top:14px}.addr-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.addr-hint{grid-column:1/-1;margin-top:0!important}.phone-row{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:10px;display:grid}.phone-row.with-other{grid-template-columns:minmax(0,160px) 96px minmax(0,1fr)}.plus-code{position:relative}.plus-code span{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.plus-code input{padding-left:26px}.check{cursor:pointer;color:var(--ivory);align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;display:flex}.check input{width:20px;height:20px;accent-color:var(--gold);cursor:pointer;flex:none;margin:2px 0 0}.guest-toggle{border-top:1px solid #e6c38924;flex-direction:column;gap:8px;padding-top:22px;display:flex}.guest-toggle .fine{padding-left:32px}.guest-block{border-radius:20px;border:1px solid #e6c3892e!important;padding:24px!important}.guest-block>legend{font-family:var(--serif);margin-left:-8px;font-size:24px;font-style:italic;padding:0 8px!important}.invite-summary{color:#f6c4c4;background:#f0a3a31a;border-radius:12px;margin:0;padding:12px 16px;font-size:14px}.invite-submit{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.invite-submit .button{cursor:pointer;min-width:200px;font-family:var(--sans);border:0}.invite-done{text-align:center;align-items:center;gap:18px}.invite-done-title{font-family:var(--serif);color:var(--ivory);margin:0;font-size:40px;font-style:italic;font-weight:300}.invite-done-address{flex-direction:column;align-items:center;gap:10px;display:flex}.invite-done address{white-space:pre-line;color:var(--ivory);border:1px dashed var(--line);border-radius:14px;padding:16px 24px;font-size:16px;font-style:normal;line-height:1.7}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:600px){.row2{grid-template-columns:minmax(0,1fr)}.addr-grid>.field{grid-column:1/-1}.phone-row,.phone-row.with-other{grid-template-columns:minmax(0,1fr) 96px}.phone-row>select,.phone-row:not(.with-other)>input{grid-column:1/-1}.guest-block{padding:18px!important}.chip span{padding:0 14px}.invite-submit .button{width:100%}}.footer{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 24px 96px;display:flex}.footer .mono{font-family:var(--serif);color:var(--gold);margin:0;font-size:40px;font-style:italic;font-weight:300}.footer .small{letter-spacing:.46em;text-transform:uppercase;color:var(--faint);margin:0;font-size:11px}#travel{--travel-w:960px;--travel-pad:clamp(20px, 4vw, 40px)}.notice{width:100%;max-width:var(--travel-w);text-align:left;padding:24px var(--travel-pad);background:#e6c38912;border:1px solid #e6c38973;border-radius:28px;align-items:flex-start;gap:18px;display:flex}.notice>svg{color:var(--gold);flex:none;margin-top:2px}.notice-title{font-family:var(--serif);color:var(--ivory);margin:0 0 6px;font-size:24px;font-weight:400}.notice-body{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.planner{width:100%;max-width:var(--travel-w);text-align:left;border:1px solid var(--line);background:#f6eedf06;border-radius:28px;overflow:hidden}.planner-pick{padding:24px var(--travel-pad);background:#e6c3890a;border-bottom:1px solid #e6c38929;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;display:flex}.planner-pick label{font-family:var(--serif);color:var(--ivory);font-size:26px;font-style:italic}.planner-pick .field{flex:0 300px;min-width:220px}.planner-panel{padding:clamp(24px, 4vw, 40px) var(--travel-pad);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;animation:.45s both panelIn;display:grid}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.route{flex-direction:column;gap:14px;min-width:0;display:flex}.route-title{font-family:var(--serif);color:var(--ivory);text-wrap:balance;margin:0;font-size:clamp(26px,3vw,34px);font-weight:400;line-height:1.15}.route-time{color:var(--gold);align-items:center;gap:8px;margin:0;font-size:14px;display:inline-flex}.steps{flex-direction:column;gap:0;margin:10px 0 0;padding:0;list-style:none;display:flex}.steps li{grid-template-columns:40px minmax(0,1fr);gap:14px;padding-bottom:20px;display:grid;position:relative}.steps li:last-child{padding-bottom:0}.steps li:not(:last-child):before{content:"";background:#e6c3894d;width:1px;position:absolute;top:40px;bottom:0;left:19.5px}.step-icon{width:40px;height:40px;color:var(--gold);background:var(--garden);border:1px solid #e6c38973;border-radius:999px;place-items:center;display:grid}.step-text{color:var(--ivory);padding-top:9px;font-size:15px;line-height:1.65}.route-side{border-left:1px solid #e6c38924;flex-direction:column;gap:26px;min-width:0;padding-left:40px;display:flex}.side-block{flex-direction:column;gap:10px;display:flex}.alts,.route-notes{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.alts li{flex-direction:column;gap:3px;display:flex}.alt-route{color:var(--ivory);font-size:15px}.alt-time{color:var(--gold);font-size:13px}.alt-note{color:var(--muted);font-size:14px;line-height:1.6}.route-notes li{color:var(--muted);padding-left:18px;font-size:14px;line-height:1.65;position:relative}.route-notes li:before{content:"";background:var(--gold);border-radius:999px;width:6px;height:6px;position:absolute;top:.7em;left:0}.tips{width:100%;max-width:var(--travel-w);grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px;display:grid}.tip{text-align:left;align-items:flex-start}@media (max-width:1000px){.tips{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:880px){.planner-panel{grid-template-columns:minmax(0,1fr);gap:32px}.route-side{border-top:1px solid #e6c38924;border-left:0;padding-top:28px;padding-left:0}}@media (max-width:640px){.tips{grid-template-columns:minmax(0,1fr);gap:32px}.planner-pick{flex-direction:column;align-items:stretch}.planner-pick .field{flex:auto;min-width:0}.notice{gap:14px}}:lang(zh) .planner-pick label{font-style:normal}@media (max-width:700px){.hero{min-height:600px;max-height:880px}.landwrap{width:300%!important;height:clamp(190px,30%,270px)!important}.skycol{gap:16px;padding:76px 20px 30px;bottom:clamp(190px,30%,270px)}.topbar{padding:22px 20px}.topdate{display:none}.langswitch{padding:0 12px}.names{font-size:clamp(50px,14vw,64px)}.kicker{font-size:11px}.place{letter-spacing:.26em;flex-direction:column;gap:10px;font-size:12px}.replay{bottom:18px;right:16px}.gate{padding:22px 18px 18px}.gate h2{font-size:38px}.gate-submit{padding:0 18px}.secnav ul{justify-content:flex-start;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000);mask-image:linear-gradient(90deg,#000 82%,#0000)}.section{padding:88px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero.done .cue{animation:none}.play,.play *{animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (max-height:760px){.gate{gap:8px;padding:18px 22px 12px}.gate h2{font-size:34px}}
