@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,400..600&display=swap');
:root{--ink:#07111b;--ink2:#102131;--paper:#f5f0e8;--paper2:#ece4d9;--white:#fffdf9;--gold:#c7a168;--gold2:#ead09b;--muted:#6c7780;--line:rgba(7,17,27,.12);--shadow:0 24px 70px rgba(7,17,27,.12);--radius:28px;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.section{padding:112px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.eyebrow:before{content:'';width:28px;height:1px;background:currentColor}.eyebrow.light{color:var(--gold2)}h1,h2,h3,blockquote{font-family:'Fraunces',Georgia,serif;font-weight:440;font-optical-sizing:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:999px;font-weight:700;font-size:.9rem;border:1px solid transparent;transition:.28s var(--ease);cursor:pointer}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#102131}.button-light{border-color:var(--line);background:rgba(255,255,255,.58)}.button-gold{background:var(--gold);color:var(--ink)}.button-light.inverse{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
/* loader: CSS-only, never blocks permanently */
.site-loader{position:fixed;inset:0;z-index:99999;background:#f5f0e8;display:grid;place-items:center;pointer-events:none;animation:loaderOut .55s var(--ease) 1.05s forwards}.loader-card{width:min(360px,76vw);display:grid;justify-items:center;gap:16px}.loader-card img{width:min(285px,70vw)}.loader-caption{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#78818a;text-align:center}.loader-track{width:100%;height:1px;background:rgba(7,17,27,.12);overflow:hidden}.loader-track i{display:block;width:100%;height:100%;background:var(--gold);transform-origin:left;animation:loadLine .95s var(--ease) forwards}@keyframes loadLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes loaderOut{to{opacity:0;visibility:hidden}}
/* nav */
.site-header{position:fixed;top:0;left:0;right:0;z-index:5000;border-bottom:1px solid transparent;transition:.3s ease;isolation:isolate}.site-header:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:rgba(245,240,232,.9);backdrop-filter:blur(16px);transition:opacity .3s ease}.site-header.scrolled{border-color:var(--line)}.site-header.scrolled:before{opacity:1}.nav-bar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-brand{flex:0 0 auto;position:relative;z-index:2}.nav-brand img{width:205px;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-size:.86rem}.main-nav>a:not(.nav-cta){color:#27343f;white-space:nowrap}.nav-cta{padding:12px 17px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;white-space:nowrap}.lang-switch{display:grid;grid-template-columns:1fr 1fr;width:82px;height:38px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55)}.lang-switch button{border:0;border-radius:999px;background:transparent;color:#7d858c;font-size:.7rem;font-weight:700;cursor:pointer}.lang-switch button.active{background:var(--ink);color:#fff}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;position:relative;z-index:5002}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.3s}.menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* home hero */
.home-hero{min-height:100svh;padding:142px 0 82px;display:flex;align-items:center;position:relative;overflow:hidden}.home-hero:after{content:'';position:absolute;width:680px;height:680px;border:1px solid rgba(7,17,27,.06);border-radius:50%;right:-300px;top:-260px;box-shadow:0 0 0 70px rgba(7,17,27,.02)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:64px;align-items:center;position:relative;z-index:1}.hero-copy h1{font-size:clamp(4rem,7vw,7rem);line-height:1.06;letter-spacing:-.055em;margin:18px 0 24px}.hero-copy>p{max-width:620px;font-size:1.04rem;line-height:1.82;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.availability{margin-top:22px;font-size:.8rem;color:#66717a;display:flex;align-items:center;gap:10px}.availability i{width:7px;height:7px;border-radius:50%;background:#5d9270}.hero-media{position:relative;padding:14px 26px 0 0}.image-frame{height:600px;border-radius:32px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:var(--ink)}.image-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.83)}.image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,27,.04),rgba(7,17,27,.22) 55%,rgba(7,17,27,.5))}.image-tag{position:absolute;z-index:2;left:24px;top:24px;padding:9px 13px;border-radius:999px;background:rgba(7,17,27,.55);color:#fff;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;backdrop-filter:blur(8px)}.hero-card{position:absolute;right:0;bottom:-32px;width:min(330px,75%);padding:26px;border-radius:25px;background:var(--ink2);color:#fff;box-shadow:0 22px 50px rgba(7,17,27,.23)}.hero-card small{color:var(--gold2);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.hero-card h3{font-size:2rem;line-height:1.04;margin:12px 0}.hero-card p{margin:0;color:rgba(255,255,255,.66);font-size:.86rem;line-height:1.65}
/* ticker */.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--paper2)}.ticker-track{display:flex;width:max-content;gap:56px;padding:17px 0;animation:ticker 26s linear infinite}.ticker-track span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#4f5b64;white-space:nowrap}.ticker-track span:before{content:'·';color:var(--gold);margin-right:18px}@keyframes ticker{to{transform:translateX(-50%)}}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:54px;margin-bottom:42px}.section-heading h2{font-size:clamp(2.8rem,4.8vw,5rem);line-height:1.1;letter-spacing:-.04em;margin:12px 0 0;max-width:760px}.section-heading>p{max-width:380px;color:var(--muted);line-height:1.8}.practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.practice-card{min-height:310px;padding:28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;transition:.3s var(--ease)}.practice-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(7,17,27,.08);border-color:rgba(199,161,104,.4)}.practice-card span{color:var(--gold);font-weight:700}.practice-card h3{font-size:2rem;line-height:1.04;margin:48px 0 14px}.practice-card p{color:var(--muted);line-height:1.7;margin:0}.practice-card b{margin-top:auto;padding-top:18px}.feature-band{padding:0 0 110px}.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;border-radius:30px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow)}.feature-image{min-height:430px}.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.78)}.feature-copy{padding:54px;color:#fff;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.1;margin:15px 0}.feature-copy p{color:rgba(255,255,255,.65);line-height:1.8}.feature-copy a{margin-top:16px;color:var(--gold2)}.dark-section{background:var(--ink);color:#fff}.risk-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center}.risk-grid h2{font-size:clamp(3rem,5vw,5.2rem);line-height:1.12;margin:15px 0 22px}.risk-grid>div:first-child>p{color:rgba(255,255,255,.62);line-height:1.8;margin-bottom:26px}.risk-list{border-top:1px solid rgba(255,255,255,.12)}.risk-list>div{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.12)}.risk-list span{color:var(--gold);font-family:'Fraunces',serif;font-size:1.15rem}.risk-list h3{margin:0 0 6px;font-family:'DM Sans',sans-serif;font-size:1rem}.risk-list p{margin:0;color:rgba(255,255,255,.56);line-height:1.6;font-size:.88rem}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.method-grid article{padding:30px;border-right:1px solid var(--line)}.method-grid article:last-child{border-right:0}.method-grid article>span{font-family:'Fraunces',serif;color:var(--gold);font-size:2.2rem}.method-grid h3{font-family:'DM Sans',sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:40px 0 9px}.method-grid p{margin:0;color:var(--muted);line-height:1.65;font-size:.88rem}.quote-section{padding:110px 0;background:var(--paper2)}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.quote-image{height:540px;border-radius:28px;overflow:hidden}.quote-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.8)}blockquote{font-size:clamp(2.8rem,4.5vw,4.7rem);line-height:1.02;letter-spacing:-.035em;margin:20px 0 30px}.quote-grid p{color:var(--muted);line-height:1.6}.cta-band{padding:82px 0;background:var(--gold)}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:36px}.cta-band h2{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.1;margin:0;max-width:820px}
/* inner pages */.inner-hero{padding:165px 0 80px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#faf7f1,var(--paper))}.inner-hero.compact{padding-bottom:68px}.inner-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:end}.inner-hero h1{font-size:clamp(3.5rem,6vw,6.4rem);line-height:1.06;letter-spacing:-.05em;margin:14px 0 0}.inner-hero-grid>p{color:var(--muted);line-height:1.85;margin:0 0 8px}.firm-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}.firm-copy h2,.assessment-copy h2,.quote-grid h2{font-size:clamp(2.8rem,4vw,4.3rem);line-height:1.1;margin:14px 0 20px}.firm-copy>p,.assessment-copy>p{color:var(--muted);line-height:1.85}.mini-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}.mini-photo-grid figure{margin:0;border-radius:20px;overflow:hidden;position:relative;height:220px;background:#111}.mini-photo-grid img{width:100%;height:100%;object-fit:cover;filter:brightness(.73)}.mini-photo-grid figcaption{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:.78rem;line-height:1.45}.mini-photo-grid b{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;margin-bottom:4px}.firm-feature{height:580px;border-radius:30px;overflow:hidden;position:relative;background:var(--ink);box-shadow:var(--shadow)}.firm-feature img{width:100%;height:100%;object-fit:cover;filter:brightness(.73) saturate(.82)}.firm-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,17,27,.86))}.firm-feature>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}.firm-feature small{color:var(--gold2);text-transform:uppercase;letter-spacing:.14em}.firm-feature h3{font-size:2.4rem;line-height:1.03;margin:12px 0}.firm-feature p{color:rgba(255,255,255,.68);line-height:1.7}.soft-section{background:var(--paper2)}
/* services */.services-hero{padding-bottom:88px}.services-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.services-hero h1{max-width:750px}.services-hero p{color:var(--muted);line-height:1.82;max-width:600px}.services-hero-image{height:430px;border-radius:30px;overflow:hidden;position:relative}.services-hero-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.8)}.services-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,27,.04),rgba(7,17,27,.46))}.services-hero-image span{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.services-layout{display:grid;grid-template-columns:340px 1fr;gap:38px;align-items:start}.services-intro{position:sticky;top:105px;padding:30px;border-radius:26px;background:rgba(255,255,255,.58);border:1px solid var(--line)}.services-intro h2{font-size:3.1rem;line-height:1.1;margin:14px 0 18px}.services-intro>p{color:var(--muted);line-height:1.8}.services-points{margin-top:26px;display:grid}.services-points>div{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.services-points b{color:var(--gold)}.services-points span{color:#536069;font-size:.9rem;line-height:1.55}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-card{padding:27px;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.65);min-height:295px;transition:.3s var(--ease)}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(7,17,27,.08)}.service-card.featured{background:var(--ink);color:#fff}.service-meta{display:flex;justify-content:space-between;gap:14px}.service-meta b{color:var(--gold);font-size:1rem}.service-meta span{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#98a0a7}.service-card h3{font-size:2rem;line-height:1.03;margin:42px 0 12px}.service-card p{color:var(--muted);line-height:1.75;margin:0}.service-card.featured p{color:rgba(255,255,255,.62)}.assessment-card{grid-column:1/-1;min-height:auto;display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center}.assessment-card h3{margin:6px 0 10px}.assessment-card>a{font-weight:700;white-space:nowrap}.assessment-card .service-meta{display:block}.assessment-card .service-meta span{display:block;margin-top:8px}
/* contact */.contact-section{padding-top:78px}.contact-stage{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px;align-items:stretch}.contact-info-panel{border-radius:30px;overflow:hidden;background:var(--ink);color:#fff;padding-bottom:28px;box-shadow:var(--shadow)}.contact-photo{height:350px;position:relative}.contact-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.82)}.contact-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,27,.08),rgba(7,17,27,.75))}.contact-photo-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:24px}.contact-photo-copy small{color:var(--gold2);text-transform:uppercase;letter-spacing:.15em}.contact-photo-copy h2{font-size:2.8rem;line-height:1.1;margin:10px 0 0}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:18px 28px}.contact-details>div{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.contact-details span{display:block;color:var(--gold2);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.contact-details strong{font-size:.9rem;line-height:1.45}.contact-info-panel>.button{margin-left:28px}.contact-form-panel{border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.75);padding:36px;box-shadow:0 18px 52px rgba(7,17,27,.06)}.contact-form-panel h2,.form-panel h2{font-size:3.4rem;line-height:1.1;margin:12px 0}.contact-form-panel>p{color:var(--muted);line-height:1.7;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:8px}.form-grid label>span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);border-radius:13px;background:#fbf8f2;padding:14px 15px;color:var(--ink);outline:none}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:rgba(199,161,104,.9);box-shadow:0 0 0 4px rgba(199,161,104,.1)}.form-grid textarea{min-height:140px;resize:vertical}.full{grid-column:1/-1}.form-action{display:flex;align-items:center;gap:18px}.form-action small{color:var(--muted);line-height:1.5}.hp{display:none!important}.form-status{grid-column:1/-1;padding:13px 15px;border-radius:13px;font-size:.88rem}.form-status.success{background:#e6f2e9;color:#2e5d3a}.form-status.error{background:#f7e7e7;color:#782d2d}
.consent-row{display:flex;align-items:flex-start;gap:10px}
.consent-row input[type=checkbox]{width:17px;height:17px;flex:0 0 auto;margin-top:2px;accent-color:var(--gold)}
.form-grid .consent-row>span{text-transform:none;letter-spacing:normal;font-weight:400;font-size:.82rem;line-height:1.55;color:var(--muted)}
.consent-row a{color:var(--ink);text-decoration:underline}
.form-note{color:var(--muted);font-size:.8rem;line-height:1.6;margin-top:14px}
.legal-prose{max-width:760px}
.legal-prose h2{font-size:1.9rem;line-height:1.15;margin:44px 0 14px}
.legal-prose h2:first-child{margin-top:0}
.legal-prose p{color:var(--muted);line-height:1.8;margin:0 0 14px}
.legal-prose .bio-list{margin-top:0}
.legal-prose .bio-list li{margin-bottom:14px}
/* assessment */.assessment-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}.assessment-list{margin-top:28px;border-top:1px solid var(--line)}.assessment-list article{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.assessment-list span{font-family:'Fraunces',serif;color:var(--gold);font-size:1.2rem}.assessment-list h3{font-family:'DM Sans',sans-serif;font-size:1rem;margin:0 0 5px}.assessment-list p{margin:0;color:var(--muted);line-height:1.6}.assessment-form-wrap{display:grid;gap:18px}.assessment-image{height:300px;border-radius:26px;overflow:hidden;position:relative}.assessment-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.8)}.assessment-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,17,27,.7))}.assessment-image>div{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff}.assessment-image small{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}.assessment-image strong{font-family:'Fraunces',serif;font-size:1.8rem}.form-panel{padding:32px;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.7);box-shadow:0 18px 50px rgba(7,17,27,.06)}
/* footer */.site-footer{background:#050d14;color:#fff;padding:72px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:60px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand{font-family:'Fraunces',serif;font-size:2rem;margin-bottom:14px}.footer-grid p,.footer-grid a{display:block;color:rgba(255,255,255,.55);font-size:.84rem;line-height:1.8}.footer-grid h5{margin:0 0 14px;color:var(--gold2);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:rgba(255,255,255,.34);font-size:.72rem}
/* WhatsApp */.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:6000;display:flex;align-items:center;gap:10px;padding:9px 13px 9px 9px;border-radius:999px;background:#07111b;color:#fff;box-shadow:0 16px 36px rgba(7,17,27,.22);border:1px solid rgba(37,211,102,.22)}.wa-icon{width:36px;height:36px}.wa-icon svg{width:36px;height:36px;display:block}.wa-text{font-size:.78rem;font-weight:700}
/* animation progressive only; content remains visible */.reveal{animation:fadeRise .65s var(--ease) both}@keyframes fadeRise{from{transform:translateY(12px)}to{transform:none}}
/* responsive */
@media(max-width:1040px){.container{width:min(100% - 36px,1180px)}.nav-bar{height:74px}.nav-brand img{width:185px}.menu-toggle{display:block}.main-nav{position:fixed;inset:0;background:rgba(245,240,232,.985);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:92px 8vw 40px;font-family:'Fraunces',serif;font-size:clamp(2.2rem,6vw,3.6rem);transform:translateY(-102%);transition:transform .45s var(--ease);z-index:5001}.main-nav.open{transform:translateY(0)}.main-nav>a:not(.nav-cta){font-size:inherit}.main-nav .lang-switch{width:100px;height:42px;font-family:'DM Sans',sans-serif}.main-nav .nav-cta{font-family:'DM Sans',sans-serif;font-size:.9rem;margin-top:8px}.hero-grid,.risk-grid,.quote-grid,.firm-grid,.services-hero-grid,.services-layout,.contact-stage,.assessment-grid,.inner-hero-grid{grid-template-columns:1fr}.hero-media{max-width:720px;margin:10px auto 0;width:100%}.hero-copy h1{font-size:clamp(2.8rem,7vw,4.6rem)}.inner-hero h1{font-size:clamp(2.6rem,6vw,4.2rem)}.section-heading h2{font-size:clamp(2.1rem,5vw,3.6rem)}.risk-grid h2{font-size:clamp(2.2rem,5vw,3.8rem)}.cta-band h2{font-size:clamp(2rem,5vw,3.6rem)}blockquote{font-size:clamp(2.1rem,5vw,3.6rem)}.feature-copy h2{font-size:clamp(1.9rem,4.5vw,3.2rem)}.firm-copy h2,.assessment-copy h2,.quote-grid h2{font-size:clamp(2.1rem,5vw,3.6rem)}.services-intro h2{font-size:2.6rem}.contact-form-panel h2,.form-panel h2{font-size:2.6rem}.contact-photo-copy h2{font-size:2.2rem}.firm-feature h3{font-size:2rem}.image-frame{height:560px}.hero-card{right:18px}.section-heading{align-items:start;flex-direction:column;gap:15px}.practice-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.feature-image{min-height:330px}.method-grid{grid-template-columns:1fr 1fr}.method-grid article:nth-child(2){border-right:0}.services-intro{position:relative;top:auto}.contact-photo{height:320px}.assessment-card{grid-template-columns:90px 1fr}.assessment-card>a{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.container{width:min(100% - 24px,1180px)}.section{padding:82px 0}.nav-brand img{width:168px}.home-hero{padding:118px 0 76px;min-height:auto}.hero-copy h1{font-size:clamp(2.6rem,11vw,4rem)}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.image-frame{height:430px;border-radius:24px}.hero-media{padding-right:0}.hero-card{position:relative;right:auto;bottom:auto;width:calc(100% - 24px);margin:-48px auto 0}.practice-grid,.service-cards{grid-template-columns:1fr}.practice-card{min-height:270px}.feature-band{padding-bottom:82px}.feature-grid{border-radius:24px}.feature-copy{padding:28px 22px}.risk-grid{gap:46px}.method-grid{grid-template-columns:1fr}.method-grid article{border-right:0;border-bottom:1px solid var(--line)}.method-grid article:last-child{border-bottom:0}.quote-image{height:400px}.cta-band .container{flex-direction:column;align-items:flex-start}.inner-hero{padding:128px 0 64px}.inner-hero h1{font-size:clamp(2.3rem,9vw,3.6rem)}.mini-photo-grid{grid-template-columns:1fr}.firm-feature{height:440px}.services-hero-image{height:330px}.services-intro{padding:24px 20px}.services-intro h2{font-size:2.4rem}.contact-photo-copy h2{font-size:1.9rem}.firm-feature h3{font-size:1.7rem}.service-card{min-height:250px;padding:22px}.assessment-card{grid-template-columns:1fr}.assessment-card>a{grid-column:auto}.contact-info-panel,.contact-form-panel,.form-panel{border-radius:24px}.contact-details{grid-template-columns:1fr;padding:18px 22px}.contact-info-panel>.button{margin:0 22px;width:calc(100% - 44px)}.contact-form-panel,.form-panel{padding:24px 20px}.contact-form-panel h2,.form-panel h2{font-size:2.3rem}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.form-action{align-items:stretch;flex-direction:column}.assessment-image{height:250px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.wa-text{display:none}.whatsapp-float{right:14px;bottom:14px;padding:7px}.wa-icon,.wa-icon svg{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* =========================================================
   INTELLILEX — refined interaction layer
   Enhances the stable layout without making content depend on JS.
   ========================================================= */

/* subtle depth + ambient canvas */
body{position:relative;background:
  radial-gradient(circle at 12% 8%,rgba(199,161,104,.075),transparent 27%),
  radial-gradient(circle at 88% 18%,rgba(45,72,98,.05),transparent 24%),
  var(--paper)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:8999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:multiply}

/* scroll progress */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:7000;pointer-events:none;background:transparent}
.scroll-progress>i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--gold),var(--gold2));box-shadow:0 0 18px rgba(199,161,104,.28);will-change:transform}

/* navigation polish */
.site-header{will-change:background,box-shadow}
.site-header.scrolled{box-shadow:0 12px 34px rgba(7,17,27,.055)}
.main-nav>a:not(.nav-cta){position:relative;padding:9px 0;transition:color .28s ease}
.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold2));transform:scaleX(0);transform-origin:right;transition:transform .34s var(--ease)}
.main-nav>a:not(.nav-cta):hover{color:var(--ink)}
.main-nav>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}
.nav-brand img{transition:transform .35s var(--ease),filter .35s ease}
.nav-brand:hover img{transform:translateY(-1px) scale(1.012);filter:drop-shadow(0 8px 14px rgba(7,17,27,.07))}
.lang-switch{transition:box-shadow .3s ease,border-color .3s ease,transform .3s var(--ease)}
.lang-switch:hover{transform:translateY(-1px);border-color:rgba(199,161,104,.28);box-shadow:0 10px 24px rgba(7,17,27,.06)}

