@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142c34;--muted:#687a7d;--paper:#f8f8f4;--line:#e0e5e0;--accent:#c9f36a;--teal:#17414a;--white:#fff;--display:Manrope,Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:15px}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 7.4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid #e8ebe5}.brand{display:flex;align-items:center;gap:11px;font:700 12px var(--display);letter-spacing:1px;line-height:1.2}.brand b{font-weight:800}.brand small{display:block;color:#758486;font:500 9px var(--body);letter-spacing:2px;margin-top:5px}.brand-mark{display:grid;place-items:center;width:41px;height:41px;border:1px solid #8c9c92;border-radius:50%;font:700 16px var(--display);letter-spacing:-2px}.brand-mark span{color:#6a8f48}.site-header nav{display:flex;gap:38px;color:#586a6d;font-size:13px}.site-header nav a:hover,.text-link:hover{color:#598036}.header-actions{display:flex;align-items:center;gap:16px}.language,.menu-toggle{background:transparent;border:0;font:600 12px var(--body);cursor:pointer;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 20px;border-radius:3px;font:700 12px var(--body);border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-accent{background:var(--accent);color:var(--ink)}.header-cta{padding:13px 18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:590px;padding:0 7.4%;overflow:hidden}.hero-copy{align-self:center;padding:70px 8% 70px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.45px;color:#71807c;margin:0 0 26px;display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#83ad45}.hero h1,.section-heading h2,.booking-intro h2,.contact h2{font:700 clamp(42px,5vw,65px)/1.08 var(--display);letter-spacing:-2.6px;margin:0;white-space:pre-line}.hero-lede{max-width:440px;color:var(--muted);font-size:16px;line-height:1.75;margin:24px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:7px}.hero-proof{margin-top:48px;display:flex;align-items:center;gap:12px;color:#71807c;font-size:11px}.avatars{display:flex;padding-left:2px}.avatars i{display:grid;place-items:center;width:24px;height:24px;margin-left:-3px;border:2px solid var(--paper);border-radius:50%;background:#d9e5c5;color:#517a38;font-style:normal;font-size:11px}.avatars i:nth-child(2){background:#d6e4e2}.avatars i:nth-child(3){background:#f0e1c9}.proof-divider{height:16px;border-left:1px solid #cfd6d0;margin:0 3px}.hero-visual{position:relative;overflow:hidden;min-height:590px;background:#173b43}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,#193c45,#23525a 68%,#8b9a79)}.visual-sun{position:absolute;right:20%;top:13%;width:100px;height:100px;background:#c5e7a1;border-radius:50%;opacity:.8;filter:blur(1px)}.visual-label{position:absolute;z-index:2;top:27px;left:29px;color:#dce6d9;font-size:9px;letter-spacing:1.2px}.roof-illustration{position:absolute;inset:0;overflow:hidden}.building{position:absolute;width:70%;height:48%;left:18%;bottom:10%;}.roof{position:absolute;z-index:2;left:-8%;top:-24%;width:116%;height:32%;background:#bdc6ae;clip-path:polygon(0 100%,50% 0,100% 100%)}.building-body{position:absolute;inset:0;background:#e6e1cc;box-shadow:inset -30px 0 #d1d0ba}.floor-line{position:absolute;top:62%;height:1px;width:100%;background:#b4b8a6}.window{position:absolute;top:24%;width:18%;height:25%;border:6px solid #f5f1df;background:#52757a}.window-a{left:14%}.window-b{right:14%}.door{position:absolute;bottom:0;left:43%;width:18%;height:46%;background:#875f45;border:5px solid #f4efdc;border-bottom:0}.plant{position:absolute;bottom:3%;right:4%;font-size:62px;color:#657c4e}.rain{position:absolute;color:#b9d8d2;letter-spacing:12px;font-size:24px;opacity:.48;transform:rotate(-8deg);white-space:nowrap}.rain-one{top:20%;left:0}.rain-two{top:34%;left:23%}.shield{position:absolute;right:8%;top:43%;width:95px;height:105px;clip-path:polygon(50% 0,95% 18%,88% 70%,50% 100%,12% 70%,5% 18%);background:var(--accent);display:grid;place-content:center;text-align:center;font-size:33px}.shield small{font-size:7px;letter-spacing:1px;font-weight:bold}.visual-caption{position:absolute;bottom:23px;left:27px;right:27px;display:flex;justify-content:space-between;color:#dce5da;font-size:8px;letter-spacing:1.2px}.trust-strip{min-height:67px;padding:0 7.4%;background:#edf0e9;display:flex;align-items:center;justify-content:space-between;color:#61716b;font-size:9px;font-weight:700;letter-spacing:1.15px}.trust-strip b{color:#9ab467;font-size:15px}.section-wrap{padding:112px 10%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2,.booking-intro h2,.contact h2{font-size:46px;letter-spacing:-1.8px}.section-heading>p{max-width:360px;color:var(--muted);font-size:14px;line-height:1.75;margin:0 2% 4px 30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid #e8ebe6}.service-art{height:205px;position:relative;overflow:hidden}.service-art>span:first-child{position:absolute;left:19px;top:17px;font-size:10px;font-weight:700;color:#fff;opacity:.75}.art-tag{position:absolute;right:17px;bottom:16px;font-size:8px;color:#fff;font-weight:700;letter-spacing:1.3px}.art-roof{background:linear-gradient(155deg,#78969a,#c4d4bf)}.art-house{position:absolute;left:24%;bottom:15%;width:55%;height:45%;background:#e8e2ca;color:#54767a;display:grid;place-items:center;font-size:70px;clip-path:polygon(50% 0,100% 42%,92% 42%,92% 100%,8% 100%,8% 42%,0 42%)}.art-lines{position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent,transparent 28px,#ffffff1c 29px,#ffffff1c 30px)}.art-bath{background:linear-gradient(145deg,#628488,#a8c5b6)}.tile-grid{position:absolute;inset:40px 20% 0;background-color:#d8e1d3;background-image:linear-gradient(#ffffff80 1px,transparent 1px),linear-gradient(90deg,#ffffff80 1px,transparent 1px);background-size:38px 38px;transform:perspective(160px) rotateY(-6deg)}.drop{position:absolute;top:27%;left:42%;z-index:1;width:75px;height:85px;border:2px solid #eff3dc;border-radius:50% 50% 52% 48%;transform:rotate(45deg);display:grid;place-items:center;color:#e9f3d5;font-size:64px}.art-wall{background:linear-gradient(140deg,#a6ae91,#667b6b)}.wall-shape{position:absolute;left:25%;top:18%;width:50%;height:65%;background:#dedbc5;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px;transform:skewY(-4deg)}.wall-shape i{background:#9aab92}.wall-shape i:nth-child(2),.wall-shape i:nth-child(3){background:#c3c8ac}.service-info{padding:22px 20px 19px}.service-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.service-title h3{font:700 16px var(--display);margin:0;letter-spacing:-.3px}.rate{white-space:nowrap;font:700 16px var(--display);color:#476b3d}.rate small{font:500 9px var(--body);color:#849089}.service-info p{min-height:43px;color:var(--muted);font-size:12px;line-height:1.65}.arrow-link{font-size:9px;font-weight:700;letter-spacing:.8px;border-bottom:1px solid #bac5b8;padding-bottom:7px}.rate-note{font-size:11px;color:#7e8a83;margin-top:18px}.booking-section{background:var(--teal);color:#fff;padding:95px 12%;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}.booking-intro .eyebrow{color:#b3c5bb}.booking-intro h2{font-size:47px}.booking-intro>p:not(.eyebrow){max-width:325px;color:#bfd0ca;line-height:1.7;font-size:14px;margin:21px 0 30px}.booking-phone{display:block;font:600 19px var(--display);margin-bottom:6px}.booking-phone span{color:var(--accent)}.booking-intro>small{color:#b2c5bd;font-size:10px}.booking-form{background:#f9faf6;padding:28px 31px;color:var(--ink);border-radius:4px}.form-top{display:flex;justify-content:space-between;padding-bottom:17px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:9px;font-weight:700;letter-spacing:1px;color:#6a7a72}.form-top span:last-child{color:#718b45}.booking-form label{display:block;margin-bottom:16px;font-size:10px;font-weight:700;color:#51615b}.booking-form label>span{display:block;margin-bottom:7px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:11px 12px;border:1px solid #dce2db;background:#fff;color:var(--ink);font:12px var(--body);border-radius:2px;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#809b64}.booking-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.estimate{margin:-4px 0 14px;padding:10px;background:#edf3e5;border-left:3px solid #96b866;font-size:12px}.submit-button{width:100%;justify-content:space-between;padding:15px}.form-privacy{font-size:9px;color:#78857e;line-height:1.5;text-align:center;margin:12px 0 0}.process{padding-top:106px;padding-bottom:105px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.steps article{position:relative;border-top:1px solid #cbd4ca;padding-top:22px}.steps article>span{font-size:10px;color:#82908a}.step-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8efe0;color:#648644;font-size:20px;margin:26px 0 18px}.steps h3{font:700 17px var(--display);margin:0 0 10px}.steps p{max-width:270px;color:var(--muted);font-size:12px;line-height:1.7;margin:0}.promise{padding:80px 15%;text-align:center;background:#eaf0e3}.promise-mark{font:700 75px Georgia;color:#8aa967;height:54px}.promise blockquote{font:600 clamp(25px,4vw,40px)/1.35 var(--display);letter-spacing:-1px;max-width:740px;margin:15px auto 22px}.promise p{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#71816d}.contact{display:flex;justify-content:space-between;align-items:center;padding-top:98px;padding-bottom:98px}.contact .eyebrow{margin-bottom:18px}.contact-details{display:grid;gap:23px;min-width:300px}.contact-details a,.contact-details div{display:grid;gap:6px}.contact-details small{font-size:9px;font-weight:700;letter-spacing:1px;color:#86918a}.contact-details strong{font-size:14px;font-weight:600}footer{border-top:1px solid var(--line);padding:22px 7.4%;display:flex;justify-content:space-between;align-items:center;color:#75827b;font-size:9px;letter-spacing:.5px}.footer-brand{color:var(--ink);font-size:10px}.footer-brand .brand-mark{width:34px;height:34px;font-size:13px}footer>a:last-child{font-size:10px;font-weight:700;color:var(--ink)}.admin-note{background:#f3efdf;border:1px solid #e8ddb6;color:#61552d;padding:12px 15px;border-radius:3px;font-size:12px;line-height:1.6;margin:18px 0}.admin-body{min-height:100vh;background:#f5f6f2}.admin-header{height:72px;padding:0 5%;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.admin-header>a:last-child{font-size:12px}.admin-shell{max-width:1220px;margin:38px auto;padding:0 25px}.admin-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.admin-top h1{font:700 32px var(--display);margin:0}.admin-top p{color:var(--muted);font-size:13px;margin:8px 0 0}.admin-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:28px 0 22px;overflow-x:auto}.admin-tabs button{border:0;background:transparent;padding:13px 18px;font:600 12px var(--body);color:#73817a;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.admin-tabs button.active{color:var(--ink);border-color:#73954c}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat-card,.admin-panel{background:#fff;border:1px solid #e5e9e2;border-radius:4px;padding:20px}.stat-card small{font-size:10px;color:#75827b}.stat-card strong{display:block;font:700 25px var(--display);margin-top:9px}.admin-panel h2{font:700 17px var(--display);margin:0 0 17px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:.7px;color:#77847d;font-weight:700;background:#f6f7f3}td,th{padding:12px 10px;border-bottom:1px solid #edf0eb;vertical-align:top}td select,td input{max-width:140px;padding:7px;border:1px solid var(--line);background:#fff;border-radius:3px;font:11px var(--body)}.empty-state{padding:35px;text-align:center;color:#7c8981;font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;margin:18px 0}.toolbar input,.toolbar select,.admin-panel input,.admin-panel select,.admin-panel textarea{padding:10px;border:1px solid var(--line);border-radius:3px;font:12px var(--body)}.small-button{background:var(--ink);color:white;border:0;border-radius:3px;padding:10px 13px;font:600 11px var(--body);cursor:pointer}.outline-button{background:white;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:9px 12px;font:600 11px var(--body);cursor:pointer}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.record-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.record-form label{display:grid;gap:6px;font-size:10px;color:#65736b}.record-form .full{grid-column:1/-1}.record-form button{justify-self:start}.badge{display:inline-block;border-radius:20px;padding:4px 8px;background:#e9f0df;color:#567341;font-size:9px}.login-card{max-width:430px;margin:9vh auto;background:white;padding:32px;border:1px solid var(--line);border-radius:5px}.login-card h1{font:700 25px var(--display)}.login-card p{font-size:12px;line-height:1.65;color:var(--muted)}.login-card label{display:grid;gap:7px;font-size:11px;margin:13px 0}.login-card input{padding:11px;border:1px solid var(--line);border-radius:3px}.login-card .button{width:100%;margin-top:9px}.hidden{display:none!important}@media(max-width:900px){.site-header{padding:0 5%}.site-header nav{gap:18px}.hero{padding:0 5%;grid-template-columns:1fr 0.9fr}.hero-copy{padding-right:5%}.hero-visual{min-height:540px}.section-wrap{padding:85px 6%}.booking-section{padding:80px 7%;gap:6%}.trust-strip{padding:0 5%;font-size:8px}.service-grid{gap:12px}.service-info{padding:17px 14px}.service-title h3{font-size:14px}.rate{font-size:14px}}@media(max-width:680px){.site-header{height:70px}.site-header nav,.header-cta{display:none}.menu-toggle{display:block;font-size:19px}.site-header nav.open{display:flex;position:absolute;z-index:5;top:70px;left:0;right:0;background:#fff;padding:22px 7%;flex-direction:column;border-bottom:1px solid var(--line)}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:54px 7% 46px}.hero h1{font-size:49px}.hero-lede{font-size:14px}.hero-proof{margin-top:32px}.hero-visual{min-height:380px}.trust-strip{padding:18px 6%;gap:14px;justify-content:center;flex-wrap:wrap;text-align:center}.trust-strip span{font-size:8px}.trust-strip b{display:none}.section-wrap{padding:72px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.booking-intro h2,.contact h2{font-size:39px}.section-heading>p{margin:17px 0 0}.service-grid{grid-template-columns:1fr;gap:15px}.service-art{height:180px}.service-info p{min-height:0}.booking-section{display:block;padding:70px 7%}.booking-intro{margin-bottom:35px}.booking-form{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}.steps{grid-template-columns:1fr;gap:24px}.steps article{padding-top:16px}.step-icon{margin:18px 0 12px}.promise{padding:65px 8%}.contact{display:block}.contact-details{margin-top:38px}.contact-details strong{font-size:12px}footer{padding:20px 6%;flex-wrap:wrap;gap:16px}footer>span{order:3;width:100%}.admin-shell{padding:0 14px;margin:22px auto}.admin-stats{grid-template-columns:1fr 1fr}.record-grid{grid-template-columns:1fr}.record-form{grid-template-columns:1fr}.record-form .full{grid-column:auto}.admin-top{align-items:start;gap:10px;flex-direction:column}.admin-header{padding:0 5%}.booking-intro>p:not(.eyebrow){max-width:none}}
.materials-warranty{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.materials-warranty>div{padding:17px 19px;background:#edf0e9;border-left:2px solid #a1ba76}.materials-warranty .eyebrow{margin:0 0 8px;font-size:9px}.materials-warranty p{font-size:12px;line-height:1.6;margin:0;color:#56675e}.materials-warranty strong{color:#476b3d}@media(max-width:680px){.materials-warranty{grid-template-columns:1fr}}
.client-list{margin-top:18px;padding:18px 20px;background:#173b43;color:#fff}.client-list .eyebrow{margin:0 0 8px;color:#c8d8ce;font-size:9px}.client-list p{margin:0;font:600 14px/1.7 var(--body);letter-spacing:.2px}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:8%;align-items:start;background:#eef1e9}.about-copy .eyebrow{margin-bottom:17px}.about-copy h2,.reviews .section-heading h2{font:700 clamp(34px,4vw,49px)/1.15 var(--display);letter-spacing:-1.8px;margin:0 0 22px}.about-copy>p:not(.eyebrow){font-size:14px;color:#5d6d66;line-height:1.8;margin:0 0 17px}.about-copy .button{margin-top:8px}.about-aside{display:grid;gap:12px}.about-highlight{padding:18px 20px;background:#fff;border:1px solid #e0e5dd;display:grid;gap:8px}.about-highlight .eyebrow{margin:0;color:#79867c;font-size:9px}.about-highlight strong{font:700 20px var(--display);letter-spacing:-.4px}.about-highlight small{color:#697971;font-size:11px;line-height:1.5}.client-highlight strong{font-size:16px}.feedback-note{padding:18px 20px;background:#173b43;color:#fff}.feedback-note .eyebrow{margin:0 0 8px;color:#c5d5c9;font-size:9px}.feedback-note p{font-size:12px;line-height:1.65;color:#dce5dd;margin:0 0 12px}.feedback-note a{font-size:9px;font-weight:bold;letter-spacing:.8px;border-bottom:1px solid #a1b88c;padding-bottom:5px}.reviews{padding-top:80px;padding-bottom:90px}.reviews .section-heading{align-items:end}.reviews .section-heading h2{max-width:570px;margin-bottom:0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-card{padding:25px;background:#fff;border:1px solid #e5e9e2}.review-stars{color:#759a42;letter-spacing:2px;font-size:15px}.review-card blockquote{font:500 16px/1.7 var(--body);color:#344b47;margin:16px 0 20px}.review-author{display:grid;gap:4px}.review-author b{font:700 12px var(--display)}.review-author small,.review-translation{font-size:10px;color:#7b8781}.review-translation{margin:8px 0 0}@media(max-width:680px){.about{grid-template-columns:1fr;gap:30px}.reviews .section-heading{display:flex;align-items:flex-start;gap:18px;flex-direction:column}.review-grid{grid-template-columns:1fr}}
.faq{padding-top:90px;padding-bottom:90px;background:#eef1e9}.faq .section-heading{margin-bottom:30px}.faq-list{max-width:900px;margin:auto}.faq-list details{background:#fff;border:1px solid #e1e7df;border-bottom:0;padding:0 20px}.faq-list details:last-child{border-bottom:1px solid #e1e7df}.faq-list summary{padding:19px 28px 19px 0;cursor:pointer;list-style:none;font:700 14px var(--display);position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:2px;top:15px;font-size:22px;color:#688949}.faq-list details[open] summary:after{content:"−"}.faq-list details p,.faq-list details li{font-size:12px;line-height:1.75;color:#5c6d65}.faq-list details p{margin:0 0 12px}.faq-list details ol{padding-left:22px}.faq-list details li{padding:4px 0}.faq-list details>.text-link{display:inline-block;margin-bottom:17px}.faq-list .terms-note{font-size:10px!important;border-top:1px solid #e8ece7;padding-top:12px;margin-top:14px!important}@media(max-width:680px){.faq{padding-top:65px;padding-bottom:65px}.faq-list details{padding:0 15px}.faq-list summary{font-size:13px}}
