:root {
  --blue:#0877ee;
  --blue2:#0b65c7;
  --ink:#0b2947;
  --text:#284967;
  --muted:#6d8296;
  --line:#e2e9f0;
  --soft:#f4f8fc;
  --soft2:#edf5fd;
  --navy:#071f35;
  --navy2:#0a3558;
  --white:#fff;
  --shadow:0 18px 48px rgba(17,57,92,.11);
  --max:1240px
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  display:block
}
button,input,textarea,select {
  font:inherit
}
.wrap {
  width:min(calc(100% - 48px),var(--max));
  margin:0 auto
}
.skip-link {
  position:absolute;
  left:-999px;
  top:8px;
  background:#fff;
  padding:10px 14px;
  z-index:999
}
.skip-link:focus {
  left:8px
}
.site-header {
  height:76px;
  background:#fff;
  border-bottom:1px solid #edf1f5;
  position:sticky;
  top:0;
  z-index:80
}
.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  gap:28px
}
.logo {
  min-width:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1
}
.logo strong {
  font-size:22px;
  font-weight:850;
  letter-spacing:-.55px;
  color:#102d4b
}
.logo strong span {
  color:var(--blue)
}
.logo small {
  font-size:11px;
  color:#75889a;
  margin-top:5px;
  letter-spacing:.02em
}
.nav {
  display:flex;
  align-items:stretch;
  height:100%;
  gap:3px;
  margin-left:auto
}
.nav>a,.nav-label {
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  padding:0 13px;
  font-size:14.5px;
  font-weight:760;
  color:#132f4d;
  white-space:nowrap
}
.nav>a.active:after {
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:var(--blue)
}
.nav-group {
  position:relative;
  height:100%;
  display:flex;
  align-items:stretch
}
.chev {
  display:inline-block;
  width:7px;
  height:7px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg);
  margin-left:7px;
  margin-top:-4px
}
.drop {
  position:absolute;
  top:66px;
  left:6px;
  min-width:225px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 18px 46px rgba(13,43,73,.15);
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:.16s
}
.nav-group:hover .drop,.nav-group:focus-within .drop {
  opacity:1;
  visibility:visible;
  transform:none
}
.drop a {
  display:block;
  padding:11px 12px;
  border-radius:8px;
  font-size:14px;
  font-weight:680;
  color:#24445f
}
.drop a:hover {
  background:#f2f7fd;
  color:var(--blue)
}
.quote-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  min-width:148px;
  padding:0 21px;
  background:linear-gradient(180deg,#1384f6,#0874e8);
  color:#fff!important;
  border-radius:7px;
  font-size:14.5px;
  font-weight:820;
  box-shadow:0 10px 24px rgba(8,119,238,.20);
  white-space:nowrap
}
.menu-toggle {
  display:none;
  margin-left:auto;
  border:1px solid var(--line);
  background:#fff;
  border-radius:7px;
  padding:9px 12px;
  font-weight:800;
  color:#173753
}

/* Home */
.home-hero {
  height:418px;
  position:relative;
  overflow:hidden;
  background:#f7f9fc
}
.home-hero>img {
  position:absolute;
  right:0;
  top:0;
  width:58%;
  height:100%;
  object-fit:cover;
  object-position:center 45%
}
.home-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#fff 0%,#fff 36%,rgba(255,255,255,.97) 46%,rgba(255,255,255,.76) 57%,rgba(255,255,255,.07) 80%,transparent 100%)
}
.home-hero .wrap {
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:center
}
.home-copy {
  width:58%
}
.home-copy h1 {
  font-size:clamp(46px,3.35vw,55px);
  line-height:1.02;
  letter-spacing:-1.7px;
  margin:0 0 18px;
  font-weight:870
}
.home-copy h1 em {
  display:block;
  color:var(--blue);
  font-style:normal
}
.home-copy p {
  font-size:18px;
  line-height:1.55;
  color:#2c4964;
  margin:0 0 23px;
  max-width:650px
}
.actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 23px;
  border-radius:7px;
  border:1px solid #dfe6ee;
  background:#fff;
  color:#153451;
  font-size:14.5px;
  font-weight:820;
  box-shadow:0 8px 20px rgba(19,47,76,.07)
}
.btn.primary {
  background:linear-gradient(180deg,#1384f6,#0874e8);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 24px rgba(8,119,238,.20)
}
.benefits {
  border-bottom:1px solid #edf1f5;
  background:#fff
}
.benefit-grid {
  min-height:104px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center
}
.benefit {
  display:flex;
  gap:15px;
  align-items:center;
  padding-left:24px
}
.benefit:first-child {
  padding-left:0
}
.benefit svg {
  width:42px;
  height:42px;
  stroke:var(--blue);
  fill:none;
  stroke-width:1.75
}
.benefit strong {
  display:block;
  font-size:16px;
  line-height:1.2;
  margin-bottom:5px
}
.benefit span {
  display:block;
  font-size:14.5px;
  color:#74889a
}
.cat-section {
  padding:36px 0 34px
}
.cat-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px
}
.cat-card {
  border:1px solid #e4eaf1;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(25,54,82,.045);
  background:#fff;
  transition:.18s
}
.cat-card:hover {
  transform:translateY(-3px);
  box-shadow:0 13px 30px rgba(25,54,82,.10)
}
.cat-card img {
  width:100%;
  height:145px;
  object-fit:cover
}
.cat-body {
  position:relative;
  min-height:94px;
  padding:15px 15px 16px;
  background:linear-gradient(180deg,#fff,#fbfcfe)
}
.cat-body strong {
  display:block;
  font-size:16px;
  line-height:1.25;
  margin-bottom:7px;
  padding-right:18px
}
.cat-body small {
  display:block;
  font-size:14px;
  color:#6b7f93;
  padding-right:22px
}
.cat-body i {
  font-style:normal;
  position:absolute;
  right:13px;
  top:36px;
  color:var(--blue);
  font-size:24px
}
.home-process {
  padding:6px 0 50px
}
.process-grid {
  display:grid;
  grid-template-columns:1.28fr repeat(4,1fr);
  gap:26px;
  align-items:start
}
.process-intro h2 {
  font-size:33px;
  line-height:1.05;
  letter-spacing:-.8px;
  margin:0 0 12px
}
.process-intro p {
  font-size:15px;
  color:#60758b;
  margin:0 0 18px;
  max-width:270px
}
.step {
  position:relative;
  min-height:154px
}
.step:not(:last-child):after {
  content:"";
  position:absolute;
  top:25px;
  left:55px;
  width:calc(100% - 40px);
  height:1px;
  background:#bfd2e8
}
.step-num {
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#1185f6,#0773e7);
  color:#fff;
  font-size:18px;
  font-weight:850;
  position:relative;
  z-index:2;
  margin-bottom:13px
}
.step strong {
  display:block;
  font-size:15.5px;
  line-height:1.3;
  margin-bottom:6px
}
.step span {
  display:block;
  font-size:14px;
  line-height:1.45;
  color:#687d91;
  max-width:185px
}
.trust {
  position:relative;
  color:#fff;
  overflow:hidden;
  background:#0a3252;
  padding:31px 0 36px
}
.trust>img {
  position:absolute;
  inset:-20px;
  width:calc(100% + 40px);
  height:calc(100% + 40px);
  object-fit:cover;
  opacity:.30;
  filter:saturate(.55) contrast(.9)
}
.trust:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,34,57,.66),rgba(4,40,66,.90))
}
.trust .wrap {
  position:relative;
  z-index:2
}
.trust-head {
  text-align:center
}
.trust-head h2 {
  font-size:31px;
  line-height:1.1;
  margin:0 0 8px
}
.trust-head p {
  font-size:14.5px;
  color:#deebf5;
  margin:0
}
.trust-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin-top:25px
}
.trust-item {
  display:flex;
  align-items:center;
  gap:14px
}
.trust-icon {
  width:60px;
  height:60px;
  border:1.5px solid rgba(255,255,255,.92);
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto
}
.trust-icon svg {
  width:28px;
  height:28px;
  stroke:#fff;
  fill:none;
  stroke-width:1.5
}
.trust-item strong {
  display:block;
  font-size:16px;
  margin-bottom:5px
}
.trust-item span {
  display:block;
  font-size:14px;
  color:#e2edf5
}

