.public-page { background: var(--background); }
.public-hero { position: relative; overflow: hidden; padding: 72px 0; border-bottom: 1px solid var(--border); }
.public-hero::after { content: ''; position: absolute; z-index: 0; top: -180px; right: -120px; width: 430px; height: 430px; border-radius: 50%; background: rgba(16,185,129,.09); filter: blur(2px); }
.public-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 50px; align-items: center; }
.public-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 19px; color: var(--text-muted); font-size: 12px; }
.public-breadcrumb a { color: var(--primary-hover); text-decoration: none; }
.public-eyebrow { margin: 0 0 11px; color: var(--primary-active); font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.public-hero h1 { max-width: 850px; margin: 0; color: var(--navy); font-size: clamp(38px,5vw,62px); line-height: 1.06; letter-spacing: -1.8px; }
.public-hero h1 span { color: var(--primary); }
.public-lead { max-width: 780px; margin: 19px 0 0; color: var(--text-secondary); font-size: 17px; line-height: 1.75; }
.public-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.public-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 19px; border: 1px solid var(--border-strong); border-radius: var(--radius); background: #fff; color: var(--navy); font-size: 13px; font-weight: 800; text-decoration: none; }
.public-btn:hover { border-color: var(--emerald-200); background: var(--emerald-50); color: var(--primary-active); }
.public-btn-primary { border-color: var(--primary); background: var(--primary); color: #fff; box-shadow: 0 9px 22px rgba(16,185,129,.2); }
.public-btn-primary:hover { border-color: var(--primary-hover); background: var(--primary-hover); color: #fff; }
.public-hero-card { padding: 26px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 16px 40px rgba(15,23,42,.08); }
.public-hero-card span { color: var(--text-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.public-hero-card strong { display: block; margin: 7px 0; color: var(--navy); font-size: 26px; line-height: 1.2; }
.public-hero-card p { margin: 0; color: var(--text-muted); font-size: 12px; }
.public-checks { display: grid; gap: 9px; margin: 20px 0 0; padding: 17px 0 0; border-top: 1px solid var(--border); list-style: none; }
.public-checks li { display: flex; gap: 8px; color: var(--text-secondary); font-size: 12px; }
.public-checks li::before { content: '✓'; color: var(--primary-hover); font-weight: 900; }

.public-section { padding: 70px 0; }
.public-section.white { background: #fff; }
.public-section.navy { background: var(--navy); color: #CBD5E1; }
.public-section-head { max-width: 780px; margin-bottom: 31px; }
.public-section-head h2 { margin: 0; color: var(--navy); font-size: clamp(29px,4vw,42px); line-height: 1.15; letter-spacing: -1px; }
.public-section-head p { margin: 12px 0 0; color: var(--text-secondary); line-height: 1.75; }
.public-section.navy .public-section-head h2 { color: #fff; }
.public-section.navy .public-section-head p { color: #CBD5E1; }
.public-grid-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-grid-3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-card { padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 4px 15px rgba(15,23,42,.04); }
.public-card h2, .public-card h3 { margin: 0; color: var(--navy); font-size: 19px; }
.public-card p { margin: 9px 0 0; color: var(--text-muted); font-size: 13px; line-height: 1.7; }
.public-card a { display: inline-block; margin-top: 17px; color: var(--primary-hover); font-size: 12px; font-weight: 800; text-decoration: none; }
.public-service-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 17px; border-radius: var(--radius); background: var(--emerald-50); color: var(--primary-hover); font-size: 12px; font-weight: 900; }
.public-price { display: block; margin-top: 15px; color: var(--primary-active); font-size: 14px; font-weight: 850; }
.public-dark-card { border-color: rgba(255,255,255,.08); background: var(--navy-soft); box-shadow: none; }
.public-dark-card h3 { color: #fff; }
.public-dark-card p { color: #94A3B8; }
.public-step { position: relative; padding-left: 66px; }
.public-step-number { position: absolute; top: 22px; left: 22px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: var(--radius); background: var(--primary); color: #fff; font-size: 11px; font-weight: 900; }
.public-content { max-width: 900px; }
.public-content h2 { margin: 35px 0 12px; color: var(--navy); font-size: 26px; }
.public-content h3 { margin: 26px 0 9px; color: var(--navy); font-size: 19px; }
.public-content p, .public-content li { color: var(--text-secondary); line-height: 1.8; }
.public-content ul { padding-left: 21px; }
.public-notice { margin: 22px 0; padding: 15px 17px; border-left: 4px solid var(--primary); background: var(--emerald-50); color: var(--text-secondary); }
.public-faq { display: grid; gap: 10px; }
.public-faq details { border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.public-faq summary { padding: 15px 17px; color: var(--navy); cursor: pointer; font-weight: 800; }
.public-faq details p { margin: 0; padding: 0 17px 17px; color: var(--text-secondary); }
.public-sitemap-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-sitemap-groups h2 { font-size: 17px; }
.public-sitemap-groups ul { margin: 12px 0 0; padding: 0; list-style: none; }
.public-sitemap-groups li + li { margin-top: 7px; }
.public-sitemap-groups a { margin: 0; }

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.blog-list-hero .site-container { position:relative;z-index:1; }
.blog-search { max-width:720px;display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:27px; }
.blog-search input { width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;color:var(--navy); }
.blog-search input:focus { outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(16,185,129,.12); }
.blog-list-layout { display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:34px;align-items:start; }
.blog-card-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.blog-card { overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 4px 16px rgba(15,23,42,.05); }
.blog-card-image { min-height:210px;display:grid;place-items:center;overflow:hidden;background:#E2E8F0;color:var(--text-muted);font-size:12px;font-weight:750;text-align:center;text-decoration:none; }
.blog-card-image img { width:100%;height:100%;min-height:210px;aspect-ratio:16/9;display:block;object-fit:cover;transition:transform .25s ease; }
.blog-card:hover .blog-card-image img { transform:scale(1.025); }
.blog-card-body { padding:21px; }
.blog-card-meta { margin:0 0 8px!important;color:var(--primary-active)!important;font-size:10px!important;font-weight:850;letter-spacing:.06em;text-transform:uppercase; }
.blog-card h2 { margin:0;font-size:20px;line-height:1.32; }
.blog-card h2 a { margin:0;color:var(--navy);text-decoration:none; }
.blog-card h2 a:hover { color:var(--primary-hover); }
.blog-card-body>p { margin:10px 0 0;color:var(--text-muted);font-size:13px;line-height:1.7; }
.blog-read-link { display:inline-block;margin-top:16px;font-size:12px;font-weight:850;text-decoration:none; }
.blog-sidebar { position:sticky;top:92px;display:grid;gap:16px; }
.blog-sidebar ul { margin:15px 0 0;padding:0;list-style:none; }
.blog-sidebar li+li { border-top:1px solid var(--border); }
.blog-sidebar li a { display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px 0;color:var(--text-secondary);text-decoration:none; }
.blog-sidebar li strong { color:var(--primary-hover); }
.blog-sidebar .public-notice { margin:0; }
.blog-sidebar .public-notice p { margin:7px 0; }
.blog-pagination { display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px; }
.blog-pagination span { color:var(--text-muted);font-size:12px;font-weight:750; }
.blog-article-head { padding:66px 0 44px;border-bottom:1px solid var(--border);background:#F8FAFC; }
.blog-article-narrow { max-width:900px; }
.blog-article-head h1 { margin:0;color:var(--navy);font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-1.7px; }
.blog-article-excerpt { margin:18px 0 0;color:var(--text-secondary);font-size:18px;line-height:1.7; }
.blog-article-meta { display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:22px;color:var(--text-muted);font-size:12px; }
.blog-featured { max-width:1080px;margin-top:34px;margin-bottom:0; }
.blog-featured img { width:100%;max-height:620px;aspect-ratio:16/9;display:block;border:1px solid var(--border);object-fit:cover; }
.blog-article-layout { display:grid;grid-template-columns:minmax(0,760px) 270px;justify-content:center;gap:48px;padding-top:54px;padding-bottom:70px;align-items:start; }
.blog-content { min-width:0;color:var(--text-secondary);font-size:16px;line-height:1.85; }
.blog-content-intro { padding:17px 19px;border-left:4px solid var(--primary);background:var(--emerald-50);color:var(--navy);font-size:17px;font-weight:650; }
.blog-content h2,.blog-content h3,.blog-content h4 { margin:1.55em 0 .55em;color:var(--navy);line-height:1.3; }
.blog-content h2 { font-size:29px; }.blog-content h3{font-size:23px}.blog-content h4{font-size:19px}
.blog-content p { margin:1.1em 0; }.blog-content ul,.blog-content ol{padding-left:24px}.blog-content li+li{margin-top:7px}
.blog-content blockquote { margin:27px 0;padding:18px 22px;border-left:4px solid var(--primary);background:#F8FAFC;color:var(--navy);font-size:18px; }
.blog-content blockquote p { margin:0; }.blog-content blockquote cite{display:block;margin-top:9px;color:var(--text-muted);font-size:12px;font-style:normal}
.blog-content-image { width:min(var(--image-width),100%);margin:30px auto; }
.blog-content-image.align-left { margin-left:0;margin-right:auto; }.blog-content-image.align-right{margin-left:auto;margin-right:0}.blog-content-image.align-full{width:100%}
.blog-content-image>div { overflow:hidden;background:#E2E8F0; }.blog-content-image img{width:100%;height:100%;display:block;object-fit:cover}
.blog-content-image.ratio-16-9>div{aspect-ratio:16/9}.blog-content-image.ratio-4-3>div{aspect-ratio:4/3}.blog-content-image.ratio-3-2>div{aspect-ratio:3/2}.blog-content-image.ratio-1-1>div{aspect-ratio:1/1}.blog-content-image.ratio-3-4>div{aspect-ratio:3/4}
.blog-content-image.ratio-custom>div{aspect-ratio:var(--custom-ratio)}
.blog-content-image figcaption { margin-top:7px;color:var(--text-muted);font-size:11px;text-align:center; }
.blog-article-aside { position:sticky;top:92px;display:grid;gap:15px; }.blog-article-aside .public-notice{margin:0}.blog-article-aside .public-notice p{margin:7px 0 0}

@media(max-width:1000px){.blog-list-layout,.blog-article-layout{grid-template-columns:1fr}.blog-sidebar,.blog-article-aside{position:static}.blog-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.public-hero-grid{grid-template-columns:1fr}.public-hero-card{max-width:650px}.public-grid-3,.public-sitemap-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.public-hero{padding:48px 0}.public-section{padding:54px 0}.public-grid-2,.public-grid-3,.public-sitemap-groups,.blog-card-grid,.blog-sidebar{grid-template-columns:1fr}.public-actions{display:grid}.public-btn{width:100%}.public-hero h1,.blog-article-head h1{letter-spacing:-1.2px}.public-lead{font-size:15px}.blog-search{grid-template-columns:1fr}.blog-article-head{padding:46px 0 35px}.blog-article-layout{padding-top:35px;gap:30px}.blog-content-image{width:100%!important}.blog-pagination .public-btn{width:auto}}
