/* Gramacho / VP Advocacia — design tokens and shared components. */
:root{--forest:#142d29;--forest-deep:#102420;--forest-light:#203c35;--paper:#f7f5ef;--white:#fff;--gold:#c8ae7e;--gold-dark:#80643c;--ink:#233c35;--muted:#656e67;--line:#dedfd6;--green:#216247;--green-hover:#194d38;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--container:1200px;--radius:3px;--section:104px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.1;letter-spacing:-1.6px}h2{font-size:clamp(36px,4vw,52px)}h1 em,h2 em{font-weight:400}h2 em{color:var(--gold-dark)}p+p{margin-top:18px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold-dark);outline-offset:6px}.hero a:focus-visible,.site-header a:focus-visible,.process a:focus-visible,.contact a:focus-visible,.site-footer a:focus-visible{outline-color:var(--gold)}::selection{background:var(--gold);color:var(--forest)}.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.section{padding-block:var(--section)}.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:16px;top:-80px;padding:12px 20px;background:var(--paper);z-index:100;color:var(--forest)}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:2.1px;line-height:1.5;color:var(--gold-dark);margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:14px 24px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,border-color .2s,transform .2s}.button-primary{background:var(--green);color:#fff;border-color:#3c7d5d}.button-primary:hover{background:var(--green-hover);border-color:#77a58b;transform:translateY(-2px)}.button-outline{border-color:#597064;color:#f8f6f0;background:transparent}.button-outline:hover{background:#ffffff0b;border-color:var(--gold)}.button .arrow{margin-left:20px;width:19px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:7px}.text-link:hover{color:var(--gold-dark)}.topbar{background:var(--forest-deep);color:#cdd6ce;font-size:11px;letter-spacing:.3px;border-bottom:1px solid #ffffff0c}.topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:37px}.topbar-inner>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;background:#9ab893;border-radius:50%}.topbar-divider{color:#6c8175;margin-inline:13px}.site-header{background:var(--forest);color:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff13}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:92px}.brand{display:block;width:226px;flex-shrink:0}.brand img{width:100%;height:auto}.brand>span{display:block;color:#c4cebf;font-size:9px;font-weight:400;letter-spacing:3.1px;margin-top:6px;padding-left:65px;white-space:nowrap}.navigation{display:flex;align-items:center;gap:28px;font-size:12px;color:#dae0d6}.navigation a{padding-block:12px;transition:color .2s}.navigation a:hover{color:var(--gold)}.header-cta{min-height:43px;padding:10px 15px;font-size:12px;gap:9px}.header-cta .icon{width:19px;height:19px}.menu-toggle{display:none}.hero{background:var(--forest);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-top:62px;padding-bottom:52px;align-items:center}.hero .eyebrow{color:var(--gold);font-size:10px;letter-spacing:2px;margin-bottom:27px}.hero .eyebrow>span{width:27px;height:1px;background:var(--gold)}h1{font-size:clamp(46px,4.75vw,68px);line-height:1.12;letter-spacing:-2px}.hero h1 em{color:var(--gold)}.hero-description{font-size:15px;line-height:1.85;color:#c5cec6;margin-top:24px;margin-bottom:30px}.cta-note{display:flex;align-items:center;gap:7px;font-size:11px;color:#b5c3b8;margin-top:13px}.cta-note .icon{height:12px;width:12px}.hero-credentials{display:flex;flex-direction:column;gap:5px;border-top:1px solid #ffffff1d;margin-top:34px;padding-top:20px;font-size:13px}.hero-credentials small{font-size:10px;letter-spacing:.8px;color:#acbfb1}.hero-credentials small span{padding-inline:9px}.hero-portrait{position:relative;padding:0 0 20px 20px;max-width:480px;width:100%;justify-self:end}.portrait-frame{height:510px;position:relative;z-index:1;border-radius:160px 3px 3px 3px;overflow:hidden;background:#38463c}.portrait-frame>img{width:100%;height:100%;object-fit:cover;object-position:51% center;filter:saturate(.64)}.hero-portrait::before{content:'';position:absolute;inset:20px 20px 0 0;border:1px solid #b49a6466;border-radius:160px 3px 3px 3px}.portrait-frame::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102420ef)}.portrait-caption{position:absolute;bottom:30px;left:30px;z-index:2}.portrait-caption>span{font-size:9px;letter-spacing:1.8px;color:#e1d3b6}.portrait-caption>p{font-family:var(--serif);font-size:24px;margin-top:5px;letter-spacing:-.4px}.portrait-seal{position:absolute;bottom:99px;left:-20px;z-index:3;display:flex;align-items:center;gap:13px;background:var(--paper);color:var(--forest);padding:16px 23px;border-left:3px solid var(--gold);box-shadow:0 8px 32px #10242020}.portrait-seal .icon{width:30px;height:30px;color:var(--gold-dark)}.portrait-seal span{font-size:11px;line-height:1.6}.portrait-seal strong{font-size:12px;font-weight:600}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:22px;border-top:1px solid #ffffff1c;font-size:9px;letter-spacing:1.7px;color:#adc0b1}.hero-bottom>a{letter-spacing:.2px;font-size:11px;color:#d0d8cc}.hero-bottom>a>span{margin-left:20px;color:var(--gold);font-size:18px}.trust-strip{background:#eeeee5;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:27px}.trust-grid>div{display:flex;gap:13px;align-items:center;justify-content:center;border-right:1px solid #d2d7cc;font-size:12px;color:#5d6960}.trust-grid>div:last-child{border:0}.trust-grid .icon{width:22px;height:22px;color:var(--gold-dark)}.trust-grid strong{font-weight:600;color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:46px}.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.85;padding-bottom:3px}.section-heading .eyebrow{margin-bottom:19px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:flex;flex-direction:column;padding:31px 30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:#eeeee5}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;color:var(--gold-dark)}.card-top>.icon{height:28px;width:28px}.card-top>span{font-size:10px;letter-spacing:1px;color:#788177}.service-card h3{font-family:var(--serif);font-size:25px;line-height:1.2;letter-spacing:-.4px;margin-bottom:15px;max-width:285px}.service-card>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:28px}.service-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:12px;font-weight:600}.service-card>a:hover{color:var(--gold-dark)}.service-card>a .icon{width:18px;height:18px}.services-foot{display:flex;justify-content:space-between;align-items:center;margin-top:27px;font-size:13px;color:var(--muted)}.services-foot .text-link{color:var(--ink);font-size:12px}.process{background:var(--forest);color:var(--paper)}.process .eyebrow,.process h2 em,.contact .eyebrow,.contact h2 em{color:var(--gold)}.process .section-heading{align-items:center}.process .section-heading .button{min-height:50px;font-size:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:15px}.steps article{border-top:1px solid #c8ae7e55;padding-top:21px}.step-number{font-family:var(--serif);font-size:36px;color:var(--gold)}.steps h3{font-family:var(--serif);font-size:26px;margin-top:17px;margin-bottom:12px}.steps p{font-size:13px;line-height:1.85;color:#bbc8bd;max-width:300px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.about-visual{padding:0 22px 22px 0;position:relative}.about-visual::after{content:'';position:absolute;inset:25px 0 0 25px;border:1px solid #c6b892;z-index:-0}.about-visual>img{height:480px;width:100%;object-fit:cover;position:relative;z-index:1;filter:saturate(.7)}.about-caption{display:flex;gap:20px;align-items:center;background:var(--forest);color:var(--paper);padding:24px 28px;position:relative;z-index:1}.about-caption .icon{width:35px;height:35px;color:var(--gold)}.about-caption p{font-family:var(--serif);font-size:21px;line-height:1.4}.about-caption strong{font-weight:400;color:var(--gold)}.about-copy .eyebrow{margin-bottom:22px}.registration{margin-top:22px;margin-bottom:24px;font-size:11px;letter-spacing:.8px;font-weight:600;color:var(--gold-dark)}.registration>span{margin-inline:8px}.about-copy>p:not(.eyebrow):not(.registration){font-size:14px;line-height:1.85;color:var(--muted)}.qualifications{margin-block:26px}.qualifications>div{padding:16px 0;border-top:1px solid var(--line)}.qualifications span{font-size:9px;letter-spacing:1.7px;color:var(--gold-dark);font-weight:600}.qualifications p{font-size:12px;margin-top:5px}.about-copy .text-link{font-size:13px}.contact{background:var(--forest);color:var(--paper)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:110px}.contact h2{font-size:clamp(38px,4.2vw,57px)}.contact-grid>div>p:not(.eyebrow):not(.cta-note){margin-top:23px;margin-bottom:30px;font-size:14px;color:#c4cfc5}.contact-details{border-left:1px solid #ffffff26;padding-left:52px;display:flex;flex-direction:column;gap:27px;justify-content:center}.contact-details>div>span{display:block;font-size:9px;letter-spacing:1.6px;color:var(--gold);margin-bottom:10px}.contact-details a,.contact-details address{font-size:14px;color:#dce3d8;font-style:normal}.contact-details a:hover{color:var(--gold)}.contact-details .contact-phone{font-family:var(--serif);font-size:28px;letter-spacing:-.5px;white-space:nowrap}.contact-phone .icon{margin-left:13px;width:21px}.contact-details .map-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;margin-top:11px;border-bottom:1px solid #81917a;padding-bottom:3px}.map-link .icon{width:15px;height:15px}.site-footer{background:var(--forest-deep);color:#a9bbac;font-size:11px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:45px}.footer-main .brand{width:200px}.footer-main .brand>span{font-size:8px;padding-left:58px;letter-spacing:2.6px}.footer-main>p{line-height:1.9}.footer-main>a:last-child{border-bottom:1px solid #617465}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff15;padding-block:21px;font-size:10px}.footer-bottom strong{font-weight:500;color:#d1d9cb}.privacy{border-top:1px solid #ffffff15;padding-block:15px;font-size:11px}.privacy summary{cursor:pointer;width:fit-content}.privacy p{max-width:900px;margin-top:15px;line-height:1.8}.mobile-contact{display:none}
@media(min-width:1500px){.hero-grid{padding-top:76px;padding-bottom:65px}.portrait-frame{height:540px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}.brand{width:195px}.brand>span{font-size:8px;letter-spacing:2.6px;padding-left:56px}.navigation{gap:18px;font-size:11px}.header-cta{font-size:11px;padding:10px}.hero-grid{gap:40px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.portrait-frame{height:470px}.portrait-seal{left:0;bottom:95px;padding:13px 16px}.about-grid{gap:55px}.contact-grid{gap:55px}.contact-details{padding-left:35px}}
@media(max-width:900px){:root{--section:78px}.header-inner{height:80px}.header-cta{margin-left:auto}.menu-toggle{display:flex;order:3;flex-direction:column;justify-content:center;gap:6px;background:none;border:1px solid #597064;color:var(--paper);width:43px;height:43px;padding:11px;cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor}.navigation{display:none;position:absolute;top:80px;left:0;right:0;background:var(--forest-deep);padding:20px 32px 25px;flex-direction:column;align-items:stretch;gap:2px;font-size:14px;border-bottom:1px solid #597064;box-shadow:0 12px 20px #0002}.navigation.is-open{display:flex}.navigation a{padding-block:12px}.hero-grid{gap:27px;padding-top:45px}.hero h1{font-size:46px}.hero-description{font-size:13px}.hero .button{font-size:12px;padding:13px 15px;gap:8px}.hero .button .arrow{margin-left:10px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-portrait{padding-left:10px}.portrait-frame{height:450px;border-top-left-radius:120px}.hero-portrait::before{border-top-left-radius:120px}.portrait-caption{left:20px;bottom:25px}.portrait-caption p{font-size:19px}.portrait-caption span{font-size:8px;letter-spacing:1px}.portrait-seal{left:-7px;padding:12px}.portrait-seal .icon{width:25px}.trust-grid{padding-block:22px}.trust-grid>div{font-size:11px;gap:8px}.trust-grid>div span{max-width:130px}.trust-grid strong{display:block}.services-grid{grid-template-columns:repeat(2,1fr)}.section-heading{gap:35px}.section-heading>p{max-width:280px}.steps{gap:28px}.steps h3{font-size:23px}.about-grid{gap:35px}.about-visual>img{height:450px}.contact-grid{gap:35px;grid-template-columns:1.15fr 1fr}.contact h2{font-size:42px}.contact-details .contact-phone{font-size:23px}.contact-details{padding-left:25px}.footer-main{gap:25px}.footer-main>p{font-size:10px}}
@media(max-width:640px){:root{--section:62px}.container{width:calc(100% - 40px)}html{scroll-padding-top:90px;scroll-padding-bottom:90px}body{padding-bottom:82px}.topbar-inner{justify-content:center;min-height:30px;font-size:10px}.topbar-inner>span:last-child{display:none}.header-inner{height:74px;gap:14px}.brand{width:187px}.brand>span{font-size:7px;letter-spacing:2.5px;padding-left:53px}.header-cta{display:none}.menu-toggle{margin-left:auto}.navigation{top:74px;padding-inline:20px}.hero-grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:38px;gap:34px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:23px}.hero h1{font-size:clamp(39px,10.5vw,62px);letter-spacing:-1.5px;line-height:1.12}.hero-description{font-size:14px;margin-top:22px;margin-bottom:25px}.desktop-break{display:none}.hero .button{min-height:56px;font-size:13px;padding:14px 19px;width:100%;justify-content:flex-start}.hero .button .arrow{margin-left:auto}.cta-note{font-size:10px;justify-content:center}.hero-credentials{margin-top:24px;padding-top:17px;font-size:12px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.hero-credentials small{font-size:8px;letter-spacing:0;max-width:121px;line-height:1.7;text-align:right}.hero-credentials small span{padding-inline:3px}.hero-portrait{width:100%;max-width:450px;justify-self:center;padding:0 0 14px 14px}.portrait-frame{height:390px;border-top-left-radius:110px}.portrait-frame>img{object-position:50% 26%}.hero-portrait::before{inset:14px 14px 0 0;border-top-left-radius:110px}.portrait-caption{bottom:21px;left:24px}.portrait-caption>p{font-size:24px}.portrait-seal{left:0;bottom:93px;padding:12px 17px}.portrait-seal span{font-size:10px}.portrait-seal strong{font-size:11px}.hero-bottom{padding-block:17px}.hero-bottom>span{font-size:7px;letter-spacing:.8px;max-width:145px}.hero-bottom>a{font-size:10px}.hero-bottom>a>span{margin-left:9px}.trust-grid{padding-block:19px;gap:10px}.trust-grid>div{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:6px;font-size:9px;line-height:1.6;padding-right:10px}.trust-grid>div:last-child{padding-right:0}.trust-grid .icon{width:20px;height:20px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:19px}h2{font-size:38px;letter-spacing:-1.2px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:23px;font-size:13px}.services-grid{grid-template-columns:1fr}.service-card{padding:25px}.card-top{margin-bottom:19px}.service-card h3{font-size:27px;max-width:none}.service-card>p{font-size:13px;margin-bottom:23px}.service-card>a{min-height:35px}.services-foot{align-items:flex-start;flex-direction:column;gap:13px;font-size:12px}.process .section-heading .button{margin-top:28px}.steps{grid-template-columns:1fr;gap:29px;padding-top:8px}.steps article{position:relative;padding-left:55px;padding-top:23px}.step-number{position:absolute;left:0;top:17px;font-size:29px}.steps h3{font-size:25px;margin-top:0;margin-bottom:10px}.steps p{max-width:none}.about-grid{grid-template-columns:1fr;gap:38px}.about-visual{max-width:450px;width:100%;justify-self:center;padding:0 14px 14px 0}.about-visual>img{height:350px;object-position:center 44%}.about-caption{padding:20px}.about-caption p{font-size:22px}.about-copy h2{font-size:43px}.about-copy>p:not(.eyebrow):not(.registration){font-size:13px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:42px}.contact .button{width:100%;font-size:13px}.contact-grid>div>p:not(.eyebrow):not(.cta-note){font-size:13px}.contact-details{border-left:0;border-top:1px solid #ffffff26;padding-left:0;padding-top:30px;gap:24px}.contact-details .contact-phone{font-size:30px}.footer-main{flex-direction:column;align-items:flex-start;gap:25px;padding-block:35px}.footer-main>p{font-size:11px}.footer-bottom{flex-direction:column;gap:8px;font-size:9px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;gap:9px;background:var(--paper);border-top:1px solid #d2d7cc;padding:10px 15px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #1024200d}.mobile-contact .button{flex:1;min-height:51px;font-size:13px;padding:12px}.mobile-call{display:flex;align-items:center;justify-content:center;min-width:50px;min-height:50px;border:1px solid #a1afa2;border-radius:var(--radius);color:var(--forest)}.privacy{font-size:10px}}
/* Persistent contact action across desktop and mobile. */
html { scroll-padding-bottom: 100px; }
body { padding-bottom: 0; }
.site-footer { padding-bottom: 100px; }
.whatsapp-float {
  position: fixed;
  left: calc(24px + env(safe-area-inset-left));
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 35;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid #73a88c;
  border-radius: 999px;
  background: var(--green);
  color: var(--white);
  box-shadow: 0 6px 24px #10242040, 0 0 0 4px #ffffff16;
  animation: whatsapp-float-drift 2.4s ease-in-out infinite alternate;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.whatsapp-float .icon { width: 29px; height: 29px; }
@keyframes whatsapp-float-drift {
  from { transform: translateY(0); }
  to { transform: translateY(-5px); }
}
.whatsapp-float:is(:hover, :focus-visible) { animation-play-state: paused; }
.whatsapp-float:hover {
  background: var(--green-hover);
  box-shadow: 0 9px 28px #10242050, 0 0 0 4px #ffffff26;
}
.whatsapp-float:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
@media(max-width:640px) {
  .whatsapp-float {
    left: calc(16px + env(safe-area-inset-left));
    bottom: calc(16px + env(safe-area-inset-bottom));
    width: 52px;
    height: 52px;
  }
  .whatsapp-float .icon { width: 28px; height: 28px; }
}
/* Full-width location block, integrated with the contact section. */
.contact { padding-bottom: 0; }
.contact > .contact-grid { margin-bottom: 72px; }
.contact-location { background: var(--forest-light); border-top: 1px solid #c8ae7e55; }
.location-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 35px; }
.location-address { display: flex; align-items: center; gap: 22px; }
.location-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 60px; height: 60px; border: 1px solid #c8ae7e66; color: var(--gold); border-radius: 12px 3px 12px 3px; }
.location-icon .icon { width: 29px; height: 29px; }
.location-address .eyebrow { font-size: 9px; margin-bottom: 6px; }
.location-address h3 { font-family: var(--serif); font-size: 29px; line-height: 1.2; letter-spacing: -.5px; }
.location-address address { margin-top: 9px; font-style: normal; font-size: 12px; line-height: 1.7; color: #c9d4ca; }
.location-address address span { margin-inline: 5px; color: var(--gold); }
.location-route { flex-shrink: 0; font-size: 12px; border-color: #c8ae7e88; }
.location-route .arrow { margin-left: 6px; }
.location-map { display: block; width: 100%; height: 380px; border: 0; background: #eeeee5; }
@media(max-width:900px) {
  .location-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .location-route { margin-left: 82px; }
}
@media(max-width:640px) {
  .contact > .contact-grid { margin-bottom: 45px; }
  .location-heading { padding-block: 28px; gap: 22px; }
  .location-address { align-items: flex-start; gap: 15px; }
  .location-icon { width: 44px; height: 44px; }
  .location-icon .icon { width: 23px; height: 23px; }
  .location-address h3 { font-size: 25px; }
  .location-address address { font-size: 12px; }
  .location-route { margin-left: 0; }
  .location-map { height: 320px; }
}
/* Service cards: stronger contrast on hover and keyboard focus. */
.service-card {
  position: relative;
  transition: background-color .28s ease, border-color .28s ease, color .28s ease;
}
.service-card::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}
.service-card .card-top > .icon {
  width: 56px;
  height: 56px;
  padding: 13px;
  border: 1px solid #c8ae7e66;
  border-radius: 12px 3px 12px 3px;
  background: #c8ae7e14;
  transition: background-color .28s ease, border-color .28s ease, color .28s ease, transform .28s ease;
}
.service-card h3,
.service-card > p,
.service-card > a,
.service-card .card-top > span {
  transition: color .28s ease;
}
.service-card > a .icon { transition: transform .28s ease; }
.service-card:is(:hover, :focus-within) {
  background: var(--forest);
  border-color: var(--forest);
  color: var(--paper);
}
.service-card:is(:hover, :focus-within)::after { transform: scaleX(1); }
.service-card:is(:hover, :focus-within) > p { color: #c9d4ca; }
.service-card:is(:hover, :focus-within) > a,
.service-card:is(:hover, :focus-within) .card-top > span { color: var(--gold); }
.service-card:is(:hover, :focus-within) .card-top > .icon {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--forest);
  transform: translateY(-3px);
}
.service-card:is(:hover, :focus-within) > a .icon { transform: translateX(5px); }
.service-card > a:focus-visible { outline-color: var(--gold); }
/* Hero CTA — efeitos Neon Matrix V3 do bt.html, isolados do restante da página. */
@keyframes hero-cta-border-turn {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes hero-cta-glitch {
  0%, 100% { clip-path: inset(0); }
  20% { clip-path: inset(10% 0 80%); }
  40% { clip-path: inset(40% 0 10%); }
  60% { clip-path: inset(80% 0 5%); }
  80% { clip-path: inset(15% 0 60%); }
}
.hero .button.hero-cta {
  --hero-cta-speed: 1.5s;
  isolation: isolate;
  position: relative;
  display: inline-flex;
  overflow: hidden;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  padding: 2px;
  border: 0;
  border-radius: 4px;
  background: #030712;
  color: #fff;
  box-shadow: 0 0 15px #10b98133;
  transform: perspective(600px) rotateX(0);
  transition: box-shadow .3s ease, transform .3s cubic-bezier(.25, .46, .45, .94), border-radius .3s ease;
}
.hero .button.hero-cta:is(:hover, :focus-visible) {
  border-radius: 6px;
  box-shadow: 0 0 30px #10b98199, 0 0 10px #06b6d466;
  transform: perspective(600px) scale(1.03);
}
.hero-cta__glow,
.hero-cta__border {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}
.hero-cta__glow::before,
.hero-cta__border::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  aspect-ratio: 1;
  background: conic-gradient(from 0deg, #10b981 0deg, #10b98100 90deg, #06b6d400 270deg, #06b6d4 360deg);
  transform: translate(-50%, -50%) rotate(0);
  animation: hero-cta-border-turn var(--hero-cta-speed) infinite linear;
}
.hero-cta__glow { filter: blur(12px); opacity: .4; }
.hero-cta__border {
  padding: 2px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.hero-cta__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  padding: 4px 24px 4px 4px;
  border-radius: 3px;
  background: linear-gradient(135deg, #10b9810d 0%, #030712 50%, #06b6d41a 100%);
  transition: border-radius .3s ease, background .3s ease;
}
.hero-cta:is(:hover, :focus-visible) .hero-cta__inner {
  border-radius: 5px;
  background: linear-gradient(135deg, #10b98126 0%, #030712 50%, #06b6d433 100%);
}
.hero-cta__text {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow: hidden;
  min-width: 0;
  padding: 14px 20px;
  border: 1px solid #10b9814d;
  border-radius: 3px;
  background: #10b9811a;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4;
  text-align: center;
  transition: background .3s ease, border-color .3s ease, border-radius .3s ease, box-shadow .3s ease, text-shadow .3s ease;
}
.hero-cta__text::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  z-index: -1;
  width: 200%;
  height: 200%;
  background-image: linear-gradient(#10b98133 1px, transparent 1px), linear-gradient(90deg, #10b98133 1px, transparent 1px);
  background-size: 4px 4px;
  opacity: .3;
  transform: rotate(15deg);
  transition: opacity .3s ease, transform 1s ease;
}
.hero-cta:is(:hover, :focus-visible) .hero-cta__text {
  background: #10b98133;
  border-color: #06b6d499;
  border-radius: 5px;
  box-shadow: inset 0 0 20px #10b9814d;
  text-shadow: 0 0 8px #ffffffcc, 0 0 12px #10b981cc;
}
.hero-cta:is(:hover, :focus-visible) .hero-cta__text::before { opacity: .6; transform: rotate(0) scale(1.1); }
.hero-cta__glitch {
  position: absolute;
  inset: 0;
  z-index: 4;
  background: #10b98166;
  mix-blend-mode: overlay;
  pointer-events: none;
  opacity: 0;
}
.hero-cta:is(:hover, :focus-visible) .hero-cta__glitch { animation: hero-cta-glitch .4s ease-in-out forwards; opacity: 1; }
.hero-cta__arrow {
  position: relative;
  z-index: 3;
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #10b981;
  transition: color .3s ease, transform .3s ease, filter .3s ease;
}
.hero-cta:is(:hover, :focus-visible) .hero-cta__arrow { color: #06b6d4; transform: rotate(45deg); filter: drop-shadow(0 0 5px #06b6d4cc); }
@media(max-width:640px) {
  .hero .button.hero-cta { width: 100%; padding: 2px; min-height: 0; }
  .hero-cta__inner { gap: 12px; padding: 4px 16px 4px 4px; }
  .hero-cta__text { flex: 1; gap: 9px; padding: 13px 10px; font-size: 13px; letter-spacing: 0; }
  .hero-cta__text .icon { width: 22px; height: 22px; }
  .hero-cta__arrow { width: 18px; height: 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero .button.hero-cta:is(:hover, :focus-visible) { transform: none; }
  .hero-cta:is(:hover, :focus-visible) .hero-cta__glitch { opacity: 0; }
}
.portrait-seal{bottom:135px}
@media(max-width:640px){.portrait-seal{bottom:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
