:root{--bg:#f5ead2;--ink:#512d20;--olive:#5a3022;--muted:#7b6659;--line:#d8c6ab}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang TC","Microsoft JhengHei",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ac895e;outline-offset:4px}header{max-width:1280px;margin:auto;padding:32px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header a{text-decoration:none;color:var(--ink);letter-spacing:5px;font-family:Georgia,serif;font-size:26px}header small{display:block;font-family:sans-serif;font-size:8px;letter-spacing:2px;margin-top:7px}header>span{font-size:12px;color:var(--muted)}main{max-width:1160px;margin:auto;padding:0 32px}.view{animation:enter .5s ease}.hidden{display:none!important}.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px 70px;padding:66px 24px 30px}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.8;color:var(--olive)}h1{font-family:Georgia,serif;font-size:96px;font-weight:400;line-height:.99;margin:24px 0 32px;letter-spacing:-4px}h1>span{display:block;font-size:24px;letter-spacing:3px;margin-bottom:15px}h1 i{font-weight:400;color:var(--olive)}.tagline{font-size:21px;letter-spacing:2px}.intro{font-size:14px;color:var(--muted);line-height:1.9;margin:24px 0 32px}.primary{background:var(--olive);color:white;border:1px solid var(--olive);padding:18px 24px;min-height:56px;border-radius:3px;font-size:14px;transition:background .2s}.primary:hover{background:#734533}.primary b{font-weight:400;margin-left:45px}.fine{font-size:11px;color:var(--muted);line-height:1.9}.hero .fine{margin-top:18px}.art{padding:12px 0;align-self:center;text-align:center}.arch{height:470px;max-width:380px;margin:auto;background:linear-gradient(145deg,#e5dbc8,#d4c5ae);border-radius:200px 200px 4px 4px;position:relative;overflow:hidden}.sun{position:absolute;width:180px;height:180px;border-radius:50%;background:#eee6d5;left:30px;top:66px;box-shadow:0 0 70px #f3e9d1}.orbit{position:absolute;width:450px;height:450px;border:1px solid #b5aa9166;border-radius:50%;left:10px;top:135px}.bottle{position:absolute;width:140px;left:calc(50% - 70px);bottom:72px;transform:rotate(-6deg);z-index:2;filter:drop-shadow(20px 20px 16px #746c4c55)}.cap{width:65px;height:50px;background:linear-gradient(90deg,#706a55,#a79e83,#736c56);margin:auto;border-radius:3px 3px 0 0}.glass{height:180px;border:2px solid #fff8;background:linear-gradient(110deg,#fffa,#c8af7788 30%,#e7d4a1bb 70%,#fff9);border-radius:14px 14px 22px 22px;display:flex;flex-direction:column;justify-content:center;gap:12px}.glass span{font-family:Georgia;font-size:17px;letter-spacing:2px}.glass small{font-size:8px;line-height:1.8;letter-spacing:1px}.stone{height:83px;width:300px;position:absolute;bottom:0;left:65px;border-radius:55% 20% 0 0;background:linear-gradient(120deg,#b4ac98,#e5ddcc);box-shadow:0 -2px 5px #b9ae96}.art>p{font:italic 17px Georgia;color:#7b7464;margin-top:22px}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;display:flex;justify-content:space-between;font-size:17px;line-height:1.8}.hero-bottom small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted)}.hero-bottom>span:last-child{font-size:13px;letter-spacing:2px}.form-view{max-width:470px;margin:50px auto 80px}.back{border:0;background:none;color:var(--muted);padding:12px 0;font-size:13px;min-height:44px}.form-view>.eyebrow{margin-top:35px}h2{font-family:"Songti TC","PMingLiU",serif;font-size:34px;font-weight:400;line-height:1.55;letter-spacing:1px;margin:12px 0}.muted{color:var(--muted);font-size:14px}form{margin-top:34px}label{display:block;font-size:14px;margin:22px 0 10px}label small{margin-left:10px;color:var(--muted);font-size:11px}input{width:100%;height:57px;min-width:0;border:1px solid #c7c1b2;background:#fff9;padding:12px 15px;border-radius:3px;color:var(--ink);font-size:16px}form .primary{width:100%;margin-top:15px}.privacy{font-size:12px;line-height:1.9;color:var(--muted);text-align:center;margin-top:24px}.form-view>.fine{text-align:center}#error{color:#9a492e;font-size:13px}.result-top{display:flex;justify-content:space-between;align-items:center;margin:30px 0}.result-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding:24px}.year{font-size:13px;letter-spacing:2px;margin-top:35px}.direction{font-size:12px;color:var(--olive);border-bottom:1px solid var(--line);padding-bottom:25px}.body-copy{white-space:pre-line;font-size:15px;line-height:2.1}.reminder{padding:20px 0 0}.reminder>span{font-size:12px;letter-spacing:2px;color:var(--olive)}.closing{font-family:serif;font-size:19px;line-height:1.8;margin-top:28px}.number-card{text-align:center;border:1px solid var(--line);border-radius:180px 180px 0 0;background:#efe0c5;padding:52px 20px 35px}.number-card>span{font-size:9px;letter-spacing:2px}.number-card strong{font:170px Georgia;display:block;color:var(--olive);line-height:1.2}.number-card small{font-size:12px;letter-spacing:3px}.scent-block{padding:25px 0}.scent-block p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}h3{font-size:20px;font-weight:400}.scents{display:flex;gap:10px;margin:24px 0}.scents button{border:1px solid #bbb9a7;background:transparent;border-radius:50%;height:55px;width:55px;color:var(--ink);font:24px Georgia}.scents button[aria-pressed=true]{background:var(--olive);color:#fff}.scent-block small{font-size:11px;color:var(--muted)}#selection{min-height:25px}.save-area{border-top:1px solid var(--line);margin-top:30px;padding:34px 24px;text-align:center}.save-area>p{font-size:13px;color:var(--muted)}.actions{display:flex;gap:12px;justify-content:center;margin:25px 0}.secondary{background:transparent;border:1px solid var(--olive);padding:17px 26px;color:var(--olive);border-radius:3px}.restart{display:block;margin:0 auto 40px}#cardPreview{max-width:270px;width:100%;border:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:32px;text-align:center}footer>span{font:20px Georgia;letter-spacing:5px}footer p{font-size:12px;letter-spacing:2px;color:var(--muted)}footer small{font-size:8px;letter-spacing:2px;color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){header{padding:23px 24px}header a{font-size:22px}main{padding:0 24px}.hero{padding:36px 0 25px;gap:24px;grid-template-columns:1fr}.hero h1{font-size:76px;margin:22px 0}.hero .eyebrow{font-size:9px}.tagline{font-size:18px;letter-spacing:1px}.intro{margin:18px 0 24px}.hero .primary{width:100%;display:flex;justify-content:space-between}.art{grid-row:2}.arch{height:300px;max-width:320px;border-radius:170px 170px 4px 4px}.sun{height:140px;width:140px;top:24px}.bottle{transform:scale(.77) rotate(-6deg);transform-origin:bottom;bottom:40px}.stone{height:45px;left:40px}.art>p{font-size:15px}.hero-bottom{margin-top:0}.form-view{margin-top:24px}.result-top{margin:18px 0}.result-top>.eyebrow{font-size:8px;letter-spacing:1px}.result-layout{grid-template-columns:1fr;gap:25px;padding:12px 0}.number-card{padding-top:36px}.number-card strong{font-size:125px}.result-layout article{order:1}.result-layout aside{display:contents}.number-card{order:0}.scent-block{order:2;padding:0}h2{font-size:28px}.year{margin-top:22px}.body-copy{font-size:15px}.save-area{padding:30px 0}.actions{flex-direction:column}.scents{justify-content:space-between}.scents button{height:60px;width:60px}.hero-bottom small{font-size:7px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.view{animation:none}}
#language{max-width:155px;padding:10px 8px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:3px;font-size:12px;min-height:44px}.calculation-box{border:1px solid var(--line);padding:24px;background:#efe0c5;margin:30px 0}.calculation-box>p{font-size:12px;color:var(--muted)}#birthDisplay{font:23px Georgia;letter-spacing:2px}.sum-row{font-family:Georgia,serif;font-size:24px;line-height:1.8;overflow-wrap:anywhere;margin:20px 0;padding-top:15px;border-top:1px solid var(--line)}.sum-row:last-child{color:var(--olive);font-weight:bold}#calculation>.primary{width:100%}.calculation-summary{margin:20px 0;color:var(--olive);font-size:13px}.calculation-summary summary{cursor:pointer;min-height:44px;padding:10px 0}.calculation-summary .sum-row{font-size:20px}html:not([lang=zh-Hant]) .tagline{letter-spacing:0;line-height:1.6}html:not([lang=zh-Hant]) h2{letter-spacing:0}html:not([lang=zh-Hant]) label small{display:none}.scents button{flex-shrink:0}button:disabled{opacity:.6;cursor:wait}@media(max-width:650px){.sum-row{font-size:22px}.calculation-box{padding:20px}header{gap:10px}header a{font-size:19px;letter-spacing:3px}header small{font-size:7px;letter-spacing:1px}.form-view h2{font-size:27px}}

.blend-guide{margin-top:24px;padding:20px;background:#efe0c5;border:1px solid var(--line);border-radius:4px}.blend-guide h3{margin:0 0 18px;font-size:18px}.blend-guide ol{padding-left:23px;margin:0;line-height:1.9;font-size:15px}.blend-guide li+li{margin-top:12px}.scent-block .blend-guide .drop-total{font-weight:bold;color:var(--olive);font-size:14px;margin:18px 0 0}

/* Brand palette from siddhamliving.com.my; larger reading sizes. */
body{font-size:18px}.brand-logo{display:block;width:190px;height:auto}.footer-logo{width:175px;height:auto}.bottle-logo{width:105px;height:auto;margin:0 auto}.primary,.secondary{font-size:18px;min-height:60px;line-height:1.5}.primary{border-radius:8px}.secondary{border-radius:8px}.eyebrow{font-size:13px;letter-spacing:1.7px}.intro,.muted,.body-copy{font-size:18px;line-height:1.95}.fine,.privacy{font-size:15px;line-height:1.8}.hero .fine{font-size:15px}label{font-size:18px}label small{font-size:15px}input{font-size:18px;height:62px}.back{font-size:16px}.direction,.year,.reminder>span{font-size:16px;line-height:1.7}.closing{font-size:22px}.number-card>span{font-size:13px}.number-card small{font-size:16px}.scent-block p:not(.eyebrow){font-size:18px;line-height:1.9}.scent-block small{font-size:16px;line-height:1.7;display:block}.scent-block h3,.save-area h3{font-size:24px;line-height:1.5}.scents button{font-size:28px}.save-area>p{font-size:17px}.blend-guide ol{font-size:18px}.blend-guide h3{font-size:22px}.scent-block .blend-guide .drop-total{font-size:18px}.calculation-box>p,.calculation-summary{font-size:16px}#language{font-size:15px;max-width:170px}footer p{font-size:16px}footer small{font-size:12px}.hero-bottom>span:last-child{font-size:16px}.hero-bottom small{font-size:10px}.calculation-summary .sum-row{font-size:23px}.primary:focus-visible,.secondary:focus-visible{outline-color:#8b5a3c}
@media(max-width:650px){header{padding:22px 20px}.brand-logo{width:145px}header small{font-size:12px}#language{font-size:14px;max-width:145px}.hero .eyebrow{font-size:12px}.hero-bottom small{font-size:9px}.body-copy{font-size:18px}.tagline{font-size:21px;line-height:1.65}.form-view h2,h2{font-size:30px}.result-top>.eyebrow{font-size:11px}.hero-bottom{gap:16px}.hero-bottom>span:last-child{font-size:15px}.sum-row{font-size:24px}.actions{gap:14px}.primary b{margin-left:15px}.form-view .primary{padding-left:14px;padding-right:14px}main{padding:0 22px}}
/* A quieter, personal result layout matching the keepsake card. */
.result-layout{gap:60px}.result-layout article h2{font-size:38px;line-height:1.55;max-width:22em}.number-card{border-radius:14px;padding:30px 20px;background:#efe0c5}.number-card strong{font-size:100px}.closing{border-left:2px solid #b89c77;padding-left:20px;margin:32px 0;line-height:1.85}.save-area{background:#fffaf080;border-radius:12px;padding:36px 24px;margin-bottom:25px}#cardPreview{max-width:360px;border-radius:5px;box-shadow:0 10px 35px #512d201a}.reminder{margin-top:28px}.result-layout article .year{margin-top:24px}@media(max-width:650px){.result-layout article h2{font-size:32px}.number-card{padding:22px}.number-card strong{font-size:90px}.save-area{padding:28px 16px}}

.privacy-details{margin:18px 0;color:var(--muted);font-size:15px;line-height:1.8}.privacy-details summary{cursor:pointer;text-align:center;min-height:44px;padding:8px}.privacy-details p{padding:12px 15px;background:#fffaf080;border-radius:6px}