/* SEO / GEO content */
.seo-home {
  padding:72px 0;
  background:#fff
}
.seo-home-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:start
}
.eyebrow {
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--blue);
  margin:0 0 10px
}
.seo-home h2,.section-title {
  font-size:clamp(34px,3.4vw,48px);
  line-height:1.08;
  letter-spacing:-1.2px;
  margin:0 0 17px
}
.seo-home p,.prose p {
  font-size:16.5px;
  color:#49647d
}
.answer-box {
  background:linear-gradient(180deg,#f7fbff,#f1f7fd);
  border:1px solid #dcebf9;
  border-left:4px solid var(--blue);
  border-radius:13px;
  padding:20px 22px;
  color:#264a68
}
.answer-box strong {
  display:block;
  font-size:17px;
  margin-bottom:7px;
  color:#0c2d4d
}
.fact-list {
  display:grid;
  gap:10px;
  margin:20px 0 0
}
.fact {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  align-items:start
}
.fact b {
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9f4ff;
  color:var(--blue);
  font-size:13px
}
.fact span {
  font-size:15px;
  color:#3c5972
}
.faq {
  padding:70px 0;
  background:#f7fafc
}
.faq-head {
  max-width:760px;
  margin-bottom:26px
}
.faq-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.faq details {
  background:#fff;
  border:1px solid #e2e9f0;
  border-radius:12px;
  padding:0 18px
}
.faq summary {
  cursor:pointer;
  font-size:16px;
  font-weight:800;
  padding:17px 0;
  color:#173754
}
.faq details p {
  font-size:15px;
  color:#526d84;
  margin:0 0 18px
}

/* Inner pages */
.breadcrumbs {
  padding:17px 0 0;
  font-size:13.5px;
  color:#72879a
}
.breadcrumbs a {
  color:#52728e
}
.breadcrumbs span {
  margin:0 7px;
  color:#a1afbb
}
.subhero {
  padding:42px 0 48px;
  background:linear-gradient(180deg,#fff,#f8fbfe);
  border-bottom:1px solid #eef2f6
}
.subhero-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:center
}
.subhero h1 {
  font-size:clamp(45px,4.2vw,62px);
  line-height:1.02;
  letter-spacing:-1.8px;
  margin:10px 0 18px;
  max-width:760px
}
.subhero .lead {
  font-size:18px;
  line-height:1.58;
  color:#3e5a73;
  margin:0 0 22px;
  max-width:720px
}
.hero-media {
  position:relative;
  min-height:330px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#e9f1f8
}
.hero-media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.hero-media:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(5,33,56,.35))
}
.hero-media .media-tag {
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  background:rgba(255,255,255,.94);
  border-radius:9px;
  padding:10px 13px;
  font-size:13px;
  font-weight:800;
  color:#173a58;
  box-shadow:0 6px 18px rgba(15,45,70,.12)
}
.quick-strip {
  background:#fff;
  border-bottom:1px solid #edf1f5
}
.quick-grid {
  min-height:102px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center
}
.quick-item {
  padding:0 22px;
  border-right:1px solid #edf1f5
}
.quick-item:first-child {
  padding-left:0
}
.quick-item:last-child {
  border-right:0
}
.quick-item strong {
  display:block;
  font-size:15px;
  margin-bottom:4px
}
.quick-item span {
  display:block;
  font-size:14px;
  color:#6e8295
}
.content-section {
  padding:70px 0
}
.content-section.soft {
  background:#f7fafc;
  border-top:1px solid #eef2f6;
  border-bottom:1px solid #eef2f6
}
.two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:52px;
  align-items:start
}
.three-col {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.section-copy h2 {
  font-size:clamp(32px,3vw,44px);
  line-height:1.1;
  letter-spacing:-1px;
  margin:0 0 16px
}
.section-copy p {
  font-size:16.5px;
  color:#49647d
}
.card {
  background:#fff;
  border:1px solid #e2e9f0;
  border-radius:14px;
  padding:24px;
  box-shadow:0 10px 30px rgba(23,58,88,.055)
}
.card h3 {
  font-size:19px;
  line-height:1.25;
  margin:0 0 9px
}
.card p,.card li {
  font-size:15.5px;
  color:#526d84
}
.card ul {
  padding-left:19px;
  margin:10px 0 0
}
.card li+li {
  margin-top:7px
}
.check-list {
  list-style:none;
  padding:0;
  margin:17px 0 0
}
.check-list li {
  position:relative;
  padding-left:30px;
  margin:10px 0;
  color:#425f78;
  font-size:15.5px
}
.check-list li:before {
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:21px;
  height:21px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9f4ff;
  color:var(--blue);
  font-weight:900;
  font-size:12px
}
.number-list {
  display:grid;
  gap:13px
}
.number-row {
  display:grid;
  grid-template-columns:46px 1fr;
  gap:15px;
  align-items:start;
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:13px;
  padding:18px
}
.number-row b {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--blue);
  color:#fff
}
.number-row strong {
  display:block;
  font-size:17px;
  margin-bottom:4px
}
.number-row span {
  display:block;
  color:#60778b;
  font-size:14.5px
}
.risk-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px
}
.risk {
  border-left:4px solid #cfe3f6;
  background:#fff;
  border-radius:10px;
  padding:18px 18px 18px 20px
}
.risk strong {
  display:block;
  font-size:16px;
  margin-bottom:5px
}
.risk p {
  font-size:15px;
  color:#5a7186;
  margin:0
}
.related {
  padding:64px 0
}
.related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.related a {
  display:block;
  background:#f7fafc;
  border:1px solid #e2e9f0;
  border-radius:13px;
  padding:20px
}
.related strong {
  display:block;
  font-size:17px;
  color:#173754
}
.related span {
  display:block;
  font-size:14.5px;
  color:#6b8194;
  margin-top:5px
}
.cta-band {
  padding:68px 0
}
.cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-radius:18px;
  padding:36px 40px;
  background:linear-gradient(135deg,#0a3151,#0a426f);
  color:#fff;
  box-shadow:var(--shadow)
}
.cta h2 {
  font-size:32px;
  line-height:1.12;
  margin:0 0 8px
}
.cta p {
  font-size:15.5px;
  color:#d6e7f4;
  margin:0;
  max-width:760px
}
.updated {
  font-size:12.5px;
  color:#8b9bab;
  margin-top:18px
}
.pricing-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.price-card {
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:16px;
  padding:28px;
  box-shadow:0 10px 30px rgba(23,58,88,.06)
}
.price-card.featured {
  border-color:#9fcaf2;
  box-shadow:0 16px 36px rgba(8,119,238,.12)
}
.price-card .tag {
  font-size:11.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--blue)
}
.price-card h2 {
  font-size:25px;
  line-height:1.15;
  margin:9px 0 12px
}
.price-card p,.price-card li {
  font-size:15px;
  color:#587086
}
.price-card ul {
  padding-left:20px
}
.scenario-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px
}
.scenario {
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:14px;
  padding:24px
}
.scenario h3 {
  font-size:19px;
  margin:0 0 8px
}
.scenario p {
  font-size:15px;
  color:#567086;
  margin:0
}
.platform-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.platform-card {
  background:#fff;
  border:1px solid #e2e9f0;
  border-radius:14px;
  padding:24px
}
.platform-card strong {
  display:block;
  font-size:18px;
  margin-bottom:8px
}
.platform-card p {
  font-size:14.8px;
  color:#5a7187;
  margin:0
}
.contact-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:22px
}
.contact-card {
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:15px;
  padding:28px;
  box-shadow:0 10px 30px rgba(23,58,88,.055)
}

