:root{--ink:#17251f;--forest:#1f4939;--forest2:#2e6350;--sage:#abc0ad;--cream:#f4f0e6;--paper:#fffdf8;--clay:#d6784a;--muted:#657069;--line:rgba(23,37,31,.13);--shadow:0 22px 70px rgba(28,48,39,.13);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5;overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:104px 0}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}.section-head h2,.page-title{margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);font-weight:500;line-height:.98;letter-spacing:-.045em}.section-head p{max-width:390px;margin:0;color:var(--muted);font-size:17px}.btn{border:0;border-radius:999px;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:750;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:var(--clay);box-shadow:0 12px 28px rgba(214,120,74,.28)}.btn-dark{background:var(--forest);color:#fff}.btn-outline{border:1px solid var(--line);background:transparent}.field{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff;outline:0;min-width:0;width:100%}.field:focus{border-color:var(--forest)}
.topbar{background:var(--ink);color:#dbe6df;font-size:12px}.topbar .wrap{height:34px;display:flex;align-items:center;justify-content:space-between}.header{position:sticky;top:0;z-index:70;background:rgba(255,253,248,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,37,31,.08)}.header-in{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-.04em;font-size:20px}.logo-mark{width:36px;height:36px;background:var(--forest);border-radius:5px 5px 12px 5px;position:relative}.logo-mark:before{content:"";position:absolute;width:20px;height:20px;border-left:4px solid #fff;border-top:4px solid #fff;transform:rotate(45deg);left:6px;top:9px}.logo small{font-weight:500;font-size:9px;display:block;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:650}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--clay);transition:.2s}.main-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:14px}.phone{font-size:15px;font-weight:800}.menu-btn{display:none;border:0;background:var(--cream);width:44px;height:44px;border-radius:50%;cursor:pointer}.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";display:block;width:18px;height:2px;background:var(--ink);margin:4px auto}.menu-close,.mobile-nav-meta{display:none}
.hero{background:var(--cream);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(31,73,57,.08);border-radius:50%;left:-180px;top:-250px}.hero-grid{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:36px;padding:68px 0 80px}.hero h1{font-family:Georgia,serif;font-size:clamp(56px,7vw,96px);font-weight:500;line-height:.87;letter-spacing:-.055em;margin:20px 0 28px}.hero h1 em{color:var(--forest2)}.hero-lead{font-size:20px;color:var(--muted);max-width:600px;margin:0 0 34px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero-note{font-size:12px;color:var(--muted)}.hero-visual{height:560px;position:relative}.hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:160px 160px 24px 24px;box-shadow:var(--shadow)}.hero-badge{position:absolute;right:-10px;bottom:38px;background:#fff;padding:17px 21px;border-radius:16px;box-shadow:var(--shadow)}.hero-badge b{display:block;font-size:22px}.hero-badge span{font-size:11px;color:var(--muted)}
.stats{background:var(--ink);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:32px 24px;border-right:1px solid rgba(255,255,255,.11)}.stat:first-child{border-left:1px solid rgba(255,255,255,.11)}.stat b{font-family:Georgia,serif;font-size:38px;font-weight:500;color:#f5d1b9}.stat span{display:block;font-size:13px;color:#aebbb4}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.benefit{border:1px solid var(--line);padding:30px;border-radius:22px;background:#fff;transition:.3s}.benefit:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.benefit-num{color:var(--clay);font-weight:800}.benefit h3{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:20px 0 10px}.benefit p{color:var(--muted);margin:0;font-size:14px}
.projects{background:#e9e4d8}.filters{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 17px;font-size:13px;font-weight:700;cursor:pointer}.filter.active{background:var(--ink);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card,.gallery-item{position:relative;overflow:hidden;border-radius:24px;background:var(--forest);color:#fff;min-height:390px;cursor:pointer}.project-card.hide,.gallery-item.hide{display:none}.project-card img,.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}.project-card:hover img,.gallery-item:hover img{transform:scale(1.04)}.shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,26,20,.88),transparent 62%)}.project-info,.gallery-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.project-info h3,.gallery-caption strong{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:0 0 4px}.project-info p,.gallery-caption span{font-size:12px;color:rgba(255,255,255,.75)}.project-price{display:block;margin-top:8px;font-weight:800}.tag{position:absolute;z-index:2;left:18px;top:18px;background:rgba(255,255,255,.92);color:var(--ink);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{border:0;padding:0;text-align:left;min-height:330px}.gallery-caption{display:flex;flex-direction:column}.process{background:var(--forest);color:#fff}.process .section-head p{color:#bdcec3}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.step-num{width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;color:#f1c6aa;margin-bottom:26px}.step p{font-size:13px;color:#acc1b4}.calc-section{background:var(--cream)}.calc-shell{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.calc-form,.calc-result{padding:46px}.calc-form h2{font-family:Georgia,serif;font-size:44px;margin:8px 0 12px;font-weight:500}.calc-form>p{color:var(--muted)}.range-head{display:flex;justify-content:space-between;margin:30px 0 12px;font-weight:750}.range-value{background:var(--cream);padding:7px 11px;border-radius:10px}input[type=range]{width:100%;accent-color:var(--clay);margin-bottom:25px}.calc-label{font-size:14px;font-weight:750}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:25px}.option input{display:none}.option span{display:block;text-align:center;border:1px solid var(--line);border-radius:12px;padding:12px 8px;font-size:13px;cursor:pointer}.option input:checked+span{background:var(--forest);color:#fff}.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{font-size:13px;color:var(--muted)}.check input{accent-color:var(--clay)}.calc-result{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.estimate-label{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#9eada5}.estimate{font-family:Georgia,serif;font-size:clamp(40px,5vw,64px);line-height:1;margin:14px 0}.estimate-sub{color:#aebbb4;font-size:13px}.result-details{margin:35px 0;display:grid;gap:10px}.result-row{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}.result-row span{color:#aebbb4}
.cta-band{background:var(--forest);color:#fff;padding:88px 0}.cta-box{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:center}.cta-copy h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,62px);font-weight:500;line-height:.98;margin:13px 0}.cta-copy p{color:#bfd0c5}.lead-form{background:#fff;padding:27px;border-radius:24px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.lead-form .btn,.lead-form .form-consent,.lead-form .form-status{grid-column:1/-1}.form-consent{font-size:11px;color:var(--muted);margin:0}.form-status{font-size:13px;color:var(--forest);font-weight:700}.contact-band{background:var(--clay);color:#fff;padding:75px 0}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.contact-grid h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,62px);font-weight:500;line-height:1}.contact-list{display:grid;gap:14px}.contact-list a{font-size:18px;font-weight:700}
.page-intro{background:var(--cream);padding:70px 0}.page-title{font-size:clamp(48px,7vw,80px);margin:14px 0 18px}.speedbar{font-size:12px;color:var(--muted)}.dle-content{min-height:340px}.static-page{padding:0}.static-body{font-size:16px}.static-body>.section:first-child{padding-top:90px}.news-list{display:grid;gap:18px}.news-card{border:1px solid var(--line);border-radius:22px;padding:26px}.news-card h2{font-family:Georgia,serif;font-weight:500}.news-meta{font-size:12px;color:var(--muted)}.fullstory{padding:80px 0}.fullstory h1{font-family:Georgia,serif;font-size:48px;font-weight:500}.fullstory img{border-radius:22px}.pagination{display:flex;gap:8px;justify-content:center;padding:30px}.pagination a,.pagination span{padding:9px 13px;border:1px solid var(--line);border-radius:10px}
footer{background:var(--ink);color:#fff;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px;padding-bottom:45px}.footer-brand p{color:#98aaa1;font-size:13px}.footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#9eada5}.footer-col a{display:block;font-size:14px;margin:10px 0;color:#d3ddd7}.socials{display:flex;gap:9px;margin-top:18px}.social{width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid!important;place-items:center!important;margin:0!important;font-size:11px!important;font-weight:900}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;color:#86978e;font-size:11px}
.modal{position:fixed;inset:0;background:rgba(12,24,19,.74);backdrop-filter:blur(7px);z-index:150;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(500px,100%);background:var(--paper);border-radius:26px;padding:34px;position:relative}.modal-card h3{font-family:Georgia,serif;font-size:36px;font-weight:500;margin:8px 0}.modal-card form{display:grid;gap:11px;margin-top:22px}.close{position:absolute;right:17px;top:17px;width:38px;height:38px;border:0;border-radius:50%;font-size:22px;cursor:pointer}.gallery-modal .modal-card{width:min(920px,100%);padding:0;overflow:hidden}.gallery-preview{height:min(70vh,620px)}.gallery-preview img{width:100%;height:100%;object-fit:cover}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:var(--ink);color:#fff;padding:15px 20px;border-radius:14px;transform:translateY(120px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.reveal-init{opacity:0;transform:translateY(36px);transition:opacity .7s,transform .7s}.reveal-init.revealed{opacity:1;transform:none}
@media(max-width:1000px){.header-actions .phone{display:none}.menu-btn{display:block}.main-nav{position:fixed;inset:0;width:100vw;height:100dvh;z-index:100;background:var(--forest);color:#fff;padding:105px max(28px,calc((100vw - 720px)/2)) 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;overflow:auto;transform:translateX(100%);visibility:hidden;transition:.45s}.header.open .main-nav{transform:none;visibility:visible}.main-nav>a{width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13);font-family:Georgia,serif;font-size:clamp(28px,6vw,44px)}.main-nav a:after{display:none}.menu-close{display:grid;place-items:center;position:absolute;right:22px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:31px}.mobile-nav-meta{display:block;margin-top:24px;color:#bcd0c4}.hero-grid,.cta-box,.contact-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center}.hero-cta{justify-content:center}.hero-visual{width:min(650px,100%);margin:auto}.benefit-grid,.project-grid,.gallery-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}.calc-shell{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:650px){.wrap{width:min(100% - 28px,1180px)}.section{padding:74px 0}.topbar{display:none}.header-in{height:68px}.header-actions>.btn{display:none}.main-nav{padding:88px 22px 30px;justify-content:flex-start}.main-nav>a{font-size:31px}.hero-grid{min-height:auto;padding:54px 0}.hero h1{font-size:53px}.hero-lead{font-size:17px}.hero-visual{height:400px}.stats-grid{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:18px}.benefit-grid,.project-grid,.gallery-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.calc-form,.calc-result{padding:29px 21px}.options,.checks{grid-template-columns:1fr}.lead-form{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin:7px 0}.page-intro{padding:55px 0}.gallery-preview{height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-init{opacity:1;transform:none;transition:none}}
