@import url('https://fonts.googleapis.com/css2?family=Battambang:wght@400;600;700&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0&family=Moul&display=swap');

:root{--ink:#241738;--muted:#6f6876;--purple:#56347d;--purple-dark:#321a55;--gold:#d4a542;--paper:#f6f3ed;--line:#e3dcd0;--white:#fff;--shadow:0 24px 70px rgba(37,20,59,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Battambang",system-ui,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{height:84px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(246,243,237,.94);border-bottom:1px solid rgba(86,52,125,.1);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;color:var(--purple-dark);white-space:nowrap}.brand img{filter:drop-shadow(0 4px 8px rgba(86,52,125,.16))}.site-header nav{display:flex;gap:30px;font-size:.95rem}.site-header nav a:hover,.text-link:hover{color:var(--purple)}
.header-actions,.hero-actions,.install-actions{display:flex;align-items:center;gap:12px}.text-link{font-weight:600}.button{border:0;border-radius:13px;padding:13px 21px;background:var(--purple);color:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 9px 24px rgba(86,52,125,.2);transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);background:#684390}.button-small{padding:9px 17px;font-size:.92rem}.button-secondary{color:var(--purple);background:transparent;border:1px solid rgba(86,52,125,.3);box-shadow:none}.button-secondary:hover{background:#fff}
.hero{max-width:1280px;margin:0 auto;padding:76px 50px 82px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:64px;align-items:center;min-height:650px}.eyebrow{margin:0 0 13px;color:#9a6c13;font-weight:700;letter-spacing:.04em}.hero h1{font-family:"Moul","Battambang",serif;font-size:clamp(2.6rem,4.4vw,4.75rem);font-weight:400;line-height:1.35;margin:0 0 22px;color:var(--purple-dark)}.hero h1 span{color:var(--purple)}.hero-lead{font-size:1.14rem;color:var(--muted);max-width:630px;margin:0 0 30px}.hero-actions{flex-wrap:wrap}.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;color:#5d5664;font-size:.9rem;margin-top:24px}.trust-row span::first-letter{color:#9a6c13}.hero-visual{margin:0;position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#160d28}.hero-visual img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}.hero-visual::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 90px rgba(10,4,24,.28);pointer-events:none}.hero-visual figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;padding:11px 16px;border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;background:rgba(25,11,48,.7);backdrop-filter:blur(10px);text-align:center;font-size:.9rem}
.section{max-width:1180px;margin:0 auto;padding:92px 24px}.section-heading{text-align:center;max-width:730px;margin:0 auto 42px}.section h2{font-family:"Moul","Battambang",serif;font-weight:400;font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.5;color:var(--purple-dark);margin:0 0 15px}.section-heading>p:last-child,.story-copy>p,.install>div>p{color:var(--muted);font-size:1.05rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid article{padding:28px 25px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}.feature-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(52,31,80,.08)}.feature-icon{width:48px;height:48px;border-radius:14px;background:#eee7f5;color:var(--purple);display:grid;place-items:center;font-size:1.45rem}.feature-grid h3{font-size:1.08rem;color:var(--purple-dark);margin:17px 0 7px}.feature-grid p{color:var(--muted);margin:0;font-size:.94rem}
.story{display:grid;grid-template-columns:minmax(330px,.8fr) 1.2fr;gap:70px;align-items:center}.story figure{margin:0;max-height:590px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.story figure img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}.story-copy{padding-right:30px}.inline-link{display:inline-flex;gap:9px;color:var(--purple);font-weight:700;margin-top:12px}.inline-link:hover{color:#9a6c13}
.install{max-width:1132px;border-radius:30px;padding:58px 64px;margin-top:48px;margin-bottom:48px;background:var(--purple-dark);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;box-shadow:var(--shadow)}.install h2,.install .eyebrow{color:#fff}.install>div>p{color:rgba(255,255,255,.78)}.button-light{background:#fff;color:var(--purple-dark);box-shadow:none}.button-light:hover{background:#f4eecf}.button-ghost{background:transparent;border:1px solid rgba(255,255,255,.45);box-shadow:none}.button-ghost:hover{background:rgba(255,255,255,.1)}.install-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.install-steps li{display:flex;gap:15px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:16px}.install-steps li>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#291741;font-weight:700}.install-steps div{display:grid}.install-steps small{color:rgba(255,255,255,.7)}.install-status{min-height:1.7em;margin:10px 0 0!important;font-size:.88rem!important}
.share{padding:66px 36px;display:grid;grid-template-columns:1fr auto;gap:28px 50px;align-items:center;border-top:1px solid var(--line)}.share h2{max-width:810px;font-size:clamp(1.5rem,2.4vw,2.15rem)}.share-status{grid-column:1/-1;margin:0;color:var(--purple);min-height:1.5em}footer{padding:38px max(24px,calc((100% - 1180px)/2));border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:.86rem}footer p{margin:0}footer a:not(.brand){color:var(--purple);font-weight:700}
@media(max-width:920px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:52px;gap:38px}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.trust-row{justify-content:center}.feature-grid{grid-template-columns:repeat(2,1fr)}.story{grid-template-columns:.8fr 1.2fr;gap:38px}.install{margin-left:20px;margin-right:20px;padding:45px 38px;grid-template-columns:1fr}.share{grid-template-columns:1fr;text-align:center}.share .button{justify-self:center}.share-status{grid-column:auto}footer{flex-direction:column;text-align:center}}
@media(max-width:620px){.site-header{height:70px;padding:0 16px}.site-header .brand span{font-size:.84rem}.site-header .brand img{width:36px;height:36px}.header-actions .text-link{display:none}.button-small{padding:8px 12px}.hero{padding:42px 18px 55px;min-height:auto}.hero h1{font-size:2rem}.hero-lead{font-size:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.trust-row{display:grid;gap:5px}.hero-visual{border-radius:20px}.hero-visual figcaption{display:none}.section{padding:64px 18px}.section h2{font-size:1.6rem}.feature-grid{grid-template-columns:1fr}.story{grid-template-columns:1fr}.story figure img{min-height:410px}.story-copy{padding-right:0}.install{margin:20px 12px;padding:38px 23px;border-radius:22px}.install-actions{display:grid}.share{padding-left:20px;padding-right:20px}footer{padding-top:30px;padding-bottom:30px}.brand span{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.feature-grid article{transition:none}}
.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga"}

/* Public Khmer Astrology guide: substantive, readable content for visitors and crawlers. */
.guide-main{max-width:980px;margin:0 auto;padding:58px 24px 90px}.guide-breadcrumb{margin:0 0 24px;color:var(--muted);font-size:.92rem}.guide-breadcrumb a{color:var(--purple);font-weight:700}.guide-hero{padding:44px 46px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fff,#f1ebfa);box-shadow:0 14px 40px rgba(52,31,80,.08)}.guide-hero h1{margin:0 0 18px;color:var(--purple-dark);font-family:"Moul","Battambang",serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:400;line-height:1.45}.guide-hero p{max-width:760px;margin:0;color:var(--muted);font-size:1.08rem}.guide-section{padding:56px 0 0}.guide-section h2{margin:0 0 16px;color:var(--purple-dark);font-family:"Moul","Battambang",serif;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:400;line-height:1.55}.guide-section p{margin:0 0 15px;color:var(--muted);font-size:1.03rem}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.guide-card{padding:23px;border:1px solid var(--line);border-radius:18px;background:#fff}.guide-card h3{margin:0 0 8px;color:var(--purple-dark);font-size:1.06rem}.guide-card p{margin:0;font-size:.94rem}.guide-faq{display:grid;gap:12px}.guide-faq details{padding:17px 20px;border:1px solid var(--line);border-radius:15px;background:#fff}.guide-faq summary{color:var(--purple-dark);font-weight:700;cursor:pointer}.guide-faq p{margin:12px 0 0}.guide-cta{margin-top:54px;padding:36px;border-radius:24px;background:var(--purple-dark);color:#fff;text-align:center}.guide-cta h2{color:#fff}.guide-cta p{margin:0 auto 22px;color:rgba(255,255,255,.8);max-width:650px}@media(max-width:620px){.guide-main{padding:34px 18px 62px}.guide-hero{padding:31px 24px;border-radius:21px}.guide-grid{grid-template-columns:1fr}.guide-section{padding-top:42px}.guide-cta{padding:29px 22px}}

/* The public home is intentionally one complete, app-like screen. */
body.landing-page{min-height:100dvh;overflow:hidden}.landing-page>main{height:calc(100dvh - 84px)}.landing-page .hero{height:100%;min-height:100%;padding-block:clamp(28px,6vh,76px)}
@media(max-width:620px),(hover:none) and (pointer:coarse){body.landing-page{overflow:hidden}.landing-page>main{height:calc(100dvh - 70px)}.landing-page .hero{display:flex;align-items:center;justify-content:center;min-height:100%;height:100%;overflow-y:auto;padding:clamp(24px,5dvh,42px) 20px}.landing-page .hero-copy{max-width:440px}.landing-page .hero h1{margin-bottom:14px;font-size:clamp(1.65rem,7.3vw,2rem)}.landing-page .hero-lead{margin-bottom:20px}.landing-page .trust-row{margin-top:16px}.landing-page .hero-visual{display:none}}
