:root {
  --navy: #164E63;
  --navy-deep: #103b4a;
  --navy-darker: #0a2b36;
  --green: #2F6F5E;
  --green-dark: #245748;
  --green-soft: #eaf3ef;
  --ink: #222c30;
  --muted: #617076;
  --line: #d9e3e6;
  --soft: #f4f7f8;
  --white: #fff;
  --warning: #fff8e8;
  --warning-line: #e7c76a;
  --radius: 20px;
  --shadow: 0 18px 50px rgba(13,55,69,.10);
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
fieldset { border: 0; padding: 0; margin: 0; }
legend { font-weight: 700; color: #334047; margin-bottom: 10px; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 1000; background: #fff; padding: 10px 14px; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.content-narrow { max-width: 880px; }
.section { padding: 84px 0; }
.section-soft { background: var(--soft); }
.section-dark { background: var(--navy-deep); color: #fff; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(217,227,230,.92);
}
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; min-width: 170px; text-decoration: none; }
.brand-logo { max-height: 68px; width: auto; }
.brand-fallback { display: inline-flex; align-items: baseline; font-size: 1.6rem; font-weight: 800; letter-spacing: -.05em; color: var(--navy); }
.brand-fallback strong { color: var(--green); }
.main-nav { display: flex; align-items: center; gap: 20px; }
.main-nav > a:not(.button), .nav-parent {
  text-decoration: none;
  font-size: .94rem;
  font-weight: 650;
  color: #374247;
}
.main-nav > a:not(.button):hover, .nav-parent:hover, .nav-group.open > .nav-parent,
.nav-group:focus-within > .nav-parent, .nav-active, .nav-section-active > .nav-parent { color: var(--green) !important; }
.nav-active { position: relative; }
.nav-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -10px;
  height: 2px; background: var(--green); border-radius: 2px;
}
.nav-group { position: relative; display: flex; align-items: center; }
.nav-parent { display: inline-flex; align-items: center; gap: 5px; padding: 30px 0; border: 0; background: transparent; cursor: pointer; }
.nav-chevron { display: inline-block; font-size: .72rem; transition: transform .18s ease; }
.nav-group.open > .nav-parent .nav-chevron, .nav-group:focus-within > .nav-parent .nav-chevron { transform: rotate(180deg); }
.nav-dropdown {
  position: absolute; top: calc(100% - 10px); left: -18px; width: 310px; padding: 9px;
  border: 1px solid var(--line); border-radius: 14px; background: #fff;
  box-shadow: 0 18px 45px rgba(13,55,69,.15);
  opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.nav-dropdown-wide { width: 365px; }
.nav-dropdown a { display: block; padding: 12px 13px; border-radius: 9px; text-decoration: none; }
.nav-dropdown a:hover, .nav-dropdown a:focus-visible { background: var(--soft); }
.nav-dropdown a[aria-current="page"] { background: var(--green-soft); }
.nav-dropdown strong { display: block; color: var(--navy-deep); font-size: .91rem; line-height: 1.35; }
.nav-dropdown span { display: block; margin-top: 2px; color: var(--muted); font-size: .79rem; line-height: 1.35; }
.nav-group.open > .nav-dropdown, .nav-group:focus-within > .nav-dropdown {
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
@media (hover:hover) and (pointer:fine) and (min-width:981px) {
  .nav-group:hover > .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
  .nav-group:hover > .nav-parent { color: var(--green); }
  .nav-group:hover > .nav-parent .nav-chevron { transform: rotate(180deg); }
}
.nav-toggle { display:none; border:0; background:transparent; padding:8px; }
.nav-toggle span { display:block; width:24px; height:2px; margin:5px 0; background:var(--navy); }

.button {
  display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:0 22px;
  border:0; border-radius:12px; background:var(--green); color:#fff; text-decoration:none; font-weight:750;
  cursor:pointer; box-shadow:0 8px 24px rgba(47,111,94,.18); transition:transform .18s ease, background .18s ease;
}
.button:hover { transform:translateY(-1px); background:var(--green-dark); }
.button-small { min-height:42px; padding-inline:16px; font-size:.88rem; }
.text-link { color:var(--navy); font-weight:750; text-decoration:none; }
.text-link:hover { color:var(--green); }
.email-link { display:block; margin-top:12px; color:var(--navy); font-weight:750; text-decoration:none; text-align:center; }

.eyebrow { margin:0 0 14px; color:var(--green); font-size:.78rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3 { margin-top:0; color:var(--navy-deep); line-height:1.12; letter-spacing:-.035em; }
h1 { font-size:clamp(2.55rem,5vw,4.1rem); }
.home-hero h1 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.16; }
.home-hero .home-service-title { font-size:clamp(1.3rem,2.6vw,2.45rem); line-height:1.18; }
.home-hero .home-service-title span { display:block; color:var(--navy-deep); white-space:nowrap; }
.home-hero .home-service-title span + span { margin-top:.28em; }
h1 span { color:var(--green); }
h2 { font-size:clamp(1.85rem,3.5vw,2.8rem); }
h3 { font-size:1.25rem; }
.section-dark h2,.section-dark h3 { color:#fff; }
.lead { font-size:1.08rem; color:var(--muted); }

.hero { padding:70px 0 72px; }
.hero-grid { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:44px; }
.hero-lead { max-width:760px; margin:0 0 28px; color:var(--muted); font-size:1.13rem; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.trust-line { display:flex; flex-wrap:wrap; gap:9px 20px; margin:27px 0 0; padding:0; list-style:none; color:#526066; font-size:.88rem; font-weight:650; }
.trust-line li::before { content:"✓"; color:var(--green); font-weight:900; margin-right:7px; }
.hero-visual { display:flex; align-items:center; justify-content:flex-end; }
.hero-visual img {
  display:block; width:100%; max-width:620px; height:auto; object-fit:contain;
  border-radius:24px; filter:drop-shadow(0 20px 38px rgba(16,59,74,.10));
}

.section-heading { max-width:760px; margin-bottom:36px; }
.section-heading h2 { margin-bottom:12px; }
.section-heading p { color:var(--muted); }
.home-services { padding-top:76px; }
.home-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.home-service-card {
  display:block; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff;
  color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.home-service-card:hover { transform:translateY(-3px); border-color:#b8ccc5; box-shadow:var(--shadow); }
.home-service-card > div { padding:28px; height:100%; display:flex; flex-direction:column; }
.home-service-card p { color:var(--muted); min-height:76px; }
.home-service-card .card-link { margin-top:auto; padding-top:8px; }
.service-number { display:block; margin-bottom:10px; color:var(--green); font-weight:850; font-size:.8rem; letter-spacing:.12em; }
.card-link { color:var(--green); font-weight:800; font-size:.92rem; }


.home-insurance-help { padding:0 0 34px; }
.insurance-help-panel {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:34px;
  padding:28px 30px;
  border:1px solid #cfe0db;
  border-radius:18px;
  background:var(--green-soft);
}
.insurance-help-panel h2 {
  margin:5px 0 9px;
  font-size:clamp(1.45rem,2.6vw,2rem);
}
.insurance-help-panel p { margin:0; color:var(--muted); max-width:790px; }
.mini-label {
  display:block;
  color:var(--green);
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.button-secondary {
  background:#fff;
  color:var(--green-dark);
  border:1px solid var(--green);
  box-shadow:none;
}
.button-secondary:hover { background:#f8fbfa; color:var(--green-dark); }

.insurance-case-section { padding-top:68px; }
.insurance-case-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:start;
}
.insurance-lead {
  max-width:820px;
  color:var(--muted);
  font-size:1.08rem;
}
.consumer-points {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:30px;
}
.consumer-points article {
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.consumer-points strong {
  display:block;
  margin-bottom:8px;
  color:var(--navy-deep);
}
.consumer-points p {
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.consumer-cta-row {
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px;
}
.consumer-cta-row span {
  color:var(--muted);
  font-size:.86rem;
  font-weight:650;
}
.insurance-example {
  padding:25px;
  border-radius:16px;
  background:var(--navy-deep);
  color:#d8e7eb;
}
.insurance-example h3 { color:#fff; margin:8px 0 16px; }
.insurance-example ul { padding-left:19px; }
.insurance-example li + li { margin-top:7px; }
.insurance-example p {
  margin:20px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.15);
  color:#bdcfd4;
  font-size:.84rem;
}
.conditional-fields {
  margin:6px 0 22px;
  padding:20px;
  border:1px solid #cfe0db;
  border-radius:14px;
  background:#f7fbf9;
}
.conditional-fields[hidden] { display:none; }
.conditional-title {
  margin:0 0 5px;
  color:var(--navy-deep);
  font-weight:800;
}
.conditional-help {
  margin:0 0 17px;
  color:var(--muted);
  font-size:.82rem;
}
.conditional-fields .conditional-help:last-child { margin-bottom:0; }

.home-trust { padding:0 0 16px; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.trust-strip > div { padding:22px 25px; }
.trust-strip > div + div { border-left:1px solid var(--line); }
.trust-strip strong,.trust-strip span { display:block; }
.trust-strip strong { color:var(--navy-deep); margin-bottom:5px; }
.trust-strip span { color:var(--muted); font-size:.9rem; }
.home-final-cta { padding-top:54px; }

.cta-panel {
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:38px;
  padding:36px 40px; border-radius:20px; background:var(--green-soft);
}
.cta-panel h2 { margin-bottom:10px; }
.cta-panel p:last-child { margin-bottom:0; color:var(--muted); }

.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:34px; color:#748086; font-size:.83rem; }
.breadcrumbs a { color:var(--green); text-decoration:none; }
.breadcrumbs strong { color:#4b5a60; }
.inner-hero { padding:58px 0 66px; }
.inner-hero-layout { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:52px; }
.inner-hero-copy { max-width:900px; }
.inner-hero-image { display:flex; align-items:center; justify-content:flex-end; }
.inner-hero-image img {
  display:block; width:100%; max-width:540px; height:auto; aspect-ratio:4 / 3;
  object-fit:contain; border-radius:20px; box-shadow:var(--shadow);
}

.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:60px; align-items:start; }
.content-main > h2:first-child { margin-top:0; }
.content-main p { color:var(--muted); }
.content-aside { position:sticky; top:118px; }
.aside-box { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.aside-kicker { display:block; margin-bottom:14px; color:var(--green); font-size:.76rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.aside-box ul { padding-left:20px; margin-bottom:0; }
.aside-box li + li { margin-top:8px; }

.principle { margin:30px 0; padding:23px 26px; border-left:4px solid var(--green); background:#fff; color:var(--navy-deep); font-size:1.1rem; font-weight:800; }
.accordion-list { margin-top:34px; border-top:1px solid var(--line); }
.accordion-list details,.faq-list details { border-bottom:1px solid var(--line); }
.accordion-list summary,.faq-list summary { position:relative; padding:20px 46px 20px 0; color:var(--navy-deep); font-weight:780; cursor:pointer; }
.accordion-list summary::after,.faq-list summary::after { content:"+"; position:absolute; right:8px; top:12px; color:var(--green); font-size:1.65rem; font-weight:400; }
.accordion-list details[open] summary::after,.faq-list details[open] summary::after { content:"–"; }
.accordion-list details > div { padding:0 0 20px; }
.accordion-list details > div p:first-child { margin-top:0; }
.technical-note { margin-top:28px; padding:20px 22px; border-left:4px solid var(--green); background:var(--green-soft); color:var(--muted); }
.technical-note strong { color:var(--navy-deep); }
.technical-note p { margin-bottom:0; }
.contextual-cta { padding-top:60px; }

.three-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.story-card { padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.story-label { display:block; margin-bottom:18px; color:var(--green); font-size:.78rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.story-card p { color:var(--muted); }
.story-card h2 { font-size:1.6rem; }
.statement-section { max-width:850px; }
.statement-section .button { margin-top:10px; }

.steps-large { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.steps-large article { padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.steps-large article > span { display:block; margin-bottom:24px; color:var(--green); font-weight:850; }
.steps-large h2 { font-size:1.55rem; }
.steps-large p { color:var(--muted); margin-bottom:0; }
.method-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px; }
.method-principles div { padding:18px; border-radius:14px; background:var(--soft); }
.method-principles strong,.method-principles span { display:block; }
.method-principles strong { color:var(--navy-deep); margin-bottom:5px; }
.method-principles span { color:var(--muted); font-size:.9rem; }

.process-timeline { display:grid; gap:0; max-width:900px; }
.process-timeline article { display:grid; grid-template-columns:64px 1fr; gap:20px; padding:0 0 34px; position:relative; }
.process-timeline article:not(:last-child)::before { content:""; position:absolute; left:24px; top:44px; bottom:0; width:1px; background:var(--line); }
.process-timeline article > span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--green); color:#fff; font-weight:850; z-index:1; }
.process-timeline h2 { font-size:1.5rem; margin-bottom:8px; }
.process-timeline p { margin:0; color:var(--muted); }

.specialization-page-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.specialization-page-grid p { color:#cbdde2; font-size:1.08rem; }
.expertise-list { display:flex; flex-wrap:wrap; gap:10px; align-content:start; }
.expertise-list span { padding:10px 14px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#eef6f8; }

.team-section { background:#fff; }
.team-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:center;
}
.team-image-wrap img {
  display:block; width:100%; height:auto; aspect-ratio:4 / 3;
  object-fit:cover; border-radius:18px;
}
.image-caption {
  margin:9px 0 0;
  color:var(--muted);
  font-size:.78rem;
}
.team-copy p:not(.eyebrow) { color:var(--muted); }
.team-copy h2 { margin-bottom:18px; }

.professional-accreditation {
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.accreditation-label {
  display:block;
  margin-bottom:8px;
  color:var(--green);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.professional-accreditation p {
  margin:0;
  color:var(--muted);
}

.principles-inline { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.principles-inline strong { padding:10px 14px; border-radius:10px; background:var(--green-soft); color:var(--green-dark); }

.large-faq summary { font-size:1.06rem; }
.large-faq p { color:var(--muted); margin:-2px 0 24px; }

.contact-page { background:linear-gradient(180deg,#fff 0,#f5f8f9 100%); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:62px; align-items:start; }
.contact-copy h1 { font-size:clamp(2.4rem,4.5vw,3.7rem); }
.contact-lead { color:var(--muted); font-size:1.08rem; }
.response-box { margin:26px 0; padding:20px; border-left:4px solid var(--green); background:var(--green-soft); }
.response-box strong,.response-box span { display:block; }
.response-box span { margin-top:5px; color:var(--muted); font-size:.9rem; }
.direct-contact { margin:24px 0; }
.direct-contact span,.direct-contact a,.direct-contact small { display:block; }
.direct-contact span { color:var(--muted); font-size:.88rem; }
.direct-contact a { margin-top:3px; color:var(--navy); font-size:1.15rem; font-weight:800; text-decoration:none; }
.direct-contact .direct-phone { font-size:1.28rem; }
.direct-contact small { margin-top:5px; color:var(--muted); font-size:.82rem; line-height:1.45; }
.direct-contact .telephone-hours { max-width:500px; margin-bottom:13px; }
.contact-trust { padding-left:20px; color:var(--muted); }

.contact-form { position:relative; padding:34px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow); }
.form-field { margin-bottom:20px; }
.form-row { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
label { display:block; margin-bottom:8px; font-weight:700; color:#334047; }
input,select,textarea { width:100%; border:1px solid #cbd8dc; border-radius:10px; padding:12px 13px; color:var(--ink); background:#fff; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(47,111,94,.10); }
textarea { resize:vertical; }
small,.form-legal { color:var(--muted); }
.optional { color:#7b878b; font-weight:500; }
.radio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.radio-grid label { display:flex; align-items:center; gap:8px; margin:0; padding:11px 12px; border:1px solid var(--line); border-radius:10px; font-weight:600; }
.radio-grid input { width:auto; margin:0; }
.check { display:grid; grid-template-columns:20px 1fr; align-items:start; gap:10px; margin:6px 0 22px; font-weight:500; font-size:.9rem; }
.check input { width:18px; height:18px; margin-top:3px; }
.check a { color:var(--navy); }
.form-submit { width:100%; }
.form-legal { font-size:.8rem; margin-top:16px; }
.form-status { margin:12px 0 0; font-weight:700; }
.honeypot { position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.result-page { min-height:68vh; display:grid; align-items:center; }
.result-card { padding:38px; border:1px solid var(--line); border-radius:20px; background:#fff; text-align:center; }
.result-card p { color:var(--muted); }
.result-card.success { border-top:4px solid var(--green); }
.reference-line { padding:10px; border-radius:10px; background:var(--soft); color:var(--navy-deep)!important; font-weight:800; }

.legal-page h1 { font-size:clamp(2.3rem,4.5vw,3.6rem); }
.legal-page h2 { margin-top:38px; font-size:1.55rem; }
.legal-page p { color:var(--muted); }
.legal-warning { margin:26px 0; padding:17px 19px; border:1px solid var(--warning-line); border-radius:12px; background:var(--warning); color:#6d5a20; }

.site-footer { padding:58px 0 22px; background:var(--navy-darker); color:#bbd0d6; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,.8fr); gap:36px; }
.footer-grid strong { display:block; margin-bottom:12px; color:#fff; }
.footer-grid a { display:block; width:fit-content; margin:8px 0; color:#bbd0d6; text-decoration:none; }
.footer-grid a:hover { color:#fff; }
.footer-phone,.footer-email { font-weight:750; color:#fff!important; }
.footer-phone { margin-bottom:2px; }
.footer-brand span { color:#fff; }
.footer-brand strong { color:#7fb7a8; margin:0; }
.footer-bottom { margin-top:46px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:18px; font-size:.8rem; }

@media (max-width:1080px) {
  .main-nav { gap:14px; }
  .main-nav > a:not(.button),.nav-parent { font-size:.88rem; }
}
@media (max-width:980px) {
  .insurance-help-panel,
  .insurance-case-grid { grid-template-columns:1fr; }
  .consumer-points { grid-template-columns:1fr; }
  .insurance-example { max-width:720px; }
}

@media (max-width:980px) {
  .team-grid { grid-template-columns:1fr; }

  .main-nav {
    position:absolute; top:88px; left:0; right:0; display:none; flex-direction:column; align-items:stretch;
    gap:0; max-height:calc(100vh - 88px); overflow-y:auto; background:#fff; border-bottom:1px solid var(--line); padding:12px 20px 22px;
  }
  .main-nav.open { display:flex; }
  .main-nav > a:not(.button) { padding:13px 4px; }
  .main-nav .button { margin-top:10px; }
  .nav-group { display:block; width:100%; border-bottom:1px solid var(--line); }
  .nav-parent { width:100%; justify-content:space-between; padding:13px 4px; text-align:left; }
  .nav-dropdown,.nav-dropdown-wide {
    position:static; width:100%; padding:0 0 10px 8px; border:0; border-radius:0; box-shadow:none;
    opacity:1; visibility:visible; transform:none; pointer-events:auto; display:none;
  }
  .nav-group.open > .nav-dropdown { display:block; }
  .nav-group:focus-within > .nav-dropdown { display:none; }
  .nav-group.open:focus-within > .nav-dropdown { display:block; }
  .nav-dropdown a { padding:10px 11px; }
  .nav-active::after { display:none; }
  .nav-toggle { display:block; }

  .hero-grid,.inner-hero-layout,.content-grid,.contact-grid,.specialization-page-grid { grid-template-columns:1fr; }
  .home-service-grid,.three-story-grid,.steps-large { grid-template-columns:1fr; }
  .home-service-card p { min-height:0; }
  .trust-strip { grid-template-columns:1fr; }
  .trust-strip > div + div { border-left:0; border-top:1px solid var(--line); }
  .content-aside { position:static; }
  .method-principles { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .insurance-help-panel { padding:24px 20px; }
  .insurance-help-panel .button,
  .consumer-cta-row .button { width:100%; }
}

@media (max-width:680px) {
  .container { width:min(calc(100% - 28px),var(--container)); }
  .section { padding:64px 0; }
  .hero { padding-top:48px; }
  h1 { font-size:clamp(2.25rem,11vw,3.15rem); }
  h2 { font-size:clamp(1.75rem,8vw,2.35rem); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; }
  .hero-actions .text-link { text-align:center; padding:6px 0; }
  .trust-line { display:grid; gap:8px; }
  .cta-panel { grid-template-columns:1fr; padding:28px 24px; }
  .cta-panel .button { width:100%; }
  .form-row,.radio-grid,.footer-grid { grid-template-columns:1fr; }
  .contact-form { padding:24px 18px; }
  .footer-bottom { flex-direction:column; }
  .process-timeline article { grid-template-columns:52px 1fr; gap:14px; }
}

/* V5.1 approved conversion improvements */
.credential-strip { padding:0 0 24px; }
.credential-inner {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:18px 22px; border:1px solid var(--line); border-radius:14px; background:#fff;
}
.credential-inner p { margin:4px 0 0; color:var(--muted); font-size:.91rem; }
.credential-inner p strong { color:var(--navy-deep); }
.faq-section-heading { margin:38px 0 16px; }
.faq-section-heading h2 { margin:4px 0 8px; }
.faq-section-heading > p:last-child { max-width:760px; margin:0; color:var(--muted); }
.compact-heading { margin-top:34px; }
.problem-card-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px 0 8px;
}
.problem-card { padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.problem-card > span { display:block; margin-bottom:8px; color:var(--green); font-size:.72rem; font-weight:850; letter-spacing:.09em; }
.problem-card h3 { margin:0 0 8px; font-size:1.02rem; }
.problem-card p { margin:0; color:var(--muted); font-size:.9rem; }
@media (max-width:980px) {
  .hero-visual,.inner-hero-image { justify-content:center; }
  .hero-visual img { max-width:720px; }
  .inner-hero-image img { max-width:620px; }
}
@media (max-width:760px) {
  .credential-inner { flex-direction:column; align-items:flex-start; }
  .problem-card-grid { grid-template-columns:1fr; }
}


/* V5.2 — progressive meteorology form */
.conditional-subsection {
  margin-top:18px;
}
.conditional-subsection[hidden] {
  display:none;
}
.conditional-subsection-nested {
  padding-top:18px;
  border-top:1px solid #d9e5e1;
}



/* V5.2.2 — insured and insurer subsections */
.audience-section {
  padding-top:68px;
}
.audience-heading {
  max-width:880px;
  margin-bottom:30px;
}
.audience-heading h2 {
  margin:8px 0 12px;
}
.audience-heading > p:last-child {
  color:var(--muted);
  font-size:1.03rem;
}
.audience-accordions {
  display:grid;
  gap:18px;
}
.audience-accordion {
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.audience-accordion > summary {
  position:relative;
  display:grid;
  gap:7px;
  padding:24px 64px 24px 26px;
  cursor:pointer;
  background:#fff;
}
.audience-accordion > summary::after {
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  color:var(--green);
  font-size:2rem;
  font-weight:350;
  line-height:1;
}
.audience-accordion[open] > summary::after {
  content:"–";
}
.audience-accordion[open] > summary {
  border-bottom:1px solid var(--line);
}
.audience-role {
  color:var(--green);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.audience-question {
  color:var(--navy-deep);
  font-size:clamp(1.18rem,2.2vw,1.48rem);
  font-weight:820;
  line-height:1.25;
}
.audience-intro {
  max-width:850px;
  color:var(--muted);
  font-size:.94rem;
  font-weight:500;
}
.audience-panel {
  padding:30px 26px 28px;
}
.insurer-content-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:start;
}
.insurer-needs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.insurer-needs article {
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.insurer-needs strong {
  display:block;
  margin-bottom:8px;
  color:var(--navy-deep);
}
.insurer-needs p {
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.insurer-note {
  padding:25px;
  border-radius:16px;
  background:var(--navy-deep);
  color:#d8e7eb;
}
.insurer-note h3 {
  margin:8px 0 14px;
  color:#fff;
}
.insurer-note p {
  color:#d8e7eb;
}
@media (max-width:900px) {
  .insurer-content-grid {
    grid-template-columns:1fr;
    gap:26px;
  }
}
@media (max-width:760px) {
  .audience-accordion > summary {
    padding:21px 54px 21px 20px;
  }
  .audience-accordion > summary::after {
    right:19px;
  }
  .audience-panel {
    padding:24px 20px;
  }
  .insurer-needs {
    grid-template-columns:1fr;
  }
}

.field-help {
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}


/* V5.3 — private statistics panel */
.admin-body { background:#f3f6f6; color:var(--text); }
.admin-shell { width:min(1180px, calc(100% - 32px)); margin:0 auto; padding:38px 0 70px; }
.admin-header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:24px; }
.admin-header h1 { margin:4px 0 6px; font-size:clamp(2rem,4vw,3rem); }
.admin-header p { margin:0; color:var(--muted); }
.admin-link-button { border:0; background:transparent; color:var(--green); font:inherit; font-weight:800; cursor:pointer; padding:8px 0; }
.admin-periods { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0 14px; }
.admin-periods a { padding:8px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--navy); text-decoration:none; font-size:.9rem; font-weight:750; }
.admin-periods a.active { background:var(--navy-deep); color:#fff; border-color:var(--navy-deep); }
.admin-custom-period { display:flex; gap:10px; align-items:end; flex-wrap:wrap; padding:14px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.admin-custom-period label { display:grid; gap:5px; font-size:.82rem; color:var(--muted); font-weight:700; }
.admin-custom-period input { min-height:39px; }
.button-small { min-height:39px; padding:8px 15px; }
.admin-range { margin:11px 2px 22px; color:var(--muted); font-size:.87rem; }
.admin-range a { color:var(--green); font-weight:800; }
.admin-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0; }
.admin-metrics article { background:#fff; border:1px solid var(--line); border-radius:16px; padding:21px; }
.admin-metrics span,.admin-status-card span { display:block; color:var(--muted); font-size:.82rem; font-weight:750; }
.admin-metrics strong { display:block; margin-top:8px; color:var(--navy-deep); font-size:2rem; }
.admin-metrics small { display:block; margin-top:5px; color:var(--muted); }
.admin-funnel,.admin-card,.admin-status-card,.admin-owner-note { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; margin-bottom:18px; }
.admin-funnel h2,.admin-card h2,.admin-owner-note h2 { margin:0 0 18px; font-size:1.18rem; }
.admin-funnel-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:14px; }
.admin-funnel-grid > div:not(.admin-arrow) { background:var(--soft); border-radius:14px; padding:18px; }
.admin-funnel-grid span { display:block; color:var(--muted); font-size:.8rem; font-weight:700; }
.admin-funnel-grid strong { display:block; margin-top:5px; color:var(--navy-deep); font-size:1.5rem; }
.admin-arrow { color:var(--green); font-size:1.4rem; font-weight:900; }
.admin-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.admin-grid-2 .admin-card { margin-bottom:0; }
.admin-ranking { display:grid; gap:13px; }
.admin-rank-label { display:flex; justify-content:space-between; gap:12px; align-items:baseline; font-size:.9rem; }
.admin-rank-label span { overflow-wrap:anywhere; }
.admin-rank-label strong { color:var(--navy-deep); }
.admin-ranking progress { width:100%; height:8px; border:0; border-radius:99px; overflow:hidden; accent-color:var(--green); }
.admin-empty,.admin-muted { color:var(--muted); font-size:.9rem; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.admin-table th,.admin-table td { padding:11px 10px; border-bottom:1px solid var(--line); text-align:left; }
.admin-table th { color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; }
.admin-status-card { display:grid; grid-template-columns:1fr 1fr; gap:24px; background:var(--navy-deep); color:#fff; }
.admin-status-card strong { display:block; margin-top:7px; color:#fff; }
.admin-status-card span { color:#c7d8dc; }
.admin-owner-note code { padding:2px 5px; border-radius:5px; background:var(--soft); color:var(--navy-deep); }
.admin-login-wrap { min-height:100vh; display:grid; place-items:center; padding:24px; }
.admin-login-card { width:min(460px,100%); background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px; box-shadow:0 18px 50px rgba(14,48,58,.08); }
.admin-login-card h1 { margin:6px 0 22px; }
.admin-login-form { display:grid; gap:10px; }
.admin-login-form input { width:100%; min-height:46px; }
.admin-login-form .button { margin-top:5px; }
.admin-alert { padding:12px 14px; margin:0 0 16px; border-radius:10px; background:#fff3cd; color:#5e4a00; font-size:.9rem; }
.admin-alert-error { background:#fdeaea; color:#7a2020; }

@media (max-width:780px) {
  .admin-metrics,.admin-grid-2,.admin-status-card { grid-template-columns:1fr; }
  .admin-header { display:grid; }
  .admin-funnel-grid { grid-template-columns:1fr; }
  .admin-arrow { transform:rotate(90deg); justify-self:center; }
}


/* V5.4 — conversion, SEO structure and long-form readability */
.audience-shortcuts {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:-8px 0 24px;
}
.audience-shortcut {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 15px;
  border:1px solid #bfd5ce;
  border-radius:999px;
  background:#fff;
  color:var(--green-dark);
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.audience-shortcut:hover,
.audience-shortcut:focus-visible {
  background:var(--green-soft);
  border-color:var(--green);
  transform:translateY(-1px);
}
#afectados,
#profesionales,
#asegurados,
#aseguradoras,
.faq-group {
  scroll-margin-top:116px;
}
.faq-crosslink {
  margin-top:18px;
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.faq-crosslink p { margin:0; color:var(--muted); }
.faq-crosslink a { color:var(--green-dark); font-weight:800; text-decoration:none; }
.faq-crosslink a:hover { text-decoration:underline; }

.service-deliverable {
  margin:34px 0;
  padding:26px;
  border:1px solid #cfe0db;
  border-radius:18px;
  background:#fff;
}
.service-deliverable h2 {
  margin:4px 0 12px;
  font-size:clamp(1.5rem,2.6vw,2.05rem);
}
.deliverable-intro {
  margin:0 0 18px;
  color:var(--muted);
}
.deliverable-list {
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.deliverable-list li {
  position:relative;
  padding-left:26px;
  color:#48565c;
}
.deliverable-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--green);
  font-weight:900;
}
.deliverable-list strong { color:var(--navy-deep); }
.deliverable-note {
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.92rem;
}

.faq-category-nav {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:42px;
}
.faq-category-nav a {
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--navy-deep);
  text-decoration:none;
  font-size:.88rem;
  font-weight:750;
}
.faq-category-nav a:hover,
.faq-category-nav a:focus-visible {
  border-color:var(--green);
  color:var(--green-dark);
}
.faq-group + .faq-group { margin-top:54px; }
.faq-group h2 { margin:4px 0 9px; font-size:clamp(1.55rem,2.8vw,2.15rem); }
.faq-group-intro { margin:0 0 18px; color:var(--muted); }

.prose-justify {
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

@media (max-width:680px) {
  .prose-justify { text-align:left; }
  .audience-shortcuts { display:grid; grid-template-columns:1fr; }
  .audience-shortcut { justify-content:center; }
  .service-deliverable { padding:22px 19px; }
}


/* V5.5 — language selector and simplified commercial payment display */
.language-switcher{display:flex;align-items:center;gap:3px;margin-left:auto;margin-right:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap}
.language-switcher a{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 7px;border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:800;text-decoration:none}
.language-switcher a:hover,.language-switcher a:focus-visible{background:var(--soft);color:var(--navy-deep)}
.language-switcher a[aria-current="page"]{background:var(--navy-deep);color:#fff}
.language-flag{font-size:1rem;line-height:1}.language-code{letter-spacing:.03em}
.language-flag-ca{width:16px;height:11px;border-radius:1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.09);background:repeating-linear-gradient(to bottom,#f3d11d 0 1.3px,#b31226 1.3px 2.5px,#f3d11d 2.5px 3.8px)}
.guarantee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.guarantee-card{display:flex;gap:11px;align-items:flex-start;min-height:108px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.guarantee-card>span{color:var(--green);font-weight:900}.guarantee-card strong{color:var(--navy-deep);line-height:1.45}.section-heading-compact{max-width:760px;margin-bottom:22px}
@media(max-width:1000px){.header-inner{flex-wrap:wrap}.language-switcher{order:2;margin-left:auto}.nav-toggle{order:3}.main-nav{order:4;width:100%}.guarantee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.language-switcher{margin-left:auto}.language-switcher a{padding:3px 6px}.guarantee-grid{grid-template-columns:1fr}.guarantee-card{min-height:auto}}


/* V5.5.2 — selector de idioma discreto y desplegable */
.language-menu {
  position:relative;
  flex:0 0 auto;
  margin-left:0;
  z-index:80;
}
.language-menu > summary {
  list-style:none;
}
.language-menu > summary::-webkit-details-marker {
  display:none;
}
.language-current {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:3px 5px;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
  opacity:.82;
}
.language-current:hover,
.language-current:focus-visible,
.language-menu[open] .language-current {
  color:var(--navy-deep);
  opacity:1;
}
.language-icon {
  font-size:.9rem;
  line-height:1;
  opacity:.7;
}
.language-flag {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:1rem;
  line-height:1;
}
.language-code {
  letter-spacing:.03em;
}
.language-flag-ca {
  width:16px;
  height:11px;
  border-radius:1px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.09);
  background:repeating-linear-gradient(
    to bottom,
    #f3d11d 0 1.3px,
    #b31226 1.3px 2.5px,
    #f3d11d 2.5px 3.8px
  );
}
.language-options {
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  min-width:84px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(13,55,69,.13);
  opacity:0;
  visibility:hidden;
  transform:translateY(-3px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.language-options a {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:5px 8px;
  border-radius:7px;
  color:var(--muted);
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.language-options a:hover,
.language-options a:focus-visible {
  background:var(--soft);
  color:var(--navy-deep);
}
.language-menu:hover .language-options,
.language-menu:focus-within .language-options,
.language-menu[open] .language-options {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* En escritorio, navegación y selector quedan alineados a la derecha. */
@media (min-width:1001px) {
  .header-inner {
    justify-content:flex-start;
  }
  .main-nav {
    margin-left:auto;
  }
  .language-menu {
    margin-left:8px;
  }
}

/* En móvil: menú hamburguesa antes y selector de idioma al extremo derecho. */
@media (max-width:1000px) {
  .brand { order:1; }
  .nav-toggle { order:2; margin-left:auto; }
  .language-menu { order:3; margin-left:2px; }
  .main-nav { order:4; width:100%; margin-left:0; }
}


/* V5.5.3 — banderas gráficas, sin emoji/códigos ES-GB duplicados */
.language-flag-graphic {
  display:inline-block;
  width:18px;
  height:12px;
  flex:0 0 18px;
  border-radius:2px;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);
  font-size:0;
  line-height:0;
}
.language-flag-es {
  background:linear-gradient(to bottom,
    #aa151b 0 25%,
    #f1bf00 25% 75%,
    #aa151b 75% 100%);
}
.language-flag-gb {
  position:relative;
  background:
    linear-gradient(33deg, transparent 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57%),
    linear-gradient(-33deg, transparent 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57%),
    linear-gradient(to right, transparent 38%, #fff 38% 44%, #c8102e 44% 56%, #fff 56% 62%, transparent 62%),
    linear-gradient(to bottom, transparent 32%, #fff 32% 40%, #c8102e 40% 60%, #fff 60% 68%, transparent 68%),
    #012169;
}
.language-flag-ca {
  background:repeating-linear-gradient(
    to bottom,
    #f3d11d 0 1.35px,
    #b31226 1.35px 2.7px
  );
}


/* V5.5.4 — interacción final del selector de idioma */
@media (hover:hover) and (pointer:fine) {
  .language-menu:hover .language-options,
  .language-menu:focus-within .language-options {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
}

/* En dispositivos sin hover, el desplegable depende del toque sobre <summary>. */
@media (hover:none), (pointer:coarse) {
  .language-menu:not([open]) .language-options {
    opacity:0;
    visibility:hidden;
    transform:translateY(-3px);
    pointer-events:none;
  }
  .language-menu[open] .language-options {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
}


/* V5.5.6 — selector de idioma robusto: hover en escritorio, toque en móvil */
.language-menu {
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  z-index:90;
}

.language-menu .language-current {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:3px 5px;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
  opacity:.82;
}

.language-menu .language-current:hover,
.language-menu .language-current:focus-visible,
.language-menu.is-open .language-current {
  color:var(--navy-deep);
  opacity:1;
}

.language-menu .language-options {
  position:absolute;
  top:100%;
  right:0;
  min-width:86px;
  padding:8px 5px 5px;
  margin:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(13,55,69,.13);
  opacity:0;
  visibility:hidden;
  transform:translateY(-2px);
  pointer-events:none;
  transition:opacity .13s ease, transform .13s ease, visibility .13s ease;
}

/* El padding superior crea un puente continuo entre el idioma activo y el menú. */
.language-menu .language-options::before {
  content:"";
  position:absolute;
  top:-7px;
  left:0;
  right:0;
  height:8px;
}

.language-menu .language-options a {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:5px 8px;
  border-radius:7px;
  color:var(--muted);
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}

.language-menu .language-options a:hover,
.language-menu .language-options a:focus-visible {
  background:var(--soft);
  color:var(--navy-deep);
}

/* Escritorio: NO requiere clic. El menú sigue visible al mover el cursor a las opciones. */
@media (hover:hover) and (pointer:fine) {
  .language-menu:hover .language-options,
  .language-menu:focus-within .language-options {
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
}

/* Táctil y apertura explícita por accesibilidad/clic. */
.language-menu.is-open .language-options {
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}


/* V5.5.10 — Especialización: el bloque de conocimiento deja de parecer un cierre de página */
.specialization-knowledge-section {
  background:#fff;
  padding:46px 0 18px;
}

.specialization-knowledge-card {
  position:relative;
  overflow:hidden;
  padding:52px 56px;
  border-radius:24px;
  background:var(--navy-deep);
  color:#fff;
  box-shadow:0 18px 46px rgba(13,55,69,.12);
}

/* Un detalle muy sutil evita el aspecto de pre-footer sin competir con el contenido. */
.specialization-knowledge-card::after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:270px;
  height:270px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

.specialization-knowledge-card h2,
.specialization-knowledge-card h3 {
  color:#fff;
}

.specialization-knowledge-card .specialization-page-grid p {
  color:#cbdde2;
}

.specialization-knowledge-card .expertise-list span {
  border-color:rgba(255,255,255,.22);
  color:#eef6f8;
}

/* La siguiente sección aparece antes y deja clara la continuidad de la página. */
.specialization-knowledge-section + .team-section {
  padding-top:46px;
}

@media (max-width:760px) {
  .specialization-knowledge-section {
    padding:30px 0 10px;
  }
  .specialization-knowledge-card {
    padding:34px 24px;
    border-radius:18px;
  }
  .specialization-knowledge-section + .team-section {
    padding-top:36px;
  }
}

/* V6.0 — acceso discreto al Área de clientes */
.client-area-link{display:inline-flex;align-items:center;gap:6px;margin-left:7px;padding:5px 7px;border-radius:8px;color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap;text-decoration:none;opacity:.82}.client-area-link:hover,.client-area-link:focus-visible{color:var(--navy-deep);background:var(--soft);opacity:1;text-decoration:none}.client-area-icon{width:15px;height:15px;border:1.5px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0;position:relative}.client-area-icon:after{content:"";position:absolute;left:2px;right:2px;bottom:-5px;height:6px;border:1.5px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0;background:#fff}@media(max-width:1000px){.client-area-link{order:3;margin-left:2px}.language-menu{order:4}.main-nav{order:5}}@media(max-width:620px){.client-area-link span:last-child{display:none}.client-area-link{padding:5px}}

/* RC4 — recommended-but-optional fields */
.field-advice{margin:.75rem 0 1rem;padding:.8rem 1rem;border-left:3px solid #b98a2f;background:#fbf7ec;color:#4c4a42;border-radius:8px;font-size:.92rem;line-height:1.55}.field-advice strong{color:#745516}

.client-area-icon-svg{width:18px;height:18px;display:block;flex:0 0 18px}

/* RC5.14 · identificación visual de parcelas en solicitudes técnicas */
.parcel-verify-actions{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap;margin:.35rem 0 1rem}.parcel-verify-actions .field-help{flex:1 1 280px;margin:0}.parcel-verification{border:1px solid #cddadd;border-radius:14px;background:#f7faf9;padding:1rem;margin:.75rem 0 1.25rem}.parcel-verification-status{font-weight:650;color:#123f51;line-height:1.45;margin-bottom:.75rem}.parcel-verification img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:10px;border:1px solid #d8e2e4;background:#eef3f4}.parcel-confirmation-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.85rem}.button-secondary{background:#fff;color:#123f51;border:1px solid #9db3ba}.button-secondary:hover{background:#eef5f3}.conditional-fields[hidden],.conditional-subsection[hidden],#rural-location-fields[hidden],#urban-location-fields[hidden],#location-mode-field[hidden]{display:none!important}
