:root{color-scheme:dark;--color-bg:#050505;--color-bg-raised:#0a0a0a;--color-text:#f4f4f0;--color-muted:#969696;--color-subtle:#6d6d6d;--color-accent:#8fa8c7;--color-line:#f4f4f024;--color-line-strong:#f4f4f047;--font-sans:Inter, "SF Pro Display", "Segoe UI", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--fs-xs:clamp(.68rem, .64rem + .12vw, .76rem);--fs-sm:clamp(.82rem, .76rem + .18vw, .94rem);--fs-body:clamp(1rem, .94rem + .2vw, 1.12rem);--fs-body-lg:clamp(1.2rem, 1.02rem + .6vw, 1.62rem);--fs-h3:clamp(1.5rem, 1.12rem + 1.3vw, 2.6rem);--fs-h2:clamp(2.35rem, 1.35rem + 4.1vw, 6.7rem);--fs-hero:clamp(4rem, 1.45rem + 12.4vw, 14rem);--fs-cjk-intro:clamp(1rem, .94rem + .25vw, 1.22rem);--fs-cjk-section:clamp(2.1rem, 1.45rem + 3.3vw, 5.6rem);--fs-cjk-statement:clamp(2.05rem, 1.55rem + 3.2vw, 5.85rem);--fs-cjk-display:clamp(2.85rem, 1.8rem + 5.5vw, 7.8rem);--fs-cjk-mobile-section:clamp(1.75rem, 8.2vw, 2.55rem);--fs-cjk-mobile-statement:clamp(1.65rem, 7.6vw, 2.3rem);--fs-cjk-mobile-display:clamp(2.15rem, 10.8vw, 3.4rem);--fs-cjk-mobile-prose:.875rem;--fs-space-mobile:clamp(3rem, 16vw, 5rem);--leading-tight:.88;--leading-heading:.98;--leading-body:1.66;--weight-regular:400;--weight-medium:520;--tracking-tight:-.055em;--tracking-wide:.15em;--tracking-wider:.24em;--tracking-cjk-body:.018em;--tracking-cjk-prose:.03em;--tracking-cjk-display:.01em;--tracking-cjk-mobile-prose:.018em;--tracking-cjk-mobile-display:.005em;--space-1:.4rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--space-9:10rem;--page-pad:clamp(1.15rem, 3.5vw, 4.8rem);--content-max:1920px;--nav-height:4.6rem;--grid-columns:12;--radius-small:2px;--duration-fast:.18s;--duration-base:.42s;--duration-slow:.9s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-standard:cubic-bezier(.2, .7, .2, 1);--z-canvas:0;--z-content:2;--z-nav:50;--z-menu:40;--breakpoint-mobile:760px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 1rem);background:var(--color-bg)}html.menu-open{overflow:hidden}body{background:var(--color-bg);min-width:320px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--weight-regular);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}body.wedding-page{color-scheme:light;--color-bg:#e8e8e3;--color-bg-raised:#deded8;--color-text:#090909;--color-muted:#5f5f59;--color-subtle:#777770;--color-line:#09090926;--color-line-strong:#0909094d;--color-accent:#090909!important}main{z-index:var(--z-content);flex-direction:column;display:flex;position:relative}main:focus{outline:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}img,video,canvas{max-width:100%;display:block}::selection{background:var(--color-accent);color:var(--color-bg)}.focus-ring:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}.skip-link{z-index:100;background:var(--color-text);color:var(--color-bg);transition:transform var(--duration-fast);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.content-grid{width:min(100%, var(--content-max));padding-inline:var(--page-pad);margin-inline:auto}.section-shell{scroll-margin-top:calc(var(--nav-height) + 1rem);position:relative}.eyebrow,.meta-label,.section-index,.status-label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin:0;line-height:1.4}.site-nav{z-index:var(--z-nav);height:var(--nav-height);padding-inline:var(--page-pad);transition:background var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard), backdrop-filter var(--duration-base) var(--ease-standard);border-bottom:0;grid-template-columns:1fr auto auto;align-items:center;display:grid;position:fixed;inset:0 0 auto}.site-nav.is-scrolled{border-color:var(--color-line);backdrop-filter:blur(12px);background:#050505d1}.brand-mark{z-index:calc(var(--z-nav) + 1);font-size:var(--fs-sm);font-weight:var(--weight-medium);letter-spacing:.12em;justify-self:start;line-height:1;position:relative}.desktop-nav{gap:clamp(1.25rem,2.4vw,3.4rem);display:flex}.nav-link,.language-switch{color:var(--color-muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);transition:color var(--duration-fast);padding-block:.6rem;position:relative}.nav-link:after{transform-origin:0;background:var(--color-text);content:"";height:1px;transition:transform var(--duration-base) var(--ease-out);position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.is-active,.language-switch:hover{color:var(--color-text)}.nav-link.is-active:after{transform:scaleX(1)}.language-switch{color:var(--color-text);margin-left:clamp(1.5rem,3vw,4rem)}.menu-toggle{z-index:calc(var(--z-nav) + 1);min-width:3.25rem;min-height:2.75rem;font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:0 0;border:0;padding:0;display:none;position:relative}.mobile-menu{z-index:var(--z-menu);visibility:hidden;background:var(--color-bg);min-height:100dvh;transition:transform var(--duration-base) var(--ease-out), visibility var(--duration-base);display:none;position:fixed;inset:0;transform:translateY(-101%)}.mobile-menu.is-open{visibility:visible;transform:translateY(0)}.mobile-menu-inner{min-height:100%;padding:calc(var(--nav-height) + 2rem) var(--page-pad) 2rem;flex-direction:column;justify-content:center;display:flex}.mobile-menu-link{border-bottom:1px solid var(--color-line);letter-spacing:-.04em;grid-template-columns:2.5rem 1fr;align-items:baseline;padding-block:1rem;font-size:clamp(2.1rem,10vw,4rem);line-height:1.05;display:grid}.mobile-menu-link span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}.mobile-language{margin-top:var(--space-5);color:var(--color-muted);font-size:var(--fs-sm);align-self:flex-start;padding-block:.5rem}.hero{border-bottom:0;min-height:100svh;overflow:hidden}.hero-particles{z-index:var(--z-canvas);opacity:0;pointer-events:none;contain:strict;will-change:opacity, filter;width:100vw;height:100svh;position:fixed;inset:0;overflow:hidden}.hero-particles[data-ready=true]{opacity:1}.hero-particles canvas{opacity:1;width:100%;height:100%}.hero .hero-vignette,.hero .hero-kicker,.hero .hero-intro,.hero .explore-cue{display:none}.hero-vignette{z-index:1;pointer-events:none;background:linear-gradient(90deg,#050505db 0%,#0505057a 38%,#05050514 73%,#0505055c 100%),linear-gradient(#0000 56%,#05050594 92%,#050505f5 100%);position:absolute;inset:0}.hero-grid{z-index:var(--z-content);min-height:100svh;padding-top:calc(var(--nav-height) + var(--space-4));grid-template-columns:repeat(12,minmax(0,1fr));align-content:end;padding-bottom:clamp(2rem,7svh,6.5rem);display:grid;position:relative}.hero-kicker{max-width:min(100%,38rem);color:var(--color-text);text-wrap:balance;grid-column:1/-1;margin-bottom:clamp(1.5rem,4svh,4rem)}.hero-title{max-width:100%;font-size:var(--fs-hero);font-size:clamp(4rem,min(12.4vw,20svh),14rem);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);white-space:nowrap;grid-column:1/-1;margin:0}.hero-title-line{margin-right:.17em;display:inline-block}.hero-intro{max-width:34rem;color:var(--color-text);font-size:var(--fs-body-lg);grid-column:1/span 5;margin:clamp(1.5rem,4svh,4rem) 0 0;line-height:1.42}.explore-cue{margin-top:var(--space-6);border-bottom:1px solid var(--color-line-strong);color:var(--color-muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;grid-column:11/-1;justify-content:space-between;align-self:end;padding:.65rem 0;display:flex}.intro,.spaces,.signals,.capabilities,.profile,.now{padding-block:var(--space-9);border-bottom:1px solid var(--color-line)}.section-header{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:1fr auto;align-items:start;display:grid}.section-header .eyebrow{margin-bottom:var(--space-5)}.spaces-heading .eyebrow{margin-bottom:var(--space-4)}.spaces-section-title{max-width:12ch;font-size:clamp(3.8rem,8vw,8.5rem);font-weight:var(--weight-regular);letter-spacing:-.055em;text-wrap:balance;margin:0;line-height:.94}html[lang=zh-CN] .spaces-section-title{max-width:none;letter-spacing:var(--tracking-cjk-display);overflow-wrap:normal;word-break:keep-all;font-size:clamp(3.2rem,6.5vw,6.8rem);line-height:1.04}.spaces-section-title-alt{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:var(--fs-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;line-height:1.4}.section-title{max-width:14ch;font-size:var(--fs-h2);font-weight:var(--weight-regular);line-height:var(--leading-heading);letter-spacing:-.045em;margin:0}.section-index{color:var(--color-text)}.intro-statement{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.intro-statement h2{font-size:clamp(2.45rem,2rem + 4vw,7.8rem);font-weight:var(--weight-regular);letter-spacing:-.05em;grid-column:3/-1;margin:0;line-height:1.04}.intro-notes{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,4rem);margin-left:16.6667%;display:grid}.intro-notes article p:last-child{max-width:31rem;margin:var(--space-3) 0 0;color:var(--color-muted)}.space-list{border-top:1px solid var(--color-line)}.space-row{gap:var(--space-5);border-bottom:1px solid var(--color-line);backdrop-filter:blur(6px);isolation:isolate;min-height:15rem;transition:background var(--duration-base) var(--ease-standard);background:#0505052e;grid-template-columns:minmax(2rem,.55fr) minmax(0,3fr) minmax(9rem,1fr);align-items:center;display:grid;position:relative}.space-row:hover,.space-row:focus-within{background:#05050547}.space-visual{z-index:0;opacity:0;filter:grayscale();transition:opacity var(--duration-base) var(--ease-standard), transform var(--duration-slow) var(--ease-out);background-color:#0000;background-image:linear-gradient(135deg,#8fa8c73b,#0000 60%),repeating-linear-gradient(90deg,#f4f4f00a 0 1px,#0000 1px 48px);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0 34% 0 42%;overflow:hidden;transform:scale(.97)}.space-visual:after{background:linear-gradient(90deg, var(--color-bg), transparent 30% 70%, var(--color-bg));content:"";position:absolute;inset:0}.space-visual span{right:var(--space-3);color:#f4f4f012;font-size:10rem;line-height:1;position:absolute;bottom:-.28em}.space-row:hover .space-visual,.space-row:focus-within .space-visual{opacity:.78;transform:scale(1)}.space-number{padding-top:var(--space-6);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);align-self:start}.space-copy{padding-block:var(--space-6)}.space-copy h3{font-size:clamp(3rem,6.4vw,6.8rem);font-weight:var(--weight-regular);letter-spacing:-.045em;margin:0;line-height:.92}.space-copy h3[lang=zh-CN]{letter-spacing:var(--tracking-cjk-display);font-size:clamp(2.8rem,5.4vw,5.6rem);line-height:1}.space-number,.space-copy,.space-action{z-index:1;position:relative}.space-title-link{color:inherit;transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);text-decoration:none;display:inline-block}.space-title-link:hover,.space-title-link:focus-visible{color:var(--color-accent);transform:translate(.025em)}.space-domain{margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--fs-sm)}.space-copy>p:last-child{max-width:33rem;margin:var(--space-4) 0 0}.space-action{justify-self:end}.status-label{border-bottom:1px solid var(--color-line-strong);padding:.5rem 0;display:inline-block}.text-link,.text-action{border:0;border-bottom:1px solid var(--color-line-strong);min-height:2.75rem;color:var(--color-text);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast);background:0 0;align-items:center;gap:.55rem;padding:0;display:inline-flex}.text-link:hover,.text-action:hover{border-color:var(--color-text);color:var(--color-accent)}.signal-list{border-top:1px solid var(--color-line)}.signal-row{gap:var(--space-4);border-bottom:1px solid var(--color-line);min-height:9rem;transition:color var(--duration-fast), background var(--duration-fast);grid-template-columns:3rem 8rem minmax(0,1fr) 4rem;align-items:center;display:grid}a.signal-row:hover{background:#f4f4f005}.signal-count,.signal-category,.signal-year{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}.signal-main{gap:var(--space-2);flex-direction:column;display:flex}.signal-main strong{font-size:var(--fs-h3);font-weight:var(--weight-regular);letter-spacing:-.035em;line-height:1.1}.signal-main small{color:var(--color-muted);font-size:var(--fs-sm)}.content-note{max-width:42rem;margin:var(--space-5) 0 0 auto;color:var(--color-subtle);font-size:var(--fs-xs)}.capability-list{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.capability-list li{gap:var(--space-4);min-height:7rem;padding-block:var(--space-4);border-bottom:1px solid var(--color-line);transition:padding-inline var(--duration-base) var(--ease-out), background var(--duration-fast);grid-template-columns:4rem minmax(0,1.5fr) minmax(15rem,1fr);align-items:baseline;display:grid}.capability-list li:hover{padding-inline:var(--space-3);background:#8fa8c70a}.capability-list li>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}.capability-list h3{font-size:var(--fs-h3);font-weight:var(--weight-regular);margin:0;line-height:1.12}.capability-list p{color:var(--color-muted);margin:0}.profile-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 clamp(1rem,2vw,2.5rem);display:grid}.profile-grid .section-header{grid-column:1/-1}.profile-portrait{aspect-ratio:4/5;background:var(--color-bg-raised);grid-column:1/span 5;margin:0;overflow:hidden}.profile-portrait img{object-fit:cover;width:100%;height:100%}.portrait-placeholder{width:100%;height:100%;padding:var(--space-4);background:radial-gradient(circle at 66% 30%,#8fa8c721,#0000 32%),repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#f4f4f00d calc(25% - 1px) 25%);flex-direction:column;justify-content:space-between;display:flex}.portrait-placeholder span{color:#f4f4f01a;letter-spacing:-.1em;align-self:center;margin:auto;font-size:clamp(7rem,20vw,18rem);line-height:1}.portrait-placeholder small{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}.profile-copy{grid-column:7/-1}.profile-lead{margin:0 0 var(--space-7);letter-spacing:-.025em;font-size:clamp(1.6rem,1.25rem + 1.2vw,2.8rem);line-height:1.3}.profile-details{border-top:1px solid var(--color-line);margin:0}.profile-details div{gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-line);grid-template-columns:minmax(8rem,.45fr) 1fr;display:grid}.profile-details dt,.contact-meta dt{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}.profile-details dd,.contact-meta dd{margin:0}.now-grid{border-top:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.now-item{min-height:16rem;padding:var(--space-5);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.now-item:first-child{border-left:1px solid var(--color-line)}.now-item>p:nth-child(2){margin:var(--space-6) 0 var(--space-4);font-size:var(--fs-body-lg);line-height:1.42}.now-item time,.last-updated{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}.last-updated{margin-top:var(--space-4);text-align:right}.contact{min-height:88svh;padding-block:var(--space-9)}.contact-grid{gap:var(--space-5);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.contact-heading{grid-column:1/-1}.contact-heading h2{max-width:12ch;margin:var(--space-5) 0 var(--space-8);font-size:clamp(3.4rem,2rem + 7vw,10rem);font-weight:var(--weight-regular);letter-spacing:-.06em;line-height:.94}.contact-panel{grid-column:5/-1}.contact-panel>p{max-width:38rem;color:var(--color-muted);font-size:var(--fs-body-lg)}.email-link{max-width:100%;margin-block:var(--space-5);border-bottom:1px solid var(--color-line-strong);overflow-wrap:anywhere;font-size:clamp(1.6rem,1rem + 2.2vw,3.8rem);line-height:1.25;display:inline-block}.contact-actions{gap:var(--space-3) var(--space-5);flex-wrap:wrap;align-items:flex-start;display:flex}.share-tools{gap:var(--space-3) var(--space-5);flex-wrap:wrap;align-items:flex-start;display:flex;position:relative}.copy-status{color:var(--color-accent);font-size:var(--fs-xs);align-self:center}.qr-code{z-index:2;background:var(--color-text);width:160px;height:160px;padding:.5rem;position:absolute;top:calc(100% + 1rem);right:0}.contact-meta{gap:var(--space-5);margin:var(--space-7) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-meta dd{margin-top:var(--space-2);color:var(--color-muted)}.site-footer{border-top:1px solid var(--color-line)}.footer-grid{gap:var(--space-4);min-height:9rem;color:var(--color-muted);font-size:var(--fs-xs);grid-template-columns:2fr 2fr 2fr auto;align-items:center;display:grid}.footer-brand{color:var(--color-text);font-size:var(--fs-sm);letter-spacing:var(--tracking-wide)}.footer-socials{gap:var(--space-4);display:flex}.footer-socials a:hover,.back-to-top:hover{color:var(--color-text)}.footer-grid small{padding-bottom:var(--space-3);color:var(--color-subtle);letter-spacing:var(--tracking-wide);grid-column:1/-1}html[lang=zh-CN] body{letter-spacing:var(--tracking-cjk-body)}html[lang=zh-CN] .hero-intro{max-width:32rem;font-size:var(--fs-cjk-intro);letter-spacing:.04em;line-height:1.72}html[lang=zh-CN] .section-title{font-size:var(--fs-cjk-section);letter-spacing:var(--tracking-cjk-display);line-height:1.1}html[lang=zh-CN] .intro-statement h2{font-size:var(--fs-cjk-statement);letter-spacing:.012em;line-height:1.18}html[lang=zh-CN] .signal-main strong,html[lang=zh-CN] .capability-list h3{letter-spacing:.012em;font-size:clamp(1.35rem,1.05rem + 1vw,2.2rem);line-height:1.3}html[lang=zh-CN] .profile-lead{letter-spacing:.02em;font-size:clamp(1.35rem,1.12rem + .85vw,2.2rem);line-height:1.55}html[lang=zh-CN] .contact-heading h2{font-size:var(--fs-cjk-display);letter-spacing:var(--tracking-cjk-display);line-height:1.08}html[lang=zh-CN] .intro-notes article p:last-child,html[lang=zh-CN] .space-copy>p:last-child,html[lang=zh-CN] .signal-main small,html[lang=zh-CN] .capability-list p,html[lang=zh-CN] .profile-details dd,html[lang=zh-CN] .now-item>p:nth-child(2),html[lang=zh-CN] .contact-panel>p{letter-spacing:var(--tracking-cjk-prose);font-size:clamp(.9rem,.86rem + .14vw,1rem);line-height:1.8}@media (width<=980px){:root{--space-9:7rem}.hero-intro{grid-column:1/span 7}.explore-cue{grid-column:9/-1}.intro-statement h2{grid-column:1/-1}.intro-notes{margin-left:0}.space-row{grid-template-columns:3rem minmax(0,1fr) auto}.contact-panel{grid-column:3/-1}}@media (width<=760px){:root{--nav-height:4rem;--space-8:5rem;--space-9:6rem}.desktop-nav{display:none}.site-nav{grid-template-columns:1fr auto auto}.site-nav.is-scrolled{backdrop-filter:blur(7px)}.language-switch{margin-left:0;margin-right:var(--space-3)}.menu-toggle,.mobile-menu{display:block}.hero-vignette{background:linear-gradient(#050505c2 0%,#0505056b 45%,#050505ed 100%),linear-gradient(90deg,#050505bf,#0000)}.hero-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-kicker{max-width:20rem;line-height:1.7}.hero-title{white-space:normal;grid-column:1/-1;font-size:clamp(4rem,min(19vw,12svh),6.5rem)}.hero-title-line{display:block}.hero-intro{grid-column:1/-1;max-width:30rem}.explore-cue{grid-column:4/-1}.section-header{gap:var(--space-3);margin-bottom:var(--space-7);grid-template-columns:minmax(0,1fr) auto}.spaces-section-title,html[lang=zh-CN] .spaces-section-title{max-width:none;font-size:clamp(2.75rem,13vw,4.15rem);line-height:1}html[lang=zh-CN] .spaces-section-title{font-size:clamp(2.6rem,11.5vw,3.8rem)}.spaces-section-title-alt{margin-top:var(--space-3);font-size:.72rem}.intro-notes{grid-template-columns:1fr;gap:0}.intro-notes article{padding-block:var(--space-4);border-bottom:1px solid var(--color-line)}.space-row{gap:var(--space-3);padding-block:var(--space-5);backdrop-filter:none;background:#0505053d;grid-template-columns:2rem minmax(0,1fr)}.space-visual{opacity:.22;inset:12% 0 12% 32%}.space-number{padding-top:0}.space-copy{padding:0}.space-copy h3{letter-spacing:-.04em;max-width:100%;font-size:clamp(2.6rem,12vw,3.8rem);line-height:.94}.space-copy h3[lang=zh-CN]{font-size:clamp(2.35rem,10.5vw,3.3rem);line-height:1}.space-action{grid-column:2;justify-self:start}.signal-row{gap:var(--space-3);padding-block:var(--space-4);grid-template-columns:2rem 1fr auto}.signal-category{grid-area:1/2}.signal-main{grid-area:2/2/auto/-1}.signal-year{grid-area:1/3}.capability-list li{gap:var(--space-3);grid-template-columns:2rem 1fr}.capability-list p{grid-column:2}.profile-grid{grid-template-columns:1fr}.profile-grid .section-header,.profile-portrait,.profile-copy{grid-column:1}.profile-portrait{width:min(100%,34rem);margin-bottom:var(--space-6)}.profile-details div{gap:var(--space-2);grid-template-columns:1fr}.now-grid{grid-template-columns:1fr}.now-item{border-left:1px solid var(--color-line);min-height:auto}.contact-grid{grid-template-columns:1fr}.contact-heading,.contact-panel{grid-column:1}.contact-meta{grid-template-columns:1fr}.footer-grid{padding-block:var(--space-5);grid-template-columns:1fr auto}.footer-socials{grid-area:2/1/auto/-1}.back-to-top{grid-area:1/2}html[lang=zh-CN] .hero-intro{letter-spacing:.035em;max-width:26rem;font-size:.98rem;line-height:1.76}html[lang=zh-CN] .section-title{font-size:var(--fs-cjk-mobile-section);letter-spacing:var(--tracking-cjk-mobile-display);text-wrap:pretty;line-height:1.2}html[lang=zh-CN] .intro-statement h2{font-size:var(--fs-cjk-mobile-statement);letter-spacing:var(--tracking-cjk-mobile-display);line-height:1.28}html[lang=zh-CN] .profile-lead{letter-spacing:.015em;font-size:1.15rem;line-height:1.7}html[lang=zh-CN] .contact-heading h2{font-size:var(--fs-cjk-mobile-display);letter-spacing:var(--tracking-cjk-mobile-display);line-height:1.18}html[lang=zh-CN] .intro-notes article p:last-child,html[lang=zh-CN] .space-copy>p:last-child,html[lang=zh-CN] .signal-main small,html[lang=zh-CN] .capability-list p,html[lang=zh-CN] .profile-details dd,html[lang=zh-CN] .now-item>p:nth-child(2),html[lang=zh-CN] .contact-panel>p{font-size:var(--fs-cjk-mobile-prose);letter-spacing:var(--tracking-cjk-mobile-prose);line-height:1.78}}@media (width<=390px){:root{--page-pad:1rem}.brand-mark{letter-spacing:.08em}.language-switch{margin-right:.5rem}.hero-title{font-size:clamp(3.65rem,21vw,5rem)}.explore-cue{grid-column:3/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-motion=reduced]{scroll-behavior:auto}.theme-charcoal{background:#0a0a0a}.spacing-compact{padding-block:clamp(3rem,6vw,5rem)}.spacing-standard{padding-block:clamp(5rem,9vw,8rem)}.spacing-spacious{padding-block:clamp(7rem,12vw,11rem)}.spacing-cinematic{padding-block:clamp(9rem,16vw,15rem)}.hero.spacing-cinematic{padding-block:0}.content-width-narrow .content-grid{--section-content-width:54rem;width:min(100%, var(--section-content-width))}.content-width-standard .content-grid{--section-content-width:var(--content-max)}.content-width-wide .content-grid{--section-content-width:108rem;width:min(100%, var(--section-content-width))}.content-width-full .content-grid{--section-content-width:100%;width:100%}.text-scale-compact .section-title{font-size:clamp(1.8rem,4vw,4rem)}.text-scale-large .section-title{font-size:clamp(3rem,7vw,7.5rem)}.text-scale-display .section-title{font-size:clamp(4rem,10vw,10rem);line-height:.94}.content-align-center .section-title,.content-align-center .intro-statement,.content-align-center .portable-text,.content-align-center .contact-heading{text-align:center;margin-inline:auto}.content-align-right .section-title,.content-align-right .intro-statement,.content-align-right .portable-text,.content-align-right .contact-heading{text-align:right;margin-left:auto}.media-width-narrow .gallery-grid,.media-width-narrow .media-frame{width:min(100%,44rem);margin-inline:auto}.media-width-standard .gallery-grid,.media-width-standard .media-frame{width:min(100%,68rem);margin-inline:auto}.media-width-wide .gallery-grid,.media-width-wide .media-frame{width:min(100%,92rem);margin-inline:auto}.media-ratio-landscape .gallery-item img,.media-ratio-landscape .media-frame img,.media-ratio-landscape video.media-frame{aspect-ratio:16/9;object-fit:cover}.media-ratio-portrait .gallery-item img,.media-ratio-portrait .media-frame img,.media-ratio-portrait video.media-frame{aspect-ratio:4/5;object-fit:cover}.media-ratio-square .gallery-item img,.media-ratio-square .media-frame img,.media-ratio-square video.media-frame{aspect-ratio:1;object-fit:cover}.media-ratio-cinematic .gallery-item img,.media-ratio-cinematic .media-frame img,.media-ratio-cinematic video.media-frame{aspect-ratio:21/9;object-fit:cover}.desktop-only{display:block}.mobile-only{display:none}.portable-text{color:var(--color-muted);line-height:1.75}.portable-text>:first-child{margin-top:0}.portable-text>:last-child{margin-bottom:0}.portable-text a{color:var(--color-text);text-underline-offset:.2em;text-decoration:underline}.editorial-gallery,.editorial-media,.editorial-text,.editorial-quote{border-top:1px solid var(--color-line)}.gallery-grid{grid-template-columns:repeat(var(--gallery-columns,3), minmax(0, 1fr));display:grid}.gallery-grid.gap-none{gap:0}.gallery-grid.gap-compact{gap:var(--space-2)}.gallery-grid.gap-standard{gap:var(--space-4)}.gallery-grid.gap-spacious{gap:var(--space-8)}.gallery-horizontal{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.gallery-horizontal .gallery-item{scroll-snap-align:start;flex:0 0 min(76vw,58rem)}.gallery-item{margin:0}.gallery-item img,.media-frame img,video.media-frame{object-fit:cover;background:#0b0b0b;width:100%;height:auto}.gallery-item figcaption{padding-top:var(--space-2);color:var(--color-muted);font-size:var(--fs-xs)}.media-frame{width:100%;display:block}.editorial-text .portable-text{margin-inline:auto}.editorial-text .width-narrow{max-width:42rem}.editorial-text .width-medium{max-width:58rem}.editorial-text .width-wide{max-width:78rem}.editorial-text .text-two{columns:2;column-gap:var(--space-8)}.align-center{text-align:center}.align-right{text-align:right}.editorial-quote blockquote{max-width:70rem;margin:0}.editorial-quote blockquote p{color:var(--color-text);letter-spacing:-.04em;margin:0;font-size:clamp(2.2rem,6vw,6.5rem);line-height:1.04}.editorial-quote cite{margin-top:var(--space-6);color:var(--color-muted);font-style:normal;display:block}.editorial-marquee{border-block:1px solid var(--color-line);padding-block:var(--space-4);overflow:hidden}.marquee-track{gap:var(--space-8);width:max-content;color:var(--color-text);letter-spacing:-.025em;font-size:clamp(1.6rem,3vw,3.6rem);animation:38s linear infinite journal-marquee;display:flex}.marquee-track.speed-standard{animation-duration:24s}.marquee-track span:after{margin-left:var(--space-8);color:var(--color-accent);content:"✦";vertical-align:middle;font-size:.45em}@keyframes journal-marquee{to{transform:translate(-50%)}}.editorial-spacer.spacer-small{height:4rem}.editorial-spacer.spacer-medium{height:8rem}.editorial-spacer.spacer-large{height:16rem}.editorial-spacer.spacer-screen{height:100svh}.journal-main{background:var(--color-bg);min-height:100svh}.journal-hero{min-height:min(80svh,56rem);padding-top:calc(var(--nav-height) + clamp(5rem, 12vw, 10rem));border-bottom:1px solid var(--color-line);padding-bottom:clamp(5rem,9vw,8rem)}.breadcrumbs{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:center;gap:.65rem;display:flex}.breadcrumbs a:hover{color:var(--color-text)}.wedding-countdown{color:var(--color-text);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);margin-top:clamp(3rem,7vw,6rem);padding-block:clamp(1.75rem,3vw,2.75rem)}.wedding-countdown-header{justify-content:space-between;gap:var(--space-4);color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:baseline;margin-bottom:clamp(2rem,4vw,3.5rem);display:flex}.wedding-countdown-header p,.wedding-countdown-header time{margin:0}.wedding-countdown-header time{color:var(--color-muted);text-align:right}.wedding-countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.wedding-countdown-unit{border-left:1px solid var(--color-line);gap:.6rem;padding-inline:clamp(.75rem,2vw,2rem);display:grid}.wedding-countdown-unit span{color:var(--color-text);font-size:clamp(2.75rem,7.6vw,7.5rem);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:.86}.wedding-countdown-unit small{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.wedding-countdown-complete{color:var(--color-text);font-size:clamp(3rem,9vw,8rem);font-weight:var(--weight-medium);letter-spacing:-.05em;margin:0;line-height:.9}.wedding-countdown+.journal-heading{margin-top:clamp(4rem,8vw,7rem)}.wedding-click-surprise{z-index:calc(var(--z-nav) + 1);pointer-events:none;position:fixed;inset:0;overflow:hidden}.wedding-surprise-particle{width:1.4em;height:1.4em;color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-size:var(--particle-size);opacity:0;text-shadow:0 0 .7rem color-mix(in srgb, currentColor 18%, transparent);animation:wedding-surprise-bloom var(--particle-duration) var(--ease-out) var(--particle-delay) forwards;will-change:transform, opacity;place-items:center;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)scale(.3)}.wedding-surprise-particle.is-petal{color:color-mix(in srgb, var(--color-text) 82%, var(--color-accent));font-family:var(--font-sans)}@keyframes wedding-surprise-bloom{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(0)}18%{opacity:.92}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(.9) rotate(var(--rotation))}}.journal-heading{grid-template-columns:repeat(12,minmax(0,1fr));margin-top:clamp(5rem,13vw,11rem);display:grid}.journal-heading .eyebrow{grid-column:1/6}.journal-heading h1{margin:var(--space-5) 0 0;color:var(--color-text);font-size:clamp(4.8rem,13vw,13rem);font-weight:var(--weight-medium);letter-spacing:-.07em;grid-column:1/-1;line-height:.82}.journal-heading>p:last-child{color:var(--color-muted);grid-column:7/12;margin:clamp(3rem,7vw,6rem) 0 0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}.journal-entry-heading h1{font-size:clamp(4rem,10vw,10rem)}.journal-index,.journal-categories,.journal-entry{padding-block:clamp(6rem,11vw,11rem)}.journal-index{border-bottom:1px solid var(--color-line)}.journal-entry-list{border-top:1px solid var(--color-line)}.journal-card{gap:var(--space-5);border-bottom:1px solid var(--color-line);transition:color var(--duration-fast), padding-inline var(--duration-fast);grid-template-columns:minmax(3rem,1fr) minmax(0,9fr);align-items:start;padding-block:clamp(2rem,4vw,3.5rem);display:grid}.journal-card:hover{padding-inline:var(--space-3)}.journal-card-number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}.journal-card h3{margin:var(--space-3) 0 0;color:var(--color-text);letter-spacing:-.05em;font-size:clamp(2.3rem,6vw,6rem);line-height:.95}.journal-card-en{margin:var(--space-3) 0 0;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.88rem}.journal-card div>p:last-child{max-width:42rem;margin:var(--space-5) 0 0;color:var(--color-muted);line-height:1.65}.journal-category-list{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.journal-category-list li{gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-line);grid-template-columns:5rem minmax(0,1fr) minmax(6rem,.7fr) auto;align-items:baseline;display:grid}.journal-category-list span,.journal-category-list small,.journal-category-list em{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-style:normal}.journal-category-list strong{color:var(--color-text);font-size:clamp(1.5rem,3vw,3rem);font-weight:var(--weight-regular)}.journal-category-list .is-reserved{opacity:.52}.journal-cover{margin:0 0 clamp(4rem,8vw,8rem)}.journal-cover img{width:100%;height:auto}.wedding-story-gallery{width:min(100%,72rem);margin:0 auto clamp(5rem,10vw,10rem)}.wedding-story-media{width:100%;margin:0}.wedding-story-media img{width:100%;max-width:100%;height:auto;display:block}.wedding-story-image{background:#deded8;margin:0}.wedding-story-image img{width:100%;height:auto;display:block}.wedding-story-copy{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(9rem,.7fr) minmax(0,2fr);align-items:start;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2rem,5vw,4rem);display:grid}.wedding-story-divider{border-top:1px solid var(--color-line);margin:clamp(2rem,4vw,3.5rem) 0;padding-block:clamp(1.25rem,2.5vw,2rem)}.wedding-story-copy .eyebrow{margin:0;font-size:clamp(.64rem,.6rem + .12vw,.72rem)}.wedding-story-copy>p:last-child{max-width:36rem;color:var(--color-text);margin:0;font-size:clamp(.86rem,.8rem + .18vw,.98rem);line-height:1.85}.wedding-story-gallery.story-text-narrow .wedding-story-copy>p:last-child{max-width:28rem}.wedding-story-gallery.story-text-wide .wedding-story-copy>p:last-child{max-width:52rem}html[lang=zh-CN] .wedding-story-copy>p:last-child{letter-spacing:.035em;font-size:clamp(.84rem,.8rem + .14vw,.94rem);line-height:1.9}.wedding-location{border-top:1px solid var(--color-line);padding-block:clamp(3rem,6vw,5rem)}.wedding-location-module{border:1px solid var(--color-line-strong);color:#111;width:min(100%,56rem);min-height:clamp(13rem,24vw,18rem);transition:border-color var(--duration-fast);background:#deded8;grid-template-columns:minmax(0,1.75fr) minmax(12rem,.7fr);margin-inline:auto;display:grid;overflow:hidden}.wedding-location-module:hover{border-color:#11111170}.wedding-location-map{background:#e4e4de;min-height:13rem;position:relative;overflow:hidden}.wedding-map-canvas{width:100%;height:100%;min-height:inherit;cursor:grab;isolation:isolate;touch-action:none;background:#dfe1db;position:relative;overflow:hidden}.wedding-map-canvas.is-dragging{cursor:grabbing}.wedding-map-canvas:focus-visible{outline-offset:-3px;outline:2px solid #111}.wedding-map-tile-layer{z-index:0;position:absolute;inset:0}.wedding-map-tile{filter:grayscale(.5)saturate(.65)brightness(1.04)contrast(.92);pointer-events:none;user-select:none;width:256px;max-width:none;height:256px;position:absolute}.wedding-map-marker{z-index:2;pointer-events:none;align-items:center;display:flex;position:absolute;transform:translate(-.65rem,-50%)}.wedding-map-marker-dot{background:#f4f4f0;border:.25rem solid #111;border-radius:50%;flex:none;width:1.3rem;height:1.3rem;display:block;box-shadow:0 0 0 .45rem #1111111f}.wedding-map-marker-label{color:#111;font-size:.7rem;font-weight:var(--weight-medium);letter-spacing:.08em;white-space:nowrap;background:#f4f4f0eb;border:1px solid #1111112e;margin-left:.8rem;padding:.45rem .6rem;line-height:1;display:block}.wedding-map-controls{z-index:3;top:var(--space-3);right:var(--space-3);background:#f4f4f0eb;border:1px solid #1113;display:grid;position:absolute}.wedding-map-controls button{color:#111;cursor:pointer;background:0 0;border:0;place-items:center;width:2.25rem;height:2.25rem;font-size:1.15rem;line-height:1;display:grid}.wedding-map-controls button+button{border-top:1px solid #11111129}.wedding-map-controls button:hover{background:#11111112}.wedding-map-controls button:disabled{color:#11111147;cursor:default}.wedding-location-meta{justify-content:space-between;gap:var(--space-5);border-left:1px solid var(--color-line-strong);color:#111;transition:background var(--duration-fast);background:#deded8;flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.wedding-location-meta:hover{background:#e2e2dc}.wedding-location-meta small{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}.wedding-location-meta strong{max-width:12rem;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:var(--weight-medium);letter-spacing:.04em;line-height:1.3}.journal-body,.journal-empty-state{max-width:52rem;margin-inline:auto;font-size:clamp(1.05rem,1.7vw,1.35rem)}.journal-empty-state{color:var(--color-muted);padding-block:clamp(4rem,10vw,10rem);line-height:1.75}html[lang=zh-CN] .journal-heading h1{letter-spacing:.02em;font-size:clamp(3.5rem,10vw,10rem)}html[data-motion=reduced] .marquee-track{animation:none}html[data-motion=reduced] .wedding-click-surprise{display:none}@media (prefers-reduced-motion:reduce){.wedding-click-surprise{display:none}}@media (width<=760px){.desktop-only{display:none!important}.mobile-only{display:block}.spacing-cinematic,.spacing-spacious{padding-block:clamp(5rem,18vw,8rem)}.gallery-grid{grid-template-columns:1fr}.editorial-text .text-two{columns:1}.journal-hero{min-height:74svh}.wedding-countdown-header{gap:.65rem;display:grid}.wedding-countdown-header time{text-align:left}.wedding-countdown-unit{padding-inline:.6rem}.wedding-countdown-unit span{font-size:clamp(2.25rem,14vw,4.5rem)}.wedding-countdown+.journal-heading{margin-top:4rem}.journal-heading{margin-top:5rem}.journal-heading .eyebrow,.journal-heading>p:last-child{grid-column:1/-1}.journal-heading h1{margin-top:var(--space-4);font-size:clamp(3.4rem,20vw,6.5rem);line-height:.9}.journal-heading>p:last-child{letter-spacing:.025em;margin-top:3rem;font-size:.95rem}html[lang=zh-CN] .journal-heading h1{letter-spacing:.035em;font-size:clamp(3rem,17vw,5.5rem)}.journal-card{gap:var(--space-3);grid-template-columns:2.5rem minmax(0,1fr)}.journal-card h3{letter-spacing:-.035em;font-size:clamp(2rem,11vw,3.8rem)}.journal-category-list li{grid-template-columns:2.5rem minmax(0,1fr) auto}.journal-category-list small{display:none}.wedding-story-gallery{margin-bottom:5rem}.wedding-story-copy{gap:var(--space-4);padding-block:var(--space-5);grid-template-columns:1fr}.wedding-story-copy>p:last-child{font-size:.86rem;line-height:1.8}html[lang=zh-CN] .wedding-story-copy>p:last-child{letter-spacing:.03em;font-size:.84rem;line-height:1.85}.wedding-location-module{grid-template-columns:1fr;min-height:0}.wedding-location-map{min-height:10.5rem}.wedding-location-meta{align-items:flex-end;gap:var(--space-4);min-height:6.5rem;padding:var(--space-4);border-top:1px solid var(--color-line-strong);border-left:0;flex-direction:row}.wedding-location-meta strong{text-align:right;max-width:10rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}body.wedding-page{--wedding-paper:#f2ede4;--wedding-paper-deep:#e5ddcf;--wedding-ink:#5c4c3b;--wedding-ink-soft:#887663;--wedding-line:#5c4c3b38;--wedding-serif:"Iowan Old Style", Baskerville, "Times New Roman", "Songti SC", "Noto Serif CJK SC", serif;--color-bg:var(--wedding-paper);--color-bg-raised:var(--wedding-paper-deep);--color-text:var(--wedding-ink);--color-muted:var(--wedding-ink-soft);--color-subtle:#9c8a75;--color-line:var(--wedding-line);--color-line-strong:#5c4c3b5c;background:var(--wedding-paper);--color-accent:var(--wedding-ink)!important}body.wedding-page .site-nav{color:var(--wedding-ink);background:linear-gradient(#f2ede4b8 0%,#f2ede433 72%,#0000 100%)}body.wedding-page .site-nav.is-scrolled{background:#f2ede4e6}.wedding-main{background:var(--wedding-paper);min-height:100svh;color:var(--wedding-ink);overflow:clip}.wedding-editorial-shell{width:min(100%,104rem);padding-inline:var(--page-pad);margin-inline:auto}.wedding-kicker{color:var(--wedding-ink-soft);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 clamp(1.5rem,3vw,2.75rem);font-size:clamp(.62rem,.58rem + .12vw,.72rem)}.wedding-opening{background:#d9c7b0;min-height:100svh;position:relative;overflow:hidden}.wedding-opening-visual,.wedding-opening-visual picture{display:block;position:absolute;inset:0}.wedding-opening-visual{transform-origin:50%}.wedding-opening-image{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%}.wedding-breadcrumbs{z-index:2;position:absolute}.wedding-countdown{background:var(--wedding-paper);color:var(--wedding-ink);border:0;margin:0;padding-block:clamp(3.25rem,6vw,5.5rem)}.wedding-countdown-header{justify-content:space-between;gap:var(--space-4);color:var(--wedding-ink);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:flex-end;margin:0 0 clamp(1.75rem,3vw,2.75rem);display:flex}.wedding-countdown-header h2{color:var(--wedding-ink);font-family:var(--font-sans);font-size:clamp(1rem,.88rem + .5vw,1.45rem);font-weight:var(--weight-medium);letter-spacing:.12em;margin:.45rem 0 0;line-height:1.15}.wedding-countdown-header time{max-width:20rem;color:var(--wedding-ink-soft);font-family:var(--font-mono);letter-spacing:.17em;text-align:right;text-transform:uppercase;padding-bottom:.5rem;font-size:clamp(.62rem,.58rem + .12vw,.72rem);line-height:1.6}.wedding-countdown-grid{border-top:1px solid var(--wedding-line);border-bottom:1px solid var(--wedding-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.wedding-countdown-unit{border-left:1px solid var(--wedding-line);gap:.35rem;min-width:0;padding:clamp(1.4rem,2.8vw,2.5rem) clamp(.75rem,2.5vw,2.5rem);display:grid}.wedding-countdown-unit:first-child{border-left:0;padding-left:clamp(.75rem,2.5vw,2.5rem)}.wedding-countdown-unit span{color:var(--wedding-ink);font-family:var(--wedding-serif);font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:clamp(2.75rem,6vw,6rem);font-weight:400;line-height:.82}.wedding-countdown-unit small,.wedding-countdown-unit em{color:var(--wedding-ink-soft);font-family:var(--font-mono);letter-spacing:.17em;text-transform:uppercase;font-size:clamp(.62rem,.58rem + .1vw,.7rem);font-style:normal;line-height:1.35}.wedding-countdown-unit em{letter-spacing:.08em}.wedding-countdown-complete{color:var(--wedding-ink);font-family:var(--wedding-serif);font-weight:400}.wedding-visual{background:var(--wedding-paper-deep);width:100%;margin:0;overflow:hidden}.wedding-visual picture,.wedding-visual img{width:100%;display:block}.wedding-visual img{object-fit:cover;transform-origin:50%;will-change:transform, opacity;height:auto}.wedding-venue{background:var(--wedding-paper)}.wedding-venue-utility{padding-block:clamp(4.5rem,8vw,8rem)}.wedding-venue .wedding-location-module{border-color:var(--wedding-line);background:var(--wedding-paper-deep);grid-template-columns:minmax(0,1.85fr) minmax(15rem,.65fr);width:min(100%,60rem);min-height:0}.wedding-venue .wedding-location-map{aspect-ratio:16/9;min-height:0}.wedding-venue .wedding-location-meta{border-color:var(--wedding-line);background:var(--wedding-paper-deep);color:var(--wedding-ink)}.wedding-venue .wedding-location-meta:hover{background:#ddd2c1}.wedding-theme-mark{width:100%;padding:clamp(.75rem, 1.5vw, 1.5rem) var(--page-pad) clamp(.25rem, .8vw, .75rem);background:var(--wedding-paper);place-items:center;margin:0;display:grid}.wedding-theme-mark img{width:min(100%,36rem);height:auto;display:block}.wedding-theme{background:#171a0f;padding-block:0}.wedding-theme-visual{background:#171a0f}.wedding-schedule{background:var(--wedding-paper);padding:clamp(2rem,4vw,4rem) 0 clamp(7rem,11vw,12rem)}.wedding-timeline{border-top:1px solid var(--wedding-line);margin:0;padding:0;list-style:none}.wedding-timeline-item{border-bottom:1px solid var(--wedding-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,8rem);padding-block:clamp(2.25rem,4vw,4rem);display:grid}.wedding-timeline-item>time{color:var(--wedding-ink);font-family:var(--wedding-serif);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;justify-self:end;font-size:clamp(1.5rem,3vw,3.1rem);line-height:.9}.wedding-timeline-copy h3{color:var(--wedding-ink);font-family:var(--wedding-serif);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,3.4vw,3.4rem);font-weight:400;line-height:.9}.wedding-timeline-copy p{color:var(--wedding-ink-soft);font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;margin:.9rem 0 0;font-size:clamp(.68rem,.64rem + .12vw,.78rem)}.wedding-ending{background:var(--wedding-paper);padding:clamp(1.5rem,3vw,3rem)}.wedding-ending-visual{width:min(100%,108rem);margin-inline:auto}body.wedding-page .site-footer{background:var(--wedding-paper);color:var(--wedding-ink)}html[data-motion=reduced] [data-wedding-hero],html[data-motion=reduced] [data-wedding-image] img{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:reduce){[data-wedding-hero],[data-wedding-image] img{opacity:1!important;transform:none!important}}@media (width<=760px){.wedding-opening{min-height:0}.wedding-opening-visual,.wedding-opening-visual picture{position:relative;inset:auto}.wedding-opening-image{object-position:center center;height:auto}.wedding-countdown{padding-block:clamp(3.5rem,12vw,5rem)}.wedding-schedule{padding:clamp(1.5rem,6vw,2.25rem) 0 clamp(3.5rem,12vw,5rem)}.wedding-countdown-header{align-items:flex-end;gap:1rem;margin-bottom:1.75rem}.wedding-countdown-header h2{font-size:clamp(.88rem,4vw,1.1rem)}.wedding-countdown-header time{max-width:10.5rem;padding-bottom:0;font-size:.58rem;line-height:1.45}.wedding-countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wedding-countdown-unit{min-height:0;padding:1.25rem .5rem}.wedding-countdown-unit span{font-size:clamp(1.75rem,9vw,2.5rem)}.wedding-countdown-unit small,.wedding-countdown-unit em{letter-spacing:.08em;font-size:.52rem}.wedding-venue-utility{padding-block:clamp(3.75rem,15vw,5.5rem)}.wedding-venue .wedding-location-module{aspect-ratio:16/9;width:min(100%,18rem);min-height:0;display:block;position:relative}.wedding-venue .wedding-location-map{aspect-ratio:auto;width:100%;height:100%;min-height:0;position:absolute;inset:0}.wedding-venue .wedding-location-meta{z-index:4;backdrop-filter:blur(4px);background:#e5ddcfe6;border-left:0;align-items:center;gap:.75rem;min-height:0;padding:.65rem .75rem;position:absolute;bottom:0;left:0;right:0}.wedding-venue .wedding-location-meta small{font-size:.5rem;line-height:1.4}.wedding-venue .wedding-location-meta strong{max-width:8rem;font-size:.72rem;line-height:1.25}.wedding-theme{padding-block:0}.wedding-theme-mark{padding:.75rem var(--page-pad) .25rem}.wedding-theme-mark img{width:min(100%,19rem)}.wedding-timeline-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding-block:2.25rem}.wedding-timeline-item>time{font-size:clamp(1.25rem,5.5vw,1.8rem)}.wedding-timeline-copy h3{font-size:clamp(1.45rem,7vw,2.15rem);line-height:.96}.wedding-timeline-copy p{margin-top:.7rem;font-size:.68rem}.wedding-ending{padding:.75rem}}@media (width>=1600px){.wedding-ending{padding:5rem max(5rem,50vw - 54rem)}}
