
:root{--ink:#252b27;--paper:#f5f2e9;--muted:#61665c;--line:#d7d8cd;--accent:#af4d32;--cream:#e7dcc0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c77a32;outline-offset:5px}nav,.wrap{width:min(1240px,90%);margin:auto}header{position:sticky;top:0;background:#f5f2e9f5;z-index:5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:22px}.brand{text-decoration:none;font-size:26px;font-weight:800;letter-spacing:3px;display:flex;align-items:center;gap:12px}.brand svg{width:30px;height:36px}.links{display:flex;gap:30px;align-items:center}.links a{text-decoration:none;font-size:14px}.phone{text-decoration:none;font-size:14px;font-weight:bold}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--accent);color:white;padding:15px 24px;text-decoration:none;border:1px solid var(--accent);cursor:pointer;font-weight:600;font-size:14px}.btn:hover{background:#913d27}.btn.outline{background:transparent;border-color:#abb0a3;color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:bold;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:26px;height:2px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.2vw,88px);line-height:1.04;letter-spacing:-4px;font-weight:500;margin:30px 0}h1 em,h2 em{font-family:Georgia,serif;font-weight:normal}h2{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-2px;font-weight:500;margin:22px 0 25px}h3{font-size:23px;line-height:1.3;font-weight:500}.hero{padding:65px 0 0;overflow:hidden}.hero-top{display:grid;grid-template-columns:1.1fr .9fr;gap:5%;align-items:center}.intro{color:var(--muted);max-width:400px;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.location{font-size:12px;color:var(--muted)}.visual{position:relative;margin-top:32px;background:#dedfd1;overflow:hidden}.visual svg{width:100%;display:block;height:auto}.visual-label{position:absolute;bottom:20px;left:25px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:2px;background:#252b27b8;padding:7px 12px}.hero-caption{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}section{padding:100px 0}.section-top{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:40px}.section-top p{color:var(--muted);max-width:440px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:32px 28px 20px 0;border-bottom:1px solid var(--line)}.service+.service{border-left:1px solid var(--line);padding-left:28px}.num{font:12px/1 Arial;color:var(--accent);display:block;margin-bottom:42px}.service p{font-size:14px;color:var(--muted)}.service svg{width:60px;height:55px;margin-bottom:25px;stroke:var(--ink);fill:none;stroke-width:1.5}.dark{background:var(--ink);color:var(--paper)}.dark .eyebrow{color:var(--cream)}.dark p{color:#c4c8bc}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.steps{border-top:1px solid #566052}.step{display:grid;grid-template-columns:40px 1fr;gap:20px;border-bottom:1px solid #566052;padding:26px 0}.step span{color:#c99575;font-size:12px}.step h3{margin-bottom:10px}.step p{font-size:14px;margin-bottom:0}.region{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.region-art{background:#e8e8dc;min-height:350px;display:flex;align-items:center;justify-content:center;position:relative}.region-art svg{width:230px;height:300px}.region-art p{position:absolute;bottom:12px;font-size:11px;letter-spacing:2px;text-transform:uppercase}.towns{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.towns span{border:1px solid var(--line);padding:5px 11px;font-size:12px}.region-copy p{color:var(--muted)}.faq{padding-top:0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';color:var(--accent)}details[open] summary:after{content:'−'}details p{margin:18px 20px 0 0;color:var(--muted);font-size:14px}.contact{background:#e8e3d5}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-phone{display:block;font-size:clamp(30px,4vw,46px);text-decoration:none;letter-spacing:-1px;margin:25px 0 8px}.mail{display:block;font-size:15px;text-underline-offset:4px;margin:6px 0}.contact-note{font-size:13px;color:var(--muted);max-width:370px;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;margin-bottom:16px}input,select,textarea{width:100%;display:block;border:0;border-bottom:1px solid #b3b6a7;background:#f5f2e97a;border-radius:0;padding:11px;margin-top:6px;color:var(--ink)}textarea{resize:vertical;min-height:105px}.form-note{font-size:12px;color:var(--muted);margin:15px 0}.form-submit{width:100%}footer{padding:32px 0}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px}.footer-line .brand{font-size:19px}.footer-line p{margin:0;color:var(--muted)}.mobile-call{display:none}.skip{position:absolute;left:10px;top:-70px;background:white;padding:10px;z-index:9}.skip:focus{top:10px}@media(min-width:1500px){.visual svg{max-height:530px}}@media(max-width:800px){nav{min-height:74px}.links{display:none}.brand{font-size:22px}.hero{padding-top:40px}.hero-top,.section-top,.process,.region,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:30px}h1{letter-spacing:-2.5px;margin-top:24px}.intro{max-width:560px}.visual{margin-top:22px}.visual svg{width:150%;max-width:none;margin-left:-25%}.visual-label{left:12px;bottom:12px;font-size:8px}.hero-caption{font-size:10px}.services{grid-template-columns:1fr}.service,.service+.service{padding:26px 0;border-left:0}.num{margin-bottom:20px}.service svg{float:right;margin:0 15px}.service p{max-width:530px}section{padding:65px 0}.region-art{min-height:300px}.faq{padding-top:0}.footer-line{align-items:start;flex-direction:column}footer{padding-bottom:85px}.mobile-call{display:block;position:fixed;bottom:12px;left:5%;right:5%;z-index:6;text-align:center;box-shadow:0 4px 25px #0003}.contact-grid{gap:40px}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.quote{padding-top:0}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.quote ol{padding-left:22px}.quote li{margin-bottom:20px;color:var(--muted)}.quote li strong{color:var(--ink)}.quote-box{background:#e8e3d5;padding:30px}.privacy{padding-top:35px;padding-bottom:15px}.trap{position:absolute;left:-10000px}.form-submit:disabled{opacity:.65;cursor:wait}#form-status{font-size:15px;font-weight:bold}.visual svg{max-height:360px}.service a{font-size:14px;text-underline-offset:4px}@media(max-width:800px){.quote-grid{grid-template-columns:1fr;gap:20px}.visual svg{max-height:none}} .portfolio{padding-top:0}.project-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.project-filters button{border:1px solid var(--line);padding:10px 16px;color:var(--ink);background:transparent;cursor:pointer;font-size:13px}.project-filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-filters span{margin-left:12px;opacity:.65}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.project[hidden]{display:none}.project-open{padding:0;border:0;background:transparent;color:var(--ink);text-align:left;width:100%;cursor:pointer}.project-image{position:relative;display:block;overflow:hidden;background:#e0e1d6;aspect-ratio:4/3}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.project-open:hover img{transform:scale(1.035)}.project-count{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:5px 11px;font-size:11px}.project-heading{display:flex;align-items:center;justify-content:space-between;font-size:26px;margin-top:18px}.project-heading strong{font-weight:500}.project-subtitle{display:block;font-size:12px;color:var(--accent);margin:4px 0 12px}.project p{color:var(--muted);font-size:14px;margin-bottom:0}.project-cta{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.project-cta p{margin:0;font-size:19px}#gallery-dialog{width:min(1100px,96vw);max-height:94dvh;border:0;background:var(--paper);color:var(--ink);padding:22px;overflow:auto}#gallery-dialog::backdrop{background:#141b17e8}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.gallery-top h3{margin:0;font-size:28px}.gallery-top .eyebrow{margin:0 0 8px;font-size:9px}.gallery-top button{border:1px solid var(--line);padding:10px 15px;cursor:pointer;background:transparent}.gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#202620;min-height:220px}.gallery-stage img{display:block;max-width:100%;max-height:58dvh;object-fit:contain;margin:auto}.gallery-stage button{position:absolute;top:45%;border:0;border-radius:50%;height:42px;width:42px;background:#f5f2e9eb;font-size:22px;cursor:pointer;z-index:1}#gallery-prev{left:12px}#gallery-next{right:12px}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin:10px 0}.gallery-bottom p{margin:0}#gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:3px}#gallery-thumbs button{flex:0 0 76px;border:2px solid transparent;background:transparent;padding:0;cursor:pointer}#gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}#gallery-thumbs img{width:72px;height:54px;object-fit:cover;display:block}body.gallery-open{overflow:hidden}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.links{gap:16px}}@media(max-width:600px){.project-grid{grid-template-columns:1fr;gap:32px}.project-cta{align-items:stretch;flex-direction:column}.project-filters{gap:7px}.project-filters button{padding:8px 10px;font-size:11px}.project-filters span{margin-left:6px}#gallery-dialog{padding:12px}.gallery-bottom{flex-direction:column;gap:4px}.gallery-stage img{max-height:55dvh}}@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}
.build-form{max-width:880px;padding:48px 0 70px}.build-form h1{font-size:clamp(36px,6vw,62px);letter-spacing:-2px}.build-form fieldset{border:0;border-top:1px solid var(--line);padding:28px 0;margin:24px 0}.build-form legend{font-size:23px;padding-right:20px}.build-form input{font-size:18px}.build-form small{display:block;color:var(--muted);margin:6px 0}.build-form .form-row{gap:24px}.notice{background:#e8e3d5;padding:20px}.error{color:#963323}.build-form button{margin-top:15px}
body{background:#f4f1e9}.build-form{max-width:1040px;padding:48px 0 70px}.build-form>p{max-width:730px}.build-form h1{font-size:clamp(42px,6vw,68px);line-height:1.08;margin:25px 0}.form-progress{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;font-size:12px;color:#647268}.form-progress span{border:1px solid #d5dcd4;padding:7px 14px;border-radius:30px}.form-progress .current{background:#263c32;color:#fff;border-color:#263c32}.form-card{background:#fffdf8;border:1px solid #e2dfd3;border-radius:18px;padding:28px!important;margin:22px 0;box-shadow:0 8px 24px #283b2d05}.card-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.card-number{display:grid;place-items:center;background:#eaf0e9;color:#365143;border-radius:12px;width:44px;height:44px;flex-shrink:0;font-size:14px;font-weight:700}.card-header h2{font:500 24px/1.25 Arial,sans-serif;letter-spacing:-.4px;margin:0 0 6px}.card-header p{font-size:13px;color:#6c7268;margin:0}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.area-field label{font-size:14px;font-weight:600;min-height:46px;margin-bottom:8px}.input-unit{position:relative}.input-unit input{background:#f5f5ef;border:1px solid #d4d9ce;border-radius:10px;margin:0;padding:14px 54px 14px 15px;min-height:58px;font-size:22px!important}.input-unit span{position:absolute;right:16px;top:15px;color:#73796e}.area-field small{font-size:11px!important;line-height:1.5;margin:10px 0 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.build-form fieldset.choice-row{display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e1e3d8;border-radius:12px;margin:0;padding:18px;min-width:0}.choice-row legend{float:left;width:100%;font-size:15px;font-weight:600;line-height:1.45;padding:0;margin:0 0 18px}.choice-options{display:flex;gap:10px;clear:both}.choice-pill{flex:1;position:relative;margin:0;cursor:pointer}.choice-pill input{position:absolute;opacity:0;width:1px;height:1px}.choice-pill span{display:block;border:1px solid #d3d8cd;border-radius:9px;background:#fff;text-align:center;padding:12px 16px;font-size:13px;font-weight:700;transition:background .15s}.choice-pill input:checked+span{background:#284c3b;color:white;border-color:#284c3b;box-shadow:0 3px 9px #284c3b20}.choice-pill input:focus-visible+span{outline:3px solid #bb7652;outline-offset:3px}.choice-pill:hover span{border-color:#284c3b}.build-form .btn{border-radius:10px;min-height:54px;padding:16px 28px}.build-form .notice{border-radius:16px}.build-form .form-note{line-height:1.6}.build-form form>.form-note{max-width:790px}@media(max-width:700px){.area-grid,.choice-grid{grid-template-columns:1fr}.form-card{padding:20px!important}.area-field label{min-height:0}.build-form{padding-top:28px}.card-header h2{font-size:22px}.build-form form>.btn{width:100%}}
