/* ERZA ABOGADOS — hoja de estilos principal */
:root{
  --navy:#092653;
  --navy-900:#071b39;
  --navy-800:#0d2d58;
  --gold:#9b7d2c;
  --gold-light:#d2b475;
  --gold-muted:#b69b62;
  --paper:#f8f6f1;
  --paper-deep:#f2eee5;
  --text:#162b46;
  --grey:#626974;
  --line:#e4e0d6;
  --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,"Segoe UI",Arial,Helvetica,sans-serif;
  --shadow:0 20px 60px rgba(6,27,57,.09);
  --container:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}
img,svg{display:block;max-width:100%}
::selection{background:#d8c59b;color:var(--navy)}
.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}
.skip-link{position:fixed;z-index:9999;left:18px;top:-100px;padding:12px 20px;background:white;color:var(--navy);border:2px solid var(--gold)}
.skip-link:focus{top:15px}
.progress{position:fixed;top:0;left:0;right:0;z-index:1001;height:3px;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--gold-light);transition:width .1s linear}
.topline{height:35px;background:var(--navy-900);color:#d5dfec;font-size:11px;letter-spacing:.055em}
.topline__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topline__place,.topline__phones{display:flex;align-items:center;gap:9px}
.topline__place svg{color:var(--gold-light)}
.topline__phones{gap:14px}
.topline__phones>span:first-child{text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:#b8c1ce}
.topline__phones a{color:#f6f6f4;font-weight:600;transition:color .2s}
.topline__phones a:hover{color:var(--gold-light)}
.topline__dot{width:3px;height:3px;background:var(--gold-light);border-radius:50%}
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.975);box-shadow:0 1px 0 rgba(9,38,83,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .25s}
.header.is-scrolled{box-shadow:0 8px 35px rgba(7,27,57,.09)}
.header__inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;width:238px;flex:0 0 auto;position:relative}
.brand img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.nav{display:flex;align-items:center;gap:clamp(18px,2.35vw,36px)}
.nav__link{font-size:12px;letter-spacing:.025em;font-weight:650;color:#364253;white-space:nowrap;position:relative;transition:color .2s}
.nav__link:hover,.nav__link.is-active{color:var(--gold)}
.nav__link:not(.nav__cta)::after{content:"";position:absolute;bottom:-10px;left:0;width:0;height:2px;background:var(--gold);transition:width .25s}
.nav__link:not(.nav__cta):hover::after,.nav__link.is-active:not(.nav__cta)::after{width:100%}
.nav__cta{display:inline-flex;align-items:center;gap:16px;background:var(--navy);color:white;padding:13px 18px}
.nav__cta:hover,.nav__cta.is-active{background:var(--gold);color:white}
.nav__cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.menu-toggle{display:none}
.hero{min-height:635px;position:relative;isolation:isolate;overflow:hidden;color:white;background:linear-gradient(115deg,#071b38 0%,#092753 52%,#0d3460 100%)}
.hero__pattern{position:absolute;inset:0;z-index:-1;opacity:.32;background-image:linear-gradient(rgba(238,212,167,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(238,212,167,.055) 1px,transparent 1px);background-size:85px 85px;mask-image:linear-gradient(90deg,transparent,#000 52%)}
.hero::before{content:"";position:absolute;z-index:-1;width:650px;height:650px;background:radial-gradient(circle,rgba(167,132,63,.11),transparent 65%);right:-60px;top:-220px;pointer-events:none}
.hero__arc{position:absolute;pointer-events:none;border:1px solid rgba(207,178,115,.13);border-radius:50%;width:700px;height:700px;right:-330px;top:-250px;z-index:-1}
.hero__arc--two{width:920px;height:920px;right:-440px;top:-360px;border-color:rgba(207,178,115,.08)}
.hero__content{display:grid;grid-template-columns:1.07fr .93fr;gap:clamp(40px,6vw,90px);align-items:center;min-height:560px;padding-top:64px;padding-bottom:60px}
.hero__copy{position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;color:var(--gold);font-size:11px;letter-spacing:.19em;font-weight:750;margin:0 0 26px;line-height:1.4}
.eyebrow__line{display:block;flex:0 0 26px;height:1px;background:currentColor}
.eyebrow--light{color:var(--gold-light)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.052em;line-height:1.08;font-size:clamp(43px,4.55vw,69px);margin:0 0 25px;max-width:650px}
.hero h1 em,.section-title em{font-style:italic;font-weight:400;color:var(--gold-light)}
.hero__lead{font-size:16px;line-height:1.75;color:#d1dce9;max-width:475px;margin:0 0 34px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:16px 22px;min-height:57px;text-align:center;font-size:12px;font-weight:750;letter-spacing:.02em;transition:background .25s,transform .25s,color .25s}
.btn svg,.text-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.btn:hover svg,.text-link:hover svg{transform:translateX(5px)}
.btn--gold{background:var(--gold-light);color:var(--navy-900)}
.btn--gold:hover{background:#e9d19c;transform:translateY(-2px)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:650;line-height:1.3;white-space:nowrap}
.text-link--light{color:#e8edf4}
.text-link--light:hover{color:var(--gold-light)}
.hero__bottomline{display:flex;align-items:flex-start;gap:14px;margin-top:50px;color:#c5d0de;font-size:10px;letter-spacing:.04em;line-height:1.9;max-width:500px}
.hero__bottomline-mark{flex:0 0 17px;margin-top:9px;height:1px;background:var(--gold-light)}
.hero__bottomline b{color:var(--gold-light);font-size:15px;font-weight:400;padding:0 5px}
.hero__visual{position:relative;z-index:1;max-width:535px;width:100%;justify-self:end;padding-bottom:0;display:flex;flex-direction:column}
.hero__outline{position:absolute;left:24px;top:-24px;right:-25px;bottom:45px;border:1px solid rgba(212,180,117,.47);pointer-events:none}
.hero__logo-card{position:relative;background:#fff;color:var(--navy);padding:25px 24px 26px;box-shadow:0 34px 90px rgba(0,0,0,.28);border-top:4px solid var(--gold-light)}
.hero__logo-top{display:flex;justify-content:space-between;align-items:center;padding:0 6px 12px;border-bottom:1px solid #eeeae0;font-size:10px;letter-spacing:.17em;font-weight:650;color:#8d8b85}
.mini-ornament{display:block;width:17px;height:1px;background:var(--gold)}
.hero__logo-card img{width:100%;height:auto;margin:32px 0 25px}
.hero__logo-base{display:flex;align-items:center;justify-content:center;gap:11px;color:#737f8c;font-size:10px;letter-spacing:.015em;text-align:center;white-space:nowrap}
.hero__gold-stroke{width:25px;height:1px;background:#c1ad78;opacity:.9}
.hero__schedule{position:relative;bottom:auto;left:auto;display:flex;align-items:center;align-self:flex-start;margin-top:15px;gap:15px;padding:18px 25px;background:#fff;color:var(--navy);box-shadow:0 16px 40px rgba(3,16,35,.2);border-left:3px solid var(--gold)}
.hero__schedule-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border:1px solid #e0d8c7;color:var(--gold)}
.hero__schedule-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero__schedule>div{display:flex;flex-direction:column;gap:1px;line-height:1.4}
.hero__schedule-label{color:#6a7280;font-size:10px;letter-spacing:.03em}
.hero__schedule strong{font-family:var(--serif);font-weight:400;font-size:17px}
.hero__schedule>div>span:last-child{font-size:12px;color:#5e6470}
.hero__footer{height:58px;border-top:1px solid rgba(222,202,170,.15);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b7c5d6;letter-spacing:.15em}
.hero__footer a{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.06em;transition:color .2s}
.hero__footer a:hover{color:var(--gold-light)}
.hero__footer svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.section{padding:104px 0 112px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:44px;margin-bottom:42px}
.section-head .eyebrow{margin-bottom:14px}
.section-title{font-size:clamp(37px,4vw,56px);letter-spacing:-.055em;font-weight:400;line-height:1.15;font-family:var(--serif);color:var(--navy);margin:0}
.section-title em{color:var(--gold)}
.section-head__aside{max-width:320px;margin:0 0 7px;padding-left:22px;border-left:1px solid #c6b98e;color:var(--grey);font-size:14px;line-height:1.8}
.areas{background:var(--paper)}
.areas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.area-card{position:relative;min-height:235px;padding:26px 30px 30px;background:#fff;border:1px solid #e8e4db;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.area-card::after{content:"";position:absolute;width:175px;height:175px;border:1px solid rgba(182,155,98,.13);border-radius:50%;right:-93px;bottom:-95px;pointer-events:none}
.area-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d5c198}
.area-card__top{display:flex;justify-content:space-between;align-items:flex-start;color:#a49b8a;font-size:12px;font-weight:600;letter-spacing:.08em}
.area-card__icon{display:block;width:47px;height:47px;color:#9a8658}
.area-card__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.area-card h3{margin:0 0 20px;font-size:clamp(23px,2.2vw,29px);font-family:var(--serif);font-weight:400;line-height:1.25;letter-spacing:-.03em;color:var(--navy)}
.area-card__line{width:35px;height:2px;background:var(--gold);transition:width .3s}
.area-card:hover .area-card__line{width:78px}
.matters{background:var(--navy-900);color:white;position:relative;isolation:isolate;overflow:hidden}
.matters::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 100% 0%,rgba(51,93,137,.18),transparent 55%)}
.matters__decoration{position:absolute;right:-30px;top:-100px;font-family:var(--serif);font-size:650px;line-height:1;color:rgba(255,255,255,.025);pointer-events:none;z-index:-1}
.section-head--dark .section-title{color:#fff}
.section-head--dark .section-title em{color:var(--gold-light)}
.section-head--dark .section-head__aside{color:#b8c5d5;border-color:#9f8655}
.matters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.matter-card{position:relative;min-height:232px;border:1px solid rgba(212,204,184,.25);background:rgba(255,255,255,.038);display:flex;flex-direction:column;padding:25px 26px;transition:background .3s,border-color .3s,transform .3s}
.matter-card--wide{grid-column:span 2;min-height:215px}
.matter-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.08);border-color:rgba(211,179,111,.65)}
.matter-card::before{content:"";position:absolute;left:0;top:0;width:55px;height:2px;background:var(--gold-light);transition:width .3s}
.matter-card:hover::before{width:100%}
.matter-card__num{color:var(--gold-light);font-size:10px;letter-spacing:.11em;font-weight:650}
.matter-card h3{font-family:var(--serif);font-size:clamp(22px,2vw,29px);letter-spacing:-.028em;line-height:1.29;font-weight:400;color:white;margin:auto 0 0}
.matter-card--wide h3{max-width:390px}
.matter-card__inner{display:flex;align-items:end;justify-content:space-between;gap:10px;flex:1}
.matter-card p{font-size:12px;margin:8px 0 0;color:#bac9d8}
.matter-card__spark{display:block;width:18px;height:18px;min-width:18px;border-right:1px solid var(--gold-light);border-top:1px solid var(--gold-light);position:relative;opacity:.65;align-self:flex-end;margin-top:16px}
.matter-card__spark::after{content:"";width:24px;height:1px;background:var(--gold-light);position:absolute;right:-3px;top:7px;transform:rotate(-45deg)}
.education{background:#fff}
.education__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,135px);align-items:start}
.education__intro{position:relative;min-height:395px;border-left:2px solid var(--gold);padding:10px 0 30px 34px;overflow:hidden}
.education__intro .eyebrow{margin-bottom:19px}
.education__intro .section-title{max-width:380px}
.education__identity{position:absolute;bottom:28px;left:34px;right:0;display:flex;flex-direction:column;font-size:12px;font-weight:700;letter-spacing:.2em;color:#9b8b69;gap:4px}
.education__identity-line{height:1px;width:90px;background:#b9a66f;margin-bottom:15px}
.education__identity span:nth-child(2){font-family:var(--serif);font-size:87px;line-height:.95;color:#eee9df;font-weight:400;letter-spacing:-.07em}
.education__list{border-top:1px solid var(--line)}
.education__item{display:grid;grid-template-columns:63px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid var(--line)}
.education__index{font-size:12px;letter-spacing:.06em;color:var(--gold);font-weight:700;margin-top:4px}
.education__item p{font-size:17px;line-height:1.65;color:#39475b;max-width:570px;margin:0}
.education__item strong{color:var(--navy);font-weight:700}
.details{background:var(--paper-deep);padding:0}
.details__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:279px}
.detail-block{position:relative;overflow:hidden;padding:57px 55px 60px;background:var(--paper-deep);border-left:1px solid #e3dcd0}
.detail-block:last-child{background:#f9f8f4;border-right:1px solid #e3dcd0}
.detail-block .eyebrow{position:relative;z-index:1;margin-bottom:24px}
.detail-block h2{position:relative;z-index:1;font-size:clamp(28px,2.65vw,38px);line-height:1.28;font-family:var(--serif);font-weight:400;letter-spacing:-.04em;color:var(--navy);margin:0}
.detail-block__and{font-style:italic;color:var(--gold)}
.detail-block--hours p:not(.eyebrow){font-size:19px;color:#6e7479;margin:11px 0 0;position:relative;z-index:1}
.detail-block__dash{color:var(--gold);margin:0 6px}
.detail-block__watermark{position:absolute;width:180px;height:180px;right:-28px;bottom:-29px;fill:none;stroke:rgba(9,38,83,.055);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact{background:linear-gradient(125deg,#0d2b53 0%,#071b39 82%);color:white;position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;width:580px;height:580px;left:-400px;bottom:-380px;border:1px solid rgba(190,160,104,.17);border-radius:50%;pointer-events:none}
.contact__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,110px);align-items:start}
.contact__copy .eyebrow{margin-bottom:16px}
.contact__copy .section-title{color:white;font-size:clamp(50px,6vw,80px);margin-bottom:20px}
.contact__copy>p:not(.eyebrow){color:#c9d5e4;font-size:16px;line-height:1.7;max-width:330px;margin:0}
.contact__rule{display:block;width:84px;height:1px;background:var(--gold-light);margin:34px 0 26px}
.contact__meta{display:flex;flex-direction:column;gap:8px;color:#c7d4e2;font-size:13px}
.contact__numbers{display:grid;gap:17px}
.phone-card{display:grid;position:relative;grid-template-columns:1fr 43px;grid-template-rows:auto auto;column-gap:15px;align-items:center;min-height:145px;padding:25px 30px;border:1px solid rgba(217,203,173,.35);background:rgba(255,255,255,.045);transition:background .25s,border-color .25s,transform .25s}
.phone-card:hover{background:rgba(255,255,255,.095);border-color:var(--gold-light);transform:translateX(4px)}
.phone-card__small{color:var(--gold-light);font-size:10px;font-weight:650;letter-spacing:.15em}
.phone-card__number{font-size:clamp(25px,2.65vw,38px);font-family:var(--serif);font-weight:400;letter-spacing:-.025em;color:#fff;white-space:nowrap;grid-column:1;grid-row:2}
.phone-card__arrow{width:43px;height:43px;border:1px solid #aa976c;border-radius:50%;display:grid;place-items:center;grid-column:2;grid-row:1 / span 2;color:var(--gold-light);transition:background .25s,color .25s}
.phone-card:hover .phone-card__arrow{background:var(--gold-light);color:var(--navy)}
.phone-card__arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer{background:#fff;color:#3b4b5c}
.footer__main{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:70px;padding-top:57px;padding-bottom:56px}
.footer__brand{width:100%;max-width:290px;align-self:start;display:block}
.footer__brand img{width:100%;height:auto}
.footer__links,.footer__info{display:flex;align-items:flex-start;flex-direction:column;gap:8px;font-size:13px;line-height:1.6}
.footer__links strong,.footer__info strong{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:5px 0 12px}
.footer__links a,.footer__info a{transition:color .2s}
.footer__links a:hover,.footer__info a:hover{color:var(--gold)}
.footer__info p{margin:0 0 3px}
.footer__info p:last-child{margin-top:7px}
.footer__bottom{border-top:1px solid var(--line);padding-top:20px;padding-bottom:22px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;color:#797e85}
.footer__bottom span:first-child{color:var(--navy);font-weight:750}
.back-to-top{position:fixed;bottom:25px;right:25px;z-index:900;width:45px;height:45px;display:grid;place-items:center;border:1px solid #b59a65;background:var(--navy);color:#fff;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,visibility .25s,transform .25s,background .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--gold)}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* El contenido SIEMPRE es visible. Los efectos nunca dependen de JavaScript para mostrarse. */
[data-reveal]{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  [data-reveal].is-revealed{animation:erza-entrance .65s cubic-bezier(.2,.7,.25,1) both}
  @keyframes erza-entrance{
    from{opacity:.75;transform:translateY(14px)}
    to{opacity:1;transform:translateY(0)}
  }
}
@media(min-width:1000px){
 .areas__grid .area-card:nth-child(4){grid-column:1}
 .areas__grid .area-card:nth-child(5){grid-column:2}
}
@media(max-width:1130px){
 .brand{width:196px}
 .nav{gap:18px}
 .nav__link{font-size:11px}
 .hero__content{gap:46px}
 .hero h1{font-size:clamp(42px,4.9vw,60px)}
 .hero__schedule{left:auto}
 .footer__main{gap:40px}
}
@media(max-width:900px){
 .container{width:min(calc(100% - 46px),var(--container))}
 .header__inner{height:77px}
 .brand{width:208px}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:47px;height:47px;background:var(--navy);color:#fff;border:0;cursor:pointer;z-index:3}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .25s,opacity .25s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}
 .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:13px 23px 21px;background:white;box-shadow:0 18px 25px rgba(7,27,57,.12);border-top:1px solid var(--line)}
 .nav.is-open{display:flex}
 .nav__link{font-size:14px;padding:13px 10px;border-bottom:1px solid #eee}
 .nav__link:not(.nav__cta)::after{display:none}
 .nav__cta{margin-top:14px;justify-content:center;border:0}
 .hero__content{min-height:unset;grid-template-columns:1fr 1fr;gap:30px;padding-top:62px;padding-bottom:60px}
 .hero h1{font-size:clamp(39px,5.2vw,54px)}
 .hero__lead{font-size:14px}
 .hero__actions{gap:18px}
 .hero__outline{right:-10px;top:-16px}
 .hero__logo-card{padding:15px 15px 20px}
 .hero__logo-card img{margin:20px 0}
 .hero__schedule{left:auto;padding:12px 15px;gap:10px}
 .hero__schedule-icon{display:none}
 .hero__schedule strong{font-size:15px}
 .hero__logo-base{font-size:9px}
 .hero__gold-stroke{width:12px}
 .section{padding:78px 0 85px}
 .area-card{padding:24px 22px;min-height:215px}
 .matters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .matter-card,.matter-card--wide{grid-column:auto;min-height:215px}
 .education__layout{gap:40px;grid-template-columns: .8fr 1.2fr}
 .education__intro{min-height:450px}
 .education__item p{font-size:15px}
 .detail-block{padding:48px 32px}
 .contact__layout{gap:38px}
 .phone-card{padding:23px 20px}
 .phone-card__number{font-size:clamp(24px,3.4vw,33px)}
}
@media(max-width:650px){
 html{scroll-padding-top:76px}
 .container{width:min(calc(100% - 38px),var(--container))}
 .topline{height:31px}
 .topline__place{font-size:10px}
 .topline__phones{display:none}
 .header__inner{height:72px}
 .brand{width:190px}
 .hero{min-height:0}
 .hero__content{grid-template-columns:1fr;gap:48px;padding-top:60px;padding-bottom:55px}
 .hero h1{font-size:clamp(43px,10.5vw,58px);max-width:550px}
 .hero__lead{font-size:15px;max-width:460px}
 .hero__actions{gap:23px}
 .hero__bottomline{margin-top:34px;font-size:10px}
 .hero__visual{max-width:520px;width:calc(100% - 15px);margin:0 0 0 8px;justify-self:center}
 .hero__outline{right:-10px;left:14px;top:-16px;bottom:33px}
 .hero__logo-card{padding:19px 19px 24px}
 .hero__logo-card img{margin:30px 0 24px}
 .hero__schedule{bottom:auto;left:auto;padding:13px 17px}
 .hero__footer{height:51px}
 .section{padding:69px 0 77px}
 .section-head{display:block;margin-bottom:27px}
 .section-head__aside{margin:21px 0 0;max-width:470px}
 .section-title{font-size:clamp(39px,9vw,52px)}
 .areas__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .area-card{min-height:187px;padding:20px 17px}
 .area-card h3{font-size:clamp(20px,4vw,27px);margin-bottom:20px}
 .area-card__icon{width:39px;height:39px}
 .area-card__top{font-size:11px}
 .matter-card,.matter-card--wide{min-height:205px}
 .matters__grid{gap:12px}
 .matter-card{padding:22px 20px}
 .matter-card h3{font-size:clamp(22px,4.4vw,27px)}
 .education__layout{grid-template-columns:1fr;gap:22px}
 .education__intro{min-height:190px;padding:2px 0 23px 22px}
 .education__identity{display:none}
 .education__list{margin-top:5px}
 .education__item{grid-template-columns:48px 1fr;gap:14px;padding:20px 0}
 .details__grid{grid-template-columns:1fr}
 .detail-block{padding:41px 26px 45px;border-left:1px solid #e3dcd0;border-right:1px solid #e3dcd0}
 .detail-block h2{font-size:32px}
 .detail-block__watermark{width:140px;height:140px}
 .contact__layout{grid-template-columns:1fr;gap:34px}
 .contact__rule{margin:23px 0}
 .phone-card{min-height:125px}
 .phone-card__number{font-size:clamp(28px,6vw,35px)}
 .footer__main{grid-template-columns:1fr 1fr;gap:29px 22px;padding-top:48px;padding-bottom:41px}
 .footer__brand{grid-column:1/-1;max-width:270px}
 .footer__bottom{flex-direction:column;align-items:flex-start;gap:6px}
 .back-to-top{bottom:15px;right:15px}
}
@media(max-width:420px){
 .container{width:calc(100% - 32px)}
 .brand{width:178px}
 .hero__content{padding-top:50px}
 .hero h1{font-size:clamp(40px,10vw,46px)}
 .hero__actions{align-items:stretch;flex-direction:column;gap:20px}
 .hero__actions .btn{width:100%}
 .hero__logo-card{padding:14px 13px 18px}
 .hero__logo-card img{margin:24px 0 18px}
 .hero__logo-base{gap:7px;font-size:8px}
 .hero__gold-stroke{width:11px}
 .hero__schedule{left:auto}
 .areas__grid,.matters__grid{grid-template-columns:1fr}
 .area-card{min-height:185px;padding:20px 23px}
 .area-card h3{font-size:26px}
 .matter-card,.matter-card--wide{min-height:160px}
 .matter-card h3{font-size:26px}
 .footer__main{grid-template-columns:1fr}
 .footer__brand{grid-column:auto}
 .footer__links,.footer__info{gap:7px}
 .phone-card{grid-template-columns:minmax(0,1fr) 40px;padding:19px 18px}
 .phone-card__number{font-size:clamp(25px,7.3vw,31px)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
 [data-reveal]{opacity:1!important;transform:none!important;animation:none!important}
}
