/* Shared RNSh4 home foundation: tokens, typography, header, footer, buttons and reveal. */
:root{--mint:#25c9ba;--mint-deep:#0da99e;--blue:#258cf0;--blue-deep:#163f68;--navy:#111b2d;--ink:#152033;--muted:#6b7788;--line:#e7edf2;--soft:#f7fafb;--mint-soft:#eefcf9;--orange:#fb923c;--pink:#f4b8c0;--yellow:#f2d189;--white:#fff;--shadow:0 18px 45px rgba(35,58,87,.10);--shadow-lg:0 32px 80px rgba(34,61,87,.14);--radius:20px;--container:1180px;--narrow:1040px;--ease:cubic-bezier(.22,1,.36,1);--accent:#b64b59}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
svg{width:1em;height:1em}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.container.narrow{width:min(calc(100% - 48px),var(--narrow))}
.site-header{position:fixed;left:0;right:0;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,235,241,.9);transition:.25s}
.header-inner{height:92px;width:min(calc(100% - 48px),var(--container));margin:0 auto;display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:16px;min-width:250px;flex:0 0 auto}
.brand-logo-image{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand-logo-image img{display:block;width:auto;height:58px;max-width:96px;object-fit:contain}
.brand--logo-only{min-width:250px}
.brand--logo-only .brand-logo-image{width:100%;justify-content:flex-start}
.brand--logo-only .brand-logo-image img{width:auto;height:68px;max-width:245px;max-height:72px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1}
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.05;color:#416a87;letter-spacing:-.025em;white-space:nowrap}
.brand-copy small{font-size:10px;line-height:1.2;letter-spacing:.28em;color:#6f8aa0;margin-top:8px;white-space:nowrap}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.main-nav a{font-size:15px;font-weight:750;color:#243449;white-space:nowrap}
.main-nav a:hover{color:var(--mint-deep)}
.header-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;border-radius:8px;background:#5b4eb2;color:#fff;font-size:13px;font-weight:800}
.header-cta svg{width:14px;height:14px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:#243c52;margin:5px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:800;transition:.2s}
.btn svg{width:15px;height:15px}
.btn-primary{background:#b54b67;color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(181,75,103,.25)}
.btn-glass{color:#fff;border:1px solid rgba(255,255,255,.55);background:rgba(26,39,54,.22)}
.btn-glass:hover{background:rgba(255,255,255,.12)}
.anchor-alias{position:absolute;top:-90px;left:0}
.center-heading{text-align:center;max-width:780px;margin:0 auto 55px}
.section-label{margin:0 0 12px;font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--mint-deep)}
.center-heading h2{margin:0 0 16px;font-size:clamp(34px,4.1vw,53px);line-height:1.22;letter-spacing:-.045em;font-weight:900}
.center-heading>p:not(.section-label){margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.label-light{color:#d8fbf6}
.dot{width:7px;height:7px;border-radius:50%}
.dot.mint{background:#27c9ba}
.dot.blue{background:#2b94ef}
.dot.orange{background:#f4a04a}
.dot.violet{background:#8c78d2}
.tone-1{background:#fff1f4;color:#c45c78}
.tone-2{background:#edf6ff;color:#2e8ee6}
.tone-3{background:#fff6df;color:#c69026}
.tone-4{background:#eaf9f4;color:#2e9c75}
.site-footer{background:#101a2b;color:#c8d0dc;padding:62px 0 22px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}
.brand-footer{min-width:0;margin-bottom:20px}
.brand-footer .brand-logo-image img{height:46px;max-height:46px;max-width:96px;width:auto}
.brand-footer.brand--logo-only{min-width:0}
.brand-footer.brand--logo-only .brand-logo-image{width:auto;justify-content:flex-start}
.brand-footer.brand--logo-only .brand-logo-image img{width:auto;height:68px;max-height:72px;max-width:245px;object-fit:contain}
.brand-footer .brand-copy strong{color:#fff}
.brand-footer .brand-copy small{color:#7f91a6}
.footer-brand p{margin:5px 0;color:#8d9aae;font-size:12px}
.footer-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.footer-menu div{display:flex;flex-direction:column;gap:8px}
.footer-menu strong{color:#fff;font-size:13px;margin-bottom:5px}
.footer-menu a{font-size:12px;color:#8f9caf}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#6f7d90;font-size:11px}
.footer-bottom div{display:flex;gap:18px}
.top-button{position:fixed;right:22px;bottom:24px;width:42px;height:42px;border-radius:50%;background:#10253c;color:#fff;display:grid;place-items:center;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.reveal{transition:opacity .85s ease,transform 1.05s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.reveal-pending{opacity:0;transform:translate3d(0,72px,0) scale(.985)}
.reveal.delay-1{--reveal-delay:90ms}
.reveal.reveal-pending.show{opacity:1;transform:translate3d(0,0,0) scale(1)}
.reveal.reveal-pending.reveal-reset{transition:none}
main>section>.fade-up.reveal-pending{transform:translate3d(0,90px,0)}
main>section>.fade-up.reveal-pending.show{transform:translate3d(0,0,0)}
main .reveal[data-reveal-index="1"]{--reveal-delay:55ms}
main .reveal[data-reveal-index="2"]{--reveal-delay:110ms}
main .reveal[data-reveal-index="3"]{--reveal-delay:165ms}
main .reveal[data-reveal-index="4"]{--reveal-delay:220ms}
main .reveal[data-reveal-index="5"]{--reveal-delay:275ms}
@media (max-width:820px){
.reveal.reveal-pending{transform:translate3d(0,52px,0) scale(.99);transition-duration:.56s,.68s}
main>section>.fade-up.reveal-pending{transform:translate3d(0,60px,0)}
}
@media (prefers-reduced-motion:reduce){
.reveal,.reveal.reveal-pending,.reveal.reveal-pending.show{opacity:1!important;transform:none!important;transition:none!important}
}
@media (max-width:1100px){
.main-nav{gap:20px}
.header-cta{display:none}
}
@media (max-width:820px){
.container,.container.narrow,.header-inner{width:min(calc(100% - 32px),var(--container))}
.header-inner{height:68px}
.site-header{height:68px}
.brand{min-width:0;gap:10px}
.brand-logo-image img{height:42px;max-width:70px}
.brand--logo-only{min-width:0;max-width:190px}
.brand--logo-only .brand-logo-image img{height:52px;max-height:52px;max-width:180px}
.brand-copy small{display:none}
.brand-copy strong{font-size:20px}
.main-nav{position:absolute;left:16px;right:16px;top:68px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:12px;box-shadow:0 18px 45px rgba(23,49,75,.14);padding:10px}
.main-nav.open{display:flex}
.main-nav a{padding:13px 14px;border-bottom:1px solid #edf1f4}
.main-nav a:last-child{border-bottom:0}
.menu-toggle{display:block;margin-left:auto}
.center-heading{margin-bottom:38px}
.center-heading h2{font-size:34px}
.footer-top{grid-template-columns:1fr}
.brand-footer.brand--logo-only .brand-logo-image img{height:60px;max-height:60px;max-width:220px}
.footer-menu{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
.btn{width:100%}
.center-heading h2{font-size:30px}
.center-heading>p:not(.section-label){font-size:14px}
.footer-menu{grid-template-columns:1fr 1fr}
.footer-bottom{flex-direction:column}
.top-button{right:14px;bottom:14px}
}
.center-heading h2.managed-section-title{white-space:pre-line;color:var(--managed-title-color,inherit);font-size:var(--managed-title-pc,clamp(34px,4.1vw,53px))}
@media (max-width:820px){
.center-heading h2.managed-section-title{font-size:var(--managed-title-mobile,34px)}
.managed-section-title.mobile-break-reset{white-space:normal}
}
@media (max-width:560px){
.center-heading h2.managed-section-title{font-size:var(--managed-title-mobile,30px)}
}
.section-detail-wrap{margin-top:22px;display:flex;justify-content:center}
.section-detail-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 18px;border:1px solid #cfdce4;border-radius:999px;background:#fff;color:#24445f;font-size:13px;font-weight:800;transition:.2s;box-shadow:0 8px 20px rgba(27,65,88,.05)}
.section-detail-link svg{width:14px;height:14px;transition:.2s}
.section-detail-link:hover{transform:translateY(-2px);border-color:#25c9ba;color:#0da99e;box-shadow:0 12px 28px rgba(37,201,186,.12)}
.section-detail-link:hover svg{transform:translateX(3px)}
.section-detail-link--light{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);box-shadow:none}
.section-detail-link--light:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.15)}
@media (max-width:820px){
.section-detail-wrap{margin-top:18px}
.section-detail-link{min-height:40px;padding:0 16px}
}
.rns-floating-actions{position:fixed;right:24px;top:50%;transform:translateY(-24%);z-index:74;display:flex;flex-direction:column;align-items:center;gap:14px}
.inquiry-fab,.chatbot-fab{position:relative;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#fff;border:0;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.inquiry-fab{background:linear-gradient(145deg,#2fc8b5,#18a99d);box-shadow:0 16px 34px rgba(24,169,157,.28);gap:2px}
.inquiry-fab:hover{transform:translateY(-3px) scale(1.035);box-shadow:0 20px 38px rgba(24,169,157,.34);filter:saturate(1.06)}
.inquiry-fab-icon{display:grid;place-items:center;width:26px;height:26px}
.inquiry-fab-icon svg{width:24px;height:24px;stroke:#fff;stroke-width:1.9}
.inquiry-fab-label{font-size:11px;font-weight:900;line-height:1.1;letter-spacing:-.05em;white-space:nowrap}
.chatbot-fab{background:linear-gradient(145deg,#3478ff,#245edb);box-shadow:0 16px 34px rgba(36,94,219,.30)}
.chatbot-fab:hover{transform:translateY(-3px) scale(1.035);box-shadow:0 20px 38px rgba(36,94,219,.36);filter:saturate(1.06)}
.chatbot-fab-icon{display:grid;place-items:center;width:34px;height:34px}
.chatbot-fab-icon svg{width:34px;height:34px;fill:#fff;stroke:none}
.chatbot-fab-badge{position:absolute;right:-8px;top:-7px;min-width:42px;height:28px;padding:0 9px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#ff4f58;color:#fff;font-size:12px;font-weight:900;line-height:1;border:3px solid #fff;box-shadow:0 6px 14px rgba(255,79,88,.24);letter-spacing:-.04em}
@media (max-width:1180px){
.rns-floating-actions{right:12px;gap:12px}
.inquiry-fab,.chatbot-fab{width:66px;height:66px}
.inquiry-fab-icon svg{width:22px;height:22px}
.inquiry-fab-label{font-size:10.5px}
.chatbot-fab-icon svg{width:31px;height:31px}
}
@media (max-width:820px){
.rns-floating-actions{display:none}
.inquiry-fab,.chatbot-fab{width:62px;height:62px}
.inquiry-fab-icon{height:22px}
.inquiry-fab-icon svg{width:21px;height:21px}
.inquiry-fab-label{font-size:10px}
.chatbot-fab-icon svg{width:29px;height:29px}
.chatbot-fab-badge{right:-6px;top:-7px;height:25px;min-width:38px;padding:0 7px;font-size:11px;border-width:2px}
.has-quick-menu .top-button{right:14px;bottom:14px}
}
@media (max-width:420px){
.rns-floating-actions{right:9px;bottom:15px;gap:9px}
.inquiry-fab,.chatbot-fab{width:58px;height:58px}
.inquiry-fab-icon svg{width:20px;height:20px}
.inquiry-fab-label{font-size:9.5px}
.chatbot-fab-icon svg{width:27px;height:27px}
.has-quick-menu .top-button{right:14px;bottom:14px}
}
.rnsh4-header-v2{position:fixed;left:0;right:0;top:0;z-index:1000;height:auto;background:rgba(255,250,248,.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid #efe2e4;color:#40373d;box-shadow:none}
.rnsh4-header-v2.scrolled{box-shadow:0 7px 28px rgba(86,59,71,.08)}
.rnsh4-header-inner{width:min(1440px,calc(100% - 64px));height:92px;margin:0 auto;display:flex;align-items:center;gap:24px}
.rnsh4-site-logo{display:block;width:190px;flex:0 0 190px}
.rnsh4-site-logo img{display:block;width:100%;height:auto;object-fit:contain}
.rnsh4-desktop-nav{height:100%;display:flex;align-items:center;gap:22px;margin-left:auto}
.rnsh4-nav-item{position:relative;height:100%;display:flex;align-items:center;gap:3px}
.rnsh4-nav-item>a{position:relative;display:flex;align-items:center;height:100%;min-height:44px;color:#4b4047;font-size:15px;font-weight:680;letter-spacing:-.035em;white-space:nowrap}
.rnsh4-nav-item>a::after{content:"";position:absolute;left:50%;right:50%;bottom:22px;height:2px;background:#466985;transition:left .24s ease,right .24s ease}
.rnsh4-nav-item:hover>a,.rnsh4-nav-item:focus-within>a{color:#416a87}
.rnsh4-nav-item:hover>a::after,.rnsh4-nav-item:focus-within>a::after{left:0;right:0}
.rnsh4-nav-toggle{width:18px;height:34px;padding:0;border:0;background:transparent;color:#786a73;font-size:14px;cursor:pointer}
.rnsh4-nav-dropdown{position:absolute;top:calc(100% - 7px);left:50%;min-width:205px;padding:12px;background:#fff;border:1px solid #eee2e5;border-radius:14px;box-shadow:0 14px 36px rgba(65,44,61,.08);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-5px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.rnsh4-nav-dropdown a{display:block;min-height:44px;padding:12px;border-radius:9px;color:#665b64;font-size:14px;font-weight:600;white-space:nowrap}
.rnsh4-nav-dropdown a:hover,.rnsh4-nav-dropdown a:focus-visible{background:#edf7ff;color:#416a87}
.rnsh4-nav-item:hover .rnsh4-nav-dropdown,.rnsh4-nav-item:focus-within .rnsh4-nav-dropdown,.rnsh4-nav-item.is-open .rnsh4-nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.rnsh4-header-actions{display:flex;align-items:center;gap:18px;margin-left:9px}
.rnsh4-header-login{display:flex;align-items:center;min-height:44px;color:#7f6a76;font-size:10px;font-weight:650;letter-spacing:.04em;white-space:nowrap}
.rnsh4-menu-toggle{display:none!important;margin-left:auto!important;width:44px!important;height:44px!important;padding:10px!important;border:0!important;background:transparent!important}
.rnsh4-menu-toggle span{display:block!important;width:22px!important;height:2px!important;margin:7px 0!important;background:#625260!important}
.rnsh4-mobile-menu,.rnsh4-mobile-backdrop{display:none}
@media (max-width:1280px){
.rnsh4-header-inner{width:calc(100% - 48px);height:80px;gap:16px}
.rnsh4-site-logo{width:185px;flex-basis:185px}
.rnsh4-desktop-nav,.rnsh4-header-actions{display:none}
.rnsh4-menu-toggle{display:block!important}
.rnsh4-mobile-backdrop{display:block;position:fixed;z-index:1200;inset:0;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.rnsh4-mobile-backdrop.is-open{opacity:1;visibility:visible}
.rnsh4-mobile-menu{display:flex;flex-direction:column;position:fixed;z-index:1300;top:0;right:0;width:min(92vw,480px);height:100dvh;padding:28px;background:#fff;transform:translateX(101%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;overflow-y:auto}
.rnsh4-mobile-menu.is-open{transform:none;visibility:visible}
.rnsh4-mobile-menu__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:36px}
.rnsh4-mobile-brand{display:block;width:220px;max-width:62vw}
.rnsh4-mobile-brand img{display:block;width:100%;height:auto}
.rnsh4-mobile-menu__close{width:44px;height:44px;border:0;background:transparent;color:#574b52;font-size:30px;font-weight:200;cursor:pointer}
.rnsh4-mobile-menu nav{border-top:1px solid #eee3e6}
.rnsh4-mobile-group{border-bottom:1px solid #eee3e6}
.rnsh4-mobile-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 2px;color:#4a3f46;font-size:18px;font-weight:700;cursor:pointer}
.rnsh4-mobile-group summary::-webkit-details-marker{display:none}
.rnsh4-mobile-group summary span{color:#9b7b86;font-weight:400}
.rnsh4-mobile-group[open] summary span{transform:rotate(45deg)}
.rnsh4-mobile-group>div{padding:0 0 12px}
.rnsh4-mobile-group a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:10px 12px;border-radius:10px;color:#71636b;font-size:14px}
.rnsh4-mobile-group a:hover{background:#edf7ff;color:#416a87}
.rnsh4-mobile-bottom{margin-top:auto;padding-top:28px;display:grid;gap:10px}
.rnsh4-mobile-cta{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:13px 17px;border-radius:999px;background:#f7e7eb;color:#8d4c62;font-size:14px;font-weight:700}
.rnsh4-mobile-login{display:inline-flex;align-items:center;min-height:44px;color:#806f78;font-size:12px;font-weight:700}
.rnsh4-mobile-bottom p{margin:6px 0 0;color:#9a8d93;font-size:12px}
}
@media (max-width:680px){
.rnsh4-header-inner{width:calc(100% - 36px);height:76px;gap:8px}
.rnsh4-site-logo{width:157px;flex-basis:157px}
.rnsh4-mobile-menu{width:min(92vw,420px);padding:24px 22px}
}
@media (prefers-reduced-motion:reduce){
.rnsh4-header-v2 *,.rnsh4-mobile-menu,.rnsh4-mobile-backdrop{transition:none!important}
}
@media (min-width:1281px){
.rnsh4-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.rnsh4-site-logo{justify-self:start}
.rnsh4-desktop-nav{justify-self:center;margin-left:0}
.rnsh4-header-actions{justify-self:end;margin-left:0}
}
@media (max-width:1280px){
.rnsh4-header-inner{display:flex}
}
body.rnsh4-home .rnsh-header-v2 .site-logo{position:relative}
body.rnsh4-home .rnsh-header-v2 .site-logo img{opacity:0}
body.rnsh4-home .rnsh-header-v2 .site-logo::after{content:"";position:absolute;inset:0;background:#416a87;-webkit-mask:url(../images/logo/rns-logo.png)center/contain no-repeat;mask:url(../images/logo/rns-logo.png)center/contain no-repeat;pointer-events:none}
body.rnsh4-home .site-footer .brand-footer .brand-logo-image{position:relative}
body.rnsh4-home .site-footer .brand-footer .brand-logo-image img{opacity:0}
body.rnsh4-home .site-footer .brand-footer .brand-logo-image::after{content:"";position:absolute;inset:0;background:#416a87;-webkit-mask:url(../images/logo/rns-logo.png)center/contain no-repeat;mask:url(../images/logo/rns-logo.png)center/contain no-repeat;pointer-events:none}
.rnsh4-nav-item:hover>a,.rnsh4-nav-item:focus-within>a{color:#416a87!important}
.rnsh4-nav-item>a::after{background:#466985!important}
.rnsh4-nav-dropdown a:hover,.rnsh4-nav-dropdown a:focus-visible{background:#edf7ff!important;color:#416a87!important}
.rnsh4-mobile-group a:hover,.rnsh4-mobile-group a:focus-visible{background:#edf7ff!important;color:#416a87!important}