/* buttons */
.button,.nav-cta{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 24px rgba(7,17,27,.05)}
.button:before,.nav-cta:before{content:"";position:absolute;top:-130%;left:-35%;width:24%;height:360%;transform:rotate(24deg) translateX(-220%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);transition:transform .75s var(--ease);z-index:-1}
.button:hover:before,.nav-cta:hover:before{transform:rotate(24deg) translateX(620%)}
.button:hover,.nav-cta:hover{box-shadow:0 16px 34px rgba(7,17,27,.11)}
.button-dark:hover,.nav-cta:hover{background:#0d2133}
.button-gold:hover{box-shadow:0 16px 36px rgba(199,161,104,.22)}

/* editorial headings */
.section-heading h2,.inner-hero h1,.risk-grid h2,.quote-grid blockquote,.cta-band h2{position:relative;text-wrap:balance}
.eyebrow{transition:letter-spacing .35s var(--ease),color .35s ease}
section:hover>.container .eyebrow,.contact-section:hover .eyebrow{letter-spacing:.2em}

/* image treatment */
.image-frame,.feature-image,.quote-image,.firm-feature,.mini-photo,.services-hero-image,.contact-photo,.assessment-image{overflow:hidden;isolation:isolate}
.image-frame img,.feature-image img,.quote-image img,.firm-feature img,.mini-photo img,.services-hero-image img,.contact-photo img,.assessment-image img{transition:transform 1.05s var(--ease),filter .8s ease;will-change:transform}
.image-frame:hover img,.feature-image:hover img,.quote-image:hover img,.firm-feature:hover img,.mini-photo:hover img,.services-hero-image:hover img,.contact-photo:hover img,.assessment-image:hover img{transform:scale(1.035);filter:brightness(.92) saturate(.9)}
.image-frame:before,.feature-image:before,.quote-image:before,.firm-feature:before,.mini-photo:before,.services-hero-image:before,.assessment-image:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.12) 42%,transparent 62%);transform:translateX(-130%);transition:transform 1.1s var(--ease)}
.image-frame:hover:before,.feature-image:hover:before,.quote-image:hover:before,.firm-feature:hover:before,.mini-photo:hover:before,.services-hero-image:hover:before,.assessment-image:hover:before{transform:translateX(130%)}

