:root{--paper:#f8f6f0;--surface:#fffefa;--ink:#272e2b;--dim:#646b65;--line:#dcddd3;--gold:#80613c;--tint:#eeede5;--night:#15212b;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--serif:"AppleMyungjo","Batang",Georgia,serif;--globe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='9'/%3E%3Cpath d='M3 12h18'/%3E%3C/svg%3E")}
html:lang(en){--serif:Georgia,"Times New Roman",serif}html:lang(ja){--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--serif:"Hiragino Mincho ProN","Yu Mincho",serif}html:lang(zh-Hans){--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--serif:"Songti SC",SimSun,serif}html:lang(zh-Hant){--sans:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;--serif:"Songti TC",PMingLiU,serif}
*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}html{scroll-behavior:smooth;scroll-padding-top:105px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#ded4bb}img{display:block;max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.eyebrow{font:600 10px/1.7 var(--sans);letter-spacing:.18em;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.4;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}html:lang(ja) h1,html:lang(ja) h2,html:lang(zh) h1,html:lang(zh) h2{letter-spacing:0;word-break:normal}h2{font-size:clamp(28px,3.2vw,44px);margin:14px 0 20px}h3{font-size:27px}p{overflow-wrap:break-word}.lead,.sub{color:var(--dim);font-size:16px;line-height:1.9}.lead{max-width:620px}.small-note,.sample-note{font-size:12px;line-height:1.7;color:var(--dim)}.sample-note{text-align:center;max-width:510px;margin:24px auto 0}.text-link{display:inline-flex;align-items:center;gap:16px;padding:8px 0;color:var(--ink);font-size:14px;background:transparent;border:0;text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:13px 22px;text-decoration:none;border:1px solid var(--ink);border-radius:5px;font-size:14px}.primary{background:var(--ink);color:var(--surface)}.primary:hover{background:#3a4b55}
nav{position:sticky;top:0;z-index:30;background:var(--paper);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:84px}.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.mark{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--gold);border-radius:50%;font:23px/1 var(--serif);color:var(--gold)}.logo>span:last-child{font-size:12px;letter-spacing:.22em;font-weight:700}.logo small{display:block;font-size:10px;letter-spacing:.03em;font-weight:400;color:var(--dim);margin-top:2px}.menu{display:flex;align-items:center;gap:27px}.menu>a{font-size:13px;text-decoration:none}.nav-cta{border-bottom:1px solid var(--gold);padding:7px 0}.lang{position:relative}.lang summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 11px;border:1px solid var(--line);border-radius:6px;list-style:none;cursor:pointer;font-size:12px}.lang summary::-webkit-details-marker{display:none}.lang summary:before{content:"";display:block;width:18px;height:18px;flex:none;background:currentColor;mask:var(--globe) center/contain no-repeat;-webkit-mask:var(--globe) center/contain no-repeat}.lang summary:after{content:"⌄";font-size:13px}.lang ul{position:absolute;right:0;top:calc(100% + 8px);list-style:none;margin:0;padding:6px;min-width:175px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 15px 35px #15212b15}.lang li a{display:block!important;padding:10px 13px;min-height:44px;text-decoration:none;font-size:14px;border-radius:4px}.lang li a:hover{background:var(--tint)}.lang [aria-current=true]{color:var(--gold);font-weight:650}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-block:76px 66px}.hero h1{font-size:clamp(43px,5.3vw,68px);line-height:1.33;margin:23px 0}.hero .sub{max-width:490px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;margin-top:30px}.release-note{font-size:11px;color:var(--dim);margin-top:18px}.status-dot{display:inline-block;width:5px;height:5px;margin-right:8px;vertical-align:middle;border-radius:50%;background:var(--gold)}.hero-foot{display:flex;align-items:center;gap:20px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line)}.hero-foot>span{font-family:var(--serif);font-size:16px;letter-spacing:.22em;color:var(--gold);white-space:nowrap}.hero-foot p{font-size:12px;color:var(--dim)}.hero-visual{position:relative;padding-block:15px 0}.phone{position:relative;width:290px;max-width:100%;padding:7px;border:1px solid #b7b4ab;border-radius:35px;background:var(--ink);box-shadow:0 24px 50px -25px #15212b55;overflow:hidden}.phone img{border-radius:28px;width:100%;height:auto}.hero-phone{margin:auto;transform:rotate(2deg)}.orbit{position:absolute;width:440px;height:440px;max-width:110%;border:1px solid #d6d0c3;border-radius:50%;top:70px;left:50%;transform:translateX(-50%)}.orbit:before{content:"";position:absolute;inset:20px;border:1px solid #e1dcd2;border-radius:50%}.orbit:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);left:12%;top:16%}.vertical-note{position:absolute;right:-3px;top:110px;writing-mode:vertical-rl;letter-spacing:15px;font:20px var(--serif);color:var(--gold);line-height:2}.element-strip{border-block:1px solid var(--line)}.element-strip>.wrap{display:grid;grid-template-columns:repeat(5,1fr);padding-block:20px;gap:12px}.element-strip span{text-align:center;font-size:12px;color:var(--dim)}
.showcase,.demo-section,.faq-section{padding-block:88px}.section-heading{max-width:730px}.screen-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 38px}.screen-tabs button{min-height:46px;padding:9px 22px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--dim);font-size:14px}.screen-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.screen-gallery{padding:40px 60px;background:var(--tint);border-radius:9px}.screen-panel{display:grid;grid-template-columns:340px 1fr;align-items:center;gap:65px;margin-block:20px}.screen-panel .phone{margin:auto;width:270px}.screen-panel figcaption{max-width:420px}.screen-panel h3{margin:15px 0 18px;font-size:35px}.screen-panel figcaption>p{color:var(--dim);font-size:16px}.zoom-button{margin-top:22px}.feature-section{padding-block:76px;background:var(--night);color:#f5f2e8}.feature-section .eyebrow{color:#d5bd8e}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.feature-grid article{border-top:1px solid #43505a;padding-top:22px}.feature-number{font:13px var(--serif);color:#d5bd8e}.feature-grid h3{font-size:24px;margin:20px 0 12px}.feature-grid p{color:#b7c1c6;font-size:14px;line-height:1.9}
.demo-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:36px}.demo-inputs fieldset{border:0;padding:0;margin:0 0 26px}.demo-inputs legend{font-size:14px;margin-bottom:12px;font-weight:600}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice{position:relative;cursor:pointer}.choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.choice span{display:block;padding:11px 17px;min-height:46px;border:1px solid var(--line);border-radius:6px;font-size:14px}.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--surface)}.choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.travel-note{padding:30px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:5px}.travel-note h3{font-size:25px;margin:15px 0 12px;min-height:70px}.travel-note p{font-size:14px;color:var(--dim)}#demo-result>p{min-height:80px}.mini-checklist{margin-top:23px}.mini-checklist label{display:flex;align-items:center;gap:12px;min-height:48px;padding-block:9px;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.mini-checklist input{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0}.mini-checklist input:checked+span{text-decoration:line-through;color:var(--dim)}.travel-note .check-status{font-size:11px;color:var(--gold);margin-top:12px}.notes-section{border-block:1px solid var(--line);padding-block:55px}.notes-row{display:flex;align-items:center;justify-content:space-between;gap:35px}.notes-row h2{font-size:32px}.notes-row .lead{max-width:700px}.notes-row>a{flex-shrink:0}.faq{margin-top:34px;max-width:850px}.faq details{padding-block:19px;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:16px;font-weight:550;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--gold);font-size:23px;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{margin-top:13px;color:var(--dim);font-size:14px;max-width:740px}.launch{padding-block:70px;text-align:center;background:var(--tint)}.launch .mark{margin-bottom:23px}.launch .lead{margin:auto}.store-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:30px}.store-card{display:flex;flex-direction:column;justify-content:center;min-height:78px;min-width:200px;padding:13px 26px;text-align:left;border:1px solid #b8b7af;border-radius:7px;text-decoration:none;background:var(--surface)}.store-card span{font-size:16px;font-weight:600}.store-card strong{font-size:11px;font-weight:400;color:var(--dim);margin-top:4px}.pending{background:transparent}footer{padding-block:30px;font-size:12px;color:var(--dim)}footer .wrap{text-align:center}footer .links,.flang{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-bottom:14px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}.flang [aria-current=true]{color:var(--gold);font-weight:600}.fine{max-width:690px;margin:auto;font-size:11px}dialog{border:0;padding:20px;background:var(--paper);color:var(--ink);max-width:min(94vw,460px);max-height:94dvh;border-radius:12px}dialog::backdrop{background:#0c1520cc;backdrop-filter:blur(4px)}.dialog-close{position:sticky;top:0;display:block;margin:0 0 16px auto;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 16px;border-radius:6px;font-size:14px;z-index:1}dialog img{width:100%;border-radius:8px}dialog .sample-note{padding-bottom:8px}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:36px}.hero h1{font-size:48px}.phone{width:265px}.hero-foot{display:block}.hero-foot p{margin-top:10px}.screen-gallery{padding:30px}.screen-panel{grid-template-columns:280px 1fr;gap:35px}.menu{gap:18px}.desktop-link{display:none}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.nav-inner{min-height:72px;gap:10px}.menu{gap:12px}.nav-cta{display:none}.logo>span:last-child{font-size:10px}.logo small{font-size:9px}.logo .mark{width:30px;height:30px;font-size:20px}.lang summary{font-size:12px;padding-inline:9px}.hero{grid-template-columns:1fr;padding-block:44px 45px;gap:35px}.hero h1{font-size:clamp(39px,9vw,56px)}.hero .sub{font-size:15px;max-width:100%}.hero-foot{margin-top:28px;display:flex}.hero-actions{gap:12px 20px}.hero-visual{max-width:420px;width:100%;margin:auto}.hero-phone{width:265px}.hero-visual .sample-note{font-size:10px;max-width:290px}.orbit{width:340px;max-width:100%;height:340px}.vertical-note{right:8px}.element-strip>.wrap{gap:7px;padding-block:16px}.element-strip span{font-size:10px;line-height:1.6}.showcase,.demo-section,.faq-section{padding-block:56px}h2{font-size:30px}.lead{font-size:15px}.screen-tabs{margin-block:25px;gap:7px}.screen-tabs button{font-size:13px;padding-inline:17px}.screen-gallery{padding:26px 20px}.screen-panel{grid-template-columns:1fr;gap:30px;margin-block:0}.screen-panel .phone{width:245px}.screen-panel figcaption{max-width:100%}.screen-panel h3{font-size:27px}.screen-panel figcaption>p{font-size:14px}.feature-section{padding-block:55px}.feature-grid{grid-template-columns:1fr;gap:30px}.feature-grid h3{margin-top:12px}.demo-layout{grid-template-columns:1fr;gap:28px}.travel-note{padding:23px}.travel-note h3,#demo-result>p{min-height:0}.notes-row{display:block}.notes-row>a{margin-top:20px}.notes-row h2{font-size:29px}.faq summary{font-size:15px}.store-card{min-width:0;flex:1;max-width:260px;padding:13px 18px}.store-card span{font-size:14px}.launch{padding-block:55px}.hero-foot>span{font-size:15px}.hero-foot p{font-size:11px;margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Japanese clauses stay together on 320–390px screens without compressing glyphs. */
@media(max-width:760px){html:lang(ja) .hero h1{font-size:clamp(32px,8vw,46px);line-height:1.5}}