.email-contact-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:22px;
  align-items:stretch
}
.email-direct,.email-checklist-card {
  background:#fff;
  border:1px solid #dfe8f0;
  border-radius:17px;
  padding:32px;
  box-shadow:0 12px 34px rgba(23,58,88,.06)
}
.email-direct {
  background:linear-gradient(180deg,#f8fbff,#fff)
}
.email-direct h2,.email-checklist-card h2 {
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.5px;
  margin:0 0 13px
}
.email-direct>p:not(.eyebrow):not(.email-note) {
  font-size:16.5px;
  color:#4b667e
}
.email-address {
  display:block;
  margin:24px 0 18px;
  padding:18px 20px;
  border:1px solid #cfe2f4;
  border-radius:12px;
  background:#fff
}
.email-address span {
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#71879a;
  font-weight:850;
  margin-bottom:4px
}
.email-address strong {
  display:block;
  color:var(--blue);
  font-size:21px;
  line-height:1.25;
  overflow-wrap:anywhere
}
.email-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.copy-email {
  cursor:pointer
}
.email-note {
  font-size:13px;
  color:#7b8fa1;
  margin:16px 0 0
}
.email-attachment-note {
  margin:22px 0 0;
  padding:16px 18px;
  border-radius:11px;
  background:#f3f8fd;
  color:#49667f;
  font-size:14.5px
}
.email-attachment-note strong {
  color:#173b5b
}
.legal-page {
  padding:50px 0 76px
}
.legal-shell {
  max-width:930px
}
.legal-page h1 {
  font-size:clamp(42px,5vw,58px);
  line-height:1.05;
  letter-spacing:-1.4px;
  margin:16px 0 18px
}
.legal-page h2 {
  font-size:26px;
  margin:34px 0 12px
}
.legal-page h3 {
  font-size:19px;
  margin:26px 0 10px
}
.legal-page p,.legal-page li {
  font-size:16px;
  color:#4f687d
}
.legal-page ul,.legal-page ol {
  padding-left:22px
}
.legal-intro {
  font-size:18px!important;
  color:#37536c!important
}
.legal-meta {
  font-size:13px!important;
  color:#8a9aaa!important
}
.table-wrap {
  overflow-x:auto
}
.legal-page table {
  width:100%;
  border-collapse:collapse
}
.legal-page th,.legal-page td {
  border-bottom:1px solid #e3e9ef;
  padding:12px;
  text-align:left;
  vertical-align:top
}

/* Footer */
.site-footer {
  background:#071f35;
  color:#d9e5ef;
  padding:50px 0 24px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.75fr repeat(4,1fr);
  gap:42px
}
.footer-logo {
  display:inline-block;
  margin-bottom:5px
}
.footer-logo strong {
  font-size:21px;
  letter-spacing:-.4px;
  color:#fff;
  font-weight:850
}
.footer-logo strong span {
  color:#4ca4ff
}
.site-footer h3 {
  font-size:13.5px;
  color:#fff;
  margin:0 0 16px
}
.site-footer a {
  display:block;
  color:#c7d4df;
  font-size:14.5px;
  line-height:1.45;
  margin:9px 0
}
.site-footer p {
  font-size:14.5px;
  line-height:1.6;
  color:#9eb1c2;
  max-width:340px
}
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:36px;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:13.5px;
  color:#8098ad
}