/* cards and panels */
.practice-card,.service-card,.services-intro,.contact-form-panel,.form-panel,.contact-info-panel,.firm-feature,.assessment-image,.hero-card,.feature-grid{isolation:isolate;transition:transform .38s var(--ease),box-shadow .38s ease,border-color .32s ease}
.practice-card,.service-card,.contact-form-panel,.form-panel,.contact-info-panel,.feature-grid{position:relative}
.practice-card:after,.service-card:after,.services-intro:after,.contact-form-panel:after,.form-panel:after,.hero-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(199,161,104,.12),transparent 46%);opacity:0;transition:opacity .32s ease;z-index:-1}
.practice-card:hover:after,.service-card:hover:after,.services-intro:hover:after,.contact-form-panel:hover:after,.form-panel:hover:after,.hero-card:hover:after{opacity:1}
.practice-card:hover,.service-card:hover{transform:translateY(-7px);border-color:rgba(199,161,104,.28);box-shadow:0 24px 52px rgba(7,17,27,.09)}
.practice-card b{transition:transform .3s var(--ease),color .3s ease}.practice-card:hover b{transform:translate(5px,-5px);color:var(--gold)}
.hero-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(7,17,27,.2)}
.services-intro:hover,.contact-form-panel:hover,.form-panel:hover{border-color:rgba(199,161,104,.24);box-shadow:0 26px 60px rgba(7,17,27,.085)}

