:root {
  --ink: #11212d;
  --ink-soft: #3c4a52;
  --navy: #081925;
  --navy-deep: #07131d;
  --cream: #f8f7f4;
  --paper: #fffefa;
  --sand: #f0ece5;
  --gold: #c19a64;
  --gold-bright: #ebc892;
  --line: #dedfdc;
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 95px; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; }
h1, h2 { letter-spacing: -.035em; }
h1 em, h2 em { font-weight: 400; color: var(--gold); }
:focus-visible { outline: 3px solid #ac8958; outline-offset: 4px; }
::selection { background: var(--gold); color: var(--navy); }
.skip-link { position: fixed; top: -90px; left: 15px; z-index: 100; padding: 14px 20px; background: white; color: black; }
.skip-link:focus { top: 14px; }
.container-width { width: min(1220px, calc(100% - 96px)); margin-left: auto; margin-right: auto; }
.reading-width { width: min(760px, calc(100% - 48px)); margin-left: auto; margin-right: auto; }
.eyebrow { display: inline-flex; gap: 14px; align-items: center; color: #8e7752; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .19em; text-transform: uppercase; }
.light-eyebrow { color: var(--gold-bright); }
.eyebrow-line { display: inline-block; width: 31px; height: 1px; background: currentColor; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 35px; min-height: 54px; padding: 16px 25px; font-size: 12px; font-weight: 700; letter-spacing: .055em; border: 1px solid transparent; cursor: pointer; text-align: center; transition: background .18s, color .18s, transform .18s, border-color .18s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 16px; font-weight: 400; }
.button-gold { background: var(--gold); color: #17202a; }
.button-gold:hover { background: var(--gold-bright); }
.button-dark { background: var(--navy); color: #fff; }
.button-dark:hover { background: #293c4b; }
.button-outline-light { border-color: #8b9ba2; color: #fff; }
.button-outline-light:hover { border-color: var(--gold); background: rgba(255,255,255,.07); }
.text-link { display: inline-flex; align-items: center; gap: 15px; padding-bottom: 6px; border-bottom: 1px solid #b7b9b7; font-size: 12px; font-weight: 700; letter-spacing: .02em; transition: gap .18s, color .18s; }
.text-link:hover { gap: 22px; color: #94734c; }
.text-link.on-dark { color: #f6f3eb; border-color: #69727a; }
.text-link.on-dark:hover { color: var(--gold-bright); }
/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: #101f2a; border-bottom: 1px solid rgba(255,255,255,.12); }
.header-inner { min-height: 91px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 15px; color: #fff; flex-shrink: 0; }
.brand-mark { width: 51px; height: 51px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--gold); color: var(--gold-bright); font-family: var(--serif); letter-spacing: -.05em; font-size: 21px; white-space: nowrap; text-align: center; }
.brand-mark-divider { padding: 0 2px; color: var(--gold); }
.brand-name { display: flex; flex-direction: column; gap: 1px; }
.brand-name strong { font-weight: 600; font-size: 13px; letter-spacing: .13em; white-space: nowrap; }
.brand-name small { color: #b5bdbf; font-size: 9px; letter-spacing: .24em; }
.desktop-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.desktop-nav a { color: #d3d8d9; font-size: 12px; font-weight: 500; padding: 8px 0; transition: color .16s; white-space: nowrap; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color: var(--gold-bright); }
.header-contact { display: inline-flex; gap: 14px; align-items: center; border: 1px solid rgba(212,187,143,.75); padding: 12px 16px; color: #f5e5d2; font-size: 11px; font-weight: 700; letter-spacing: .035em; white-space: nowrap; }
.header-contact:hover { background: rgba(201,170,121,.13); }
.header-contact span { font-size: 16px; }
.mobile-menu { display: none; }
/* Hero */
.hero { position: relative; background: var(--navy); color: white; overflow: hidden; }
.hero-decoration { position: absolute; left: -230px; top: 45px; width: 650px; height: 650px; border: 1px solid rgba(255,255,255,.05); border-radius: 50%; pointer-events: none; }
.hero-decoration::after { content: ''; position: absolute; inset: 75px; border: 1px solid rgba(255,255,255,.04); border-radius: 50%; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.07fr .93fr; gap: 60px; min-height: 650px; align-items: center; }
.hero-content { position: relative; padding: 72px 0 72px; z-index: 1; }
.hero h1 { max-width: 660px; margin: 25px 0 29px; font: 500 clamp(48px, 5.3vw, 76px)/1.13 var(--serif); letter-spacing: -.048em; }
.hero h1 em { display: inline; }
.hero-subtitle { color: #bfc9cb; max-width: 475px; font-size: 15px; line-height: 1.9; }
.hero-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 32px; margin: 36px 0 0; }
.hero-credentials { margin-top: 70px; display: flex; flex-wrap: wrap; gap: 13px; align-items: center; color: #9aabb1; font-size: 9px; font-weight: 600; letter-spacing: .115em; }
.hero-credentials .small-diamond { color: var(--gold-bright); font-size: 14px; }
.hero-credentials .divider { width: 1px; height: 12px; background: #657983; }
.hero-visual { height: 595px; position: relative; align-self: end; display: flex; align-items: flex-end; justify-content: center; }
.portrait-frame { position: absolute; inset: 10px 18px 0 34px; overflow: hidden; background: #859097; }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 23%; filter: grayscale(100%) contrast(1.05); }
.portrait-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,23,32,.45), transparent 40%), linear-gradient(90deg, rgba(17,31,42,.08), transparent); }
.portrait-label { position: absolute; bottom: 32px; right: -12px; z-index: 1; display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: #f3eee5; color: #162431; box-shadow: 0 15px 45px rgba(0,0,0,.12); }
.portrait-label > span { font: 400 28px/1 var(--serif); color: #9e7a52; }
.portrait-label div { display: flex; flex-direction: column; line-height: 1.5; }
.portrait-label strong { font-size: 12px; }
.portrait-label small { font-size: 10px; color: #6d7073; }
.portrait-corner { position: absolute; width: 140px; height: 140px; top: -4px; left: 4px; border-left: 1px solid var(--gold); border-top: 1px solid var(--gold); pointer-events: none; }
.hero-bottom-line { min-height: 56px; display: flex; justify-content: space-between; gap: 15px; align-items: center; border-top: 1px solid rgba(255,255,255,.13); color: #8e9ba2; font-size: 9px; letter-spacing: .13em; }
.hero-bottom-line a:hover { color: var(--gold-bright); }
.intro-band { background: #efece6; border-bottom: 1px solid #e2dcd2; }
.intro-band-grid { display: grid; grid-template-columns: 210px 1fr 44px; gap: 36px; align-items: center; padding-top: 45px; padding-bottom: 48px; }
.intro-band-grid > p:not(.eyebrow) { max-width: 790px; margin: 0; font: 400 clamp(20px, 2.15vw, 27px)/1.55 var(--serif); color: #34434c; }
.intro-band-grid strong { font-weight: 600; color: var(--ink); }
.circle-arrow { display: grid; place-items: center; border: 1px solid #b7aa97; border-radius: 50%; width: 43px; height: 43px; color: #726248; font-size: 21px; }
.circle-arrow:hover { background: #e5d8c4; }
/* Sections */
.section { padding: 106px 0; }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 52px; margin-bottom: 44px; }
.section-header h2 { max-width: 625px; font: 500 clamp(38px, 4.1vw, 56px)/1.18 var(--serif); margin: 16px 0 0; }
.section-header h2 em { color: #a38459; }
.section-header > p { max-width: 335px; color: #697177; font-size: 14px; line-height: 1.9; margin: 0; }
.section-header > .text-link { flex-shrink: 0; margin-bottom: 3px; }
.services-section { background: var(--cream); }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.service-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 345px; padding: 25px 23px 25px; background: #fff; border: 1px solid #e5e5e2; transition: transform .2s, border-color .2s, background .2s; }
.service-card:hover { background: #fcfaf6; border-color: var(--gold); transform: translateY(-6px); }
.service-top { display: flex; justify-content: space-between; color: #aa8f68; font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.service-arrow { font-size: 20px; font-weight: 400; }
.service-kicker { display: block; color: #9c8362; text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.service-card h3 { font: 500 29px/1.2 var(--serif); letter-spacing: -.035em; margin: 9px 0 13px; }
.service-card p { color: #657078; font-size: 12px; line-height: 1.85; }
.service-read { display: block; margin-top: 20px; color: #92744e; font-size: 11px; font-weight: 700; }
.service-read span { float: right; }
.section-outro { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 30px; font-size: 12px; color: #697177; }
/* About block */
.about-highlight { background: var(--navy); color: #fff; padding: 96px 0; overflow: hidden; }
.about-grid { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(60px, 8vw, 145px); align-items: center; }
.about-image { position: relative; min-height: 580px; background: #39434b; }
.about-image img { width: 100%; height: 580px; object-fit: cover; object-position: center 30%; filter: grayscale(1); }
.about-image-tag { position: absolute; right: -25px; bottom: 42px; padding: 20px 25px; background: var(--gold); color: #1b2731; font-size: 10px; font-weight: 700; line-height: 1.7; letter-spacing: .12em; }
.about-content h2 { margin: 18px 0 28px; font: 500 clamp(36px,4vw,53px)/1.18 var(--serif); }
.about-content p { color: #b8c4c8; font-size: 14px; line-height: 2; }
.about-rule { margin: 27px 0; width: 100%; height: 1px; background: #3d505a; }
.about-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 35px; }
.about-mini-grid div { display: flex; flex-direction: column; gap: 8px; }
.about-mini-grid strong { font: 500 18px var(--serif); }
.about-mini-grid small { color: #99aab2; font-size: 11px; line-height: 1.7; }
/* Steps */
.approach-section { background: #f0eee9; }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-top: 68px; }
.step { position: relative; padding-top: 26px; border-top: 1px solid #c7c4bc; }
.step::before { content: ''; position: absolute; width: 8px; height: 8px; left: 0; top: -4px; background: #ad8c5b; border-radius: 50%; }
.step > span { color: #b49771; font: 400 40px var(--serif); }
.step h3 { font: 500 27px var(--serif); margin: 20px 0 10px; }
.step p { color: #667177; max-width: 310px; font-size: 13px; line-height: 1.85; }
/* Articles */
.articles-section { background: var(--cream); }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 23px; }
.article-card { display: flex; flex-direction: column; background: white; border: 1px solid #e9e8e4; transition: transform .2s; }
.article-card:hover { transform: translateY(-5px); }
.article-art { position: relative; min-height: 185px; overflow: hidden; display: flex; align-items: start; justify-content: space-between; padding: 19px 22px; background: #dcd7ce; color: #716d66; }
.article-art::before, .article-art::after { content: ''; position: absolute; border-radius: 50%; width: 295px; height: 295px; border: 1px solid rgba(255,255,255,.32); right: -45px; top: -132px; }
.article-art::after { width: 200px; height: 200px; top: -70px; right: 0; }
.article-art > span:first-child { font: 400 17px var(--serif); }
.article-art-mark { align-self: flex-end; font: 400 145px/.8 var(--serif); opacity: .18; }
.art-1 { background: #233745; color: #f1e2cd; }
.art-2 { background: #d2c4af; color: #69563f; }
.art-3 { background: #a7b3ae; color: #334542; }
.article-info { padding: 27px 26px; flex-grow: 1; display: flex; flex-direction: column; }
.article-meta { color: #947750; font-size: 10px; font-weight: 700; letter-spacing: .035em; }
.article-meta span { color: #b9b5ac; margin: 0 4px; }
.article-card h3, .article-card h2 { font: 500 24px/1.3 var(--serif); letter-spacing: -.025em; margin: 14px 0 12px; }
.article-card p { font-size: 12px; line-height: 1.9; color: #72797d; }
.article-more { font-size: 11px; font-weight: 700; color: #9a7953; margin-top: auto; padding-top: 20px; }
.editorial-note { margin-top: 22px; color: #798087; font-size: 11px; }
/* CTA / footer */
.cta-section { padding: 78px 0; background: #203440; color: #fff; }
.cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 85px; align-items: center; }
.cta-grid h2 { margin: 16px 0 19px; max-width: 690px; font: 500 clamp(35px,4vw,51px)/1.2 var(--serif); }
.cta-grid p { color: #bfcbcd; font-size: 13px; }
.cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.site-footer { background: var(--navy-deep); color: #fff; padding: 76px 0 0; }
.footer-main { display: grid; grid-template-columns: 1fr 380px; gap: 120px; }
.footer-intro h2 { margin: 16px 0 12px; font: 500 clamp(34px,4vw,54px)/1.23 var(--serif); }
.footer-intro p { color: #a7b6bd; font-size: 13px; margin-bottom: 24px; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-top: 4px; }
.footer-links > div { display: flex; flex-direction: column; gap: 13px; }
.footer-links span { font-size: 10px; color: var(--gold-bright); font-weight: 700; letter-spacing: .15em; margin-bottom: 5px; }
.footer-links a, .footer-links p { margin: 0; color: #c1cbce; font-size: 12px; line-height: 1.8; }
.footer-links a:hover { color: var(--gold-bright); }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; border-top: 1px solid #2c3a43; margin-top: 70px; padding: 24px 0 29px; color: #8b9ba3; font-size: 10px; }
.floating-whatsapp { position: fixed; bottom: 25px; right: 24px; z-index: 40; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #28a65c; color: white; box-shadow: 0 8px 25px rgba(5,35,15,.22); transition: transform .2s; }
.floating-whatsapp:hover { transform: translateY(-4px); }
/* Other pages */
.subpage-hero { background: var(--navy); color: #fff; padding: 100px 0 112px; overflow: hidden; position: relative; }
.subpage-hero::before { content: ''; position: absolute; width: 500px; height: 500px; top: -250px; right: -120px; border: 1px solid #334651; border-radius: 50%; }
.subpage-hero .container-width { position: relative; }
.subpage-hero h1 { max-width: 810px; margin: 18px 0 20px; font: 500 clamp(44px,5.2vw,70px)/1.15 var(--serif); }
.subpage-hero p { max-width: 610px; font-size: 15px; line-height: 1.85; color: #b7c5cc; }
.specialty-list { background: var(--cream); }
.specialty-row { display: grid; grid-template-columns: 27% 1fr; gap: 50px; padding: 65px 0; border-top: 1px solid #d7d6d1; }
.specialty-row:first-child { padding-top: 0; border-top: none; }
.specialty-row:last-child { padding-bottom: 0; }
.specialty-index { color: #a18a69; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.specialty-copy h2 { font: 500 clamp(37px,4vw,54px)/1.2 var(--serif); margin: 14px 0 18px; }
.specialty-copy > p { max-width: 730px; font-size: 15px; line-height: 1.9; color: #626d74; }
.check-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px 28px; list-style: none; margin: 28px 0 36px; padding: 0; }
.check-list li { position: relative; padding-left: 22px; font-size: 13px; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: #9e8157; }
.soft-cta { background: #ebe6dd; padding: 58px 0; }
.soft-cta-inner { display: flex; justify-content: space-between; gap: 30px; align-items: center; }
.soft-cta h2 { font: 500 35px var(--serif); margin: 10px 0; }
.soft-cta p { max-width: 640px; margin: 0; color: #606a70; font-size: 13px; line-height: 1.8; }
.soft-cta .button { flex-shrink: 0; }
/* Bio */
.bio-section { background: var(--cream); }
.bio-grid { display: grid; grid-template-columns: .75fr 1fr; gap: 100px; align-items: center; }
.bio-photo { background: #dee0df; }
.bio-photo img { height: 590px; width: 100%; object-fit: cover; object-position: center 30%; filter: grayscale(1); }
.bio-text h2 { font: 500 49px var(--serif); margin: 10px 0 24px; }
.bio-text p { line-height: 1.95; font-size: 14px; color: #5c696f; }
.bio-text .bio-lead { font: 400 21px/1.6 var(--serif); color: #293b48; }
.bio-text .button { margin-top: 19px; }
.education-section { background: #f0eee9; }
.timeline { max-width: 900px; margin-top: 36px; }
.timeline-row { display: grid; grid-template-columns: 150px 1fr; gap: 30px; border-top: 1px solid #d1cdc5; padding: 27px 0; }
.timeline-row > span { color: #96764d; font: 400 29px var(--serif); }
.timeline-row > div { display: flex; flex-direction: column; gap: 5px; }
.timeline-row strong { font-weight: 600; font-size: 15px; }
.timeline-row small { color: #707a7e; font-size: 12px; }
/* Article */
.article-page-head { background: var(--navy); color: white; padding: 84px 0 94px; }
.back-link { display: inline-block; margin-bottom: 70px; font-size: 12px; color: #c3ced2; }
.back-link:hover { color: var(--gold-bright); }
.article-page-head .eyebrow { display: block; }
.article-page-head h1 { font: 500 clamp(39px,4.4vw,61px)/1.22 var(--serif); margin: 20px 0; }
.article-page-head p { font-size: 16px; line-height: 1.8; color: #c0cbd0; max-width: 680px; }
.article-body { padding: 80px 0 100px; }
.article-body p { font-size: 15px; line-height: 2; color: #515d64; }
.article-body .article-intro { font: 400 23px/1.7 var(--serif); color: #273944; padding-bottom: 35px; border-bottom: 1px solid #d7d8d6; margin-bottom: 45px; }
.article-body section { margin: 42px 0; }
.article-body h2 { margin: 0 0 17px; font: 500 30px/1.34 var(--serif); }
.article-body ul { color: #515d64; padding-left: 25px; line-height: 1.9; font-size: 14px; }
.article-body li { margin: 9px 0; }
.article-disclaimer { margin-top: 50px; background: #ece8df; padding: 22px 27px; font-size: 12px; line-height: 1.9; color: #47555c; }
.article-end { margin-top: 38px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
/* Contact */
.contact-section { background: #f6f5f1; }
.contact-grid { display: grid; grid-template-columns: .72fr 1fr; gap: clamp(45px, 8vw, 135px); align-items: start; }
.contact-aside h2 { font: 500 38px/1.25 var(--serif); margin: 18px 0 18px; }
.contact-aside > p { color: #66747a; font-size: 14px; line-height: 1.9; }
.contact-detail { border-top: 1px solid #d8d8d3; margin-top: 25px; padding-top: 21px; display: flex; flex-direction: column; gap: 7px; }
.contact-detail > span { font-size: 10px; font-weight: 700; color: #9c815d; letter-spacing: .15em; }
.contact-detail a { font-size: 15px; font-weight: 500; }
.contact-detail a:hover { color: #9b7b51; }
.contact-detail p { font-size: 14px; color: #51616a; }
.form-panel { padding: 40px; background: #fff; border: 1px solid #e1e2de; box-shadow: 0 20px 60px rgba(13,31,43,.05); }
.form-panel-header h2 { font: 500 32px var(--serif); margin: 13px 0; }
.form-panel-header p { color: #617078; font-size: 12px; line-height: 1.9; }
#appointment-form { margin-top: 28px; display: flex; flex-direction: column; gap: 17px; }
#appointment-form label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 600; color: #2e3e48; }
#appointment-form label > span[aria-hidden="true"] { color: #a27743; }
#appointment-form input:not([type="checkbox"]), #appointment-form select, #appointment-form textarea { width: 100%; border: 1px solid #d9ddde; color: #253542; background: #fdfdfc; padding: 12px 13px; min-height: 47px; border-radius: 0; font-size: 13px; }
#appointment-form input:focus, #appointment-form select:focus, #appointment-form textarea:focus { border-color: #ac8c5e; outline: 2px solid rgba(172,140,94,.2); }
#appointment-form textarea { resize: vertical; min-height: 110px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
#appointment-form .form-accept { display: flex; align-items: flex-start; flex-direction: row; gap: 11px; line-height: 1.7; font-size: 11px; font-weight: 400; color: #5b666b; cursor: pointer; }
.form-accept input { margin: 3px 0 0; accent-color: #102534; }
.form-submit { width: 100%; }
.form-privacy { color: #7d8588; font-size: 10px; line-height: 1.7; margin: 0; }
.form-status { font-size: 12px; color: #235f3e; }
/* Responsive */
@media (max-width: 1100px) {
  .container-width { width: min(100% - 60px, 1220px); }
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 15px; }
  .brand-name strong { font-size: 11px; }
  .header-contact { padding: 10px 12px; }
  .hero-grid { gap: 20px; }
  .hero h1 { font-size: clamp(47px,5.1vw,68px); }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .service-card { min-height: 300px; }
  .about-grid { gap: 60px; }
  .footer-main { gap: 50px; }
}
@media (max-width: 780px) {
  .container-width { width: calc(100% - 42px); }
  .header-inner { min-height: 75px; }
  .brand-mark { width: 45px; height: 45px; font-size: 18px; }
  .desktop-nav, .header-contact { display: none; }
  .mobile-menu { display: block; position: relative; margin-left: auto; }
  .mobile-menu summary { display: flex; width: 44px; height: 44px; justify-content: center; align-items: center; flex-direction: column; gap: 5px; cursor: pointer; list-style: none; border: 1px solid #66747b; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 17px; height: 1px; background: white; }
  .mobile-menu nav { position: absolute; top: 58px; right: 0; width: min(310px, calc(100vw - 42px)); padding: 15px 24px; background: #1e303e; box-shadow: 0 20px 35px rgba(0,0,0,.25); display: flex; flex-direction: column; }
  .mobile-menu nav a { color: #f7f4ee; padding: 12px 0; border-bottom: 1px solid #40505a; font-size: 14px; }
  .mobile-menu nav a:last-child { border: 0; color: var(--gold-bright); }
  .hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .hero-content { padding: 75px 0 24px; }
  .hero h1 { max-width: 610px; font-size: clamp(45px,8vw,65px); }
  .hero-subtitle { font-size: 14px; }
  .hero-credentials { margin-top: 35px; }
  .hero-visual { align-self: center; width: min(420px,100%); height: 440px; }
  .portrait-frame { inset: 14px 15px 0; }
  .portrait-corner { top: 4px; }
  .portrait-label { right: 0; }
  .hero-bottom-line { min-height: 53px; }
  .hero-bottom-line > span:nth-child(2) { display: none; }
  .intro-band-grid { grid-template-columns: 1fr 44px; gap: 15px; padding: 40px 0; }
  .intro-band-grid .eyebrow { grid-column: 1/-1; }
  .section { padding: 72px 0; }
  .section-header { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 32px; }
  .section-header h2 { font-size: clamp(36px,6vw,49px); }
  .section-header > p { max-width: 520px; }
  .about-highlight { padding: 72px 0; }
  .about-grid { grid-template-columns: 1fr; gap: 45px; }
  .about-image { width: min(440px, 100%); min-height: 480px; }
  .about-image img { height: 480px; }
  .about-image-tag { right: -10px; }
  .steps-grid { gap: 18px; }
  .article-grid { grid-template-columns: repeat(2,1fr); }
  .cta-grid { grid-template-columns: 1fr; gap: 20px; }
  .footer-main { grid-template-columns: 1fr; gap: 48px; }
  .footer-links { max-width: 450px; }
  .bio-grid { grid-template-columns: 1fr; gap: 35px; }
  .bio-photo { max-width: 430px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-aside { max-width: 580px; }
}
@media (max-width: 560px) {
  .container-width { width: calc(100% - 36px); }
  .brand-name strong { font-size: 11px; }
  .brand-name small { font-size: 8px; }
  .hero-content { padding: 59px 0 20px; }
  .hero h1 { font-size: clamp(40px, 10.7vw, 55px); line-height: 1.16; }
  .hero-buttons { gap: 23px; }
  .hero-credentials { align-items: baseline; font-size: 10px; line-height: 1.65; }
  .hero-credentials .divider { display: none; }
  .hero-visual { height: 400px; }
  .hero-bottom-line { font-size: 8px; }
  .intro-band-grid > p:not(.eyebrow) { font-size: 22px; }
  .section-header h2 { font-size: 37px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 280px; }
  .section-outro { flex-direction: column; align-items: flex-start; }
  .about-content h2 { font-size: 39px; }
  .about-image { min-height: 430px; }
  .about-image img { height: 430px; }
  .steps-grid { grid-template-columns: 1fr; gap: 30px; }
  .step h3 { margin-top: 12px; }
  .article-grid { grid-template-columns: 1fr; }
  .article-art { min-height: 170px; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .site-footer { padding-top: 65px; }
  .footer-links { gap: 20px; }
  .floating-whatsapp { right: 15px; bottom: 15px; width: 49px; height: 49px; }
  .subpage-hero { padding: 74px 0 82px; }
  .subpage-hero h1 { font-size: 43px; }
  .specialty-row { display: block; padding: 43px 0; }
  .specialty-index { margin-bottom: 12px; }
  .check-list { grid-template-columns: 1fr; }
  .soft-cta-inner { align-items: flex-start; flex-direction: column; }
  .bio-photo img { height: 450px; }
  .bio-text h2 { font-size: 40px; }
  .timeline-row { grid-template-columns: 75px 1fr; gap: 14px; }
  .article-page-head { padding: 63px 0 68px; }
  .back-link { margin-bottom: 48px; }
  .article-page-head h1 { font-size: 40px; }
  .article-body { padding: 60px 0; }
  .article-body .article-intro { font-size: 21px; }
  .form-panel { padding: 26px 20px; }
  .form-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Identidad premium propuesta 6 — PR / balanza / azul y dorado */
.site-header {background:rgba(5,17,26,.97);backdrop-filter:blur(14px);box-shadow:0 3px 18px rgba(0,0,0,.12)}
.header-inner {min-height:82px;gap:24px}
.brand {gap:12px}
.brand-mark-logo {width:60px;height:65px;object-fit:contain;flex-shrink:0}
.brand-name strong {font:500 15px/1.12 var(--serif);letter-spacing:.095em;white-space:normal}
.brand-name small {font-size:8px;letter-spacing:.31em;color:#d2ac75;margin-top:3px}
.desktop-nav {gap:24px}
.desktop-nav a {font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.header-contact {border-radius:28px;background:linear-gradient(125deg,#b38b55,#d2ad7c);color:#10202a;border:0;min-height:42px;padding:9px 19px}
.header-contact:hover {background:#e8c996}
.hero-brand {background:linear-gradient(107deg,#06151f 0%,#081c2a 46%,#102430 100%);isolation:isolate}
.hero-brand::before {content:'';position:absolute;inset:0;opacity:.18;background-image:repeating-linear-gradient(90deg,transparent 0 100px,rgba(198,152,93,.09) 101px,transparent 103px);z-index:-1}
.hero-halo {width:650px;height:650px;position:absolute;right:-150px;top:3%;background:radial-gradient(circle,rgba(160,109,55,.27),transparent 63%);filter:blur(14px);pointer-events:none}
.hero-brand .hero-grid {grid-template-columns:1.08fr .92fr;min-height:690px;gap:12px}
.hero-brand .hero-content {padding-top:65px;padding-bottom:72px}
.hero-brand .hero-content>.eyebrow {letter-spacing:.23em;font-size:10px}
.hero-brand-identity {display:flex;gap:19px;align-items:center;margin:34px 0 10px;max-width:600px}
.hero-brand-identity img {width:106px;height:112px;object-fit:contain;flex-shrink:0}
.hero-brand-name {font:500 clamp(29px,3vw,43px)/1.1 var(--serif);letter-spacing:.055em;color:#f8f4ea;margin:0 0 9px}
.hero-brand-role {display:flex;gap:14px;align-items:center;margin:0;color:var(--gold-bright);font-size:13px;letter-spacing:.38em;font-weight:600}
.hero-brand-role span {height:1px;width:45px;background:linear-gradient(90deg,transparent,var(--gold))}
.hero-brand-role span:last-child {background:linear-gradient(90deg,var(--gold),transparent)}
.hero-specialty {font-size:10px;letter-spacing:.18em;color:#efece5;line-height:1.9;margin:23px 0 0;font-weight:700}
.hero-specialty span {color:var(--gold);padding:0 5px}
.hero-brand h1 {font-size:clamp(38px,4.3vw,63px);letter-spacing:-.02em;margin:25px 0 15px;line-height:1.02}
.hero-brand h1 em {font-style:italic}
.hero-brand .hero-subtitle {max-width:530px;font-size:14px;line-height:1.9;color:#b6c1c3}
.hero-brand .hero-buttons {margin-top:27px;gap:25px}
.hero-brand .hero-credentials {margin-top:47px;font-size:9px;letter-spacing:.1em}
.hero-justice-visual {height:685px;width:100%;align-self:end;position:relative;display:block}
.hero-architecture {position:absolute;inset:5% -70px 0 0;background:radial-gradient(ellipse at 56% 43%,rgba(152,105,52,.16) 0%,transparent 60%);border-left:1px solid rgba(218,186,139,.06)}
.hero-justice-image {position:absolute;bottom:-28px;left:-50px;width:calc(100% + 150px);height:100%;object-fit:contain;opacity:.92;filter:drop-shadow(0 17px 40px rgba(0,0,0,.65))}
.hero-practices {position:absolute;right:0;bottom:76px;display:flex;flex-direction:column;width:min(320px,100%);padding:18px 22px;background:rgba(3,15,24,.8);border:1px solid rgba(209,165,103,.5);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.3)}
.hero-practices>div {display:flex;align-items:center;gap:18px;padding:11px 0;border-bottom:1px solid rgba(200,166,118,.18)}
.hero-practices>div:last-child {border-bottom:0}
.hero-practice-symbol {display:block;width:31px;flex:0 0 31px;text-align:center;color:var(--gold-bright);font-size:25px;font-family:var(--serif)}
.hero-practices strong {display:block;font:500 20px/1.2 var(--serif);color:#f4efe7}
.hero-practices small {display:block;font-size:11px;color:#bdc7cb;line-height:1.5;margin-top:3px}
.hero-bottom-line {color:#b0b4b4}
.section-header h2, .about-content h2,.bio-text h2,.cta-grid h2 {letter-spacing:-.01em}
.service-card {background:#0e2430;color:#faf7ef;border:1px solid rgba(216,179,122,.27);min-height:332px}
.service-card:hover {background:#183342;border-color:#d4a86e}
.service-card p {color:#b9c3c8}
.service-kicker,.service-read,.service-top {color:#e2bd84}
.services-section {background:#f2f0eb}
.service-card h3 {font-size:31px}
.about-highlight {background:radial-gradient(circle at 95% 15%,rgba(180,135,73,.10),transparent 39%),#091c29}
.about-image img {filter:grayscale(.8) sepia(.09) contrast(1.08)}
.cta-section {background:linear-gradient(105deg,#081722 0%,#1b3440 100%);border-top:1px solid rgba(193,154,100,.2)}
.subpage-hero {background:linear-gradient(120deg,#061722,#17313d)}
.subpage-hero::after {content:'';position:absolute;bottom:-80px;right:4%;width:280px;height:280px;opacity:.11;background:url('/branding/mark-light.svg') center/contain no-repeat;pointer-events:none}
.footer-intro .button {margin-top:10px}
@media(max-width:1100px) { .header-inner {gap:14px}.brand-mark-logo {width:52px;height:58px}.brand-name strong {font-size:12px}.desktop-nav {gap:12px}.desktop-nav a {font-size:9px}.header-contact {padding:9px 11px;font-size:10px}.hero-brand .hero-grid {gap:0}.hero-practices {right:0;width:285px}.hero-brand-identity img {width:87px;height:92px}.hero-brand-name {font-size:clamp(27px,3vw,35px)}}
@media(max-width:780px){.brand-mark-logo {width:47px;height:52px}.hero-brand .hero-grid {display:flex;flex-direction:column;min-height:initial}.hero-brand .hero-content {padding:55px 0 15px}.hero-brand-identity {margin-top:27px}.hero-brand-identity img {width:85px;height:88px}.hero-brand-name {font-size:clamp(28px,6vw,39px)}.hero-brand h1 {font-size:clamp(39px,7.2vw,56px)}.hero-justice-visual {height:500px;width:min(620px,100%);align-self:center}.hero-justice-image {left:0;width:100%;height:100%;bottom:0}.hero-practices {right:0;bottom:35px;width:min(330px,73%)}.hero-brand .hero-credentials {margin-top:29px}}
@media(max-width:560px){.header-inner {min-height:67px}.brand {gap:6px}.brand-mark-logo {width:42px;height:47px}.brand-name strong {font-size:11px;letter-spacing:.045em}.brand-name small {font-size:7px;letter-spacing:.13em}.hero-brand .hero-content {padding-top:49px}.hero-brand-identity {gap:9px}.hero-brand-identity img {width:70px;height:75px}.hero-brand-name {font-size:clamp(26px,6.6vw,35px)}.hero-brand-role {font-size:10px;letter-spacing:.19em}.hero-brand-role span {width:24px}.hero-specialty {font-size:9px;letter-spacing:.08em}.hero-specialty span {padding:0 2px}.hero-brand h1 {font-size:clamp(36px,9.2vw,48px);line-height:1.09}.hero-brand .hero-subtitle {font-size:13px}.hero-justice-visual {height:365px}.hero-practices {bottom:18px;right:0;width:min(270px,77%);padding:8px 12px}.hero-practices>div {gap:7px;padding:8px 0}.hero-practice-symbol {flex-basis:22px;width:22px;font-size:20px}.hero-practices strong {font-size:16px}.hero-practices small {font-size:9px}.hero-brand .hero-credentials {font-size:8px;margin-top:26px}.service-card {min-height:255px}}


/* Fotografías reales aportadas para esta versión */
.hero-photo-visual { height: 685px; position: relative; align-self: end; display: block; min-width: 0; }
.hero-photo-frame { position: absolute; inset: 18px 7px 0 0; border: 1px solid rgba(198,155,96,.28); overflow: hidden; background: #0a1a25; }
.hero-photo-frame::before { content: ''; position: absolute; z-index: 2; inset: 13px auto auto 13px; height: 90px; width: 90px; border-left: 1px solid rgba(222,179,114,.8); border-top: 1px solid rgba(222,179,114,.8); pointer-events: none; }
.hero-photo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 47% 48%; filter: saturate(.75) contrast(1.04); }
.hero-photo-overlay { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(3,17,27,.91) 0%,rgba(3,17,27,.24) 49%,rgba(3,17,27,.08) 100%),linear-gradient(90deg,rgba(5,21,31,.16),transparent 55%); }
.hero-photo-kicker { position: absolute; top: 42px; right: 28px; color: #eee2d0; font-size: 10px; letter-spacing: .12em; font-weight: 700; padding: 10px 13px; background: rgba(5,22,31,.72); border: 1px solid rgba(220,178,115,.42); backdrop-filter: blur(6px); }
.hero-photo-kicker span { color: var(--gold-bright); margin-right: 8px; }
.hero-photo-visual .hero-practices { bottom: 29px; right: 30px; width: min(320px, calc(100% - 60px)); background: rgba(3,15,24,.88); }
.photographic-section { background: #e9e6df; }
.photography-heading h2 { max-width: 710px; }
.photography-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 18px; }
.photography-card { position: relative; margin: 0; height: 460px; overflow: hidden; background: #0d2634; isolation: isolate; }
.photography-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.photography-card:hover img { transform: scale(1.025); }
.photo-tribunales img { object-position: 49% 43%; }
.photo-prensa img { object-position: center 41%; }
.photography-card::after { content: ''; pointer-events: none; position: absolute; inset: 38% 0 0; background: linear-gradient(0deg,rgba(5,18,27,.94),transparent); }
.photography-card figcaption { position: absolute; z-index: 1; left: 31px; right: 28px; bottom: 28px; display: flex; flex-direction: column; gap: 9px; color: white; }
.photography-card figcaption span { color: #e8bd81; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.photography-card figcaption strong { font: 500 clamp(26px,3vw,40px)/1.07 var(--serif); }
.photography-outro { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 26px; color: #667177; font-size: 12px; }
.trajectory-gallery { background: #efede8; }
@media (max-width: 780px) {
  .hero-photo-visual { height: 470px; width: min(620px,100%); align-self: center; }
  .hero-photo-frame { inset: 16px 0 0; }
  .hero-photo-visual .hero-practices { right: 17px; width: min(320px, calc(100% - 38px)); bottom: 24px; }
  .hero-photo-kicker { top: 37px; right: 18px; }
  .photography-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .photography-card { height: 350px; }
  .photography-card figcaption { left: 20px; right: 15px; bottom: 23px; }
}
@media (max-width: 560px) {
  .hero-photo-visual { height: 390px; }
  .hero-photo-frame img { object-position: 50% 40%; }
  .hero-photo-kicker { font-size: 8px; top: 29px; right: 12px; }
  .hero-photo-visual .hero-practices { right: 13px; bottom: 16px; width: min(260px,76%); }
  .photography-grid { grid-template-columns: 1fr; gap: 14px; }
  .photography-card { height: 330px; }
  .photo-prensa { height: 420px; }
  .photography-card figcaption strong { font-size: 30px; }
  .photography-outro { align-items: flex-start; flex-direction: column; }
}


/* Trayectoria profesional y medios verificados */
.bio-award{border-left:3px solid var(--gold);background:#f0ebe1;padding:19px 23px;margin:24px 0 8px}
.bio-award .eyebrow{margin-bottom:9px}.bio-award strong{font:500 22px/1.25 var(--serif);display:block;color:#233845}
.bio-award p{margin:10px 0;color:#59636a;font-size:12px}
.bio-award a,.award-inline a{color:#8d693e;font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.experience-section{background:var(--cream)}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}
.experience-card{background:#fff;padding:32px 34px;border:1px solid #ded8cd;border-top:3px solid var(--gold)}
.experience-card>span{color:#9c7a50;font-size:12px}.experience-card h3{font:500 33px/1.12 var(--serif);margin:10px 0 14px}
.experience-card p{color:#67737b;font-size:13px;line-height:1.85;margin:0}
.career-press-link{padding:64px 0;background:#1c3342;color:white}.career-press-link>.container-width{display:flex;align-items:center;justify-content:space-between;gap:30px}
.career-press-link h2{font:500 40px/1.1 var(--serif);margin:13px 0}.career-press-link p{font-size:13px;color:#c1cfd3;max-width:620px}
.career-press-link a{flex-shrink:0}
.award-inline{margin-top:32px;display:flex;align-items:center;gap:18px;background:#f2ece1;padding:22px 24px;border-left:3px solid #bb9868;color:#263d4a}
.award-icon{color:#af8d5f;font-size:36px}.award-inline strong{display:block;font:500 25px var(--serif)}.award-inline p{font-size:11px;margin:4px 0;line-height:1.6}
.award-inline a{margin-left:auto;white-space:nowrap}
.press-page-head{padding:90px 0 100px}
.press-featured{background:#0d2230;color:#fff;padding:55px 0 70px}
.press-featured-grid{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:75px}
.press-featured h2{font:500 clamp(37px,4.8vw,63px)/1.1 var(--serif);margin:12px 0 22px}
.press-featured h2 em{color:var(--gold-bright);font-weight:400}
.press-featured p{color:#c1cdd1;font-size:14px;line-height:1.92;max-width:520px}
.press-feature-quote{margin-top:29px;padding-top:18px;border-top:1px solid #ffffff31;color:var(--gold-bright);font-size:12px;letter-spacing:.08em}
.press-photo{position:relative;min-height:390px;overflow:hidden;border:11px solid #b59a7335}
.press-photo img{width:100%;height:390px;object-fit:cover}
.press-photo span{position:absolute;left:0;right:0;bottom:0;padding:15px 18px;background:#0c2439db;color:#ecd7b9;text-align:right;font-size:11px;letter-spacing:.15em}
.press-list{background:var(--cream)}
.press-filters{display:flex;gap:11px;flex-wrap:wrap;margin:35px 0 26px}
.press-filter{background:transparent;border:1px solid #c7c2b8;border-radius:2px;padding:10px 18px;font:700 11px var(--sans);color:#3d4d54;cursor:pointer}
.press-filter.is-active,.press-filter:hover{background:#172d3a;color:white;border-color:#172d3a}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.press-card{background:#fff;display:flex;flex-direction:column;border:1px solid #dedbd3;border-top:3px solid #bb9767;padding:27px 25px 26px;min-height:295px}
.press-card[hidden]{display:none}
.press-card-top{display:flex;gap:10px;justify-content:space-between;align-items:baseline}
.press-source{color:#8d704e;font-weight:700;font-size:11px;letter-spacing:.06em}
.press-card time{font-size:10px;color:#8b9598;white-space:nowrap}
.press-tag{font-weight:600;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#8d9aa0;margin:23px 0 10px}
.press-card h3{font:500 27px/1.16 var(--serif);color:#243747;margin:0 0 12px}
.press-summary{font-size:12px;color:#617079;line-height:1.75;margin:0 0 19px}
.press-read{display:flex;justify-content:space-between;border-top:1px solid #e4dfd8;padding-top:15px;margin-top:auto;color:#8e6a3c;font-size:12px;font-weight:700}
.press-read:hover{color:#173340}
.press-disclaimer{font-size:11px;color:#7c8387;line-height:1.8;margin:28px 0 0}
.press-home-section{background:#eeeae3}.press-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.press-home-card{background:#fff;padding:28px;border-top:3px solid #b99a6a;display:flex;flex-direction:column;min-height:295px}
.press-home-card>div{display:flex;justify-content:space-between;color:#95774f;gap:10px;font-size:11px;font-weight:700}
.press-home-card time{font-size:10px;font-weight:400;color:#999;white-space:nowrap}
.press-home-card h3{font:500 28px/1.18 var(--serif);margin:22px 0 11px;color:#263b48}
.press-home-card p{font-size:12px;color:#627077;line-height:1.8}
.press-home-card small{margin-top:auto;color:#8d6d46;font-weight:700;font-size:11px}
.press-home-footer{margin-top:29px}
@media(max-width:1100px){.press-grid{grid-template-columns:repeat(2,1fr)}.press-featured-grid{gap:30px}.award-inline{flex-wrap:wrap}.award-inline a{margin-left:0}}
@media(max-width:760px){.press-featured-grid,.experience-grid,.press-grid,.press-home-grid{grid-template-columns:1fr}.press-photo{min-height:250px}.press-photo img{height:280px}.career-press-link>.container-width{display:block}.career-press-link a{display:inline-block;margin-top:20px}}
@media(max-width:650px){.award-inline{display:block}.award-icon{display:block;margin-bottom:10px}.award-inline a{display:inline-block;margin-top:12px}.press-card{min-height:0}.press-filters{gap:7px}.press-filter{padding:9px 11px}}


/* Trayectoria litigante y docencia UDLA — actualización octubre 2026 */
.about-content p strong{color:#f4e5cb;font-weight:600}
.about-mini-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-mini-grid-three div{min-width:0}
.professional-actions{display:flex;gap:19px;align-items:center;flex-wrap:wrap}
.professional-secondary{color:#dfc59b;font-size:12px;font-weight:700;letter-spacing:.03em;text-decoration:underline;text-underline-offset:5px}
.professional-secondary:hover{color:#fff}
.practice-teaching-section{background:#eae7df}
.practice-teaching-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:35px}
.practice-panel{background:#fff;padding:clamp(24px,3.2vw,43px);min-width:0;border-top:4px solid var(--gold);box-shadow:0 14px 40px rgba(9,25,38,.055)}
.practice-panel.teaching-panel{background:#112a3b;color:#f8f3ea;border-color:#d3ab70}
.practice-panel .panel-num{font-size:10px;font-weight:700;letter-spacing:2px;color:#9c713d}
.practice-panel.teaching-panel .panel-num{color:#ddbd8e}
.practice-panel h3{font:500 clamp(30px,3.1vw,43px)/1.14 var(--serif);margin:16px 0}
.practice-panel p,.practice-panel li{font-size:14px;line-height:1.85;color:#4f606a}
.practice-panel.teaching-panel p,.practice-panel.teaching-panel li{color:#d8e1e4}
.practice-panel.teaching-panel strong{color:#fff}
.practice-panel ul{padding-left:20px;margin:18px 0 0}
.practice-panel li+li{margin-top:8px}
.practice-source-note{color:#7e8588;font-size:11px;line-height:1.5;margin-top:23px}
@media(max-width:1100px){.about-mini-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.about-mini-grid-three,.practice-teaching-grid{grid-template-columns:1fr}.practice-panel{padding:26px}.professional-actions{align-items:flex-start;flex-direction:column;gap:13px}.bio-text h2{font-size:clamp(34px,9vw,47px)}}

/* ACTUALIZACIÓN PRENSA 2026-10-12 */
.press-jump-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:31px}
.press-jump-nav a{color:#e3cda7;border:1px solid #d8c29d74;padding:11px 15px;font-size:11px;font-weight:700;letter-spacing:.035em;transition:background .18s}
.press-jump-nav a:hover{background:#ffffff1b}
.media-showcase{background:#f6f4f0}
.media-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.media-feature-card{border:1px solid #dcd6cc;display:flex;flex-direction:column;background:#fff;min-width:0}
.media-feature-card__art{height:150px;background:linear-gradient(140deg,#193849,#071725);display:flex;align-items:center;justify-content:center;position:relative;color:#d8b989}
.media-feature-card:nth-child(2n) .media-feature-card__art{background:linear-gradient(140deg,#263d4a,#162733)}
.play-glyph,.judicial-video-icon{height:58px;width:58px;border:1px solid #d4ae77;border-radius:50%;display:grid;place-items:center;font-size:19px;padding-left:3px}
.media-feature-label{position:absolute;left:19px;bottom:15px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#e4caaa}
.media-feature-card__content{padding:23px 23px 26px;display:flex;flex-direction:column;flex:1}
.media-card-meta{display:flex;align-items:start;justify-content:space-between;gap:10px;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.05em;color:#927451;font-weight:700}
.media-card-meta time{font-size:10px;font-weight:500;color:#829096;white-space:nowrap}
.media-feature-card h3,.judicial-video-card h3{font:500 26px/1.15 var(--serif);margin:17px 0 13px;color:#223744}
.media-feature-card p,.judicial-video-card p{font-size:12px;line-height:1.85;color:#63727a;margin:0 0 22px}
.media-feature-card .press-read{margin-top:auto}
.justice-archive{background:#eae7e0}
.justice-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.judicial-video-card{display:flex;gap:22px;padding:26px;background:#fff;border:1px solid #dcd6cc}
.judicial-video-icon{height:65px;width:65px;flex:none;color:#9d7549;border-color:#bb9d72}
.judicial-video-body{flex:1}
.judicial-video-card h3{margin:13px 0 10px}
.judicial-video-links{display:flex;gap:12px;flex-wrap:wrap}
.judicial-video-links a,.academic-card a{font-size:12px;color:#8a6537;font-weight:700;border-bottom:1px solid #ceb18a;padding-bottom:4px}
.archive-caution{color:#68737a;font-size:11px;line-height:1.7;margin-top:23px}
.press-count{font-size:12px;color:#6b777e;margin:-13px 0 20px}
.academic-spotlight{background:#fcfaf6}
.academic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.academic-card{display:flex;flex-direction:column;background:#eef0ed;padding:31px;border-top:3px solid #b99a6a}
.academic-card-index{font-size:10px;letter-spacing:.08em;color:#93764f;font-weight:700}
.academic-card h3{font:500 28px/1.15 var(--serif);margin:19px 0 14px;color:#203744}
.academic-card p{color:#627178;font-size:12px;line-height:1.85;margin:0 0 24px}
.academic-card a{margin-top:auto;align-self:flex-start}
@media(max-width:1100px){.media-feature-grid,.academic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.media-feature-grid,.academic-grid,.justice-video-grid{grid-template-columns:1fr}.judicial-video-card{gap:13px;padding:21px}.judicial-video-icon{width:48px;height:48px}.press-jump-nav{gap:8px}.press-jump-nav a{padding:10px 12px}}
@media(max-width:420px){.media-card-meta{flex-wrap:wrap}.media-feature-card__art{height:138px}.judicial-video-card{display:block}.judicial-video-icon{margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){.press-jump-nav a{transition:none}}

/* REPRODUCTORES DE VIDEO Y MINIATURAS · 2026-10-12 */
.media-card-image-link{display:block;overflow:hidden;text-decoration:none;position:relative}
.media-card-image-link:focus-visible,.judicial-preview:focus-visible,.video-inline-cta:focus-visible,.video-dialog-close:focus-visible{outline:3px solid #d2a55e;outline-offset:3px}
.media-feature-card__art--photo{height:220px;position:relative;background:#0b1b29;overflow:hidden}
.media-feature-card__art--photo > img{height:100%;width:100%;object-fit:cover;object-position:center 49%;filter:brightness(.83);transition:transform .28s ease}
.media-card-image-link:hover .media-feature-card__art--photo img{transform:scale(1.035)}
.media-feature-card__art--photo:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(0deg,#081925cc,transparent);pointer-events:none}
.media-feature-card__art--photo .play-glyph,.media-feature-card__art--photo .media-feature-label{position:absolute;z-index:1}
.media-feature-card__art--photo .play-glyph{top:45%;left:50%;transform:translate(-50%,-50%);background:#081925af;color:#fff;backdrop-filter:blur(6px);font-size:24px}
.media-feature-card__art--photo .media-feature-label{left:17px;bottom:15px;color:#fff;max-width:90%}
.press-archive-photo-note{font-size:10px;letter-spacing:.02em;color:#68777d;line-height:1.65;display:block;margin-bottom:13px}
.judicial-video-card--with-thumb{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}
.judicial-preview{appearance:none;background:#071725;border:0;width:100%;position:relative;cursor:pointer;padding:0;aspect-ratio:16/9;overflow:hidden;display:block}
.judicial-preview > img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%;opacity:.91;transition:transform .28s ease}
.judicial-preview:hover > img{transform:scale(1.035)}
.judicial-preview:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,#071725bd,transparent);pointer-events:none}
.judicial-preview-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:#d5ad73;color:#122632;display:grid;place-items:center;padding-left:4px;z-index:1;font-size:24px;box-shadow:0 5px 20px #0009}
.judicial-preview-portrait{position:absolute;top:12px;right:12px;width:68px;height:68px;overflow:hidden;border-radius:50%;border:3px solid #fff;background:#192d39;box-shadow:0 4px 15px #0008;z-index:1}
.judicial-preview-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 50%}
.judicial-preview-source{position:absolute;left:16px;bottom:13px;color:#fff;font-size:11px;letter-spacing:.05em;font-weight:700;z-index:1;text-shadow:0 2px 6px #000}
.judicial-video-card--with-thumb .judicial-video-body{padding:23px 26px 27px}
.video-inline-cta{appearance:none;border:0;background:#152e3d;color:#fff;padding:9px 13px;font:700 12px/1.4 inherit;cursor:pointer;font-family:inherit}
.video-inline-cta:hover{background:#2c4b5b}
.judicial-video-links{align-items:center}
.video-dialog{width:min(960px,calc(100vw - 38px));max-width:960px;max-height:min(92vh,940px);border:1px solid #bd9e74;background:#061725;color:#fff;padding:0;box-shadow:0 25px 95px #000b;overflow-y:auto}
.video-dialog::backdrop{background:#07121ad9;backdrop-filter:blur(4px)}
.video-dialog-shell{min-width:0}
.video-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:20px 24px;background:#0c2130}
.video-dialog-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;color:#d5b98b}
.video-dialog-header h2{color:#fff;font:500 clamp(18px,3vw,27px)/1.2 var(--serif);margin:7px 0 0}
.video-dialog-close{border:1px solid #5f7080;padding:9px 12px;background:transparent;color:#fff;font:600 13px/1.4 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.video-dialog-close:hover{background:#284253}
.video-dialog-close span{padding-left:4px}
.video-dialog-frame{aspect-ratio:16 / 9;width:100%;background:#010101;display:grid;place-items:center}
.video-dialog-frame iframe{width:100%;height:100%;border:0;display:block}
.video-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#0c2130}
.video-dialog-bottom p{font-size:11px;line-height:1.55;color:#b8c5ce;margin:0}
.video-dialog-bottom a{font-size:12px;line-height:1.5;color:#e1be88;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
body.video-dialog-open{overflow:hidden}
@media(max-width:760px){.media-feature-card__art--photo{height:230px}.judicial-preview-portrait{width:56px;height:56px}.video-dialog-bottom{display:block}.video-dialog-bottom a{display:block;margin-top:10px}.video-dialog-header{padding:14px}.video-dialog-bottom{padding:14px}}
@media(prefers-reduced-motion:reduce){.media-feature-card__art--photo img,.judicial-preview > img{transition:none}}


/* PRENSA · miniaturas proporcionadas y compactas · 2026-10-12 */
/* Formato discreto adaptado a las tarjetas; los medios no se amplían a ancho completo. */
.media-showcase .container-width,.justice-archive .container-width{min-width:0}
.media-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.media-feature-card{max-width:100%;min-width:0;overflow:hidden}
.media-feature-card__art--photo{
  width:100%;height:clamp(138px,13vw,176px);min-height:0;max-height:176px;
  aspect-ratio:auto;overflow:hidden
}
.media-feature-card__art--photo>img{
  display:block;width:100%;height:100%;max-width:100%;
  object-fit:cover;object-position:center 45%;
}
/* Evita que el play y los rótulos tapen demasiado el retrato. */
.media-feature-card__art--photo .play-glyph{height:43px;width:43px;font-size:19px}
.media-feature-card__art--photo .media-feature-label{font-size:9px;line-height:1.3;left:11px;bottom:10px}
.media-feature-card__content{padding:18px 19px 22px}
.media-feature-card h3,.judicial-video-card h3{font-size:clamp(21px,2vw,24px)}
.press-archive-photo-note{font-size:9px}
/* Las audiencias también tienen formato de tarjeta, no posters gigantes. */
.justice-video-grid{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:18px}
.judicial-video-card--with-thumb{min-width:0;max-width:380px;width:100%;margin-inline:auto}
.judicial-preview{aspect-ratio:16/9;max-height:205px}
.judicial-preview>img{width:100%;height:100%;object-fit:cover}
.judicial-preview-play{height:50px;width:50px;font-size:20px}
.judicial-video-card--with-thumb .judicial-video-body{padding:18px 19px 23px}
.press-featured-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.press-photo{min-height:0;max-height:320px;border-width:8px}
.press-photo img{display:block;height:310px;object-fit:cover;object-position:center 48%}
@media(max-width:1100px){
  .media-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-feature-card__art--photo{height:clamp(150px,19vw,184px);max-height:184px}
}
@media(max-width:760px){
  .media-feature-grid,.justice-video-grid{grid-template-columns:1fr}
  .media-feature-card,.judicial-video-card--with-thumb{width:100%;max-width:440px;margin-inline:auto}
  .media-feature-card__art--photo{height:clamp(152px,43vw,190px);max-height:190px}
  .judicial-preview{max-height:240px}
  .press-featured-grid{grid-template-columns:1fr}
  .press-photo{max-height:250px}
  .press-photo img{height:242px}
}
@media(max-width:420px){
  .media-feature-card__art--photo{height:clamp(146px,42vw,172px);max-height:172px}
  .judicial-preview{max-height:205px}
}

/* Acceso a LexIA */
.desktop-nav .nav-lexia { color: var(--gold-bright); }
.desktop-nav .nav-lexia:hover { color: #fff1d6; }
