*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f0e7;color:#17211d;font-family:Arial,sans-serif}a{color:inherit}header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f8f5ee}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand i{width:44px;height:44px;border:1px solid #b38745;border-radius:50%;display:grid;place-items:center;color:#9b7135;font:italic 19px Georgia}.brand span{display:flex;flex-direction:column}.brand b{font:700 18px Georgia;letter-spacing:.08em}.brand small{font-size:8px;letter-spacing:.25em;margin-top:4px}nav{display:flex;gap:34px}nav a,.top{font-size:12px;font-weight:700;text-decoration:none}.top{border-bottom:1px solid #b38745;padding:10px 0}.hero{height:calc(100vh - 88px);min-height:650px;color:#fff;background:linear-gradient(90deg,rgba(8,15,12,.96),rgba(8,15,12,.67) 42%,rgba(8,15,12,.04) 78%),url('legal-team-hero.png') 65% center/cover;position:relative}.hero>div{position:absolute;left:8vw;top:50%;transform:translateY(-50%);max-width:720px}.label{font-size:11px;letter-spacing:.22em;font-weight:700;color:#d7c09a}.gold{color:#a1783d}.hero h1,h2{font:400 clamp(48px,6vw,86px)/.98 Georgia;letter-spacing:-.04em;margin:28px 0}.hero em,h2 em{color:#cba35e}.lead{max-width:570px;color:#d0d4d1;font-size:17px;line-height:1.75}.actions{display:flex;align-items:center;gap:32px;margin-top:36px;font-size:12px;font-weight:700}.btn{display:inline-block;background:#c49b58;color:#17211d;padding:19px 23px;text-decoration:none;font-size:12px;font-weight:800}aside{min-height:76px;padding:0 5vw;display:flex;align-items:center;gap:24px;background:#e8e2d6;font-size:11px;letter-spacing:.07em}aside>span{height:1px;background:#c7bdac;flex:1}aside i{font-size:6px;color:#a87b3d}.wrap{padding:110px 7vw}.intro{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:7vw}.intro h2,.about h2,.process h2,.contact h2{font-size:clamp(42px,5vw,68px);margin:0}.intro>p{font:17px/1.8 Georgia;color:#5c655f}.cards,.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-block:1px solid #cfc7b8}.cards article,.steps article{padding:28px 24px 35px;border-right:1px solid #cfc7b8}.cards article:first-child{border-left:1px solid #cfc7b8}.cards article:hover{background:#e9e2d5;transform:translateY(-5px);transition:.25s}.cards small,.steps b{color:#9b733b}.cards h3,.steps h3{font:26px Georgia;margin:45px 0 16px}.cards p,.steps p{font-size:14px;color:#626c65;line-height:1.7;min-height:72px}.cards a{font-size:11px;font-weight:800;text-decoration:none;border-bottom:1px solid #ad874e;padding-bottom:6px}.about{display:grid;grid-template-columns:1fr 1fr;background:#193329;color:white}.about>div{padding:9vw 8vw}.quote{background:linear-gradient(145deg,#25473b,#13271f)}.quote>b{font:100px Georgia;color:#c49b58;line-height:.5}.quote blockquote{font:italic 30px/1.45 Georgia;margin:35px 0}.about p{color:#c8d0cb;line-height:1.8}.process{background:#eeeade}.steps{margin-top:60px}.contact{text-align:center;background:#111b17;color:white;padding:110px 7vw}.contact>p:not(.label){color:#bdc6c1}.contact>div{display:flex;gap:35px;align-items:center;justify-content:center;margin-top:35px;font-size:13px}footer{padding:35px 6vw;background:#0d1512;color:#7e8a84;display:flex;justify-content:space-between;font-size:11px}
@media(max-width:850px){header{height:72px}nav{display:none}.hero{height:760px}.hero h1{font-size:56px}aside{overflow:auto;white-space:nowrap}.intro,.about{grid-template-columns:1fr}.cards,.steps{grid-template-columns:1fr 1fr}}
@media(max-width:540px){header{padding:0 18px}.top{background:#c49b58;padding:10px;border:0;font-size:10px}.hero{height:700px;background-position:62% center}.hero>div{left:6vw;right:6vw}.hero h1{font-size:47px}.lead{font-size:15px}.actions{align-items:flex-start;flex-direction:column}.wrap,.contact{padding:78px 22px}.cards,.steps{grid-template-columns:1fr}.intro h2,.about h2,.process h2,.contact h2{font-size:42px}.about>div{padding:78px 24px}.contact>div{flex-direction:column}}

/* Tarjetas interactivas de áreas de práctica */
.cards article{position:relative;min-height:470px;overflow:hidden;outline:0;transition:background .3s,transform .3s,color .3s}
.cards article:hover,.cards article:focus{background:#193329;color:#fff;transform:translateY(-7px)}
.card-head{display:flex;align-items:flex-start;justify-content:space-between}
.card-head svg{width:52px;height:52px;fill:none;stroke:#a1783d;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s,stroke .3s}
.cards article:hover svg,.cards article:focus svg{stroke:#d2aa66;transform:scale(1.08)}
.cards h3{margin-top:35px}
.cards .summary{min-height:72px;transition:opacity .2s}
.matters{max-height:0;opacity:0;transform:translateY(12px);overflow:hidden;transition:max-height .4s ease,opacity .3s,transform .3s}
.matters strong{font-size:10px;letter-spacing:.18em;color:#d2aa66;text-transform:uppercase}
.matters ul{padding:0;margin:12px 0 28px;list-style:none}
.matters li{border-top:1px solid rgba(255,255,255,.14);padding:7px 0;font-size:12px;color:#d5ddd8}
.matters li:before{content:'—';color:#c49b58;margin-right:8px}
.cards article:hover .summary,.cards article:focus .summary{display:none}
.cards article:hover .matters,.cards article:focus .matters{max-height:360px;opacity:1;transform:none}
.cards article>a{position:absolute;left:24px;bottom:28px}
@media(max-width:850px){.cards article{min-height:590px;background:#f0eadf}.matters{max-height:360px;opacity:1;transform:none}.cards .summary{min-height:auto}.cards article:hover,.cards article:focus{color:#17211d;background:#e9e2d5}.cards article:hover .summary,.cards article:focus .summary{display:block}.matters li{color:#59635d;border-color:#d2c8b8}.cards article:hover svg,.cards article:focus svg{stroke:#a1783d}}

/* Integrantes — composición editorial sin fotografías */
.team{background:#f7f3eb}
.team-intro{display:block;max-width:900px;margin:0 auto 42px;text-align:center}
.team-intro h2{font-size:clamp(42px,5vw,68px);margin:0}
.team-intro>p{max-width:680px;margin:20px auto 0;font:15px/1.65 Georgia;color:#5c655f}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.member{position:relative;padding:30px 36px 28px;min-height:405px;overflow:hidden;text-align:center;border:1px solid #c9c0b2;transition:transform .3s,box-shadow .3s}
.member:hover{transform:translateY(-7px);box-shadow:0 20px 50px rgba(25,42,34,.14)}
.member-legal{background:#193329;color:#fff;border-color:#193329}
.member-management{background:#eee6d8;color:#17211d;border-top:5px solid #b48a4c}
.member-advisor{background:#e3ddd1;color:#17211d;border-top:5px solid #193329}
.role-symbol{position:absolute;right:-18px;top:100px;font:190px/1 Georgia;color:#d1a75f;opacity:.055;pointer-events:none}
.member-management .role-symbol{color:#8d6732;opacity:.08}
.member-advisor .role-symbol{color:#193329;opacity:.07}
.member-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:16px;padding-bottom:15px;border-bottom:1px solid #d0c7b9;text-align:center}
.member-top>span{font:15px Georgia;color:#a1783d}
.member-top small{font-size:10px;letter-spacing:.17em;color:#8b6940;font-weight:800}
.member-top i{font:italic 21px Georgia;color:#b58a4c;opacity:.55}
.member .role{position:relative;z-index:1;margin:23px auto 11px;font-size:10px;letter-spacing:.18em;color:#b58a4c;font-weight:800;text-align:center}
.member h3{position:relative;z-index:1;font:40px/1.1 Georgia;margin:0 auto 20px;max-width:520px;letter-spacing:-.025em;text-align:center}
.member-legal h3{font-size:43px}
.member-advisor h3{font-size:38px}
.primary-role{position:relative;z-index:1;margin:-2px auto 18px;font:italic 18px/1.4 Georgia;color:#7c5b31;max-width:430px;text-align:center}
.credentials{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.credentials span{border:1px solid #cbbfae;padding:8px 11px;font-size:11px;line-height:1.35;color:#59635d;background:rgba(255,255,255,.28);text-align:center}
.member>p{position:relative;z-index:1;max-width:540px;margin:20px auto 0;font-size:14px;line-height:1.6;color:#68716c;text-align:center}
.member-legal .member-top{border-color:rgba(255,255,255,.2)}
.member-legal .member-top small,.member-legal>p{color:#c3cec8}
.member-legal .credentials span{color:#e0e5e2;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04)}
.member-line{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:20px}
.member-line span{height:1px;flex:1;background:currentColor;opacity:.18}
.member-line b{font-size:9px;letter-spacing:.15em;color:#ad8348;white-space:nowrap;text-align:center}
@media(max-width:1100px){.team-grid{grid-template-columns:1fr 1fr}.member-advisor{grid-column:1/-1}.member-advisor .credentials{max-width:760px;margin-inline:auto}}
@media(max-width:760px){.team-grid{grid-template-columns:1fr}.member-advisor{grid-column:auto}.member{min-height:0}.member-legal h3,.member-advisor h3{font-size:38px}.team-intro{margin-bottom:35px}}
@media(max-width:460px){.member{padding:28px 22px}.member h3,.member-legal h3{font-size:34px;margin-bottom:18px}.member-top i{display:none}.member>p{font-size:13px}.primary-role{font-size:17px}}

/* Atención online */
.online{display:grid;grid-template-columns:.9fr 1.1fr;min-height:680px;background:#e6ded0}
.online-copy{padding:9vw 7vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.online-copy h2{font-size:clamp(45px,5vw,70px);margin:0 0 30px}
.online-copy>p:not(.label){max-width:560px;font:17px/1.8 Georgia;color:#59635d}
.online-copy .btn{margin-top:25px;min-width:210px;display:flex;justify-content:space-between}
.online-panel{position:relative;padding:8vw 7vw;background:#183329;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.online-panel:after{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(198,161,99,.16);border-radius:50%;right:-210px;top:-180px}
.online-panel>small{position:relative;z-index:1;font-size:10px;letter-spacing:.22em;color:#d0aa6a;font-weight:800;margin-bottom:25px}
.signal{position:absolute;right:7vw;top:6vw;width:80px;height:80px}
.signal span{position:absolute;inset:0;border:1px solid rgba(207,167,98,.25);border-radius:50%}.signal span:nth-child(2){inset:16px}.signal span:nth-child(3){inset:31px}.signal i{position:absolute;inset:0;display:grid;place-items:center;color:#d0a761;font-size:8px}
.platforms{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.17)}
.platform{display:flex;align-items:center;gap:22px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.17)}
.platform svg{width:52px;height:52px;flex:0 0 auto}
.platform>span{display:flex;flex-direction:column;gap:7px}
.platform b{font:25px Georgia}
.platform small{font-size:11px;color:#aebdb5}
.online-note{position:relative;z-index:1;margin:32px 0 0!important;font-size:10px;line-height:2;color:#afbbb5;letter-spacing:.04em}
.online-note b{color:#d0a761}.online-note span{color:#d0a761;margin:0 8px}
@media(max-width:850px){.online{grid-template-columns:1fr}.online-copy,.online-panel{padding:85px 7vw}.online{min-height:0}}
@media(max-width:560px){.online-copy,.online-panel{padding:75px 22px}.online-copy h2{font-size:43px}.platform b{font-size:22px}.online-note span{display:none}.online-note b:not(:first-child){margin-left:10px}.signal{right:18px;top:30px;transform:scale(.7)}}

/* Versión compacta de atención online */
.online{grid-template-columns:1fr 1fr;min-height:480px}
.online-copy{padding:60px 6vw}
.online-copy h2{font-size:clamp(40px,4vw,58px);margin:0 0 18px}
.online-copy .label{font-size:12px;letter-spacing:.2em}
.online-copy h2{font-size:clamp(44px,4.3vw,62px);line-height:1.02}
.online-copy>p:not(.label){max-width:560px;margin:0;font-size:17px;line-height:1.7}
.online-copy .btn{margin-top:20px;padding:17px 21px;font-size:13px}
.online-panel{padding:52px 6vw}
.online-panel>small{margin-bottom:14px;font-size:11px;letter-spacing:.2em}
.signal{right:4vw;top:28px;width:60px;height:60px}
.signal span:nth-child(2){inset:12px}.signal span:nth-child(3){inset:23px}
.platform{gap:16px;padding:16px 0}
.platform svg{width:40px;height:40px}
.platform b{font-size:23px}
.platform small{font-size:13px;line-height:1.4}
.online-note{margin-top:18px!important;font-size:11px;line-height:1.8}
@media(max-width:850px){.online{grid-template-columns:1fr}.online-copy,.online-panel{padding:50px 7vw}}
@media(max-width:560px){.online-copy,.online-panel{padding:44px 22px}.online-copy h2{font-size:42px}.online-copy>p:not(.label){font-size:16px}.platform b{font-size:22px}.platform small{font-size:12px}.online-note{font-size:10px}.signal{right:15px;top:18px}}

/* Carrusel de servicios asociados */
header nav{gap:22px}
.associates{padding:85px 0 70px;background:#f7f3eb;overflow:hidden}
.associates-heading{padding:0 7vw 40px;text-align:center}
.associates-heading h2{font-size:clamp(42px,5vw,64px);margin:0 0 18px}
.associates-heading>p:last-child{margin:0 auto;color:#626c65;font:16px/1.7 Georgia}
.associate-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.associate-track{display:flex;width:max-content;gap:16px;animation:associated-scroll 42s linear infinite;padding:4px 0 15px}
.associate-track:hover{animation-play-state:paused}
.associate-card{flex:0 0 280px;min-height:330px;padding:25px;background:#fff;border:1px solid #ded6c8;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;transition:transform .25s,border-color .25s,box-shadow .25s}
.associate-card:hover{transform:translateY(-5px);border-color:#b58a4c;box-shadow:0 16px 35px rgba(25,42,34,.1)}
.associate-card>span{align-self:flex-start;color:#a1783d;font:13px Georgia}
.associate-card>div{width:125px;height:105px;margin:13px 0;display:grid;place-items:center}
.associate-card>div.wide{width:180px}
.associate-card img{width:100%;height:100%;object-fit:contain}
.associate-card .geovuelo-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #d8cfbf;border-radius:50%;width:105px;height:105px;margin:13px auto;background:#f7f4ed;color:#193329}
.geovuelo-mark i{font:italic 45px/1 Georgia;color:#a1783d}.geovuelo-mark small{font-size:8px;letter-spacing:.18em;font-weight:800}
.associate-card h3{font:25px Georgia;margin:8px 0 9px}
.associate-card p{max-width:240px;margin:0;color:#68716c;font-size:12px;line-height:1.55}
.associate-card b{margin-top:auto;padding-top:18px;color:#9c743b;font-size:10px;letter-spacing:.08em}
.marquee-help{text-align:center;margin:24px 0 0;color:#8a928d;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
@keyframes associated-scroll{to{transform:translateX(calc(-50% - 8px))}}
@media(max-width:600px){.associates{padding:65px 0 55px}.associate-card{flex-basis:240px;min-height:310px}.associate-track{animation-duration:34s}}

/* Portal de clientes */
.portal-page{background:#f4f0e7}
header .active{color:#9c743b}
.portal-hero{min-height:650px;padding:90px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:radial-gradient(circle at 8% 5%,rgba(193,150,80,.18),transparent 30%),#eee8dc}
.portal-copy h1{font:400 clamp(50px,6vw,78px)/.98 Georgia;letter-spacing:-.04em;margin:22px 0}.portal-copy h1 em{color:#b58a4c}
.portal-copy>p:not(.label){max-width:590px;color:#5e6862;font:17px/1.8 Georgia}
.portal-actions{display:flex;align-items:center;gap:26px;margin-top:30px;font-size:11px;font-weight:800}
.security{display:flex;align-items:center;gap:13px;margin-top:38px;padding-top:24px;border-top:1px solid #cfc6b7;max-width:500px}.security>span{color:#6b987f;font-size:10px}.security p{display:flex;flex-direction:column;margin:0;font-size:11px}.security small{color:#7b847f;margin-top:5px;font-weight:400}
.portal-board{position:relative;padding:40px;background:#183329;color:#fff;box-shadow:0 30px 70px rgba(19,38,31,.2);overflow:hidden}.portal-board:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(198,161,99,.16);border-radius:50%;right:-150px;top:-150px}.board-top{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.18)}.board-top>span{width:42px;height:42px;border:1px solid #b68b4c;border-radius:50%;display:grid;place-items:center;font:italic 16px Georgia;color:#d2aa66}.board-top small,.board-top i{font-size:8px;letter-spacing:.16em;color:#c4cec8}.board-top i{color:#82aa95}.portal-board h2{position:relative;z-index:1;font-size:39px;margin:32px 0}.portal-items{position:relative;z-index:1}.portal-items>div{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:17px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14)}.portal-items svg{width:38px;height:38px;fill:none;stroke:#d0a761;stroke-width:1.5}.portal-items span{display:flex;flex-direction:column;gap:5px}.portal-items b{font:20px Georgia}.portal-items small{font-size:10px;color:#aebbb4}.portal-items>div>i{font:12px Georgia;color:#9a7541}.portal-benefits{padding:0 7vw 85px;display:grid;grid-template-columns:repeat(3,1fr);background:#eee8dc}.portal-benefits article{padding:32px;border-top:1px solid #c8beae;border-right:1px solid #c8beae}.portal-benefits article:first-child{border-left:1px solid #c8beae}.portal-benefits span{color:#9c743b;font:13px Georgia}.portal-benefits h3{font:26px Georgia;margin:25px 0 12px}.portal-benefits p{color:#67716b;font-size:13px;line-height:1.7}
@media(max-width:850px){.portal-hero{grid-template-columns:1fr;padding:70px 7vw}.portal-benefits{grid-template-columns:1fr}.portal-benefits article{border-left:1px solid #c8beae}.portal-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.portal-hero{padding:55px 22px}.portal-copy h1{font-size:48px}.portal-board{padding:28px 22px}.portal-benefits{padding:0 22px 60px}.board-top i{display:none}.board-top{grid-template-columns:auto 1fr}}

/* Logos oficiales */
.brand-image{position:relative!important;display:block!important;width:190px;height:72px;overflow:hidden}
.brand-image img{position:absolute;width:190px;height:190px;max-width:none;left:0;top:50%;transform:translateY(-49%);object-fit:contain}
.associate-card>div:has(img[alt*="GeoVuelo"]){width:150px;height:115px}
@media(max-width:540px){.brand-image{width:130px;height:58px}.brand-image img{width:130px;height:130px}.associate-card>div:has(img[alt*="GeoVuelo"]){width:130px;height:100px}}

/* Sección de cita en formato compacto */
.about>div{padding:48px 6vw}
.quote>b{font-size:58px;line-height:.35}
.quote blockquote{max-width:610px;font-size:clamp(21px,2vw,27px);line-height:1.34;margin:20px 0}
.quote small{font-size:9px}
.about .label{margin:0 0 16px}
.about h2{font-size:clamp(37px,4vw,52px);margin:0 0 22px}
.about p{font-size:13px;line-height:1.58;margin:0 0 13px}
.about p:last-child{margin-bottom:0}
@media(max-width:700px){.about>div{padding:46px 24px}.quote>b{font-size:52px}.quote blockquote{font-size:21px}}

/* Ritmo compacto desde integrantes hasta el pie */
.team.wrap{padding-top:72px;padding-bottom:70px}
.team-intro{margin-bottom:32px}
.team-grid{gap:18px}
.member{min-height:380px;padding-top:26px;padding-bottom:24px}
.member .role{margin-top:18px}
.member>p{margin-top:16px}
.member-line{margin-top:16px}
.process.wrap{padding-top:68px;padding-bottom:68px}
.process h2{font-size:clamp(40px,4.5vw,58px)}
.steps{margin-top:38px}
.steps article{padding-top:22px;padding-bottom:24px}
.steps h3{margin-top:27px}
.online{min-height:420px}
.online-copy{padding-top:48px;padding-bottom:48px}
.online-panel{padding-top:42px;padding-bottom:42px}
.associates{padding-top:62px;padding-bottom:48px}
.associates-heading{padding-bottom:28px}
.associate-card{min-height:300px;padding-top:20px;padding-bottom:20px}
.marquee-help{margin-top:16px}
.contact{padding-top:72px;padding-bottom:72px}
.contact h2{margin-top:20px;margin-bottom:20px}
.contact>div{margin-top:26px}
@media(max-width:850px){.team.wrap,.process.wrap{padding-top:58px;padding-bottom:58px}.online-copy,.online-panel{padding-top:42px;padding-bottom:42px}.contact{padding-top:60px;padding-bottom:60px}}
@media(max-width:560px){.team.wrap,.process.wrap{padding-top:50px;padding-bottom:50px}.team-intro{margin-bottom:26px}.member{min-height:0}.steps{margin-top:30px}.associates{padding-top:52px;padding-bottom:42px}.contact{padding-top:54px;padding-bottom:54px}}

/* Botón flotante de WhatsApp */
.whatsapp-float{position:fixed;z-index:100;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:9px 9px 9px 17px;border-radius:999px;background:#173a2d;color:#fff;text-decoration:none;box-shadow:0 12px 35px rgba(8,25,18,.3);transition:transform .25s,background .25s}
.whatsapp-float:hover{transform:translateY(-4px);background:#20503d}
.whatsapp-float>span{display:flex;flex-direction:column;text-align:right;line-height:1.1}
.whatsapp-float small{font-size:9px;color:#bdcbc4;margin-bottom:4px}
.whatsapp-float b{font-size:12px;letter-spacing:.04em}
.whatsapp-float>i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#25d366}
.whatsapp-float svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.whatsapp-float{right:16px;bottom:16px;padding:7px}.whatsapp-float>span{display:none}.whatsapp-float>i{width:50px;height:50px}}
