:root{--ink:#172924;--ink2:#233a33;--stone:#f1f0eb;--paper:#faf9f6;--line:#d7d9d2;--gold:#c9b18a;--text:#2e3c36;--muted:#627069}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;letter-spacing:-.045em;font-weight:600}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-size:1.42rem}.container{width:min(100% - 6rem,1320px);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:white;color:black}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:20;background:var(--ink);color:#f9f8f4;border-bottom:1px solid rgba(255,255,255,.17)}.header-inner{width:min(100% - 4rem,1450px);margin:auto;min-height:88px;display:flex;align-items:center;gap:2.6rem}.brand{display:flex;align-items:center;gap:.85rem;flex:none;color:#f4eee2}.brand-mark{width:43px;height:43px;color:var(--gold)}.brand-mark svg{width:100%;height:100%}.brand-name{font:700 1rem/1.05 Manrope,sans-serif;letter-spacing:.115em;white-space:nowrap}.brand-name span{display:block;margin-top:.38rem;color:var(--gold);font-size:.62rem;letter-spacing:.26em}.nav{display:flex;gap:1.8rem;align-items:center;margin-left:auto}.nav a{font-size:.81rem;white-space:nowrap;color:#e5e9e4;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:1.55rem}.lang-switch{display:flex;align-items:center;gap:.42rem;color:#87988e;font-size:.8rem}.lang-switch button{border:0;background:none;padding:.4rem .15rem;color:#9dac9e;cursor:pointer;letter-spacing:.08em}.lang-switch button[aria-pressed=true]{color:#fff;font-weight:700}.header-cta{padding:.72rem 1rem;border:1px solid var(--gold);color:#f5e9d6;font-size:.77rem;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}.header-cta:hover{background:var(--gold);color:var(--ink)}.menu-toggle{display:none}.hero{min-height:720px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--ink);color:white}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url('assets/andalusian-residence.jpg');background-size:cover;background-position:center 47%;transform:scale(1.005)}.hero-shade{background:linear-gradient(90deg,rgba(13,29,25,.85) 0%,rgba(13,29,25,.67) 34%,rgba(13,29,25,.23) 68%,rgba(13,29,25,.12) 100%),linear-gradient(0deg,rgba(12,25,22,.52),transparent 25%)}.hero-inner{position:relative;z-index:1;padding-top:clamp(7rem,12vw,11rem);padding-bottom:5rem}.eyebrow{font:700 .74rem/1.3 Manrope,sans-serif;letter-spacing:.22em}.eyebrow.hero-eyebrow,.eyebrow.light{color:#d6c09b}.eyebrow.dark{color:#647e70}.hero h1{max-width:730px;margin:2rem 0 1.6rem;font-size:clamp(3.35rem,5.7vw,6.5rem);font-weight:500;line-height:1.035;color:#fff}.hero-copy{max-width:620px;font-size:clamp(1.06rem,1.4vw,1.26rem);line-height:1.68;color:#eef1ed}.hero-actions{display:flex;align-items:center;gap:2.1rem;margin-top:2.65rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;min-height:54px;padding:.9rem 1.15rem;font:700 .84rem/1.2 Manrope,sans-serif;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#f1ede4;color:var(--ink)}.button-light:hover{background:#fff}.button span:last-child{font-size:1.2rem;font-weight:400}.text-link{display:inline-flex;gap:1.3rem;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:.28rem;font-size:.89rem}.text-link:hover{border-color:var(--gold);color:var(--gold)}.hero-footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-top:1rem;padding-bottom:1.75rem;border-top:1px solid rgba(255,255,255,.37);font-size:.82rem;color:#e2e7df}.hero-footer span:last-child{white-space:nowrap;letter-spacing:.14em}.section{padding-block:clamp(5.5rem,8vw,9rem);scroll-margin-top:2rem}.intro{background:var(--paper)}.intro-grid,.renovation-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,10vw,10rem)}.intro h2{max-width:710px;margin:1.4rem 0 0}.intro-right{padding-top:2.6rem}.intro-right p,.renovation-grid p:not(.eyebrow){font-size:1.16rem;line-height:1.82;max-width:520px;color:#526057}.arrow-link{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:1.4rem;padding-bottom:.45rem;border-bottom:1px solid #6d8174;font-weight:700;font-size:.88rem;color:var(--ink)}.arrow-link span:last-child{font-size:1.2rem}.arrow-link:hover{border-color:var(--ink)}.services{background:#e9ebe5}.section-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.3rem}.section-head h2{max-width:720px;margin:1.25rem 0 0}.section-head>p{max-width:290px;margin:0 0 .3rem;color:#53645a}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c8d0c7;border:1px solid #c8d0c7}.service-card{min-height:385px;background:#f8f8f5;padding:2.1rem 2.2rem 2.45rem;display:flex;flex-direction:column}.service-number{font:700 .7rem Manrope,sans-serif;color:#718a7a;letter-spacing:.18em}.service-icon{height:68px;margin-top:2.5rem;margin-bottom:1.65rem;color:#476659}.service-icon svg{width:46px;height:46px}.service-card h3{margin:0 0 .9rem;color:var(--ink)}.service-card p{margin:0;color:#57635c;line-height:1.72}.principle{background:var(--ink);color:#f4f5ef;padding-block:clamp(5.5rem,8vw,8.5rem);scroll-margin-top:1rem}.principle-grid{display:grid;grid-template-columns:115px 1.05fr .95fr;gap:clamp(2rem,5vw,6rem);align-items:start}.principle-symbol{position:relative;margin-top:2rem;width:82px;height:82px;border:1px solid rgba(211,191,155,.75);border-radius:50%}.principle-symbol span{position:absolute;display:block;width:42px;height:1px;background:var(--gold);left:19px;top:40px}.principle-symbol span:nth-child(2){transform:rotate(60deg)}.principle-symbol span:nth-child(3){transform:rotate(-60deg)}.principle h2{margin:1.5rem 0 0;max-width:650px}.principle-copy{padding-top:2.4rem}.principle-copy p{font-size:1.13rem;line-height:1.77;color:#d8e1d8}.principle-copy ul{padding:1.3rem 0 0;margin:0;list-style:none}.principle-copy li{padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.18);color:#f3f2ea}.principle-copy li:before{content:'—';color:var(--gold);margin-right:.8rem}.renovation{background:#f6f5f0}.renovation h2{margin:1.3rem 0 0}.renovation-grid>div:last-child{padding-top:2.3rem}.about-area{background:#e7e8e1}.about-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.about-block,.area-block{padding:0 clamp(2rem,5vw,5rem) 0 0}.area-block{padding-left:clamp(2rem,5vw,5rem);padding-right:0;border-left:1px solid #bfc9bf}.about-area h2{font-size:clamp(2.1rem,3vw,3.4rem);margin:1.5rem 0}.about-area p:not(.eyebrow){max-width:560px;color:#526057;line-height:1.78}.location-list{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.location-list span{padding:.52rem .78rem;border:1px solid #a8b9aa;color:#2f4b3d;font-size:.82rem}.contact{background:#253b32;color:#f4f5ef}.contact-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:clamp(4rem,10vw,11rem);align-items:start}.contact h2{max-width:640px;margin:1.4rem 0}.contact-grid>div>p:not(.eyebrow){max-width:600px;color:#d3ddd3;font-size:1.13rem;line-height:1.75}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:2.6rem}.contact-phone,.contact-whatsapp{font-weight:700;border-bottom:1px solid var(--gold);padding:.4rem 0;color:#f0e2ca}.contact-panel{background:#f2f1eb;color:var(--ink);padding:2.4rem 2.6rem;min-height:330px}.contact-panel-label{font:700 .73rem Manrope,sans-serif;letter-spacing:.19em;color:#6d8373}.contact-panel-intro{margin:1.5rem 0;color:#586a5c}.contact-line{display:flex;justify-content:space-between;gap:2rem;padding:1.15rem 0;border-top:1px solid #cdd5cc}.contact-line span{font:700 .68rem Manrope,sans-serif;letter-spacing:.12em;color:#668170}.contact-line strong{text-align:right;font-size:.94rem;overflow-wrap:anywhere}.contact-note{font-size:.85rem;line-height:1.65;color:#657569;margin:1.5rem 0 0}.footer{background:#15241f;color:#dbe2db}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:125px;font-size:.75rem}.footer-inner strong{display:block;font:700 .86rem Manrope,sans-serif;letter-spacing:.15em;color:white}.footer-inner div:first-child span{display:block;font-size:.61rem;letter-spacing:.27em;color:var(--gold);margin-top:.35rem}.footer-inner p{max-width:265px;margin:0;color:#b9c6bc}.footer-inner>div:last-child{white-space:nowrap;color:#a9b6ac}a:focus-visible,button:focus-visible{outline:2px solid #e0c190;outline-offset:4px}
@media(max-width:1250px){.header-inner{gap:1.4rem;width:min(100% - 2.6rem,1450px)}.nav{gap:1rem}.header-actions{gap:.8rem}.header-cta{display:none}}
@media(max-width:900px){.container{width:min(100% - 3rem,1320px)}.header-inner{min-height:76px}.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;background:none;border:1px solid #698073;color:white;cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--ink);padding:1.2rem 1.5rem 1.8rem;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #426054}.nav.open{display:flex}.nav a{font-size:.95rem;padding:.75rem 0;border-bottom:1px solid #3f5a4e}.header-actions{margin-left:0}.hero{min-height:670px}.hero h1{max-width:650px}.hero-shade{background:linear-gradient(90deg,rgba(13,29,25,.9),rgba(13,29,25,.5) 75%,rgba(13,29,25,.3)),linear-gradient(0deg,rgba(12,25,22,.5),transparent 25%)}.intro-grid,.renovation-grid,.principle-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.intro-right,.principle-copy,.renovation-grid>div:last-child{padding-top:0}.principle-symbol{display:none}.section-head{display:block}.section-head>p{max-width:560px;margin-top:1.5rem}.service-card{padding:1.5rem}.service-icon{margin-top:2rem}.about-area-grid{gap:3rem}.about-block,.area-block{padding:0}.area-block{padding-left:2rem}.contact-panel{max-width:620px}}
@media(max-width:650px){.container{width:min(100% - 2.2rem,1320px)}.header-inner{width:min(100% - 2.2rem,1450px)}.brand-mark{width:36px;height:36px}.brand-name{font-size:.76rem}.brand-name span{font-size:.5rem}.lang-switch{font-size:.78rem}.hero{min-height:710px}.hero-image{background-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(13,29,25,.91),rgba(13,29,25,.65)),linear-gradient(0deg,rgba(12,25,22,.5),transparent 28%)}.hero-inner{padding-top:6rem;padding-bottom:3rem}.hero h1{font-size:clamp(2.85rem,11vw,4.6rem);margin:1.5rem 0 1.3rem}.hero-copy{font-size:1.02rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.4rem;margin-top:2rem}.hero-footer{font-size:.72rem}.hero-footer span:last-child{display:none}.section{padding-block:5rem}.intro h2,.renovation h2{font-size:clamp(2.25rem,9vw,3.3rem)}.intro-right p,.renovation-grid p:not(.eyebrow){font-size:1.02rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px;padding:1.7rem}.service-icon{margin-top:1.2rem;margin-bottom:1rem}.principle{padding-block:5rem}.principle h2{font-size:clamp(2.4rem,9vw,3.7rem)}.principle-copy p{font-size:1.02rem}.about-area-grid{grid-template-columns:1fr;gap:3.5rem}.area-block{border-left:0;border-top:1px solid #bfc9bf;padding:3.5rem 0 0}.contact-grid{gap:3rem}.contact-panel{padding:2rem 1.5rem}.footer-inner{min-height:180px;align-items:flex-start;justify-content:center;flex-direction:column;gap:1rem;padding-block:2rem}.footer-inner p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Brand treatment from the supplied Domus Veritas mark. */
:root{--ink:#141714;--ink2:#252a24;--gold:#d8b66d}
.site-header,.footer{background:#080908}
.brand-mark{width:44px;height:44px;overflow:hidden;flex:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.12rem;letter-spacing:.08em;color:#e8cd8d}
.brand-name span{font-family:Manrope,sans-serif;font-weight:600;color:#dabd79}
.hero-shade{background:linear-gradient(90deg,rgba(12,16,13,.87) 0%,rgba(12,16,13,.7) 34%,rgba(12,16,13,.25) 70%,rgba(12,16,13,.1) 100%),linear-gradient(0deg,rgba(12,16,13,.52),transparent 25%)}
.principle{background:#171b18}
.contact{background:#272e27}
.footer-logo{display:block;width:87px;height:123px;object-fit:cover}
.footer-inner{min-height:160px}
@media(max-width:900px){.hero-shade{background:linear-gradient(90deg,rgba(12,16,13,.91),rgba(12,16,13,.55) 75%,rgba(12,16,13,.28)),linear-gradient(0deg,rgba(12,16,13,.5),transparent 25%)}}
@media(max-width:650px){.brand-mark{width:36px;height:36px}.brand-name{font-size:.84rem}.hero-shade{background:linear-gradient(90deg,rgba(12,16,13,.93),rgba(12,16,13,.69)),linear-gradient(0deg,rgba(12,16,13,.5),transparent 28%)}.footer-logo{width:72px;height:101px}}