@media(max-width:1120px) {
  .wrap {
    width:min(calc(100% - 40px),var(--max))
  }
  .nav {
    display:none;
    position:absolute;
    top:75px;
    left:20px;
    right:20px;
    height:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    padding:10px;
    flex-direction:column;
    align-items:stretch
  }
  .menu-open .nav {
    display:flex
  }
  .nav>a,.nav-label {
    height:auto;
    min-height:44px;
    padding:0 12px
  }
  .nav-group {
    display:block;
    height:auto
  }
  .drop {
    position:static;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:0;
    padding:0 8px 8px 20px
  }
  .nav-group:hover .drop {
    display:block
  }
  .menu-toggle {
    display:inline-flex
  }
  .quote-btn {
    min-width:130px
  }
  .home-hero {
    height:auto;
    min-height:690px
  }
  .home-hero>img {
    width:100%;
    height:48%;
    top:auto;
    bottom:0
  }
  .home-hero:before {
    background:linear-gradient(180deg,#fff 0,#fff 44%,rgba(255,255,255,.95) 54%,rgba(255,255,255,.08) 75%)
  }
  .home-hero .wrap {
    align-items:flex-start;
    padding-top:54px;
    padding-bottom:350px
  }
  .home-copy {
    width:100%;
    max-width:780px
  }
  .benefit-grid {
    grid-template-columns:1fr 1fr;
    gap:24px;
    padding:24px 0
  }
  .benefit {
    padding-left:0
  }
  .cat-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .cat-card:last-child {
    grid-column:1/-1
  }
  .process-grid {
    grid-template-columns:1fr 1fr
  }
  .process-intro {
    grid-column:1/-1
  }
  .step:not(:last-child):after {
    display:none
  }
  .trust-grid {
    grid-template-columns:1fr 1fr
  }
  .seo-home-grid,.subhero-grid,.two-col,.contact-grid,.email-contact-grid {
    grid-template-columns:1fr
  }
  .hero-media {
    min-height:360px
  }
  .quick-grid {
    grid-template-columns:1fr 1fr;
    padding:20px 0;
    gap:0
  }
  .quick-item {
    padding:14px 20px;
    border-bottom:1px solid #edf1f5
  }
  .quick-item:nth-child(2) {
    border-right:0
  }
  .quick-item:nth-child(3),.quick-item:nth-child(4) {
    border-bottom:0
  }
  .three-col,.related-grid,.platform-grid,.pricing-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-grid {
    grid-template-columns:1.4fr 1fr 1fr
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }

}

@media(max-width:680px) {
  .wrap {
    width:min(calc(100% - 30px),var(--max))
  }
  .site-header {
    height:68px
  }
  .logo {
    min-width:0
  }
  .logo strong {
    font-size:19px
  }
  .logo small {
    font-size:10px
  }
  .quote-btn {
    display:none
  }
  .home-hero .wrap {
    padding-top:42px
  }
  .home-copy h1 {
    font-size:39px
  }
  .home-copy p {
    font-size:16px
  }
  .actions {
    flex-direction:column;
    align-items:stretch;
    max-width:260px
  }
  .benefit-grid,.cat-grid,.process-grid,.trust-grid,.quick-grid,.three-col,.related-grid,.platform-grid,.pricing-grid,.scenario-grid,.faq-grid,.risk-grid,.footer-grid {
    grid-template-columns:1fr
  }
  .cat-card:last-child {
    grid-column:auto
  }
  .cat-card img {
    height:200px
  }
  .quick-item {
    border-right:0!important;
    border-bottom:1px solid #edf1f5!important;
    padding:15px 0
  }
  .quick-item:last-child {
    border-bottom:0!important
  }
  .subhero {
    padding:30px 0 38px
  }
  .subhero h1 {
    font-size:39px;
    letter-spacing:-1.2px
  }
  .subhero .lead {
    font-size:16px
  }
  .hero-media {
    min-height:270px
  }
  .content-section,.faq,.seo-home {
    padding:52px 0
  }
  .cta {
    flex-direction:column;
    align-items:flex-start;
    padding:28px
  }
  .site-footer {
    padding-top:42px
  }
  .footer-bottom {
    display:block
  }
  .footer-bottom span {
    display:block;
    margin-top:6px
  }


}

/* Final consistency and conversion pass */
.nav-label {
  appearance:none;
  border:0;
  background:transparent;
  font-family:inherit;
  font-size:14.5px;
  font-weight:760;
  color:inherit;
  cursor:pointer;
  text-align:left
}

.drop-emphasis {
  border-top:1px solid #edf2f6;
  margin-top:6px;
  padding-top:12px!important;
  color:var(--blue)!important;
  font-weight:850!important
}

.category-intro {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:end;
  margin:4px 0 24px
}

.category-intro h2 {
  font-size:clamp(26px,2.8vw,38px);
  line-height:1.08;
  letter-spacing:-.8px;
  margin:4px 0 0;
  max-width:760px
}

.category-intro>p {
  margin:0;
  color:#5b7287;
  font-size:16px;
  line-height:1.7
}

.category-more {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:22px;
  padding:17px 20px;
  border:1px solid #dfe8f0;
  border-radius:12px;
  background:#f8fbfe;
  font-size:15px;
  color:#516b81
}

.category-more a {
  font-weight:850;
  color:var(--blue);
  white-space:nowrap
}

.footer-grid {
  grid-template-columns:1.65fr repeat(5,1fr);
  gap:34px
}
.footer-contact a {
  display:inline!important;
  margin-left:5px!important;
  color:#fff!important
}



.guide-hub-hero {
  padding:72px 0 42px;
  background:linear-gradient(180deg,#f7fbff,#fff)
}
.guide-hub-hero h1 {
  font-size:clamp(44px,5.7vw,70px);
  line-height:1.02;
  letter-spacing:-2px;
  max-width:980px;
  margin:7px 0 18px
}
.guide-hub-hero .lead {
  max-width:900px;
  font-size:19px;
  color:#48647d
}
.guide-hub {
  padding:18px 0 78px
}
.guide-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px
}
.guide-card {
  display:grid;
  grid-template-columns:220px 1fr;
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(23,58,88,.05);
  transition:.2s
}
.guide-card:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(23,58,88,.09)
}
.guide-card img {
  width:100%;
  height:100%;
  min-height:230px;
  object-fit:cover
}
.guide-card>div {
  padding:24px
}
.guide-card span {
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--blue);
  font-size:11px;
  font-weight:900
}
.guide-card h2 {
  font-size:23px;
  line-height:1.18;
  margin:8px 0 10px
}
.guide-card p {
  font-size:14.8px;
  color:#5a7185;
  margin:0 0 15px
}
.guide-card b {
  color:var(--blue);
  font-size:14px
}

