/* MyM · azul noche, dorado champagne y superficies claras. */
:root {
  --azul: #0d2538;
  --azul-claro: #23445a;
  --dorado: #c4a567;
  --gris-claro: #f5f2ec;
  --gris-texto: #53606a;
  --header-h: 100px;
  --mym-navy: #081b2b;
  --mym-gold: #dfc384;
  --mym-paper: #faf8f3;
}
body { color: #243644; background: var(--mym-paper); }
img { height: auto; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #b79146; outline-offset: 5px; }
::selection { background: #dfc384; color: #081b2b; }
.site-header { height: var(--header-h); background: var(--mym-navy); border-bottom: 1px solid rgba(196,165,103,.44); }
.header-inner { max-width: 1360px; padding: 0 40px; gap: 24px; }
.site-logo { margin: 0; flex: 0 0 auto; }
.site-logo img { width: 245px; height: auto; max-height: 76px; }
.site-nav { margin: 0; }
.site-nav ul { gap: clamp(18px,2.2vw,32px); }
.site-nav a { color: #f6f1e8; font-size: 15px; font-weight: 500; letter-spacing: .03em; padding: 10px 0; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--mym-gold); }
.hamburger { padding: 12px; border: 1px solid rgba(196,165,103,.45); border-radius: 0; }
.hamburger span { background: var(--mym-gold); height: 2px; }
.mobile-nav { background: var(--mym-navy); border-bottom: 1px solid var(--dorado); }
.mobile-nav a { font-weight: 500; color: #f6f1e8; }
.mobile-nav[hidden] { display: none; }
.site-footer, .footer-bottom { background: var(--mym-navy); }
.footer-bottom { border-top: 1px solid rgba(196,165,103,.28); padding: 30px 24px; }
.footer-bottom p { font-size: .83rem; line-height: 2; color: #bdc8ce; }
.footer-bottom a { color: #ead8ad; }
.mym-hero { background: var(--mym-navy); padding: clamp(18px,2.7vw,44px); }
.mym-hero-frame { max-width: 1536px; margin: auto; display: grid; grid-template-columns: minmax(0,1.28fr) minmax(0,1fr); border: 1px solid rgba(223,195,132,.6); }
.mym-hero-photo { min-width: 0; overflow: hidden; position: relative; }
.mym-hero-photo img { width: 100%; height: 100%; min-height: 550px; object-fit: cover; object-position: 52% center; }
.mym-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px,3.6vw,58px); color: #f7f3ea; position: relative; }
.mym-dots { display: flex; gap: 8px; margin-bottom: 24px; }
.mym-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--mym-gold); }
.mym-eyebrow { display: block; font-size: .71rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; color: var(--mym-gold); margin-bottom: 18px; line-height: 1.7; }
.mym-hero h1 { color: var(--mym-gold); font-family: Georgia,"Times New Roman",serif; font-weight: 400; font-size: clamp(2.65rem,4vw,4.3rem); line-height: 1.08; letter-spacing: -.035em; max-width: 620px; margin-bottom: 24px; }
.mym-hero h1 span { display: block; color: #f7f3ea; font-size: .57em; line-height: 1.28; letter-spacing: -.02em; margin-top: 18px; }
.mym-hero-lead { font-size: clamp(1.05rem,1.45vw,1.3rem); color: #e6e8e7; line-height: 1.55; margin-bottom: 14px; }
.mym-hero-description { font-size: .91rem; line-height: 1.8; color: #bcc9d0; max-width: 430px; }
.mym-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 27px; }
.mym-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 13px 20px; border: 1px solid var(--mym-gold); background: var(--mym-gold); color: #081b2b; font-size: .82rem; font-weight: 700; line-height: 1.4; transition: background .2s,color .2s; text-align: center; max-width: 100%; }
.mym-button:hover { background: #ead5a8; border-color: #ead5a8; color: #081b2b; }
.mym-button-line { background: transparent; border-color: rgba(223,195,132,.6); color: #f7f3ea; }
.mym-button-line:hover { background: rgba(223,195,132,.09); color: var(--mym-gold); }
.mym-hero-location { color: #adbdc7; font-size: .76rem; border-top: 1px solid rgba(223,195,132,.28); margin-top: 28px; padding-top: 18px; }
.home-trust { background: #f2eee6; border-bottom: 1px solid #e3dbcd; }
.eyebrow, .blog-kicker, .post-category, .team-role { color: #85632c; letter-spacing: .12em; }
.home-trust h2, .home-guide h2, .home-faq h2, .section-title, .home-blog h2, .about-intro h2, .team-section h2, .method-section h2, .transparency-section h2 { font-weight: 400; letter-spacing: -.025em; }
.trust-facts { gap: 16px; }
.trust-facts > div { border-color: #dbcfb6; background: transparent; border-radius: 0; }
.trust-facts strong { color: #0d2538; font-weight: 400; }
.text-link { color: #85632c; }
.areas-section, .home-guide, .about-intro, .method-section, .blog-shell { background: var(--mym-paper); }
.area-card, .home-guide-grid article, .team-card, .method-grid article, .contact-choice, .post-card, .home-blog-card { border-radius: 3px; border: 1px solid #e3ddd1; background: #fff; box-shadow: none; }
.area-card { padding: 28px 24px; transition: border-color .2s,transform .2s; }
.area-card:hover { border-color: #b99860; box-shadow: 0 12px 30px rgba(13,37,56,.06); }
.area-card .icon { background: #f4eee2; border-radius: 50%; }
.area-card h3 { color: #0d2538; font-weight: 650; }
.home-faq, .home-blog, .team-section, .transparency-section, .contact-prep-section { background: #f1eee7; }
.home-faq-list details { border-radius: 2px; border-color: #dfd8ca; }
.home-faq-list summary { font-weight: 600; }
.home-blog-copy { padding: 32px; }
.home-blog-copy h3 { font-weight: 400; line-height: 1.3; }
.home-blog-card > a { overflow: hidden; }
.home-blog-card img { width: 100%; height: 100%; min-height: 290px; object-fit: cover; }
.mym-archive-link { padding-top: 22px; color: #5d666d; font-size: .92rem; line-height: 1.8; }
.mym-archive-link a { color: #785723; border-bottom: 1px solid #bfa269; }
.post-card + .post-card { margin-top: 28px; }
.post-card h2 { font-weight: 400; }
.read-more { color: #805e27; }
.post-card-image img { object-fit: cover; }
.cta-section { background: var(--mym-navy); border-top: 1px solid #b3935c; border-bottom: 1px solid #b3935c; }
.cta-section h2 { color: var(--mym-gold); font-weight: 400; }
.cta-section p { color: #c7d1d7; }
.btn-primary { background: var(--mym-gold); border: 1px solid var(--mym-gold); color: #081b2b; border-radius: 2px; }
.btn-primary:hover { background: #ead5a8; color: #081b2b; }
.btn-outline { color: var(--mym-gold); border-color: var(--mym-gold); border-radius: 2px; }
.btn-outline:hover { background: var(--mym-gold); color: #081b2b; }
.contact-section { background: #fcfaf6; }
.contact-info h2 { font-weight: 400; }
.contact-info a, .mym-sidebar-email { overflow-wrap: anywhere; }
.map-card { border-color: #d0b583; border-radius: 3px; background: #f2ece1; }
.map-pin { color: #95703a; }
.map-card strong, .map-card b { color: #193349; }
.contact-options-section { background: #fcfaf6; }
.contact-choice:hover { border-color: #b99860; }
.contact-choice-grid, .contact-prep-grid, .contact-faq-mini { min-width: 0; }
.page-hero, .blog-hero, .legal-hero, .page-header, .about-hero { background: var(--mym-navy); color: #fff; border-bottom: 1px solid rgba(196,165,103,.65); }
.page-hero h1, .blog-hero h1, .legal-hero h1, .about-hero h1, .page-header h1 { color: var(--mym-gold); font-weight: 400; letter-spacing: -.025em; }
.page-hero-icon { border-color: #8f794e; border-radius: 2px; background: rgba(223,195,132,.05); }
.page-body { background: var(--mym-paper); }
.page-main-content h2 { color: #0d2538; font-weight: 400; }
.page-main-content p:not(.intro-text), .page-main-content .intro-text { color: #4e606d; }
.breadcrumb a, .about-breadcrumb a { color: #e0c995; }
.page-header + .breadcrumb { color: #576975; padding: 20px 32px; }
.page-header + .breadcrumb a { color: #85632c; }
.page-header + .breadcrumb strong { color: #263e50; }
.mym-office { padding: 70px 32px; background: #f2eee6; }
.mym-office-inner { max-width: 1200px; margin: auto; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: center; gap: 56px; }
.mym-office figure { border: 1px solid #bda36c; padding: 10px; }
.mym-office img { width: 100%; }
.mym-office figcaption { font-size: .7rem; padding: 10px 4px 0; color: #637079; }
.mym-office h2 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; color: #0d2538; font-size: clamp(1.8rem,2.8vw,2.7rem); line-height: 1.17; margin: 10px 0 22px; }
.mym-office p { margin-bottom: 18px; color: #526371; }
.mym-news-header { background: var(--mym-navy); padding: 36px 32px 60px; border-bottom: 1px solid #a78a54; }
.mym-news-header-inner { max-width: 1120px; margin: auto; }
.mym-news-breadcrumb { color: #aebdc8; font-size: .8rem; line-height: 1.9; margin-bottom: 34px; }
.mym-news-breadcrumb a { color: #e0c995; }
.mym-news-breadcrumb > span { margin: 0 4px; }
.mym-news-header h1 { max-width: 1000px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,3.4vw,3.65rem); font-weight: 400; color: var(--mym-gold); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 24px; }
.mym-news-subtitle { color: #d4dde3; max-width: 860px; line-height: 1.8; font-size: 1.05rem; }
.mym-news-meta { color: #aebdc8; font-size: .78rem; margin-top: 24px; }
.mym-news-layout { max-width: 1200px; padding: 48px 32px 76px; margin: auto; display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 48px; align-items: start; }
.mym-news-content { min-width: 0; }
.mym-news-image { margin-bottom: 34px; }
.mym-news-image img { width: 100%; border: 1px solid #d9ceb8; }
.mym-news-image figcaption { font-size: .75rem; color: #667681; padding-top: 10px; }
.mym-news-content h2 { color: #0d2538; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.65rem,2.4vw,2.2rem); font-weight: 400; line-height: 1.25; margin: 34px 0 18px; }
.mym-news-content h3 { color: #193b50; font-size: 1.12rem; margin: 32px 0 12px; }
.mym-news-content p { font-size: 1.03rem; line-height: 1.85; color: #4a5b68; margin-bottom: 19px; }
.mym-news-content p a, .mym-news-sources a { color: #7c5b24; text-decoration: underline; text-underline-offset: 3px; }
.mym-case-number { display: flex; align-items: center; gap: 30px; padding: 28px 32px; border-top: 1px solid #c0a36e; border-bottom: 1px solid #c0a36e; margin: 30px 0; background: #f0ebdf; }
.mym-case-number > strong { font-family: Georgia,"Times New Roman",serif; font-weight: 400; font-size: clamp(3.5rem,6vw,5.2rem); color: #86632c; line-height: 1; }
.mym-case-number span { font-weight: 650; color: #0d2538; }
.mym-case-number p { font-size: .85rem; margin: 6px 0 0; line-height: 1.6; }
.mym-legal-note { padding: 24px; border-left: 3px solid #b99860; background: #eee8dc; margin: 28px 0; }
.mym-legal-note strong { color: #153147; }
.mym-legal-note p { margin: 10px 0 0; font-size: .93rem; }
.mym-news-contact { padding: 30px; background: var(--mym-navy); border: 1px solid #b99860; margin: 38px 0; }
.mym-news-contact h2 { color: var(--mym-gold); margin: 0 0 15px; }
.mym-news-contact p { color: #cbd5dc; font-size: .95rem; }
.mym-news-sources { padding-top: 8px; border-top: 1px solid #ded6c7; }
.mym-news-sources h2 { font-size: 1.25rem; margin: 16px 0; }
.mym-news-sources ul { list-style: disc; margin: 0 0 20px 18px; color: #576772; font-size: .85rem; line-height: 1.85; }
.mym-news-sources p { font-size: .82rem; }
.mym-news-sidebar { position: sticky; top: calc(var(--header-h) + 28px); min-width: 0; }
.mym-sidebar-box { padding: 26px; border: 1px solid #d7c9ad; margin-bottom: 24px; background: #fff; }
.mym-sidebar-box > .mym-eyebrow { color: #85632c; }
.mym-sidebar-box > a:not(.mym-button) { display: block; font-size: .86rem; color: #506271; padding: 10px 0; line-height: 1.7; border-bottom: 1px solid #eee8de; }
.mym-sidebar-contact { background: var(--mym-navy); }
.mym-sidebar-contact > .mym-eyebrow { color: var(--mym-gold); }
.mym-sidebar-contact h2 { font-family: Georgia,"Times New Roman",serif; color: var(--mym-gold); font-weight: 400; font-size: 1.65rem; line-height: 1.2; margin-bottom: 18px; }
.mym-sidebar-contact p { color: #bac8d2; font-size: .89rem; line-height: 1.8; margin-bottom: 22px; }
.mym-sidebar-contact > a.mym-sidebar-email { color: #d4c293; border-bottom: 0; font-size: .8rem; }
@media (max-width: 1120px) {
  .site-logo img { width: 218px; }
  .header-inner { padding-inline: 28px; }
  .site-nav ul { gap: 18px; }
  .site-nav a { font-size: .84rem; }
  .mym-hero-copy { padding: 30px; }
  .mym-hero-photo img { min-height: 560px; }
  .mym-actions { gap: 10px; }
  .mym-button { padding-inline: 15px; }
  .mym-office-inner { gap: 34px; }
}
@media (max-width: 900px) {
  :root { --header-h: 86px; }
  .site-logo img { width: 210px; }
  .site-nav { display: none; }
  .hamburger { display: flex; }
  .mym-hero { padding: 24px; }
  .mym-hero-frame { grid-template-columns: minmax(0,1fr); }
  .mym-hero-photo img { min-height: 0; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
  .mym-hero-copy { padding: 36px; }
  .mym-hero h1 { font-size: clamp(2.5rem,6vw,3.6rem); max-width: 640px; }
  .mym-hero-description { max-width: 620px; }
  .mym-dots { margin-bottom: 20px; }
  .mym-office-inner, .mym-news-layout { grid-template-columns: minmax(0,1fr); }
  .mym-office-inner { gap: 30px; }
  .mym-news-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .mym-sidebar-box { margin: 0; }
  .home-blog-copy { padding: 26px; }
}
@media (max-width: 600px) {
  :root { --header-h: 78px; }
  .header-inner { padding-inline: 18px; gap: 12px; }
  .site-logo img { width: 196px; }
  .mym-hero { padding: 16px; }
  .mym-hero-copy { padding: 26px 22px; }
  .mym-hero h1 { font-size: 2.55rem; }
  .mym-hero h1 span { font-size: .56em; }
  .mym-hero-location { font-size: .73rem; }
  .mym-dots { margin-bottom: 18px; }
  .mym-eyebrow { letter-spacing: .13em; font-size: .66rem; }
  .mym-hero-description { font-size: .86rem; }
  .mym-actions { align-items: stretch; }
  .mym-actions .mym-button { flex: 1 1 160px; }
  .home-blog-card img { min-height: 0; aspect-ratio: 16 / 9; height: auto; }
  .home-blog-copy { padding: 24px; }
  .home-blog-copy h3 { font-size: 1.4rem; }
  .mym-office { padding: 44px 20px; }
  .mym-office-inner { gap: 26px; }
  .mym-news-header { padding: 24px 22px 38px; }
  .mym-news-header h1 { font-size: 2.05rem; }
  .mym-news-subtitle { font-size: .95rem; }
  .mym-news-layout { padding: 28px 22px 48px; gap: 28px; }
  .mym-news-content p { font-size: .96rem; }
  .mym-news-sidebar { grid-template-columns: minmax(0,1fr); }
  .mym-case-number { padding: 24px 20px; gap: 20px; align-items: flex-start; }
  .mym-case-number > strong { font-size: 3.45rem; }
  .mym-case-number span { font-size: .94rem; }
  .mym-news-contact { padding: 24px 20px; }
  .mym-news-contact .mym-actions .mym-button { font-size: .75rem; padding-inline: 12px; overflow-wrap: anywhere; }
  .mym-legal-note { padding: 20px; }
  .page-hero-text h1 { font-size: 2.2rem; }
  .footer-bottom { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .fade-in { opacity: 1; transform: none; }
}
