:root{--paper:#fafaf8;--ink:#202323;--muted:#626662;--line:#d8dbd5;--wine:#8c353a;--rose:#f1e5e4;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--wine);outline-offset:5px}p,h1,h2,h3{margin:0}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:106px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:9px;font-size:32px;font-weight:750;letter-spacing:-.015em}.header nav{display:flex;gap:32px;font-size:14px}.header nav a:hover,.text-link:hover,.footer a:hover{color:var(--wine)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:12px 25px;background:var(--wine);color:white;font-size:15px;font-weight:600;border:1px solid var(--wine);transition:background .18s}.button:hover{background:#6e252b;color:white}.button.small{min-height:44px;padding:9px 20px;font-size:14px}.button.outline{color:var(--wine);background:transparent}.button.outline:hover{background:var(--wine);color:white}.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:68px 0 76px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;color:var(--wine);line-height:1.6}.hero .eyebrow{display:flex;gap:14px;align-items:center}.short-rule{display:inline-block;width:30px;height:1px;background:var(--wine)}h1{font-family:var(--serif);font-size:clamp(58px,6.8vw,94px);font-weight:400;letter-spacing:-.015em;line-height:1.07;margin:24px 0 28px}em{font-family:var(--serif);color:var(--wine);font-weight:400}.lead{font-size:18px;line-height:1.8}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap;margin-top:29px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.access-note{font-size:12px;margin-top:16px}.product-stage{background:#ece9e3;padding:22px 28px 19px;position:relative}.stage-label{display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-bottom:19px}.app-preview{width:100%;max-width:400px;margin:auto;background:var(--paper);border:1px solid #d1d0c9;box-shadow:0 20px 45px #2023230b;transform:rotate(-2deg)}.app-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 22px;font-size:11px;color:var(--muted)}.mini-brand{display:flex;align-items:center;gap:7px;font-size:24px;letter-spacing:-.015em;color:var(--ink);font-weight:700}.app-body{padding:25px 23px 20px}.mini-eyebrow{font-size:11px;letter-spacing:1.4px;color:var(--muted);font-weight:600}.app-body h2{font:600 36px/1.1 Arial,sans-serif;letter-spacing:-.015em;margin:10px 0 23px}.app-word{padding:18px 19px 16px;border:1px solid var(--line);background:white}.app-word>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.word-index{font-size:11px;color:var(--muted)}.app-word strong{display:block;font:400 37px/1.3 var(--serif);margin:11px 0 2px;color:var(--wine)}.app-word p{font-size:13px}.word-example{display:block;font-size:11px;color:var(--muted);margin-top:10px}.preview-routine{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:1.2px;margin:22px 0 7px;color:var(--muted)}.routine-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.routine-number{font:17px var(--serif);color:var(--wine)}.routine-row strong{display:block;font-size:13px}.routine-row div span{display:block;font-size:11px;color:var(--muted)}.routine-badge{font-size:11px;color:var(--wine);margin-left:auto;background:var(--rose);padding:3px 5px}.app-bottom{display:flex;justify-content:space-between;font-size:11px;margin-top:19px}.app-bottom span{color:var(--wine)}.stage-caption{font-size:11px;line-height:1.65;margin-top:23px;text-align:center}.stage-caption span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.skill-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-strip .wrap{display:flex;justify-content:space-around;gap:25px;padding:23px 0;font-size:12px;letter-spacing:3px}.section{padding-top:95px;padding-bottom:90px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:80px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:23px}h2{font:400 clamp(36px,4.2vw,56px)/1.2 var(--serif);letter-spacing:-.015em}.section-heading>p:last-child:not(.eyebrow){align-self:end;padding-bottom:4px;font-size:17px}.skills-explorer{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:44px}.skill-buttons{border-top:1px solid var(--line)}.skill-buttons button{display:flex;align-items:center;text-align:left;width:100%;min-height:98px;gap:24px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;padding:18px 18px 18px 0;color:var(--muted)}.tab-number{font-size:12px;letter-spacing:1px}.skill-buttons button>span:nth-child(2){font-family:var(--serif);font-size:30px;line-height:1.3}.skill-buttons small{font:12px Arial,sans-serif;color:var(--muted);display:block;margin-top:4px}.tab-mark{margin-left:auto;font-size:24px;font-weight:400}.skill-buttons button[aria-selected=true]{color:var(--wine);background:var(--rose);padding-left:18px}.skill-buttons button[aria-selected=true] .tab-mark{transform:rotate(45deg)}.skill-buttons button:hover{color:var(--wine)}.skill-panels{background:#eeefeb;padding:38px 36px}.skill-panels .eyebrow{font-size:11px}.skill-panels h3{font:400 33px/1.25 var(--serif);letter-spacing:-.015em;margin:18px 0}.skill-panels p:not(.eyebrow){font-size:15px}.skill-panels ul{padding:0;margin:22px 0 24px;list-style:none;font-size:14px}.skill-panels li{border-top:1px solid #d8dbd5;padding:9px 0}.skill-panels li:last-child{border-bottom:1px solid #d8dbd5}.panel-foot{font-size:12px;line-height:1.65;color:var(--muted)}.habit-section{background:var(--wine);color:var(--paper);padding:76px 0}.habit-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.habit-copy .eyebrow{color:#ebc9c9;margin-bottom:24px}.habit-copy h2{font-size:53px;margin-bottom:27px}.habit-copy em{color:#efcdcd}.habit-copy p:not(.eyebrow){color:#f0dddd;font-size:16px;margin-top:16px}.review-track{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #c1878b;padding-top:23px;margin-top:30px;font-size:12px}.review-track strong{font:24px var(--serif)}.word-demo{min-width:0}.demo-heading{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1.2px;margin-bottom:15px;color:#f0dddd}.flashcard{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;width:100%;padding:25px;background:var(--paper);color:var(--ink);border:0;box-shadow:10px 10px 0 #792b30;cursor:pointer}.flashcard:focus-visible{outline-color:white}.flashcard .mini-eyebrow{color:var(--wine);display:block}.flashcard strong{display:block;font:400 70px/1.15 var(--serif);color:var(--wine);margin:24px 0 14px;letter-spacing:-.015em}.flashcard .word-back strong{font-size:43px}.flashcard span>span:last-child{display:block;color:var(--muted);font-size:14px}.flip-label{font-size:11px;color:var(--muted);margin-top:28px;text-decoration:underline;text-underline-offset:4px}.demo-caption{text-align:center;color:#f0dddd;font-size:12px;margin-top:22px}.journey .section-heading{display:block}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:44px}.steps article{border-top:1px solid var(--line);padding-top:19px}.steps article>span{font-size:11px;letter-spacing:1.5px;color:var(--wine)}.steps h3{font:400 29px var(--serif);margin:20px 0 15px}.steps p{font-size:15px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:66px;padding-bottom:70px}.faq h2{font-size:37px;margin-top:22px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;font-size:15px;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;color:var(--wine);flex-shrink:0}details[open] summary:after{content:'−'}details p{font-size:14px;padding:0 20px 23px 0}.contact{background:#f1e5e4;border-top:1px solid #e5d7d6;border-bottom:1px solid #e5d7d6;padding:55px 0 52px;text-align:center}.contact-inner>img{margin:0 auto 17px;width:54px;height:54px;mix-blend-mode:multiply}.contact h2{font-size:65px;margin:22px 0}.contact .hero-actions{justify-content:center;margin-top:25px}.contact-email{font-size:12px;margin-top:19px}.footer{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:27px}.footer>span,.footer>a:not(.brand),.footer small{font-size:12px;color:var(--muted)}.skip{position:fixed;z-index:100;left:16px;top:-100px;padding:10px 16px;background:var(--wine);color:white}.skip:focus{top:12px}@media(min-width:1500px){.hero{gap:90px}}@media(max-width:950px){.wrap{width:calc(100% - 48px)}.header nav{gap:18px}.hero{gap:36px;padding-top:50px}.hero h1{font-size:70px}.product-stage{padding:18px}.skills-explorer{gap:35px}.section-heading{column-gap:35px}.habit-grid{gap:40px}.habit-copy h2{font-size:44px}.skill-panels{padding:28px}.steps{gap:28px}.faq{gap:35px}}@media(max-width:680px){.wrap{width:calc(100% - 36px)}.header{min-height:82px;gap:10px}.header .brand{font-size:28px}.header nav{display:none}.header .button{font-size:12px;padding:8px 14px;min-height:42px}.hero{grid-template-columns:1fr;gap:40px;padding:42px 0 42px}.hero h1{font-size:68px;letter-spacing:-.015em;line-height:1.08;margin-top:22px}.lead{font-size:16px}.desktop-break{display:none}.hero-actions{gap:22px}.product-stage{padding:21px 25px 17px;max-width:480px;width:100%;margin:auto}.app-preview{max-width:355px}.skill-strip .wrap{gap:15px;padding:20px 0;font-size:11px;letter-spacing:1px}.section{padding-top:60px;padding-bottom:58px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p:last-child:not(.eyebrow){margin-top:22px;font-size:16px}.section-heading h2{font-size:42px}.skills-explorer{grid-template-columns:1fr;gap:20px;margin-top:30px}.skill-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line)}.skill-buttons button{min-height:93px;display:block;text-align:center;padding:14px 4px;border-bottom:0}.skill-buttons button[aria-selected=true]{padding:14px 4px}.tab-number,.tab-mark{display:none}.skill-buttons button>span:nth-child(2){font-size:24px}.skill-buttons small{font-size:11px}.skill-panels{padding:28px 25px}.skill-panels h3{font-size:32px}.habit-section{padding:54px 0}.habit-grid{grid-template-columns:1fr;gap:38px}.habit-copy h2{font-size:43px}.habit-copy p:not(.eyebrow){font-size:15px}.word-demo{padding-right:10px}.flashcard{min-height:290px}.demo-heading{font-size:11px}.steps{grid-template-columns:1fr;gap:25px;margin-top:28px}.steps h3{margin:12px 0 10px}.faq{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:48px}.faq h2{font-size:34px}.contact{padding:42px 0}.contact .eyebrow{font-size:11px;letter-spacing:1px}.contact h2{font-size:51px}.contact .hero-actions{gap:19px}.footer{padding:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:auto}.footer .brand{grid-column:1}.footer>span{grid-column:1}.footer>a:not(.brand){grid-column:2;grid-row:1;justify-self:end}.footer small{grid-column:2;grid-row:2;justify-self:end}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:360px){.hero h1{font-size:59px}.button{font-size:14px;padding:12px 18px}.hero-actions{gap:16px}.product-stage{padding:20px 17px}.contact h2{font-size:44px}}

/* Vietnamese typography: keep words intact, loosen display tracking,
   and let complete sentences wrap naturally at each viewport. */
h1,h2,h3{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
p,li,summary{word-break:normal;overflow-wrap:normal;hyphens:none}
.hero h1{line-height:1.14;font-kerning:normal;letter-spacing:-.015em}
.hero h1>span,.hero h1>em{display:block;white-space:nowrap}
.hero .lead{max-width:34ch;text-wrap:pretty}
.section-heading>p:last-child:not(.eyebrow){max-width:34ch;text-wrap:pretty}
.skill-panels h3{line-height:1.35;max-width:19ch;margin-bottom:20px}
.app-body h2{line-height:1.22;max-width:8ch}
.habit-copy h2{line-height:1.25;max-width:16ch}
.journey h2{max-width:24ch}
.contact h2{max-width:14ch;margin-left:auto;margin-right:auto;line-height:1.25}
.brand{letter-spacing:-.02em}
@media(max-width:680px){.hero h1{font-size:clamp(48px,15.3vw,62px);line-height:1.16}.section-heading h2{font-size:40px;line-height:1.25}.skill-panels h3{font-size:30px;line-height:1.38}.habit-copy h2{font-size:40px}.contact h2{font-size:46px}.journey h2{max-width:21ch}}
@media(max-width:360px){.hero h1{font-size:clamp(44px,15.3vw,55px)}.contact h2{font-size:40px}}

h1,h2,h3{letter-spacing:0;text-rendering:optimizeLegibility;font-kerning:normal}.hero h1{letter-spacing:0}.eyebrow,.mini-eyebrow,.stage-label,.demo-heading{letter-spacing:.08em}
@font-face{font-family:'Mam Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/source-serif-4-regular.ttf') format('truetype')}
@font-face{font-family:'Mam Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/source-serif-4-italic.ttf') format('truetype')}
:root{--serif:'Mam Serif',Georgia,'Times New Roman',serif}