.article-page {
  padding-bottom:80px
}
.article-hero {
  padding:48px 0 42px;
  background:linear-gradient(180deg,#f7fbff 0,#fff 100%)
}
.article-hero-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:46px;
  align-items:center
}
.article-hero h1 {
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-1.8px;
  margin:8px 0 18px
}
.article-hero .lead {
  font-size:18.5px;
  color:#4a657d;
  max-width:780px
}
.article-meta {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:20px;
  font-size:13px;
  color:#8091a1
}
.article-meta span+span:before {
  content:'•';
  margin-right:18px;
  color:#b4c0ca
}
.article-layout {
  display:grid;
  grid-template-columns:minmax(0,820px) 290px;
  gap:60px;
  align-items:start;
  padding-top:48px
}
.article-body {
  font-size:17px;
  color:#3e5b74;
  line-height:1.8
}
.article-body>p:first-child {
  font-size:20px;
  color:#294965;
  line-height:1.7
}
.article-body h2 {
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.5px;
  color:#102f4a;
  margin:46px 0 13px
}
.article-body ul,.article-body ol {
  padding-left:24px
}
.article-body li {
  margin:8px 0
}
.article-body a {
  color:var(--blue);
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px
}
.callout {
  margin:34px 0;
  padding:22px 24px;
  border-left:4px solid var(--blue);
  background:#f2f8ff;
  border-radius:0 12px 12px 0
}
.callout strong {
  color:#103c62;
  font-size:16px
}
.callout p {
  margin:6px 0 0;
  color:#46647d
}
.article-aside {
  display:grid;
  gap:18px
}
.sticky-card,.sticky-links {
  border:1px solid #e1e8ef;
  border-radius:14px;
  padding:22px;
  background:#fff
}
.sticky-card {
  position:sticky;
  top:96px;
  box-shadow:0 12px 30px rgba(23,58,88,.06)
}
.sticky-card strong,.sticky-links strong {
  display:block;
  font-size:18px;
  color:#163b5d;
  margin-bottom:8px
}
.sticky-card p {
  font-size:14.5px;
  color:#5d7488
}
.sticky-card .btn {
  width:100%;
  margin-top:6px
}
.sticky-links a {
  display:block;
  padding:9px 0;
  border-bottom:1px solid #edf1f5;
  font-size:14.5px;
  color:#365b79
}
.sticky-links a:last-child {
  border-bottom:0
}
.article-faq {
  margin-top:48px;
  border-top:1px solid #e1e8ef;
  padding-top:38px
}
.article-faq h2 {
  margin-top:3px
}
.article-faq details {
  border-bottom:1px solid #e4eaf0;
  padding:15px 0
}
.article-faq summary {
  cursor:pointer;
  color:#173b5b;
  font-weight:850
}
.article-faq p {
  font-size:15.5px;
  margin:10px 0 2px
}
.article-next {
  margin-top:48px;
  padding:30px;
  border-radius:16px;
  background:#071f35;
  color:#fff
}
.article-next h2 {
  color:#fff;
  margin:4px 0 9px
}
.article-next p {
  color:#d1deea
}
.article-next .btn:not(.primary) {
  background:#fff;
  color:#173754;
  border-color:#fff
}