/* service cards micro-line */
.service-card{overflow:hidden}
.service-card:before{content:"";position:absolute;left:26px;right:26px;top:0;height:1px;background:linear-gradient(90deg,rgba(199,161,104,.9),rgba(199,161,104,0));transform:scaleX(.38);transform-origin:left;transition:transform .42s var(--ease)}
.service-card:hover:before{transform:scaleX(1)}

/* risk and method movement */
.risk-list>div,.method-grid article,.assessment-list article,.contact-details>div{transition:transform .32s var(--ease),background .32s ease,padding-left .32s var(--ease)}
.risk-list>div:hover{transform:translateX(8px);background:rgba(255,255,255,.025)}
.method-grid article:hover{background:rgba(199,161,104,.055)}
.method-grid article span{transition:transform .35s var(--ease),color .3s ease}.method-grid article:hover span{transform:translateY(-4px);color:#a47e46}
.assessment-list article:hover,.contact-details>div:hover{padding-left:8px}

/* forms */
.form-grid input,.form-grid textarea,.form-grid select{transition:border-color .24s ease,box-shadow .24s ease,background .24s ease,transform .24s var(--ease)}
.form-grid input:hover,.form-grid textarea:hover,.form-grid select:hover{border-color:rgba(199,161,104,.4);background:#fffdfa}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{transform:translateY(-1px);background:#fffdfa;box-shadow:0 0 0 4px rgba(199,161,104,.09),0 10px 24px rgba(7,17,27,.045)}
.form-action{min-height:48px}

/* footer */
.footer-grid a{position:relative;width:max-content;transition:color .25s ease,transform .25s var(--ease)}
.footer-grid a:hover{color:#fff;transform:translateX(3px)}
.footer-brand{letter-spacing:.02em}

/* whatsapp: quiet, polished */
.whatsapp-float{transition:transform .32s var(--ease),box-shadow .32s ease,border-color .32s ease,background .32s ease}
.whatsapp-float:hover{transform:translateY(-4px);background:#0c2130;border-color:rgba(37,211,102,.38);box-shadow:0 22px 44px rgba(7,17,27,.25)}
.wa-icon{transition:transform .34s var(--ease)}.whatsapp-float:hover .wa-icon{transform:rotate(-4deg) scale(1.06)}

/* soft entrance stagger: never hides content */
.fx-stagger{animation:fxRise .72s var(--ease) both;animation-delay:var(--fx-delay,0ms)}
@keyframes fxRise{from{transform:translateY(15px);filter:blur(1.4px)}to{transform:none;filter:none}}

/* mobile: preserve performance */
@media(max-width:1040px){
  .main-nav>a:not(.nav-cta):after{display:none}
  .main-nav a{transition:transform .28s var(--ease)}
  .main-nav a:hover{transform:translateX(5px)}
}
@media(max-width:680px){
  body:before{display:none}
  .practice-card:hover,.service-card:hover,.hero-card:hover,.whatsapp-float:hover{transform:none}
  .image-frame:hover img,.feature-image:hover img,.quote-image:hover img,.firm-feature:hover img,.mini-photo:hover img,.services-hero-image:hover img,.contact-photo:hover img,.assessment-image:hover img{transform:none}
  .button:before,.nav-cta:before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fx-stagger{animation:none!important}
  .button:before,.nav-cta:before,.image-frame:before,.feature-image:before,.quote-image:before,.firm-feature:before,.mini-photo:before,.services-hero-image:before,.assessment-image:before{display:none!important}
}


/* Logo refinement */
.nav-brand{display:flex;align-items:center;min-width:0}
.nav-brand img{width:236px;height:auto;max-width:none;filter:none;transition:transform .3s var(--ease),opacity .3s ease}
.nav-brand:hover img{transform:translateY(-1px);opacity:.94}
.loader-card img{width:min(330px,76vw);height:auto}
@media(max-width:1180px) and (min-width:1041px){
  .nav-brand img{width:210px}
  .main-nav{gap:18px}
}
@media(max-width:1040px){.nav-brand img{width:204px}}
@media(max-width:680px){.nav-brand img{width:178px}.loader-card img{width:min(300px,78vw)}}
@media(max-width:390px){.nav-brand img{width:158px}}


/* Thank-you page */
.thankyou-page{min-height:78vh;display:grid;place-items:center;padding:150px 0 90px;background:radial-gradient(circle at 50% 24%,rgba(199,161,104,.12),transparent 34%)}
.thankyou-inner{max-width:780px;text-align:center;display:flex;flex-direction:column;align-items:center}
.thankyou-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold2);font-size:1.6rem;margin-bottom:24px;box-shadow:0 20px 48px rgba(7,17,27,.15)}
.thankyou-inner h1{font-family:'Fraunces',Georgia,serif;font-weight:440;font-size:clamp(3rem,6vw,5.8rem);line-height:1.1;letter-spacing:-.045em;margin:16px 0 20px;max-width:12ch}
.thankyou-inner p{max-width:620px;color:var(--muted);font-size:1.05rem;line-height:1.8;margin:0}
.thankyou-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}
@media(max-width:620px){.thankyou-page{padding-top:120px}.thankyou-actions{width:100%;flex-direction:column}.thankyou-actions .button{width:100%}}


/* =========================================================
   INTELLILEX — premium upgrade layer
   Global polish: typography depth, scroll storytelling,
   cursor craft, magnetism, ambient light. Purely additive;
   every rule degrades gracefully without JS and respects
   prefers-reduced-motion.
   ========================================================= */

/* selection + scrollbar */
::selection{background:var(--gold);color:var(--ink);-webkit-text-fill-color:var(--ink)}
html{scrollbar-width:thin;scrollbar-color:var(--gold) var(--paper2)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--paper2)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold),var(--gold2));border-radius:999px;border:2px solid var(--paper2)}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

