:root{--ink:#2f3a1b;--forest:#3d441d;--forest-2:#262f16;--rust:#9b552b;--sand:#ddc9a3;--lime:#ddc9a3;--cream:#f6f1e5;--paper:#fffdfa;--line:rgba(61,68,29,.18);--muted:#68695f;--white:#fff;--radius:1.25rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.65}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Libre Franklin",sans-serif;letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(2.75rem,7vw,6.8rem);max-width:11ch;margin-bottom:1.6rem}h2{font-size:clamp(2rem,4.4vw,4.2rem)}h3{font-size:1.25rem}.site-header{height:92px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.17);background:var(--ink);color:white;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Libre Franklin",sans-serif;font-weight:700;letter-spacing:-.06em}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:.95rem}.brand-copy small{margin-top:.3rem;font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.header-cta{font-weight:600;text-underline-offset:.35rem}.hero{min-height:calc(100vh - 92px);padding:clamp(3.5rem,8vw,7.5rem) clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.65fr);gap:clamp(2rem,7vw,8rem);align-items:center;background:var(--ink);color:white;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:38vw;height:38vw;border:1px solid rgba(215,240,75,.18);border-radius:50%;right:-12vw;top:-16vw;box-shadow:0 0 0 7vw rgba(215,240,75,.025),0 0 0 14vw rgba(215,240,75,.018)}.hero-copy,.hero-panel{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.74rem;display:flex;align-items:center;gap:.7rem;margin-bottom:1.5rem}.eyebrow span{width:2rem;height:2px;background:var(--lime)}.eyebrow.dark{color:var(--forest)}.eyebrow.light{color:var(--lime)}.hero-lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:700px;color:rgba(255,255,255,.76)}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.4rem}.hero-actions>p,.final-action>p{font-size:.82rem;line-height:1.45;margin:0;color:rgba(255,255,255,.66)}.hero-actions strong{color:white}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:1rem 1.25rem;border-radius:.35rem;font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--ink)}.button-white{background:white;color:var(--ink)}.hero-panel{border:1px solid rgba(255,255,255,.24);padding:clamp(1.5rem,3vw,2.5rem);background:rgba(255,255,255,.045);backdrop-filter:blur(12px)}.panel-number{font-family:"Libre Franklin";font-size:.8rem;color:var(--lime);margin-bottom:4rem}.hero-panel h2{font-size:clamp(1.65rem,2.7vw,2.5rem)}.hero-panel ul{list-style:none;padding:0;margin:2rem 0}.hero-panel li{display:flex;gap:.8rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}.hero-panel li span{color:var(--lime)}.panel-note{font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.58);margin-bottom:0}.section-pad{padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,7vw,8rem)}.section-heading h2{max-width:1000px;margin-bottom:3rem}.section-heading.narrow{max-width:760px}.context{background:var(--paper)}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);padding-left:30%}.context-grid p{font-size:1.08rem;color:var(--muted)}.fit{background:var(--forest);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem)}.fit-intro h2{font-size:clamp(2rem,3.8vw,3.6rem)}.fit-intro>p:last-child{color:rgba(255,255,255,.68)}.fit-list article{padding:2rem 0;border-top:1px solid rgba(255,255,255,.19);display:grid;grid-template-columns:3rem 1fr;column-gap:1rem}.fit-list article>span{color:var(--lime);font-weight:700}.fit-list h3{margin-bottom:.5rem}.fit-list p{grid-column:2;margin:0;color:rgba(255,255,255,.66)}.process{background:var(--cream)}.timeline{list-style:none;margin:3rem 0 0;padding:0;max-width:950px;margin-left:auto}.timeline li{display:grid;grid-template-columns:70px 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid var(--line)}.step{width:44px;height:44px;border-radius:50%;border:1px solid var(--forest);display:grid;place-items:center;font-weight:700}.timeline h3{margin-bottom:.5rem;font-size:1.4rem}.timeline p{color:var(--muted);margin:0;max-width:700px}.evaluation{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}.evaluation h2{font-size:clamp(2rem,4vw,3.8rem)}.evaluation>div>p:last-child{color:rgba(255,255,255,.65)}.question-list{list-style:none;margin:0;padding:0}.question-list li{display:flex;align-items:center;gap:1.2rem;padding:1.05rem 0;border-bottom:1px solid rgba(255,255,255,.16);font-weight:600}.question-list span{color:var(--lime);font-size:.75rem}.about{display:grid;grid-template-columns:.65fr 1.25fr;gap:clamp(3rem,10vw,10rem);align-items:center;background:var(--paper)}.about-card{aspect-ratio:4/5;background:var(--lime);padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.about-card .monogram{font-family:"Libre Franklin";font-size:clamp(4rem,9vw,8rem);font-weight:700;letter-spacing:-.1em}.about-card p:last-child{font-weight:600}.about-copy h2{margin-bottom:.4rem}.about-role{color:var(--forest);font-weight:700;margin-bottom:2rem}.about-copy>p:not(.eyebrow):not(.about-role){max-width:700px;color:var(--muted)}.faq{background:var(--cream)}.accordion{max-width:950px;margin-left:auto}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;padding:1.5rem 0;font-family:"Libre Franklin";font-size:1.1rem;font-weight:600;display:flex;justify-content:space-between;gap:1rem}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:1.4rem;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:760px;color:var(--muted);padding:0 0 1.5rem}.final-cta{background:var(--forest);color:white;display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:3rem}.final-cta h2{margin-bottom:0}.final-action{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}footer{padding:3rem clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;background:#091b15;color:white;align-items:end}footer p{font-size:.82rem;color:rgba(255,255,255,.6);margin:0}.footer-brand{align-self:center}.legal{text-align:right}.floating-whatsapp{display:none}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-panel{max-width:620px}.context-grid{padding-left:0}.fit,.evaluation,.about,.final-cta{grid-template-columns:1fr}.about-card{max-width:400px}.final-action{margin-top:1rem}footer{grid-template-columns:1fr 1fr}.legal{grid-column:1/-1;text-align:left}.context-grid{gap:1rem}}
@media(max-width:620px){body{padding-bottom:68px}.site-header{height:74px}.header-cta{display:none}.brand-mark{width:38px;height:38px}.hero{min-height:auto;padding-top:4rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%}.context-grid{grid-template-columns:1fr}.panel-number{margin-bottom:2rem}.timeline li{grid-template-columns:48px 1fr;gap:.75rem}.about-card{width:100%;aspect-ratio:4/3}footer{grid-template-columns:1fr}.floating-whatsapp{position:fixed;z-index:30;display:flex;justify-content:space-between;align-items:center;bottom:0;left:0;right:0;height:68px;padding:0 1.25rem;background:var(--lime);color:var(--ink);font-weight:800;text-decoration:none;box-shadow:0 -8px 30px rgba(0,0,0,.18)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Identidade visual CG Advocacia */
body,h1,h2,h3,.panel-number,.accordion summary{font-family:"IBM Plex Sans",sans-serif}
.brand{gap:0}.brand img{display:block;width:min(310px,42vw);height:auto}.brand-mark,.brand-copy{display:none}
.button-primary{background:var(--rust);color:white}.button-white{background:var(--sand);color:var(--ink)}
.eyebrow span{background:var(--rust)}.eyebrow.dark{color:var(--rust)}.eyebrow.light{color:var(--sand)}
.hero:before{border-color:rgba(221,201,163,.2);box-shadow:0 0 0 7vw rgba(221,201,163,.03),0 0 0 14vw rgba(221,201,163,.02)}
.hero-panel{border-color:rgba(221,201,163,.35)}.panel-number,.hero-panel li span,.fit-list article>span,.question-list span{color:var(--sand)}
.step{border-color:var(--rust)}
.about{grid-template-columns:.72fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.about-card{aspect-ratio:4/5;background:var(--sand);padding:0;overflow:hidden}.about-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.about-role{color:var(--rust)}.about-copy>p:not(.eyebrow):not(.about-role){max-width:760px}
.credentials{list-style:none;padding:0;margin:2rem 0 0;max-width:800px}.credentials li{padding:.85rem 0 .85rem 1.6rem;border-top:1px solid var(--line);position:relative}.credentials li:before{content:"";position:absolute;left:0;top:1.45rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--rust)}
.final-cta{background:var(--rust)}
footer{grid-template-columns:1.1fr 1fr auto;background:#1e2512}.footer-brand img{width:min(270px,100%)}.footer-links{display:flex;gap:1rem;font-size:.86rem;font-weight:600}.footer-links a{text-underline-offset:.3rem}.legal{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.13);text-align:left}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}.footer-links{justify-self:start}.legal{grid-column:1/-1}.about-card{max-width:420px}}
@media(max-width:620px){.brand img{width:230px}.about-card{aspect-ratio:4/4.6}.floating-whatsapp{background:var(--rust);color:white}footer{grid-template-columns:1fr}}

[hidden]{display:none!important}.footer-links button,.text-button{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;text-decoration:underline;text-underline-offset:.3rem;cursor:pointer}.consent-banner{position:fixed;z-index:50;left:1rem;right:1rem;bottom:1rem;max-width:1120px;margin:auto;padding:1.25rem 1.4rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 60px rgba(30,37,18,.25);display:flex;align-items:center;justify-content:space-between;gap:2rem}.consent-banner h2{font-size:1.15rem;margin-bottom:.35rem}.consent-banner p{font-size:.9rem;line-height:1.5;margin:0;max-width:720px;color:var(--muted)}.consent-actions{display:flex;gap:.7rem;flex-shrink:0}.consent-actions button,.withdraw-consent{border:1px solid var(--rust);padding:.8rem 1rem;font:inherit;font-weight:700;cursor:pointer}.consent-reject{background:transparent;color:var(--rust)}.consent-accept,.withdraw-consent{background:var(--rust);color:white}.privacy-dialog{width:min(680px,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:clamp(1.5rem,4vw,3rem);border:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.32)}.privacy-dialog::backdrop{background:rgba(30,37,18,.7);backdrop-filter:blur(3px)}.privacy-dialog h2{font-size:clamp(1.8rem,4vw,2.8rem)}.privacy-dialog p{color:var(--muted)}.dialog-close{position:absolute;right:1rem;top:.7rem;border:0;background:none;color:var(--ink);font-size:2rem;cursor:pointer}.withdraw-consent{margin-top:.5rem}
@media(max-width:720px){.consent-banner{bottom:78px;display:block}.consent-actions{margin-top:1rem}.consent-actions button{flex:1}.footer-links{flex-wrap:wrap}}

/* Página institucional */
.institutional-home{padding-bottom:0}.home-header{height:94px;padding:0 clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--ink);color:white;border-bottom:1px solid rgba(255,255,255,.14);position:relative;z-index:10}.home-header nav{display:flex;gap:2rem;font-size:.9rem;font-weight:600}.home-header nav a{text-decoration:none}.home-header nav a:hover{text-decoration:underline;text-underline-offset:.35rem}.home-contact{justify-self:end;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.48);text-decoration:none;font-weight:700}.brand-hero{min-height:calc(100vh - 94px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:stretch;background:var(--ink);color:white}.brand-hero-copy{padding:clamp(4rem,9vw,8rem) clamp(1.25rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.brand-hero h1{font-size:clamp(3rem,6.8vw,6.7rem);max-width:10ch}.brand-hero-copy>p:not(.eyebrow){max-width:690px;color:rgba(255,255,255,.72);font-size:clamp(1.05rem,1.8vw,1.3rem)}.brand-hero-copy .button{align-self:flex-start;margin-top:1.2rem}.brand-hero-portrait{position:relative;min-height:620px;overflow:hidden;background:var(--sand)}.brand-hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.82)}.brand-hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,37,18,.82),transparent 38%)}.brand-hero-portrait div{position:absolute;z-index:1;left:2rem;right:2rem;bottom:2rem;display:flex;justify-content:space-between;align-items:end;gap:1rem}.brand-hero-portrait strong{font-size:1.05rem}.brand-hero-portrait span{font-size:.78rem;color:var(--sand)}.positioning{display:grid;grid-template-columns:.35fr 1fr;gap:clamp(2rem,8vw,8rem);background:var(--paper)}.positioning-index{font-size:.75rem;letter-spacing:.12em;color:var(--rust);font-weight:700}.positioning h2{font-size:clamp(2.2rem,4.6vw,4.7rem);max-width:900px}.positioning div>p{font-size:1.1rem;color:var(--muted);max-width:760px}.practice{background:var(--cream)}.practice-heading{display:grid;grid-template-columns:.5fr 1fr;gap:2rem;align-items:start;margin-bottom:4rem}.practice-heading h2{font-size:clamp(2.2rem,4.3vw,4.2rem);max-width:850px}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-card{min-height:330px;padding:2rem;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.practice-card.featured{grid-row:span 2;background:var(--rust);color:white}.practice-card>span{font-size:.75rem;font-weight:700;color:var(--rust)}.practice-card.featured>span{color:var(--sand)}.practice-card h3{font-size:clamp(1.55rem,2.5vw,2.4rem);margin:3rem 0 1rem;max-width:480px}.practice-card p{color:var(--muted);max-width:560px}.practice-card.featured p{color:rgba(255,255,255,.76)}.practice-card a{margin-top:auto;font-weight:700;text-underline-offset:.35rem}.audiences{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);background:var(--forest);color:white}.audiences h2{font-size:clamp(2.2rem,4vw,4rem)}.audience-list p{display:grid;grid-template-columns:3rem 1fr;gap:1rem;margin:0;padding:1.35rem 0;border-top:1px solid rgba(255,255,255,.18);font-size:clamp(1rem,2vw,1.3rem);font-weight:600}.audience-list span{color:var(--sand);font-size:.75rem}.profile{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem);align-items:center;background:var(--paper)}.profile-photo{max-width:480px;aspect-ratio:4/5;overflow:hidden;background:var(--sand)}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.profile-copy h2{font-size:clamp(2rem,4vw,3.8rem)}.profile-copy>p:not(.eyebrow){color:var(--muted);max-width:780px}.profile-credentials{list-style:none;padding:0;margin:2rem 0 0}.profile-credentials li{padding:.9rem 0 .9rem 1.5rem;border-top:1px solid var(--line);position:relative}.profile-credentials li:before{content:"";position:absolute;left:0;top:1.55rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--rust)}.home-final{background:var(--rust);color:white}.home-final h2{max-width:900px;font-size:clamp(2.5rem,5.5vw,5.5rem)}.home-final>div{display:flex;align-items:center;gap:1.5rem}.home-final>div p{margin:0;color:rgba(255,255,255,.72)}
@media(max-width:980px){.home-header{grid-template-columns:1fr auto}.home-header nav{display:none}.brand-hero{grid-template-columns:1fr}.brand-hero-portrait{min-height:520px;max-height:680px}.positioning,.practice-heading,.audiences,.profile{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.practice-card.featured{grid-row:auto}.profile-photo{max-width:420px}}
@media(max-width:620px){.institutional-home{padding-bottom:68px}.home-header{height:74px}.home-header .brand img{width:215px}.home-contact{display:none}.brand-hero{min-height:auto}.brand-hero-copy{padding-top:4.5rem;padding-bottom:4.5rem}.brand-hero-portrait{min-height:460px}.brand-hero-portrait div{left:1.25rem;right:1.25rem;bottom:1.25rem;flex-direction:column;align-items:flex-start}.positioning,.practice-heading,.audiences,.profile{gap:1.5rem}.practice-heading{margin-bottom:2.5rem}.practice-card{min-height:300px;padding:1.5rem}.home-final>div{align-items:flex-start;flex-direction:column}.home-final .button{width:100%}}
