@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#243e30;--forest:#263f32;--green:#425b43;--cream:#f7f5ef;--sand:#eae6dc;--copper:#956e46;--muted:#6b7169;--border:#dcded5;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button{border:0;background:none}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.13}h1{font-size:clamp(58px,5.65vw,88px)}h2{font-size:clamp(36px,3.5vw,52px)}h3{line-height:1.3;font-weight:500}em{font-weight:400;color:var(--copper)}p{color:var(--muted)}svg{flex-shrink:0}a,button{transition:background .2s,color .2s,transform .2s,border-color .2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.topbar{height:34px;background:var(--forest);color:#e4e8df;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.04em}.topbar>span{display:flex;align-items:center;gap:8px}.topbar .dot{padding:0 7px;color:#b9ad91}.header{height:106px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fffefa;position:sticky;top:0;z-index:30;border-bottom:1px solid #efeee7}.brand{width:155px;flex-shrink:0}.brand img{width:155px;height:90px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;gap:30px;font-size:12px}.nav a{position:relative;padding:12px 0}.nav a:after{content:'';position:absolute;bottom:6px;left:0;width:0;height:1px;background:var(--copper);transition:width .25s}.nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 23px;font-size:12px;font-weight:500;line-height:1.5;background:var(--forest);color:#fff;min-height:50px;border:1px solid var(--forest)}.button:hover{background:#385240;transform:translateY(-2px)}.header-cta{padding:13px 19px;min-height:45px}.button.outline{color:var(--ink);background:transparent;border-color:#bac3b7}.button.outline:hover{background:#e9ede5}.button.light{background:#f4f0e6;color:var(--ink);border-color:#f4f0e6}.button.light:hover{background:white}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:550;border-bottom:1px solid #a6b0a0;padding:6px 0}.text-link:hover{color:var(--copper);border-color:var(--copper)}.menu-toggle{display:none}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.15em;font-weight:600;display:flex;align-items:center;gap:14px;line-height:1.5}.line{width:28px;height:1px;background:var(--copper)}.hero{display:grid;grid-template-columns:47% 53%;min-height:650px;position:relative;background:#f1eee6}.hero-copy{padding:66px 7% 78px 11.1%;position:relative;z-index:1}.hero-copy .eyebrow{margin-bottom:27px;color:var(--copper)}.hero h1{margin:0 0 24px}.hero-copy>p{font-size:15px;line-height:1.8;color:#4c5b4f}.hero-copy .hero-description{max-width:340px;margin-top:17px;color:#787d72;font-size:12px;line-height:1.8}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:30px;flex-wrap:wrap}.hero-actions .button{gap:20px}.hero-bottom{display:flex;gap:13px;align-items:center;margin-top:35px;color:#53644d;font-size:10px;line-height:1.5}.hero-bottom strong{font-weight:500}.hero-visual{position:relative;overflow:hidden;min-width:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:46% center;position:absolute;filter:saturate(.83)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,29,18,.64),transparent 55%)}.photo-tag{position:absolute;top:25px;right:27px;z-index:1;background:rgba(249,247,240,.94);padding:9px 13px;font-size:8px;letter-spacing:.1em;display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;width:5px;height:5px;background:var(--forest);border-radius:50%}.hero-caption{position:absolute;bottom:44px;left:36px;right:36px;z-index:1;color:white;display:flex;align-items:end;justify-content:space-between;font:italic 31px/1.15 var(--serif);letter-spacing:-.02em}.hero-caption a{width:48px;height:48px;border:1px solid #ffffff80;display:grid;place-items:center;border-radius:50%}.hero-caption a:hover{background:#ffffff30}.scroll-cue{position:absolute;bottom:19px;left:5.2%;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.14em;color:#6d7968}.qualities{display:flex;align-items:center;justify-content:space-between;padding:28px 7%;background:#fffefa;border-bottom:1px solid var(--border)}.qualities>span{display:flex;gap:12px;align-items:center;font-size:11px;color:#52604e}.qualities svg{width:19px;height:19px;stroke-width:1.3}.section{padding:93px 7%;scroll-margin-top:15px}.about{display:grid;grid-template-columns:28% 72%;padding-top:101px;padding-bottom:103px}.section-side{display:flex;flex-direction:column;justify-content:space-between;padding-right:30px}.small-note{font-size:11px;line-height:1.9;color:#858b7f}.about h2{font-size:clamp(32px,3.2vw,46px)}.about h2 span{color:#89927d}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:28px;margin-bottom:22px}.about p{font-size:12px;line-height:1.95}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:22px;color:#6a745f}.section-heading>p{font-size:12px;max-width:300px;line-height:1.9;padding-bottom:5px}.offer-section{background:#ebece4;padding-top:82px}.offer-layout{display:grid;grid-template-columns:34% 66%;gap:0;min-height:430px}.offer-tabs{padding-right:44px;display:flex;flex-direction:column;justify-content:center}.offer-tab{border-bottom:1px solid #ccd0c2;display:flex;gap:19px;text-align:left;align-items:center;padding:25px 7px;font-size:19px;font-family:var(--serif);color:#7c8675}.offer-tab>svg{margin-left:auto}.offer-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.offer-tab:hover{color:var(--ink);background:#f7f7f240}.tab-number{font:10px var(--sans);color:#858e7b}.offer-tab small{display:block;font:9px/1.7 var(--sans);color:var(--copper);margin-top:6px}.offer-panel{position:relative;min-height:430px;overflow:hidden;background:#405b43}.offer-panel>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.offer-overlay{position:absolute;bottom:0;left:0;right:0;padding:75px 30px 27px;background:linear-gradient(transparent,rgba(17,31,21,.88));color:white;display:flex;gap:25px;align-items:end;justify-content:space-between}.offer-overlay .eyebrow{font-size:8px;color:#e8d6b9;margin-bottom:12px}.offer-overlay h3{font:32px var(--serif);margin-bottom:10px}.offer-overlay p{color:#dedfd6;max-width:420px;font-size:11px;line-height:1.8}.round-link{border:1px solid #d3dbcd90;border-radius:50%;height:43px;min-width:43px;display:grid;place-items:center}.round-link:hover{background:#ffffff30}.gazebo-art{height:430px;display:flex;align-items:center;justify-content:center;gap:24px;background:radial-gradient(ellipse at 30% 20%,#75866a,#283e2d);color:#cdd7be}.gazebo-art>span{font:italic 25px var(--serif)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 32px}.filters button{border:1px solid #d4d9cd;padding:9px 17px;color:#65725c;font-size:11px;border-radius:0}.filters button:hover{border-color:var(--forest)}.filters button.active{background:var(--forest);color:white;border-color:var(--forest)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 23px}.photo-card{text-align:left;display:block;padding:0;min-width:0}.photo-wrap{position:relative;overflow:hidden;aspect-ratio:1.38;background:#e0e3d8}.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s;filter:saturate(.82)}.photo-card:hover .photo-wrap img{transform:scale(1.045)}.zoom{position:absolute;right:14px;bottom:14px;background:#fffef5df;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:.25s}.photo-card:hover .zoom,.photo-card:focus-visible .zoom{opacity:1;transform:none}.photo-info{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:15px}.photo-info h3{font-size:13px;font-weight:500}.photo-info p{font-size:10px;margin-top:5px}.photo-info>svg{color:#7e8b72}.center{text-align:center;margin-top:40px}.empty-gallery{border:1px solid var(--border);padding:50px;text-align:center}.empty-gallery>svg{margin:auto auto 15px}.empty-gallery h3{font:27px var(--serif)}.empty-gallery p{margin:10px 0 15px;font-size:12px}.status-note{font-size:11px;margin-bottom:20px}.status-note button{text-decoration:underline}.technology{display:grid;grid-template-columns:47% 53%;background:#294133;color:#f5f2e8;scroll-margin-top:110px}.tech-image{position:relative;min-height:640px;overflow:hidden}.tech-image>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.tech-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#18251bbb)}.image-label{position:absolute;bottom:35px;left:35px;right:35px;z-index:1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;align-items:center}.tech-copy{padding:65px 12% 60px 11%}.tech-copy .eyebrow{color:#c7cab7;font-size:9px;margin-bottom:24px}.tech-copy h2{font-size:clamp(38px,3.6vw,54px);margin-bottom:25px}.tech-copy em,.contact em{color:#c6b89b}.tech-copy>p{color:#c4cebf;font-size:12px;line-height:1.9;max-width:400px}.tech-facts{margin:29px 0}.tech-facts>div{display:flex;gap:17px;border-top:1px solid #ffffff24;padding:18px 0 10px}.tech-facts>div>span{font-size:9px;color:#b9c3af;padding-top:3px}.tech-facts h3{font-size:13px;margin-bottom:7px}.tech-facts p{color:#bbc7b6;font-size:10px;line-height:1.8}.tech-gallery{background:#eaece4}.tech-gallery h2{margin:20px 0 35px}.estimate-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:110px;padding-bottom:110px}.estimate-copy .eyebrow{margin-bottom:24px}.estimate-copy h2{margin-bottom:25px}.estimate-copy>p{font-size:12px;line-height:1.95;max-width:355px;margin-bottom:25px}.calculator{background:#fffdf7;border:1px solid #dfdfd3;padding:30px 33px}.calculator-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:23px}.calculator label{font-size:11px}.calculator select{display:block;background:#f6f5ef;border:1px solid #dcded3;color:var(--ink);width:100%;padding:12px 10px;font-size:12px;margin:10px 0 24px}.area-label{display:flex;align-items:center;justify-content:space-between}.area-label>div{display:flex;align-items:center;gap:7px;font-size:12px}.area-label input{width:70px;border:1px solid var(--border);background:white;padding:6px 8px;color:var(--ink);font-size:15px;text-align:right}.range{accent-color:var(--forest);width:100%;margin:20px 0 0;height:5px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#8b9283;margin-top:6px}.estimate-result{padding:25px 0 18px;border-bottom:1px solid var(--border);display:flex;flex-direction:column}.estimate-result>span{font-size:8px;letter-spacing:.12em;color:#7d8874}.estimate-result strong{font:44px/1.3 var(--serif);letter-spacing:-.04em;margin-top:4px}.estimate-result small{color:#7b8671;font-size:10px}.fine-print{font-size:9px;line-height:1.8;margin:17px 0}.calculator .button{width:100%;font-size:11px;gap:20px}.calculator details{font-size:10px;margin-top:17px}.calculator summary{cursor:pointer;color:#6a765f}.calculator details p{font-size:10px;line-height:1.9;margin-top:15px}.process-section{background:#eeeee6}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.step{position:relative;border-top:1px solid #bec8b6;padding-top:20px}.step>span{font:31px var(--serif);color:#9ba68c}.step h3{font-size:14px;margin:22px 0 12px}.step p{font-size:11px;line-height:1.85}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding-top:100px;padding-bottom:105px}.faq-section .eyebrow{margin-bottom:23px}.faq-section h2{font-size:43px;margin-bottom:25px}.faq-section>div>p{font-size:12px;line-height:2}.faq-section a{display:inline-flex;align-items:center;gap:12px;color:var(--ink);border-bottom:1px solid var(--border)}.faq-item{border-bottom:1px solid #d6dccf}.faq-item:first-child{border-top:1px solid #d6dccf}.faq-item button{padding:21px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;width:100%;text-align:left;font-size:12px}.faq-item.expanded svg{transform:rotate(45deg)}.faq-item p{font-size:11px;line-height:1.9;padding-bottom:24px;padding-right:30px}.contact{background:var(--forest);padding:72px 7% 65px;color:var(--cream);display:grid;grid-template-columns:1.5fr 1fr;gap:9%;overflow:hidden}.contact .eyebrow{font-size:9px;color:#bfc8b4;margin-bottom:25px}.contact h2{font-size:46px;margin-bottom:33px}.contact-intro{position:relative}.contact-links>a{display:block;border-bottom:1px solid #ffffff2b;padding:0 0 18px;margin:0 0 18px}.contact-links small{font-size:8px;letter-spacing:.1em;color:#bac5af;display:block;margin-bottom:4px}.contact-links a>span{font-family:var(--serif);font-size:29px;display:flex;justify-content:space-between;align-items:center}.contact-links .contact-email{font-family:var(--sans);font-size:16px}.contact-links .facebook{font-size:10px;border:0;display:flex;justify-content:space-between}.contact-links a:hover{color:#d8c6a4}footer{padding:45px 7% 0;background:#fffefa}.footer-main{display:grid;grid-template-columns:1fr 1.7fr 1.5fr;gap:25px;padding-bottom:35px;align-items:center}.footer-brand{font:35px/1.1 var(--serif);letter-spacing:.08em;display:block;width:140px}.footer-brand span{display:block;font:8px/1.6 var(--sans);letter-spacing:.3em;margin-top:7px}.footer-main>div{font-size:11px;line-height:1.9}.footer-main small{color:#8c9483;font-size:10px}.footer-main .company{font-size:9px;color:#7e8677;text-align:right}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e5e7de;padding:20px 0;font-size:9px;color:#868e7e}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{padding:0;font-size:inherit}.footer-bottom a{display:flex;gap:4px;align-items:center}.footer-bottom a:hover,.footer-bottom button:hover{color:var(--ink)}.lightbox{position:fixed;inset:0;z-index:100;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:65px 80px 30px;background:rgba(12,24,17,.97);color:white;display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#102119ee}.lightbox-bar{position:absolute;top:20px;left:30px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#d4dbcb}.lightbox-bar button{color:white;display:grid;place-items:center;width:40px;height:40px}.lightbox figure{max-width:1100px;max-height:100%;display:flex;flex-direction:column;align-items:center}.lightbox figure img{max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain}.lightbox figcaption{padding:16px 0;color:#e6ebdf;display:flex;flex-direction:column;text-align:center;font-size:12px}.lightbox figcaption span{font-size:10px;color:#a9b6a0}.lightbox-prev,.lightbox-next{position:absolute;top:45%;color:white;width:46px;height:50px;display:grid;place-items:center;border:1px solid #ffffff40}.lightbox-prev{left:20px}.lightbox-next{right:20px}.privacy-dialog{position:fixed;inset:0;z-index:101;background:#fffdf6;width:min(600px,90vw);max-height:85dvh;overflow:auto;margin:auto;border:1px solid var(--border);padding:50px;box-shadow:0 0 0 100vmax #152b20c9}.privacy-dialog .eyebrow{margin-bottom:18px}.privacy-dialog p{font-size:12px;margin-top:20px}.close-privacy{position:absolute;top:13px;right:13px}.admin-shell{min-height:100dvh;padding:40px 6% 80px}.admin-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:25px;margin-bottom:45px}.admin-top img{width:125px;mix-blend-mode:multiply}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:25px}.admin-title h1{font-size:45px}.admin-title p{font-size:12px;margin-top:12px}.admin-card{background:#fffdf7;border:1px solid var(--border);padding:32px;margin:35px 0}.admin-card h2{font-size:29px;margin-bottom:20px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-form label{display:flex;flex-direction:column;font-size:12px;gap:8px}.admin-form input,.admin-form select{border:1px solid var(--border);padding:10px;background:var(--cream);color:var(--ink);width:100%;font-size:12px}.admin-file{grid-column:1/-1}.admin-preview{max-width:280px;max-height:180px;object-fit:contain}.admin-form .button{justify-self:start}.admin-message{padding:13px 18px;background:#e6ecdF;font-size:12px;margin:20px 0}.admin-error{background:#f3e3dc;color:#8c3c28}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.admin-photo{background:#fffdf7;border:1px solid var(--border);padding:12px}.admin-photo>img{width:100%;height:180px;object-fit:cover;margin-bottom:12px}.admin-photo h3{font-size:13px}.admin-photo small{font-size:10px;color:var(--muted);display:block;margin:5px 0 15px}.danger{font-size:11px;padding:8px 12px;border:1px solid #cdb2a9;color:#8d4431}.danger:hover{background:#f4e6df}.admin-login{max-width:580px;margin:70px auto;text-align:center}.admin-login>svg{margin:0 auto 20px}.admin-login h1{font-size:42px}.admin-login p{font-size:13px;margin:20px 0}.admin-login .button{margin-top:10px}.admin-delete{background:#fffdf7;padding:35px;position:fixed;inset:0;z-index:100;max-width:480px;width:90%;height:fit-content;margin:auto;border:1px solid var(--border);box-shadow:0 0 0 100vmax #152b20c9}.admin-delete h2{font-size:30px}.admin-delete p{font-size:13px;margin:20px 0}.admin-delete>div{display:flex;gap:20px}.admin-delete .danger{font-size:12px}.admin-delete .button{font-size:12px}
@media(min-width:1550px){.hero-copy{padding-top:85px;padding-bottom:100px}.hero{min-height:760px}.section{padding-left:max(7%,calc((100vw - 1350px)/2));padding-right:max(7%,calc((100vw - 1350px)/2))}.hero-description{max-width:400px!important}.hero-copy>p{font-size:17px}.hero-bottom{margin-top:45px}.nav{font-size:14px;gap:38px}}
@media(max-width:1100px){.header{padding:0 4%;gap:15px}.nav{gap:19px;font-size:11px}.hero{grid-template-columns:49% 51%;min-height:620px}.hero-copy{padding:58px 7% 70px 8%}.hero h1{font-size:64px}.hero-actions{gap:15px}.hero-actions .button{font-size:11px;padding:14px 16px;gap:13px}.hero-caption{font-size:27px}.section{padding:75px 5%}.about{grid-template-columns:25% 75%}.offer-tabs{padding-right:25px}.offer-tab{font-size:18px;gap:12px}.tech-copy{padding:50px 9%}.tech-image{min-height:630px}.contact{padding:65px 5%;gap:7%}.contact h2{font-size:39px}.contact-links .contact-email{font-size:14px}.calculator{padding:25px}.estimate-section{gap:7%}}
@media(max-width:800px){html{scroll-padding-top:82px}.topbar{height:28px;font-size:8px}.topbar>span:first-child{display:none}.topbar{justify-content:center}.header{height:80px}.brand,.brand img{width:120px;height:70px}.header-cta{margin-left:auto;font-size:10px;padding:10px 14px;min-height:39px}.menu-toggle{display:grid;place-items:center;width:34px;height:40px}.nav{display:none;position:absolute;top:79px;left:0;right:0;padding:20px 6%;background:#fffefa;border-bottom:1px solid var(--border);box-shadow:0 12px 20px #2033220b}.nav.open{display:flex;flex-direction:column;gap:3px}.nav a{font-size:14px;padding:12px 0}.hero{grid-template-columns:1fr 1fr;min-height:555px}.hero-copy{padding:40px 8% 60px}.hero h1{font-size:51px}.hero-copy .eyebrow{font-size:8px;gap:8px}.hero-copy>p{font-size:12px}.hero-description{font-size:10px!important}.hero-actions{flex-direction:column;align-items:start;margin-top:23px;gap:9px}.hero-bottom{margin-top:25px;font-size:9px}.hero-caption{left:20px;right:20px;bottom:30px;font-size:23px}.hero-caption a{width:39px;height:39px}.photo-tag{font-size:7px;right:12px;top:17px;gap:7px;padding:8px}.scroll-cue{font-size:7px;left:4%}.qualities{padding:23px 5%;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:10px}.qualities>span{font-size:10px}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:26px}.section-side .small-note{display:none}.about h2{font-size:34px}.about-columns{gap:25px}.section-heading{gap:25px}.section-heading h2{font-size:34px}.section-heading>p{font-size:10px;max-width:200px}.offer-layout{grid-template-columns:1fr}.offer-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0;margin-bottom:25px;gap:0 20px}.offer-tab{padding:16px 5px;font-size:17px}.offer-tab small{font-size:8px}.offer-panel{min-height:440px}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.filters{gap:7px}.filters button{font-size:10px;padding:8px 11px}.technology{grid-template-columns:42% 58%;scroll-margin-top:80px}.tech-copy{padding:40px 10%}.tech-copy h2{font-size:36px}.tech-copy .eyebrow{font-size:8px}.tech-copy>p{font-size:11px}.tech-copy .button{padding:13px 15px;font-size:10px;gap:12px}.tech-facts p{font-size:9px}.tech-image{min-height:630px}.image-label{font-size:7px;left:15px;right:15px}.estimate-section{gap:6%}.estimate-copy h2{font-size:36px}.estimate-copy>p{font-size:11px}.calculator{padding:20px}.estimate-result strong{font-size:36px}.calculator .button{font-size:10px;gap:10px}.steps{grid-template-columns:1fr 1fr;gap:35px}.faq-section{grid-template-columns:1fr;gap:35px}.contact{grid-template-columns:1fr;gap:45px;padding:60px 6%}.contact h2{font-size:43px}.contact-links{max-width:500px}.contact-links .contact-email{font-size:19px}.footer-main{grid-template-columns:1fr 2fr}.footer-main .company{grid-column:1/-1;text-align:left}.footer-bottom{font-size:8px}.footer-bottom>div{gap:14px}.admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){h2{font-size:35px}.hero{display:flex;flex-direction:column}.hero-copy{padding:39px 7% 34px}.hero h1{font-size:62px;margin-bottom:20px}.hero-copy .eyebrow{margin-bottom:21px;font-size:8px}.hero-copy>p{font-size:13px}.hero-copy .hero-description{font-size:11px!important;max-width:300px}.hero-actions{flex-direction:row;gap:20px;align-items:center;margin-top:24px}.hero-actions .button{font-size:10px;padding:14px}.hero-actions .text-link{font-size:10px}.hero-bottom{display:none}.hero-visual{height:360px}.hero-photo{object-position:50% 57%}.hero-caption{bottom:24px;font-size:28px;left:23px;right:23px}.photo-tag{top:18px;right:18px;font-size:7px}.scroll-cue{display:none}.qualities{gap:16px 12px;padding:23px 6%}.qualities>span{font-size:9px;gap:8px}.qualities svg{width:16px}.section{padding:54px 6%}.about h2{font-size:31px;line-height:1.2}.about-columns{grid-template-columns:1fr;gap:17px;margin-top:22px}.about p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:.12em}.section-heading{display:block;margin-bottom:29px}.section-heading>p{max-width:100%;margin-top:18px;font-size:11px}.section-heading h2{font-size:33px}.section-heading .eyebrow{margin-bottom:18px}.offer-tabs{gap:0 14px}.offer-tab{font-size:16px;gap:9px}.tab-number{font-size:8px}.offer-tab svg{width:17px}.offer-panel{min-height:370px}.offer-overlay{padding:70px 22px 25px;gap:10px}.offer-overlay h3{font-size:29px}.offer-overlay p{font-size:10px}.offer-overlay .round-link{width:35px;min-width:35px;height:35px}.offer-overlay .round-link svg{width:19px}.filters{margin-bottom:25px;gap:7px}.filters button{font-size:9px;padding:8px 10px}.gallery-grid{gap:24px 13px}.photo-wrap{aspect-ratio:1.1}.photo-info{padding-top:10px;gap:5px}.photo-info h3{font-size:11px;line-height:1.5}.photo-info p{font-size:8px;line-height:1.6}.photo-info>svg{width:14px}.zoom{width:26px;height:26px;bottom:8px;right:8px;opacity:1;transform:none}.zoom svg{width:17px}.center{margin-top:30px}.technology{display:flex;flex-direction:column}.tech-image{min-height:0;height:330px}.tech-image>img{object-position:center 45%}.image-label{left:23px;right:23px;bottom:23px;font-size:8px}.tech-copy{padding:41px 7% 45px}.tech-copy h2{font-size:43px}.tech-copy>p{font-size:12px}.tech-facts p{font-size:11px}.tech-facts h3{font-size:14px}.tech-copy .button{font-size:11px;padding:15px 18px}.estimate-section{display:flex;flex-direction:column;align-items:stretch;gap:30px}.estimate-copy h2{font-size:36px}.estimate-copy>p{max-width:none;font-size:12px}.calculator{padding:26px}.estimate-result strong{font-size:43px}.calculator .button{font-size:11px}.steps{gap:30px 20px;margin-top:30px}.step h3{font-size:13px;margin:14px 0 9px}.step p{font-size:10px}.faq-section h2{font-size:36px}.faq-item button{font-size:12px;gap:20px}.contact{padding:48px 7%;gap:40px}.contact h2{font-size:35px}.contact .eyebrow{font-size:7px}.contact-links .contact-email{font-size:16px;gap:8px}.contact-links a>span{font-size:28px}.contact-links small{font-size:8px}footer{padding:35px 7% 0}.footer-main{gap:24px 20px;grid-template-columns:1fr 1.4fr;align-items:start}.footer-main>div{font-size:10px}.footer-brand{font-size:29px;width:100px}.footer-brand span{font-size:7px}.footer-bottom{flex-direction:column;gap:12px;padding:17px 0}.footer-bottom>div{justify-content:space-between}.lightbox{padding:65px 15px 60px}.lightbox figure img{max-height:calc(100dvh - 220px)}.lightbox-prev,.lightbox-next{top:auto;bottom:25px;width:43px;height:40px}.lightbox-prev{left:calc(50% - 53px)}.lightbox-next{right:calc(50% - 53px)}.privacy-dialog{padding:40px 25px}.admin-shell{padding:22px 5% 50px}.admin-top{margin-bottom:30px}.admin-title{align-items:start;flex-direction:column}.admin-title h1{font-size:36px}.admin-card{padding:22px}.admin-form{grid-template-columns:1fr}.admin-grid{gap:14px}.admin-photo>img{height:130px}.admin-login h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:540px){.header{gap:12px}.brand,.brand img{width:110px}.header-cta{font-size:9px;gap:9px;padding:10px}.menu-toggle{width:30px}.admin-title h2{font-size:30px}}

/* Keep descriptive text readable at every breakpoint. */
.hero-copy > p { font-size: 18px; line-height: 1.75; }
.hero-copy .hero-description { font-size: 16px !important; line-height: 1.8; }
.about p,
.section-heading > p,
.tech-copy > p,
.estimate-copy > p,
.faq-section > div > p,
.faq-item p,
.empty-gallery p,
.privacy-dialog p { font-size: 16px; line-height: 1.8; }
.offer-overlay p,
.tech-facts p,
.step p { font-size: 15px; line-height: 1.8; }
.photo-info h3,
.tech-facts h3,
.step h3 { font-size: 17px; line-height: 1.45; }
.photo-info p,
.small-note,
.hero-bottom,
.lightbox figcaption span { font-size: 14px; line-height: 1.65; }
.small-note { color: #6b7169; }
.lightbox figcaption { font-size: 16px; }
.eyebrow,
.hero-copy .eyebrow,
.section-heading .eyebrow,
.tech-copy .eyebrow,
.offer-overlay .eyebrow,
.contact .eyebrow,
.image-label,
.photo-tag { font-size: 11px; }
.qualities > span { font-size: 14px; }
.offer-tab small { font-size: 12px; }
.faq-item button { font-size: 16px; }
.filters button { font-size: 13px; }
.section .text-link,
.hero-actions .text-link,
.section .button,
.hero-actions .button,
.tech-copy .button { font-size: 14px; }
.calculator label,
.calculator select,
.area-label > div { font-size: 15px; }
.calculator-top,
.range-labels,
.estimate-result > span { font-size: 12px; }
.estimate-result small,
.fine-print,
.calculator details,
.calculator details p,
.status-note { font-size: 14px; line-height: 1.75; }
.contact-links small,
.contact-links .facebook,
.footer-main > div { font-size: 14px; }
.footer-main small,
.footer-main .company,
.footer-bottom { font-size: 12px; }
.admin-title p,
.admin-login p,
.admin-delete p,
.admin-message { font-size: 16px; }
.admin-form label,
.admin-form input,
.admin-form select,
.admin-photo small { font-size: 14px; }
.admin-photo h3 { font-size: 16px; }

@media (max-width: 800px) {
  .qualities { gap: 20px 24px; }
  .offer-panel { min-height: 470px; }
  .technology { grid-template-columns: 1fr; }
  .tech-image { min-height: 0; height: 360px; }
  .tech-copy { padding: 44px 7%; }
  .estimate-section { grid-template-columns: 1fr; gap: 35px; }
  .estimate-copy > p { max-width: 100%; }
}
@media (max-width: 540px) {
  .hero-copy > p { font-size: 17px; }
  .hero-copy .hero-description { max-width: 100%; }
  .hero-actions { gap: 16px; }
  .hero-actions .button { font-size: 13px; }
  .hero-actions .text-link { font-size: 13px; }
  .qualities > span { font-size: 13px; align-items: flex-start; }
  .qualities { gap: 20px 14px; }
  .photo-info { align-items: flex-start; }
  .photo-info h3 { font-size: 16px; }
  .photo-info p { font-size: 14px; }
  .offer-overlay { padding: 75px 22px 25px; }
  .offer-panel { min-height: 440px; }
  .offer-tab { align-items: flex-start; }
  .offer-tab small { font-size: 12px; }
  .image-label { gap: 16px; }
  .photo-tag { font-size: 10px; }
}
/* Dedicated offer and contact pages. */
.header .header-cta { font-size: 13px; gap: 12px; }
.header .nav { gap: 24px; }
.nojs-navigation { display:flex; flex-wrap:wrap; gap:16px; padding:18px 7%; border-bottom:1px solid var(--border); }
.nojs-navigation a { min-height:44px; display:flex; align-items:center; text-decoration:underline; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; padding:23px 7%; font-size:13px; color:var(--muted); }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.offer-hero { display:grid; grid-template-columns:1fr 1fr; background:#eeece3; }
.offer-hero-copy { padding:65px 9% 60px 14%; }
.offer-hero-copy .eyebrow { font-size:11px; color:var(--copper); margin-bottom:25px; }
.offer-hero-copy h1 { font-size:clamp(48px,4.5vw,74px); line-height:1.08; }
.offer-subtitle { font:italic 27px/1.4 var(--serif); color:var(--copper); margin:24px 0 18px; }
.offer-hero-copy > p:not(.offer-subtitle) { font-size:16px; line-height:1.85; max-width:510px; }
.offer-hero-copy .button { margin-top:29px; font-size:14px; gap:20px; }
.visible-phone { display:block; margin-top:13px; width:fit-content; font-size:17px; font-weight:600; letter-spacing:.03em; }
.offer-hero-art { background:#294133; color:#e2dec0; position:relative; min-height:580px; overflow:hidden; display:flex; align-items:center; }
.offer-sketch { width:100%; height:100%; color:#e0d9b8; position:relative; }
.offer-sketch svg { display:block; width:100%; height:100%; min-height:0; }
.offer-hero-art > .offer-sketch { position:absolute; inset:0; }
.sketch-caption { position:absolute; bottom:24px; left:26px; right:26px; text-align:center; font-size:10px; letter-spacing:.12em; opacity:.8; }
.offer-panel > .offer-sketch { position:absolute; inset:-20px 0 155px; width:100%; height:calc(100% - 135px); }
.offer-panel:has(> .offer-sketch) { background:#294133; min-height:600px; }
.offer-panel:has(> .offer-sketch) .offer-overlay { background:linear-gradient(transparent,#203b2ed9 35%,#203b2e); }
.offer-read-more { font-size:14px; color:#f2e8cf; border-bottom:1px solid #e3dbbc80; display:inline-flex; align-items:center; gap:14px; margin-top:16px; min-height:44px; }
.offer-page-links { background:#ebece4; padding:0 7% 45px; display:flex; flex-wrap:wrap; gap:10px; }
.offer-page-links a { display:flex; align-items:center; gap:18px; font-size:14px; padding:10px 17px; border:1px solid #c7cebd; min-height:44px; }
.offer-page-links a:hover { background:#fffef5; }
.offer-introduction { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:8%; }
.offer-introduction .eyebrow { margin-bottom:23px; }
.offer-benefits { list-style:none; padding:0; margin:0; }
.offer-benefits li { display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--border); font-size:16px; align-items:center; }
.offer-benefits svg { color:var(--copper); }
.offer-details { background:#eeeee6; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.offer-details article { border-top:1px solid #bdc8b6; padding-top:20px; }
.detail-number { color:#8e9d81; font:34px var(--serif); display:block; margin-bottom:23px; }
.offer-details h2 { font-family:var(--sans); letter-spacing:-.02em; font-size:22px; font-weight:500; line-height:1.4; margin-bottom:20px; }
.offer-details p { font-size:16px; line-height:1.9; }
.offer-preparation { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.offer-preparation .eyebrow { margin-bottom:23px; }
.offer-preparation p { font-size:16px; line-height:1.9; margin-top:24px; }
.preparation-list ol { margin:0; padding-left:24px; }
.preparation-list li { font-size:16px; padding:0 0 16px 8px; }
.preparation-list li::marker { color:var(--copper); }
.preparation-list > p { font-size:14px; padding-top:23px; border-top:1px solid var(--border); }
.offer-callout { background:var(--forest); color:var(--cream); padding:60px 7%; display:flex; align-items:center; justify-content:space-between; gap:45px; }
.offer-callout .eyebrow { color:#c9d0b9; margin-bottom:17px; }
.offer-callout h2 { font-size:38px; }
.offer-callout p { color:#cdd4c5; font-size:16px; max-width:550px; margin-top:18px; }
.offer-callout > div:last-child { display:flex; align-items:flex-start; flex-direction:column; gap:15px; flex-shrink:0; }
.offer-callout .text-link { font-size:14px; }
.other-offers > div:last-child { display:flex; flex-wrap:wrap; gap:24px; margin-top:27px; }
.other-offers a { display:flex; align-items:center; gap:25px; font-size:17px; min-height:44px; border-bottom:1px solid var(--border); }
.quote-phone { white-space:nowrap; font-size:17px; letter-spacing:.02em; }
.estimate-copy > .text-link { flex-wrap:wrap; gap:12px; font-size:15px; }
.footer-offers { display:flex; flex-wrap:wrap; gap:25px; padding-bottom:28px; margin-bottom:30px; border-bottom:1px solid var(--border); font-size:14px; }
.footer-offers a { min-height:44px; display:flex; align-items:center; }
.social-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.social-links > a { display:flex; align-items:center; gap:14px; padding:23px 20px; border:1px solid #cdd5c5; background:#fbfbf4; min-width:0; min-height:80px; }
.social-links > a:hover { border-color:#8b9f7b; transform:translateY(-2px); }
.social-icon { display:grid; place-items:center; width:45px; height:45px; flex-shrink:0; border-radius:50%; background:#edf0e6; color:var(--ink); }
.social-icon.whatsapp { color:#28643a; }
.social-icon.messenger { color:#375a89; }
.social-icon.facebook { color:#305487; }
.social-links strong { display:block; font-weight:500; font-size:16px; }
.social-links small { display:block; font-size:13px; color:var(--muted); margin-top:3px; }
.social-arrow { margin-left:auto; color:#718366; }
.social-links.compact { display:flex; flex-wrap:wrap; gap:12px; }
.social-links.compact > a { padding:8px 12px; min-height:44px; background:transparent; gap:9px; }
.social-links.compact .social-icon { width:28px; height:28px; background:transparent; }
.social-links.compact strong { font-size:14px; }
.social-links.compact .social-arrow { display:none; }
footer > .social-links { margin-bottom:20px; }
.contact .social-links.compact { margin-top:25px; }
.contact .social-links.compact a { color:#eef0e2; border-color:#6f8265; }
.contact .social-links.compact .social-icon { color:#dde4c8; }
.contact .contact-links > .contact-page-link { display:flex; font-size:14px; justify-content:space-between; }
.contact-art > svg { width:100%; height:100%; position:absolute; inset:0; padding:25px; }
.contact-options { display:grid; grid-template-columns:1fr 1.1fr; gap:8%; }
.contact-options .eyebrow { margin-bottom:23px; }
.contact-cards > a { display:flex; align-items:flex-start; gap:20px; border-bottom:1px solid var(--border); padding:24px 0; }
.contact-cards > a:first-child { padding-top:0; }
.contact-cards > a > svg:first-child { color:var(--copper); margin-top:4px; }
.contact-cards > a > svg:last-child { margin-left:auto; margin-top:5px; }
.contact-cards span { display:block; font-size:14px; color:var(--muted); margin-bottom:4px; }
.contact-cards strong { display:block; font:35px/1.5 var(--serif); letter-spacing:-.025em; }
.contact-cards .email-address { font:18px/1.6 var(--sans); overflow-wrap:anywhere; }
.contact-cards p { font-size:14px; line-height:1.8; margin-top:7px; }
.messenger-section { background:#eceee5; }
.messenger-note { font-size:14px; margin-top:25px; }
.contact-prep { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.contact-prep h2 { margin:24px 0; font-size:38px; }
.contact-prep p { font-size:16px; line-height:1.85; }
.contact-area { margin-top:27px; display:flex; align-items:center; gap:12px; font-size:15px; }
.company-details { background:#eeeee6; padding:35px; }
.company-details h2 { font-size:32px; }
.company-details dl { font-size:14px; margin:28px 0 0; }
.company-details dl > div { display:flex; gap:20px; border-top:1px solid #d3dac8; padding:12px 0; }
.company-details dt { width:70px; flex-shrink:0; color:var(--muted); }
.company-details dd { margin:0; overflow-wrap:anywhere; }
.privacy-page { max-width:1100px; margin:auto; }
.privacy-page h1 { font-size:55px; margin:25px 0 45px; }
.privacy-page h2 { font:25px/1.4 var(--serif); margin:35px 0 15px; }
.privacy-page p { font-size:16px; line-height:1.9; }
.privacy-page p a { text-decoration:underline; }
.not-found { min-height:55vh; }
.not-found h1 { max-width:800px; font-size:60px; margin:25px 0; }
.not-found p { margin-bottom:28px; }
.not-found .text-link { margin-left:20px; }
.filters button { min-height:44px; }
.photo-card { min-width:0; }
@media(max-width:1100px){.offer-hero-copy{padding:50px 8% 50px 10%}.offer-hero-art{min-height:620px}.offer-details{gap:28px}.social-links{gap:13px}.social-links>a{padding:20px 15px;gap:10px}.header .nav{gap:16px;font-size:12px}}
@media(max-width:800px){.header .menu-toggle{width:44px;height:44px}.header .header-cta{padding:10px 14px}.breadcrumbs{padding:20px 6%;font-size:12px}.offer-hero{grid-template-columns:1fr}.offer-hero-copy{padding:40px 7% 45px}.offer-hero-copy h1{font-size:58px}.offer-hero-art{min-height:0;height:440px}.offer-introduction{grid-template-columns:1fr;gap:30px}.offer-details{grid-template-columns:1fr;gap:35px}.offer-details article{display:flex;gap:25px}.detail-number{font-size:30px}.offer-details h2{font-size:23px}.offer-preparation{grid-template-columns:1fr;gap:30px}.offer-callout{flex-direction:column;align-items:flex-start;gap:30px}.contact-options,.contact-prep{grid-template-columns:1fr;gap:35px}.social-links{grid-template-columns:1fr}.social-links>a{padding:22px;min-height:88px}.social-links small{font-size:14px}.offer-page-links{padding:0 6% 35px}.offer-page-links a{font-size:13px}.offer-panel:has(>.offer-sketch){min-height:600px}.footer-offers{gap:10px 22px}.contact .social-links.compact>a{padding:8px;gap:6px}}
@media(max-width:540px){.header{gap:10px}.header .header-cta{font-size:13px;gap:8px;padding:10px}.header .nav a{min-height:44px;font-size:16px}.hero h1{font-size:clamp(43px,11.8vw,62px)}.hero-copy{padding-top:34px}.offer-hero-copy h1{font-size:46px;overflow-wrap:normal;hyphens:manual}.offer-hero-copy{padding:35px 7%}.offer-subtitle{font-size:25px}.offer-hero-art{height:320px}.offer-hero-copy .button{font-size:13px;padding:15px;gap:13px}.sketch-caption{font-size:9px;left:18px;right:18px;bottom:15px}.offer-panel:has(>.offer-sketch){min-height:630px}.offer-panel>.offer-sketch{inset:0 0 240px;height:calc(100% - 240px)}.offer-panel:has(>.offer-sketch) .offer-overlay{padding:40px 22px 22px}.offer-introduction h2,.offer-preparation h2{font-size:35px}.offer-details article{gap:18px}.offer-details h2{font-size:21px}.offer-details p{font-size:16px;line-height:1.8}.offer-callout{padding:45px 7%}.offer-callout h2{font-size:34px}.offer-callout>div:last-child{flex-shrink:1}.other-offers>div:last-child{display:flex;flex-direction:column;gap:14px}.other-offers a{font-size:16px;justify-content:space-between}.offer-page-links{flex-direction:column}.offer-page-links a{justify-content:space-between;font-size:15px}.estimate-copy>.text-link{display:flex;align-items:center}.quote-phone{font-size:18px}.contact-cards>a{gap:12px}.contact-cards>a>svg{width:20px}.contact-cards strong{font-size:30px}.contact-cards .email-address{font-size:15px}.contact-cards p{font-size:14px}.company-details{padding:25px}.company-details h2{font-size:29px}.company-details dl>div{gap:10px}.company-details dt{width:60px}.social-links.compact{gap:9px}.social-links.compact>a{padding:8px 10px}.social-links.compact strong{font-size:13px}.contact .social-links.compact{display:grid;grid-template-columns:1fr}.contact .social-links.compact>a{padding:10px 12px}.privacy-page h1{font-size:40px}.not-found h1{font-size:42px}.not-found .text-link{display:flex;width:fit-content;margin:20px 0}.footer-bottom a{min-height:44px}.footer-brand{min-height:44px}}
/* Contact form and click-to-load map. */
.contact-form-section{display:grid;grid-template-columns:.9fr 1.25fr;gap:7%;background:#eeeee6;align-items:start}.form-introduction .eyebrow{margin-bottom:23px}.form-introduction>p{font-size:16px;line-height:1.9;margin-top:25px}.form-introduction a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.form-contact-hint{display:flex;gap:15px;border-top:1px solid #d0d8c4;margin-top:30px;padding-top:24px;font-size:14px;color:var(--muted);line-height:1.8}.contact-form-card{background:#fffcf5;border:1px solid #d8ddcf;padding:32px}.message-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.message-form .full{grid-column:1/-1}.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}.form-field label{font-size:14px;font-weight:500}.form-field label small{font-size:12px;color:var(--muted);font-weight:400}.form-field label>span{color:#9b754e}.form-field input,.form-field textarea,.form-field select{width:100%;min-width:0;background:#f6f5ed;border:1px solid #d5ddcb;border-radius:0;padding:13px 14px;font:15px/1.6 var(--sans);color:var(--ink);min-height:48px}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#828b78;opacity:1}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:#a6583f}.field-error{font-size:13px;color:#9c472f}.form-field>small{font-size:12px;line-height:1.7;color:var(--muted)}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.message-form .button{grid-column:1/-1;justify-content:space-between;font-size:14px;min-height:52px;white-space:normal}.message-form .button:disabled{cursor:not-allowed;opacity:.65}.form-privacy{font-size:13px;line-height:1.8}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-feedback{display:flex;gap:9px;align-items:start;font-size:14px;color:#91432c;line-height:1.7;min-height:0}.form-feedback:has(span:empty){display:none}.form-feedback.success{color:#315c38}.form-availability{padding:17px;background:#efeee0;border-left:3px solid #aa8d5b;margin-bottom:28px;font-size:14px;line-height:1.75}.form-availability strong{font-weight:500}.form-availability p{margin-top:9px}.form-availability a{text-decoration:underline}.company-map-section{background:#eeeee6}.map-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.map-heading h2{margin:20px 0 15px}.map-heading p{font-size:16px}.map-frame{min-height:420px;background:radial-gradient(ellipse at 60% 30%,#eff1e6,#dde3d2);border:1px solid #cbd5bd}.map-frame iframe{width:100%;height:440px;border:0;display:block}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;padding:40px;text-align:center}.map-placeholder>svg{color:#7d8f6d;margin-bottom:20px}.map-placeholder h3{font:26px/1.5 var(--serif);max-width:600px}.map-placeholder p{font-size:14px;max-width:500px;line-height:1.8;margin:14px 0 25px}.map-placeholder .button{font-size:14px}.company-address{margin-top:12px}.map-frame noscript a{display:block;margin-top:18px;text-decoration:underline}
@media(max-width:1000px){.contact-form-section{grid-template-columns:1fr;gap:35px}.form-introduction{max-width:650px}.contact-form-card{padding:30px}}
@media(max-width:540px){.contact-form-card{padding:24px 20px}.message-form{grid-template-columns:1fr;gap:21px}.message-form .full{grid-column:auto}.form-introduction h2{font-size:35px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.map-heading{align-items:start;flex-direction:column;gap:10px}.map-placeholder{padding:30px 20px;min-height:390px}.map-placeholder h3{font-size:25px}.map-frame{min-height:390px}.map-frame iframe{height:400px}.form-availability{font-size:14px}.message-form .button{font-size:13px;gap:12px}.form-field>small{font-size:13px}.form-privacy{font-size:13px}}
.hero-edit-note{position:absolute;z-index:1;left:36px;bottom:130px;right:36px;color:#f2f1df;font-size:11px;line-height:1.6;letter-spacing:.02em;text-shadow:0 1px 3px #102119}
.hero .hero-photo{object-position:center;filter:saturate(.93)}
.sky-clouds{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
/* Durations and phase delays divided by 1.1: 10% faster, same initial positions. */
.sky-cloud{will-change:transform;animation:cloud-drift-near 212.121212s linear infinite;opacity:.328}
.sky-cloud-near{animation-delay:-139.393939s}
.sky-cloud-distant{opacity:.232;animation-name:cloud-drift-distant;animation-duration:247.474747s;animation-delay:-55.555555s}
.sky-cloud-far{opacity:.12;animation-name:cloud-drift-far;animation-duration:313.131313s;animation-delay:-86.868687s}
.sky-clouds[data-paused="true"] .sky-cloud{animation-play-state:paused}
.cloud-toggle{position:absolute;z-index:2;top:22px;left:20px;width:44px;height:44px;display:grid;place-items:center;background:#f9f7f0df;color:var(--forest);border:1px solid #ffffff90;border-radius:50%}
.cloud-toggle:hover{background:#fff}
@keyframes cloud-drift-near{from{transform:translateX(-720px)}to{transform:translateX(1480px)}}
@keyframes cloud-drift-distant{from{transform:translateX(-490px)}to{transform:translateX(1480px)}}
@keyframes cloud-drift-far{from{transform:translateX(-860px)}to{transform:translateX(1480px)}}
@media(prefers-reduced-motion:reduce){.cloud-toggle{display:none}.sky-cloud{animation-play-state:paused!important}}
@media(max-width:800px){.hero-edit-note{left:20px;right:20px;bottom:110px;font-size:10px}}
@media(max-width:540px){.hero-edit-note{left:23px;right:23px;bottom:106px;font-size:11px}}
.hero .hero-edit-note{font-size:14px}
.footer-bottom>div{flex-wrap:wrap}
@media(max-width:360px){.header .brand,.header .brand img{width:96px}.header .menu-toggle{flex-shrink:0}.contact-links .contact-email{overflow-wrap:anywhere}}
@media(max-width:360px){.offer-tabs{grid-template-columns:minmax(0,1fr)}.offer-tab{min-width:0}}

/* A clearer main navigation, including the expanded mobile menu. */
.header .nav{font-size:15px}
@media(min-width:801px) and (max-width:1100px){.header .nav{font-size:13px;gap:14px}}
@media(max-width:800px){.header .nav a{font-size:18px}}
@media(max-width:1000px){
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6%;background:#fffefa;border-bottom:1px solid var(--border);box-shadow:0 12px 20px #2033220b}
 .header .nav.open{display:flex;flex-direction:column;gap:3px}
 .header .nav a{font-size:18px;min-height:44px;padding:12px 0}
 .header .menu-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
 .header .header-cta{margin-left:auto}
}
/* A quiet line drawing between the introduction label and its note. */
.borowiec-sketch { position: relative; flex: 1; display: grid; place-items: center; width: 100%; max-width: 270px; margin: 18px 0; color: var(--ink); }
.borowiec-sketch > svg { display: block; width: 100%; height: auto; overflow: hidden; }
.borowiec-sketch .sketch-detail { stroke-width: 2.5; opacity: .55; }
.borowiec-sketch.sketch-ready > svg path { stroke-dasharray: 1; stroke-dashoffset: 1; }
.borowiec-sketch.is-drawing > svg path { animation-name: draw-borowiec; animation-timing-function: linear; animation-fill-mode: forwards; }
@keyframes draw-borowiec { to { stroke-dashoffset: 0; } }
.borowiec-sketch .sketch-color { opacity: 0; }
.borowiec-sketch.is-drawing .sketch-color { animation: color-borowiec 3s ease-in-out 7s forwards; }
.borowiec-sketch.is-drawing .sketch-lines { animation: fade-borowiec-lines 3s ease-in-out 7s forwards; }
@keyframes color-borowiec { to { opacity: 1; } }
@keyframes fade-borowiec-lines { to { opacity: 0; } }
.sketch-replay { position: absolute; right: -7px; bottom: -10px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: var(--muted); border-radius: 50%; }
.sketch-replay:hover { color: var(--ink); background: #2941330c; }
@media (prefers-reduced-motion: reduce) {
  .borowiec-sketch.sketch-ready > svg path { animation: none; stroke-dashoffset: 0; }
  .borowiec-sketch.is-drawing .sketch-color { animation: none; opacity: 0; }
  .borowiec-sketch.is-drawing .sketch-lines { animation: none; opacity: 1; }
  .sketch-replay { display: none; }
}
@media (max-width: 800px) {
  .about .section-side { flex-direction: row; align-items: center; padding-right: 0; gap: 20px; }
  .borowiec-sketch { flex: 0 1 150px; margin: 0; }
}
@media (max-width: 540px) {
  .borowiec-sketch { flex-basis: 118px; }
}

/* Mobile audit: reachable menu in landscape and comfortable touch controls. */
@media (max-width: 1000px) {
  .header .nav { max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; }
  .calculator select, .area-label input,
  .message-form input, .message-form select, .message-form textarea,
  .admin-form input, .admin-form select { font-size: 16px; min-height: 44px; }
  .range { height: 44px; min-height: 44px; margin: 8px 0 0; }
  .filters button, .lightbox-bar button,
  .lightbox-prev, .lightbox-next, .sketch-replay { min-width: 44px; min-height: 44px; }
  .topbar a { display: inline-flex; align-items: center; min-height: 24px; }
}
@media (max-width: 800px) {
  .header .nav { max-height: calc(100dvh - 108px); }
}

.admin-sections{display:flex;gap:12px;margin:35px 0 15px}.admin-sections button{display:flex;gap:9px;align-items:center;border:1px solid #cabda9;padding:12px 20px;background:transparent;border-radius:4px;font:inherit;cursor:pointer}.admin-sections button[aria-pressed=true]{background:#364a36;border-color:#364a36;color:#fff}.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}.analytics-toolbar label{display:flex;align-items:center;gap:12px;font-size:13px}.analytics-toolbar select{font:inherit;padding:11px 14px;border:1px solid #d6ccb9;border-radius:3px;background:#fff}.analytics-panel .analytics-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.analytics-metric{background:#f8f6f0;border:1px solid #e2dccf;border-radius:4px;padding:24px}.analytics-metric span{font-size:12px;color:#675f51;display:block}.analytics-metric strong{display:block;font-family:Georgia,serif;font-size:40px;font-weight:400;margin-top:10px;font-variant-numeric:tabular-nums;color:#293c2b}.analytics-empty{background:#f2f3ea;border-left:3px solid #8b9b6e;padding:18px 20px;font-size:13px;line-height:1.7;margin:24px 0}.analytics-chart{padding:25px 0;border-bottom:1px solid #ddd5c4}.analytics-panel h2{font-size:24px;margin:12px 0 18px}.analytics-legend{display:flex;gap:20px;font-size:12px;flex-wrap:wrap}.analytics-legend span:before{content:'';display:inline-block;width:9px;height:9px;margin-right:7px;background:#364a36}.analytics-legend span:nth-child(2):before{background:#b68b46}.analytics-legend span:nth-child(3):before{background:#788a9f}.analytics-bars{height:175px;display:flex;gap:3px;border-bottom:1px solid #ddd5c4;margin-top:20px}.analytics-day{display:flex;gap:1px;align-items:flex-end;flex:1;min-width:0}.analytics-day i{display:block;flex:1;background:#364a36;min-width:0}.analytics-day i:nth-child(2){background:#b68b46}.analytics-day i:nth-child(3){background:#788a9f}.analytics-axis{display:flex;justify-content:space-between;margin-top:12px;font-size:11px;color:#776f60}.analytics-rankings{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px 0}.analytics-rankings section{min-width:0}.analytics-rankings p{font-size:13px}.analytics-table-scroll{overflow:auto;max-height:420px;border:1px solid #e2dccf}.analytics-panel table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.analytics-panel th,.analytics-panel td{padding:14px 16px;border-bottom:1px solid #e2dccf}.analytics-panel th{position:sticky;top:0;background:#f8f6f0;z-index:1;font-size:12px}.analytics-panel td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.analytics-panel a{text-underline-offset:3px;text-decoration:underline}.analytics-daily summary{cursor:pointer;font-size:14px;margin:20px 0}.analytics-note{line-height:1.8;margin-top:20px}.analytics-panel button:disabled{opacity:.6}.admin-sections button:focus-visible,.analytics-toolbar select:focus-visible{outline:3px solid #ad8f57;outline-offset:3px}@media(max-width:850px){.analytics-panel .analytics-metrics{grid-template-columns:1fr 1fr}.analytics-rankings{grid-template-columns:1fr}}@media(max-width:480px){.analytics-metric{padding:17px}.analytics-metric strong{font-size:32px}.analytics-panel .analytics-metrics{gap:9px}.analytics-bars{gap:1px}.analytics-day{gap:0}.analytics-toolbar{align-items:flex-start}.analytics-toolbar label{flex-direction:column;align-items:flex-start;gap:6px}}
