:root{--bg:#f6f2e9;--surface:#e7ecdf;--text:#294c3d;--muted:#5a6e60;--gold:#956046;--line:#294c3d26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(4rem,8vw,8rem);font-weight:700}h2{font-size:clamp(2.6rem,4.5vw,4.5rem);font-weight:500}h3{font-weight:500;font-size:1.5rem}em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}p{color:var(--muted)}img{display:block;width:100%;object-fit:cover;height:auto}.wrap{width:min(1240px,calc(100% - 70px));margin:auto}.eyebrow{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:var(--gold)}.demo-note{background:#302b23;padding:7px 15px;text-align:center;font-size:.6rem;letter-spacing:.12em;color:var(--gold)}.demo-note span{color:var(--muted);margin-left:15px;letter-spacing:0}header{position:sticky;top:0;z-index:20;background:#191918ed;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:1rem;letter-spacing:.06em;font-weight:700;white-space:nowrap}.brand small{display:block;font-size:.42rem;letter-spacing:.2em;line-height:2.5;font-weight:400;color:var(--muted)}.brand-mark{width:40px;height:45px;border:1px solid var(--gold);color:var(--gold);font-family:Georgia,serif;display:grid;place-items:center;font-size:1.8rem;font-weight:400}nav{display:flex;align-items:center;gap:25px;font-size:.8rem}nav>a:not(.button):hover{color:var(--gold)}#menu-button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 16px}#menu-button[hidden]{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 24px;color:#191918;background:var(--gold);border:1px solid var(--gold);font-size:.8rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#f1d39d;transform:translateY(-2px)}.button.compact{padding:11px 15px;font-size:.7rem}.hero{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 35%;background:#34332d}.hero-photo img{height:100%;object-position:center 38%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#191918 0%,#191918ed 28%,#19191866 58%,#19191815 100%)}.hero-content{position:relative;padding:55px 0 105px}.hero h1{margin:30px 0}.hero h1 em{font-size:.88em}.hero-content>p:not(.eyebrow){font-size:1.05rem;max-width:450px}.hero .button{margin-top:15px}.hero-location{display:block;font-size:.55rem;letter-spacing:.16em;color:var(--muted);margin-top:28px}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:18px;font-size:.7rem}.hero-bottom small{font-size:.6rem}.statement-strip{background:var(--surface);border-bottom:1px solid var(--line)}.statement-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding:32px 0;font-family:Georgia,serif;font-size:1.9rem}.gold{color:var(--gold)}.section{padding:100px 0}.heading{display:grid;grid-template-columns:1fr .65fr;gap:100px;align-items:end;margin-bottom:50px}.heading h2{margin-bottom:0}.heading>p{margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:35px 30px 35px 0;display:flex;flex-direction:column}.service+.service{border-left:1px solid var(--line);padding-left:30px}.service h3{font-size:2rem;margin:25px 0 20px}.service p{font-size:.9rem;flex:1}.service-price{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin:20px 0 25px}.service-price strong{font-size:2rem;color:var(--gold);font-weight:400}.service-price span{font-size:.75rem;color:var(--muted)}.service a{font-size:.8rem;text-decoration:underline;text-underline-offset:7px}.fine{font-size:.7rem}.space{background:var(--surface)}.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.space-photo{position:relative}.space-photo img{height:640px}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:15px 20px;background:#191918cf;font-size:.6rem}.values{margin-top:35px}.values article{display:flex;gap:25px;padding:23px 0;border-top:1px solid var(--line)}.values article>span{font-size:.65rem;color:var(--gold)}.values h3{font-size:1.1rem;margin-bottom:12px}.values p{margin:0;font-size:.85rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.photo-button{position:relative;display:block;border:0;background:var(--surface);padding:0;width:100%;overflow:hidden;margin-bottom:25px}.photo-button img{height:390px;transition:transform .4s}.photo-button:hover img{transform:scale(1.04)}.photo-button>span{position:absolute;bottom:15px;right:15px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--bg);font-size:1.2rem}.gallery h3{font-size:1.4rem;margin-top:12px}.location{background:#e8e0d2;color:#262925}.location em{color:#76532e}.location .eyebrow{color:#76532e}.location p{color:#5a5d55}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.address{font-size:1.2rem}.hours{margin:30px 0;max-width:430px}.hours div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #26292526;font-size:.85rem}.hours dd{margin:0}.location-art{position:relative;background:#d8d5c8;height:430px;border:1px solid #c9c7b9;overflow:hidden}.street{position:absolute;background:#eeebe1;height:35px;width:150%;transform:rotate(-30deg)}.s1{top:70px;left:-80px}.s2{top:300px;left:-80px}.s3{width:50px;height:140%;top:-60px;left:55%;transform:rotate(20deg)}.block{position:absolute;border:2px solid #c1c5b5;transform:rotate(-30deg)}.b1{width:160px;height:160px;left:20px;top:145px}.b2{width:130px;height:130px;right:10px;top:20px}.map-mark{position:absolute;top:40%;left:48%;width:70px;height:70px;display:grid;place-items:center;background:#191918;color:var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg);font-family:Georgia,serif;font-size:2.3rem;box-shadow:0 10px 25px #19191830}.map-label{position:absolute;bottom:20px;left:20px;right:20px;letter-spacing:.15em;font-size:.6rem}.appointment-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px}.contact-line{padding-top:25px;margin-top:35px;border-top:1px solid var(--line);font-size:.8rem}.contact-line strong{font-size:1.3rem;color:var(--gold);font-weight:400}form{padding:35px;border:1px solid var(--line);background:var(--surface)}form>.eyebrow{font-size:.5rem}form h3{font-size:1.7rem;margin:20px 0 25px}label{display:block;font-size:.8rem;margin:20px 0 8px}select,textarea{display:block;width:100%;padding:12px;border:1px solid #757269;background:#191918;color:var(--text);font-size:.9rem}textarea{resize:vertical}form .fine{margin:18px 0 25px}form .fine a{text-decoration:underline}form .button{width:100%}footer{background:#121211;padding:50px 0 100px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .9fr;gap:35px}.footer-grid h3{font-size:.85rem;color:var(--gold);margin-bottom:20px}.footer-grid p{font-size:.75rem}.footer-grid .fine{font-size:.6rem}.footer-grid>div>a:not(.brand){display:block;font-size:.7rem;margin-bottom:10px;color:var(--muted)}.footer-grid>div>a:hover{color:var(--gold)}.footer-grid .brand{font-size:.75rem}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:25px;font-size:.65rem;color:var(--muted)}.whatsapp{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));z-index:30;background:var(--gold);color:#191918;border:1px solid #f1d39d;padding:14px 20px;border-radius:30px;box-shadow:0 8px 25px #0005;font-size:.8rem;font-weight:700}.whatsapp:hover{background:#f1d39d}.legal-main{padding:80px 0 100px;max-width:900px}.legal-main h1{font-size:clamp(3rem,6vw,5rem)}.legal-main .legal-intro{font-size:1.1rem}.legal-main section{padding:35px 0;border-top:1px solid var(--line)}.legal-main h2{font-size:2rem}.legal-main p,.legal-main li{font-size:.95rem;color:var(--muted)}.legal-main a:not(.button){text-decoration:underline;text-underline-offset:4px;color:var(--gold)}.skip{position:fixed;top:8px;left:8px;background:var(--gold);color:var(--bg);padding:12px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}dialog{width:min(1000px,calc(100% - 30px));max-height:90vh;padding:20px;background:var(--bg);color:var(--text);border:1px solid var(--line)}dialog::backdrop{background:#000d}dialog img{max-height:70vh;object-fit:contain}.close-dialog{display:block;margin:0 0 15px auto;background:var(--surface);color:var(--text);border:1px solid var(--line);padding:10px 15px}dialog p{margin:15px 0 0}@media(min-width:951px){#menu-button{display:none}}@media(max-width:1100px){nav{gap:15px}.heading,.space-grid,.location-grid,.appointment-grid{gap:50px}.footer-grid{gap:25px}.gallery{gap:18px}.photo-button img{height:340px}}@media(max-width:950px){.nav{flex-wrap:wrap;padding:18px 0;min-height:80px}#menu-button:not([hidden]){display:block}nav{width:100%;flex-wrap:wrap;padding-top:20px;gap:15px 25px}.js nav{display:none}.js nav.open{display:flex}.hero{min-height:700px}.hero-photo{left:20%}.footer-grid{grid-template-columns:repeat(2,1fr)}.space-photo img{height:560px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.demo-note span{display:block;margin:3px 0 0}.brand{font-size:.8rem}.brand small{font-size:.35rem}.hero{min-height:690px}.hero-photo{left:0}.hero-photo img{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#191918e8,#19191870)}.hero-content{padding-top:45px;padding-bottom:140px}.hero h1{font-size:clamp(4rem,16vw,6rem)}.hero-bottom{display:block;font-size:.6rem}.hero-bottom>a{display:block;margin-top:7px}.hero-bottom small{display:block;margin-top:7px}.statement-strip .wrap{flex-wrap:wrap;font-size:1.4rem;padding:25px 0;gap:12px}.section{padding:65px 0}.heading,.space-grid,.location-grid,.appointment-grid{grid-template-columns:1fr;gap:30px}.heading{margin-bottom:35px}.services,.gallery{grid-template-columns:1fr}.service,.service+.service{padding:30px 0;border-left:0;border-bottom:1px solid var(--line)}.space-photo img{height:420px}.photo-button img{height:420px}.gallery{gap:30px}.location-art{height:330px}form{padding:25px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{display:block}.footer-bottom>a{display:block;margin-top:15px}.whatsapp{bottom:max(15px,env(safe-area-inset-bottom));right:max(15px,env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.photo-button:hover img{transform:none}}

/* Patio Sur: warm paper, sage and terracotta; a distinct garden identity. */
.demo-note{background:#294c3d;color:#f6f2e9}.demo-note span{color:#dce8d4}
header{background:#f6f2e9f2}.brand{font-size:1.5rem;font-weight:500;letter-spacing:-.05em}.brand small{font-size:.42rem;letter-spacing:.12em}.brand-mark{border:0;font-size:2.4rem;color:#956046}
.button{background:#294c3d;border-color:#294c3d;color:#f6f2e9;border-radius:30px}.button:hover{background:#3d6250}.button.compact{font-size:.7rem}
.hero{min-height:0;padding:65px 0 75px;overflow:visible}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hero-content{padding:0}.hero h1{font-family:Georgia,serif;font-size:clamp(4rem,7.8vw,7.5rem);font-weight:400;line-height:1}.hero h1 em{font-size:1em;color:#956046}.hero-content>p:not(.eyebrow){font-size:1rem;max-width:420px}.hero-photo{position:relative;inset:auto;height:600px;background:#d5dccb;border-radius:250px 250px 8px 8px}.hero-photo img{height:100%;object-position:center;border-radius:inherit}.hero-photo .photo-caption{border-radius:0 0 8px 8px}.hero-stamp{position:absolute;bottom:70px;left:-45px;background:#e7ecdf;color:#294c3d;width:140px;height:140px;border-radius:50%;display:grid;place-content:center;text-align:center;font-family:Georgia,serif;font-size:1.2rem;line-height:1.3;transform:rotate(-10deg);box-shadow:0 12px 30px #294c3d1a}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:28px}.hero .button{margin-top:0}.text-link{font-size:.8rem;text-decoration:underline;text-underline-offset:6px}.statement-strip .wrap{font-size:1.6rem;padding:25px 0}.heading h2,.space-grid h2,.location h2,.appointment h2{font-family:Georgia,serif}.service{padding-bottom:45px}.service h3{font-family:Georgia,serif;font-size:2rem}.service p{margin-bottom:30px}.service a{color:#294c3d}.inspiration{background:#e7ecdf}.photo-button,.photo-button>span{background:#294c3d;color:#f6f2e9}.photo-button{border-radius:120px 120px 4px 4px}.photo-button img{height:420px}.gallery h3{font-family:Georgia,serif}.space-photo img{border-radius:5px;height:590px}.photo-caption{background:#294c3dcf;color:#f6f2e9}.values article>span{color:#956046}.location{background:#eee2d0;color:#294c3d}.location p{color:#5a6e60}.location-card{min-height:430px;border:1px solid #95604650;border-radius:200px 200px 5px 5px;background:#e5d7bf;text-align:center;padding:70px 30px 40px}.location-card>span{font-size:5rem;color:#956046;line-height:1}.location-card p{margin:25px 0 15px;font-size:.8rem;letter-spacing:.1em}.location-card h3{font-family:Georgia,serif;font-size:2.7rem}.location-card small{font-size:.55rem;letter-spacing:.12em;color:#5a6e60}
.appointment{background:#294c3d;color:#f6f2e9}.appointment em,.appointment .eyebrow{color:#e9c99f}.appointment p{color:#dce8d4}.contact-line{border-color:#f6f2e926}.contact-line strong{color:#e9c99f}form{background:#ffffff08;border-color:#ffffff26}select,textarea{background:#f6f2e9;color:#294c3d;border-color:#bccab7}form .button{background:#e9c99f;color:#294c3d;border-color:#e9c99f}form .button:hover{background:#f6f2e9}
footer{background:#e7ecdf}.footer-grid .brand{font-size:1.5rem}.footer-grid h3{color:#294c3d}.whatsapp{background:#294c3d;color:#f6f2e9;border-color:#dce8d4}.whatsapp:hover{background:#3d6250}.skip{background:#294c3d;color:#f6f2e9}.legal-main h1{font-family:Georgia,serif;font-weight:400}.legal-main a:not(.button){color:#765039}.close-dialog{background:#e7ecdf;color:#294c3d}.faq{background:#e7ecdf}.faq .heading{margin-bottom:0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:.9rem}.faq details p{font-size:.85rem;margin:18px 0 0}
@media(max-width:950px){.hero-grid{gap:40px}.hero-photo{left:auto;height:500px}.hero h1{font-size:5rem}}
@media(max-width:700px){.hero{min-height:0;padding:40px 0 55px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-content{padding:0}.hero h1{font-size:clamp(4.5rem,17vw,6rem)}.hero-photo{left:auto;height:470px;width:calc(100% - 20px);margin-left:20px}.hero-photo img{object-position:center}.hero-stamp{left:-20px;width:115px;height:115px;font-size:1rem}.statement-strip .wrap{font-size:1.1rem;gap:10px}.photo-button img{height:400px}.space-photo img{height:430px}.location-card{min-height:350px;padding-top:45px}}

/* Patio identity: an Andalusian arch sheltering a botanical sprig. */
.brand-mark{display:flex;width:38px;height:44px;align-items:center;justify-content:center;border:0;color:#294c3d}
.brand-mark svg{display:block;width:100%;height:100%}
.location-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#dce4d4;
  border-color:#294c3d40;
  box-shadow:0 18px 45px #294c3d12;
}
.location-card::before{
  content:'';
  position:absolute;
  z-index:-2;
  inset:0;
  background:url('assets/pexels-6431032.jpg') center 58% / cover no-repeat;
}
.location-card::after{
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,#f6f2e9e8 0%,#e7ecdfed 55%,#e7ecdfdd 100%);
}
.location-card>.location-emblem{
  display:flex;
  width:82px;
  height:90px;
  margin:0 auto;
  align-items:center;
  justify-content:center;
  color:#294c3d;
  font-size:initial;
}
.location-emblem svg{width:100%;height:100%;display:block}
.location-card p,.location-card small{color:#3f594b}
.location-card h3{color:#294c3d}
