:root{--ink:#313d3d;--ink-soft:#566160;--rust:#b45938;--rust-dark:#914629;--cream:#fff9f7;--paper:#faf5f0;--line:#dfd8d0;--dark:#293636;--white:#fff;--container:1216px;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:var(--rust);color:var(--white)}
:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
a{color:inherit;text-decoration:none;text-underline-offset:.2em}
button{font:inherit}
img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:var(--ink);color:#fff;padding:10px 18px}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:30;background:var(--cream);border-bottom:1px solid rgba(49,61,61,.11)}
.header-inner{height:89px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font:700 19px/1 'Manrope',sans-serif;letter-spacing:-.035em}
.brand img{width:41px;height:43px;object-fit:cover;mix-blend-mode:multiply}
.brand strong,.footer-brand strong{color:var(--rust);font-weight:800}
.main-nav{display:flex;align-items:center;gap:37px;font-size:14px;font-weight:700}
.main-nav>a:not(.nav-contact){transition:color .2s ease}
.main-nav>a:not(.nav-contact):hover{color:var(--rust)}
.nav-contact{display:inline-flex;align-items:center;gap:22px;background:var(--ink);color:#fff;padding:12px 19px;transition:background .2s ease,transform .2s var(--ease)}
.nav-contact:hover{background:var(--rust);transform:translateY(-2px)}
.menu-toggle{display:none}
.hero{background:var(--cream)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);min-height:615px;gap:60px;align-items:center;padding-block:60px 44px}
.hero-copy{padding-block:36px 56px}
.location-line{display:flex;align-items:center;gap:10px;color:var(--rust-dark);font-size:12px;font-weight:700;letter-spacing:.135em;text-transform:uppercase;margin:0 0 35px}
.location-dot{width:7px;height:7px;background:var(--rust);border-radius:50%;box-shadow:0 0 0 4px rgba(180,89,56,.13)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:'Manrope',sans-serif}
h1{font-size:clamp(54px,5.6vw,83px);line-height:1.05;letter-spacing:-.035em;font-weight:800;margin-bottom:28px}
h1 em{font-style:normal;color:var(--rust)}
.hero-lead{font-size:clamp(18px,1.7vw,22px);line-height:1.55;max-width:520px;color:var(--ink-soft);margin-bottom:37px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:55px;padding:13px 21px;font-size:14px;line-height:1.2;font-weight:700;transition:background .25s ease,color .25s ease,transform .25s var(--ease),box-shadow .25s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(25,31,31,.14)}
.button-primary{background:var(--rust);color:#fff}.button-primary:hover{background:var(--rust-dark)}
.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:#eee5dd}
.button span,.text-link span,.inline-link span{font-size:20px;line-height:.6;font-weight:400}
.text-link,.inline-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;font-size:14px;font-weight:700;padding-bottom:4px;transition:color .2s ease,gap .2s ease}
.text-link:hover,.inline-link:hover{color:var(--rust);gap:15px}
.hero-note{font-size:12px;color:#6b7471;margin:27px 0 0;letter-spacing:.02em}
.hero-visual{height:520px;position:relative;isolation:isolate;margin-right:0;background:#dbd0c4;overflow:visible}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.83) contrast(.98)}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,26,26,.66),transparent 29%,rgba(49,61,61,.04) 70%);pointer-events:none}
.hero-logo-panel{position:absolute;z-index:2;right:12px;bottom:-24px;width:190px;height:142px;display:grid;place-items:center;background:var(--cream);box-shadow:0 14px 42px rgba(32,39,39,.12);padding:6px}
.hero-logo-panel img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.visual-corner{position:absolute;z-index:3;width:40px;height:40px;border-color:var(--rust);border-style:solid;pointer-events:none}
.visual-corner-top{top:-11px;left:-11px;border-width:2px 0 0 2px}
.visual-corner-bottom{bottom:-11px;right:-11px;border-width:0 2px 2px 0}
.visual-caption{position:absolute;z-index:2;left:18px;bottom:12px;margin:0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;text-shadow:0 1px 5px rgba(0,0,0,.7)}
.hero-bottom-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:15px 18px;color:#77817e;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.proof-strip{background:var(--dark);color:#fff}
.proof-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:center;min-height:145px}
.proof-major,.proof-item{display:flex;align-items:center;gap:22px;padding-inline:30px;min-height:80px}
.proof-major{padding-left:0}.proof-item{border-left:1px solid rgba(255,255,255,.18)}
.proof-major strong{font:800 66px/1 'Manrope',sans-serif;letter-spacing:-.055em;color:#fff}.proof-major strong span{color:#c77858;font-size:.75em}
.proof-major>span,.proof-item>span:last-child{font-size:13px;line-height:1.55;color:#e3e7e3;font-weight:600}
.proof-symbol{font-size:18px;color:#c77858;line-height:1}
.section-pad{padding-block:125px}
h2{font-size:clamp(37px,3.4vw,52px);line-height:1.16;letter-spacing:-.035em;font-weight:800}
.about-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:11%;row-gap:40px;align-items:start}
.section-intro h2{max-width:520px;margin-bottom:31px}
.short-rule{width:72px;height:3px;background:var(--rust)}
.about-content{grid-column:2;grid-row:1 / span 2;padding-top:6px;max-width:600px}
.about-content p{color:var(--ink-soft);font-size:16px;line-height:1.8;margin-bottom:27px}
.about-content .large-copy{color:var(--ink);font-size:21px;line-height:1.6;font-weight:600}
.inline-link{margin-top:12px;color:var(--rust-dark)}
.about-image{grid-column:1;grid-row:2;position:relative;margin:0;max-width:490px}
.about-image img{width:100%;height:300px;object-fit:cover;object-position:center 55%;filter:saturate(.86)}
.about-image figcaption{font-size:12px;color:#56615d;letter-spacing:.025em;margin-top:10px}
.services{background:var(--paper)}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:50px}
.section-heading-row h2{margin-bottom:11px}.section-heading-row h2 span{color:var(--rust)}
.section-heading-row p{color:var(--ink-soft);margin:0}
.heading-mark{font:800 56px/1 'Manrope',sans-serif;letter-spacing:-.06em;color:rgba(49,61,61,.14);white-space:nowrap}.heading-mark span{font-weight:400;color:var(--rust)}
.service-list{border-top:1px solid #cfc7be}
.service-row{display:grid;grid-template-columns:75px 1fr 30px;align-items:center;gap:20px;min-height:104px;border-bottom:1px solid #cfc7be;transition:background .25s ease}
.service-row:hover{background:rgba(255,255,255,.54)}
.service-icon{color:var(--rust);width:42px;height:42px}
.service-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-row h3{font-size:clamp(18px,1.65vw,23px);line-height:1.4;font-weight:700;letter-spacing:-.025em;margin:0}
.service-arrow{color:var(--rust);font-size:23px;justify-self:end}
.process{background:var(--dark);color:#fff}
.process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%}
.process-left h2{margin-bottom:24px}.process-left h2 span{color:#d58665}
.process-left>p{color:#c9d1ce;max-width:410px;font-size:17px;line-height:1.7;margin-bottom:33px}
.process-steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.process-steps li{display:grid;grid-template-columns:58px 1fr;gap:21px;padding:29px 0 32px;border-bottom:1px solid rgba(255,255,255,.2)}
.step-number{font:700 15px/1.3 'Manrope',sans-serif;color:#d58665;padding-top:5px;font-variant-numeric:tabular-nums}
.process-steps h3{font-size:20px;line-height:1.35;letter-spacing:-.02em;margin:0 0 8px}
.process-steps p{color:#c9d1ce;font-size:14px;line-height:1.7;margin:0;max-width:440px}
.contact{background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:13%}
.contact h2{max-width:640px;margin-bottom:21px}
.contact-grid>div:first-child>p{max-width:560px;color:var(--ink-soft);font-size:18px;line-height:1.65;margin-bottom:31px}
.contact-details{border-top:1px solid var(--line)}
.contact-details>div{padding:18px 0 21px;border-bottom:1px solid var(--line)}
.contact-details span{display:block;color:#7a817e;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.contact-details a,.contact-details p{font:700 clamp(17px,1.6vw,21px)/1.35 'Manrope',sans-serif;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.contact-details a:hover{color:var(--rust)}
.site-footer{background:#202b2b;color:#fff;padding-block:45px}
.footer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:36px}
.footer-brand{font:800 22px/1 'Manrope',sans-serif;letter-spacing:-.04em;white-space:nowrap}
.footer-grid p{font-size:13px;line-height:1.55;color:#c3cac8;max-width:280px;margin:0}
.footer-grid>span{font-size:12px;color:#c3cac8;justify-self:end;white-space:nowrap}
.floating-whatsapp{position:fixed;right:27px;bottom:27px;z-index:40;display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 26px rgba(18,45,27,.25);transition:transform .25s var(--ease),box-shadow .25s ease}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 12px 30px rgba(18,45,27,.3)}
.floating-whatsapp svg{width:29px;height:29px;fill:currentColor}
@media(max-width:1000px){.main-nav{gap:20px}.hero-grid{gap:35px}.hero-visual{margin-right:0;height:470px}.proof-major,.proof-item{padding-inline:20px}.proof-major{padding-left:0}.process-grid{gap:7%}.contact-grid{gap:7%}}
@media(max-width:760px){.container{width:min(calc(100% - 40px),var(--container))}.header-inner{height:74px}.brand{font-size:17px}.brand img{width:36px;height:38px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;padding:9px;border:0;background:transparent;cursor:pointer;z-index:42}.menu-toggle span{height:2px;width:100%;background:var(--ink);transition:transform .25s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:fixed;inset:74px 0 auto;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);padding:18px 20px 28px;box-shadow:0 20px 35px rgba(0,0,0,.1)}.main-nav.is-open{display:flex}.main-nav>a{padding:14px 9px;border-bottom:1px solid var(--line)}.main-nav>.nav-contact{margin-top:15px;justify-content:space-between;border:0}.hero-grid{display:flex;flex-direction:column;gap:0;padding-block:50px 35px}.hero-copy{align-self:stretch;padding:0 0 45px}.location-line{margin-bottom:25px}h1{font-size:clamp(52px,11vw,72px)}.hero-lead{max-width:560px}.hero-visual{width:100%;height:440px}.hero-logo-panel{right:11px;bottom:-18px;width:160px;height:120px}.hero-bottom-line span:last-child{display:none}.proof-grid{grid-template-columns:1fr 1fr;min-height:auto;padding-block:20px}.proof-major{grid-column:1 / -1;border-bottom:1px solid rgba(255,255,255,.18);padding:8px 0 20px;min-height:0}.proof-item{padding:20px 10px 7px 0;min-height:0;border:0}.proof-item:last-child{padding-left:15px;border-left:1px solid rgba(255,255,255,.18)}.section-pad{padding-block:85px}.about-grid{grid-template-columns:1fr;gap:31px}.about-content{grid-column:1;grid-row:2;padding:0}.about-image{grid-column:1;grid-row:3;max-width:none}.about-image img{height:360px}.process-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.process-left h2{max-width:600px}.contact-details{max-width:550px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-grid p{grid-row:2}.footer-grid>span{grid-column:2;grid-row:2;align-self:end}}
@media(max-width:480px){.container{width:min(calc(100% - 32px),var(--container))}.brand{font-size:15px}.brand img{width:34px;height:35px}.hero-grid{padding-top:38px}.hero-copy{padding-bottom:40px}.location-line{font-size:10px}.hero-lead{font-size:18px;margin-bottom:30px}.hero-actions{gap:22px}.hero-actions .button{width:100%}.hero-visual{height:350px}.hero-logo-panel{width:142px;height:108px}.visual-caption{font-size:9px}.proof-grid{grid-template-columns:1fr}.proof-major strong{font-size:56px}.proof-item{padding:15px 0;min-height:0}.proof-item:last-child{padding:15px 0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.section-pad{padding-block:72px}h2{font-size:36px}.about-content .large-copy{font-size:19px}.about-image img{height:260px}.section-heading-row{margin-bottom:32px}.heading-mark{display:none}.service-row{grid-template-columns:45px 1fr 18px;gap:10px;min-height:95px}.service-icon{width:32px;height:32px}.service-row h3{font-size:17px}.service-arrow{font-size:19px}.process-steps li{grid-template-columns:43px 1fr;gap:13px}.contact-grid{gap:40px}.footer-grid{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.footer-grid>span{align-self:flex-start}.floating-whatsapp{right:16px;bottom:16px;width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}



/* Extended landing: services, client opinions and practical answers */
.service-row{grid-template-columns:75px minmax(0,1fr);grid-template-rows:auto auto;column-gap:20px;row-gap:4px;min-height:130px;padding-block:21px;cursor:default}
.service-row:hover{background:transparent}
.service-icon{grid-column:1;grid-row:1 / span 2;align-self:center}
.service-row h3,.service-row p{grid-column:2}
.service-row p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0;max-width:780px}
.process-note{border-top:1px solid rgba(255,255,255,.24);padding-top:21px;font-size:13px!important;letter-spacing:.015em;max-width:370px!important}
.reviews{background:#fff}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}
.reviews-heading h2{max-width:770px;margin-bottom:15px}
.reviews-heading p{font-size:17px;line-height:1.65;color:var(--ink-soft);max-width:650px;margin:0}
.reviews-controls{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:6px}
.reviews-status{font-size:13px;font-weight:700;color:var(--ink-soft);white-space:nowrap;margin-right:11px;font-variant-numeric:tabular-nums}
.reviews-controls button{display:grid;place-items:center;width:47px;height:47px;background:#fff;border:1px solid #d6d9d7;color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.reviews-controls button:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}
.reviews-controls button:disabled{opacity:.35;cursor:not-allowed}
.reviews-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reviews-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline-offset:5px}
.reviews-viewport::-webkit-scrollbar{display:none}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;align-items:stretch}
.review-card{scroll-snap-align:start;display:flex;flex-direction:column;min-height:390px;padding:28px;background:#f7f6f4;border:1px solid #dddeda}
.review-rating{display:flex;align-items:center;gap:12px;white-space:nowrap}
.review-rating span{font-size:18px;line-height:1;letter-spacing:.12em;color:#c97520}
.review-rating strong{font:800 14px/1.2 'Manrope',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.review-card blockquote{font-size:16px;line-height:1.7;color:var(--ink);margin:23px 0 28px;flex:1}
.review-card footer{display:flex;align-items:center;gap:13px;border-top:1px solid #dfe0dc;padding-top:18px}
.review-avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:50%;background:var(--ink);color:#fff;font:800 16px/1 'Manrope',sans-serif}
.review-card cite{font:800 15px/1.25 'Manrope',sans-serif;font-style:normal}
.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:12%}
.faq-grid h2{margin-bottom:17px}
.faq-grid>div:first-child>p{color:var(--ink-soft);font-size:17px;line-height:1.65;max-width:350px}
.faq-list{border-top:1px solid #cfc7be}
.faq-list details{border-bottom:1px solid #cfc7be}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:25px 42px 25px 0;font:700 18px/1.45 'Manrope',sans-serif;letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before,.faq-list summary::after{content:"";position:absolute;right:9px;top:50%;width:17px;height:1.5px;background:var(--rust);transition:transform .2s ease}
.faq-list summary::after{transform:rotate(90deg)}
.faq-list details[open] summary::after{transform:rotate(0)}
.faq-list details p{font-size:15px;line-height:1.7;color:var(--ink-soft);max-width:650px;margin:-3px 35px 25px 0}
.faq-visual{position:relative;margin:43px 0 0;max-width:440px}
.faq-visual::before{content:"";position:absolute;z-index:1;top:-10px;left:-10px;width:42px;height:42px;border-top:2px solid var(--rust);border-left:2px solid var(--rust)}
.faq-visual img{width:100%;height:355px;object-fit:cover;object-position:center;filter:saturate(.84)}
.faq-visual figcaption{margin-top:10px;color:var(--ink-soft);font-size:12px;letter-spacing:.025em}
.statement-band{min-height:420px;display:grid;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(20,30,30,.87) 0%,rgba(20,30,30,.67) 48%,rgba(20,30,30,.32) 100%),url('/assets/apertura-caba.webp');background-position:center;background-size:cover;background-attachment:fixed}
.statement-content{padding-block:105px}
.statement-content p{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#f3c4af;margin-bottom:21px}
.statement-content h2{max-width:930px;margin:0;font-size:clamp(39px,4.5vw,68px);line-height:1.15;color:#fff;text-wrap:balance}
.statement-content h2 span{color:#eaa88a}
@media(max-width:1000px){.reviews-track{grid-auto-columns:calc((100% - 20px)/2)}.review-card{min-height:420px}}
@media(max-width:760px){.reviews-heading{align-items:start;flex-direction:column;gap:25px}.reviews-controls{align-self:flex-end}.reviews-track{grid-auto-columns:calc((100% - 20px)/2)}.faq-grid{grid-template-columns:1fr;gap:25px}.faq-visual{margin-top:31px;max-width:560px}.faq-visual img{height:300px}.statement-band{min-height:355px;background-attachment:scroll;background-position:56% center}.statement-content{padding-block:75px}}
@media(max-width:620px){.reviews-track{grid-auto-columns:100%}.review-card{min-height:350px}.reviews-heading h2{font-size:36px}.reviews-heading p{font-size:16px}.service-row{grid-template-columns:43px minmax(0,1fr);column-gap:12px;min-height:130px}.service-icon{width:33px;height:33px}.service-row h3{font-size:17px}.service-row p{font-size:13px}.faq-list summary{font-size:16px;padding-block:21px}.faq-list details p{font-size:14px}}
.statement-band{background-repeat:no-repeat}
@media(max-width:480px){.faq-visual img{height:245px}.statement-content h2{font-size:37px}.statement-content p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.statement-band{background-attachment:scroll}}

.review-rating .review-stars{color:transparent;background:linear-gradient(90deg,#c97520 var(--rating),#d4d8d5 var(--rating));background-clip:text;-webkit-background-clip:text}
.contact-cta{min-width:260px}
@media(max-width:480px){.contact-cta{width:100%}}
