*{box-sizing:border-box} :root{--ink:#38262a;--paper:#f7f1e8;--accent:#722d3c;--line:#cbbdb6}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}p{line-height:1.75}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}[hidden]{display:none!important}.shell{width:min(1280px,calc(100% - 96px));margin:auto}.skip{position:absolute;top:-100px;left:15px;z-index:30;background:white;color:#172e34;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid #00838e;outline-offset:5px}section[id]{scroll-margin-top:100px}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 3vw;background:#eef2f2;color:#24414a;font-size:11px}.demo-bar>span{font-size:9px;letter-spacing:.08em}.site-header{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:32px;letter-spacing:-.04em;font-weight:700;text-decoration:none;line-height:1}.brand span{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:.12em;margin-top:8px}.desktop-nav{display:flex;gap:27px;font-size:12px}.desktop-nav a{padding:15px 0;text-decoration:none}.desktop-nav a:hover{text-decoration:underline}.mobile-nav{display:none}.eyebrow{font-size:10px;letter-spacing:.15em;line-height:1.6;font-weight:700;margin-bottom:22px}h1{font-size:clamp(44px,5.7vw,83px);line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(32px,3.8vw,53px);line-height:1.13;letter-spacing:-.04em}h3{font-size:24px;line-height:1.25;letter-spacing:-.025em}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:16px 23px;background:var(--accent);color:#fff;border:1px solid transparent;text-decoration:none;font-size:13px;font-weight:700;transition:filter .18s ease}.button:hover{filter:brightness(1.15)}.text-link{font-size:13px;font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px;font-size:14px}.hero-note{display:block;font-size:10px;line-height:1.6;margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:40px}.section-heading>p{max-width:400px;font-size:14px}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.concept-grid p:not(.eyebrow){font-size:16px;margin-top:24px;max-width:460px}.concept-grid .text-link{display:inline-block;margin-top:25px}.concept-grid figcaption{font-size:11px;margin-top:12px}.concept-grid img{height:460px;object-fit:cover}.gallery-section{padding:85px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-open{display:block;position:relative;overflow:hidden;background:#d4ccc1}.gallery-open img{height:330px;object-fit:cover;transition:transform .25s ease}.gallery-open:hover img{transform:scale(1.035)}.gallery-open>span{position:absolute;bottom:12px;right:12px;background:#fff;color:#172e34;padding:10px;font-size:20px}.gallery-grid figcaption{display:flex;gap:20px;font-size:13px;margin-top:16px}.gallery-grid figcaption>span{font-size:10px;line-height:1.8;opacity:.8}
/* Oliva — editorial restaurant, warm wine palette and immersive photography. */
.oliva .brand{font:42px/.9 Georgia,serif}.oliva h1,.oliva h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.oliva-hero{position:relative;isolation:isolate;color:#fff7ed;padding:112px 0 90px;min-height:650px;display:flex;align-items:center}.hero-background{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2}.oliva-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#24120fe8,#24120f8a 70%,#24120f55);z-index:-1}.oliva-hero h1{max-width:1050px}.oliva-hero h1 em{color:#f5d5b5}.oliva-hero p:not(.eyebrow){max-width:470px;margin-top:28px;font-size:17px}.oliva-hero .button{background:#f7eee1;color:#5b2632}.oliva-hero :focus-visible{outline-color:#f7dca3}.oliva-concept{padding:95px 0}.oliva-concept figure img{border-radius:50% 50% 4px 4px}.oliva-concept h2 em{color:#722d3c}.oliva-services{padding:75px 0;background:#662d39;color:#fff5e7}.oliva-services :focus-visible{outline-color:#ffe0a1}.oliva-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.oliva-offers article{border-top:1px solid #bc9294;padding-top:25px}.oliva-offers article>span{font-size:10px;letter-spacing:.12em}.oliva-offers h3{font:31px/1.2 Georgia,serif;margin:24px 0 18px}.oliva-offers p{font-size:14px;margin-bottom:25px}.oliva-offers a{font-size:13px}.oliva .gallery-grid figure:nth-child(2){margin-top:45px}.oliva .contact-section{background:#eae1d5}.oliva .form-card{border-radius:8px}.oliva .floating-wa{background:#662d39;color:#fff}
/* Umbral — architectural layout, restraint and asymmetric imagery. */
.umbral{--ink:#292d28;--paper:#f0f0e9;--accent:#3e4d35;--line:#bfc5b8}.umbral .brand{font-weight:500;letter-spacing:.12em;font-size:25px}.umbral-hero{padding:50px 0 0}.umbral-title{display:grid;grid-template-columns:.65fr 1.35fr;gap:35px;align-items:end;margin-bottom:38px}.umbral h1{font-size:clamp(58px,7.4vw,106px);font-weight:400;letter-spacing:-.065em}.umbral h1 em{font-family:Georgia,serif;font-weight:400}.umbral-hero figure img{height:425px;object-fit:cover;object-position:center 62%}.umbral-hero figcaption{display:flex;justify-content:space-between;gap:15px;padding:15px 0;font-size:10px;letter-spacing:.04em}.umbral-intro{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:25px 0 40px;border-bottom:1px solid var(--line)}.umbral-intro p{font-size:18px;max-width:520px}.umbral-concept{padding:90px 0}.umbral-statement{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.umbral-statement h2{font-weight:400}.umbral-statement p{font-size:15px;margin-bottom:20px}.umbral-services{background:#dadfd2;padding:80px 0}.umbral-service-list article{display:grid;grid-template-columns:45px 1fr 1fr 45px;gap:35px;align-items:start;border-top:1px solid #929c87;padding:27px 0}.umbral-service-list article>span{font-size:12px}.umbral-service-list h3{font-size:23px;font-weight:400}.umbral-service-list p{font-size:14px}.umbral-service-list a{font-size:27px;text-align:center}.umbral .gallery-grid{grid-template-columns:1.4fr 1fr}.umbral .gallery-grid figure:first-child{grid-row:span 2}.umbral .gallery-grid figure:first-child img{height:650px}.umbral .gallery-grid figure:not(:first-child) img{height:285px}.umbral .contact-section{background:#e2e5dc}.umbral .contact-grid{grid-template-columns:1.1fr .9fr}.umbral .contact-info{order:2}.umbral .floating-wa{background:#3e4d35;color:#fff}
/* Distrito — urban contrast, lime panels and strong type. */
.distrito{--ink:#20221e;--paper:#f6f7f1;--accent:#242721;--line:#b9bdb1}.distrito .brand{font-weight:900;font-size:29px}.distrito-hero{padding:50px 0 60px}.distrito-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.distrito h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(65px,7.8vw,110px);letter-spacing:-.02em;line-height:.97}.distrito h1>span{color:#40572b}.distrito-hero p:not(.eyebrow){max-width:430px;margin:24px 0;font-size:16px}.distrito-hero figure{background:#d9fa70;padding:17px}.distrito-hero figure img{height:485px;object-fit:cover;filter:grayscale(1)}.distrito-hero figcaption{font-size:15px;font-weight:800;line-height:1.5;padding:19px 6px 3px}.distrito h2{font-weight:900;letter-spacing:-.055em}.distrito-concept{background:#242721;color:#f5f7ee;padding:75px 0}.distrito-concept-grid{display:grid;grid-template-columns:.55fr 1.15fr 1fr;gap:45px;align-items:start}.distrito-concept h2{font-size:56px}.distrito-concept h2 span{color:#d9fa70}.distrito-concept p:not(.eyebrow){font-size:14px;margin-bottom:22px}.distrito-concept :focus-visible{outline-color:#d9fa70}.distrito-services{padding:85px 0}.distrito-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #a4ab95}.distrito-service-grid article{padding:32px;background:#d9fa70}.distrito-service-grid article:nth-child(2){background:#e9eae3;border-inline:1px solid #a4ab95}.service-glyph{display:block;font-size:44px;font-weight:900;letter-spacing:-.07em;margin-bottom:45px}.distrito-service-grid h3{font-size:29px;font-weight:900}.distrito-service-grid p{font-size:14px;margin:18px 0 26px}.distrito-service-grid a{font-size:13px;font-weight:700}.distrito .gallery-section{background:#e6e9de}.distrito .gallery-open img{height:425px;filter:grayscale(1)}.distrito .gallery-open:hover img{filter:none}.distrito .contact-section{background:#d9fa70}.distrito .floating-wa{background:#242721;color:#d9fa70}
/* Contact, map and gallery mechanics shared across the three designs. */
.contact-section{padding:80px 0}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start}.contact-info>p{font-size:15px;margin:18px 0;max-width:400px}.email{display:block;font-size:16px;margin:20px 0 25px;overflow-wrap:anywhere}.map-card{margin-top:30px;border:1px solid #aab3a1;background:#f6f8f0;color:#243326}.map-placeholder{padding:26px;text-align:center;background:repeating-linear-gradient(20deg,transparent,transparent 48px,#ccd4c4 49px,#ccd4c4 51px),#e9ede2}.map-placeholder>span{display:block;font-size:50px;line-height:1;margin-bottom:15px}.map-placeholder>strong{display:block;font-size:15px;background:#f6f8f0;padding:7px}.map-placeholder p{font-size:12px;background:#f6f8f0;padding:7px}.load-map{margin-top:15px;background:#243326;color:white;border:0;padding:13px 17px;font-size:12px}.map-disclosure{font-size:11px;padding:14px 18px}.map-disclosure a{display:block;margin-top:6px}.map-card iframe{width:100%;height:290px;border:0;display:block}.social{color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:12px 0;margin-top:16px;font-size:12px}.contact-question{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:13px}.contact-question summary{line-height:1.6}.contact-question p{margin-top:12px;font-size:12px}.form-card{background:#fffefb;border:1px solid #c2c8bc;padding:32px;color:#283125}.form-card>p:not(.eyebrow){font-size:12px;margin:18px 0 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.demo-form label{display:block;font-size:12px;font-weight:700;margin:20px 0 10px}input,textarea,select{width:100%;padding:12px;background:#fff;border:1px solid #7c8b74;color:#243326;font-size:16px;border-radius:0}textarea{resize:vertical;min-height:120px}.demo-form>.button{width:100%;margin-top:22px}.form-note{font-size:11px;margin-top:16px}.feedback{font-size:13px;font-weight:700;margin-top:18px}.message-preview{border-top:1px solid #bcc4b4;padding-top:18px}.preview-text{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px}.footer{padding:35px 0 85px;background:#eef2f2;color:#24414a;font-size:11px}.footer .shell{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer strong{font-size:22px}.footer p{max-width:400px}.floating-wa{position:fixed;bottom:20px;right:22px;z-index:4;display:flex;align-items:center;gap:15px;padding:15px 20px;border-radius:30px;border:1px solid #849376;box-shadow:0 6px 20px #10181022;text-decoration:none;font-size:13px;font-weight:700}.floating-wa:focus-visible{outline-color:#00838e}dialog{width:min(460px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid #6f7c67;background:#fafbf7;color:#243326;padding:28px}dialog h2{font-size:27px}dialog p{font-size:15px;margin:20px 0}dialog::backdrop{background:#111810dd}.lightbox{width:min(1100px,calc(100% - 24px));padding:20px;background:#151b17;color:#fff;border:1px solid #849376}.lightbox img{width:100%;height:min(63dvh,680px);object-fit:contain}.lightbox p{font-size:13px;margin:14px 0}.lightbox-toolbar,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.lightbox button{background:#f6f7f1;color:#243326;border:0;padding:12px 16px;font-size:13px}.lightbox :focus-visible{outline-color:#d9fa70}body.modal-open{overflow:hidden}
/* Collection page */
.catalog{--ink:#18394a;--paper:#f8faf7;--accent:#163b63;--line:#b6c5c7}.catalog-main{padding:65px 0}.catalog-main>h1{max-width:940px;font-size:clamp(40px,5.1vw,72px)}.catalog-lead{max-width:780px;font-size:17px;margin:28px 0 45px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.catalog-grid img{aspect-ratio:1.5;object-fit:cover;object-position:top;border:1px solid var(--line)}.catalog-grid .eyebrow{margin:22px 0 12px}.catalog-grid h2{font-size:30px}.catalog-grid p:not(.eyebrow){font-size:14px;margin:16px 0 23px}.catalog-note{border-top:1px solid var(--line);padding-top:32px;margin-top:50px}.catalog-note h2{font-size:26px;margin-bottom:22px}.catalog-note p{font-size:13px;margin-bottom:15px}.catalog-note>a{font-size:14px}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.desktop-nav{gap:18px}.concept-grid,.contact-grid{gap:35px}.distrito-hero-grid{gap:30px}.distrito-concept-grid{grid-template-columns:1fr 1fr}.distrito-concept-grid>.eyebrow{grid-column:1/-1}.distrito-concept h2{font-size:45px}.umbral-statement{gap:45px}.umbral-service-list article{gap:20px;grid-template-columns:30px 1fr 1fr 30px}.form-row{grid-template-columns:1fr;gap:0}.oliva-offers{gap:25px}.distrito h1{font-size:80px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.demo-bar{flex-wrap:wrap;padding:12px 20px}.demo-bar>span{width:100%;order:-1;font-size:8px}.header-inner{position:relative;min-height:80px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{font-size:13px;padding:12px 0 12px 12px}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;display:grid;gap:5px;padding:15px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 20px #1d2a1722}.mobile-nav nav a{padding:11px;font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px}.concept-grid,.contact-grid,.umbral .contact-grid,.umbral-statement,.distrito-hero-grid,.distrito-concept-grid{grid-template-columns:1fr}.oliva-hero{padding:65px 0;min-height:620px}.oliva-hero h1{font-size:clamp(45px,9vw,65px)}.oliva-hero p:not(.eyebrow){font-size:16px}.oliva-concept,.oliva-services,.gallery-section,.contact-section,.umbral-concept,.umbral-services,.distrito-services,.distrito-concept{padding:52px 0}.concept-grid img{height:340px}.oliva-offers,.distrito-service-grid,.catalog-grid{grid-template-columns:1fr}.oliva-offers{gap:35px}.gallery-grid,.umbral .gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-open img,.distrito .gallery-open img,.umbral .gallery-grid figure:first-child img,.umbral .gallery-grid figure:not(:first-child) img{height:330px}.oliva .gallery-grid figure:nth-child(2){margin-top:0}.umbral .gallery-grid figure:first-child{grid-row:auto}.umbral-title{grid-template-columns:1fr;gap:10px}.umbral h1{font-size:clamp(57px,12vw,90px)}.umbral-hero{padding-top:35px}.umbral-hero figure img{height:340px}.umbral-hero figcaption{flex-direction:column;gap:8px}.umbral-intro{align-items:flex-start;flex-direction:column;gap:25px}.umbral-intro p{font-size:16px}.umbral-service-list article{grid-template-columns:25px 1fr 25px;gap:15px}.umbral-service-list p{grid-column:2;grid-row:2}.umbral-service-list a{grid-column:3;grid-row:1}.umbral .contact-info{order:0}.distrito-hero{padding:35px 0}.distrito h1{font-size:clamp(64px,13vw,94px)}.distrito-hero figure img{height:340px}.distrito-concept-grid>.eyebrow{grid-column:auto}.distrito-concept h2{font-size:46px}.distrito-service-grid article:nth-child(2){border-inline:0;border-block:1px solid #a4ab95}.service-glyph{margin-bottom:25px}.form-card{padding:26px 20px}.button{max-width:100%}.footer .shell{flex-direction:column;align-items:flex-start;gap:18px}.floating-wa{font-size:12px;padding:13px 17px;right:15px;bottom:15px}.catalog-main{padding:40px 0}.catalog-grid{gap:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
