/* ================================================================
   servicios.css — Services page styles
   ================================================================ */

/* ── SERVICES DETAIL GRID ── */
.services-detail { background: var(--gbg); padding: 56px 40px; }
.services-detail-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px; max-width: 1280px; margin: 0 auto;
}

/* ── SERVICE DETAIL CARD ── */
.sdetail-card {
  background: var(--white); border: 1.5px solid var(--gray);
  border-radius: 14px; overflow: hidden;
  transition: transform .28s, box-shadow .28s;
  display: flex; flex-direction: column;
}
.sdetail-card:hover { transform: translateY(-5px); box-shadow: 0 18px 48px rgba(0,48,135,.13); }
.sdetail-img { width: 100%; height: 200px; object-fit: cover; display: block; }
.sdetail-img-placeholder {
  width: 100%; height: 200px; display: flex; align-items: center; justify-content: center;
  font-size: 56px; background: linear-gradient(135deg, var(--sky), #c8d8f0);
}
.sdetail-body { padding: 24px 26px 26px; flex: 1; display: flex; flex-direction: column; }
.sdetail-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sdetail-icon { width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 26px; flex-shrink: 0; }
.sd-c1 .sdetail-icon { background: #E8EEF9; } .sd-c2 .sdetail-icon { background: #E6F6FB; }
.sd-c3 .sdetail-icon { background: #E6F1FA; } .sd-c4 .sdetail-icon { background: #FFF0E6; }
.sd-c5 .sdetail-icon { background: #F3EAF9; } .sd-c6 .sdetail-icon { background: #E8F5E9; }
.sd-c7 .sdetail-icon { background: #E8EEF9; } .sd-c8 .sdetail-icon { background: #E6F1FA; }
.sdetail-title h3 { font-family: 'Bebas Neue', sans-serif; font-size: 26px; letter-spacing: 1px; color: var(--navy); line-height: 1; }
.sdetail-tag { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; margin-top: 3px; }
.sd-c1 .sdetail-tag { color: var(--navy); }  .sd-c2 .sdetail-tag { color: var(--acc2); }
.sd-c3 .sdetail-tag { color: var(--blue); }  .sd-c4 .sdetail-tag { color: var(--orange); }
.sd-c5 .sdetail-tag { color: #6A0DAD; }      .sd-c6 .sdetail-tag { color: #2E7D32; }
.sd-c7 .sdetail-tag { color: var(--navy); }  .sd-c8 .sdetail-tag { color: var(--blue); }

.sdetail-body > p { font-size: 13px; color: var(--soft); line-height: 1.80; margin-bottom: 16px; }
.sdetail-list { list-style: none; border-top: 1.5px solid var(--gray); padding-top: 14px; margin-bottom: 20px; flex: 1; }
.sdetail-list li { font-size: 13px; color: var(--soft); padding: 5px 0 5px 20px; position: relative; border-bottom: 1px solid var(--gbg); }
.sdetail-list li:last-child { border-bottom: none; }
.sdetail-list li::before { content: '✓'; position: absolute; left: 0; font-weight: 700; font-size: 11px; top: 6px; }
.sd-c1 .sdetail-list li::before { color: var(--navy); }  .sd-c2 .sdetail-list li::before { color: var(--acc2); }
.sd-c3 .sdetail-list li::before { color: var(--blue); }  .sd-c4 .sdetail-list li::before { color: var(--orange); }
.sd-c5 .sdetail-list li::before { color: #6A0DAD; }      .sd-c6 .sdetail-list li::before { color: #2E7D32; }
.sd-c7 .sdetail-list li::before { color: var(--navy); }  .sd-c8 .sdetail-list li::before { color: var(--blue); }

.sdetail-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }
.sdetail-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  text-decoration: none; padding: 9px 16px; border-radius: 6px; border: 2px solid;
  cursor: pointer; font-family: 'Outfit', sans-serif; background: transparent;
  transition: all .2s;
}
.sdetail-btn-appt { background: var(--orange) !important; color: #fff !important; border-color: var(--orange) !important; }
.sdetail-btn-appt:hover { background: #D45A00 !important; border-color: #D45A00 !important; }

/* ── NOTE CARD (no attorneys) ── */
.note-card {
  background: #FFF8E1; border: 1.5px solid #FFD54F; border-radius: 10px;
  padding: 16px 20px; margin-top: 14px; font-size: 13px; color: #5D4037;
  line-height: 1.7;
}
.note-card strong { display: block; margin-bottom: 4px; color: #3E2723; }

/* ── APOSTILLE / NOTARY DETAIL (2-column layout) ── */
.detail-split { background: var(--white); padding: 72px 40px; }
.detail-split-inner {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
}
.detail-split-inner.reverse { direction: rtl; }
.detail-split-inner.reverse > * { direction: ltr; }
.detail-split img { width: 100%; height: 340px; object-fit: cover; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,48,135,.12); }
.detail-split-txt .ds-label { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--blmid); font-weight: 700; margin-bottom: 10px; }
.detail-split-txt h3 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(28px, 4vw, 40px); color: var(--navy); letter-spacing: 1px; margin-bottom: 14px; line-height: 1.05; }
.detail-split-txt p  { font-size: 14px; color: var(--soft); line-height: 1.80; margin-bottom: 14px; }
.detail-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 20px; }
.dfeat { display: flex; align-items: flex-start; gap: 8px; }
.dfeat .dot { width: 6px; height: 6px; background: var(--navy); border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
.dfeat p { font-size: 13px; color: var(--soft); margin: 0; line-height: 1.45; }

/* ── ACCORDION (mobile-friendly service details) ── */
.accord-item { border: 1.5px solid var(--gray); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.accord-trigger {
  width: 100%; text-align: left; padding: 18px 22px;
  background: var(--white); border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--navy);
  transition: background .2s;
}
.accord-trigger:hover { background: var(--sky); }
.accord-trigger .accord-ico { font-size: 22px; margin-right: 12px; }
.accord-trigger .accord-arrow { font-size: 18px; color: var(--gmid); transition: transform .25s; flex-shrink: 0; }
.accord-item.open .accord-trigger .accord-arrow { transform: rotate(180deg); }
.accord-body { display: none; padding: 0 22px 22px; background: var(--white); }
.accord-item.open .accord-body { display: block; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .services-detail { padding: 40px 20px; }
  .detail-split { padding: 48px 24px; }
  .detail-split-inner { grid-template-columns: 1fr; gap: 24px; }
  .detail-split-inner.reverse { direction: ltr; }
  .detail-split img { height: 260px; }
  .detail-feats { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .services-detail-grid { grid-template-columns: 1fr; gap: 16px; }
  .sdetail-img { height: 160px; }
}

/* ── SERVICES OVERVIEW GRID (servicios.html index) ── */
.services-overview { background: var(--gbg); padding: 56px 40px; }
.services-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
}
.sovcard {
  background: var(--white);
  border: 1.5px solid var(--gray);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .25s, box-shadow .25s;
  text-decoration: none;
  color: inherit;
}
.sovcard:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,48,135,.12); }
.sovcard-img { width: 100%; height: 180px; object-fit: cover; display: block; }
.sovcard-img-placeholder {
  width: 100%; height: 180px;
  display: flex; align-items: center; justify-content: center;
  font-size: 52px;
}
.sov-c1 .sovcard-img-placeholder { background: linear-gradient(135deg,#E8EEF9,#c8d4f0); }
.sov-c2 .sovcard-img-placeholder { background: linear-gradient(135deg,#E6F6FB,#b8e4f5); }
.sov-c3 .sovcard-img-placeholder { background: linear-gradient(135deg,#E6F1FA,#c0d8f4); }
.sov-c4 .sovcard-img-placeholder { background: linear-gradient(135deg,#FFF0E6,#ffd4b0); }
.sov-c5 .sovcard-img-placeholder { background: linear-gradient(135deg,#F3EAF9,#dfc8f5); }
.sov-c6 .sovcard-img-placeholder { background: linear-gradient(135deg,#E8F5E9,#b8e8bc); }
.sovcard-body { padding: 22px 22px 20px; flex: 1; display: flex; flex-direction: column; }
.sovcard-top { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.sovcard-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.sov-c1 .sovcard-icon { background: #E8EEF9; }
.sov-c2 .sovcard-icon { background: #E6F6FB; }
.sov-c3 .sovcard-icon { background: #E6F1FA; }
.sov-c4 .sovcard-icon { background: #FFF0E6; }
.sov-c5 .sovcard-icon { background: #F3EAF9; }
.sov-c6 .sovcard-icon { background: #E8F5E9; }
.sovcard-name { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 1px; color: var(--navy); line-height: 1; }
.sovcard-tag { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; margin-top: 2px; }
.sov-c1 .sovcard-tag { color: var(--navy); }
.sov-c2 .sovcard-tag { color: #0097B2; }
.sov-c3 .sovcard-tag { color: var(--blue); }
.sov-c4 .sovcard-tag { color: var(--orange); }
.sov-c5 .sovcard-tag { color: #6A0DAD; }
.sov-c6 .sovcard-tag { color: #2E7D32; }
.sovcard-desc { font-size: 13px; color: var(--soft); line-height: 1.7; margin-bottom: 18px; flex: 1; }
.sovcard-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  color: var(--navy); text-decoration: none;
  border-top: 1.5px solid var(--gray); padding-top: 14px; margin-top: auto;
  transition: color .2s;
}
.sovcard:hover .sovcard-link { color: var(--orange); }

/* ── INDIVIDUAL SERVICE PAGE ── */
.srv-hero {
  padding: 52px 40px 44px;
  position: relative;
  overflow: hidden;
}
.srv-c1 { background: linear-gradient(135deg, #003087 0%, #1a4f9f 100%); }
.srv-c2 { background: linear-gradient(135deg, #007EA6 0%, #0097B2 100%); }
.srv-c3 { background: linear-gradient(135deg, #0055AA 0%, #0066CC 100%); }
.srv-c4 { background: linear-gradient(135deg, #CC4400 0%, #FF6B00 100%); }
.srv-c5 { background: linear-gradient(135deg, #5B0099 0%, #8B2FC9 100%); }
.srv-c6 { background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 100%); }
.srv-hero-inner { max-width: 900px; margin: 0 auto; }
.srv-breadcrumb {
  font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,.55); margin-bottom: 20px;
}
.srv-breadcrumb a { color: rgba(255,255,255,.70); text-decoration: none; }
.srv-breadcrumb a:hover { color: #fff; }
.srv-hero-top { display: flex; align-items: center; gap: 20px; margin-bottom: 16px; }
.srv-hero-icon { font-size: 52px; }
.srv-hero h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(36px, 5vw, 58px);
  color: #fff;
  letter-spacing: 2px;
  line-height: 1;
  margin: 0;
}
.srv-hero h1 em { color: rgba(255,255,255,.65); font-style: normal; }
.srv-hero-sub { font-size: 17px; color: rgba(255,255,255,.70); line-height: 1.7; max-width: 600px; }
.srv-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; }
.srv-pill {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.85);
  font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  padding: 5px 14px; border-radius: 2px;
}

/* Two-column content layout */
.srv-content { background: var(--gbg); padding: 56px 40px; }
.srv-content-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start;
}
.srv-main { background: var(--white); border-radius: 14px; border: 1.5px solid var(--gray); overflow: hidden; }
.srv-main-img { width: 100%; height: 280px; object-fit: cover; display: block; }
.srv-main-img-placeholder { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; font-size: 72px; }
.srv-main-body { padding: 32px; }
.srv-main-body > p { font-size: 16px; color: var(--soft); line-height: 1.85; margin-bottom: 24px; text-align: justify; }
.srv-section-label { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; font-weight: 700; color: var(--blmid); margin-bottom: 12px; }
.srv-feature-list { list-style: none; margin-bottom: 28px; }
.srv-feature-list li {
  font-size: 13px; color: var(--orange); padding: 10px 0 10px 28px;
  position: relative; border-bottom: 1px solid var(--gbg); line-height: 1.5;
}
.srv-feature-list li:last-child { border-bottom: none; }
.srv-feature-list li::before {
  content: '✓'; position: absolute; left: 0; top: 11px;
  font-weight: 700; font-size: 12px;
}
.srv-c1-accent .srv-feature-list li::before { color: var(--navy); }
.srv-c2-accent .srv-feature-list li::before { color: #0097B2; }
.srv-c3-accent .srv-feature-list li::before { color: var(--blue); }
.srv-c4-accent .srv-feature-list li::before { color: var(--orange); }
.srv-c5-accent .srv-feature-list li::before { color: #6A0DAD; }
.srv-c6-accent .srv-feature-list li::before { color: #2E7D32; }

/* Sidebar */
.srv-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 90px; }
.srv-cta-box {
  background: var(--navy); border-radius: 14px; padding: 28px 24px;
  display: flex; flex-direction: column; gap: 12px;
}
.srv-cta-box h3 { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: #fff; letter-spacing: 1px; margin-bottom: 4px; }
.srv-cta-box p { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.6; margin-bottom: 8px; }
.srv-cta-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 16px; border-radius: 6px; font-size: 13px; font-weight: 700;
  letter-spacing: .5px; text-decoration: none; border: none; cursor: pointer;
  font-family: 'Outfit', sans-serif; transition: all .2s;
}
.srv-cta-btn-primary { background: var(--orange); color: #fff; border: 2px solid var(--orange); }
.srv-cta-btn-primary:hover { background: #D45A00; border-color: #D45A00; }
.srv-cta-btn-wa { background: var(--green); color: #fff; border: 2px solid var(--green); }
.srv-cta-btn-wa:hover { background: #1aab52; border-color: #1aab52; }
.srv-cta-btn-outline { background: transparent; color: rgba(255,255,255,.80); border: 2px solid rgba(255,255,255,.25); }
.srv-cta-btn-outline:hover { border-color: rgba(255,255,255,.60); color: #fff; }
.srv-info-box {
  background: var(--white); border: 1.5px solid var(--gray); border-radius: 14px; padding: 22px;
}
.srv-info-box h4 { font-family: 'Bebas Neue', sans-serif; font-size: 16px; color: var(--navy); letter-spacing: 1px; margin-bottom: 14px; }
.srv-info-line { display: flex; gap: 10px; margin-bottom: 10px; font-size: 13px; color: var(--soft); }
.srv-info-line .ico { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.srv-other-services {
  background: var(--white); border: 1.5px solid var(--gray); border-radius: 14px; padding: 22px;
}
.srv-other-services h4 { font-family: 'Bebas Neue', sans-serif; font-size: 16px; color: var(--navy); letter-spacing: 1px; margin-bottom: 14px; }
.srv-other-link {
  display: flex; align-items: center; gap: 10px; padding: 8px 0;
  border-bottom: 1px solid var(--gbg); text-decoration: none;
  font-size: 13px; color: var(--text); transition: color .2s;
}
.srv-other-link:last-child { border-bottom: none; }
.srv-other-link:hover { color: var(--navy); }
.srv-other-link .ico { font-size: 18px; }

/* Responsive */
@media (max-width: 960px) {
  .srv-content { padding: 40px 20px; }
  .srv-content-inner { grid-template-columns: 1fr; }
  .srv-sidebar { position: static; }
  .srv-hero { padding: 40px 24px 36px; }
  .services-overview { padding: 40px 20px; }
}
@media (max-width: 600px) {
  .services-overview-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* ── TAX PREP CHECKLIST ── */
.srv-checklist { background: var(--white); padding: 56px 40px; border-top: 1.5px solid var(--gray); }
.chk-inner { max-width: 1200px; margin: 0 auto; }
.chk-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 24px; margin-bottom: 32px; flex-wrap: wrap;
}
.chk-eyebrow { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--navy); font-weight: 700; margin-bottom: 8px; }
.chk-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(24px, 3.5vw, 38px);
  color: var(--navy); letter-spacing: 1.5px;
  margin-bottom: 8px; line-height: 1.05;
}
.chk-sub { font-size: 16px; color: var(--soft); line-height: 1.75; max-width: 560px; }
.chk-print-btn {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px;
  background: var(--white); border: 2px solid var(--navy); color: var(--navy);
  font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  padding: 10px 18px; border-radius: 6px; cursor: pointer; transition: all .2s;
}
.chk-print-btn:hover { background: var(--navy); color: #fff; }

.chk-acc-item { border: 1.5px solid var(--gray); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.chk-acc-trigger {
  width: 100%; text-align: left; padding: 18px 22px;
  background: var(--white); border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--navy);
  transition: background .2s;
}
.chk-acc-trigger:hover { background: var(--sky); }
.chk-acc-trigger .chk-arrow { font-size: 18px; color: var(--soft); transition: transform .25s; flex-shrink: 0; }
.chk-acc-item.open .chk-acc-trigger .chk-arrow { transform: rotate(180deg); }
.chk-acc-body { display: none; padding: 0 22px 22px; }
.chk-acc-item.open .chk-acc-body { display: block; }

.chk-group-label {
  font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 700;
  color: var(--navy); margin: 20px 0 8px; padding-bottom: 6px;
  border-bottom: 2px solid var(--sky);
}
.chk-group-label:first-child { margin-top: 6px; }

.chk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; align-items: stretch; }
.chk-item {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13px; color: var(--text); line-height: 1.45;
  padding: 7px 8px; border-radius: 5px; cursor: pointer;
  transition: background .15s; user-select: none;
  min-height: 36px;
}
.chk-item:hover { background: var(--sky); }
.chk-item input[type="checkbox"] {
  flex-shrink: 0; margin-top: 2px;
  accent-color: var(--navy); width: 15px; height: 15px; cursor: pointer;
}

@media (max-width: 960px) {
  .srv-checklist { padding: 40px 20px; }
  .trad-upload-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) { .chk-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════
   NOTARY PAGE — NEW SECTIONS
   ═══════════════════════════════════════ */

/* Poderes & Certificaciones shared wrapper */
.notary-info-section {
  background: var(--gbg);
  padding: 72px 40px;
  border-top: 1.5px solid var(--gray);
}
.notary-cert-section {
  background: var(--white);
  padding: 72px 40px;
  border-top: 1.5px solid var(--gray);
}
.notary-info-inner { max-width: 1200px; margin: 0 auto; }

.ni-header { text-align: center; margin-bottom: 48px; }
.ni-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: var(--navy); margin-bottom: 14px; }
.ni-header p { font-size: 16px; color: var(--soft); max-width: 680px; margin: 0 auto; line-height: 1.75; }

/* Info grid — 4 blocks */
.ni-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ni-block {
  background: var(--white);
  border: 1.5px solid var(--gray);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex; flex-direction: column;
}
.notary-cert-section .ni-block { background: var(--gbg); }
.ni-block h4 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 20px; letter-spacing: 1px;
  color: var(--navy); margin-bottom: 16px;
  padding-bottom: 10px; border-bottom: 1.5px solid var(--gray);
}
.ni-block ul { list-style: none; padding: 0; }
.ni-block ul li {
  font-size: 14px; color: var(--soft);
  padding: 7px 0 7px 20px; position: relative;
  border-bottom: 1px dashed #eee; line-height: 1.6;
}
.ni-block ul li:last-child { border-bottom: none; }
.ni-block ul li::before { content: '→'; position: absolute; left: 0; color: var(--orange); font-weight: 700; font-size: 12px; top: 8px; }

/* Type cards inside ni-block */
.ni-type-card {
  background: var(--gbg);
  border-left: 3px solid var(--orange);
  border-radius: 0 8px 8px 0;
  padding: 14px 16px;
  margin-bottom: 12px;
}
.ni-type-card:last-child { margin-bottom: 0; }
.ni-type-card strong { display: block; color: var(--navy); font-size: 14px; font-weight: 700; margin-bottom: 5px; }
.ni-type-card p { font-size: 13px; color: var(--soft); line-height: 1.6; margin: 0; }

/* Time block */
.ni-time-block { border-top: 3px solid var(--orange); }
.ni-time-row { display: flex; align-items: flex-start; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--gray); }
.ni-time-row:last-of-type { border-bottom: none; }
.ni-time-flag { font-size: 24px; flex-shrink: 0; }
.ni-time-row div { display: flex; flex-direction: column; gap: 2px; }
.ni-time-row strong { color: var(--navy); font-size: 13px; }
.ni-time-row span { color: var(--soft); font-size: 13px; }

/* Cert grid */
.ni-cert-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.ni-cert-card {
  background: var(--gbg);
  border: 1.5px solid var(--gray);
  border-top: 3px solid var(--orange);
  border-radius: 12px;
  padding: 28px 20px;
  text-align: center;
  transition: box-shadow .25s, transform .25s;
}
.ni-cert-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,48,135,.1); }
.ni-cert-icon { font-size: 36px; margin-bottom: 12px; }
.ni-cert-card h4 { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 1px; color: var(--navy); margin-bottom: 10px; }
.ni-cert-card p { font-size: 13px; color: var(--soft); line-height: 1.65; }

/* Coverage section */
.notary-coverage-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 4px solid var(--orange);
  overflow: hidden;
}
.notary-coverage-left {
  background: var(--navy);
  padding: 64px 52px;
  display: flex; flex-direction: column; justify-content: center;
}
.notary-coverage-left h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: #fff; line-height: 1.1; margin-bottom: 18px; }
.notary-coverage-left p { font-size: 16px; color: rgba(255,255,255,.65); line-height: 1.8; margin-bottom: 24px; }
.notary-coverage-left .section-label { color: var(--orange); justify-content: flex-start; }
.notary-coverage-left .section-label::before,
.notary-coverage-left .section-label::after { display: none; }
.ni-area-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ni-area-tags span {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.85);
  font-size: 12px; font-weight: 600;
  padding: 5px 14px; border-radius: 20px;
}
.notary-coverage-right { position: relative; min-height: 420px; overflow: hidden; }
.notary-coverage-right img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.ni-coverage-badge {
  position: absolute; bottom: 20px; left: 20px;
  background: var(--orange); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 8px 16px; border-radius: 4px;
}

/* Disclaimer */
.notary-disclaimer {
  background: #FFF8E6;
  border-top: 3px solid #E6A817;
  border-bottom: 1px solid #F0D98A;
  padding: 18px 40px;
  text-align: center;
}
.notary-disclaimer p { font-size: 14px; color: #5C4200; line-height: 1.7; max-width: 800px; margin: 0 auto; }

/* Responsive */
@media (max-width: 900px) {
  .ni-grid { grid-template-columns: 1fr; }
  .ni-cert-grid { grid-template-columns: 1fr 1fr; }
  .notary-coverage-section { grid-template-columns: 1fr; }
  .notary-coverage-right { min-height: 280px; }
  .notary-coverage-left { padding: 48px 32px; }
  .notary-info-section, .notary-cert-section { padding: 48px 20px; }
  .notary-disclaimer { padding: 16px 20px; }
}
@media (max-width: 520px) {
  .ni-cert-grid { grid-template-columns: 1fr; }
  .notary-coverage-left h2 { font-size: 32px; }
}

/* ── TAX SUPPORT SECTION (Siempre a su lado) ── */
.tax-support-section {
  background: var(--gbg);
  padding: 72px 40px;
  border-top: 1.5px solid var(--gray);
}
.tax-support-inner { max-width: 1100px; margin: 0 auto; }
.tax-support-header { text-align: center; margin-bottom: 48px; }
.tax-support-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: var(--navy); margin-bottom: 12px; }
.tax-support-header p { font-size: 16px; color: var(--soft); max-width: 560px; margin: 0 auto; line-height: 1.7; }
.tsx-card p { font-size: 15px; }
.tco-card p { font-size: 15px; }
.ni-header p { font-size: 16px; }
.ni-block ul li { font-size: 15px; }
.ni-type-card p { font-size: 14px; }
.ni-cert-card p { font-size: 14px; }
.notary-coverage-left p { font-size: 16px; }
.tax-support-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.tsx-card {
  background: var(--white); border: 1.5px solid var(--gray);
  border-radius: 12px; overflow: hidden;
  transition: box-shadow .25s, transform .25s;
  display: flex; flex-direction: column;
}
.tsx-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,48,135,.1); }
.tsx-card-link { text-decoration: none; color: inherit; cursor: pointer; }
.tsx-card-link:hover .tsx-cta { color: var(--orange); }
.tsx-cta { display: block; margin-top: auto; padding-top: 12px; font-size: 13px; font-weight: 700; color: var(--navy); letter-spacing: .5px; transition: color .2s; }
.tsx-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.tsx-body { padding: 22px; flex: 1; display: flex; flex-direction: column; border-top: 3px solid var(--orange); }
.tsx-icon { font-size: 28px; margin-bottom: 10px; }
.tsx-card h4 { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1px; color: var(--navy); margin-bottom: 10px; }
.tsx-card p { font-size: 14px; color: var(--soft); line-height: 1.7; }
@media (max-width: 900px) { .tax-support-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .tax-support-grid { grid-template-columns: 1fr; } .tax-support-section { padding: 48px 20px; } }

/* ── IRS LETTER SECTION ── */
.irs-letter-section {
  background: var(--white);
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1.5px solid var(--gray);
  overflow: hidden;
}
.irs-letter-left {
  padding: 72px 52px;
  display: flex; flex-direction: column; justify-content: center;
  border-right: 1.5px solid var(--gray);
}
.irs-letter-left h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: var(--navy); line-height: 1.1; margin-bottom: 20px; }
.irs-letter-left h2 em { color: var(--orange); font-style: normal; }
.irs-letter-left p { font-size: 16px; color: var(--soft); line-height: 1.8; margin-bottom: 28px; text-align: justify; }
.irs-letter-right { position: relative; min-height: 320px; max-height: 460px; overflow: hidden; }
.irs-letter-right img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; object-position: center 30%; display: block; }
.irs-letter-badge {
  position: absolute; bottom: 20px; left: 20px;
  background: var(--orange); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 8px 16px; border-radius: 4px;
}
@media (max-width: 900px) { .irs-letter-section { grid-template-columns: 1fr; } .irs-letter-right { min-height: 280px; } .irs-letter-left { padding: 48px 32px; border-right: none; border-bottom: 1.5px solid var(--gray); } }
@media (max-width: 520px) { .irs-letter-left { padding: 40px 20px; } .irs-letter-left h2 { font-size: 32px; } }

/* ── COMMITMENT SECTION ── */
.tax-commitment-section {
  background: var(--navy);
  padding: 72px 40px;
}
.tax-commitment-inner { max-width: 1100px; margin: 0 auto; }
.tax-commitment-header { text-align: center; margin-bottom: 48px; }
.tax-commitment-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: #fff; margin-bottom: 12px; }
.tax-commitment-header p { font-size: 16px; color: rgba(255,255,255,.6); max-width: 520px; margin: 0 auto; line-height: 1.7; }
.tax-commitment-header .section-label { color: var(--orange); justify-content: center; }
.tax-commitment-header .section-label::before { display: none; }
.tax-commitment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tco-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-top: 3px solid var(--orange);
  border-radius: 12px; padding: 32px 24px;
  transition: background .25s;
}
.tco-card:hover { background: rgba(255,255,255,.1); }
.tco-icon { font-size: 36px; margin-bottom: 16px; }
.tco-card h4 { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 1px; color: #fff; margin-bottom: 10px; }
.tco-card p { font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.75; }
@media (max-width: 900px) { .tax-commitment-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .tax-commitment-grid { grid-template-columns: 1fr; } .tax-commitment-section { padding: 48px 20px; } }

/* ── ITIN SECTION ── */
.itin-section {
  background: var(--gbg);
  padding: 72px 40px;
  border-top: 1.5px solid var(--gray);
}
.itin-inner { max-width: 1100px; margin: 0 auto; }
.itin-header { text-align: center; margin-bottom: 48px; }
.itin-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px; color: var(--navy); margin-bottom: 12px; }
.itin-header p { font-size: 16px; color: var(--soft); max-width: 620px; margin: 0 auto; line-height: 1.7; }
.itin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.itin-col { display: grid; grid-template-rows: 1fr 1fr; gap: 24px; }
.itin-block {
  background: var(--white); border: 1.5px solid var(--gray);
  border-radius: 12px; padding: 28px 24px;
  display: flex; flex-direction: column;
}
.itin-block h4 { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1px; color: var(--navy); margin-bottom: 14px; border-bottom: 1.5px solid var(--gray); padding-bottom: 10px; }
.itin-block ul { list-style: none; padding: 0; }
.itin-block ul li { font-size: 14px; color: var(--soft); padding: 7px 0 7px 22px; position: relative; border-bottom: 1px dashed #eee; line-height: 1.6; }
.itin-block ul li:last-child { border-bottom: none; }
.itin-block ul li::before { content: '→'; position: absolute; left: 0; color: var(--orange); font-weight: 700; font-size: 12px; top: 8px; }
.itin-block p { font-size: 14px; color: var(--soft); line-height: 1.8; }
.itin-time-block { border-top: 3px solid var(--orange); }
@media (max-width: 900px) { .itin-grid { grid-template-columns: 1fr; } .itin-section { padding: 48px 20px; } }

/* ── QUICK LINKS ── */
.tax-quicklinks-section {
  background: var(--gbg);
  padding: 48px 40px;
  border-top: 1.5px solid var(--gray);
}
.tax-quicklinks-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.tql-card {
  background: var(--white); border: 1.5px solid var(--gray);
  border-left: 4px solid var(--orange);
  border-radius: 8px; padding: 24px;
  display: flex; align-items: center; gap: 20px;
  transition: box-shadow .2s;
}
.tql-card:hover { box-shadow: 0 8px 24px rgba(0,48,135,.1); }
.tql-icon { font-size: 36px; flex-shrink: 0; }
.tql-card h4 { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 1px; color: var(--navy); margin-bottom: 4px; }
.tql-card p { font-size: 13px; color: var(--soft); line-height: 1.6; margin-bottom: 12px; }
.tql-card .btn-primary { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 700px) { .tax-quicklinks-inner { grid-template-columns: 1fr; } .tql-card { flex-wrap: wrap; } .tax-quicklinks-section { padding: 40px 20px; } }

/* ── SECTION DIVIDER ── */
.section-divider {
  background: var(--navy);
  padding: 18px 40px;
  text-align: center;
}
.section-divider span {
  font-size: 11px; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: rgba(255,255,255,.6);
}

/* ── TRUST STATS ── */
.tax-trust-section {
  background: var(--navy);
  border-top: 4px solid var(--orange);
  padding: 36px 40px;
}
.tax-trust-inner {
  max-width: 1100px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 0;
}
.tts-stat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 40px; text-align: center; }
.tts-num { font-family: 'Bebas Neue', sans-serif; font-size: 44px; letter-spacing: 2px; color: var(--orange); line-height: 1; }
.tts-lbl { font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,.55); max-width: 140px; line-height: 1.4; }
.tts-div { width: 1px; height: 48px; background: rgba(255,255,255,.15); flex-shrink: 0; }
@media (max-width: 700px) { .tts-div { display: none; } .tts-stat { padding: 12px 20px; } }

/* ── TAX TESTIMONIALS ── */
.tax-testi-section { background: var(--gbg); padding: 72px 40px; border-top: 1.5px solid var(--gray); }
.tax-testi-inner { max-width: 1100px; margin: 0 auto; }
.tax-testi-header { text-align: center; margin-bottom: 40px; }
.tax-testi-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 36px; letter-spacing: 2px; color: var(--navy); margin-bottom: 0; }
.tax-testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ttcard {
  background: var(--white); border: 1.5px solid var(--gray);
  border-radius: 12px; padding: 28px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.ttcard-stars { color: #F5A623; font-size: 16px; letter-spacing: 2px; }
.ttcard p { font-size: 14px; color: var(--soft); line-height: 1.75; flex: 1; font-style: italic; }
.ttcard-author { display: flex; align-items: center; gap: 12px; }
.ttcard-av { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ttcard-author strong { display: block; font-size: 13px; color: var(--text); }
.ttcard-author span { font-size: 11px; color: var(--soft); }
@media (max-width: 900px) { .tax-testi-grid { grid-template-columns: 1fr; } .tax-testi-section { padding: 48px 20px; } }

/* ── FAQ IMPUESTOS ── */
.tax-faq-section { background: var(--white); padding: 72px 40px; border-top: 1.5px solid var(--gray); }
.tax-faq-inner { max-width: 900px; margin: 0 auto; }
.tax-faq-header { text-align: center; margin-bottom: 40px; }
.tax-faq-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 36px; letter-spacing: 2px; color: var(--navy); margin-bottom: 0; }
.tax-faq-list { display: flex; flex-direction: column; gap: 0; }
.tfaq-item { border: 1.5px solid var(--gray); border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.tfaq-trigger {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 22px; gap: 16px; text-align: left;
  font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 600;
  color: var(--navy); transition: background .15s;
}
.tfaq-trigger:hover { background: var(--sky); }
.tfaq-item.open .tfaq-trigger { background: var(--sky); color: var(--orange); }
.tfaq-arrow { font-size: 14px; flex-shrink: 0; transition: transform .25s; color: var(--soft); }
.tfaq-item.open .tfaq-arrow { transform: rotate(180deg); color: var(--orange); }
.tfaq-body { display: none; padding: 0 22px 18px; }
.tfaq-item.open .tfaq-body { display: block; }
.tfaq-body p { font-size: 14px; color: var(--soft); line-height: 1.8; }
.tfaq-body p strong { color: var(--navy); }
@media (max-width: 600px) { .tax-faq-section { padding: 48px 20px; } .tfaq-trigger { font-size: 14px; padding: 16px 16px; } }

@media print {
  .site-header, .wa-float, .bottom-bar, .modal-overlay,
  .srv-hero, .srv-content, .chk-print-btn { display: none !important; }
  .srv-checklist { padding: 16px 0 !important; border: none !important; }
  .chk-acc-body { display: block !important; }
  .chk-arrow { display: none !important; }
  .chk-item { break-inside: avoid; }
  footer { display: none !important; }
  section:not(.srv-checklist) { display: none !important; }
}