:root{--ink:#233139;--night:#1d2b32;--dark:#17242b;--mint:#a9cbb7;--mist:#e6eee9;--paper:#f5f7f5;--line:#c9d3ce;--muted:#56676c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 Avenir,"Avenir Next",Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #52816a;outline-offset:4px}.shell{width:min(1200px,calc(100% - 48px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:block;width:174px;text-align:center;text-decoration:none;flex:none}.brand img{display:block;width:174px;height:94px;object-fit:cover;object-position:center}.brand span{display:block;color:#52646a;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700;margin-top:-5px}.nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.nav a{text-decoration:none;font-size:.87rem;font-weight:700}.nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav .nav-contact{border:1px solid var(--ink);padding:10px 16px}.hero{background:var(--night);color:#f5f7f5;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.25fr .75fr;min-height:620px}.hero-copy{padding:85px 8% 90px 0;align-self:center}.eyebrow,.section-label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.eyebrow{color:var(--mint)}h1,h2,h3,p{margin-top:0}.hero h1{font:400 clamp(3.2rem,6.5vw,6.2rem)/1.04 Georgia,serif;letter-spacing:-.055em;max-width:850px;margin:28px 0}.hero p{color:#d7e2dd;max-width:650px;font-size:1.13rem}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;gap:30px;padding:14px 21px;text-decoration:none;font-weight:700;font-size:.92rem}.button-light{background:#dcebe0;color:var(--dark)}.button:hover{background:#fff}.text-link{text-decoration-thickness:1px;text-underline-offset:5px;color:#e7eee9;font-size:.91rem}.hero-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:31px 32px 38px;border-left:1px solid #4b6066;background:repeating-linear-gradient(0deg,transparent 0 76px,#40535a 77px 78px),repeating-linear-gradient(90deg,transparent 0 76px,#40535a 77px 78px);overflow:hidden}.panel-label,.panel-bottom{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#b8cfc2;position:relative;z-index:1}.hero-panel strong{font:400 clamp(2.7rem,4vw,4.6rem)/1.14 Georgia,serif;letter-spacing:-.045em;color:#c2dbca;position:relative;z-index:1}.panel-lines{position:absolute;inset:15% -20% 15% 15%;transform:rotate(-22deg);border:1px solid #89a998}.panel-lines span{display:block;height:25%;border-bottom:1px solid #89a998}.scope-strip{background:#dce9df}.scope-strip .shell{display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#425b4c}.section{padding:100px 0}.split,.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px}.section-label{color:#52705f;padding-top:12px}.section h2,.contact h2{font:400 clamp(2.5rem,4.5vw,4.3rem)/1.12 Georgia,serif;letter-spacing:-.04em;margin-bottom:26px}.intro{background:#fff}.intro p{color:#506066;max-width:790px}.intro .large{font-size:1.3rem;color:#2d4047;line-height:1.5}.section-heading{margin-bottom:42px}.section-heading p{max-width:700px;color:var(--muted);font-size:1.08rem}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{background:#fff;padding:35px 30px 45px;min-height:315px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-number{font-size:.8rem;color:#61806b;font-weight:700}.service-grid h3,.field-grid h3{font:400 1.65rem/1.2 Georgia,serif;margin:54px 0 18px}.service-grid p,.field-grid p{color:#536269;margin:0}.fields{background:#e6eee9}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b9c9bd;border-left:1px solid #b9c9bd}.field-grid article{padding:28px 27px 38px;border-right:1px solid #b9c9bd;border-bottom:1px solid #b9c9bd;min-height:285px}.field-grid span{font-size:.75rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:#4e735d}.field-grid h3{margin:30px 0 15px;font-size:1.48rem}.field-grid p{color:#43584d}.projects{background:#fff}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:70px 1fr 45px;gap:28px;align-items:center;padding:25px 18px;text-decoration:none;border-bottom:1px solid var(--line)}.project:hover{background:#eff4f0}.project-index{font-size:.8rem;color:#6b8874;font-weight:700}.project-main{display:flex;flex-direction:column;gap:7px}.project-main small{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:#557466;font-weight:700}.project-main strong{font:400 clamp(1.35rem,2.4vw,2.1rem)/1.2 Georgia,serif}.project-arrow{font-size:1.4rem}.archive-link{display:inline-block;margin-top:30px;text-underline-offset:5px;font-weight:700;font-size:.9rem}.contact{background:var(--night);color:#f5f7f5;padding:95px 0}.contact-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}.contact h2{margin:22px 0}.contact p{max-width:650px;color:#ccd9d2}.contact-ways{display:grid;gap:20px}.contact-ways a{font:400 clamp(1.25rem,2vw,1.9rem) Georgia,serif;text-decoration:none;border-bottom:1px solid #71857a;padding-bottom:12px;display:flex;justify-content:space-between;gap:10px}.contact-ways a:hover{color:var(--mint)}.affiliations{background:#eff4f6;padding:47px 0 55px}.affiliations h2,.clients h2{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 27px}.affiliations h2{color:#455e6b}.affiliations-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.affiliation{background:#fff;border:1px solid #d8e3e7;display:flex;align-items:center;gap:25px;padding:22px;min-height:170px}.affiliation img{display:block;width:45%;max-height:110px;object-fit:contain;flex:none}.affiliation p{margin:0;color:#354b55;font-size:.98rem}.clients{background:#28363d;color:#edf3ee;padding:48px 0 55px}.clients h2{color:#c4d0c9}.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.logos img{display:block;width:100%;height:78px;padding:12px;background:#edf1ef;object-fit:contain;filter:grayscale(1)}.footer-end{background:#17242b;color:#c3d0ca;padding:28px 0}.footer-end .shell{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer-end strong{display:block;color:#fff;font-size:1.2rem}.footer-end span{font-size:.78rem}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem}.footer-links a{text-underline-offset:4px}.footer-end small{font-size:.75rem}@media(max-width:940px){.nav{gap:14px}.hero-inner{grid-template-columns:1fr .6fr}.hero-copy{padding-right:25px}.hero-panel strong{font-size:2.8rem}.field-grid{grid-template-columns:repeat(2,1fr)}.logos{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.shell{width:calc(100% - 36px)}.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0;gap:12px}.brand,.brand img{width:145px}.brand img{height:78px}.nav{gap:12px 18px}.nav .nav-contact{padding:6px 10px}.hero-inner{display:block;min-height:0}.hero-copy{padding:65px 0}.hero-panel{min-height:250px;border-left:0;border-top:1px solid #4b6066}.hero-panel strong{font-size:2.6rem}.scope-strip .shell{flex-wrap:wrap;gap:10px;padding:15px 0}.section{padding:70px 0}.split,.section-heading,.contact-inner{grid-template-columns:1fr;gap:14px}.section-heading{margin-bottom:30px}.section-label{padding:0}.service-grid,.field-grid{grid-template-columns:1fr}.service-grid article,.field-grid article{min-height:0}.service-grid h3{margin-top:30px}.project{grid-template-columns:28px 1fr 22px;gap:12px;padding:22px 0}.project-main strong{font-size:1.4rem}.contact{padding:70px 0}.affiliations-grid{grid-template-columns:1fr}.affiliation{min-height:0}.logos{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.affiliation{display:block}.affiliation img{width:70%;margin-bottom:17px}.footer-end .shell{display:block}.footer-links{margin:20px 0}}
.admin{max-width:900px;margin:0 auto;padding:50px 24px}.admin h1{font-family:Georgia,serif;font-size:3rem}.admin form{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.admin label{display:grid;gap:5px;flex:1 1 200px}.admin input{padding:12px;border:1px solid #8f9d98;font:inherit;width:100%}.admin button{background:#202b31;color:white;border:0;padding:13px 19px;font:inherit;cursor:pointer}.admin ul{padding:0;list-style:none}.admin li{display:flex;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #d7dcda}.admin li img{width:110px;height:55px;object-fit:contain;filter:grayscale(1)}.admin li span{flex:1}

.brand{position:relative;display:block;width:190px;height:145px;overflow:hidden;flex:none}.brand img{position:absolute;display:block;width:300px;height:200px;max-width:none;object-fit:fill;left:-55px;top:-41px}.brand span{position:absolute;left:0;right:0;bottom:1px;margin:0;font-size:.58rem;white-space:nowrap}.header-inner{min-height:154px}@media(max-width:700px){.brand{width:150px;height:118px}.brand img{width:240px;height:160px;left:-45px;top:-33px}.brand span{font-size:.49rem}.header-inner{min-height:0}}
.project-summary{display:block;color:#59686c;font-size:.91rem;line-height:1.45;margin-top:3px}.detail-content{padding:80px 0 110px;max-width:1000px}.detail-content h1{font:400 clamp(2.8rem,5vw,5rem)/1.08 Georgia,serif;letter-spacing:-.045em;max-width:900px;margin:20px 0 26px}.detail-content .large{font-size:1.3rem;color:#40535b;max-width:800px}.detail-body{max-width:780px;font-size:1.08rem;margin:40px 0}.detail-body p{margin-bottom:22px}.detail-image{display:block;width:100%;max-height:600px;object-fit:cover;margin-top:40px}.back-link{text-underline-offset:5px}.detail-page main{min-height:60vh}
.theme-red{--mint:#d9b99d;--mist:#eee3d6;--line:#d7c7b9}.theme-red .hero,.theme-red .contact{background:#503629}.theme-red .hero-panel{border-color:#8b684e;background:repeating-linear-gradient(0deg,transparent 0 76px,#6d4c38 77px 78px),repeating-linear-gradient(90deg,transparent 0 76px,#6d4c38 77px 78px)}.theme-red .panel-lines,.theme-red .panel-lines span{border-color:#ad8967}.theme-red .hero-panel strong,.theme-red .panel-label,.theme-red .panel-bottom{color:#f0ddc8}.theme-red .hero .eyebrow,.theme-red .contact .eyebrow{color:#e3c4a7}.theme-red .scope-strip,.theme-red .fields{background:#efe4d8}.theme-red .scope-strip .shell,.theme-red .field-grid p{color:#5b4031}.theme-red .section-label,.theme-red .field-grid span,.theme-red .service-number,.theme-red .project-index,.theme-red .project-main small{color:#8d4f32}.theme-red .button-light{background:#e9cdb3;color:#38251e}.theme-red .project:hover{background:#f8f1e9}.theme-red .clients{background:#644632}.theme-red .footer-end{background:#322820}.theme-red .field-grid,.theme-red .field-grid article{border-color:#d6c3b0}.theme-red .contact-ways a{border-color:#b69479}.theme-red .logos img{background:#f4eee7}
.admin{max-width:1050px;margin:0 auto;padding:45px 24px 100px}.admin h1{font:400 3rem Georgia,serif}.admin h2{font:400 2.3rem Georgia,serif;margin:0 0 12px}.admin>section{padding:55px 0;border-top:1px solid #cbd4d0}.admin-nav{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 35px}.admin-nav a{border:1px solid #91a29a;padding:8px 15px;text-decoration:none}.admin p{color:#56676c}.admin form{display:block}.admin label{display:grid;gap:7px;font-size:.88rem;font-weight:700}.admin input:not([type=checkbox]):not([type=radio]),.admin textarea{font:inherit;padding:11px;border:1px solid #96a59e;background:white;width:100%;border-radius:2px}.admin textarea{resize:vertical}.admin button{background:#233139;color:white;border:0;padding:12px 18px;font:700 .9rem Avenir,"Avenir Next",Arial,sans-serif;cursor:pointer}.admin button:hover{background:#445a51}.admin details{border:1px solid #cbd4d0;background:#fff;margin:12px 0}.admin summary{cursor:pointer;padding:18px;font-weight:700;display:flex;justify-content:space-between;gap:18px}.admin summary small{color:#65756c;font-weight:400}.admin-create summary{background:#e6eee9}.admin-project-form{padding:18px;display:grid!important;gap:18px}.admin-row{display:flex;gap:18px;align-items:end}.admin-row label{flex:1}.admin-options label:first-child{max-width:110px}.admin .check{display:flex;align-items:center;gap:8px;flex:1}.admin .check input{width:18px;height:18px}.admin-project-image{max-width:300px;max-height:180px;object-fit:contain}.admin-delete{padding:0 18px 18px!important}.admin-delete button{background:#8c4949}.theme-form{display:flex!important;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.theme-choice{display:flex!important;align-items:center;gap:10px;padding:13px;border:1px solid #bec8c3;cursor:pointer}.theme-choice input{width:18px;height:18px}.swatch{width:32px;height:32px;border-radius:50%;display:block;border:1px solid #aaa}.swatch-red{background:#9a5b3a}.swatch-green{background:#92b6a0}.admin-logo-form{display:flex!important;flex-wrap:wrap;gap:15px;align-items:end}.admin-logo-form label{flex:1 1 170px}.admin-logos{padding:0;list-style:none}.admin-logos li{display:flex;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid #d7dcda}.admin-logos li img{width:110px;height:55px;object-fit:contain;filter:grayscale(1)}.admin-logos li span{flex:1}@media(max-width:700px){.admin-row{display:grid}.admin-logos li{flex-wrap:wrap}.admin-logos li form{width:100%}}

.hero,.theme-red .hero{background-color:#352922;background-image:linear-gradient(90deg,rgba(25,22,20,.88) 0%,rgba(30,26,22,.74) 40%,rgba(35,26,20,.36) 68%,rgba(35,26,20,.09) 100%),url('render-piscina-buenavista.png');background-size:cover;background-position:center center}.hero-inner{display:flex;align-items:center;min-height:620px}.hero-copy{width:min(100%,760px);padding:80px 0 90px}.hero h1{text-shadow:0 2px 16px rgba(0,0,0,.35)}.hero p{text-shadow:0 1px 6px rgba(0,0,0,.5)}@media(max-width:700px){.hero,.theme-red .hero{background-image:linear-gradient(90deg,rgba(25,22,20,.87),rgba(25,22,20,.52)),url('render-piscina-buenavista.png');background-position:58% center}.hero-inner{min-height:580px}.hero-copy{padding:65px 0}}

/* Light architectural drawing grid across the footer. */
footer,.theme-red footer{background-color:#eee9df;background-image:linear-gradient(rgba(103,85,68,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(103,85,68,.065) 1px,transparent 1px);background-size:32px 32px}
footer .affiliations,.theme-red footer .affiliations{background:rgba(255,255,255,.44);border-bottom:1px solid #d9d0c3}
footer .clients,.theme-red footer .clients{background:transparent;color:#29343a}
footer .clients h2,.theme-red footer .clients h2{color:#4e5b57}
footer .logos img,.theme-red footer .logos img{background:#fff;border:1px solid #ded6ca;filter:grayscale(1)}
footer .footer-end,.theme-red footer .footer-end,footer.footer-end,.theme-red footer.footer-end{background:rgba(255,255,255,.53);color:#46524d;border-top:1px solid #d9d0c3}
footer .footer-end strong,.theme-red footer .footer-end strong,footer.footer-end strong,.theme-red footer.footer-end strong{color:#25312d}

/* WordPress pages and theme navigation */
.page-content{min-height:60vh;background:#f7f5ef}.entry-content{max-width:850px;line-height:1.75}.entry-content h2,.entry-content h3{margin-top:1.6em}.entry-content p{margin-bottom:1.1em}.entry-content img{max-width:100%;height:auto}.projects h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:0 0 20px}.detail-content{padding-top:85px;padding-bottom:100px}.detail-content h1{font-size:clamp(2.3rem,5vw,4.5rem)}.detail-image{max-width:100%;height:auto}.project-list .project-summary{display:block}.page-content a,.detail-content a{color:#81533d}
