:root{--ink:#0c1512;--deep:#10251f;--moss:#204137;--cream:#f4efe5;--paper:#fbf8f1;--gold:#c6a86b;--sage:#a9b9a1;--line:rgba(231,216,181,.23)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ink);color:var(--cream);font-family:"Be Vietnam Pro",sans-serif;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none} button,input{font:inherit}.serif{font-family:"Playfair Display",serif}.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;color:#dbc28d;font-weight:600}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.nav{position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:26px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid rgba(255,255,255,.1)}
.logo{letter-spacing:.26em;font-size:.9rem;font-weight:600}.nav a:last-child{font-size:.78rem;border:1px solid rgba(255,255,255,.42);border-radius:99px;padding:10px 17px}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 76% 24%,rgba(198,168,107,.24),transparent 24%),radial-gradient(circle at 22% 70%,rgba(85,122,103,.4),transparent 30%),linear-gradient(125deg,#08100d 4%,#162e25 57%,#4a3627 120%)}
.hero:before,.hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);opacity:.8}.hero:before{width:62vw;height:62vw;right:-20vw;top:-22vw;border:1px solid rgba(218,192,139,.35);box-shadow:0 0 90px rgba(193,160,92,.15),inset 0 0 90px rgba(193,160,92,.09)}.hero:after{width:44vw;height:44vw;left:-17vw;bottom:-20vw;border:1px solid rgba(177,201,183,.26)}
.hero-inner{padding:150px 0 90px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.hero h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.94;margin:18px 0 30px;font-weight:500;letter-spacing:-.04em}.hero h1 em{color:#d8bd84;font-weight:500}.hero-copy>p{max-width:610px;color:#d2d9d4;font-size:1.05rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.btn{border:0;border-radius:999px;padding:16px 25px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--gold);color:#15231d;font-weight:600}.btn.ghost{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04)}
.orb{aspect-ratio:1;position:relative;display:grid;place-items:center}.orb:before{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f3d995 0 2%,#ba9152 3%,#695539 20%,#173128 57%,#07110d 75%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 100px rgba(213,180,110,.2);animation:breathe 6s ease-in-out infinite}.orb-photo{position:absolute;inset:9%;width:82%;height:82%;object-fit:cover;object-position:50% 55%;border-radius:50%;box-shadow:0 0 0 1px rgba(234,211,152,.45),0 30px 80px rgba(0,0,0,.35);animation:breathe 6s ease-in-out infinite}.orb-note{position:absolute;z-index:1;text-shadow:0 2px 12px rgba(0,0,0,.6);bottom:2%;right:4%;font-family:"Playfair Display";font-style:italic;color:#d9c899;font-size:.95rem}@keyframes breathe{50%{transform:scale(1.035);filter:saturate(1.2)}}
section{padding:110px 0}.intro{background:var(--paper);color:#16221d}.quote{font-size:clamp(2.1rem,4.8vw,4.6rem);line-height:1.14;max-width:940px;margin:0}.quote em{color:#75603a}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;margin-top:80px}.intro-grid h2{font-size:2rem;line-height:1.3;margin:0}.intro-grid p{margin:0;color:#56605b;font-size:1.03rem}.signature{font-family:"Playfair Display";font-style:italic;font-size:1.5rem;color:#8b7040;margin-top:25px}
.pillars{background:linear-gradient(180deg,#0c1713,#14261f);position:relative}.section-head{max-width:690px;margin-bottom:55px}.section-head h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.08;margin:12px 0 18px;font-weight:500}.section-head p{color:#bfc9c2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:340px;border:1px solid var(--line);border-radius:28px;padding:35px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));overflow:hidden;position:relative}.card:after{content:"";width:170px;height:170px;border-radius:50%;position:absolute;right:-65px;top:-65px;background:radial-gradient(circle,rgba(198,168,107,.18),transparent 70%)}.card .num{color:#d3b979;font-family:"Playfair Display";font-size:1.2rem}.card h3{font-size:1.45rem;margin:0 0 10px}.card p{color:#afbbb4;margin:0;font-size:.93rem}
.journey{background:#eae2d3;color:#19231f}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.visual{width:100%;height:590px;display:block;object-fit:cover;object-position:50% 62%;border-radius:220px 220px 32px 32px;box-shadow:0 30px 60px rgba(25,35,31,.18)}.journey h2{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.1;margin:12px 0 28px}.steps{display:grid;gap:24px;margin-top:36px}.step{display:grid;grid-template-columns:45px 1fr;gap:18px;border-top:1px solid rgba(27,43,36,.16);padding-top:20px}.step b{font-family:"Playfair Display";font-size:1.3rem;color:#9c7c40}.step h3{margin:0 0 5px}.step p{margin:0;color:#5b655f;font-size:.94rem}
.practice{background:radial-gradient(circle at 50% 50%,#26483c,#0c1713 64%);text-align:center}.practice .wrap{max-width:840px}.practice h2{font-size:clamp(3rem,7vw,6rem);line-height:1;margin:15px 0 26px}.practice p{color:#c2cbc6;max-width:650px;margin:0 auto}.breath-demo{width:190px;height:190px;margin:48px auto 38px;border:1px solid rgba(225,201,145,.45);border-radius:50%;display:grid;place-items:center;position:relative}.breath-demo:before{content:"";position:absolute;inset:17px;border-radius:50%;background:rgba(212,183,116,.18);animation:breathe 5s ease-in-out infinite}.breath-demo span{z-index:1;font-family:"Playfair Display";font-style:italic}
.gift{background:#f7f3e9;color:#16221d}.gift-box{display:grid;grid-template-columns:1.08fr .92fr;border-radius:34px;overflow:hidden;background:#153128;box-shadow:0 30px 70px rgba(38,46,40,.18)}.gift-copy{padding:70px;color:#f5f0e6}.gift-copy h2{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.05;margin:12px 0 24px}.gift-copy p{color:#c8d1cc}.form{padding:70px 55px;background:#efe4cf}.form h3{font-size:1.55rem;margin:0 0 24px}.form label{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:18px 0 7px}.form input{width:100%;border:0;border-bottom:1px solid #998b70;background:transparent;padding:10px 2px;outline:0;color:#15231d}.form button{width:100%;justify-content:center;margin-top:30px}.fine{font-size:.72rem;color:#776f62;margin-top:14px}.success{display:none;padding:20px;border:1px solid #9dac95;background:#e3ecdd;border-radius:14px;margin-top:20px}.success.show{display:block}
.form .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;margin:0}
.form input.is-invalid{border-bottom-color:#a84b3f}
.form .field-error{color:#9b3d31;font-size:.75rem;letter-spacing:0;text-transform:none;margin:6px 0 0;font-weight:400}
.form-error{padding:12px 14px;border:1px solid #c98a7c;background:#f7e5df;color:#8a3e31;border-radius:10px;margin-top:16px;font-size:.82rem}
footer{padding:90px 0 40px;color:#abb7b0;background:radial-gradient(ellipse 70% 45% at 20% 10%,rgba(214,168,82,.22),transparent 70%),radial-gradient(ellipse 60% 50% at 85% 35%,rgba(198,150,70,.18),transparent 70%),repeating-radial-gradient(ellipse at 10% 120%,transparent 0 46px,rgba(222,180,100,.07) 47px 48px),linear-gradient(180deg,#1d150d,#0b0805)}.connect-block{text-align:center;padding-bottom:70px;margin-bottom:60px;border-bottom:1px solid rgba(255,255,255,.1)}.connect-title{font-family:"Be Vietnam Pro",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);margin:0 0 44px}.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(28px,9vw,110px);margin-bottom:48px}.socials a{width:clamp(64px,8vw,94px);aspect-ratio:1;display:block;border-radius:50%;transition:transform .25s,filter .25s}.socials a:hover{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 10px 22px rgba(214,168,82,.35))}.socials svg{width:100%;height:100%;display:block}.contact-lines{list-style:none;padding:0;margin:0;display:grid;gap:14px;justify-items:center}.contact-lines li{display:flex;align-items:center;gap:14px}.contact-lines a{color:#f1ebe0;font-weight:300;font-size:1.05rem}.contact-lines a:hover{color:#e3cc99}.contact-icon{width:30px;height:30px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}.contact-icon svg{width:16px;height:16px}.footer-grid{display:flex;align-items:end;justify-content:space-between;gap:30px}.footer-logo{font-family:"Playfair Display";font-size:3rem;color:#f2eadb}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:50px;font-size:.75rem}
.modal{position:fixed;inset:0;z-index:50;background:rgba(2,8,6,.82);backdrop-filter:blur(12px);display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(560px,100%);background:#f5efe3;color:#17231e;padding:42px;border-radius:28px;position:relative;text-align:center}.close{position:absolute;right:18px;top:15px;background:none;border:0;font-size:1.5rem;cursor:pointer}.timer{font-family:"Playfair Display";font-size:4rem;color:#7d6337;margin:15px}.pulse{width:140px;height:140px;background:radial-gradient(circle,#d7bc7c,#526f60);border-radius:50%;margin:20px auto;animation:breathe 5s ease-in-out infinite}.phase{font-weight:600}.modal-card p{color:#647069}
.reveal{opacity:0;transform:translateY(28px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
.chapter{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;color:#9d8150;font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.chapter i{font-style:normal;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;letter-spacing:0}
.empathy{background:#f7f2e8;color:#17231e}.empathy-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.empathy h2,.awareness h2,.benefits h2,.story h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.08;margin:12px 0 24px}.feelings{display:grid;gap:12px}.feeling{padding:22px 24px;border:1px solid rgba(31,52,42,.13);border-radius:18px;background:rgba(255,255,255,.45);display:flex;gap:16px;align-items:start}.feeling span{color:#9b7a3d;font-family:"Playfair Display";font-size:1.35rem}.feeling p{margin:0;color:#566159}
.awareness{background:linear-gradient(135deg,#132921,#08110e);position:relative}.awareness-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.insight{padding:38px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.04)}.insight p{font-family:"Playfair Display";font-size:1.55rem;line-height:1.5;margin:0}.insight small{display:block;color:#aebbb4;margin-top:20px}
.benefits{background:#efe6d6;color:#17231e}.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:45px}.benefit{padding:30px;border-top:1px solid rgba(24,45,36,.2)}.benefit b{font-family:"Playfair Display";font-size:2rem;color:#9c7a3c}.benefit h3{font-size:1.18rem;margin:10px 0 8px}.benefit p{margin:0;color:#5b665f}
.story{background:#0b1511}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.portrait{min-height:590px;border-radius:30px;position:relative;overflow:hidden;background:#162a22}.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}.portrait:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(8,16,13,.75))}.portrait:after{z-index:2}.portrait:after{content:"CHẠM";position:absolute;bottom:30px;left:34px;font-family:"Playfair Display";font-size:4.4rem;color:rgba(255,255,255,.13);letter-spacing:.08em}
.story p{color:#bac5bf}.story .quote-small{font-family:"Playfair Display";font-size:1.5rem;color:#e3cc99;border-left:1px solid #c4a76c;padding-left:24px;margin:30px 0}.connect{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.connect a{border:1px solid rgba(255,255,255,.24);border-radius:99px;padding:10px 16px;font-size:.8rem}
.photo{display:block;width:100%;object-fit:cover;border-radius:26px}
.empathy .photo{aspect-ratio:4/5;margin-top:40px;object-position:50% 30%;box-shadow:0 24px 50px rgba(25,35,31,.14)}
.awareness-media{position:relative}.awareness .photo{aspect-ratio:4/5;object-position:50% 75%;border-radius:200px 200px 26px 26px}.awareness .insight{position:relative;margin:-90px 24px 0;background:rgba(13,30,24,.82);backdrop-filter:blur(10px)}
.split-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;margin-bottom:55px}.split-head .section-head{margin-bottom:0}.split-head .photo{aspect-ratio:4/3}
.pillars .photo{object-position:50% 35%;border:1px solid var(--line)}.benefits .split-head{margin-bottom:0}.benefits .photo{object-position:50% 35%;box-shadow:0 24px 50px rgba(25,35,31,.14)}
.gift-box{grid-template-columns:.8fr 1fr .95fr}.gift-photo{position:relative;min-height:420px}.gift-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.gift-copy{padding:60px 46px}.gift-copy h2{font-size:clamp(2.2rem,3.6vw,3.4rem)}
@media(max-width:1080px){.gift-box{grid-template-columns:1fr 1fr}.gift-photo{grid-column:1/-1;min-height:460px}}
@media(max-width:820px){.split-head{grid-template-columns:1fr;gap:35px}.awareness .insight{margin:-70px 14px 0}.gift-photo{min-height:420px}.hero-inner,.intro-grid,.journey-grid,.gift-box,.empathy-grid,.awareness-grid,.story-grid{grid-template-columns:1fr}.hero-inner{gap:30px;padding-top:135px}.orb{width:min(430px,90%);margin:auto}.intro-grid,.empathy-grid,.awareness-grid,.story-grid{gap:35px}.cards,.benefit-grid{grid-template-columns:1fr}.card{min-height:250px}.journey-grid{gap:45px}.visual{height:430px;order:2}.portrait{min-height:430px}.gift-copy,.form{padding:46px 28px}.footer-grid{display:block}.footer-grid>div:last-child{margin-top:25px}.nav a:last-child{display:none}section{padding:82px 0}}
body.splash-active{overflow:hidden}
.splash{--splash-duration:3s;position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#060d0a;cursor:pointer;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:1;visibility:visible;transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility 0s linear .9s}
.splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.splash__bg{position:absolute;inset:-52px;background-position:center;background-size:cover;filter:blur(34px) brightness(.3) saturate(.85);transform:scale(1.08);transition:opacity .9s ease,transform 1.2s cubic-bezier(.4,0,.2,1)}
.splash.is-leaving .splash__bg{transform:scale(1.16);opacity:.55}
.splash__stage{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;transition:transform 1s cubic-bezier(.4,0,.2,1),opacity .85s ease,filter .85s ease}
.splash.is-leaving .splash__stage{transform:scale(1.045);opacity:0;filter:blur(7px)}
.splash__image{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.045);filter:blur(9px) brightness(.72);animation:splash-image-in 1.15s .1s cubic-bezier(.2,.75,.2,1) forwards;will-change:transform,filter,opacity}
.splash__shine{position:absolute;z-index:3;top:-20%;bottom:-20%;left:-60%;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);mix-blend-mode:screen;transform:skewX(-12deg);opacity:0;animation:splash-shine 1.9s .7s cubic-bezier(.4,0,.2,1) forwards}
.splash:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(3,8,6,.5))}
.splash__footer{position:absolute;z-index:4;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;justify-items:center;gap:11px;pointer-events:none;transition:opacity .4s ease,transform .4s ease}
.splash.is-leaving .splash__footer{opacity:0;transform:translate(-50%,6px)}
.splash__hint{font-size:.64rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;color:#f4efe5;padding:9px 18px 8px;border:1px solid rgba(244,239,229,.26);border-radius:999px;background:rgba(4,10,8,.42);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.32);animation:splash-hint-in .8s .55s both,splash-pulse 2.2s 1.35s ease-in-out infinite}
.splash__progress{width:min(220px,46vw);height:3px;border-radius:99px;overflow:hidden;background:rgba(244,239,229,.2);box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.splash__progress i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f7440,#e2c98e 55%,#f5e4b8);box-shadow:0 0 14px rgba(226,201,142,.75);transform:scaleX(0);transform-origin:left;animation:splash-progress var(--splash-duration) linear forwards}
@keyframes splash-image-in{to{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}}
@keyframes splash-hint-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes splash-shine{0%{transform:skewX(-12deg) translateX(0);opacity:0}14%{opacity:1}100%{transform:skewX(-12deg) translateX(430%);opacity:0}}
@keyframes splash-progress{to{transform:scaleX(1)}}
@keyframes splash-pulse{50%{opacity:.42}}
@media(prefers-reduced-motion:reduce){.splash__image{animation:none;opacity:1;transform:none;filter:none}.splash__shine{display:none}.splash__hint{animation:none}}
