:root{color-scheme:dark;--bg:#121411;--bg2:#1a1c18;--panel:#20221d;--panel2:#272923;--ink:#f3f0e8;--muted:#a5a69d;--faint:#777c70;--line:rgba(240,235,221,.14);--gold:#e4be8b;--gold-deep:#bd8d55;--hero:#151715;--white:#fff;--shadow:0 30px 80px rgba(0,0,0,.18)}
:root[data-theme="light"]{color-scheme:light;--bg:#f5f2ea;--bg2:#ece8df;--panel:#fffaf0;--panel2:#ede8db;--ink:#1b211b;--muted:#5b6259;--faint:#73786e;--line:rgba(24,28,24,.15);--gold:#9a6632;--gold-deep:#9a6632;--hero:#eae6dc;--white:#111;--shadow:0 30px 70px rgba(58,49,38,.1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}::selection{background:var(--gold);color:#171a16}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}.container{max-width:1344px;width:calc(100% - 112px);margin-inline:auto}.section{padding-block:132px}.kicker,.eyebrow,.section-aside,.hero-meta,.hero-bottom,.art-foot,.hero-art-tag,.chapter-top,.chapter-action,.chapter-hint,.quote-counter,.quote-footer,.notebook-form label,.field-meta,.footer-bottom,.top-link,.local-notice{font-size:11px;font-weight:750;letter-spacing:.16em}.kicker{color:var(--gold);margin-bottom:30px;display:block}.display-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,5vw,75px);letter-spacing:-.05em;font-weight:400;line-height:1.1}.display-title em{color:var(--gold);font-weight:400}.skip-link{position:fixed;left:12px;top:-70px;padding:12px 18px;z-index:1000;background:var(--gold);color:#141414}.skip-link:focus{top:10px}.reading-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:var(--gold);transition:width .08s linear}.site-header{height:91px;border-bottom:1px solid var(--line);position:relative;z-index:40;background:var(--bg)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{display:flex;align-items:center;gap:14px;flex-shrink:0}.mark{font-family:Georgia,serif;font-size:32px;letter-spacing:-.17em;font-weight:700;line-height:1}.mark span{color:var(--gold)}.mark b{color:var(--gold);font-size:32px;letter-spacing:0}.wordmark-label{display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--line);padding-left:14px}.wordmark-label strong{font-size:12px;letter-spacing:.14em;line-height:1.3}.wordmark-label small{font-size:8px;letter-spacing:.2em;color:var(--muted);font-weight:700}.main-nav{display:flex;align-items:center;gap:37px}.main-nav a{font-size:12px;font-weight:700;color:var(--muted);transition:color .2s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:background .2s,border-color .2s}.icon-button:hover{background:var(--panel2);border-color:var(--gold)}.icon-button svg{width:18px;height:18px}.menu-button{display:none}
.hero{background:var(--hero);position:relative;overflow:hidden}.hero-noise{position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(227,194,151,.18) .5px,transparent .75px);background-size:7px 7px;mask-image:linear-gradient(to right,transparent 0%,#000 90%)}.hero-layout{min-height:703px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:25px;padding-top:68px;padding-bottom:80px}.hero-copy{position:relative;z-index:2;padding-bottom:10px}.eyebrow{color:var(--gold);display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.17em}.eyebrow-line{display:inline-block;width:30px;height:1px;background:var(--gold)}.eyebrow-dot{font-size:14px;opacity:.7}.hero-overline{font-size:14px;color:var(--muted);margin:65px 0 8px}.hero h1{margin-bottom:28px;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.065em;font-size:clamp(63px,6.7vw,117px);font-weight:400;line-height:.99}.hero h1 span{display:block;white-space:nowrap}.hero h1 .title-em{font-size:.84em}.hero h1 i{font-weight:400;color:var(--gold)}.hero-subtitle{max-width:525px;font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:33px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:15px 23px;border:1px solid transparent;border-radius:0;font-size:12px;font-weight:750;transition:transform .2s,background .2s,color .2s,border-color .2s;min-height:53px}.button:hover{transform:translateY(-2px)}.button-primary{color:#1b1b18;background:#e2bc89}.button-primary:hover{background:#f0d2ac}.button-outline{color:var(--ink);border-color:var(--line);background:transparent}.button-outline:hover{border-color:var(--gold);color:var(--gold)}.hero-meta{margin-top:74px;color:var(--faint);display:flex;gap:35px;font-size:9px}.hero-art-wrap{position:relative;align-self:center;padding-block:23px}.hero-art-frame{position:relative;min-height:606px;border:1px solid rgba(219,179,125,.16);display:flex;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 37%,rgba(164,119,72,.2),transparent 55%),linear-gradient(140deg,rgba(95,73,51,.05),rgba(0,0,0,.13))}.art-orbit{position:absolute;width:380px;height:380px;border:1px solid rgba(222,184,138,.13);border-radius:50%;top:70px;left:50%;transform:translateX(-50%)}.orbit-two{width:520px;height:520px;top:0;border-style:dashed;border-color:rgba(222,184,138,.07)}.hero-art{position:relative;z-index:1;width:min(92%,440px);height:565px;object-fit:contain;filter:drop-shadow(13px 26px 28px rgba(0,0,0,.36));animation:float 7s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.art-side{position:absolute;z-index:2;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:rgba(227,189,143,.63)}.art-side-left{left:20px;top:23px}.art-side-right{right:19px;bottom:77px}.art-foot{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;z-index:2;padding:22px;color:rgba(239,213,177,.8);font-size:9px;border-top:1px solid rgba(219,179,125,.19)}.hero-art-tag{display:block;margin-top:14px;text-align:center;color:var(--faint);font-size:9px}.hero-bottom{border-top:1px solid var(--line);position:relative;z-index:2}.hero-bottom-inner{display:flex;justify-content:space-between;align-items:center;min-height:64px;color:var(--faint);font-size:9px}.hero-bottom-inner span span{color:var(--gold);margin-left:10px}
.intro{border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:24% 1fr;gap:40px}.section-aside{display:flex;gap:15px;color:var(--muted);font-size:10px;padding-top:12px}.section-number{color:var(--gold)}.intro-main>.kicker{margin-bottom:32px}.intro-main h2{margin-bottom:41px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:810px;color:var(--muted);font-size:15px;line-height:2}.intro-columns p{margin-bottom:0}.intro-columns strong{color:var(--ink);font-weight:650}.intro-sign{display:flex;align-items:center;gap:14px;margin-top:42px;font-size:12px;font-weight:700;letter-spacing:.13em}.intro-sign small{color:var(--muted);font-size:10px;font-weight:400}.signature-line{height:1px;width:40px;background:var(--gold)}
.chapters{background:var(--bg2)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:61px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:310px;color:var(--muted);font-size:14px;line-height:1.95;margin-bottom:6px}.chapter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.chapter-card{background:var(--panel);border:1px solid var(--line);min-width:0;transition:border-color .2s,background .2s;align-self:stretch}.chapter-card[open]{border-color:rgba(222,184,138,.53)}.chapter-card:hover{border-color:rgba(222,184,138,.55)}.chapter-card>summary{list-style:none;cursor:pointer;min-height:335px;padding:25px;display:flex;flex-direction:column;outline-offset:4px}.chapter-card>summary::-webkit-details-marker{display:none}.chapter-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);letter-spacing:.11em;font-size:9px}.card-plus{color:var(--gold);font-size:25px;font-weight:300;line-height:1;transition:transform .2s}.chapter-card[open] .card-plus{transform:rotate(45deg)}.chapter-icon{font-family:Georgia,serif;font-size:50px;line-height:1;color:var(--gold);margin:29px 0 24px}.chapter-name{font-size:31px;letter-spacing:-.04em;font-family:Georgia,serif;margin-bottom:14px}.chapter-excerpt{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:25px}.chapter-action{margin-top:auto;display:flex;justify-content:space-between;color:var(--gold);font-size:9px}.chapter-action span{font-size:15px}.chapter-detail{padding:22px 25px 26px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.85;animation:fade-in .25s}.chapter-detail p{margin:0 0 15px}.chapter-detail p:last-child{margin:4px 0 0;color:var(--ink)}.chapter-detail strong{font-size:9px;color:var(--gold);letter-spacing:.13em}.chapter-hint{font-size:10px;color:var(--faint);margin:23px 0 0;letter-spacing:.04em}@keyframes fade-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,125px);align-items:center}.manifesto-image{height:635px;background:radial-gradient(circle at 48% 46%,#62503d,#2a2d27 55%,#1c211d 100%);position:relative;overflow:hidden;display:grid;place-items:center}.manifesto-image::before,.manifesto-image::after{content:"";position:absolute;width:130%;height:1px;background:rgba(232,203,155,.25);transform:rotate(42deg)}.manifesto-image::after{transform:rotate(-48deg)}.manifesto-ring{border:1px solid rgba(229,191,143,.65);width:365px;height:365px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 0 0 45px rgba(230,195,153,.025),0 0 0 90px rgba(230,195,153,.018)}.manifesto-ring::before{content:"";width:280px;height:280px;border:1px dashed rgba(229,191,143,.3);border-radius:50%;position:absolute}.manifesto-center{font-family:Georgia,serif;font-style:italic;font-size:240px;color:#d8b48d;line-height:1;transform:translateY(-10px);text-shadow:0 18px 20px rgba(0,0,0,.18)}.manifesto-corner{position:absolute;color:#d5b896;font-size:10px;letter-spacing:.16em;font-weight:700}.top-left{top:25px;left:25px}.bottom-right{bottom:25px;right:25px}.manifesto-copy .display-title{margin-bottom:27px}.manifesto-copy>p{color:var(--muted);font-size:15px;line-height:2;max-width:490px}.statement{border-top:1px solid var(--line);margin-top:50px;padding-top:35px;display:flex;gap:20px}.statement-quote{font-family:Georgia,serif;color:var(--gold);font-size:77px;line-height:.85}.statement p{font-family:Georgia,serif;font-style:italic;font-size:23px;line-height:1.6;margin:0;max-width:390px}
.quote-section{background:var(--gold);color:#1b1a16;padding-top:105px;padding-bottom:115px}.quote-top{display:flex;align-items:center;justify-content:space-between}.quote-section .kicker{color:#57422c;margin:0}.quote-counter{color:#55452f}.quote-large{font-family:Georgia,serif;font-size:clamp(39px,5.4vw,83px);font-weight:400;letter-spacing:-.05em;line-height:1.25;max-width:1100px;margin:57px 0 80px;min-height:200px}.quote-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:10px;color:#50402d}.quote-controls{display:flex;gap:10px;align-items:center}.round-button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(31,31,27,.36);background:transparent;color:#211e18;font-size:20px;transition:background .2s,color .2s}.round-button:hover{background:#1b1b18;color:#ead3b5}.copy-button{background:transparent;border:0;color:#211e18;padding:15px;font-size:10px;font-weight:800;letter-spacing:.1em}.copy-button:hover{text-decoration:underline}
.notebook{background:var(--bg2)}.notebook-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,145px)}.notebook-copy .display-title{margin-bottom:30px}.notebook-copy>p{font-size:15px;color:var(--muted);max-width:415px;line-height:2}.local-notice{max-width:430px;border-left:2px solid var(--gold);padding-left:15px;display:flex;align-items:start;gap:13px;margin-top:52px;color:var(--muted);font-size:10px;line-height:1.8;letter-spacing:.02em;font-weight:500}.notice-dot{width:7px;height:7px;flex-shrink:0;background:var(--gold);border-radius:50%;margin-top:6px}.notebook-form{background:var(--panel);padding:35px;border:1px solid var(--line);align-self:start}.notebook-form label{display:block;color:var(--gold);margin-bottom:18px;font-size:10px}.notebook-form textarea{width:100%;border:1px solid var(--line);background:var(--bg);padding:19px;color:var(--ink);resize:vertical;line-height:1.8;min-height:210px;border-radius:0;outline:none}.notebook-form textarea:focus{border-color:var(--gold)}.notebook-form textarea::placeholder{color:var(--faint)}.field-meta{display:flex;justify-content:space-between;color:var(--faint);margin-top:10px;font-size:9px;letter-spacing:.03em;font-weight:500}.journal-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:28px}.button-text{border:0;background:transparent;color:var(--muted);padding:14px 7px}.button-text:hover{color:var(--ink)}.journal-status{font-size:12px;color:var(--gold);margin:14px 0 0;min-height:18px}
.site-footer{background:#0c0e0c;color:#efeee7;padding:78px 0 25px}:root[data-theme="light"] .site-footer{background:#1d221c}.footer-main{display:flex;align-items:end;gap:55px;padding-bottom:80px}.footer-brand{font-family:Georgia,serif;font-size:clamp(44px,6vw,93px);line-height:1;letter-spacing:-.065em;white-space:nowrap}.footer-brand em{color:#dcb788;font-weight:400}.footer-main p{font-size:14px;color:#9eaa9c;line-height:1.7;margin:0 0 4px}.top-link{color:#dcb788;font-size:10px;margin-left:auto;white-space:nowrap}.top-link:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:22px;display:flex;justify-content:space-between;gap:28px;font-size:9px;color:#9ea49b;line-height:1.7}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);padding:12px 20px;background:var(--ink);color:var(--bg);font-size:13px;opacity:0;pointer-events:none;z-index:100;transition:opacity .25s,transform .25s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1180px){.container{width:calc(100% - 70px)}.hero-layout{grid-template-columns:1fr .86fr}.hero h1{font-size:clamp(62px,6.3vw,95px)}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-card>summary{min-height:270px}.hero-art-frame{min-height:535px}.hero-art{height:495px}.manifesto-image{height:540px}.manifesto-ring{width:300px;height:300px}.manifesto-ring::before{width:225px;height:225px}}
@media(max-width:800px){.container{width:calc(100% - 46px)}.section{padding-block:85px}.site-header{height:75px}.menu-button{display:grid}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:20px 23px 27px;gap:5px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{padding:13px 10px;font-size:14px}.hero-layout{grid-template-columns:1fr;padding-top:60px;padding-bottom:64px;gap:45px}.hero-copy{padding:0}.hero-overline{margin-top:44px}.hero h1{font-size:clamp(61px,11vw,93px)}.hero-meta{margin-top:42px}.hero-art-wrap{max-width:510px;margin-inline:auto;width:100%}.hero-art-frame{min-height:490px}.hero-art{height:457px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-columns{gap:30px}.section-heading{align-items:start;flex-direction:column}.section-heading>p{max-width:540px}.manifesto-grid{grid-template-columns:1fr;gap:55px}.manifesto-image{height:470px;max-width:630px;width:100%}.manifesto-copy>p{max-width:600px}.quote-large{min-height:unset}.notebook-grid{grid-template-columns:1fr;gap:35px}.notebook-copy>p{max-width:650px}.local-notice{margin-top:25px}.footer-main{align-items:start;flex-wrap:wrap;gap:20px 35px}.footer-main p{margin-top:12px}.top-link{margin-left:0;align-self:center}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:540px){.container{width:calc(100% - 36px)}.section{padding-block:69px}.wordmark-label{gap:2px}.wordmark-label strong{font-size:10px}.wordmark-label small{font-size:7px}.mark{font-size:28px}.header-actions{gap:6px}.icon-button{width:38px;height:38px}.hero-layout{padding-top:47px;padding-bottom:47px;gap:35px}.eyebrow{font-size:9px;gap:8px}.eyebrow-line{width:18px}.hero-overline{margin:35px 0 12px}.hero h1{font-size:clamp(47px,11.2vw,66px);margin-bottom:25px}.hero-subtitle{font-size:14px}.hero-buttons{gap:9px}.button{padding:13px 16px;gap:12px;font-size:11px;min-height:49px}.hero-meta{gap:10px;justify-content:space-between;font-size:8px}.hero-art-frame{min-height:375px}.hero-art{height:354px}.art-orbit{width:270px;height:270px;top:60px}.orbit-two{width:340px;height:340px;top:23px}.art-side{font-size:8px}.art-foot{font-size:7px;padding:14px}.hero-bottom-inner{font-size:8px}.hero-bottom-inner>span:last-child{display:none}.display-title{font-size:clamp(39px,10vw,57px)}.intro-columns{grid-template-columns:1fr;gap:20px;font-size:14px}.intro-sign{margin-top:32px}.section-heading{margin-bottom:40px}.chapter-grid{grid-template-columns:1fr;gap:13px}.chapter-card>summary{min-height:250px;padding:22px}.chapter-icon{margin:20px 0}.chapter-name{font-size:30px}.chapter-detail{padding:20px 22px}.manifesto-image{height:390px}.manifesto-ring{width:240px;height:240px}.manifesto-ring::before{width:175px;height:175px}.manifesto-center{font-size:195px}.statement{gap:13px;margin-top:30px;padding-top:28px}.statement p{font-size:20px}.quote-section{padding-block:73px}.quote-large{margin:44px 0 55px;font-size:clamp(36px,9vw,52px)}.quote-footer{align-items:start;flex-direction:column;gap:22px}.quote-controls{width:100%}.round-button{width:44px;height:44px}.copy-button{margin-left:auto;font-size:9px;padding-inline:4px}.notebook-form{padding:22px}.field-meta{font-size:8px}.footer-main{flex-direction:column;padding-bottom:50px}.footer-brand{font-size:63px}.footer-main p{margin-top:0}.top-link{align-self:start;margin-top:10px}.footer-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* ================================================================
   V2 — Trương Quang Duy | Vietnamese typography & healing identity
   System fonts only: no webfont downloads or missing Vietnamese glyphs.
   ================================================================ */
:root{--ui-font:"Segoe UI",Tahoma,Arial,sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ui-font);font-synthesis:none;text-rendering:optimizeLegibility}
button,input,textarea{font-family:var(--ui-font)}
.display-title,.hero h1,.quote-large,.footer-brand,.manifesto-center,.mark,.statement p,.chapter-name,.welcome-title,.welcome-monogram,.contact-number{font-family:var(--ui-font)!important;font-synthesis:none;letter-spacing:-.035em}
.display-title{line-height:1.23;letter-spacing:-.035em}
.hero h1{line-height:1.19;letter-spacing:-.042em}
.quote-large{line-height:1.24;letter-spacing:-.032em}
.hero h1 i,.display-title em,.footer-brand em,.contact-copy em{font-style:normal;font-weight:600}
.chapter-name{line-height:1.25}
.statement p{line-height:1.4}
.main-nav{gap:clamp(14px,2.2vw,30px)}
.hero-overline{font-size:11px;letter-spacing:.13em;line-height:1.8;font-weight:700}
.hero-healing{margin:34px 0 24px;max-width:580px;padding:16px 20px;border-left:2px solid var(--gold);background:rgba(216,172,117,.055);color:var(--gold);font-size:clamp(14px,1.3vw,17px);line-height:1.65;font-weight:650}
.hero-healing span{color:var(--muted);font-size:12px;font-weight:400;display:block;margin-top:5px}
.intro-sign{line-height:1.5}
.wordmark-label small{letter-spacing:.08em}
.contact-section{background:radial-gradient(circle at 16% 13%,rgba(217,174,120,.10),transparent 41%),var(--bg2);border-top:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:clamp(42px,7vw,112px)}
.contact-copy{max-width:690px}
.contact-greeting{font-size:13px;color:var(--gold);letter-spacing:.06em;margin-bottom:24px;font-weight:700}
.contact-copy .display-title{font-size:clamp(40px,4.9vw,75px);margin-bottom:26px}
.contact-copy>p:not(.contact-greeting):not(.contact-promise){color:var(--muted);max-width:530px;line-height:1.85;font-size:15px}
.contact-promise{margin:30px 0 30px;padding-left:19px;border-left:2px solid var(--gold);color:var(--ink);font-size:clamp(18px,2vw,25px);font-weight:650;line-height:1.6}
.contact-author{display:flex;align-items:center;gap:13px}
.contact-avatar{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:15px;font-weight:800;letter-spacing:-.06em}
.contact-author>span:last-child{display:flex;flex-direction:column;gap:3px}
.contact-author strong{font-size:14px;letter-spacing:.02em}
.contact-author small{font-size:12px;color:var(--muted)}
.contact-card{border:1px solid var(--line);background:var(--panel);padding:clamp(25px,3vw,42px);min-width:0;box-shadow:var(--shadow)}
.contact-card-top{display:flex;justify-content:space-between;align-items:center;letter-spacing:.15em;font-size:11px;font-weight:800;color:var(--gold);padding-bottom:25px;border-bottom:1px solid var(--line)}
.contact-dot{background:#8cba91;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 5px rgba(140,186,145,.1)}
.contact-card-body{padding:43px 0 34px}
.contact-label{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.12em}
.contact-number{display:block;font-size:clamp(29px,3.3vw,53px);white-space:nowrap;font-weight:750;line-height:1.3;letter-spacing:-.055em;color:var(--ink);margin:10px 0 15px;font-variant-numeric:tabular-nums}
.contact-number:hover{color:var(--gold)}
.contact-card-body p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:0}
.contact-button{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--gold);padding:18px 19px;color:#171813;font-weight:800;font-size:12px;letter-spacing:.12em;min-height:55px;transition:background .2s,transform .2s}
.contact-button:hover{background:#f3d3a3;transform:translateY(-2px)}
.contact-footnote{font-size:11px;color:var(--muted);line-height:1.65;margin:23px 0 0}
.footer-main p strong{color:var(--ink);font-weight:750}
.footer-main p{line-height:1.7}
/* Welcome splash: text rendered with system Vietnamese Unicode font. */
.welcome-screen{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:30px 18px;background:#0e1110;color:#f9f1e7;overflow:hidden;isolation:isolate;transition:opacity .55s ease,visibility .55s ease;animation:welcome-failsafe 0s linear 6s forwards}
.welcome-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.welcome-glow{position:absolute;z-index:-1;inset:-40%;background:radial-gradient(circle,rgba(204,160,105,.15),transparent 48%);animation:welcome-glow 3s ease-in-out infinite alternate}
.welcome-inner{text-align:center;position:relative;z-index:1;width:min(100%,990px);animation:welcome-reveal 1s cubic-bezier(.2,.75,.15,1) both}
.welcome-monogram{display:flex;justify-content:center;align-items:baseline;margin-bottom:42px;font-size:clamp(45px,6vw,82px);font-weight:800;letter-spacing:-.13em;line-height:1}
.welcome-monogram span:nth-child(2),.welcome-monogram b{color:#e5bf90}
.welcome-monogram b{font-size:.9em;letter-spacing:0}
.welcome-eyebrow{font-size:clamp(10px,1.1vw,12px);font-weight:800;letter-spacing:.24em;color:#d9bb95}
.welcome-title{margin:22px 0 20px;line-height:1.21;letter-spacing:-.04em}
.welcome-title span{font-size:clamp(18px,2.4vw,30px);font-weight:400;display:block;letter-spacing:.27em;margin-bottom:10px;color:#a9a6a0}
.welcome-title strong{font-size:clamp(37px,7.2vw,104px);font-weight:850;display:block;overflow-wrap:anywhere}
.welcome-caption{line-height:1.85;color:#cbc6bb;font-size:clamp(13px,1.4vw,16px);margin:0 auto;max-width:550px}
.welcome-loader{width:min(280px,68vw);margin:38px auto 0;background:rgba(255,255,255,.18);height:2px;overflow:hidden}
.welcome-loader span{display:block;width:100%;height:100%;background:#e4be8b;transform-origin:left;animation:welcome-progress 2.7s linear both}
.welcome-skip{position:absolute;right:clamp(18px,3vw,48px);bottom:clamp(20px,3vw,42px);border:1px solid rgba(230,220,206,.35);background:rgba(255,255,255,.06);color:#f8f4eb;padding:12px 17px;font-size:11px;font-weight:800;letter-spacing:.12em;transition:background .2s}
.welcome-skip:hover,.welcome-skip:focus-visible{background:rgba(255,255,255,.16)}
@keyframes welcome-reveal{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes welcome-glow{to{transform:scale(1.15)}}
@keyframes welcome-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:1000px){.main-nav{gap:14px}.contact-layout{gap:36px}.contact-number{font-size:clamp(27px,3.2vw,39px)}}
@media(max-width:780px){.contact-layout{grid-template-columns:1fr}.contact-copy{max-width:680px}.contact-card{max-width:680px;width:100%}.main-nav{gap:20px}.welcome-title strong{font-size:clamp(36px,9vw,66px)}}
@media(max-width:540px){.hero-overline{font-size:9px;letter-spacing:.06em}.hero h1{font-size:clamp(43px,10vw,62px);line-height:1.25}.display-title{font-size:clamp(35px,9vw,50px);line-height:1.25}.hero-healing{margin-top:26px;font-size:14px;padding:14px}.hero-healing span{font-size:11px}.contact-card{padding:23px}.contact-card-body{padding:28px 0}.contact-number{font-size:clamp(28px,7.6vw,39px)}.contact-copy .display-title{font-size:clamp(34px,8.8vw,50px)}.welcome-title span{letter-spacing:.16em;font-size:16px}.welcome-title strong{font-size:clamp(34px,9.4vw,54px)}.welcome-monogram{margin-bottom:33px}.welcome-caption br{display:none}.welcome-caption{max-width:290px}.welcome-loader{margin-top:29px}}
@media(prefers-reduced-motion:reduce){.welcome-screen,.welcome-glow,.welcome-inner,.welcome-loader span{animation:none!important;transition:none!important}}

/* Final typography tuning: keep Vietnamese uppercase accents clear. */
.welcome-inner{width:min(100%,1160px)}
.welcome-title{letter-spacing:0;line-height:1.28}
.welcome-title strong{font-size:clamp(36px,5.2vw,77px);font-weight:800;letter-spacing:0.005em;line-height:1.28}
.welcome-title span{line-height:1.4}
.hero h1,.display-title,.quote-large{letter-spacing:-.015em}
@media(max-width:540px){.welcome-title strong{font-size:clamp(32px,9vw,46px);letter-spacing:0;line-height:1.28}}