/* Company information shares the site's quiet, editorial rhythm. */
.footer.company-footer{display:block;padding:64px 0 28px;min-height:auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px;padding-bottom:48px}
.footer-company .brand{display:inline-flex;margin-bottom:20px;letter-spacing:0}
.company-footer p{font-size:14px;line-height:1.8;text-wrap:pretty}
.company-footer .company-summary{max-width:43ch}
.company-footer .company-purpose{margin-top:16px;color:var(--wine)}
.company-footer h2{font:400 24px/1.35 var(--serif);margin:4px 0 18px;text-wrap:balance}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:16px;gap:0}
.footer-links a,.footer-email{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.footer-links a:hover,.footer-email:hover{color:var(--wine);text-decoration-color:currentColor}
.footer-email{margin-top:16px;overflow-wrap:anywhere}
.footer-address{font-style:normal;margin-top:16px;display:flex;flex-direction:column;align-items:flex-start}
.footer-address p{max-width:32ch;margin-bottom:8px}
.footer-address .footer-email{margin-top:0}
.footer-phone{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.footer-phone:hover{color:var(--wine);text-decoration-color:currentColor}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px}
.footer-bottom small,.footer-bottom span,.footer-bottom a{font-size:13px;color:var(--muted)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}
@media(max-width:950px){.footer-grid{grid-template-columns:1.25fr 1fr;gap:36px}.footer-contact{grid-column:1/-1;max-width:44ch}}
@media(max-width:680px){.footer.company-footer{padding:40px 0 22px}.footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:28px}.footer-contact{grid-column:auto}.footer-company .brand{margin-bottom:16px}.company-footer h2{margin:0 0 12px}.footer-links,.footer-email{margin-top:10px}.footer-bottom{flex-wrap:wrap;gap:8px 20px;padding-top:20px}.footer-bottom small{flex-basis:100%}.footer-bottom a{margin-left:auto}}
