/* Permanent welcome theme. The archived Chuseok campaign keeps its own lifecycle. */
:root { color-scheme:light; --home-ink:#22434b; --home-muted:#6b7d77; --home-page:#f7f5ef; }
html { scroll-behavior:smooth; scroll-padding-top:18px; }
body[data-home-theme="welcome"] { padding:0 18px; background:var(--home-page); color:var(--home-ink); justify-content:flex-start; align-items:center; font-weight:400; }
.welcome-home { width:min(940px,100%); }
.home-first-screen { --home-gap:14px; min-height:740px; height:var(--home-viewport-height,100svh); max-height:1040px; display:grid; grid-template-rows:54px repeat(3,minmax(min-content,1fr)) 24px; gap:var(--home-gap); padding:10px 0 max(10px,env(safe-area-inset-bottom)); }
.home-masthead { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 52px 0 25px; }
.home-brand { color:#28484e; font-size:20px; font-weight:700; text-decoration:none; white-space:nowrap; letter-spacing:-.6px; }
.home-masthead p { color:#70817e; font-size:12px; text-align:right; }
.home-masthead p span { white-space:nowrap; }
body[data-home-theme] .q-account-bar { position:absolute; top:20px; right:max(18px,calc((100vw - 940px) / 2)); width:36px; }
body[data-home-theme] .q-account-link { width:36px; height:36px; padding:4px; border-radius:11px; box-shadow:0 3px 10px #243d3820; }
body[data-home-theme] .q-account-symbol { width:27px; height:27px; }
.home-card { position:relative; min-width:0; border:1px solid; border-radius:23px; padding:20px 26px; }
.home-welcome { display:grid; grid-template-columns:minmax(0,1fr) 100px; align-content:center; gap:8px 24px; padding-block:11px; background:linear-gradient(115deg,#e3f0f4,#cde4ee 78%,#bfddeb); border-color:#c4dbe0; overflow:hidden; isolation:isolate; }
.home-welcome::before { content:""; z-index:-1; position:absolute; width:250px; height:250px; border-radius:50%; right:-10px; top:-155px; background:linear-gradient(140deg,#fffbed,#f8e8b0); opacity:.8; }
.home-welcome::after { content:""; z-index:-1; position:absolute; width:75%; height:65px; bottom:-60px; left:5%; border-radius:50%; background:#c7a052; }
.home-eyebrow { color:#587785; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.025em; }
.welcome-copy h1 { font-size:clamp(24px,3.2vw,30px); line-height:1.28; letter-spacing:-.055em; font-weight:700; word-break:keep-all; margin-top:6px; }
.welcome-copy h1 br { display:none; }
.welcome-signature { margin-top:5px; font-size:11px; color:#5d7880; }
.welcome-signature strong { font-weight:500; margin-left:3px; }
.welcome-portrait { position:relative; align-self:center; justify-self:center; width:80px; height:80px; margin:0; isolation:isolate; }
.welcome-portrait::before { content:""; position:absolute; inset:5px; z-index:-1; border-radius:50%; background:radial-gradient(circle at 40% 32%,#fff8dfb3,#f5e6b340 70%,transparent 71%); }
.welcome-portrait img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 1px #49616b16); }
.home-search { grid-column:1/-1; width:100%; }
.home-search-row { display:flex; align-items:center; gap:10px; min-height:46px; padding:3px 4px 3px 14px; border:1px solid #bdd0d3; border-radius:13px; background:#ffffffdd; box-shadow:0 3px 14px #57788009; }
.home-ai-tag { flex:none; font-size:12px; font-weight:700; color:#63848c; padding-right:9px; border-right:1px solid #cddcdc; }
.home-search input { min-width:0; width:100%; border:0; outline:0; font:400 16px/1.4 var(--font-main); background:transparent; color:#22434b; }
.home-search input::placeholder { color:#668088; }
.home-search button { display:grid; place-items:center; width:40px; height:40px; flex:none; border:0; border-radius:10px; background:#426b76; color:white; cursor:pointer; }
.home-search button:hover { background:#2c535e; }
.home-search-row:focus-within { outline:2px solid #678e97; outline-offset:2px; }
.home-search p { margin-top:5px; font-size:10px; color:#617b83; }
.home-domain-summary { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; min-height:32px; padding:5px 10px; border:1px solid #aac8ce80; border-radius:8px; color:#4f717b; background:#eff8f888; font:400 11px/1.4 var(--font-main); cursor:pointer; }
.home-domain-summary strong { font-size:10px; font-weight:500; }
.home-domain-summary:hover { background:#f6fbf9; }
.home-domain-dialog { position:fixed; inset:0; margin:auto; padding:24px; width:min(550px,calc(100% - 28px)); max-height:85svh; overflow:auto; border:1px solid #cbdbd3; border-radius:20px; background:#fbfaf5; color:#294c49; box-shadow:0 20px 80px #183b3e44; }
.home-domain-dialog::backdrop { background:#203d4670; backdrop-filter:blur(3px); }
.home-domain-dialog header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.home-domain-dialog h2 { font-size:22px; margin:3px 0 10px; letter-spacing:-.05em; }
.home-domain-dialog header button { flex:none; border:1px solid #d4ddd3; border-radius:50%; width:36px; height:36px; font-size:25px; background:white; color:#587a6f; cursor:pointer; }
.home-domain-dialog > p { font-size:12px; line-height:1.7; color:#71817a; }
.home-domain-dialog label { display:block; margin-top:17px; font-size:11px; font-weight:600; }
.home-domain-dialog input { width:100%; min-height:44px; margin:5px 0 12px; border:1px solid #c5d3c5; border-radius:8px; background:white; padding:8px 12px; font:400 16px/1.4 var(--font-main); color:#345c50; }
.home-domain-dialog :is(input,button,a):focus-visible { outline:3px solid #8dab9b; outline-offset:2px; }
.home-domain-dialog ul { padding:0; margin:10px 0; list-style:none; }
.home-domain-dialog li { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #e0e5db; padding:12px 0; }
.home-domain-dialog li a { font:600 15px 'Outfit',sans-serif; color:#345e58; text-decoration:none; }
.home-domain-dialog li small { display:block; font-size:10px; color:#869083; margin-top:3px; }
.home-domain-dialog li > span { font-size:10px; white-space:nowrap; color:#947b4d; border:1px solid #e4d9bd; border-radius:6px; padding:4px 7px; }
.home-domain-dialog .home-domain-footnote { padding-top:10px; font-size:10px; }
.home-card-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.home-card-heading h2 { font-size:15px; font-weight:500; color:#617c69; letter-spacing:-.035em; }
.home-card-index { font-size:9px; letter-spacing:.12em; color:#7c8f81; white-space:nowrap; }
.home-signup { display:flex; flex-direction:column; justify-content:space-between; gap:5px; padding-block:16px; background:radial-gradient(ellipse at 95% 0,#eeefd955,transparent 50%),linear-gradient(125deg,#fffdf1,#f2f7ed 66%,#e2eeea); border-color:#cbd9cb; isolation:isolate; }
.home-signup::before { content:""; position:absolute; inset:7px; border:1px solid #c4bc854b; border-radius:17px; z-index:-1; pointer-events:none; }
.home-card-person { color:#355d50; font-size:22px; line-height:1.3; font-weight:500; letter-spacing:-.045em; }
.home-card-detail { margin-top:4px; color:#657e6b; font-size:13px; line-height:1.45; letter-spacing:-.035em; word-break:keep-all; }
.home-button { min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; border:1px solid; border-radius:11px; padding:9px 12px; font:600 15px/1.4 var(--font-main); cursor:pointer; text-decoration:none; }
.home-button span { font-size:20px; line-height:1; }
.home-signup-submit { border-color:#b7cbb0; background:linear-gradient(100deg,#dbe8d3,#ecf0d7,#dae8d7); color:#355e4b; }
.home-signup-submit:hover { background:#d6e6cd; }
.home-signup-submit:disabled { opacity:.6; cursor:wait; }
/* Keep the original Qmail controller and its validation states. */
.home-signup .qmail-number-form { display:grid; grid-template-columns:max-content minmax(0,8ch) max-content; grid-template-rows:37px minmax(16px,auto); column-gap:0; row-gap:2px; width:100%; justify-content:start; align-items:center; font:500 28px/1.35 'Outfit','Noto Sans KR',sans-serif; font-variant-numeric:tabular-nums; letter-spacing:0; }
.home-signup .qmail-phone-field { display:contents; }
.home-signup .qmail-phone-field > strong { grid-area:1/1; font:inherit; color:#35584a; }
.home-signup .qmail-phone-field > span:not(.qmail-inline-domain),.home-signup .qmail-phone-field button { display:none; }
.home-signup .qmail-phone-field input { grid-area:1/2; width:100%; min-width:0; max-width:none; height:37px; padding:0; border:0; border-bottom:1px solid transparent; border-radius:0; font:inherit; letter-spacing:0; font-variant-numeric:tabular-nums; background:transparent; text-align:left; color:#35584a; }
.home-signup .qmail-phone-field input::placeholder { color:#35584a; }
.home-signup .qmail-inline-domain { display:inline-flex; grid-area:1/3; align-items:baseline; white-space:nowrap; font:700 1em/1.35 'Outfit',sans-serif; color:#35584a; margin:0; }
.home-signup .qmail-inline-domain b { color:#a08542; font-size:1.1em; font-weight:700; }
.home-signup .qmail-inline-domain small { font-size:1em; font-weight:500; color:#35584a; }
.home-signup .qmail-address-example { display:none; grid-area:1/1/2/4; z-index:1; cursor:text; white-space:nowrap; font:inherit; color:#35584a; }
.home-signup .qmail-address-example span { font-weight:700; }
.home-signup .qmail-example-highlight { color:#927238; font-style:normal; font-weight:600; }
.home-signup .qmail-address-example b { color:#a08542; font-size:1.1em; }
.home-signup .qmail-number-form:not(:focus-within):has(input:placeholder-shown) .qmail-address-example { display:block; }
.home-signup .qmail-number-form:not(:focus-within):has(input:placeholder-shown) .qmail-phone-field > :is(strong,input,.qmail-inline-domain) { opacity:0; }
.home-signup .qmail-number-form:has(input:focus) { column-gap:3px; }
.home-signup .qmail-phone-field input:focus { outline:2px solid #859f7a; outline-offset:-2px; background:#fffdf1; }
.home-signup .qmail-policy-notice { grid-area:2/2/3/4; min-height:16px; margin:0; padding:0; max-width:100%; font:400 11px/1.45 var(--font-main); text-align:left; color:#6d8170; word-break:keep-all; }
.home-signup .qmail-policy-notice:is([data-state="error"],[data-state="invalid"]) { color:#a34132; }
.home-signup .qmail-policy-notice[data-state="registered"] { color:#315e4d; font-weight:600; }
.home-signup .qmail-preview { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; margin:-1px; }
.home-founder { display:flex; flex-direction:column; justify-content:space-between; gap:7px; background:linear-gradient(120deg,#fffdfa,#fff4f5); border-color:#e5ddda; }
.home-founder .home-eyebrow { color:#aa6477; }
.home-founder .home-card-index { color:#a58a8f; }
.home-founder h2 { font-size:26px; line-height:1.3; font-weight:600; letter-spacing:-.05em; word-break:keep-all; }
.home-founder h2 br { display:none; }
.home-founder h2 strong { font-weight:600; color:#96556b; }
.founder-journey { display:flex; align-items:center; gap:10px; }
.founder-journey span { font-size:12px; color:#9c6c6b; background:#fffaf8; border:1px solid #eadbd4; border-radius:8px; padding:8px 10px; flex:1; text-align:center; white-space:nowrap; }
.founder-journey i { font-style:normal; font-size:12px; color:#b49b95; }
.founder-note { font-size:10px; color:#927c82; }
.home-founder-cta { color:#a2496b; border-color:#ddbdca; background:#fffcfd; }
.home-founder-cta:hover { background:#faeaf0; }
.home-explore-link { color:#788880; text-decoration:none; font-size:11px; display:flex; align-items:center; justify-content:center; gap:9px; }
.home-explore-link span { font-size:18px; }
.home-explore { min-height:80svh; padding:65px 0 36px; text-align:center; scroll-margin-top:15px; }
.explore-heading h2 { font-size:28px; letter-spacing:-.055em; font-weight:600; margin:7px 0; }
.explore-heading > p:last-child { color:#7e8b81; font-size:13px; margin-bottom:26px; }
.home-explore .services { width:min(304px,100%); max-width:none; margin:0 auto 24px; gap:18px; }
.home-explore .service-card { border-color:#d4d7cb; box-shadow:0 5px 20px #263d3a12; }
.home-explore .service-track { scrollbar-color:#b9c8b7 #ecede5; }
.home-archive-link { display:inline-block; padding:12px 18px; color:#8b7849; font-size:12px; text-decoration:none; border:1px solid #dfd7c0; border-radius:9px; }
.home-footer { padding:20px 8px 30px; display:flex; justify-content:space-between; gap:15px; color:#92988d; font-size:11px; border-top:1px solid #dedfd4; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.welcome-home a:focus-visible,.welcome-home button:focus-visible { outline:3px solid #78998b; outline-offset:3px; }
.home-button { position:relative; }
.home-button::after { content:""; position:absolute; inset:-1px; border:2px solid currentColor; border-radius:inherit; opacity:0; pointer-events:none; animation:home-invite 4.4s ease-in-out infinite; }
.home-founder-cta::after { animation-delay:2.2s; }
@keyframes home-invite { 0%,45%,100% {opacity:0} 12%,30% {opacity:.35} }
.home-first-screen:has(input:focus) .home-button::after,.home-button:focus-visible::after,.home-button:disabled::after { animation:none; opacity:0; }
@media(max-width:600px) {
 body[data-home-theme="welcome"] { padding-inline:12px; }
 .home-first-screen { --home-gap:clamp(8px,1.6svh,14px); min-height:650px; max-height:none; padding-top:5px; grid-template-rows:42px repeat(3,minmax(min-content,1fr)) 20px; }
 .home-masthead { padding-left:17px; padding-right:47px; gap:8px; }
 .home-brand { font-size:15px; }
 .home-masthead p { font-size:9px; line-height:1.5; max-width:198px; }
 body[data-home-theme] .q-account-bar { top:10px; right:12px; }
 .home-card { padding:12px 16px; border-radius:17px; }
 .home-welcome { grid-template-columns:minmax(0,1fr) 76px; column-gap:8px; row-gap:8px; padding-block:10px; }
 .welcome-copy h1 { font-size:22px; line-height:1.32; }
 .welcome-copy h1 br { display:block; }
 .welcome-portrait { width:76px; height:76px; }
 .welcome-signature { font-size:10px; margin-top:4px; }
 .home-eyebrow { font-size:10px; }
 .home-card-heading h2 { font-size:13px; }
 .home-card-index { font-size:8px; letter-spacing:.05em; }
 .home-card-person { font-size:19px; }
 .home-card-detail { font-size:12px; }
 .home-signup .qmail-number-form { font-size:24px; }
 .home-signup .qmail-policy-notice { font-size:10px; }
 .home-button { font-size:14px; }
 .home-founder h2 { font-size:22px; }
 .home-founder h2 br { display:block; }
 .founder-journey { gap:5px; }
 .founder-journey span { font-size:10px; padding:6px 3px; }
 .founder-journey i { font-size:10px; }
 .founder-note { font-size:9px; }
 .home-explore { padding-top:42px; }
 .explore-heading h2 { font-size:24px; }
}
@media(max-width:370px) {
 .home-card { padding-inline:13px; }
 .home-masthead { padding-left:14px; }
 .home-masthead p { font-size:8px; }
 .home-card-index { display:none; }
 .welcome-copy h1 { font-size:20px; }
 .home-card-person { font-size:18px; }
 .home-signup .qmail-number-form { font-size:21px; }
 .home-founder h2 { font-size:21px; }
}
@media(max-width:350px) {
 .home-welcome { grid-template-columns:minmax(0,1fr) 62px; }
 .welcome-portrait { width:62px; height:62px; }
 .welcome-copy h1 { font-size:18px; }
 .home-masthead p span { display:block; }
}
@media(max-width:600px) and (max-height:700px) {
 .home-first-screen { min-height:600px; --home-gap:8px; grid-template-rows:40px repeat(3,minmax(min-content,1fr)) 20px; }
 .home-card { padding-block:9px; }
 .home-signup,.home-founder { gap:4px; }
 .home-signup { gap:3px; padding-block:8px; }
 .home-signup .home-card-person { line-height:1.25; }
 .home-card-detail { margin-top:2px; font-size:11px; line-height:1.35; }
 .home-welcome { row-gap:4px; padding-block:8px; }
 .welcome-copy h1 { font-size:20px; margin-top:3px; }
 .home-welcome .welcome-portrait { width:60px; height:60px; }
 .home-welcome .welcome-signature { margin-top:2px; font-size:9px; }
 .home-welcome .home-search p { margin-top:3px; font-size:9px; line-height:1.3; }
 .home-domain-summary { min-height:28px; padding-block:3px; font-size:10px; }
 .home-domain-summary strong { font-size:9px; }
 .home-card-person { font-size:17px; }
 .home-signup .qmail-number-form { grid-template-rows:32px minmax(15px,auto); }
 .home-signup .qmail-phone-field input { height:32px; }
 .home-founder h2 { font-size:20px; }
 .founder-journey { display:none; }
}
@media(max-width:600px) and (max-height:599px) {
 .home-first-screen { height:auto; min-height:650px; grid-template-rows:40px repeat(3,minmax(172px,auto)) 20px; }
}
@media(min-width:601px) {
 .home-search { max-width:740px; }
 .home-signup .qmail-number-form { font-size:30px; }
 .home-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .home-button::after {animation:none;opacity:0} }
