/* Legibilidad, composición y adaptación a pantallas pequeñas. */
:root{--t1:#edf1f7;--t2:#bac3d0;--t3:#a4afbf;--blue3:#82b7fa;--border:rgba(255,255,255,.14);--border2:rgba(255,255,255,.22)}
html{scroll-padding-top:90px}body{padding-bottom:80px}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #a5ccff;outline-offset:5px}
section{scroll-margin-top:85px}img{max-width:100%}
.gblob,.hero-grid-bg,.hvs-badge-court,.hvs-bottom-row,body::after{display:none}
.hero-pill,.hero-desc,.hero-ctas,.hero-right,.sw{animation:none;opacity:1;transform:none;filter:none}
.pill-dot,.fp-dot,.ff-tag-dot,.mapa-dot,.hvs-court-dot{animation:none;box-shadow:none}
.grad-text,.sh2 .gd,.ch .gd,.ff-grad,.q-text .hl,.sb-n .ac{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--blue3)}
nav{height:76px;background:rgba(8,12,20,.97);border-bottom:1px solid var(--border);padding:0 max(24px,calc((100vw - 1240px)/2))}
.nav-links a{font-size:.94rem;display:inline-flex;align-items:center;min-height:44px;color:var(--t2)}
.nav-links .nav-btn{color:white;padding-inline:1.25rem}
.logo-img{height:38px;max-width:190px;object-fit:contain}
.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:16px;z-index:1500;background:white;color:#080c14;padding:12px}.skip-link:focus{top:12px}
#hero{min-height:650px;max-width:1240px;padding:150px 32px 80px;gap:64px;grid-template-columns:1.15fr 1fr}
.hero-h1{font-size:clamp(2.6rem,4.5vw,4.6rem);line-height:1.08;letter-spacing:-.045em;font-weight:700}
.hero-desc{font-size:1.08rem;line-height:1.8;max-width:520px}.hero-pill{align-self:flex-start;font-size:.84rem}
.hero-right{height:420px;min-height:0;max-height:none}.hero-visual-stack{display:block}.hvs-main{height:100%;border-radius:18px;box-shadow:none}
.hvs-main-img,.hvs-sec-img{transition:none}.hero-visual-stack:hover .hvs-main-img{transform:none}
.hvs-label-tag{font-size:.9rem}.hvs-label-sub{font-size:.76rem;letter-spacing:.02em;text-transform:none;color:#e2e8f0}
.hvs-main-overlay{background:linear-gradient(transparent 45%,rgba(8,12,20,.9))}
.btn-main,.btn-ghost,.btn-send{font-size:1rem;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
.btn-main:hover,.btn-ghost:hover,.btn-send:hover,.nav-btn:hover,.sticky-cta-btn:hover{transform:none;box-shadow:none}
.sec{padding:88px 32px}.sh2{font-weight:700;line-height:1.15}.sp,.cc-text,.cl,.ff-body,.legal-body p,.legal-body ul li{font-size:1rem;line-height:1.85}
.stag,.ff-tag,.mapa-tag,.ilbl,.cc-n{font-size:.8rem}.sb{padding:26px 16px}.sb-n{font-size:2rem}.sb-l{font-size:.84rem}
.esp-head{margin-bottom:32px;gap:40px}.erow{grid-template-columns:36px minmax(0,1.2fr) minmax(0,1fr);gap:20px;padding:24px 8px}
.erow:hover{padding-left:8px;border-radius:0;background:none}.erow::before{display:none}.en{font-size:.82rem}
.ename{font-size:1.12rem;padding:0}.erow-expand,.erow:hover .erow-expand,.erow:focus-within .erow-expand{max-height:none;opacity:1;margin-top:8px;font-size:.95rem;line-height:1.7;overflow:visible}
.echip{font-size:.8rem;color:var(--t2);padding:5px 10px}.echips{gap:6px}
.ferrol-full::before,.ferrol-full::after,.ff-left::before{display:none}
.ferrol-full-inner{max-width:1164px;min-height:0;gap:64px;padding:80px 32px}
.ff-left{padding:0;border:0;gap:24px}.ff-h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}.ff-body{max-width:none}
.ff-addr-name{font-size:1rem}.ff-addr-val{font-size:.94rem;overflow-wrap:anywhere}.ff-address{padding:20px}
.despacho-note{background:#111b2a;border:1px solid var(--border);border-radius:16px;padding:32px;align-self:center}
.despacho-note h3{font-size:1.55rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:24px}
.despacho-steps{padding-left:24px;display:grid;gap:20px;margin-bottom:28px}.despacho-steps li{padding-left:8px}.despacho-steps li::marker{color:var(--blue3)}
.despacho-steps p{color:var(--t2);margin-top:4px;line-height:1.7}.despacho-note .btn-ghost{align-self:flex-start}
.quote-sec{padding:72px 32px}.q-author{font-size:.85rem;letter-spacing:.04em}.q-text{line-height:1.55;letter-spacing:-.02em}
.cc{padding:32px}.cc-title{font-size:1.2rem}.cc-n{margin-bottom:16px}
.contact-grid{gap:48px}.form-card{padding:32px;box-shadow:none}.field{margin-bottom:16px}
.field label,.form-steps-label{font-size:.85rem}.field input,.field select,.field textarea{font-size:1rem;min-height:48px}
.field-float label{font-size:1rem!important}.field-float input:focus~label,.field-float input:not(:placeholder-shown)~label,.field-float textarea:focus~label,.field-float textarea:not(:placeholder-shown)~label{font-size:.78rem!important;letter-spacing:0!important;text-transform:none!important}
.field-float input,.field-float textarea{padding:1.65rem 1rem .65rem!important}.priv{font-size:.85rem}.ival{font-size:1rem;overflow-wrap:anywhere}.soc{font-size:.9rem;min-height:44px}
.flinks a{font-size:.88rem;display:inline-flex;align-items:center;min-height:44px}.fcopy{font-size:.85rem}.mapa-addr,.mapa-item{font-size:1rem}.mapa-btn{font-size:.9rem;min-height:44px}
.sticky-cta-btn{font-size:.9rem;min-height:44px;display:flex;align-items:center;justify-content:center;box-shadow:none}.sticky-cta-bar{padding:12px 24px}.sticky-cta-text{font-size:.95rem}
@media(max-width:1000px){
 #hero{gap:32px;padding-inline:24px}.hero-right{height:380px}.hero-h1{font-size:3rem}
 .ferrol-full-inner{gap:32px}.contact-grid{gap:32px;grid-template-columns:1fr 1fr}.ff-address{padding:16px}
}
@media(max-width:760px){
 nav{height:68px;padding:0 20px}.logo-img{height:34px;max-width:175px}.menu-toggle{display:block;background:transparent;border:1px solid var(--border2);color:var(--t1);border-radius:8px;padding:10px 16px;font:inherit;min-height:44px}
 .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#0d1220;padding:16px 20px;border-bottom:1px solid var(--border2);flex-direction:column;align-items:stretch;gap:8px}.nav-links.is-open{display:flex}.nav-links a{width:100%;padding:12px}
 #hero{grid-template-columns:minmax(0,1fr);padding:112px 24px 48px;gap:32px;min-height:0}.hero-h1{font-size:clamp(2.3rem,8vw,3.5rem)}.hero-desc{font-size:1rem}.hero-right{height:280px}.hero-ctas{align-items:stretch}.hero-ctas a{flex:1;padding:12px 16px}
 .stats-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.sb:nth-child(2){border-right:0}.sb:nth-child(-n+2){border-bottom:1px solid var(--border)}
 .sec{padding:56px 24px}.esp-head,.sobre-grid,.contact-grid,.comp-grid,.ferrol-full-inner{grid-template-columns:minmax(0,1fr);gap:24px}.esp-head{margin-bottom:24px}.esp-head .sp{margin:0}
 .erow{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:24px 0;align-items:start}.erow:hover{padding-left:0}.echips{grid-column:2;justify-content:flex-start}.ename{font-size:1.08rem}.en{padding-top:4px}
 .ferrol-full-inner{padding:56px 24px;gap:32px}.despacho-note{padding:24px}.comp-grid{gap:1px}.cc{padding:28px}.quote-sec{padding:56px 24px}
 .form-card{padding:24px}.contact-grid>div{min-width:0}.frow{grid-template-columns:1fr}.mapa-header{padding:24px}.mapa-header-inner{align-items:flex-start}.mapa-item{overflow-wrap:anywhere;min-width:0}.mapa-embed{height:280px}
 footer{padding:28px 24px}.fi{align-items:flex-start;flex-direction:column}.flinks{gap:8px 20px}.sticky-cta-text{display:none}.sticky-cta-btn{width:100%}.sticky-cta-bar{padding:10px 20px calc(10px + env(safe-area-inset-bottom))}
 .legal-page-inner{padding:88px 24px 40px}.legal-body p,.legal-body ul li{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.privacy-check{display:flex;gap:12px;align-items:flex-start;color:var(--t2);font-size:.9rem;line-height:1.6}.privacy-check input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}
.privacy-check a,.priv a{color:var(--blue3);text-decoration:underline}#form-status{font-size:.95rem;color:var(--t1);line-height:1.65}#form-status:empty{display:none}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form button:disabled{opacity:.65;cursor:wait}

.stats-inner{grid-template-columns:repeat(2,minmax(0,1fr));max-width:740px}

/* Ajustes del plan UX 2026 */
.nav-logo::after{content:'Acción Legal Abogados';display:block;margin-left:10px;color:var(--t1);font-size:.79rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2.5rem}
.audience-card{display:flex;flex-direction:column;gap:.65rem;min-height:190px;padding:1.5rem;border:1px solid var(--border2);border-radius:16px;background:linear-gradient(145deg,rgba(26,95,180,.12),rgba(255,255,255,.025));color:var(--t2);text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.audience-card:hover,.audience-card:focus-visible{transform:translateY(-3px);border-color:var(--blue3);background:rgba(26,95,180,.12)}
.audience-card strong{color:var(--t1);font-size:1.25rem;letter-spacing:-.03em}
.audience-kicker,.audience-link{color:var(--blue3);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.audience-link{margin-top:auto;letter-spacing:0;text-transform:none}
.team-section{padding:6rem 2rem;background:#f4f6f9;color:#172033}
.team-inner{max-width:980px;margin:0 auto}
.team-section .sh2{color:#172033}
.team-section .stag{color:#1858a4}
.team-intro{max-width:680px;margin:1.25rem 0 2rem;color:#475467;line-height:1.75}
.team-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:0;list-style:none}
.team-names li{padding:1.1rem 1.2rem;border:1px solid #d8dee8;border-radius:12px;background:white;color:#172033;font-weight:600}
.q-source{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.q-source:hover,.q-source:focus-visible{color:var(--white)}
.optional-label{font-size:.78em;color:var(--t2);font-weight:400;letter-spacing:0;text-transform:none}
.field-hint{margin:-.45rem 0 .2rem;color:var(--t2);font-size:.78rem;line-height:1.5}
#contacto{background:linear-gradient(180deg,rgba(26,95,180,.055),transparent 72%)}
.mapa-embed{height:clamp(220px,32vw,360px);background:linear-gradient(145deg,#e8edf4,#cfd9e6)}
.mapa-embed iframe{filter:none!important}
@media(max-width:680px){
 .nav-logo::after{font-size:.68rem;margin-left:7px}
 .audience-grid{grid-template-columns:1fr;gap:.7rem;margin:1.1rem 0 2rem}
 .audience-card{min-height:unset;padding:1.1rem}
 .team-section{padding:4rem 1.25rem}
 .team-names{grid-template-columns:1fr;gap:.55rem}
 .team-names li{padding:.9rem 1rem}
 .hero-ctas{align-items:stretch}
 .hero-ctas .btn-main{flex:1;justify-content:center}
 .hero-ctas .btn-ghost{font-size:.76rem}
 .mapa-embed{height:230px}
}
@media(max-width:420px){
 .hero-ctas{flex-direction:column}
 .hero-ctas .btn-main,.hero-ctas .btn-ghost{width:100%;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){.audience-card{transition:none}.audience-card:hover{transform:none}}

.erow{grid-template-columns:48px minmax(0,1fr) minmax(180px,1fr)}
.erow-expand{max-height:none;opacity:1;margin-top:.3rem}
.erow-contact{position:relative;z-index:1;display:inline-block;width:max-content;margin-top:.55rem;color:var(--blue3);font-size:.72rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.erow-contact:focus-visible{outline:2px solid var(--blue3);outline-offset:3px;border-radius:3px}
@media(max-width:760px){.erow{grid-template-columns:36px minmax(0,1fr)}.erow .echips{grid-column:2;justify-content:flex-start;margin-top:.65rem}.stats-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--t2:#a4acbb;--t3:#9098a8}


/* Composición inmersiva. Identidad corporativa original. */
nav{background:rgba(8,12,20,.92);backdrop-filter:blur(18px);border-bottom-color:rgba(130,183,250,.18)}
#hero.immersive-hero{isolation:isolate;max-width:none;min-height:820px;min-height:max(740px,100svh);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:80px;padding:170px max(32px,calc((100vw - 1220px)/2)) 40px;overflow:hidden}
.hero-scene{position:absolute;inset:0;z-index:-2;background:#080c14}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:65% center}
.hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,20,.96),rgba(8,12,20,.84) 40%,rgba(8,12,20,.18) 100%),linear-gradient(0deg,#080c14,transparent 48%)}
.immersive-hero .hero-left{max-width:990px;gap:26px}
.immersive-hero .hero-pill{padding:0;border:0;background:none;color:#c7defa;letter-spacing:.11em;text-transform:uppercase;font-size:.74rem;border-radius:0}
.immersive-hero .hero-h1{font-size:clamp(3.5rem,6.7vw,6.2rem);line-height:1.02;letter-spacing:-.055em;font-weight:700}
.immersive-hero .grad-text{background:linear-gradient(110deg,#82b7fa,#c2ddff)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}
.immersive-hero .hero-desc{max-width:490px;font-size:1.12rem;line-height:1.8;color:#cad5e4}
.hero-ctas .btn-main{gap:32px;min-height:58px;padding:16px 26px;border-radius:10px;background:#1a5fb4;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.hero-ctas .btn-main:hover{background:#206ac4}.hero-ctas .btn-main span{font-size:1.3rem}
.hero-foot{display:flex;align-items:end;justify-content:space-between;gap:32px;border-top:1px solid rgba(178,209,250,.3);padding-top:24px;font-size:.78rem;color:#c2cfdf}
.hero-foot strong{display:block;font-size:1rem;font-weight:600;color:white;margin-top:4px}.hero-foot a{display:flex;align-items:center;gap:28px;color:#edf1f7;text-decoration:none;min-height:44px}.hero-foot a span{font-size:1.5rem;color:#82b7fa}.hero-location{text-align:right}
.sec{padding:120px 32px}.inner{max-width:1160px}.sh2{font-size:clamp(2.6rem,4.7vw,4.4rem);letter-spacing:-.055em;line-height:1.06}
#especialidades{background:var(--bg)}.esp-head{gap:72px;margin-bottom:48px}.esp-head .sp{max-width:400px}
.audience-grid{gap:40px;margin:0 0 56px}.audience-card{position:relative;min-height:160px;border:0;border-top:1px solid #334860;border-radius:0;padding:24px 0;background:none;box-shadow:none}.audience-card strong{font-size:1.5rem}.audience-card:hover,.audience-card:focus-visible{transform:none;border-color:#82b7fa;background:none}.audience-link{font-size:.85rem;margin-top:14px}.audience-card>span:nth-of-type(2){max-width:430px}
.esp-list-wrap{display:block;border-top:1px solid #334860}
.practice{border-bottom:1px solid #334860;background:transparent;transition:background .25s ease}
.practice summary{list-style:none;display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:20px;align-items:center;padding:28px 12px;cursor:pointer;color:#edf1f7}
.practice summary::-webkit-details-marker{display:none}.practice summary::marker{content:""}
.practice summary h3{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.25}
.practice-number{color:#91bcea;font-size:.8rem}.practice-toggle{position:relative;width:40px;height:40px;border:1px solid #415775;border-radius:50%}.practice-toggle::before,.practice-toggle::after{content:"";position:absolute;left:12px;right:12px;top:19px;height:1px;background:#b5d5ff}.practice-toggle::after{transform:rotate(90deg);transition:transform .2s ease}.practice[open] .practice-toggle::after{transform:rotate(0deg)}
.practice[open]{background:linear-gradient(90deg,rgba(26,95,180,.14),transparent)}.practice[open] h3,.practice summary:hover h3{color:#a5ccff}
.practice-body{padding:0 76px 32px;max-width:880px}.practice-body p{font-size:1.05rem;line-height:1.8;color:#bbc7d8}.practice-body .echips{justify-content:flex-start;margin:18px 0}.practice-body .erow-contact{font-size:.9rem;margin:4px 0 0;min-height:44px;display:inline-flex;align-items:center}.echip{background:rgba(26,95,180,.08);border-color:rgba(130,183,250,.2)}
.ferrol-full{background:linear-gradient(135deg,#10233c,#0c1422 65%);border-color:rgba(130,183,250,.16)}
.history-heading{max-width:1224px;margin:auto;padding:90px 32px 0}.history-year{display:flex;align-items:end;gap:48px;font-size:clamp(7rem,17vw,14rem);font-weight:700;line-height:.9;letter-spacing:-.08em;color:#83b8ff;margin-top:18px}.history-year span{max-width:270px;padding-bottom:12px;font-size:1.1rem;font-weight:400;line-height:1.65;letter-spacing:0;color:#c2d0e2}
.ferrol-full-inner{max-width:1224px;padding:64px 32px 90px;gap:90px;align-items:start}.ff-left{gap:24px}.ff-h2{font-size:clamp(2.4rem,4vw,3.6rem);letter-spacing:-.05em}.ff-body{color:#bdc9d9}.ff-address{background:none;border:0;border-top:1px solid #354860;border-radius:0;padding:24px 0 0}.ff-addr-icon{display:none}
.despacho-note{border:0;border-left:1px solid #354860;border-radius:0;background:none;padding:0 0 0 42px;box-shadow:none;align-self:start}.despacho-note h3{font-size:1.65rem}.despacho-steps{gap:28px}.despacho-steps p{color:#bdc9d9}
.integrated-team{padding:0 32px 90px;background:none;color:#edf1f7}.integrated-team .team-inner{max-width:1160px;border-top:1px solid #354860;padding-top:54px;display:grid;grid-template-columns:1fr 1fr;gap:0 90px}.integrated-team .stag{color:#91bcea;grid-column:1}.integrated-team .sh2{color:#edf1f7;font-size:2.5rem;grid-column:1}.integrated-team .team-intro{grid-column:1;color:#bdc9d9;margin-top:0}.integrated-team .team-names{grid-column:2;grid-row:1 / 4;display:flex;flex-direction:column;justify-content:center;gap:0;margin:0}.integrated-team .team-names li{padding:24px 0;border:0;border-bottom:1px solid #354860;border-radius:0;background:none;color:#edf1f7;font-size:1.2rem;font-weight:600}.integrated-team .team-names li:first-child{border-top:1px solid #354860}
.quote-sec{padding:150px 32px}.quote-sec-bg{filter:saturate(.65) brightness(.46);background-position:center}.quote-sec-overlay{background:linear-gradient(90deg,rgba(8,12,20,.94),rgba(8,12,20,.78) 65%,rgba(8,12,20,.55))}.q-inner{max-width:1000px;text-align:left}.q-stars{justify-content:flex-start;gap:8px}.q-text{font-size:clamp(1.5rem,3.1vw,2.7rem);font-weight:600;line-height:1.4;letter-spacing:-.035em}.q-author{color:#c1d0e4;text-transform:none;letter-spacing:0}
#compromiso{background:#080c14}.comp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:0;border-top:1px solid #334860;border-radius:0;background:none;overflow:visible}.cc{padding:30px 24px;border-right:1px solid #334860;background:none}.cc:first-child{padding-left:0}.cc:last-child{padding-right:0;border:0}.cc:hover{background:none}.cc::before{display:none}.cc-n{font-size:2.5rem;font-weight:400;letter-spacing:-.05em;color:#82b7fa;margin-bottom:32px}.cc-title{font-size:1.15rem}.cc-text{font-size:.95rem}
#contacto{background:radial-gradient(ellipse at 85% 20%,rgba(26,95,180,.21),transparent 60%),#0d1421;border-top:1px solid #263a54}.contact-heading{margin-bottom:64px}.contact-heading .ch{font-size:clamp(4rem,9vw,8rem);line-height:.99;letter-spacing:-.065em;font-weight:700}.contact-grid{grid-template-columns:1fr 1.15fr;gap:90px}.cl{max-width:400px;font-size:1.1rem}.form-card{border-radius:18px;background:#111e30;border:1px solid #354d6e;padding:36px;box-shadow:0 26px 70px rgba(0,0,0,.18)}
.btn-main,.btn-ghost,.btn-send,.nav-btn{transition:background .2s ease,box-shadow .2s ease}.btn-main:active,.btn-send:active{transform:translateY(1px)}
@media(max-width:1000px){.comp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc,.cc:first-child,.cc:last-child{padding:28px}.cc:nth-child(2){border-right:0}.cc:nth-child(-n+2){border-bottom:1px solid #334860}.contact-grid,.ferrol-full-inner{gap:40px}.integrated-team .team-inner{gap:0 40px}}
@media(max-width:760px){
 #hero.immersive-hero{min-height:760px;min-height:max(720px,95svh);padding:132px 24px 28px;gap:64px}.hero-scene img{object-position:64% center}.hero-scene::after{background:linear-gradient(90deg,rgba(8,12,20,.92),rgba(8,12,20,.6)),linear-gradient(0deg,#080c14,transparent 65%)}.immersive-hero .hero-h1{font-size:clamp(2.6rem,10.6vw,4.7rem)}.immersive-hero .hero-desc{font-size:1rem}.immersive-hero .hero-pill{font-size:.65rem;letter-spacing:.06em}.hero-foot{align-items:start;gap:20px;flex-direction:column;font-size:.75rem}.hero-location{display:none}.hero-foot strong{display:inline;margin-left:8px;font-size:.9rem}.hero-foot>span br{display:none}.hero-foot a{width:100%;justify-content:space-between}
 .sec{padding:72px 24px}.sh2{font-size:clamp(2.4rem,9.5vw,3.4rem)}.esp-head{gap:18px;margin-bottom:32px}.audience-grid{grid-template-columns:1fr;gap:8px;margin-bottom:32px}.audience-card{min-height:0;padding:24px 0}.practice summary{grid-template-columns:24px minmax(0,1fr) 36px;gap:12px;padding:24px 0}.practice summary h3{font-size:1.2rem}.practice-toggle{width:34px;height:34px}.practice-toggle::before,.practice-toggle::after{left:10px;right:10px;top:16px}.practice-body{padding:0 0 24px 36px}.practice-body p{font-size:.96rem}
 .history-heading{padding:64px 24px 0}.history-year{display:block;font-size:clamp(6.5rem,26vw,11rem)}.history-year span{display:block;max-width:100%;font-size:1rem;margin-top:22px;padding:0}.ferrol-full-inner{padding:48px 24px;grid-template-columns:1fr;gap:40px}.despacho-note{padding:32px 0 0;border-left:0;border-top:1px solid #354860}.integrated-team{padding:0 24px 64px}.integrated-team .team-inner{display:block;padding-top:40px}.integrated-team .sh2{font-size:2.2rem}.integrated-team .team-names{margin-top:28px}.integrated-team .team-names li{font-size:1.08rem}
 .quote-sec{padding:88px 24px}.q-text{font-size:1.6rem}.comp-grid{grid-template-columns:1fr}.cc,.cc:first-child,.cc:last-child{padding:28px 0;border:0;border-bottom:1px solid #334860}.cc-n{font-size:1.8rem;margin-bottom:14px}.contact-heading{margin-bottom:40px}.contact-heading .ch{font-size:clamp(3.6rem,15vw,6rem)}.contact-grid{grid-template-columns:1fr;gap:32px}.form-card{padding:24px}.hero-ctas .btn-main{flex:0 1 auto;width:auto}
}
@media(prefers-reduced-motion:reduce){.practice,.practice-toggle::after,.btn-main,.btn-ghost,.btn-send,.nav-btn{transition:none!important}.btn-main:active,.btn-send:active{transform:none}}

/* Sistema tipográfico y alineaciones comunes. */
:root{--content-width:1160px;--section-gap:96px;--column-gap:64px;--type-display:clamp(2.75rem,6.5vw,5.5rem);--type-heading:clamp(2rem,3.5vw,3rem);--type-subheading:clamp(1.2rem,2vw,1.5rem);--type-body:1rem;--type-small:.875rem;--type-label:.75rem}
body,button,input,textarea,select{font-family:var(--f);font-style:normal;font-weight:400}
button,input,textarea,select{font-size:var(--type-body);line-height:1.5;letter-spacing:0}
strong,b{font-weight:600}
.inner,.team-inner,.q-inner,.mapa-header-inner{max-width:var(--content-width)}
.sec{padding-block:var(--section-gap)}
#hero.immersive-hero{padding-inline:max(32px,calc((100vw - var(--content-width))/2));gap:64px;padding-top:160px}
.immersive-hero .hero-left{max-width:930px}.hero-scene img{object-position:70% center}
.immersive-hero .hero-h1,.contact-heading .ch{font-size:var(--type-display);font-weight:700;letter-spacing:-.045em;line-height:1.07;text-wrap:balance}
.immersive-hero .grad-text{background:none!important;-webkit-text-fill-color:#82b7fa!important;color:#82b7fa}
.sh2,.ff-h2,.integrated-team .sh2{font-size:var(--type-heading);font-weight:700;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}
.practice summary h3,.despacho-note h3,.audience-card strong{font-size:var(--type-subheading);font-weight:600;line-height:1.35;letter-spacing:-.02em}
.immersive-hero .hero-desc,.sp,.ff-body,.cl,.team-intro,.practice-body p,.despacho-steps p,.cc-text,.legal-body p,.legal-body ul li{font-size:var(--type-body);font-weight:400;line-height:1.8;letter-spacing:0}
.immersive-hero .hero-desc{max-width:460px}.cc-title,.integrated-team .team-names li{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}
.stag,.ff-tag,.mapa-tag,.audience-kicker,.immersive-hero .hero-pill,.ilbl{font-size:var(--type-label);font-weight:600;letter-spacing:.08em;line-height:1.5}
.nav-links a,.btn-main,.btn-ghost,.btn-send,.sticky-cta-btn,.mapa-btn,.soc,.legal-back-btn{font-size:var(--type-small);font-weight:600;line-height:1.5;letter-spacing:0}
.field label,.form-steps-label,.privacy-check,.priv,.field-hint,.q-author,.flinks a,.fcopy,.hero-foot,.audience-link,.practice-body .erow-contact{font-size:var(--type-small);line-height:1.6;letter-spacing:0}
.hero-foot strong{font-size:var(--type-body);font-weight:600}.optional-label{font-size:var(--type-small)}
.esp-head,.contact-grid,.ferrol-full-inner{gap:var(--column-gap)}.esp-head{margin-bottom:40px}.esp-head .sp{align-self:start!important;padding-top:32px}
.practice summary{padding-inline:0;grid-template-columns:48px minmax(0,1fr) 40px;gap:16px}.practice-body{padding-left:64px;padding-right:56px}.practice[open]{background:rgba(26,95,180,.07)}
.ferrol-full{background:#0d1421}.history-heading,.ferrol-full-inner{max-width:calc(var(--content-width) + 64px)}
.history-heading{padding-top:var(--section-gap)}.history-year{font-size:clamp(3.5rem,6vw,5.5rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;gap:32px;color:#edf1f7}.history-year span{font-size:var(--type-body);font-weight:400;max-width:320px;line-height:1.65;padding-bottom:3px}
.ferrol-full-inner{padding-top:48px;padding-bottom:64px}.despacho-note{padding-left:32px}.integrated-team{padding-bottom:var(--section-gap)}.integrated-team .team-inner{gap:0 var(--column-gap);padding-top:48px}
.quote-sec{padding-block:var(--section-gap)}.q-text{max-width:960px;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:600;line-height:1.55;letter-spacing:-.02em}
#contacto{background:#0d1421}.contact-heading{margin-bottom:48px}.form-card{box-shadow:none;background:#111c2c;border-color:#30415b;border-radius:16px}
.cc-n{font-size:1.75rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin-bottom:24px;color:#909fb3}.mapa-title{font-size:1.125rem;font-weight:600;line-height:1.4}
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:-.22em;flex-shrink:0;transition:transform .18s ease}.icon-external{transform:rotate(-45deg)}.icon-down{transform:rotate(90deg)}.icon-back{transform:rotate(180deg)}
.audience-link,.practice-body .erow-contact,.q-source,.mapa-btn,.legal-back-btn{gap:10px;align-items:center}.audience-link{display:inline-flex}.q-source .ui-icon,.mapa-btn .ui-icon,.legal-back-btn .ui-icon{margin-left:6px}.mapa-item-icon{display:inline-flex;align-items:center}.practice-toggle::before,.practice-toggle::after{height:1.5px}
.practice summary:focus-visible{outline:2px solid #a5ccff;outline-offset:5px;border-radius:4px}.btn-main:hover .ui-icon:not(.icon-external):not(.icon-down):not(.icon-back){transform:translateX(3px)}
@media(max-width:1000px){:root{--column-gap:40px}}
@media(max-width:760px){
 :root{--section-gap:64px;--column-gap:32px;--type-display:clamp(2.45rem,9.8vw,4.25rem);--type-heading:clamp(2rem,7.5vw,2.5rem)}
 #hero.immersive-hero{padding-inline:24px;padding-top:128px;gap:48px}.hero-scene img{object-position:64% center}.immersive-hero .hero-pill{font-size:var(--type-label);letter-spacing:.06em}.hero-foot a{gap:16px}.hero-foot strong{display:block;margin-left:0}
 .esp-head .sp{padding-top:0}.practice summary{grid-template-columns:24px minmax(0,1fr) 34px;gap:12px}.practice-body{padding-left:36px;padding-right:0}.history-year{font-size:3.5rem}.history-year span{margin-top:16px;font-size:var(--type-body)}
 .ferrol-full-inner{padding-block:40px}.despacho-note{padding-left:0;padding-top:32px}.integrated-team .team-inner{padding-top:32px}.integrated-team .team-names li{font-size:1.125rem}.contact-heading{margin-bottom:32px}.form-card{padding:24px}
}
@media(prefers-reduced-motion:reduce){.ui-icon{transition:none!important}.btn-main:hover .ui-icon{transform:none}.btn-main:hover .icon-external{transform:rotate(-45deg)}.btn-main:hover .icon-down{transform:rotate(90deg)}.btn-main:hover .icon-back{transform:rotate(180deg)}}

/* Auditoría de continuidad: un mismo ritmo y estados de interacción. */
:root{--motion-duration:220ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.commitment-heading{margin-bottom:40px;text-align:left}.commitment-heading .sh2{max-width:650px;margin:0}
.esp-head,.contact-grid,.ferrol-full-inner,.integrated-team .team-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
.esp-head>*,.contact-grid>*,.ferrol-full-inner>*,.integrated-team .team-inner>*{min-width:0}
.integrated-team .team-names{justify-content:flex-start}
.esp-head .sp{padding-top:0;align-self:end!important}
.practice summary h3,.practice-toggle,.q-source,.nav-links a,.erow-contact,.audience-link{transition:color var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease),background-color var(--motion-duration) var(--motion-ease)}
.practice[data-closing] .practice-toggle::after{transform:rotate(90deg)}
.practice[data-closing]{background:transparent}
.practice-toggle{display:block}.practice summary{min-height:88px}
.quote-sec{border-top-color:#263a54;border-bottom-color:#263a54}
.quote-sec-overlay{background:linear-gradient(0deg,#080c14 0%,transparent 24%,transparent 76%,#0d1421 100%),linear-gradient(90deg,rgba(8,12,20,.94),rgba(8,12,20,.78) 65%,rgba(8,12,20,.55))}
.audience-card:focus-visible,.practice summary:focus-visible,.q-source:focus-visible{outline:2px solid #a5ccff;outline-offset:5px}
@media(max-width:760px){.esp-head,.contact-grid,.ferrol-full-inner{grid-template-columns:minmax(0,1fr)}.commitment-heading{margin-bottom:32px}.practice summary{min-height:80px}.esp-head .sp{align-self:start!important}.integrated-team .team-inner{display:block}}
@media(prefers-reduced-motion:reduce){.practice summary h3,.practice-toggle,.q-source,.nav-links a,.erow-contact,.audience-link{transition:none!important}}

/* Ajustes contrastados con las capturas del despacho. */
nav{padding-inline:max(32px,calc((100vw - var(--content-width))/2))}
.audience-grid{column-gap:var(--column-gap);align-items:stretch;margin-bottom:32px}
.audience-card .audience-link{margin-top:auto;padding-top:16px}
#especialidades{padding-top:56px;padding-bottom:64px}
.history-heading{padding-top:64px}
#contacto{padding-bottom:56px}
.mapa-header{padding:32px}
.mapa-header-inner{gap:24px 40px;align-items:center}
.mapa-data{gap:16px 24px}
@media(min-width:761px){body{padding-bottom:0}.sticky-cta-bar{display:none}}
@media(max-width:760px){
 nav{padding-inline:20px}
 .audience-grid{margin-bottom:24px}
 .audience-card .audience-link{padding-top:8px}
 #especialidades{padding-top:40px;padding-bottom:48px}
 .history-heading{padding-top:48px}
 #contacto{padding-bottom:40px}
 .mapa-header{padding:28px 24px}.mapa-header-inner{align-items:flex-start}
}

/* Ajuste final propuesto: foto más presente y recorrido más compacto. */
#hero.immersive-hero{min-height:clamp(680px,calc(100svh - 60px),820px);padding-top:132px;padding-bottom:32px;gap:clamp(30px,5vh,54px)}
.hero-scene img{object-position:72% center;filter:brightness(1.28) saturate(1.12) contrast(1.04)}
.hero-scene::after{background:linear-gradient(90deg,rgba(8,12,20,.95) 0%,rgba(8,12,20,.82) 34%,rgba(8,12,20,.36) 66%,rgba(8,12,20,.12) 100%),linear-gradient(0deg,#080c14 0%,rgba(8,12,20,.2) 28%,transparent 58%)}
.immersive-hero .hero-left{max-width:830px}.immersive-hero .hero-h1{max-width:820px}.immersive-hero .hero-desc{max-width:430px}
.hero-foot{padding-top:18px}.hero-foot a{gap:16px}
#especialidades{padding-top:48px;padding-bottom:56px}.esp-head{margin-bottom:32px}.audience-grid{column-gap:var(--column-gap);row-gap:0;margin-bottom:24px}.audience-card{min-height:180px;padding:22px 0 18px;display:flex;flex-direction:column;align-items:flex-start}.audience-card strong{min-height:1.4em}.audience-card>span:nth-of-type(2){min-height:3.2em;max-width:440px}.audience-card .audience-link{margin-top:auto;padding-top:12px}
.practice:not([open]) .practice-body{display:none}.practice[open] .practice-body{display:block}.practice summary{min-height:78px}.practice:not([open]){background:transparent}.practice[name="areas-practica"]{overflow:clip}
.history-heading{padding-top:56px}.ferrol-full-inner{padding-bottom:48px}.integrated-team{padding-bottom:64px}
.quote-sec{padding-block:clamp(80px,9vw,120px)}#compromiso{padding-top:80px;padding-bottom:80px}.commitment-heading{margin-bottom:32px}
.contact-heading{margin-bottom:40px}#contacto{padding-top:88px;padding-bottom:48px}
@media(max-width:760px){
 #hero.immersive-hero{min-height:clamp(640px,calc(94svh - 60px),760px);padding-top:116px;padding-bottom:22px;gap:34px}
 .hero-scene img{object-position:67% center;filter:brightness(1.2) saturate(1.08)}.hero-scene::after{background:linear-gradient(90deg,rgba(8,12,20,.9),rgba(8,12,20,.62)),linear-gradient(0deg,#080c14,rgba(8,12,20,.12) 35%,transparent 72%)}
 .hero-foot{padding-top:14px}.audience-card{min-height:0;padding:20px 0 16px}.audience-card strong,.audience-card>span:nth-of-type(2){min-height:0}.practice summary{min-height:72px}.history-heading{padding-top:44px}.ferrol-full-inner{padding-bottom:40px}.integrated-team{padding-bottom:48px}#contacto{padding-top:64px;padding-bottom:40px}
}

/* Separación entre secciones y un solo estilo para enlaces de acción. */
#especialidades{position:relative;border-top:1px solid rgba(130,183,250,.16);background:linear-gradient(180deg,#101b2a 0,#0c1420 180px,#080c14 430px,#0c1420 100%)}
.ferrol-full{border-top:1px solid rgba(130,183,250,.2);border-bottom:1px solid rgba(130,183,250,.14);background:linear-gradient(180deg,#101a29 0,#0d1421 240px,#101a29 100%)}
.quote-sec{border-top:1px solid rgba(130,183,250,.2);border-bottom:1px solid rgba(130,183,250,.2)}
.integrated-team{border-top:1px solid rgba(130,183,250,.18);background:linear-gradient(180deg,#0d1421 0,#101a2a 100%)}
#compromiso{border-top:1px solid rgba(130,183,250,.16);background:linear-gradient(140deg,#0b111c,#101a2a 72%,#0b111c)}
#contacto{border-top:1px solid rgba(130,183,250,.2);background:linear-gradient(145deg,#101c2d,#0b111c 78%)}
.mapa-section{border-top:1px solid rgba(130,183,250,.2);background:#0d1421}
.audience-card .audience-link,.practice-body .erow-contact,.q-source,.hero-foot a,.nav-links a,.btn-main,.btn-ghost,.btn-send,.sticky-cta-btn,.mapa-btn,.soc{
 font-family:var(--f)!important;font-style:normal;font-size:var(--type-small);font-weight:600;letter-spacing:0;line-height:1.5;font-variant-ligatures:common-ligatures
}
.audience-card .audience-link{color:#82b7fa}.practice-body .erow-contact{color:#82b7fa}
.audience-card .ui-icon,.practice-body .ui-icon,.q-source .ui-icon,.hero-foot .ui-icon{font:inherit;flex:0 0 20px}
.audience-card,.practice summary,.practice-body,.integrated-team .team-names li{min-width:0}
@media(max-width:760px){
 #especialidades{background:linear-gradient(180deg,#101b2a 0,#0b121e 160px,#080c14 100%)}
 .integrated-team{background:linear-gradient(180deg,#0d1421,#101a2a)}
 .audience-card .audience-link,.practice-body .erow-contact,.q-source,.hero-foot a{font-size:var(--type-small)}
}

/* Alinear la introducción de especialidades y darle margen bajo la navegación. */
#especialidades{padding-top:88px;background:linear-gradient(180deg,#101b2a 0,#0e1826 170px,#080c14 390px,#0c1420 100%)}
#especialidades .esp-head{align-items:start}
#especialidades .esp-head .sp{align-self:start!important;padding:calc(var(--type-label)*1.5 + 1.25rem) 0 0!important;margin:0!important;max-width:440px}
#especialidades .audience-grid{margin-top:0}
#especialidades .practice:first-child{border-top:0}
@media(max-width:760px){
 #especialidades{padding-top:64px}
 #especialidades .esp-head{gap:14px}
 #especialidades .esp-head .sp{padding:0!important;max-width:none}
}

/* Evitar que el salto de navegación y el relleno acumulen un hueco grande. */
#especialidades{scroll-margin-top:76px;padding-top:40px}
@media(max-width:760px){#especialidades{scroll-margin-top:68px;padding-top:32px}}

/* Jerarquía clara: perfil, materia jurídica y contacto. */
#especialidades .esp-head{gap:clamp(40px,8vw,112px);margin-bottom:44px}
#especialidades .esp-head .sh2{max-width:720px}
#especialidades .esp-head .sp{max-width:380px;padding-top:calc(var(--type-label)*1.5 + 1.25rem)!important;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.75;color:#c0ccdc}
#especialidades .audience-grid{gap:20px;margin-bottom:42px}
#especialidades .audience-card{min-height:230px;padding:28px 30px 24px;border:1px solid rgba(130,183,250,.25);border-radius:12px;background:linear-gradient(145deg,rgba(25,48,77,.72),rgba(13,23,37,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
#especialidades .audience-card:hover,#especialidades .audience-card:focus-visible{transform:translateY(-3px);border-color:rgba(130,183,250,.72);background:linear-gradient(145deg,rgba(28,58,94,.84),rgba(14,26,43,.98));box-shadow:0 16px 40px rgba(0,0,0,.18)}
#especialidades .audience-card .audience-kicker{color:#91bcea;font-size:var(--type-label);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
#especialidades .audience-card strong{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.25}
#especialidades .audience-card>span:nth-of-type(2){max-width:440px;min-height:0;color:#bdc9d9;line-height:1.65}
#especialidades .audience-card .audience-link{display:inline-flex;align-items:center;gap:12px;padding-top:16px;color:#9bc5ff}
#especialidades .practice-step{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:#dfe8f5}
#especialidades .practice-step span{color:#91bcea;font-size:var(--type-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
#especialidades .practice-step p{margin:0;font-size:var(--type-small);font-weight:500;letter-spacing:0;color:#c0ccdc}
#especialidades .esp-list-wrap{border-top:1px solid rgba(130,183,250,.28)}
@media(max-width:760px){
 #especialidades .esp-head{gap:16px;margin-bottom:28px}
 #especialidades .esp-head .sp{padding-top:0!important;font-size:1rem}
 #especialidades .audience-grid{gap:12px;margin-bottom:30px}
 #especialidades .audience-card{min-height:0;padding:22px 20px 20px;border-radius:10px}
 #especialidades .audience-card strong{font-size:1.3rem}
 #especialidades .audience-card>span:nth-of-type(2){max-width:none}
 #especialidades .practice-step{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){#especialidades .audience-card{transition:none}#especialidades .audience-card:hover{transform:none}}
