/* Brand landing page: independent of the documentation color scheme. */
body:has(.dp-landing) { background:#fff; color:#172b32; }
body:has(.dp-landing) .md-main__inner { max-width:none; margin:0; }
.dp-landing { width:100%; min-width:0; padding:16px 16px 0; font-family:"Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.75; color:#172b32; -webkit-font-smoothing:antialiased; }
.dp-landing * { box-sizing:border-box; }
.dp-landing a { color:inherit; }
.dp-landing a:focus-visible, .dp-site-footer a:focus-visible { outline:3px solid #0786a2; outline-offset:5px; }
.dp-landing h1,.dp-landing h2,.dp-landing h3,.dp-landing p,.dp-landing figure { margin:0; }
.dp-landing h1,.dp-landing h2,.dp-landing h3 { word-break:keep-all; text-wrap:balance; }
.landing-hero { border-radius:28px; overflow:hidden; background:radial-gradient(ellipse at 15% 40%,#ffffffba 0,transparent 42%),radial-gradient(ellipse at 85% 15%,#fff9 0,transparent 35%),linear-gradient(155deg,#99e6ee,#d9f6f7 65%,#ecfafa); padding:0 36px 44px; }
.landing-nav { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:88px; max-width:1220px; margin:auto; }
.landing-brand { display:flex; align-items:center; gap:10px; font-size:23px; font-weight:700; letter-spacing:-.8px; }
.landing-mark { display:grid; place-items:center; width:33px; height:33px; border:2px solid #172b32; border-radius:11px; font-size:26px; line-height:1; }
.landing-nav nav,.landing-nav-actions { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:700; }
.landing-nav-actions { gap:18px; }
.landing-nav nav a:hover,.landing-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.landing-language { font-size:13px; }
.dp-landing .landing-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:12px 26px; border-radius:999px; background:#172b32; color:#fff; font-size:15px; font-weight:700; transition:background .2s; }
.dp-landing .landing-button:hover { background:#28515e; }
.dp-landing .landing-button.small { min-height:40px; padding:8px 20px; font-size:13px; }
.landing-intro { text-align:center; max-width:960px; margin:64px auto 54px; }
.landing-kicker { font-size:12px; font-weight:700; letter-spacing:.12em; color:#47616b; }
.landing-intro h1 { margin:20px 0 24px; font-size:clamp(36px,4.6vw,66px); font-weight:700; line-height:1.24; letter-spacing:-.055em; }
.landing-lead { font-size:18px; color:#36545d; line-height:1.9; word-break:keep-all; }
.landing-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:26px; margin-top:30px; }
.landing-text-link { font-size:15px; font-weight:700; }
.landing-visual { max-width:1080px; margin:auto!important; background:#ffffffeb; border:1px solid #fff; border-radius:20px; box-shadow:0 24px 65px #30616e1a; overflow:hidden; }
.visual-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-bottom:1px solid #dce9ed; color:#536d75; font-size:12px; }
.visual-dots { letter-spacing:3px; color:#a5bac1; }
.visual-badge { font-size:10px; letter-spacing:.08em; }
.visual-content { padding:34px; }
.visual-content h2 { font-size:23px; text-align:center; font-weight:700; letter-spacing:-.035em; }
.visual-flow { display:grid; grid-template-columns:1fr 30px 1fr 30px 1fr; gap:14px; align-items:center; margin-top:30px; }
.flow-node { padding:22px 16px; text-align:center; background:#f2f7f8; border:1px solid #dfe9ec; border-radius:16px; min-height:230px; }
.node-label { display:block; color:#60757c; font-size:10px; font-weight:700; letter-spacing:.09em; }
.schema-icon { font:700 36px/1.4 monospace; margin:12px auto; color:#40717f; }
.core-symbol { margin:12px auto; height:52px; width:52px; display:grid; place-items:center; border-radius:16px; background:#173c48; color:#fff; font-size:40px; font-weight:700; line-height:1; }
.flow-node h3 { font-size:19px; font-weight:700; margin-bottom:6px; }
.flow-node p,.flow-outputs p { font-size:12px; color:#4d6973; line-height:1.65; }
.format-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:5px; margin-top:15px; }
.format-tags span { padding:2px 7px; background:#fff; border:1px solid #dae6e9; border-radius:5px; font-size:10px; }
.flow-core { background:linear-gradient(145deg,#d1f3f5,#edfafa); border-color:#96d4df; }
.flow-arrow { font-size:25px; color:#6b949f; text-align:center; }
.flow-outputs { display:grid; gap:13px; }
.flow-outputs>div { border:1px solid #dce7eb; border-radius:13px; padding:15px; background:#fff; }
.flow-outputs strong { display:block; font-size:15px; margin-bottom:5px; }
.landing-visual figcaption { padding:0 20px 19px; text-align:center; font-size:11px; color:#63777e; }
.landing-section { max-width:1120px; margin:auto; padding:100px 20px; }
.landing-section h2,.landing-contact h2 { margin:16px 0 22px; font-size:clamp(29px,3.5vw,44px); line-height:1.35; letter-spacing:-.045em; font-weight:700; }
.landing-description { max-width:620px; font-size:17px; color:#52656d; word-break:keep-all; }
.landing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:44px; }
.landing-value { padding-top:24px; border-top:1px solid #d7e1e5; }
.landing-value>span { color:#63818c; font-size:13px; }
.landing-value h3 { font-size:21px; margin:15px 0 12px; letter-spacing:-.03em; }
.landing-value p,.landing-product p { font-size:15px; color:#52656d; line-height:1.85; word-break:keep-all; }
.products-section { max-width:none; background:#f5f8f8; border-radius:24px; padding-left:max(36px,calc((100% - 1080px)/2)); padding-right:max(36px,calc((100% - 1080px)/2)); }
.landing-product { display:flex; flex-direction:column; padding:30px; border:1px solid #e0e8eb; border-radius:18px; background:#fff; transition:box-shadow .2s,border-color .2s; }
.landing-product:hover { border-color:#96b8c0; box-shadow:0 10px 25px #1938420b; }
.landing-product>span { color:#58717b; font-size:11px; font-weight:700; letter-spacing:.1em; }
.landing-product h3 { font-size:22px; letter-spacing:-.035em; margin:25px 0 12px; }
.landing-product b { font-size:13px; margin-top:auto; padding-top:26px; display:flex; justify-content:space-between; }
.landing-team { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.landing-team>div>p:not(.landing-kicker) { font-size:17px; color:#52656d; line-height:1.95; word-break:keep-all; margin-bottom:24px; }
.landing-contact { text-align:center; border-radius:24px; padding:75px 24px; background:#e3f5f6; }
.landing-contact>p:not(.landing-kicker) { color:#47616b; font-size:16px; }
.landing-contact>a { display:inline-block; font-size:clamp(18px,3vw,29px); font-weight:700; margin-top:28px; border-bottom:1px solid #85aeb8; padding-bottom:5px; overflow-wrap:anywhere; }
.dp-site-footer { background:#fff; color:#354c56; font-family:"Noto Sans KR",sans-serif; padding:44px max(24px,calc((100% - 1080px)/2)); font-size:13px; }
.dp-footer-top { display:flex; justify-content:space-between; gap:24px; padding-bottom:30px; }
.dp-footer-top strong { font-size:21px; color:#172b32; }
.dp-footer-links { display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
.dp-site-footer a:hover { text-decoration:underline; }
.dp-copyright { padding-top:20px; border-top:1px solid #e1e8eb; color:#53676e; }
@media(max-width:900px) { .landing-hero{padding:0 22px 28px;} .landing-nav{flex-wrap:wrap;gap:12px;padding:20px 0;} .landing-nav nav{order:3;width:100%;justify-content:center;gap:24px;padding-top:10px;} .landing-intro{margin:44px auto;} .visual-content{padding:26px 18px;} .visual-flow{gap:8px;grid-template-columns:1fr 20px 1fr 20px 1fr;} .flow-node{padding:18px 10px;} .landing-grid{gap:14px;} .landing-product{padding:23px;} .landing-team{gap:35px;} }
@media(max-width:640px) { .dp-landing{padding:8px 8px 0;} .landing-hero{border-radius:20px;padding:0 16px 20px;} .landing-nav{min-height:0;} .landing-brand{font-size:20px;gap:7px;} .landing-nav-actions{gap:12px;} .landing-nav nav{font-size:13px;} .landing-intro{margin:40px auto 32px;} .landing-intro h1{font-size:clamp(29px,7.7vw,42px);letter-spacing:-.06em;line-height:1.35;margin:17px 0 20px;} .landing-lead{font-size:15px;line-height:1.85;} .landing-lead br{display:none;} .landing-kicker{font-size:10px;letter-spacing:.09em;} .landing-actions{gap:18px;margin-top:24px;} .landing-button{min-height:48px!important;padding:11px 20px!important;font-size:14px!important;} .landing-button.small{min-height:34px!important;font-size:11px!important;padding:7px 12px!important;} .visual-bar{padding:12px;gap:8px;font-size:10px;} .visual-badge{display:none;} .visual-content{padding:23px 16px;} .visual-content h2{font-size:18px;} .visual-flow{grid-template-columns:1fr;margin-top:22px;gap:12px;} .flow-node{min-height:0;padding:16px;} .schema-icon{margin:8px;} .flow-arrow{transform:rotate(90deg);font-size:20px;line-height:1;} .flow-outputs{grid-template-columns:1fr 1fr;gap:10px;} .flow-outputs>.node-label{grid-column:1/-1;text-align:center;} .flow-outputs>div{padding:13px 9px;} .flow-outputs strong{font-size:12px;} .flow-outputs p{font-size:11px;} .landing-section{padding:64px 18px;} .landing-grid{grid-template-columns:1fr;gap:24px;margin-top:30px;} .landing-value{padding-top:20px;} .landing-section h2,.landing-contact h2{font-size:29px;} .landing-description{font-size:15px;} .products-section{padding:60px 18px;} .landing-team{grid-template-columns:1fr;gap:14px;} .landing-team>div>p:not(.landing-kicker){font-size:16px;} .landing-contact{padding:54px 18px;} .landing-contact>p:not(.landing-kicker){font-size:15px;} .dp-footer-top{flex-direction:column;} .dp-footer-links{gap:18px;} }
@media(prefers-reduced-motion:reduce) { .dp-landing *{transition:none!important;} }
