:root{--ink:#1b2141;--ink-soft:#2e3560;--muted:#6b7394;--line:#d0d4e2;--line-soft:#e0e3ed;--bg:#f4f5fa;--bg-alt:#e8eaf2;--bg-deep:#1b2141;--bg-deep-soft:#242c52;--paper:#fff;--accent:#c5a55a;--accent-deep:#a8893e;--accent-soft:#f5eed8;--dark-text:#e0ddd4;--serif:"Bodoni Moda", "Didot", "Times New Roman", serif;--sans:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--gutter:clamp(20px, 4vw, 56px);--max:1280px;--t-fast:.18s;--t-med:.26s;--ease:cubic-bezier(.2,.7,.2,1);--z-nav:50;--z-overlay:100;--z-modal:200;--z-whatsapp:90}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink-soft);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:400;line-height:1.7}body.no-scroll{overflow:hidden}@media (width>=720px){body{font-size:17px}}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,a,span,li{overflow-wrap:break-word;word-wrap:break-word}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;margin:0 0 .5em;font-weight:500}h1{font-size:clamp(2.1rem,9.5vw,5.2rem);font-weight:500;line-height:1.02}h2{font-size:clamp(1.7rem,5.6vw,3.4rem);font-weight:500;line-height:1.08}h3{font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:500;line-height:1.25}p{color:var(--ink-soft);margin:0 0 1.1em}p:last-child{margin-bottom:0}.eyebrow{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:20px;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:28px;height:1px;display:inline-block}.eyebrow.plain:before{display:none}.rule{background:var(--accent);border:0;width:48px;height:1px;margin:0 0 28px}.container{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}section{padding:clamp(56px,11vw,140px) 0}section.tight{padding:clamp(32px,6vw,88px) 0}.btn{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;min-height:44px;transition:color var(--t-med) var(--ease), background var(--t-med) var(--ease), border-color var(--t-med) var(--ease);white-space:nowrap;border:1px solid #0000;align-items:center;gap:14px;padding:15px 28px;font-size:12px;font-weight:500;display:inline-flex}.btn svg{width:14px;height:14px;transition:transform var(--t-med) var(--ease)}.btn:hover svg{transform:translate(4px)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--accent)}.btn--ghost{color:var(--paper);background:0 0;border-color:#ffffff8c}.btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn--outline{color:var(--ink);border-color:var(--ink);background:0 0}.btn--outline:hover{background:var(--ink);color:var(--paper)}.btn--text{border-bottom:1px solid var(--ink);letter-spacing:.22em;padding:10px 0}.btn--text:hover{color:var(--accent);border-color:var(--accent)}.site-header{z-index:var(--z-nav);position:sticky;top:0}.topbar{background:var(--bg-deep);color:var(--dark-text);letter-spacing:.2em;text-transform:uppercase;max-height:120px;transition:max-height .35s var(--ease), opacity .25s var(--ease);font-size:12px;overflow:hidden}.site-header.is-scrolled .topbar{opacity:0;pointer-events:none;max-height:0}.topbar__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;min-height:38px;padding:10px 0;display:flex}.topbar a:hover{color:var(--paper)}.topbar svg{vertical-align:-2px;width:14px;height:14px;color:var(--accent);flex:none;margin-right:8px}.topbar span,.topbar a{align-items:center;min-height:20px;display:inline-flex}@media (width<=620px){.topbar{letter-spacing:.14em;font-size:11px}.topbar__inner{text-align:center;justify-content:center;gap:6px 16px;padding:8px 0}.topbar a{font-size:10.5px}}.nav{background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);transition:border-color var(--t-med) var(--ease), background var(--t-med) var(--ease);border-bottom:1px solid #0000}.nav.is-scrolled{border-bottom-color:var(--line);background:color-mix(in srgb, var(--bg) 98%, transparent)}.nav__inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:78px;display:grid}.brand{font-family:var(--serif);color:var(--ink);letter-spacing:.01em;justify-self:start;min-width:0;font-size:clamp(17px,2.2vw,22px);font-weight:500;line-height:1}.brand small{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:9px;font-weight:400;display:block}@media (width>=520px){.brand small{font-size:10px}}.nav__links{justify-self:center;align-items:center;gap:38px;margin:0;padding:0;list-style:none;display:flex}.nav__links a{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);min-height:44px;transition:color var(--t-med) var(--ease);align-items:center;padding:6px 0;font-size:13px;font-weight:500;display:inline-flex;position:relative}.nav__links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform var(--t-med) var(--ease);position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{transform:scaleX(1)}.nav__links a.active{color:var(--ink)}.nav__links a.active:after{transform:scaleX(1)}.nav__cta{justify-self:end}.nav__toggle{width:44px;height:44px;color:var(--ink);cursor:pointer;justify-content:center;justify-self:end;align-items:center;display:none}.nav__toggle span,.nav__toggle span:before,.nav__toggle span:after{width:22px;height:1.5px;transition:transform var(--t-med) var(--ease), top var(--t-med) var(--ease), opacity var(--t-med);background:currentColor;display:block}.nav__toggle span{position:relative}.nav__toggle span:before,.nav__toggle span:after{content:"";position:absolute;left:0}.nav__toggle span:before{top:-7px}.nav__toggle span:after{top:7px}.nav.is-open .nav__toggle span{background:0 0}.nav.is-open .nav__toggle span:before{top:0;transform:rotate(45deg)}.nav.is-open .nav__toggle span:after{top:0;transform:rotate(-45deg)}@media (width<=900px){.nav__inner{grid-template-columns:1fr auto;min-height:66px}.nav__cta{display:none}.nav__toggle{display:inline-flex}.nav__links{width:100vw;max-height:calc(100vh - 66px);padding:8px var(--gutter) 28px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--t-med) var(--ease), opacity var(--t-med) var(--ease), visibility 0s linear var(--t-med);z-index:var(--z-nav);flex-direction:column;align-items:stretch;gap:0;position:fixed;top:66px;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.nav.is-open .nav__links{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.nav__links li{border-bottom:1px solid var(--line-soft);width:100%}.nav__links li:last-child{border-bottom:0}.nav__links a{width:100%;padding:18px 0;font-size:14px}.nav__links a:after{display:none}}.hero{padding:clamp(28px,5vw,72px) 0 clamp(48px,7vw,100px)}.hero__grid{grid-template-columns:1.15fr 1fr;align-items:end;gap:clamp(32px,5vw,80px);display:grid}@media (width<=960px){.hero__grid{grid-template-columns:1fr;gap:32px}.hero__figure{aspect-ratio:3/4}}@media (width<=480px){.hero__figure{aspect-ratio:4/5}}.hero__text{padding-bottom:clamp(8px,2vw,40px)}.hero h1{-webkit-hyphens:auto;hyphens:auto;margin:16px 0 22px}.hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.hero__lede{color:var(--ink-soft);max-width:540px;margin-bottom:36px;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6}.hero__ctas{flex-wrap:wrap;gap:14px;display:flex}.hero__figure{aspect-ratio:4/5;background:var(--bg-alt);position:relative;overflow:hidden}.hero__figure img{object-fit:cover;filter:brightness(.96);width:100%;height:100%}.metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0}.metrics__grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=720px){.metrics__grid{grid-template-columns:repeat(2,1fr);gap:32px 20px}}.metric{text-align:center;padding:0 16px}.metric__num{font-family:var(--serif);color:var(--ink);font-size:clamp(2rem,3.2vw,2.8rem);font-weight:500;line-height:1;display:block}.metric__plus{font-family:var(--sans);font-weight:400;font-size:inherit;color:var(--accent);margin-left:2px;line-height:1}.metric__label{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:11px}.intro .container{max-width:920px}.intro h2{text-align:center;margin-bottom:36px;font-style:italic;font-weight:400}.intro__body{columns:2;color:var(--ink-soft);column-gap:48px;font-size:1.05rem}@media (width<=820px){.intro__body{columns:1;font-size:1rem}}.services{background:var(--bg-alt)}.section-head{grid-template-columns:1.1fr 1fr;align-items:end;gap:40px;margin-bottom:56px;display:grid}@media (width<=720px){.section-head{grid-template-columns:1fr;gap:20px}}.section-head p{max-width:440px;color:var(--muted);margin:0}.services__grid{background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:1px;display:grid}@media (width<=1100px){.services__grid{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.services__grid{grid-template-columns:1fr}}.services__card{background:var(--bg-alt);min-height:240px;transition:background var(--t-med) var(--ease);cursor:pointer;color:inherit;flex-direction:column;gap:14px;padding:44px 30px 40px;text-decoration:none;display:flex}.services__card:hover{background:var(--bg)}.services__card h3{margin:0 0 4px;font-size:clamp(1.25rem,1.5vw,1.45rem)}.services__card p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.65}.services__more{letter-spacing:.2em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:11px;display:inline-flex}.fullservice__grid{grid-template-columns:.95fr 1.1fr;align-items:center;gap:clamp(32px,5vw,88px);display:grid}@media (width<=900px){.fullservice__grid{grid-template-columns:1fr}}.fullservice__figure{aspect-ratio:4/5;background:var(--bg-alt);overflow:hidden}.fullservice__figure img{object-fit:cover;width:100%;height:100%}.ledger{border-top:1px solid var(--line);margin:32px 0 36px;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 0;font-size:15px;display:grid}.ledger__dot{background:var(--accent);opacity:0;width:6px;height:6px;transition:opacity var(--t-med) var(--ease);border-radius:50%}.ledger li:hover .ledger__dot{opacity:1}.why{background:var(--bg-deep);color:var(--dark-text)}.why h2,.why h3{color:var(--paper)}.why .eyebrow{color:var(--accent)}.why .eyebrow:before{background:var(--accent)}.why__heading{text-align:center;max-width:920px;margin:0 auto 56px}.why__heading h2{font-size:clamp(1.4rem,4.2vw,2.4rem);font-style:italic;font-weight:400;line-height:1.25}.why__heading:before,.why__heading:after{content:"";background:var(--accent);width:36px;height:1px;margin:0 auto 24px;display:block}.why__heading:after{margin:24px auto 0}.why__grid{border-top:1px solid #ffffff1f;grid-template-columns:repeat(4,1fr);gap:0;display:grid}@media (width<=960px){.why__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.why__grid{grid-template-columns:1fr}}.why__item{border-right:1px solid #ffffff1f;padding:36px 24px 8px}.why__grid>:last-child{border-right:0}@media (width<=960px){.why__item:nth-child(2n){border-right:0}.why__grid>:nth-child(-n+2){border-bottom:1px solid #ffffff1f}}@media (width<=560px){.why__item{border-bottom:1px solid #ffffff1f;border-right:0}}.why__item__num{font-family:var(--serif);color:var(--accent);margin-bottom:14px;font-size:14px;font-style:italic;display:block}.why__item h3{margin-bottom:10px;font-size:1.4rem;font-weight:500}.why__item p{color:#e0ddd4c7;font-size:14.5px;line-height:1.65}.experience__grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:clamp(32px,5vw,96px);display:grid}@media (width<=900px){.experience__grid{grid-template-columns:1fr}.experience__media{order:-1}}.experience__media{aspect-ratio:5/6;background:var(--bg-alt);overflow:hidden}.experience__media img{object-fit:cover;width:100%;height:100%}.gallery__grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:10px;margin-top:48px;display:grid}.gallery__item{cursor:zoom-in;background:var(--bg-alt);position:relative;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease), filter var(--t-med) var(--ease)}.gallery__item:after{content:"";opacity:0;transition:opacity var(--t-med) var(--ease);pointer-events:none;background:linear-gradient(#0000 60%,#17130e59);position:absolute;inset:0}.gallery__item:hover img{transform:scale(1.05)}.gallery__item:hover:after{opacity:1}.g-1{grid-area:span 3/span 5}.g-2{grid-area:span 2/span 4}.g-3{grid-area:span 2/span 3}.g-4{grid-area:span 3/span 4}.g-5{grid-area:span 2/span 3}.g-6{grid-area:span 2/span 4}.g-7{grid-area:span 2/span 5}.g-8{grid-area:span 3/span 3}.g-9{grid-area:span 2/span 5}.g-10{grid-area:span 2/span 4}.g-11{grid-area:span 3/span 3}.g-12{grid-area:span 2/span 5}.g-13{grid-area:span 2/span 4}.g-14{grid-area:span 3/span 4}.g-15,.g-16{grid-area:span 2/span 4}@media (width<=900px){.gallery__grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:90px}.g-1,.g-4,.g-14{grid-area:span 3/span 6}.g-2,.g-3,.g-5,.g-6,.g-7,.g-8,.g-9,.g-10,.g-11,.g-12,.g-13,.g-15,.g-16{grid-area:span 2/span 3}}@media (width<=560px){.gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.g-1,.g-4,.g-14{grid-area:span 2/span 2}.g-2,.g-3,.g-5,.g-6,.g-7,.g-8,.g-9,.g-10,.g-11,.g-12,.g-13,.g-15,.g-16{grid-area:span 1/span 1}}.lightbox{z-index:var(--z-modal);background:#17130ef0;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.lightbox.is-open{display:flex}.lightbox img{object-fit:contain;max-width:92vw;max-height:90vh}.lightbox__close{width:48px;height:48px;color:var(--paper);transition:background var(--t-med) var(--ease);background:0 0;border:1px solid #fff6;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:20px;right:24px}.lightbox__close:hover{background:#ffffff1a}.cta-banner{background:var(--bg-deep);color:var(--dark-text);text-align:center;isolation:isolate;padding:clamp(88px,11vw,140px) 0;position:relative;overflow:hidden}.cta-banner:before{content:"";opacity:.18;z-index:-1;background-image:url(https://images.unsplash.com/photo-1530023367847-a683933f4172?auto=format&fit=crop&w=2000&q=80);background-position:50%;background-size:cover;position:absolute;inset:0}.cta-banner h2{color:var(--paper);font-style:italic;font-weight:400}.cta-banner p{color:#e9decad9;max-width:560px;margin:0 auto 36px;font-size:1.05rem}.cta-banner .eyebrow{color:var(--accent)}.contact__grid{grid-template-columns:1fr 1.25fr;gap:clamp(32px,5vw,96px);display:grid}@media (width<=900px){.contact__grid{grid-template-columns:1fr}}.contact__info p{color:var(--muted);line-height:1.7}.contact__detail{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.contact__detail strong{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:500;display:block}.contact__detail a{color:var(--ink);transition:color var(--t-med) var(--ease)}.contact__detail a:hover{color:var(--accent)}form{gap:20px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=560px){.form-row{grid-template-columns:1fr}}label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:500;display:block}input,select,textarea{width:100%;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);transition:border-color var(--t-med) var(--ease);background:0 0;border-radius:0;min-height:44px;padding:14px 0;font-size:16px}input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent);outline:none}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%237A6E5F' stroke-width='1.5' d='M1 1l5 5 5-5'/></svg>");background-position:right 2px center;background-repeat:no-repeat;padding-right:24px}textarea{resize:vertical;min-height:96px;padding:14px 0}.form-actions{margin-top:10px}.form-status{min-height:22px;color:var(--muted);font-size:14px}.form-status.is-success{color:#2e7d5b}.form-status.is-error{color:#b4443a}footer{color:#a8adbe;background:#141937;padding:72px 0 32px}footer .container.grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;display:grid}@media (width<=760px){footer .container.grid{grid-template-columns:1fr 1fr}}@media (width<=480px){footer .container.grid{grid-template-columns:1fr}}footer h4{color:var(--paper);font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;margin:0 0 20px;font-size:11px;font-weight:500}footer a{color:#a8adbe;transition:color var(--t-med) var(--ease)}footer a:hover{color:var(--paper)}footer ul{gap:12px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}footer .brand{color:var(--paper)}footer .brand small{color:#ffffff73}footer p{color:#a8adbeb3;margin-top:14px;font-size:14px;line-height:1.6}.footer-bottom{letter-spacing:.1em;color:#a8adbe8c;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;font-size:12px;display:flex}.whatsapp-float{z-index:var(--z-whatsapp);color:#fff;width:60px;height:60px;transition:transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);background:#25d366;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #25d36666}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 6px 28px #25d3668c}.whatsapp-float svg{width:30px;height:30px}@media (width<=480px){.whatsapp-float{width:52px;height:52px;bottom:18px;right:18px}.whatsapp-float svg{width:26px;height:26px}}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.service-page{padding:clamp(56px,9vw,120px) 0}.service-page .container{max-width:820px}.service-page h1{margin-bottom:24px;font-size:clamp(2rem,6vw,3.6rem)}.service-page .hero-img{aspect-ratio:16/7;object-fit:cover;background:var(--bg-alt);width:100%;margin:32px 0 48px}.service-page .content p{max-width:680px;font-size:1.05rem;line-height:1.75}.about-page{padding:clamp(56px,9vw,120px) 0}.about-page .container{max-width:820px}.about-page h1{margin-bottom:24px;font-size:clamp(2rem,6vw,3.6rem)}.about-page .placeholder-box{background:var(--bg-alt);border:2px dashed var(--line);text-align:center;color:var(--muted);margin:32px 0;padding:56px 32px;font-size:1.05rem}.lang-switch{align-items:center;gap:4px;margin-left:4px;display:inline-flex}.lang-switch svg{width:14px;height:14px;color:var(--accent);margin-right:4px}.lang-btn{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#e0ddd480;cursor:pointer;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:2px;min-height:24px;padding:4px 6px;font-size:11px;font-weight:500;line-height:1}.lang-btn:hover{color:var(--paper)}.lang-btn.active{color:var(--paper);border-color:#ffffff4d}@media (width<=620px){.lang-btn{padding:3px 5px;font-size:10px}}
