:root{color-scheme:light dark;--bg:light-dark(#f3f2ee,#0b0e0d);--surface:light-dark(#fff,#151a18);--surface-2:light-dark(#e8e6df,#1d2421);--surface-3:light-dark(#dcd9d0,#262e2b);--text:light-dark(#0d1110,#efede7);--muted:light-dark(#5a625e,#a2aba7);--faint:light-dark(#8b928e,#6f7874);--line:light-dark(#0d11101a,#ffffff1a);--line-strong:light-dark(#0d111033,#fff3);--hover:light-dark(#0d11100f,#ffffff14);--glass:light-dark(#ffffffd1,#111514cc);--accent:light-dark(#0e5a4e,#8fd6bf);--accent-strong:light-dark(#0a4439,#b5e6d6);--accent-soft:light-dark(#dce9e3,#17302a);--on-accent:light-dark(#fff,#08110e);--gold:light-dark(#c99a45,#e2bd78);--gold-light:#ecd197;--gold-soft:light-dark(#f1dfb8,#3a2f1a);--gold-ink:#241906;--gold-glow:#d6ad6273;--gold-haze:#d6ad6229;--jade:#7fd6b9;--jade-glow:#7fd6b959;--teal-glow:#0e5a4e8c;--focus:light-dark(#0e5a4e,#8fd6bf);--danger:light-dark(#c62828,#ff8a80);--danger-soft:light-dark(#fdecea,#3a1714);--danger-ink:light-dark(#8a1c13,#ffb4ab);--night:light-dark(#090d0c,#121816);--night-2:light-dark(#131a18,#1a2320);--on-night:#f3f2ee;--on-night-muted:#a4ada9;--glass-night:#ffffff14;--line-night:#ffffff24;--ink-black:#090d0c;--white:#fff;--on-photo:#fff;--on-photo-muted:#ffffffc7;--on-photo-faint:#ffffff8c;--scrim-strong:#060908e6;--scrim:#0609088c;--scrim-soft:#06090826;--glass-photo:#ffffff1a;--glass-photo-strong:#fff3;--line-photo:#fff3;--field-on-photo:#fffffff2;--device-body:#0b0d0d;--device-edge:#2a2f2e;--device-metal:light-dark(#c9ccca,#3a3f3e);--dot-red:#ec6a5e;--dot-amber:#f4bf4f;--dot-green:#61c554;--shadow-ink:light-dark(#090d0c29,#0009);--shadow:0 1px 2px light-dark(#090d0c0a,#0000004d), 0 12px 32px -12px var(--shadow-ink);--shadow-float:0 2px 4px light-dark(#090d0c0a,#0000004d), 0 40px 90px -30px light-dark(#090d0c61,#000c);--shadow-device:0 60px 120px -40px light-dark(#090d0c73,#000000d9)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/be-vietnam-pro-300-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/be-vietnam-pro-300-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fraunces-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fraunces-400-italic-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}:root{--font-latin:"Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-serif:"Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-system:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font:var(--font-latin);--radius-xl:clamp(24px, 3vw, 40px);--radius:24px;--radius-sm:14px;--arch:var(--radius-xl);--frame:clamp(8px, 1.1vw, 16px);--container:1320px;--gutter:clamp(18px, 4vw, 48px);--section:clamp(88px, 11vw, 176px);--header-h:76px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-script=system]{--font:var(--font-system)}:lang(ja){--font-system:system-ui, "Hiragino Sans", "Yu Gothic UI", "Meiryo", "Noto Sans JP", sans-serif}:lang(ko){--font-system:system-ui, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .28s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .5s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:translateY(18px)}}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);interpolate-size:allow-keywords}body{background:var(--bg);color:var(--text);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.65;overflow-x:clip}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{text-wrap:balance;margin:0 0 .5em;font-weight:500}h1{letter-spacing:-.05em;font-size:clamp(2.9rem,7.2vw,7rem);line-height:.98}h2{letter-spacing:-.045em;font-size:clamp(2.3rem,5.2vw,4.75rem);line-height:1.02}h3{letter-spacing:-.02em;font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.22}:root[data-script=system] :is(h1,h2,h3){letter-spacing:0}:root[data-script=system] h1{font-size:clamp(2.3rem,5.6vw,5rem);line-height:1.15}:root[data-script=system] h2{font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.2}:lang(vi) h1{line-height:1.1}:lang(vi) h2{line-height:1.14}p{text-wrap:pretty;margin:0 0 1em}.theme-sun{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-sun{display:block}:root:not([data-theme=light]) .theme-moon{display:none}}:root[data-theme=dark] .theme-sun{display:block}:root[data-theme=dark] .theme-moon{display:none}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}.serif{--sheen-base:var(--accent);--sheen-light:var(--gold);font-family:var(--font-serif);letter-spacing:-.025em;color:var(--sheen-base);padding-inline:.04em;font-style:italic;font-weight:400}.on-night .serif,.on-photo .serif{--sheen-base:var(--gold);--sheen-light:var(--white)}@supports (background-clip:text){.serif{background:linear-gradient(105deg, var(--sheen-base) 42%, var(--sheen-light) 50%, var(--sheen-base) 58%) 120% 0 / 300% 100%;color:#0000;animation:sheen 7s var(--ease-in-out) infinite;-webkit-background-clip:text;background-clip:text}}@keyframes sheen{0%,35%{background-position:120% 0}to{background-position:-20% 0}}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}::selection{background:var(--gold-soft);color:var(--gold-ink)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section-tight{padding-block:calc(var(--section) * .55)}.panel{margin-inline:var(--frame);border-radius:var(--radius-xl);isolation:isolate;position:relative;overflow:clip}.on-night,.on-photo{color-scheme:dark}.on-night{background:radial-gradient(60% 70% at 85% 0%, var(--teal-glow), transparent 70%), radial-gradient(50% 60% at 0% 100%, var(--gold-haze), transparent 70%), var(--night);color:var(--on-night);--muted:var(--on-night-muted);--line:var(--line-night);--surface:var(--night-2);--focus:var(--jade)}.on-paper{background:var(--surface-2)}.lead{color:var(--muted);max-width:40rem;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.55}.muted{color:var(--muted)}.tag{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.5rem;margin:0 0 1.5rem;padding:.38rem .9rem .38rem .75rem;font-size:.875rem;font-weight:500;line-height:1.3;display:inline-flex}.tag:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}.on-night .tag,.on-photo .tag{background:var(--glass-night);box-shadow:inset 0 0 0 1px var(--line-night);backdrop-filter:blur(12px)}.on-night .tag:before,.on-photo .tag:before{background:var(--gold);box-shadow:0 0 0 4px var(--gold-haze)}.section-head{text-align:center;justify-items:center;max-width:62rem;margin:0 auto clamp(3rem,6vw,5.5rem);display:grid}.section-head h2{margin:0}.section-head .lead{margin:1.5rem auto 0}.section-head.start{text-align:start;justify-items:start;margin-inline:0}.section-head.start .lead{margin-inline:0}.btn{--btn-bg:var(--text);--btn-fg:var(--bg);background:var(--btn-bg);min-height:52px;color:var(--btn-fg);font:inherit;cursor:pointer;isolation:isolate;transition:transform .3s var(--ease-out), translate .3s var(--ease-out), box-shadow .3s var(--ease-out), background-color .2s ease, color .2s ease;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.55rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--white) 28%, transparent) 50%, transparent 70%);transition:transform .7s var(--ease-out);position:absolute;inset:0;transform:translate(-120%)}.btn:hover{box-shadow:0 14px 30px -12px color-mix(in srgb, var(--btn-bg) 70%, transparent);transform:translateY(-2px)}.btn:hover:before{transform:translate(120%)}.btn:active{transform:scale(.97)}.btn-primary{--btn-bg:var(--text);--btn-fg:var(--bg)}.btn-accent{--btn-bg:var(--accent);--btn-fg:var(--on-accent)}.btn-gold{--btn-bg:var(--gold);--btn-fg:var(--gold-ink)}.btn-light{--btn-bg:var(--white);--btn-fg:var(--ink-black)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--text);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-ghost:hover{--btn-bg:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line), var(--shadow)}.btn-glass{--btn-bg:var(--glass-photo);--btn-fg:var(--on-photo);box-shadow:inset 0 0 0 1px var(--line-photo);backdrop-filter:blur(14px)}.btn-glass:hover{--btn-bg:var(--glass-photo-strong)}.on-night .btn-primary{--btn-bg:var(--white);--btn-fg:var(--ink-black)}.on-night .btn-ghost{--btn-fg:var(--on-night)}.btn[disabled]{opacity:.6;cursor:progress;transform:none}.btn-sm{min-height:42px;padding:.5rem 1.1rem;font-size:.95rem}.arrow{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;margin-inline-end:-.6rem;display:inline-grid}.arrow:after{content:"→";transition:transform .35s var(--ease-out);font-size:.9em;line-height:1}:root[dir=rtl] .arrow:after{content:"←"}.btn:hover .arrow:after,a:hover>.arrow:after{transform:translate(3px)}.card{background:var(--surface);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.5rem)}.spot{isolation:isolate;position:relative}.spot:after{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.on-night .spot:after,.spot.on-night:after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--jade) 16%, transparent), transparent 60%)}.spot:hover:after{opacity:1}.check-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.check-list li{align-items:flex-start;gap:.75rem;display:flex}.check-list li:before{content:"";background-color:var(--accent);border-radius:50%;flex:none;width:1.3rem;height:1.3rem;margin-top:.2em;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 0a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm4.2 6.3-5.4 5.6-2.9-2.8-1.3 1.4 4.2 4 6.8-6.9-1.4-1.3Z'/%3E%3C/svg%3E") 50%/100% no-repeat}.on-night .check-list li:before{background-color:var(--gold)}.photo{border-radius:var(--radius);background:var(--surface-2);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo-arch{border-radius:var(--arch)}.photo:before{content:"";z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;position:absolute;inset:0}.prose{max-width:46rem}.prose h2{letter-spacing:-.03em;margin-top:2.2em;font-size:1.9rem}.prose h3{margin-top:1.6em}.prose a{color:var(--accent)}.prose li{margin-bottom:.4em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--text);color:var(--bg);border-radius:var(--radius-sm);padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}html:has(.overture):not([data-intro=seen]){--intro:1.35s}.pointer-halo{z-index:70;background:radial-gradient(circle, var(--gold-haze), transparent 65%);mix-blend-mode:soft-light;opacity:0;pointer-events:none;width:420px;height:420px;transform:translate3d(var(--hx,-999px), var(--hy,-999px), 0);border-radius:50%;margin:-210px 0 0 -210px;transition:opacity .3s ease-out;position:fixed;top:0;left:0}:root.has-pointer .pointer-halo{opacity:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pointer-halo{mix-blend-mode:screen}}:root[data-theme=dark] .pointer-halo{mix-blend-mode:screen}.photo:before{background:linear-gradient(105deg, transparent 38%, color-mix(in srgb, var(--gold-light) 38%, transparent) 50%, transparent 62%) 160% 0 / 260% 100% no-repeat}.is-on .photo:before,.photo.is-on:before{animation:1.4s cubic-bezier(.65,0,.35,1) .35s both shine}@keyframes shine{0%{background-position:160% 0}to{background-position:-60% 0}}.page{z-index:1;background:var(--bg);padding-bottom:var(--section);box-shadow:0 30px 60px -40px var(--shadow-ink);position:relative}.scroll-progress{z-index:60;background:linear-gradient(90deg, var(--accent), var(--gold));transform-origin:0;height:2px;transform:scaleX(var(--progress,0));pointer-events:none;position:fixed;inset:0 0 auto}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both read-progress scroll(root)}@keyframes read-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.fab-top{z-index:55;background:var(--glass);width:52px;height:52px;color:var(--text);-webkit-backdrop-filter:blur(16px)saturate(1.5);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-float);opacity:0;visibility:hidden;transition:opacity .4s ease, visibility .4s, transform .5s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:clamp(16px,2.4vw,32px);right:clamp(16px,2.4vw,32px);transform:translateY(16px)scale(.9)}.fab-top.is-visible{opacity:1;visibility:visible;transform:none}.fab-top:hover{transform:translateY(-3px)}.fab-top:hover .fab-arrow{animation:nudge-up .9s var(--ease-out) infinite}@keyframes nudge-up{50%{transform:translateY(-3px)}}.fab-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.fab-ring circle{fill:none;stroke:var(--gold);stroke-width:2px;stroke-linecap:round;stroke-dasharray:138.2;stroke-dashoffset:calc(138.2 * (1 - var(--progress,0)))}:is(.words,.words-scroll) .w{overflow-clip-margin:.2em;vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:clip}.words .w>span{animation:word-rise 1.1s var(--ease-out) both;animation-delay:calc(.12s + var(--intro,0s) + var(--i,0) * 70ms);display:inline-block}@keyframes word-rise{0%{opacity:0;transform:translateY(105%)rotate(4deg)}}.rise{animation:rise 1.1s var(--ease-out) both;animation-delay:calc(var(--d,.5s) + var(--intro,0s))}@keyframes rise{0%{opacity:0;transform:translateY(28px)}}html.js .words-scroll .w>span{opacity:0;transition:transform 1s var(--ease-out), opacity .8s ease;transition-delay:calc(var(--i,0) * 55ms);display:inline-block;transform:translateY(105%)rotate(3deg)}html.js .words-scroll.is-on .w>span,html.js .is-on .words-scroll .w>span{opacity:1;transform:none}[data-tilt]{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease-out);will-change:transform}html.js [data-reveal],html.js [data-reveal-group]>*{opacity:0;transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out), clip-path 1.3s var(--ease-out);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(36px)}html.js [data-reveal=mask]{opacity:1;clip-path:inset(18% 8% 0 8% round var(--radius-xl));transform:none}html.js [data-reveal=scale]{transform:scale(.94)}html.js [data-reveal].is-on,html.js [data-reveal-group].is-on>*{opacity:1;transform:none}html.js [data-reveal-group].is-on>[data-tilt]{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}html.js [data-reveal=mask].is-on{clip-path:inset(0)}html.js [data-reveal-group]>:nth-child(2){--i:1}html.js [data-reveal-group]>:nth-child(3){--i:2}html.js [data-reveal-group]>:nth-child(4){--i:3}html.js [data-reveal-group]>:nth-child(5){--i:4}html.js [data-reveal-group]>:nth-child(6){--i:5}html.js [data-reveal-group]>:nth-child(7){--i:6}html.js [data-reveal-group]>:nth-child(n+8){--i:7}@supports (animation-timeline:view()){.drift img{height:118%;animation:linear both drift view()}@keyframes drift{0%{transform:translateY(-15%)}to{transform:translateY(0)}}.fill-words .fw{animation:linear both fill-word view();animation-range:entry 90% cover 45%}@keyframes fill-word{0%{opacity:.16}to{opacity:1}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.words .w>span,.rise{animation-name:fade-in}html.js .words-scroll .w>span{transform:none}[data-tilt]{transform:none!important}html.js [data-reveal],html.js [data-reveal-group]>*,html.js [data-reveal=scale]{transform:none}html.js [data-reveal=mask]{clip-path:none;opacity:0}html.js [data-reveal-group].is-on>[data-tilt]{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}html.js [data-reveal=mask].is-on{opacity:1}.drift img{height:100%;transform:none;animation:none!important}::view-transition-new(root){animation-name:fade-in}}@keyframes fade-in{0%{opacity:0}}:lang(ja) :is(h1,h2,h3,.lead){word-break:auto-phrase}.logo[data-astro-cid-f7espo7c]{color:var(--text);align-items:flex-end;gap:.55rem;text-decoration:none;display:inline-flex}.logo[data-astro-cid-f7espo7c] .logo-mark{transition:transform .6s var(--ease-out)}.logo[data-astro-cid-f7espo7c]:hover .logo-mark{transform:rotate(-8deg)scale(1.06)}.word[data-astro-cid-f7espo7c]{font-family:var(--font-latin);letter-spacing:-.045em;font-size:1.7rem;font-weight:600;line-height:.8}.flag[data-astro-cid-noyxejat]{border-radius:50%;flex:none;box-shadow:0 0 0 1px #0000001f}.lang[data-astro-cid-l4evwy7q]{position:relative}summary[data-astro-cid-l4evwy7q]{cursor:pointer;min-height:44px;color:var(--muted);border-radius:999px;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.95rem;font-weight:500;list-style:none;transition:background-color .2s,color .2s;display:inline-flex}summary[data-astro-cid-l4evwy7q]::-webkit-details-marker{display:none}.chevron[data-astro-cid-l4evwy7q]{opacity:.6;transition:transform .3s var(--ease-out)}.lang[data-astro-cid-l4evwy7q][open] .chevron[data-astro-cid-l4evwy7q]{transform:rotate(180deg)}summary[data-astro-cid-l4evwy7q]:hover,.lang[data-astro-cid-l4evwy7q][open] summary[data-astro-cid-l4evwy7q]{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}ul[data-astro-cid-l4evwy7q]{z-index:30;background:var(--surface);border-radius:var(--radius);min-width:13rem;max-height:min(70vh,30rem);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-float);animation:lang-in .35s var(--ease-out) both;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .4rem);right:0;overflow:auto}@keyframes lang-in{0%{opacity:0;transform:translateY(-6px)}}[data-astro-cid-l4evwy7q][data-align=start] ul[data-astro-cid-l4evwy7q]{inset:auto auto calc(100% + .4rem) 0}a[data-astro-cid-l4evwy7q]{border-radius:10px;align-items:center;gap:.65rem;padding:.55rem .75rem;text-decoration:none;display:flex}a[data-astro-cid-l4evwy7q]:hover{background:var(--surface-2)}a[data-astro-cid-l4evwy7q][aria-current]{color:var(--accent);font-weight:700}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--glass);-webkit-backdrop-filter:saturate(1.6)blur(20px);view-transition-name:site-header;width:100%;transition:box-shadow .4s,background-color .4s;position:sticky;top:0;box-shadow:0 1px #0000}.site-header[data-astro-cid-nen7h5rs].is-scrolled{box-shadow:0 1px 0 var(--line), 0 14px 40px -24px var(--shadow-ink)}.bar[data-astro-cid-nen7h5rs]{height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;display:flex}ul[data-astro-cid-nen7h5rs]{margin:0;padding:0;list-style:none}.desktop-nav[data-astro-cid-nen7h5rs]{display:none}.desktop-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.15rem;display:flex}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);border-radius:999px;padding:.55rem .95rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s,background-color .2s;display:inline-block;position:relative}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{color:var(--text)}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:.25rem;left:50%}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.35rem;display:flex}.theme-toggle[data-astro-cid-nen7h5rs]{width:44px;height:44px;color:var(--muted);cursor:pointer;transition:background-color .2s ease, color .2s ease, transform .5s var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.theme-toggle[data-astro-cid-nen7h5rs]:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text);transform:rotate(-20deg)}.cta[data-astro-cid-nen7h5rs]{display:none}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{background:var(--text);width:46px;height:46px;color:var(--bg);cursor:pointer;border-radius:50%;place-items:center;list-style:none;display:grid}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.bars[data-astro-cid-nen7h5rs],.bars[data-astro-cid-nen7h5rs]:before,.bars[data-astro-cid-nen7h5rs]:after{width:18px;height:1.5px;transition:transform .35s var(--ease-out);background:currentColor;border-radius:2px;display:block}.bars[data-astro-cid-nen7h5rs]{position:relative}.bars[data-astro-cid-nen7h5rs]:before,.bars[data-astro-cid-nen7h5rs]:after{content:"";position:absolute;left:0}.bars[data-astro-cid-nen7h5rs]:before{top:-6px}.bars[data-astro-cid-nen7h5rs]:after{top:6px}.mobile-menu[data-astro-cid-nen7h5rs][open] .bars[data-astro-cid-nen7h5rs]{background:0 0}.mobile-menu[data-astro-cid-nen7h5rs][open] .bars[data-astro-cid-nen7h5rs]:before{transform:translateY(6px)rotate(45deg)}.mobile-menu[data-astro-cid-nen7h5rs][open] .bars[data-astro-cid-nen7h5rs]:after{transform:translateY(-6px)rotate(-45deg)}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{left:var(--frame);right:var(--frame);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-float);animation:menu-in .45s var(--ease-out) both;gap:1rem;padding:1rem 1.5rem 1.5rem;display:grid;position:absolute;top:calc(100% + 8px)}@keyframes menu-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]+li[data-astro-cid-nen7h5rs]{border-top:1px solid var(--line)}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.btn){letter-spacing:-.03em;padding:.85rem 0;font-size:1.6rem;font-weight:500;text-decoration:none;display:block}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{color:var(--accent)}@media (width>=1100px){.desktop-nav[data-astro-cid-nen7h5rs]{display:block}.cta[data-astro-cid-nen7h5rs]{display:inline-flex}.mobile-menu[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{z-index:0;background:var(--surface-2);width:100%;color:var(--text);padding-top:clamp(3.5rem,7vw,5.5rem);position:relative}@media (width>=900px) and (height>=720px){.site-footer[data-astro-cid-jo6i4kqk]{position:sticky;bottom:0}}.cols[data-astro-cid-jo6i4kqk]{gap:2.5rem;display:grid}@media (width>=820px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr 1fr 1fr 1fr}}.brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:24rem;color:var(--muted);margin:1.5rem 0 1.25rem}.mail[data-astro-cid-jo6i4kqk]{color:var(--accent);align-items:center;gap:.6rem;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500;text-decoration:none;display:inline-flex}.cols[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{letter-spacing:0;color:var(--muted);margin-bottom:1rem;font-size:.95rem;font-weight:500}.cols[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.cols[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{transition:color .2s ease, transform .35s var(--ease-out);padding-block:.3rem;text-decoration:none;display:inline-block}.cols[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent);transform:translate(4px)}.legal-row[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(3rem,6vw,4.5rem);padding-block:1.5rem 1.75rem;font-size:.9rem;display:flex}.legal-row[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:44rem;margin:0}.legal-actions[data-astro-cid-jo6i4kqk]{color:var(--text);align-items:center;gap:.5rem;display:flex}.to-top[data-astro-cid-jo6i4kqk]{background:var(--surface);border-radius:999px;align-items:center;gap:.35rem;min-height:44px;padding:0 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-flex}.to-top[data-astro-cid-jo6i4kqk]:hover{background:var(--hover)}.fireflies[data-astro-cid-mv3uqalb]{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}i[data-astro-cid-mv3uqalb]{left:var(--x);top:var(--y);width:var(--z);height:var(--z);background:var(--gold-light);box-shadow:0 0 calc(var(--z) * 3) calc(var(--z) * .8) var(--gold-glow), 0 0 calc(var(--z) * 8) calc(var(--z) * 2) var(--gold-haze);opacity:0;animation:glow var(--t) ease-in-out var(--d) infinite, wander-0 var(--t) ease-in-out var(--d) infinite alternate;border-radius:50%;position:absolute}i[data-astro-cid-mv3uqalb].jade{background:var(--jade);box-shadow:0 0 calc(var(--z) * 3) calc(var(--z) * .8) var(--jade-glow), 0 0 calc(var(--z) * 8) calc(var(--z) * 2) color-mix(in srgb, var(--jade) 15%, transparent)}i[data-astro-cid-mv3uqalb].p1{animation-name:glow,wander-1}i[data-astro-cid-mv3uqalb].p2{animation-name:glow,wander-2}@keyframes glow{0%,to{opacity:0}20%,45%{opacity:.95}32%{opacity:.4}70%{opacity:.85}}@keyframes wander-0{0%{transform:translate(0)}33%{transform:translate(28px,-40px)}66%{transform:translate(-18px,-78px)}to{transform:translate(14px,-120px)}}@keyframes wander-1{0%{transform:translate(0)}40%{transform:translate(-36px,-30px)}75%{transform:translate(10px,-64px)}to{transform:translate(-24px,-100px)}}@keyframes wander-2{0%{transform:translate(0)scale(.8)}50%{transform:translate(40px,-50px)scale(1.2)}to{transform:translate(70px,-90px)scale(.9)}}.cta[data-astro-cid-prurgk2d]{margin-top:var(--section);text-align:center;min-height:min(92svh,860px);color:var(--on-photo);background:var(--ink-black);place-items:center;display:grid}.cta-photo[data-astro-cid-prurgk2d]{z-index:-3;border-radius:0;position:absolute;inset:0}.cta[data-astro-cid-prurgk2d]:after{content:"";z-index:-2;background:radial-gradient(60% 60% at 50% 55%, var(--scrim-soft), var(--scrim-strong)), linear-gradient(to bottom, var(--scrim-soft), var(--scrim));position:absolute;inset:0}.motes[data-astro-cid-prurgk2d]{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cta-copy[data-astro-cid-prurgk2d]{justify-items:center;padding-block:clamp(5rem,10vw,8rem);display:grid}.cta-copy[data-astro-cid-prurgk2d] h2{max-width:14ch;font-size:clamp(2.6rem,6.4vw,6rem)}.cta-copy[data-astro-cid-prurgk2d] .lead[data-astro-cid-prurgk2d]{color:var(--on-photo-muted);margin:.5rem auto 2.5rem}.overture[data-astro-cid-gmxmybs5]{z-index:100;background:radial-gradient(40% 40% at 50% 50%, var(--teal-glow), transparent 70%), var(--ink-black);pointer-events:none;place-items:center;animation:.75s cubic-bezier(.76,0,.24,1) 1.15s forwards lift;display:grid;position:fixed;inset:0}:root[data-intro=seen] .overture[data-astro-cid-gmxmybs5]{display:none}.halo[data-astro-cid-gmxmybs5]{background:radial-gradient(circle, var(--gold-glow), transparent 65%);opacity:0;border-radius:50%;width:280px;height:280px;animation:1.2s ease-out .55s forwards halo;position:absolute}svg[data-astro-cid-gmxmybs5]{position:relative;overflow:visible}.line[data-astro-cid-gmxmybs5]{fill:none;stroke:var(--gold-light);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 6px var(--gold-glow));animation:.8s cubic-bezier(.65,0,.35,1) forwards draw;animation-delay:calc(var(--i) * .12s)}.fill[data-astro-cid-gmxmybs5]{fill:var(--gold-light);opacity:0;filter:drop-shadow(0 0 18px var(--gold-glow));animation:.45s ease-out .75s forwards fill}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fill{to{opacity:1}}@keyframes halo{40%{opacity:1}to{opacity:.6;transform:scale(1.4)}}@keyframes lift{to{clip-path:inset(0 0 100%);visibility:hidden}}.lang-suggest[data-astro-cid-rauvoui2]{background:var(--night);color:var(--on-photo);font-size:.95rem}.inner[data-astro-cid-rauvoui2]{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding-block:.6rem;display:flex}p[data-astro-cid-rauvoui2]{flex:14rem;margin:0}.btn[data-astro-cid-rauvoui2]{min-height:40px;padding:.4rem 1rem}.dismiss[data-astro-cid-rauvoui2]{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.5rem}.dismiss[data-astro-cid-rauvoui2]:hover{background:var(--glass-photo)}