.status-page {
  padding:100px 0 120px;
  background:linear-gradient(180deg,#f5faff,#fff)
}
.status-card {
  max-width:760px;
  margin:auto;
  text-align:center;
  background:#fff;
  border:1px solid #e0e8ef;
  border-radius:20px;
  padding:54px;
  box-shadow:0 20px 55px rgba(25,62,94,.08)
}
.status-card h1 {
  font-size:44px;
  line-height:1.07;
  letter-spacing:-1px;
  margin:8px 0 16px
}
.status-card p {
  font-size:17px;
  color:#587087
}
.status-card .actions {
  justify-content:center
}
.status-icon {
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  background:#eaf5ff;
  color:var(--blue);
  font-weight:900;
  font-size:28px
}
.status-code {
  font-size:72px;
  font-weight:950;
  color:#d8e8f7;
  line-height:1;
  margin-bottom:12px
}

@media(max-width:1180px) {
  .footer-grid {
    grid-template-columns:1.4fr repeat(3,1fr)
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }
  .guide-card {
    grid-template-columns:180px 1fr
  }
  .article-layout {
    grid-template-columns:1fr
  }
  .article-aside {
    grid-template-columns:1fr 1fr
  }
  .sticky-card {
    position:static
  }
  .article-hero-grid {
    grid-template-columns:1fr 1fr
  }

}

@media(max-width:1120px) {
  .nav-group.open .drop,.nav-group.open:hover .drop {
    display:block;
    opacity:1;
    visibility:visible;
    transform:none
  }
  .nav-group:not(.open):hover .drop {
    display:none;
    opacity:0;
    visibility:hidden
  }

}

@media(max-width:760px) {
  .category-intro {
    grid-template-columns:1fr;
    gap:10px
  }
  .category-more {
    align-items:flex-start;
    flex-direction:column;
    gap:8px
  }
  .category-more a {
    white-space:normal
  }
  .guide-grid {
    grid-template-columns:1fr
  }
  .guide-card {
    grid-template-columns:1fr
  }
  .guide-card img {
    height:220px
  }
  .article-hero-grid {
    grid-template-columns:1fr
  }
  .article-hero .hero-media {
    min-height:260px
  }
  .article-layout {
    padding-top:34px
  }
  .article-aside {
    grid-template-columns:1fr
  }
  .article-body {
    font-size:16.5px
  }
  .article-body h2 {
    font-size:28px
  }
  .status-card {
    padding:34px 22px
  }
  .status-card h1 {
    font-size:36px
  }

}

@media(max-width:680px) {
  .header-inner {
    gap:9px
  }
  .logo small {
    display:none
  }
  .menu-toggle {
    order:3;
    padding:9px 10px;
    font-size:13px
  }
  .quote-btn {
    display:inline-flex;
    min-width:auto;
    padding:10px 12px;
    font-size:12.5px;
    order:2
  }
  .quote-btn span {
    display:none
  }
  .nav {
    top:64px
  }
  .home-copy h1,.subhero h1 {
    font-size:clamp(36px,10.4vw,44px)
  }
  .site-footer a,.site-footer p {
    font-size:15px
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:28px
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }
  .article-meta {
    gap:8px 14px
  }
  .article-meta span+span:before {
    display:none
  }

}

@media(max-width:440px) {
  .footer-grid {
    grid-template-columns:1fr
  }
  .quote-btn {
    padding:9px 10px
  }
  .logo strong {
    font-size:18px
  }
  .menu-toggle {
    padding:9px 8px
  }

}

@media(max-width:760px) {
  .email-contact-grid {
    grid-template-columns:1fr
  }
  .email-direct,.email-checklist-card {
    padding:26px
  }
  .email-actions {
    flex-direction:column;
    align-items:stretch
  }
  .email-actions .btn {
    width:100%
  }

}

@media(max-width:440px) {
  .email-direct,.email-checklist-card {
    padding:22px
  }
  .email-address strong {
    font-size:18px
  }

}


/* Multilingual release refinements */
.footer-grid {
  grid-template-columns:minmax(280px,1.7fr) repeat(5,minmax(150px,1fr));
  gap:28px;
}
.footer-email-link {
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-weight:760;
  white-space:nowrap;
  margin-top:10px!important;
}
.footer-email-link::before {
  content:"@";
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  font-size:13px;
  color:#a9c6df;
}
.lang-switch {
  position:relative;
  flex:0 0 auto;
}
.lang-switch summary {
  list-style:none;
  min-width:64px;
  height:42px;
  padding:0 12px;
  border:1px solid #dbe5ef;
  border-radius:8px;
  background:#fff;
  color:#173753;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:14.5px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.lang-switch summary::-webkit-details-marker { display:none; }
.lang-switch summary::after {
  content:"";
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.lang-switch[open] summary::after { transform:rotate(225deg) translate(-1px,-1px); }
.lang-menu {
  position:absolute;
  right:0;
  top:50px;
  min-width:168px;
  padding:7px;
  border:1px solid #dbe5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 44px rgba(13,43,73,.15);
  z-index:120;
}
.lang-menu a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 11px;
  border-radius:8px;
  color:#24445f;
  font-size:14.5px;
  font-weight:680;
  white-space:nowrap;
}
.lang-menu a:hover,.lang-menu a[aria-current="true"] { background:#f2f7fd; color:#0877ee; }
.lang-menu small { color:#7d91a3; font-size:12px; }
html[lang^="zh"] body { font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif; }
html[lang="zh-Hant"] body { font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif; }
@media(max-width:1180px) {
  .footer-grid { grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(150px,1fr)); }
  .footer-grid>div:nth-child(5),.footer-grid>div:nth-child(6) { margin-top:6px; }
  .lang-switch summary { min-width:58px; padding:0 10px; }
}
@media(max-width:980px) {
  .lang-switch { order:1; margin-left:auto; }
  .menu-toggle { order:3; margin-left:0; }
  .quote-btn { order:2; }
}
@media(max-width:680px) {
  .lang-switch summary { height:38px; min-width:52px; font-size:13.5px; padding:0 8px; }
  .lang-menu { top:45px; min-width:155px; }
  .footer-email-link { font-size:14px!important; }
}
@media(max-width:440px) {
  .lang-switch summary { min-width:48px; }
  .footer-email-link { white-space:normal; overflow-wrap:anywhere; }
}


/* v1.2.1 language/navigation cache-bust and polish */
.site-header .header-inner {
  gap:18px;
}
.lang-switch {
  position:relative;
  flex:0 0 auto;
  z-index:140;
}
.lang-switch summary {
  list-style:none;
  height:44px;
  min-width:108px;
  padding:0 13px 0 14px;
  border:1px solid #d8e4ee;
  border-radius:9px;
  background:#fff;
  color:#163653;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  font-size:14px;
  font-weight:790;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  user-select:none;
}
.lang-switch summary::-webkit-details-marker { display:none; }
.lang-switch summary::marker { content:""; }
.lang-switch summary:hover,
.lang-switch[open] summary {
  border-color:#b9d5ef;
  background:#f8fbff;
}
.lang-current-name { white-space:nowrap; }
.lang-current-code {
  display:none;
}
.lang-switch summary::after {
  content:"";
  width:6px;
  height:6px;
  margin-left:2px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  transition:transform .16s ease;
}
.lang-switch[open] summary::after {
  transform:rotate(225deg) translate(-1px,-1px);
}
.lang-menu {
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  width:206px;
  min-width:206px;
  padding:8px;
  border:1px solid #dbe5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 44px rgba(13,43,73,.16);
  z-index:200;
}
.lang-menu::before {
  content:"";
  position:absolute;
  top:-6px;
  right:25px;
  width:10px;
  height:10px;
  background:#fff;
  border-left:1px solid #dbe5ef;
  border-top:1px solid #dbe5ef;
  transform:rotate(45deg);
}
.lang-menu a {
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-height:42px;
  padding:9px 10px;
  border-radius:8px;
  color:#24445f;
  font-size:14.5px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
}
.lang-menu a:hover,
.lang-menu a[aria-current="true"] {
  background:#eef6ff;
  color:#0877ee;
}
.lang-menu small {
  flex:0 0 auto;
  color:#71869a;
  font-size:11.5px;
  font-weight:800;
}
.lang-menu a[aria-current="true"] small { color:#0877ee; }
.quote-btn { gap:8px; }
.quote-btn span { display:inline-flex; align-items:center; }

@media (max-width:1240px) and (min-width:1121px) {
  .site-header .header-inner { gap:11px; }
  .logo { min-width:205px; }
  .nav>a,.nav-label { padding-left:10px; padding-right:10px; font-size:14px; }
  .quote-btn { min-width:132px; padding-left:16px; padding-right:16px; }
  .lang-switch summary { min-width:96px; padding-left:11px; padding-right:11px; }
}
@media(max-width:1120px) {
  .lang-switch { order:1; margin-left:auto; }
  .quote-btn { order:2; }
  .menu-toggle { order:3; margin-left:0; }
  .lang-switch summary { min-width:104px; height:40px; }
  .lang-menu { top:calc(100% + 8px); }
}
@media(max-width:760px) {
  .header-inner { gap:8px; }
  .lang-switch summary {
    min-width:54px;
    width:54px;
    height:38px;
    padding:0 8px;
    justify-content:center;
  }
  .lang-current-name { display:none; }
  .lang-current-code {
    display:inline-flex;
    background:transparent;
    min-width:0;
    height:auto;
    padding:0;
    color:#173753;
    font-size:13px;
  }
  .lang-switch summary::after { margin-left:0; }
  .lang-menu { width:190px; min-width:190px; right:-42px; }
  .lang-menu::before { right:60px; }
}
@media(max-width:420px) {
  .quote-btn { min-width:auto; padding-left:10px; padding-right:10px; }
  .lang-switch summary { width:50px; min-width:50px; padding:0 6px; }
  .lang-menu { right:-44px; }
}


/* v1.2.1 language menu: avoid duplicated language codes in the dropdown */
.lang-menu a { justify-content:flex-start; padding-right:34px; }
.lang-menu a[aria-current="true"]::after {
  content:"✓";
  position:absolute;
  right:12px;
  color:#0877ee;
  font-size:14px;
  font-weight:900;
}


/* v1.2.2 hotfix: language state, readable small text, mobile header polish */
.logo small { font-size:13px; line-height:1.25; }
.eyebrow { font-size:13.5px; }
.updated { font-size:14px; }
.price-card .tag { font-size:13.5px; }
.email-address span { font-size:13.5px; }
.email-note, .legal-meta { font-size:14px!important; }
.site-footer h3, .footer-bottom { font-size:14px; }


.guide-card span { font-size:13px; }
.article-meta { font-size:14px; }
.lang-switch summary { font-size:14.5px; }
.lang-current-code { font-size:14px; }
@media(max-width:760px) {
  .logo small { font-size:12.5px; }
  .menu-toggle, .quote-btn { font-size:14px; }
  .lang-current-code { font-size:14px; }
}


/* v1.2.3 GEO/AEO refinements */
.fact-list{list-style:none;padding-left:0}
.content-meta{font-size:15px;line-height:1.55;color:#60758b;margin:8px 0 18px}
.source-note{font-size:15px;line-height:1.65;color:#526b82;margin:24px 0 0;padding:16px 18px;border:1px solid #dcebf9;border-radius:12px;background:#fff}
.source-note strong{color:#173b5d}
.source-note a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.content-meta,.source-note{font-size:15px}}

/* v1.3.0: fluid multilingual typography, navigation and direction. */
html { scroll-padding-top:110px; }
.skip-link { position:fixed; left:8px; right:auto; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.skip-link:focus { width:auto; height:auto; padding:10px 14px; clip-path:none; }
body { overflow-wrap:break-word; }
h1,h2,h3,h4 { overflow-wrap:anywhere; hyphens:auto; }
h1 { text-wrap:balance; }
.title-break { display:none; }
main,section,.wrap,.home-copy,.article-body,.article-aside,.guide-card>div,
.subhero-grid>*,.article-hero-grid>*,.footer-grid>* { min-width:0; }
.home-hero { height:auto; min-height:600px; }
.home-hero .wrap { min-height:600px; padding-top:58px; padding-bottom:58px; }
.home-copy h1 { line-height:1.16; }
.btn,.quote-btn,.category-more a { white-space:normal; text-align:center; height:auto; }
.btn { min-height:46px; }
.header-inner { gap:18px; }
.logo { flex-shrink:0; }
.nav>a,.nav-label,.menu-toggle { font-size:15px; }
.nav { margin-inline-start:auto; margin-left:0; }
.nav-label { text-align:start; }
.drop { min-width:250px; width:max-content; max-width:360px; }
.drop a { white-space:normal; font-size:15px; }
.lang-switch { flex-shrink:0; }
.lang-switch summary { font-size:15px; min-height:44px; width:auto; }
.lang-menu { width:285px; min-width:0; max-width:calc(100vw - 32px); max-height:min(70vh,560px); overflow:auto; overscroll-behavior:contain; }
.lang-menu::before { display:none; }
.lang-menu a { font-size:15px; min-height:44px; white-space:normal; padding-inline-start:16px; padding-inline-end:36px; }
.lang-menu a[aria-current="true"]::after { left:auto; right:auto; inset-inline-end:12px; }
.footer-grid { grid-template-columns:minmax(0,1.5fr) repeat(5,minmax(0,1fr)); }
.footer-email-link { white-space:normal; overflow-wrap:anywhere; }
.email-address strong { overflow-wrap:anywhere; }
.legal-card,.status-card { min-width:0; }

:lang(ja),:lang(ko),:lang(th),:lang(vi),:lang(ar),:lang(zh-Hans),:lang(zh-Hant) { letter-spacing:normal; }
:lang(ja) h1,:lang(ko) h1,:lang(th) h1,:lang(vi) h1,:lang(ar) h1 { line-height:1.3; }
:lang(th) body,:lang(ar) body { line-height:1.85; }
:lang(ko) { word-break:keep-all; overflow-wrap:anywhere; }
:lang(ja) { line-break:strict; }
html:lang(ja) body { font-family:"Yu Gothic",Meiryo,system-ui,sans-serif; }
html:lang(ko) body { font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif; }
html:lang(th) body { font-family:"Leelawadee UI",Tahoma,system-ui,sans-serif; }
html:lang(ar) body { font-family:Tahoma,"Segoe UI",Arial,sans-serif; }
[dir="rtl"] body { text-align:start; }
[dir="rtl"] .logo { align-items:flex-start; }
[dir="rtl"] .logo strong { align-self:flex-start; unicode-bidi:isolate; }
[dir="rtl"] .home-hero>img { left:0; right:auto; }
[dir="rtl"] .home-hero::before { background:linear-gradient(270deg,#fff 0%,#fff 38%,rgba(255,255,255,.92) 54%,rgba(255,255,255,0) 78%); }
[dir="rtl"] .drop { right:6px; left:auto; }
[dir="rtl"] .lang-menu { left:0; right:auto; }
[dir="rtl"] .chev { margin-left:0; margin-inline-start:7px; }
[dir="rtl"] .benefit { padding-left:0; padding-right:24px; }
[dir="rtl"] .benefit:first-child { padding-right:0; }
[dir="rtl"] .quick-item { border-right:0; border-left:1px solid #edf1f5; }
[dir="rtl"] .quick-item:last-child { border-left:0; }
[dir="rtl"] .article-body ul,[dir="rtl"] .article-body ol,[dir="rtl"] .legal-body ul { padding-left:0; padding-inline-start:24px; }
[dir="rtl"] .list li { padding-left:0; padding-inline-start:30px; }
[dir="rtl"] .list li::before { left:auto; right:0; }
[dir="rtl"] .check-list li { padding-left:0; padding-inline-start:30px; }
[dir="rtl"] .check-list li::before { left:auto; right:0; }
[dir="rtl"] .step:not(:last-child)::after { left:auto; right:55px; }
[dir="rtl"] .quote-btn span { transform:scaleX(-1); }
[dir="rtl"] .feature-list,[dir="rtl"] .faq details { text-align:start; }
[dir="rtl"] .subhero .note,[dir="rtl"] .article-callout { border-left:0; border-inline-start:4px solid var(--blue); }

[dir="rtl"] .cat-card h3,[dir="rtl"] .cat-card p { padding-right:0; padding-inline-end:22px; }
[dir="rtl"] .cat-card .arrow { right:auto; left:13px; }
[dir="rtl"] .article-meta span+span::before { margin-right:0; margin-inline-end:18px; }
[dir="rtl"] .skip-link { right:8px; left:auto; }
[dir="rtl"] .skip-link:focus { right:8px; }
/* The same compact layout is selected by JS when translated labels need room. */
.compact-header .nav { position:absolute; top:100%; left:20px; right:20px; height:auto; max-height:calc(100dvh - 120px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:12px; display:none; flex-direction:column; }
.menu-open .compact-header .nav { display:flex; }
.compact-header .nav>a,.compact-header .nav-label { height:auto; min-height:46px; padding:12px; white-space:normal; width:100%; }
.compact-header .nav-group { display:block; height:auto; }
.compact-header .drop { position:static; display:none; width:auto; max-width:none; min-width:0; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 8px 8px 20px; }
.compact-header .nav-group.open .drop { display:block; }
.compact-header .nav-group:not(.open):hover .drop { display:none; }
.compact-header .menu-toggle { display:inline-flex; order:3; min-height:44px; margin-left:0; }
.compact-header .lang-switch { order:1; margin-left:0; margin-inline-start:auto; }
.compact-header .quote-btn { order:2; }
@media(max-width:1360px) {
 .site-header .nav { position:absolute; top:100%; left:16px; right:16px; height:auto; max-height:calc(100dvh - 120px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:12px; display:none; flex-direction:column; }
 .menu-open .site-header .nav { display:flex; }
 .site-header .nav>a,.site-header .nav-label { height:auto; min-height:46px; width:100%; padding:12px; white-space:normal; }
 .site-header .nav-group { display:block; height:auto; }
 .site-header .drop { position:static; display:none; width:auto; max-width:none; min-width:0; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 8px 8px 20px; }
 .site-header .nav-group.open .drop { display:block; }
 .site-header .nav-group:not(.open):hover .drop { display:none; }
 .menu-toggle { display:inline-flex; order:3; min-height:44px; margin-left:0; }
 .lang-switch { order:1; margin-left:0; margin-inline-start:auto; }
 .quote-btn { order:2; }
 .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .footer-grid>div:first-child { grid-column:1/-1; }
 [dir="rtl"] .drop { padding:0 20px 8px 8px; }
}
@media(max-width:1120px) {
 .home-hero .wrap { padding-top:54px; padding-bottom:350px; }
 [dir="rtl"] .home-hero::before { background:linear-gradient(180deg,#fff 0,#fff 44%,rgba(255,255,255,.95) 54%,rgba(255,255,255,.08) 75%); }
 .article-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .article-aside { position:static; }
 .guide-card { grid-template-columns:minmax(0,180px) minmax(0,1fr); }
}
@media(max-width:760px) {
 .lang-current-name { display:none; }
 .lang-current-code { display:inline-flex; font-size:15px; }
 .lang-switch summary { width:auto; min-width:54px; padding:0 10px; }
 .lang-menu { position:fixed; top:calc(var(--header-height,76px) + 8px); left:auto; right:16px; width:285px; }
 [dir="rtl"] .lang-menu { right:auto; left:16px; }
 .guide-card { grid-template-columns:minmax(0,1fr); }
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .quote-btn { display:none; }
 .logo { min-width:0; }
 .logo strong { font-size:19px; }
 .home-copy h1,.subhero h1,.article-hero h1,.guide-hub-hero h1,.status-card h1 { font-size:36px; line-height:1.25; }
 .btn { font-size:16px; }
 [dir="rtl"] .benefit,[dir="rtl"] .quick-item { padding-right:0; border-left:0; }

}
@media(max-width:480px) {
 .site-header { height:auto; min-height:104px; }
 .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; padding-top:12px; padding-bottom:12px; gap:8px; }
 .header-inner .logo { grid-column:1; grid-row:1 / 3; align-self:center; }
 .header-inner .lang-switch { grid-column:2 / 4; grid-row:1; margin:0; justify-self:end; }
 .header-inner .menu-toggle { grid-column:2 / 4; grid-row:2; margin:0; justify-self:end; max-width:100%; font-size:15px; white-space:normal; }
 .footer-grid { grid-template-columns:minmax(0,1fr); }
 .wrap { width:calc(100% - 30px); }
 .cta { padding:24px; }
 .email-direct,.email-checklist-card { padding:20px; }
 .email-address strong { font-size:18px; }
}
/* Homepage workflow: a full-width introduction and four readable, equal steps. */
.home-process { padding:24px 0 64px; }
.home-process .process-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:stretch; }
.home-process .process-intro { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:8px; min-width:0; }
.home-process .process-heading { min-width:0; max-width:870px; }
.home-process .process-intro h2 { font-size:clamp(32px,3vw,40px); line-height:1.2; margin:0 0 14px; }
.home-process .process-intro .eyebrow { max-width:none; color:var(--blue); margin:0 0 10px; }
.home-process .process-intro .process-description { max-width:none; font-size:16px; line-height:1.7; margin:0; }
.home-process .process-intro .btn { flex:0 0 auto; max-width:280px; font-size:16px; }
.home-process .step { min-width:0; min-height:0; padding:24px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(180deg,#f7fbff,#fff); }
.home-process .step:not(:last-child)::after { display:none; }
.home-process .step h3 { font-size:18px; line-height:1.4; margin:0 0 12px; }
.home-process .step p { font-size:16px; line-height:1.7; color:#526b82; margin:0; }
.home-faq .faq-head { max-width:900px; }
.home-faq .section-title { font-size:clamp(32px,3vw,40px); line-height:1.2; }
.home-faq .faq-intro { color:#526b82; font-size:16px; line-height:1.7; margin:0 0 24px; }
.home-faq .faq-grid { align-items:start; }
.home-faq details summary { font-size:16px; line-height:1.6; padding-block:18px; }
.home-faq details p { font-size:16px; line-height:1.75; }
@media(max-width:1120px) {
 .home-process .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-process .process-intro { align-items:flex-start; flex-direction:column; gap:20px; }
}
@media(max-width:680px) {
 .home-process { padding:20px 0 48px; }
 .home-process .process-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .home-process .step { padding:22px; }
 .home-process .process-intro .btn { width:100%; max-width:none; }
}


/* v1.3.1: prevent footer email wrapping on wide screens. */
@media (min-width: 1181px) {
  .footer-grid {
    grid-template-columns: minmax(345px, 2fr) repeat(5, minmax(0, 1fr));
    gap: 22px;
  }
  .footer-email-link {
    white-space: nowrap;
    overflow-wrap: normal;
    font-size: 15px;
  }
}
@media (min-width: 761px) and (max-width: 1180px) {
  .footer-email-link {
    white-space: nowrap;
    overflow-wrap: normal;
  }
}
.site-footer a { font-size: 15px; }
.site-footer p { font-size: 15px; }
.footer-bottom { font-size: 14px; }
@media (max-width: 760px) {
  .footer-email-link { white-space: normal; overflow-wrap: anywhere; }
}
