/* Ntelecom-led carrier layout: bright canvas, direct navigation, visible products. */
:root {
  --ink:#182b32;
  --muted:#65757b;
  --line:#dde7e6;
  --teal:#0787ad;
  --teal-dark:#006d91;
  --mint:#e9f8fa;
  --lime:#83bd2b;
  --paper:#fff;
  --sand:#f4f8f7;
}
body { background:#fff; color:var(--ink); }
.container { width:min(1190px,calc(100% - 48px)); }
.service-bar { display:none; }
.site-header { top:0; border-bottom:1px solid #e5eae9; background:#fff; box-shadow:none; }
.nav { min-height:82px; gap:24px; }
.brand { gap:10px; color:#202f31; }
.brand-logo-frame { position:relative; display:block; flex:none; width:80px; height:56px; overflow:hidden; background:#fff; }
.brand-logo { position:absolute; display:block; max-width:none; width:174px; height:91px; left:-47px; top:-18px; object-fit:cover; }
.brand-copy strong { font-size:1.12rem; letter-spacing:-.065em; }
.brand-copy small { color:#6d8586; font-size:.67rem; letter-spacing:-.015em; }
.nav-links { gap:25px; color:#314146; font-size:.87rem; font-weight:800; }
.nav-links a { min-height:82px; border-bottom:3px solid transparent; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:#087fa4; border-bottom-color:#74b329; }
.nav-cta { min-height:44px; padding:10px 18px; border-radius:8px; background:#0787ad; color:#fff; font-size:.8rem; box-shadow:none; }
.nav-cta:hover { background:#006d91; transform:none; }
.menu-toggle { color:#182b32; }
.btn { border-radius:9px; }
.btn-primary { background:#0787ad; color:#fff; box-shadow:none; }
.btn-primary:hover { background:#006d91; color:#fff; }
.btn-secondary { border-color:#cddcda; color:#16333c; }
.btn-secondary:hover { border-color:#0787ad; }
.eyebrow,.text-link { color:#087da1; }
.eyebrow:before { background:#83bd2b; }

/* A restrained promotional banner, following carrier-store information order. */
.hero.n-hero { padding:42px 0 49px; background:linear-gradient(107deg,#f4f8f7 0%,#e9f6f6 61%,#e4f2e8 100%); color:#182b32; }
.hero.n-hero:before { display:none; }
.hero.n-hero:after { content:""; position:absolute; display:block; width:610px; height:610px; right:-120px; top:-230px; border:0; border-radius:50%; background:radial-gradient(circle,rgba(117,190,208,.22),rgba(117,190,208,0) 68%); box-shadow:none; }
.n-hero-grid { grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:44px; min-height:375px; }
.n-kicker { padding:0; border:0; border-radius:0; background:transparent; color:#087fa4; font:900 .78rem 'Noto Sans KR',sans-serif; letter-spacing:-.015em; }
.n-kicker:before { content:""; width:7px; height:7px; border-radius:50%; background:#80ba2a; }
.n-hero h1 { margin:19px 0 16px; color:#152e32; font-size:clamp(2.45rem,3.65vw,3.62rem); line-height:1.23; letter-spacing:-.073em; }
.n-hero h1 em { color:#0689ad; }
.n-hero .lead { max-width:550px; color:#52666b; font-size:.98rem; line-height:1.75; }
.n-hero .hero-actions { gap:10px; margin-top:28px; }
.n-hero .btn { min-height:53px; padding:13px 22px; }
.n-hero .btn-primary { background:#0787ad; color:#fff; }
.n-hero .btn-primary:hover { background:#006e91; }
.n-hero .btn-secondary { background:#fff; color:#18343b; border-color:#c9dad8; }
.n-hero .btn-secondary:hover { background:#f8fcfc; color:#067da2; border-color:#0787ad; }
.n-hero-meta { gap:16px; margin-top:24px; color:#5a7173; font-size:.73rem; }
.n-hero-meta span:before { content:""; display:inline-block; width:5px; height:5px; margin:0 7px 2px 0; border-radius:50%; background:#84bb39; }
.n-visual { min-height:360px; place-items:center; }
.n-visual:before { width:420px; height:320px; border:0; border-radius:46% 54% 52% 48%; background:linear-gradient(150deg,#c7ecef,#e4f4e5); box-shadow:none; transform:rotate(-8deg); }
.n-product-card { position:relative; display:flex; flex-direction:column; width:338px; min-height:323px; padding:22px 27px 20px; border:1px solid rgba(255,255,255,.9); border-radius:27px; background:#fff; box-shadow:0 25px 48px rgba(19,76,83,.12); overflow:hidden; transform:rotate(-4deg); }
.n-product-card:after { content:"N"; position:absolute; right:15px; top:33px; color:#e6f5e6; font:900 12rem 'DM Sans',sans-serif; line-height:1; pointer-events:none; }
.n-product-tag { position:relative; z-index:1; color:#0790b2; font:900 .68rem 'DM Sans',sans-serif; letter-spacing:.14em; }
.n-product-card img { position:relative; z-index:1; display:block; width:205px; height:108px; max-width:none; margin:-18px 0 0 -24px; object-fit:cover; }
.n-product-copy { position:relative; z-index:1; margin-top:auto; }
.n-product-copy strong { color:#193338; font-size:1.67rem; letter-spacing:-.07em; line-height:1.3; }
.n-product-copy p { margin:7px 0 16px; color:#6b7a7d; font-size:.7rem; }
.n-product-networks { position:relative; z-index:1; display:flex; gap:7px; }
.n-product-networks span { display:flex; align-items:center; justify-content:space-between; width:112px; padding:6px 9px; border-radius:7px; background:#e9f5f8; color:#1d6e80; font-size:.65rem; font-weight:900; }
.n-product-networks span+span { background:#edf7e5; color:#598f29; }
.n-product-networks b { font:900 .8rem 'DM Sans',sans-serif; }
.n-product-sim { position:absolute; z-index:2; right:0; bottom:0; display:flex; flex-direction:column; width:130px; height:156px; padding:17px; border-radius:19px; background:linear-gradient(150deg,#8aca35,#54ab3a); box-shadow:0 19px 34px rgba(40,107,67,.2); color:#fff; transform:rotate(9deg); }
.n-product-chip { width:46px; height:34px; border:2px solid #d8bb7b; border-radius:7px; background:linear-gradient(90deg,transparent 48%,#c9a65d 49%,#c9a65d 51%,transparent 52%),linear-gradient(0deg,transparent 48%,#c9a65d 49%,#c9a65d 51%,transparent 52%),#ffdf9f; }
.n-product-sim strong { margin-top:auto; font:900 1.45rem 'DM Sans',sans-serif; }
.n-product-sim small { font-size:.62rem; font-weight:800; }

/* Quick routes and offers sit immediately below the banner. */
.n-shortcuts { margin-top:0; border:0; border-bottom:1px solid #dce8e6; border-radius:0; box-shadow:none; }
.n-shortcuts a { min-height:96px; padding:18px 22px; border-left:1px solid #e6edeb; }
.n-shortcuts a:hover { background:#f4fbfa; }
.n-shortcuts .shortcut-num { color:#6cae23; }
.n-shortcuts strong { color:#203537; }
.n-shortcuts small { color:#748486; }
.n-shortcuts a>span:last-child { color:#0a88ad; }
.plan-preview { padding:78px 0 80px; background:#fff; }
.preview-head { margin-bottom:28px; }
.preview-head h2,.section-head h2,.n-section-top h2 { color:#1a3034; }
.preview-grid { gap:15px; }
.preview-card,.preview-card.is-featured { border:1px solid #dce8e6; border-radius:17px; background:#fff; box-shadow:none; }
.preview-card.is-featured { border-color:#8cc8d5; background:#f8fdfc; box-shadow:0 10px 28px rgba(8,113,138,.07); }
.network-badge { background:#e5f6f8; color:#067e9d; }
.preview-card-bottom strong,.preview-card-bottom a { color:#087fa4; }
.preview-note { color:#819093; }
.n-network { padding:78px 0; background:#f6f9f7; }
.n-network-grid article { min-height:194px; border:1px solid #dbe7e3; background:#fff; border-radius:17px; }
.network-letter { background:#e1f5f8; color:#0787ad; }
.network-letter-l { background:#edf7df; color:#5c9b25; }
.network-label,.n-network-grid a { color:#087fa4; }
.triage-section { padding:82px 0; background:#fff; }
.triage-label { border-color:#d9eee9; background:#eff9f5; color:#447e31; }
.triage-intro h2 { color:#203538; }
.triage-intro h2 em { color:#0787ad; }
.triage-intro p { color:#66777a; }
.triage-widget { border:1px solid #dce9e5; border-radius:18px; box-shadow:0 14px 36px rgba(12,75,77,.05); color:#24383d; }
.triage-top>b,.triage-question legend span { background:#e6f5f8; color:#087da1; }
.triage-progress { background:#e8f1ef; }
.triage-progress i { background:linear-gradient(90deg,#0787ad,#83bd2b); }
.triage-options span { background:#fbfdfc; border-color:#dfe9e7; color:#2d4346; }
.triage-options input:checked+span { background:#eaf8f8; border-color:#0787ad; color:#056e8c; box-shadow:inset 0 0 0 1px #0787ad; }
.triage-options label:hover span { border-color:#8bbdc4; }
.triage-options input:focus-visible+span { outline-color:#9ed8d4; }
.triage-widget .result { background:#f5fbfa; border-color:#b8ded9; }
.triage-widget .result-auth { border-color:#c5e7e1; box-shadow:none; }
.triage-widget .result-auth strong,.result-label { color:#067f9e; }
.triage-back:hover { color:#067f9e; }
.section-white { background:#fff; }
.process-grid,.process-item,.step,.how-checklist div,.how-step { border-color:#dce8e6; }
.process-item b,.how-checklist b { color:#0787ad; }
.step b,.how-step>strong { background:#e6f6f6; color:#0787ad; }
.note-band { background:#f2f8f5; border-color:#dcece4; }
.cta-panel { background:linear-gradient(115deg,#087fa5,#3eaa87); border-radius:22px; }
.cta-panel .eyebrow { color:#dbf7ea!important; }
.cta-panel .btn { background:#fff; color:#075d78; }
.cta-panel .btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.75); }
.cta-panel .btn-ghost:hover { background:rgba(255,255,255,.12); }

/* Consistent service pages. */
.article-hero,.plan-hero { padding:55px 0 53px; background:#f3f8f7; }
.article-head h1 { color:#1a3034; }
.article-head .lead { color:#65787a; }
.breadcrumbs { color:#708487; }
.prose h2,.prose h3 { color:#1e3b3f; }
.prose p,.prose li { color:#53696d; }
.prose th,.plan-block-head,.plan-block.lg .plan-block-head { background:#e9f6f5; color:#245e63; }
.prose td { color:#51696c; }
.callout,.callout.warning { background:#f2f8f7; border-left-color:#0787ad; color:#405f63; }
.plan-notice { background:#f1f8f7; border-color:#d7e9e5; border-left-color:#0787ad; }
.plan-block { border-color:#dbe8e4; }
.plan-block-head span,.plan-row>b,.plan-block.lg .plan-row>b,.plan-chips a,.plan-original summary { color:#087fa4; }
.plan-block-head>b { border-color:#acd9d3; color:#087fa4; }
.plan-bottom { background:#f3f9f7; border-color:#dce9e5; }
.usim-figure { border-color:#dce9e5; background:#f7fbfa; }

.site-footer { padding:50px 0 23px; background:#f5f7f6; border-top:1px solid #e3ebe8; color:#5d7072; }
.footer-grid { gap:35px; }
.footer-grid .brand,.footer-grid .brand-copy strong,.footer-title { color:#22383b; }
.footer-grid .brand-copy small { color:#73898a; }
.footer-brand p,.footer-grid a:not(.brand) { color:#667b7d; }
.footer-brand .footer-disclosure { color:#8d9b9a; }
.footer-grid a:hover { color:#067e9f; }
.footer-bottom { border-color:#dce7e3; color:#899896; }

@media(max-width:1020px) {
  .nav { min-height:72px; }
  .nav-links { border-bottom-color:#e3ece9; box-shadow:0 14px 24px rgba(21,69,68,.08); }
  .nav-links a { min-height:45px; }
  .n-hero-grid { gap:20px; }
  .n-hero h1 { font-size:clamp(2.3rem,4.5vw,3.25rem); }
  .n-visual { min-height:350px; }
}
@media(max-width:760px) {
  .hero.n-hero { padding:42px 0 49px; }
  .n-hero-grid { grid-template-columns:1fr; min-height:0; }
  .n-visual { display:none; }
  .n-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .n-shortcuts a:nth-child(3),.n-shortcuts a:nth-child(4) { border-top:1px solid #e6edeb; }
  .n-shortcuts a:nth-child(3) { border-left:0; }
  .plan-preview,.n-network,.triage-section { padding:62px 0; }
}
@media(max-width:640px) {
  .container { width:calc(100% - 32px); }
  .brand-logo-frame { width:56px; height:47px; }
  .brand-logo { width:145px; height:76px; left:-44px; top:-15px; }
  .brand-copy strong { font-size:.94rem; }
  .brand-copy small { font-size:.58rem; }
  .nav { min-height:64px; }
  .hero.n-hero { padding:39px 0 42px; }
  .n-kicker { font-size:.7rem; }
  .n-hero h1 { margin:15px 0 14px; font-size:clamp(2.1rem,8.7vw,2.7rem); line-height:1.26; }
  .n-hero .lead { font-size:.84rem; line-height:1.7; }
  .n-hero .hero-actions { margin-top:22px; gap:8px; }
  .n-hero .btn { min-height:48px; padding:10px 8px; font-size:.73rem; }
  .n-hero-meta { margin-top:19px; gap:8px 12px; font-size:.64rem; }
  .n-shortcuts { margin-top:0; border-radius:0; }
  .n-shortcuts a { min-height:86px; padding:12px; }
  .n-shortcuts strong { font-size:.85rem; }
  .n-shortcuts small { font-size:.64rem; }
  .plan-preview,.n-network,.triage-section { padding:54px 0; }
  .article-hero,.plan-hero { padding:39px 0; }
  .article-head h1 { font-size:clamp(1.95rem,8vw,2.5rem); }
}

/* Compact carrier header and task-led home. */
.nav { min-height:68px; gap:22px; }
.brand { gap:6px; }
.brand-logo-frame { width:60px; height:42px; }
.brand-logo { width:135px; height:71px; left:-37px; top:-14px; }
.brand-copy strong { font-size:.94rem; font-weight:800; letter-spacing:-.05em; }
.nav-links { font-size:.84rem; gap:28px; }
.nav-links a { min-height:68px; }
.nav-cta { min-height:39px; padding:8px 15px; font-size:.75rem; }
.hero.n-hero { padding:26px 0 0; background:#fff; }
.hero.n-hero:after { display:none; }
.n-hero-grid { grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); gap:18px; min-height:0; align-items:stretch; }
.n-hero-copy { min-height:342px; padding:31px 36px; border-radius:18px; overflow:hidden; background:linear-gradient(110deg,#e5f5f7,#eff8eb); }
.n-kicker { position:relative; z-index:1; font-size:.67rem; letter-spacing:.08em; }
.n-kicker:before { display:none; }
.n-hero h1 { position:relative; z-index:1; margin:12px 0 13px; font-size:clamp(2rem,2.9vw,2.85rem); line-height:1.23; }
.n-hero .lead { position:relative; z-index:1; font-size:.88rem; line-height:1.65; }
.n-hero .hero-actions { position:relative; z-index:1; margin-top:22px; }
.n-hero .btn { min-height:44px; padding:10px 17px; font-size:.8rem; border-radius:7px; }
.n-hero-meta { position:relative; z-index:1; margin-top:20px; font-size:.66rem; }
.n-banner-mark { position:absolute; right:-17px; bottom:-48px; color:rgba(66,151,113,.055); font:900 18rem 'DM Sans',sans-serif; line-height:1; pointer-events:none; }
.n-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.n-service-grid>a { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-width:0; padding:21px 19px 16px; border-radius:15px; background:#f4f6f7; border:1px solid #edf0f0; transition:background .15s,border-color .15s; }
.n-service-grid>a:hover { background:#edf6f5; border-color:#b7d8d4; }
.n-service-copy { display:grid; gap:5px; }
.n-service-copy strong { color:#25383e; font-size:.95rem; letter-spacing:-.045em; }
.n-service-copy small { color:#7a878b; font-size:.68rem; line-height:1.5; }
.n-service-icon { display:grid; place-items:center; width:40px; height:40px; margin-top:16px; border-radius:11px; background:#e1f0f4; color:#1685a3; }
.n-service-icon svg { width:28px; height:28px; }
.n-service-grid>a:nth-child(3) .n-service-icon { background:#e8efdb; color:#669b2d; }
.n-service-grid>a:nth-child(4) .n-service-icon { background:#e5e9f4; color:#6782a8; }
.n-service-arrow { position:absolute; right:17px; bottom:18px; color:#7f9096; font-size:.9rem; }
.plan-preview { padding:54px 0 62px; }
.preview-head h2 { font-size:2rem; }
.preview-card,.preview-card.is-featured { border-radius:13px; }
.article-hero,.plan-hero { padding:42px 0; }
.article-head h1 { font-size:clamp(2rem,3.2vw,3rem); }
@media(max-width:1020px) {
  .nav { min-height:64px; }
  .nav-links a { min-height:43px; }
  .n-hero-grid { grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:14px; }
  .n-hero-copy { padding:29px 26px; }
  .n-hero h1 { font-size:2.25rem; }
  .n-service-grid>a { padding:18px 14px 14px; }
}
@media(max-width:760px) {
  .n-hero-grid { grid-template-columns:1fr; }
  .n-hero-copy { min-height:0; }
  .n-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
  .n-service-grid>a { min-height:128px; padding:14px 11px; }
  .n-service-copy strong { font-size:.82rem; }
  .n-service-copy small { font-size:.61rem; }
  .n-service-icon { width:32px; height:32px; margin-top:10px; }
  .n-service-icon svg { width:23px; height:23px; }
  .n-service-arrow { display:none; }
}
@media(max-width:640px) {
  .nav { min-height:58px; gap:9px; }
  .brand-logo-frame { width:47px; height:36px; }
  .brand-logo { width:116px; height:61px; left:-34px; top:-12px; }
  .brand-copy strong { font-size:.83rem; }
  .hero.n-hero { padding:16px 0 0; }
  .n-hero-copy { padding:25px 22px; border-radius:13px; }
  .n-hero h1 { font-size:clamp(1.7rem,7.4vw,2.35rem); margin:12px 0; }
  .n-kicker { font-size:.6rem; }
  .n-hero .lead { font-size:.75rem; }
  .n-hero .hero-actions { margin-top:19px; }
  .n-hero .btn { min-height:43px; padding:10px 7px; font-size:.68rem; }
  .n-hero-meta { font-size:.6rem; margin-top:16px; }
  .n-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .n-service-grid>a { min-height:92px; flex-direction:row; align-items:center; padding:14px; border-radius:11px; }
  .n-service-copy strong { font-size:.82rem; }
  .n-service-copy small { font-size:.6rem; }
  .n-service-icon { width:31px; height:34px; margin:0 0 0 5px; flex:none; border-radius:8px; }
  .plan-preview { padding:40px 0 48px; }
  .preview-head h2 { font-size:1.65rem; }
}

/* The supplied brand mark is a transparent N-only PNG. */
.brand-logo-frame { display:flex; align-items:center; justify-content:center; width:39px; height:29px; background:transparent; overflow:visible; }
.brand-logo { position:static; display:block; width:39px; height:auto; max-width:100%; object-fit:contain; }
.brand { gap:7px; }
@media(max-width:640px) {
  .brand-logo-frame { width:32px; height:25px; }
  .brand-logo { width:32px; height:auto; }
}
