
:root{--ink:#252522;--muted:#77736c;--rust:#ad5734;--rust-dark:#8f4528;--cream:#f6f2e9;--line:#e8e1d6;--white:#fff;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--rust)}.navbar{background:rgba(250,248,243,.97);border-bottom:1px solid rgba(37,37,34,.08);padding:12px 0}.navbar-brand img{width:160px;height:64px;object-fit:contain}.navbar-nav .nav-link{font-size:.83rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.75rem 1rem!important;color:#34322f}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--rust)}.btn-brand{background:var(--rust);color:#fff;border:1px solid var(--rust);border-radius:2px;padding:13px 24px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.btn-brand:hover{background:var(--rust-dark);color:#fff;border-color:var(--rust-dark)}.btn-outline-brand{border:1px solid rgba(255,255,255,.7);color:white;border-radius:2px;padding:13px 24px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.btn-outline-brand:hover{background:#fff;color:var(--ink)}.eyebrow{color:var(--rust);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.display-title{font-family:var(--serif);font-size:clamp(2.7rem,6vw,5.8rem);line-height:1.03;letter-spacing:-.045em;font-weight:400}.section-title{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.1;letter-spacing:-.035em;font-weight:400}.hero{min-height:690px;display:flex;align-items:center;position:relative;background:#292a26;overflow:hidden;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,17,.84),rgba(18,19,17,.48) 54%,rgba(18,19,17,.05)),url('../images/exterior-architecture.jpg') center 43%/cover;transform:scale(1.015)}.hero-content{position:relative;z-index:1;padding:100px 0}.hero .eyebrow{color:#e0a17f}.hero-copy{max-width:670px;color:rgba(255,255,255,.78);font-size:1.08rem}.hero-rule{width:68px;height:2px;background:var(--rust);margin:25px 0}.intro{padding:105px 0}.intro-image{height:520px;object-fit:cover;width:100%}.intro-note{background:var(--cream);padding:35px;max-width:360px;margin:-95px 0 0 auto;position:relative}.service-section{background:var(--cream);padding:100px 0}.service-card{background:#fff;padding:30px;height:100%;border:1px solid #eee8df;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #31291c12}.service-icon{width:48px;height:48px;border:1px solid #d9b6a4;color:var(--rust);display:grid;place-items:center;font-size:1.35rem;margin-bottom:24px}.service-card h3{font-family:var(--serif);font-size:1.4rem}.service-card p{color:var(--muted);font-size:.93rem;margin-bottom:0}.project-img{width:100%;height:330px;object-fit:cover;display:block;transition:transform .5s}.project-card{position:relative;overflow:hidden;background:#eee}.project-card:hover img{transform:scale(1.04)}.project-meta{padding:18px 2px 28px}.project-meta h3{font-family:var(--serif);font-size:1.35rem;margin-bottom:4px}.project-meta p{font-size:.78rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0}.projects-section{padding:100px 0}.dark-band{background:#252622;color:#fff;padding:90px 0}.dark-band p{color:#c8c5bd}.dark-band .eyebrow{color:#d99a78}.process{padding:95px 0}.process-number{font-family:var(--serif);font-size:2.7rem;color:#c17b59}.process-item{border-top:1px solid var(--line);padding:24px 0}.process-item h3{font-family:var(--serif);font-size:1.4rem}.cta-strip{background:var(--rust);color:#fff;padding:55px 0}.cta-strip .eyebrow{color:#f4d5c5}.footer{background:#1e201e;color:#fff;padding:75px 0 25px}.footer p,.footer a{color:#c3c1bb}.footer h5{font-family:var(--serif);font-size:1.35rem;margin-bottom:22px}.footer-logo{width:180px;background:#f6f2e9;padding:7px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:50px;padding-top:20px;color:#aaa;font-size:.8rem}.page-hero{background:var(--cream);padding:125px 0 75px}.page-hero .display-title{font-size:clamp(2.8rem,5vw,5rem)}.content-section{padding:85px 0}.contact-card{border:1px solid var(--line);padding:28px;height:100%}.form-control,.form-select{border-radius:0;border:1px solid #dcd5ca;padding:13px}.form-control:focus,.form-select:focus{border-color:var(--rust);box-shadow:0 0 0 .15rem #ad573422}.gallery-grid{columns:3;column-gap:20px}.gallery-grid a{display:block;margin:0 0 20px;break-inside:avoid;overflow:hidden}.gallery-grid img{width:100%;display:block;transition:.4s}.gallery-grid a:hover img{transform:scale(1.03)}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#218b54;color:#fff;font-size:1.55rem;z-index:1050;box-shadow:0 8px 25px #0003}.whatsapp-float:hover{color:#fff;background:#176e41}.alert{border-radius:0}.breadcrumb{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.mobile-cta{display:none}
@media(max-width:991px){.navbar-brand img{width:135px;height:55px}.hero{min-height:630px}.hero-content{padding:90px 0}.intro,.service-section,.projects-section,.process{padding:75px 0}.intro-image{height:420px}.gallery-grid{columns:2}}
@media(max-width:575px){.hero{min-height:640px}.hero-content{padding:80px 0}.display-title{font-size:3.15rem}.intro-image{height:340px}.intro-note{margin:-45px 12px 0;padding:24px}.section-title{font-size:2.45rem}.gallery-grid{columns:1}.project-img{height:270px}.footer{padding-top:55px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;border-top:1px solid var(--line);padding:8px;gap:8px}.mobile-cta a{flex:1;text-align:center;padding:10px 5px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.whatsapp-float{bottom:78px;right:15px}}

/* Contact page refinement */
.contact-layout{align-items:stretch}.contact-form-panel{padding:clamp(22px,3vw,42px);border:1px solid var(--line);background:#fff}.contact-info-stack{display:flex;flex-direction:column;gap:18px;height:100%}.contact-info-stack .contact-card{min-height:0;padding:clamp(22px,2.5vw,34px)}.contact-info-stack .contact-card p{overflow-wrap:anywhere}.contact-info-stack .contact-card .btn{white-space:normal}.contact-form-panel .form-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#4d4943}.contact-form-panel textarea{min-height:150px}.contact-form-panel .btn{margin-top:4px}.cta-strip{position:relative;z-index:1}.contact-page .cta-strip{margin-top:35px}.contact-page .content-section{padding-bottom:65px}
.gallery-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.gallery-filter{border:1px solid #d8d0c5;background:#fff;color:#514c45;padding:9px 16px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;transition:.2s}.gallery-filter:hover,.gallery-filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-card[hidden]{display:none!important}.gallery-card{break-inside:avoid;margin-bottom:24px}.gallery-card img{width:100%;display:block}.gallery-card .project-meta{padding:13px 3px 8px}.gallery-empty{display:none;padding:45px 20px;text-align:center;background:var(--cream);color:var(--muted)}
/* Admin area */
.admin-body{background:#f5f3ef;min-height:100vh}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:250px;flex:0 0 250px;background:#242622;color:#fff;padding:28px 20px}.admin-sidebar .brand{font-family:var(--serif);font-size:1.4rem;line-height:1.1;margin-bottom:35px}.admin-sidebar .brand small{display:block;font:700 .65rem Arial;letter-spacing:.15em;color:#d28a67;margin-top:8px}.admin-nav a{display:block;padding:12px 14px;color:#d5d2ca;font-size:.9rem;margin:3px 0}.admin-nav a:hover,.admin-nav a.active{background:#ffffff12;color:#fff;border-left:3px solid var(--rust)}.admin-main{min-width:0;flex:1;padding:34px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.admin-panel{background:#fff;border:1px solid #e9e4dc;padding:24px;margin-bottom:22px}.admin-stat{background:#fff;border:1px solid #e9e4dc;padding:22px;height:100%}.admin-stat strong{font-family:var(--serif);font-size:2.4rem;display:block}.admin-table{font-size:.88rem}.admin-table th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#777}.admin-thumb{width:70px;height:52px;object-fit:cover}.admin-form label{font-size:.8rem;font-weight:700;margin-bottom:6px}.admin-form .form-control,.admin-form .form-select{font-size:.9rem}.admin-login{max-width:460px;margin:8vh auto;background:#fff;padding:38px;border:1px solid var(--line)}.admin-login img{width:150px;margin-bottom:20px}.badge-status{display:inline-block;padding:5px 9px;font-size:.7rem;background:#eee;color:#444}.admin-alert{padding:12px 15px;background:#f8e8df;color:#783d24;margin-bottom:18px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:767px){.admin-shell{display:block}.admin-sidebar{width:100%;padding:14px 16px}.admin-sidebar .brand{margin-bottom:12px}.admin-nav{display:flex;overflow:auto;gap:4px}.admin-nav a{white-space:nowrap;padding:9px 11px}.admin-main{padding:20px 14px}.admin-topbar{align-items:flex-start;flex-direction:column}.contact-page .content-section{padding-top:48px}.contact-form-panel{padding:22px 18px}.contact-info-stack .contact-card{padding:22px}.gallery-toolbar{gap:7px}.gallery-filter{padding:8px 11px;font-size:.68rem}}

/* Project gallery image layout and fallback */
#projectGallery{align-items:start}
.gallery-card{min-width:0}
.gallery-card .project-card{display:block;aspect-ratio:4/3;min-height:220px;background:#eee8df}
.gallery-card .project-img{width:100%;height:100%;min-height:220px;aspect-ratio:4/3;object-fit:cover}
.gallery-card .project-meta h3{margin-top:8px}
