@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Montserrat:wght@400;500;600&display=swap');

:root{--ink:#173d33;--deep:#12352e;--cream:#f3efe4;--paper:#faf8f2;--wood:#a7794c;--line:#d8d0c1;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}img{object-fit:cover}.header{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;top:0;width:100%;color:white;border-bottom:1px solid #ffffff35}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:18px}.brand b{display:block;font:600 23px/18px var(--serif);letter-spacing:.4px}.brand small{font-size:8px;letter-spacing:4px}.header nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.header nav a:hover{opacity:.65}.nav-cta{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;border-bottom:1px solid;padding:8px 0}.nav-cta span,.text-link span{margin-left:12px}.hero{min-height:860px;height:100vh;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,26,.82),rgba(10,32,26,.22) 64%,rgba(10,32,26,.05))}.hero-content{position:relative;z-index:2;margin-left:10vw;margin-top:50px;max-width:760px}.eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:3px;font-size:10px;font-weight:600;margin-bottom:28px}.eyebrow span{display:inline-block;width:38px;height:1px;background:var(--wood)}.eyebrow.light{color:#e9e1d3}.hero h1{font:500 clamp(64px,7.7vw,118px)/.83 var(--serif);letter-spacing:-3px;margin-bottom:30px}.hero h1 em,h2 em,blockquote em{font-weight:500;color:#d8b98f}.hero-copy{font:500 19px/1.6 var(--serif);max-width:470px;color:#f2eee5}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{height:58px;padding:0 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:1.6px}.button.primary{background:var(--cream);color:var(--deep)}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;border-bottom:1px solid #ffffff70;padding:14px 0}.hero-badge{position:absolute;z-index:2;right:6vw;bottom:50px;border:1px solid #ffffff65;border-radius:50%;width:126px;height:126px;display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(-7deg)}.hero-badge strong{font:600 42px var(--serif)}.hero-badge span{font-size:8px;line-height:1.5;letter-spacing:1.5px}.intro{padding:130px 10vw 95px}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10vw}.intro h2,.section-heading h2,.process h2,.contact h2{font:500 clamp(48px,5.4vw,80px)/.98 var(--serif);letter-spacing:-1.5px}.intro h2 em,.work h2 em,.process h2 em{color:var(--wood)}.intro-grid>div p{line-height:1.9;color:#52655e;margin-bottom:20px}.signature{text-align:right;border-top:1px solid var(--line);padding-top:25px;margin-top:65px;font:italic 23px var(--serif)}.signature span{color:var(--wood);padding:0 7px}.services{background:var(--deep);color:var(--cream);padding:120px 10vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10vw}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:350px;line-height:1.8;color:#b9c4bd}.service-list{margin-top:80px;border-top:1px solid #ffffff30}.service-list article{display:grid;grid-template-columns:70px 1fr 1.2fr 30px;gap:35px;align-items:center;padding:30px 0;border-bottom:1px solid #ffffff30}.service-list .number{color:#b9946d;font:italic 18px var(--serif)}.service-list h3{font:500 34px var(--serif);margin:0}.service-list p{color:#b9c4bd;line-height:1.7;margin:0;max-width:470px}.service-list .arrow{font-size:20px}.work{padding:130px 5.5vw}.work-head{padding:0 4.5vw 70px}.work-head>p{color:#52655e}.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:430px;gap:16px}.gallery figure{position:relative;margin:0;overflow:hidden;background:#ddd}.gallery figure.tall{grid-row:span 2}.gallery figure.wide{grid-column:span 2}.gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,rgba(10,25,20,.6))}.gallery img{transition:transform .6s ease}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:25px;color:white;display:flex;justify-content:space-between;font:500 23px var(--serif)}.gallery figcaption b{font:500 12px var(--sans)}.process{display:grid;grid-template-columns:1fr 1fr;min-height:780px;background:var(--cream)}.process-image{position:relative;min-height:650px}.process-content{padding:105px 9vw 80px}.process ol{list-style:none;padding:0;margin:55px 0 0}.process li{display:grid;grid-template-columns:55px 1fr;gap:20px;border-top:1px solid var(--line);padding:23px 0}.process li>b{font:500 14px var(--serif);color:var(--wood)}.process li strong{font:600 20px var(--serif)}.process li p{font-size:12px;color:#627069;line-height:1.7;margin:6px 0 0}.quote{text-align:center;padding:100px 20px 120px;background:var(--paper)}.quote>span{font:100px/1 var(--serif);color:var(--wood)}blockquote{font:500 clamp(62px,7.5vw,110px)/.8 var(--serif);margin:0}.quote p{text-transform:uppercase;letter-spacing:2.5px;font-size:9px;margin-top:38px}.contact{padding:110px 10vw;background:#9a6842;color:white;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw}.contact h2{margin:0}.contact h2 em{color:#f2d9b8}.contact-side>p{line-height:1.8;color:#f6eadb;margin-bottom:28px}.button.cream{background:var(--cream);color:var(--deep);width:100%}.contact-side small{display:block;text-align:center;margin-top:16px;font-size:8px;letter-spacing:1.2px;text-transform:uppercase}footer{padding:65px 6vw 35px;background:#102f28;color:#e9e5dc;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.footer-brand{justify-self:start}footer>p{font:16px/1.6 var(--serif);color:#aebbb5;margin:0}footer>div{display:flex;justify-content:flex-end;gap:24px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.copyright{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:25px;color:#81938b;font-size:9px}
@media(max-width:800px){.header{height:74px;padding:0 20px}.brand-mark{width:39px;height:39px}.brand b{font-size:20px}.header nav{display:none}.hero{min-height:760px;height:92vh}.hero-content{margin:70px 24px 0}.hero h1{font-size:61px;letter-spacing:-2px}.hero-copy{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-badge{width:92px;height:92px;right:20px;bottom:28px}.hero-badge strong{font-size:32px}.intro,.services,.work{padding:85px 24px}.intro-grid,.process,.contact{grid-template-columns:1fr}.intro-grid{gap:20px}.intro h2,.section-heading h2,.process h2,.contact h2{font-size:48px}.signature{text-align:left}.section-heading{display:block}.section-heading>p{margin-top:24px}.service-list{margin-top:50px}.service-list article{grid-template-columns:38px 1fr 20px;gap:14px}.service-list article p{grid-column:2/4}.service-list h3{font-size:28px}.work-head{padding:0 0 45px}.gallery{display:block}.gallery figure,.gallery figure.tall,.gallery figure.wide{height:470px;margin-bottom:14px}.process-image{min-height:520px}.process-content{padding:75px 24px}.quote{padding:80px 20px 95px}blockquote{font-size:65px}.contact{padding:80px 24px}.contact-side{margin-top:35px}footer{grid-template-columns:1fr;padding:55px 24px 30px}footer>div{justify-content:flex-start}.copyright{grid-column:auto}.nav-cta{font-size:9px}.nav-cta span{display:none}}
.hero>img,.gallery figure>img,.process-image>img{position:absolute;inset:0;width:100%;height:100%}
.brand-mark{position:relative;overflow:hidden;border:1px solid #f2d09d;background:radial-gradient(circle at 32% 24%,#dfa96c 0 13%,#bd7848 38%,#7e3f2a 100%);color:#fff5e7;font-size:27px;line-height:1;text-shadow:0 1px 1px #4c2418;box-shadow:0 0 0 3px #ffffff14,0 8px 22px #071b1640}
.brand-mark:after{content:"";position:absolute;inset:4px;border:1px solid #ffe3b35c;border-radius:50%;pointer-events:none}
.footer-brand .brand-mark{border-color:#d7a668;box-shadow:0 0 0 3px #ffffff0b,0 8px 22px #071b1660}
.header{background:#102f28;border-bottom:1px solid #d7a66855;box-shadow:0 8px 28px #071b1638}
@media(max-width:800px){.hero>img{object-position:66% center}.brand-mark{font-size:23px}}

/* Mayor legibilidad y marca simplificada */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-size:17px}
.brand{gap:14px}
.brand-mark{width:42px;height:42px;border:0;border-radius:10px;background:#b9784b;color:#fff7eb;font:600 12px/1 var(--sans);letter-spacing:1px;text-shadow:none;box-shadow:none;overflow:visible}
.brand-mark:after{display:none}
.brand b{font-size:29px;line-height:23px;letter-spacing:.2px}
.brand small{font-size:10px;letter-spacing:4.5px;font-weight:600}
.header nav,.nav-cta{font-size:12px;font-weight:600}
.eyebrow{font-size:11px;font-weight:600}
.hero-copy{font-size:23px;line-height:1.55;font-weight:600;max-width:540px}
.button,.text-link{font-size:12px;font-weight:600}
.button{height:62px;padding:0 31px}
.intro-grid>div p,.contact-side>p{font-size:17px}
.section-heading>p,.service-list p{font-size:16px}
.process li p{font-size:14px}
.quote p,footer>div,.copyright{font-size:11px}
.contact-side small{font-size:10px}
.footer-brand .brand-mark{border:0;box-shadow:none}
@media(max-width:800px){body{font-size:16px}.brand-mark{width:38px;height:38px;border-radius:9px;font-size:11px}.brand b{font-size:25px;line-height:20px}.brand small{font-size:9px}.hero-copy{font-size:21px}.button,.text-link{font-size:11px}.eyebrow{font-size:10px}}

.hero-badge{width:220px;height:auto;min-height:126px;padding:18px 20px;display:block;border-radius:6px;border:1px solid #f0ca94;background:#a9633d;color:#fff9ef;box-shadow:0 16px 35px #071b1666;transform:none}
.hero-badge>small{display:block;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #f7dbb25c;font:600 9px/1 var(--sans);letter-spacing:2.5px}
.hero-badge>div{display:flex;align-items:center;gap:12px}
.hero-badge strong{font:600 58px/.75 var(--serif);color:#fff9ef}
.hero-badge span{font:600 12px/1.05 var(--sans);letter-spacing:2px}
.hero-badge span b{display:block;margin-top:7px;font-size:8px;line-height:1.35;letter-spacing:1.2px;color:#f7d7ac}
@media(max-width:800px){.hero-badge{width:174px;min-height:100px;padding:14px 15px;right:18px;bottom:18px}.hero-badge>small{font-size:8px;padding-bottom:7px;margin-bottom:7px}.hero-badge strong{font-size:46px}.hero-badge span{font-size:10px}.hero-badge span b{font-size:7px}}

/* Sello verde circular y monograma crema */
.brand-mark,.footer-brand .brand-mark{width:44px;height:44px;border:1px solid #dfd5c0;border-radius:50%;background:#f3efe4;color:#173d33;font:600 12px/1 var(--sans);letter-spacing:1px;box-shadow:none}
.hero-badge{width:172px;height:172px;min-height:172px;padding:20px;border:2px solid #e7d8bd;border-radius:50%;background:#12352e;color:#fff9ef;box-shadow:0 16px 38px #071b1675;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hero-badge>small{padding:0 0 8px;margin:0 0 8px;border:0;border-bottom:1px solid #e7d8bd66;font-size:8px;letter-spacing:2.2px;width:100%}
.hero-badge>div{justify-content:center;gap:9px}
.hero-badge strong{font-size:54px;color:#f3efe4}
.hero-badge span{font-size:11px;color:#f3efe4;text-align:left}
.hero-badge span b{font-size:7px;color:#d8c39f;letter-spacing:1px}
@media(max-width:800px){.brand-mark,.footer-brand .brand-mark{width:39px;height:39px;border-radius:50%;font-size:11px}.hero-badge{width:142px;height:142px;min-height:142px;padding:16px;right:18px;bottom:18px}.hero-badge>small{font-size:7px}.hero-badge strong{font-size:45px}.hero-badge span{font-size:9px}.hero-badge span b{font-size:6px}}
.button.instagram{width:100%;margin-top:12px;border:1px solid #f3efe4;background:transparent;color:#fff;}
.button.instagram:hover{background:#f3efe4;color:#102f28}
.footer-phone{display:inline-block;margin-top:8px;color:#f3efe4;font:600 13px var(--sans);letter-spacing:1px;border-bottom:1px solid #d8bd9170}
.gallery{grid-auto-flow:dense}
.gallery .focus-table img{object-position:center 42%}
.header nav .nav-instagram{border:1px solid #d8b98f;border-radius:999px;color:#f3efe4;padding:9px 14px;margin:-9px 0;transition:background .2s ease,color .2s ease}
.header nav .nav-instagram:hover{background:#f3efe4;color:#12352e;opacity:1}
.intro{padding-top:82px;padding-bottom:62px}
.signature{margin-top:38px}
@media(max-width:800px){.intro{padding-top:64px;padding-bottom:58px}.signature{margin-top:32px}}
