
:root{--ink:#20231f;--paper:#f2eee5;--sand:#d9cdbb;--cream:#f8f5ee;--moss:#5b6254;--line:rgba(32,35,31,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.section-pad{padding:110px max(5vw,28px)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:700;margin:0 0 34px}.light{color:#f7f2e8}.nav{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(242,238,229,.94);position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(255,255,255,.3)}.brand{display:flex;flex-direction:column;line-height:.8}.brand span{font-family:Georgia,serif;font-size:30px;letter-spacing:.08em}.brand small{font-size:8px;letter-spacing:.52em;margin-top:9px}.nav nav{display:flex;gap:36px;font-size:12px}.nav nav a:hover{opacity:.55}.nav-cta{font-size:12px;border-bottom:1px solid;padding:11px 0}.nav-cta span,.text-link span{margin-left:18px}.hero{height:min(900px,100vh);min-height:720px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('images/hero.png') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,29,24,.69),rgba(26,29,24,.08) 73%),linear-gradient(0deg,rgba(15,16,14,.3),transparent 50%)}.hero-copy{position:absolute;left:7vw;top:48%;transform:translateY(-42%);max-width:820px}.hero h1,.section-head h2,.intro h2,.why h2,.process h2,.estimate h2,.faq h2,.seo-band h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.94;letter-spacing:-.045em}.hero h1{font-size:clamp(64px,7.2vw,112px);margin:0}.hero h1 em,h2 em{font-weight:400}.hero-lead{font-size:17px;line-height:1.65;max-width:530px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:42px}.button{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;border:0;cursor:pointer}.button.cream{background:var(--cream);color:var(--ink)}.button.dark{background:var(--ink);color:white}.text-link{font-size:12px;border-bottom:1px solid;padding:12px 0}.hero-index{position:absolute;bottom:28px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro h2{font-size:clamp(58px,6vw,96px);margin:0}.intro-grid>div{max-width:620px}.large-copy{font-family:Georgia,serif;font-size:27px;line-height:1.4;margin:8px 0 24px}.intro-grid>div>p:not(.large-copy){font-size:14px;line-height:1.8;color:#5c5b55}.intro .text-link{display:inline-block;margin-top:22px}.metrics{border-top:1px solid var(--line);margin-top:90px;padding-top:34px;display:grid;grid-template-columns:repeat(4,1fr)}.metrics div{display:flex;gap:18px;align-items:flex-start}.metrics strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.metrics span{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.1em}.services{background:#d8cdbc}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}.section-head h2{font-size:clamp(58px,5.5vw,88px);margin:0}.section-head>p{max-width:410px;font-size:14px;line-height:1.8}.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{min-height:275px;padding:26px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article>span{font-size:10px}.service-grid h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:52px 0 16px}.service-grid p{font-size:13px;line-height:1.7;max-width:260px;color:#55564f}.service-grid article>a{position:absolute;right:24px;bottom:24px;font-size:20px}.portfolio{background:#252923;color:#f5f0e7}.portfolio .section-head>p{color:#c5c1b8}.portfolio-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:360px 360px;gap:16px}.project{position:relative;background-size:cover;background-position:center;overflow:hidden}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.58))}.project-living{grid-row:span 2;background-image:url('images/hero.png')}.project-bath{background-image:url('images/bathroom.png')}.project-commercial{background-image:url('images/commercial.png')}.project div{position:absolute;z-index:1;bottom:24px;left:26px;display:flex;flex-direction:column;gap:5px}.project span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.project b{font-family:Georgia,serif;font-size:22px;font-weight:400}.why{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;background:var(--cream)}.why h2{font-size:clamp(58px,5vw,82px);margin:0}.why-list article{border-top:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;padding:28px 0}.why-list article>span{font-size:10px}.why-list h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 12px}.why-list p{font-size:13px;line-height:1.7;max-width:470px;color:#65645e;margin:0}.process{background:#707665;color:#f8f4ec}.process h2{font-size:clamp(58px,6vw,90px);margin:0 0 70px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.3)}.steps article{padding:30px 30px 0 0}.steps b{font-size:10px}.steps h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:50px 0 16px}.steps p{font-size:12px;line-height:1.8;color:#e0e0d8}.estimate{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;background:#ddd2c2}.estimate h2{font-size:clamp(58px,5.5vw,88px);margin:0 0 28px}.estimate-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:470px}.wa-link{display:flex;align-items:center;gap:14px;margin-top:44px}.wa-link>span,.floating-wa{background:#68735d;color:white;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:10px;font-weight:700}.wa-link div{display:flex;flex-direction:column;gap:5px}.wa-link small{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.wa-link b{font-family:Georgia,serif;font-weight:400;font-size:17px}.estimate form{background:var(--cream);padding:42px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.estimate label{display:flex;flex-direction:column;gap:9px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:22px}.estimate input,.estimate select,.estimate textarea{background:transparent;border:0;border-bottom:1px solid #aaa69c;padding:10px 0;font:14px Arial;outline:0;border-radius:0}.estimate textarea{border:1px solid #aaa69c;padding:14px;resize:vertical}.estimate input:focus,.estimate select:focus,.estimate textarea:focus{border-color:var(--ink)}.estimate .button{width:100%;justify-content:space-between;margin-top:5px}.privacy{display:block;text-align:center;font-size:9px;color:#77736b;margin-top:14px}.success{text-align:center;padding:65px 10px}.success span{font-size:28px}.success h3{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:20px 0 10px}.success p{font-size:13px}.success button{background:none;border:0;border-bottom:1px solid;margin-top:30px;padding:8px;cursor:pointer}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;background:var(--cream)}.faq h2{font-size:clamp(58px,5vw,82px);margin:0}.faq-list article{border-top:1px solid var(--line)}.faq-list button{width:100%;border:0;background:none;display:flex;justify-content:space-between;text-align:left;padding:25px 0;font-family:Georgia,serif;font-size:20px;cursor:pointer}.faq-list button b{font-family:Arial;font-weight:400}.faq-list p{font-size:13px;line-height:1.8;color:#64625c;max-height:0;overflow:hidden;margin:0;transition:.35s}.faq-list article.open p{max-height:160px;padding-bottom:26px}.seo-band{text-align:center;background:#3c4038;color:white;padding:100px 24px}.seo-band>p{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.seo-band h2{font-size:clamp(45px,5vw,76px);margin:40px 0}.seo-band .button{color:var(--ink)}footer{background:#1e211d;color:#dddcd4;padding:75px 5vw 28px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}footer .footer-brand p{font-size:12px;line-height:1.7;max-width:260px;margin-top:25px;color:#aeadA7}footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:12px;font-size:11px}footer>div>b{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:white;margin-bottom:8px}footer>div p{margin:0;line-height:1.8}footer>small{border-top:1px solid rgba(255,255,255,.15);padding-top:24px;margin-top:30px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.floating-wa{position:fixed;right:24px;bottom:24px;z-index:30;box-shadow:0 5px 20px rgba(0,0,0,.25)}
.systems{background:#ede6da}.systems .section-head{align-items:flex-start}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.system-grid article{position:relative;min-height:650px;background:#f9f6ef;padding:48px 52px;display:flex;flex-direction:column}.system-grid .dark-system{background:#333830;color:#f5f0e7}.system-no{position:absolute;right:46px;top:46px;font-size:11px;letter-spacing:.16em}.system-tag{font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin:0 0 54px}.system-grid h3{font-family:Georgia,serif;font-size:62px;line-height:.96;font-weight:400;letter-spacing:-.04em;margin:0 0 28px}.system-grid h3+p{font-size:14px;line-height:1.8;max-width:500px;color:#5f5f58}.dark-system h3+p{color:#d4d3ca}.system-grid ul{list-style:none;padding:0;margin:34px 0}.system-grid li{padding:12px 0;border-top:1px solid rgba(40,40,35,.16);font-size:12px}.dark-system li{border-color:rgba(255,255,255,.2)}.system-grid article>a{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid;padding-top:20px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.sealer-note{max-width:980px;margin:34px auto 0;text-align:center;font-size:11px;line-height:1.8;color:#66635c}.seo-copy{max-width:650px;margin:-18px auto 38px!important;font-size:14px!important;line-height:1.7;text-transform:none!important;letter-spacing:0!important;color:#d7d7d0}
@media(max-width:800px){.section-pad{padding:78px 24px}.nav{height:72px;padding:0 22px}.nav nav{display:none}.nav-cta{font-size:10px}.hero{min-height:700px}.hero-copy{left:24px;right:24px;top:47%}.hero h1{font-size:56px}.hero-lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.intro-grid,.why,.estimate,.faq{grid-template-columns:1fr;gap:50px}.intro h2,.section-head h2,.why h2,.estimate h2,.faq h2{font-size:53px}.large-copy{font-size:22px}.metrics{grid-template-columns:1fr 1fr;gap:32px}.section-head{align-items:flex-start;flex-direction:column;gap:30px}.system-grid{grid-template-columns:1fr}.system-grid article{min-height:610px;padding:34px 28px}.system-grid h3{font-size:50px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:220px}.portfolio-grid{grid-template-columns:1fr;grid-template-rows:460px 340px 340px}.project-living{grid-row:auto}.steps{grid-template-columns:1fr 1fr;gap:24px}.estimate form{padding:28px 20px}.field-row{grid-template-columns:1fr}.faq-list button{font-size:18px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}

/* CALX brand identity and estimate form states */
.brand{flex-direction:row;align-items:center;gap:11px;line-height:1}
.brand img{width:46px;height:46px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px rgba(32,35,31,.12)}
.brand>span{display:flex;flex-direction:column;font-family:Georgia,serif;font-size:21px;letter-spacing:.12em}
.brand>span small{font-family:Arial,Helvetica,sans-serif;font-size:7px;letter-spacing:.37em;margin-top:5px}
footer .brand img{box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.success p{line-height:1.7;max-width:440px;margin:0 auto}
.success .whatsapp-success{display:flex;background:#66715c;color:#fff;margin:28px auto 0;max-width:290px}
.success button{margin-top:22px}
.form-error{font-size:12px;color:#8b3028;background:#f4e3df;border-left:3px solid #8b3028;padding:11px 13px;margin:0 0 18px}
.estimate button:disabled{opacity:.65;cursor:wait}
.address-link{line-height:1.75}
@media(max-width:800px){.brand img{width:40px;height:40px}.brand>span{font-size:18px}.brand>span small{font-size:6px}.nav-cta{max-width:145px;text-align:right}}
