:root{--gold:#bd914f;--gold-light:#e0bc83;--ink:#11181c;--paper:#f7f4f0;--sidebar-width:clamp(238px,18.4vw,310px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#12171a;font-family:Arial,Helvetica,sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button,select{font:inherit}button{border:0;background:none}.icon{width:24px;height:24px;display:inline-block;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:16px;top:-100px;padding:12px 18px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:16px}.site-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.brand-sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30;color:#fff;background:linear-gradient(125deg,#171e22,#0e1519);border-right:1px solid #b58a4936}.brand-header{flex-shrink:0;position:relative}.brand-header a{display:block}.reference-detail{display:block}.dark-brand{width:100%;max-height:25vh;min-height:175px}.close-menu{display:none}.service-navigation{overflow:auto;scrollbar-width:thin}.service-link{position:relative;display:flex;align-items:center;gap:18px;width:100%;min-height:clamp(61px,7.35vh,82px);padding:12px 23px 12px 28px;color:#fff;text-align:left;border-bottom:1px solid #ffffff20;transition:background .2s}.service-link.active{background:linear-gradient(110deg,#a47b43,#99703c)}.service-link.active:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:6px solid #dcc399}.service-icon{width:35px;height:35px;color:var(--gold)}.service-link.active .service-icon,.service-link:hover .service-icon{color:#fff7e8}.service-text{min-width:0;display:grid;gap:5px}.service-text strong{font-size:16px;text-transform:uppercase;font-weight:600;line-height:1.1;letter-spacing:.02em}.service-text small{font-size:12px;line-height:1.2;text-transform:uppercase;color:#e6e6e4}.service-arrow{width:13px;height:13px;color:#e4c99f;margin-left:auto;display:none}.quote-footer{margin-top:auto;padding:14px 18px 24px}.quote-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:1px solid var(--gold);border-radius:7px;padding:15px 8px;background:#0c1216;color:#fff;text-align:left;transition:background .2s}.quote-button:hover{background:#30271c}.quote-button>.icon{width:31px;height:35px;color:var(--gold)}.quote-button span{display:grid;gap:7px;text-transform:uppercase}.quote-button strong,.quote-button small{font-size:12px;font-weight:600}.site-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(292px,23.2vw,390px)}.hero{position:relative;min-height:max(840px,100vh);overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0000008c 0%,#00000040 52%,#0000000d),linear-gradient(0deg,#0c0b09a6 0%,transparent 30%,#00000017 80%)}.hero-copy{position:relative;z-index:1;padding:clamp(100px,17.5vh,200px) clamp(30px,3.7vw,72px) 45px}.eyebrow{color:var(--gold-light);text-transform:uppercase;font-size:clamp(14px,1.22vw,20px);font-weight:500;letter-spacing:.075em;margin:0 0 18px}.hero h1{text-transform:uppercase;font-size:clamp(35px,3.62vw,70px);letter-spacing:.005em;line-height:1.22;font-weight:600;margin:0}.hero h1>span{display:block}.hero h1 .title-detail{font-size:.65em;line-height:1.3;font-weight:500;margin-top:12px;letter-spacing:.012em}.gold-rule{width:106px;height:2px;background:var(--gold);margin:32px 0}.hero-description{font-size:clamp(18px,1.35vw,23px);line-height:1.52;margin:0 0 38px}.discover-button{display:inline-flex;justify-content:space-between;align-items:center;gap:16px;color:var(--gold-light);border:1px solid var(--gold);border-radius:7px;background:#15110c4d;padding:13px 17px;font-size:14px;font-weight:600;text-transform:uppercase;transition:background .2s,color .2s}.discover-button:hover{color:#fff;background:#9c743ecc}.discover-button .icon{width:19px;height:19px}.hero-bottom{position:relative;z-index:1;padding:0 clamp(24px,2.2vw,42px) 22px}.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 0;background:linear-gradient(120deg,#242320ee,#101518e8);border-radius:3px}.promise{display:flex;align-items:center;flex-direction:column;gap:15px;padding:4px 7px;text-align:center}.promise+.promise{border-left:1px solid #bc9b6538}.promise .icon{color:var(--gold);width:44px;height:44px}.promise p{text-transform:uppercase;font-size:12px;line-height:1.8;margin:0}.illustrative-note{display:block;text-align:right;font-size:12px;letter-spacing:.04em;margin-top:10px;color:#e7e1d6b3}.contact-panel{display:flex;flex-direction:column;min-width:0;padding:28px clamp(25px,2.5vw,42px) 0;background:var(--paper);border-left:1px solid #c6b9a6}.desktop-language{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:14px;text-transform:uppercase}.language-select{min-width:171px;height:43px;padding:0 14px;border:1px solid #ded8d0;border-radius:5px;background:#fdfbf9;box-shadow:0 1px 6px #00000017;font-size:14px}.light-brand{width:calc(100% + 8px);margin:36px -4px 24px;mix-blend-mode:multiply;flex-shrink:0}.contact-section h2{font-size:16px;font-weight:600;text-transform:uppercase;margin:0 0 15px}.primary-contacts{border-top:1px solid #bba98c;padding-top:26px}.draft-label{font-size:12px;color:#786b59;margin:-6px 0 15px}.contact-line{display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.4;margin-bottom:15px}.contact-line .icon{width:23px;height:23px;stroke-width:1.5}.contact-line span{overflow-wrap:anywhere}.social-section{position:relative;padding-top:24px;margin-top:19px}.social-section:before,.location-section:before{content:"";position:absolute;top:0;left:0;height:1px;width:66px;background:#d7d0c7}.social-links{display:flex;align-items:center;gap:24px}.social{display:inline-flex;align-items:center;justify-content:center;color:#fff;height:35px;width:35px;border-radius:50%;font-weight:700;font-size:25px}.instagram{background:linear-gradient(35deg,#ffbe52,#dd356d 48%,#7948be 85%);border-radius:9px}.facebook{background:#3d6696}.whatsapp{background:#449c58;padding:6px}.whatsapp .icon{width:24px;height:24px}.location-section{display:flex;align-items:flex-start;gap:14px;position:relative;margin-top:25px;padding-top:23px}.location-section>.icon{width:25px;height:28px}.location-section h2{margin-bottom:6px}.location-section address{font-size:14px;line-height:1.6;font-style:normal}.location-section small{display:block;margin-top:7px;font-size:12px;color:#786b59}.house-sketch{width:calc(100% + 30px);margin:auto -15px 0;padding-top:24px;mix-blend-mode:multiply}.admin-entry-link{color:#746653;display:block;text-align:center;font-size:12px;padding:14px 0 20px;text-decoration:underline;text-underline-offset:3px}.mobile-header{display:none}.menu-backdrop{position:fixed;inset:0;background:#0009;z-index:25}.modal{position:fixed;max-width:min(800px,calc(100vw - 36px));width:100%;max-height:90vh;overflow:auto;padding:40px;background:var(--paper);color:#12171a;border:1px solid #b78b4a5e;border-radius:6px;box-shadow:0 20px 80px #0008}.modal::backdrop{background:#000a}.dialog-close{position:absolute;top:15px;right:15px;color:#706456;padding:7px}.dialog-eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#936a33}.gallery-title{font-size:32px;text-transform:uppercase;font-weight:500;margin:0 0 8px}.gallery-description{font-size:14px;color:#6f675c;margin:0}.gallery-categories{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 15px}.gallery-categories button{border:1px solid #d0c4b3;border-radius:3px;padding:8px 12px;font-size:14px;background:transparent}.gallery-categories button.active{background:#956d38;border-color:#956d38;color:#fff}.gallery-state{min-height:230px}.gallery-loading{display:grid;grid-template-columns:1fr 1fr;gap:15px}.gallery-loading span{height:220px;background:linear-gradient(90deg,#e7e1d8,#f6f2ec,#e7e1d8);background-size:200% 100%;animation:loading 1.3s infinite}.project-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.project-photos figure{margin:0}.project-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.gallery-empty,.gallery-error{min-height:230px;background:#efeae3;border:1px dashed #cbbca7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.gallery-empty .icon{width:45px;height:45px;color:#a67f48}.gallery-empty h3{font-size:20px;margin:14px 0 7px}.gallery-empty p,.gallery-error{font-size:16px;line-height:1.5;color:#746a5e}.gallery-error button{margin-top:15px;color:#855f2b;text-decoration:underline}.dialog-back{color:#855f2b;font-size:14px;display:flex;gap:12px;align-items:center;padding:12px 0}.dialog-back .icon{width:17px;height:17px}.quote-dialog{max-width:520px}.quote-dialog-icon{color:var(--gold);width:38px;height:38px}.quote-dialog h2{font-size:28px;margin:16px 0 10px}.quote-description{font-size:16px;line-height:1.65}.quote-note{font-size:13px;color:#756b5e;border-top:1px solid #d9cfc0;padding-top:16px}@keyframes loading{to{background-position:-200% 0}}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
@media(min-width:1650px){.service-text strong{font-size:18px}.quote-button strong,.quote-button small,.promise p{font-size:13px}.contact-line,.location-section address{font-size:16px}}
@media(max-width:1190px) and (min-width:768px){.site-shell{grid-template-columns:238px minmax(0,1fr)}.site-main{grid-template-columns:minmax(0,1fr)}.hero{min-height:max(830px,100vh)}.hero h1{font-size:clamp(42px,5.2vw,63px)}.hero-copy{padding-left:45px}.contact-panel{padding:30px 35px;position:relative;display:grid;grid-template-columns:230px 1fr;gap:28px}.desktop-language{grid-column:1}.light-brand{grid-column:1;grid-row:2;margin:0;align-self:start}.contact-details{grid-column:2;grid-row:1/span 3}.primary-contacts{padding-top:0;border-top:none}.house-sketch{grid-column:1;grid-row:3;max-width:250px;margin:0}.admin-entry-link{grid-column:1}}
@media(max-width:767px){body.menu-open{overflow:hidden}.site-shell{display:block}.brand-sidebar{position:fixed;left:0;top:0;width:min(310px,88vw);height:100vh;transform:translateX(-105%);transition:transform .2s;box-shadow:10px 0 35px #0008}.menu-open .brand-sidebar{transform:translateX(0)}.close-menu{display:block;position:absolute;right:14px;top:14px;color:var(--gold-light);padding:4px}.site-main{display:block;width:100%}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:83px;padding:10px 18px;background:#10161a}.mobile-menu-toggle{color:var(--gold-light);padding:9px 0}.mobile-menu-toggle .icon{width:27px;height:27px}.mobile-brand{width:108px;height:46px}.mobile-language .language-select{min-width:0;width:139px;height:37px;font-size:12px;padding:0 7px}.hero{min-height:800px}.hero-copy{padding:90px 27px 45px}.eyebrow{font-size:13px;line-height:1.5;letter-spacing:.09em;margin-bottom:15px}.hero h1{font-size:clamp(29px,7.7vw,50px);line-height:1.25}.hero h1 .title-detail{font-size:.69em;margin-top:12px}.hero-description{font-size:18px;margin-bottom:30px}.gold-rule{margin:28px 0;width:82px}.discover-button{font-size:12px;padding:13px 15px}.hero-image{object-position:58% center}.hero-bottom{padding:0 20px 17px}.promises{grid-template-columns:repeat(2,1fr);row-gap:22px;padding:20px 8px}.promise{gap:10px}.promise:nth-child(3){border-left:0}.promise .icon{height:34px;width:34px}.promise p{font-size:12px;line-height:1.65}.contact-panel{padding:35px 36px 0}.desktop-language{display:none}.light-brand{width:260px;align-self:center;margin:0 0 26px}.contact-line,.location-section address{font-size:16px}.contact-section h2{font-size:17px}.contact-line{margin-bottom:18px}.house-sketch{max-width:330px;align-self:center;margin-top:22px}.service-link{min-height:61px;padding:12px 24px}.gallery-dialog{padding:32px 20px 20px}.gallery-title{font-size:26px}.gallery-loading span{height:130px}.project-photos{gap:9px}.quote-dialog{padding:35px 25px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