/* focus */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.button:focus-visible,.nav-cta:focus-visible{outline-offset:5px}

/* editorial type depth: soft ink gradient on headline copy */
@supports (background-clip:text) or (-webkit-background-clip:text){
  .hero-copy h1,.section-heading h2,.firm-copy h2,.services-intro h2,.assessment-copy h2,.inner-hero h1,.contact-form-panel h2,.form-panel h2,.cta-band h2,.thankyou-inner h1,.quote-grid blockquote,.quote-grid h2{
    background:linear-gradient(180deg,var(--ink) 0%,#22384a 150%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
  .risk-grid h2,.feature-copy h2,.firm-feature h3,.contact-photo-copy h2{
    background:linear-gradient(180deg,#ffffff 0%,var(--gold2) 170%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}

/* ticker: soft fade at edges */
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}

/* quote section: oversized decorative mark */
.quote-grid>div:last-child{position:relative}
.quote-grid blockquote{position:relative;z-index:1}
.quote-grid>div:last-child:before{content:'\201C';position:absolute;top:-86px;left:-10px;font-family:'Fraunces',Georgia,serif;font-size:12rem;line-height:1;color:rgba(199,161,104,.14);z-index:0;pointer-events:none;user-select:none}

/* hero: ambient cursor-tracked light */
.home-hero{position:relative}
.home-hero:before{content:'';position:absolute;inset:-8%;z-index:0;pointer-events:none;background:radial-gradient(560px circle at var(--hx,72%) var(--hy,18%),rgba(199,161,104,.16),transparent 62%);opacity:0;animation:heroGlowIn 1.4s var(--ease) .4s forwards}
@keyframes heroGlowIn{to{opacity:1}}

/* hero image: gentle parallax, roomier crop to avoid edge exposure
   (short linear transition so scroll-driven --py updates track the
   cursor/scroll instead of fighting the 1.05s hover transition) */
.home-hero .image-frame img{transform:scale(1.08) translateY(var(--py,0px));transition:transform .1s linear,filter .8s ease}
.home-hero .image-frame:hover img{transform:scale(1.11) translateY(var(--py,0px))}

/* hero card: subtle desk-tilt toward cursor */
.hero-card{transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateZ(0);transition:transform .25s var(--ease),box-shadow .38s ease}
.hero-card:hover{transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(-5px);box-shadow:0 28px 60px rgba(7,17,27,.2)}

/* magnetic buttons: smooth settle */
.button,.nav-cta{transition:transform .22s var(--ease),background .28s ease,box-shadow .28s ease}

/* nav CTA: quiet living gradient */
.nav-cta{background:linear-gradient(110deg,var(--ink) 0%,#16283a 45%,var(--ink) 100%);background-size:240% 100%;animation:navCtaShift 7s ease-in-out infinite}
@keyframes navCtaShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* mobile nav: staggered entrance */
@media(max-width:1040px){
  .main-nav>a,.main-nav>.lang-switch,.main-nav>a.nav-cta{opacity:0;transform:translateX(-16px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
  .main-nav.open>a:nth-child(1){transition-delay:.05s}
  .main-nav.open>a:nth-child(2){transition-delay:.1s}
  .main-nav.open>a:nth-child(3){transition-delay:.15s}
  .main-nav.open>a:nth-child(4){transition-delay:.2s}
  .main-nav.open>a:nth-child(5){transition-delay:.25s}
  .main-nav.open>.lang-switch{transition-delay:.3s}
  .main-nav.open>a.nav-cta{transition-delay:.35s}
  .main-nav.open>a,.main-nav.open>.lang-switch,.main-nav.open>a.nav-cta{opacity:1;transform:none}
}

/* scroll storytelling: elements settle into place as they enter view.
   The pre-reveal offset lives on :not(.is-in) so that, once revealed,
   nothing here competes with a component's own :hover transform
   (e.g. the card lift on .practice-card/.service-card) at equal
   specificity. */
.io-reveal{opacity:0;filter:blur(2px);transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease);transition-delay:var(--fx-delay,0ms)}
.io-reveal:not(.is-in){transform:translateY(26px)}
.io-reveal.is-in{opacity:1;filter:none}

/* whatsapp: quiet pulse ring to draw the eye a few times, then rest */
.whatsapp-float{position:fixed}
.whatsapp-float:before{content:'';position:absolute;inset:0;border-radius:999px;border:1.5px solid rgba(37,211,102,.55);opacity:0;pointer-events:none;animation:waPulse 2.4s var(--ease) 2s 3}
@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.4);opacity:0}}

/* back to top */
.to-top{position:fixed;left:20px;bottom:20px;z-index:5999;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(245,240,232,.88);backdrop-filter:blur(10px);color:var(--ink);font-size:1.05rem;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s var(--ease),transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.to-top.show{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{border-color:rgba(199,161,104,.5);box-shadow:0 14px 30px rgba(7,17,27,.12);transform:translateY(-3px)}
@media(max-width:680px){.to-top{left:14px;bottom:14px;width:42px;height:42px}}

/* loader: a breath of life while it holds */
.loader-card img{animation:logoBreathe 1.6s ease-in-out infinite}
@keyframes logoBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

/* custom cursor: thin gold ring + dot, desktop precision pointers only */
body.has-cursor{cursor:none}
body.has-cursor input,body.has-cursor textarea,body.has-cursor select{cursor:auto}
.cursor-ring{position:fixed;top:0;left:0;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:1px solid rgba(199,161,104,.6);pointer-events:none;z-index:9998;opacity:0;transition:transform .16s var(--ease),opacity .3s ease,border-color .3s ease,background .3s ease,width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease);transform:translate3d(var(--cx,-100px),var(--cy,-100px),0)}
.cursor-ring.active{opacity:1}
.cursor-ring.hovering{width:46px;height:46px;margin:-23px 0 0 -23px;background:rgba(199,161,104,.1);border-color:rgba(199,161,104,.9)}
.cursor-ring.press{transform:translate3d(var(--cx,-100px),var(--cy,-100px),0) scale(.85)}
.cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--gold);pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s ease;transform:translate3d(var(--cx,-100px),var(--cy,-100px),0)}
.cursor-dot.active{opacity:1}

@media(pointer:coarse){.cursor-ring,.cursor-dot{display:none!important}body.has-cursor{cursor:auto}}

/* headline curtain reveal: a clean clip-path wipe, independent of the
   text nodes themselves so it never fights with the ES/EN dictionary
   swap. .hero-copy h1/.inner-hero h1/.thankyou-inner h1 lift on a
   timer (synced with the loader curtain); everything else lifts on
   scroll via IntersectionObserver. */
/* Wipes left-to-right instead of bottom-to-top: the vertical (top/bottom)
   inset never animates, so it can't sweep across a descender mid-line
   like "p" or "g" and clip it for a frame — only the horizontal edge
   moves, which only ever falls between glyphs. */
.rv-heading{clip-path:inset(-0.5em 100% -0.5em -4%);transition:clip-path 1s var(--ease)}
.rv-heading.is-in{clip-path:inset(-0.5em -4% -0.5em -4%)}

/* a quiet italic accent: the closing line of the hero headline and
   the working-principle quote, set in Fraunces' true italic */
.hero-copy h1 em,.quote-grid blockquote em{font-style:italic;font-weight:440}

/* "cómo empieza" story timeline: reuses .method-grid's numbered-article
   look at 3 columns instead of 4 */
.method-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.story-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;flex-wrap:wrap}
.story-footer small{color:var(--muted);font-size:.82rem}
@media(max-width:1040px){.method-grid.cols-3{grid-template-columns:1fr}.method-grid.cols-3 article{border-right:0;border-bottom:1px solid var(--line)}.method-grid.cols-3 article:last-child{border-bottom:0}}

/* "quién está detrás": a smaller pull-quote under a bio paragraph,
   instead of the section's usual full-size centerpiece quote */
.quote-grid blockquote.quote-inline{font-size:1.5rem;line-height:1.4;letter-spacing:-.015em;margin:22px 0 26px}

/* footer legal links */
.footer-legal-links{display:flex;gap:16px}
.footer-legal-links a{display:inline;color:rgba(255,255,255,.55)}

/* reusable content components: bio list, callout / warning boxes */
.bio-list{margin:18px 0 0;padding-left:20px;color:var(--muted);line-height:1.7;font-size:.94rem}
.bio-list li{margin-bottom:10px}
.bio-list li b{color:var(--ink);font-weight:600}
.callout-box{border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:rgba(255,255,255,.55);color:var(--muted);font-size:.92rem;line-height:1.7;margin-top:22px}
.callout-box b,.callout-box strong{color:var(--ink)}
.callout-box.warn{border-color:rgba(199,90,58,.35);background:rgba(199,90,58,.06);color:#7a3c26}
.callout-box.warn b,.callout-box.warn strong{color:#5c2c1a}
.placeholder-pill{display:inline-block;padding:2px 9px;border-radius:999px;background:rgba(199,161,104,.16);color:#8a6a34;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.eyebrow.mt-lg{margin-top:34px}
/* Guillaume's real photo: a lighter touch than the stock establishing
   shots — the bottom gradient overlay already carries caption contrast,
   so this only needs a light unifying grade, not the heavy darkening
   used on plain building photography. */
.firm-feature img.portrait,.quote-image img.portrait{filter:saturate(.92) contrast(1.03);object-position:50% 22%}
.service-card p+p{margin-top:12px}
.forense-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:start;margin-top:36px}
.forense-copy>p,.forense-copy>.callout-box{margin-bottom:0}
.forense-copy>*+*{margin-top:20px}
.forense-aside{position:sticky;top:120px}
.forense-aside .callout-box .button{margin-top:16px}
@media(max-width:1040px){.forense-grid{grid-template-columns:1fr}.forense-aside{position:relative;top:auto}}
.diag-note{color:var(--muted);margin-top:24px;font-size:.9rem;line-height:1.6}

/* risk test */
.risk-test{max-width:640px;margin:0 auto;padding:40px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.65);box-shadow:0 18px 50px rgba(7,17,27,.06);position:relative;overflow:hidden}
.risk-test-progress{position:absolute;top:0;left:0;right:0;height:3px;background:var(--line)}
.risk-test-progress>i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transform-origin:left;transform:scaleX(0);transition:transform .4s var(--ease)}
.risk-test-counter{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:14px}
.rt-question{font-size:1.5rem;line-height:1.35;margin:0 0 28px;max-width:26ch}
.risk-test-answers{display:grid;gap:12px}
.rt-answer{text-align:left;padding:16px 20px;border-radius:14px;border:1px solid var(--line);background:#fbf8f2;font-weight:600;font-size:.95rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s var(--ease)}
.rt-answer:hover{border-color:rgba(199,161,104,.5);transform:translateX(3px)}
.rt-answer.active{border-color:var(--gold);background:rgba(199,161,104,.12)}
.rt-back{margin-top:22px;background:none;border:0;padding:0;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline}
.risk-test-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.rt-disclaimer{display:block;margin-top:18px;color:var(--muted);font-size:.78rem}
.rt-result-title{font-size:2.4rem;line-height:1.05;margin:10px 0 14px}
.rt-result-text{color:var(--muted);line-height:1.7;margin:0}
@media(max-width:680px){.risk-test{padding:26px 20px}}

@media(prefers-reduced-motion:reduce){
  .home-hero:before,.whatsapp-float:before,.nav-cta,.loader-card img{animation:none!important}
  .io-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .rv-heading{clip-path:none!important;transition:none!important}
  .cursor-ring,.cursor-dot{display:none!important}
  body.has-cursor{cursor:auto}
  .hero-card{transform:none!important}
  .home-hero .image-frame img,.home-hero .image-frame:hover img{transform:none!important}
}