/* Editorial compositions: readable text at every locale and zoom level. */
.composition{position:relative;background:var(--surface);border:1px solid var(--line);padding:30px;min-width:0;width:100%;border-radius:4px;box-shadow:0 15px 45px -30px #15212b55}.hero-visual>.composition{max-width:360px;margin:auto;min-height:440px}.composition h3{font-size:27px;margin:24px 0 12px}.composition h3 span{display:inline-block;font:14px var(--sans);color:var(--dim);margin-left:10px}.composition p{font-size:14px;color:var(--dim)}.composition .composition-foot{border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:12px}.element-seal{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 30px;justify-content:center}.element-seal span{display:grid;place-items:center;width:44px;height:60px;font:32px var(--serif);border-bottom:3px solid #638575;color:#496b5b}.element-seal span:nth-child(2){color:#a55e4a;border-color:#a55e4a}.element-seal span:nth-child(3){color:#927445;border-color:#927445}.element-seal span:nth-child(4){color:#707982;border-color:#707982}.element-seal span:nth-child(5){color:#466b86;border-color:#466b86}.hanja{display:block;font:60px var(--serif);color:var(--gold);margin-top:24px}.reading-composition ol{padding-left:24px;margin:25px 0}.reading-composition li{padding:12px 0 12px 6px;border-bottom:1px solid var(--line);font-size:15px}.reading-composition li::marker{color:var(--gold)}.reading-disclosure{max-width:760px;margin:28px auto 0;padding-top:22px;border-top:1px solid var(--line);color:var(--dim);font-size:12px}.reading-disclosure p+p{margin-top:10px}.hero-visual .orbit{z-index:-1}.screen-panel{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:50px}.screen-panel .composition h3{font-size:25px}.hero-visual{isolation:isolate}.element-strip span:nth-child(1){color:#496b5b}.element-strip span:nth-child(2){color:#a55e4a}.element-strip span:nth-child(3){color:#927445}.element-strip span:nth-child(4){color:#626b74}.element-strip span:nth-child(5){color:#466b86}
@media(max-width:760px){.screen-panel{grid-template-columns:minmax(0,1fr);gap:28px}.composition{padding:25px}.hero-visual>.composition{min-height:0}.element-seal{gap:8px;margin:25px 0}.element-seal span{width:40px}.screen-gallery{padding:20px 16px}.screen-panel .composition h3{font-size:23px}.orbit{display:none}}
@media(max-width:760px){html:lang(zh-Hans) .hero h1,html:lang(zh-Hant) .hero h1{font-size:clamp(30px,8vw,44px);line-height:1.5}}

html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3{word-break:keep-all}html:lang(ko) .hero h1{font-size:clamp(36px,4.5vw,56px)}
/* 2026-09-28: 일본어 제목이 단어 중간(自/分)에서 끊기지 않게 — 지원 브라우저(Chromium)는 구 단위 줄바꿈, 나머지는 기존 규칙 */
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ja) .faq summary{word-break:auto-phrase}
/* 히어로: 개인 값 없이 명식 구조와 계산 기준만 보여주는 구성 예시 */
.pillar-grid{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:7px;margin:30px 0 14px;align-items:center}.pillar-grid .ph{font-size:11px;color:var(--dim);text-align:center;line-height:1.4}.pillar-grid .rh{font-size:11px;color:var(--dim);padding-right:4px;white-space:nowrap}.pillar-grid .cell{display:grid;place-items:center;height:64px;border:1px solid var(--line);border-radius:3px;font:26px var(--serif);color:#aaa293;background:var(--paper)}.pillar-grid .cell.day{border-color:var(--gold);color:var(--gold);background:#f5eedf}.chart-composition .day-mark{font-size:13px;color:var(--gold)}
@media(max-width:760px){.pillar-grid .cell{height:54px;font-size:22px}}

/* Shared paper/ink palette with the app. Element color remains a secondary marker. */
.text-link,.nav-cta,footer a{min-height:44px;display:inline-flex;align-items:center}
.element-strip span,.element-seal span{color:var(--ink)!important}
.pillar-grid .cell{color:var(--dim)}
.pillar-grid .cell.day{background:var(--tint)}
@media(prefers-color-scheme:dark){
:root{color-scheme:dark;--paper:#15212b;--surface:#1d2b35;--ink:#f5f2e8;--dim:#b6c0c5;--line:#3a4852;--gold:#d7be8d;--tint:#2b3942}
.primary:hover{background:#dcd8cc;color:#15212b}
.orbit,.orbit:before{border-color:var(--line)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand-compass{flex-shrink:0}.verified-screens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.verified-screens img{border:1px solid var(--line);border-radius:10px;width:100%;max-height:650px;object-fit:contain;background:var(--surface)}@media(max-width:760px){.verified-screens{grid-template-columns:1fr}.verified-screens img{max-height:600px}}
/* Keep the language name readable at the smallest supported widths. */
.lang summary{white-space:nowrap}
@media(max-width:360px){.nav-cta{display:none!important}.menu{gap:10px}.nav-inner{gap:12px}}
