:root{--paper:#f7f8f4;--ink:#20382f;--green:#254d3d;--lime:#d9e9a1;--line:#ccd5c9;--gray:#53655a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}:focus-visible{outline:3px solid #a35412;outline-offset:5px}.wrap{max-width:1180px;margin:auto;padding-left:36px;padding-right:36px}.draft{font-size:13px;text-align:center;background:var(--lime);padding:8px 20px}.header{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:24px}.brand{font-weight:800;letter-spacing:-.6px;font-size:21px;text-decoration:none;max-width:280px}nav{display:flex;gap:30px;font-size:14px}nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding-top:65px;padding-bottom:100px}.location{font-size:17px;margin:0 0 25px}h1{font-size:clamp(42px,5.4vw,70px);line-height:1.04;letter-spacing:-3px;font-weight:800;margin:0 0 28px}.intro{max-width:350px;color:var(--gray);font-size:18px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:white;padding:16px 24px;border:0;border-radius:5px;text-decoration:none;font-weight:600}.button span{font-size:22px}.masonry{position:relative;height:440px;background:#dce5d8;border-radius:180px 180px 8px 8px;overflow:hidden}.arch{position:absolute;top:63px;left:22%;width:56%;height:330px;background:var(--paper);border-radius:130px 130px 0 0;border:36px solid #9cad99;border-bottom:0}.brick{position:absolute;height:50px;background:#bac9b4;border:2px solid #dce5d8;bottom:0;width:50%}.b1{left:0;bottom:50px}.b2{left:50%;bottom:50px}.b3{width:100%;height:50px;background:#8fa386}.masonry span{position:absolute;bottom:12px;width:100%;text-align:center;color:#193326;font-size:14px}.services{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:30px;padding-bottom:35px;display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:20px}.services h2{font-size:22px;letter-spacing:-.6px}.services>div{display:flex;flex-wrap:wrap;gap:12px}.service{padding:7px 16px;border:1px solid #aabbaa;border-radius:30px;font-size:15px}.portfolio{padding-top:80px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px}h2{font-size:40px;line-height:1.15;letter-spacing:-1.5px}.section-head p{color:var(--gray)}#gallery-status{background:#edf0e9;border-radius:6px;padding:35px;color:var(--gray)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.work h3{font-size:21px;line-height:1.3;margin:16px 0 8px}.work p{color:var(--gray);white-space:pre-line;overflow-wrap:anywhere}.work button.photo{display:block;width:100%;padding:0;border:0;border-radius:5px;overflow:hidden;background:#e3e8df;position:relative}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo span{position:absolute;bottom:12px;right:12px;background:white;padding:3px 10px;border-radius:30px;font-size:13px}.contact{background:var(--green);color:var(--paper);padding:65px 0 75px}.contact h2{font-size:clamp(38px,5vw,60px);margin:20px 0}.contact .button{background:var(--lime);color:var(--ink);margin-top:16px}footer{display:flex;justify-content:space-between;gap:20px;padding-top:35px;padding-bottom:35px;font-size:13px}.secondary{background:transparent;border:1px solid #849784;border-radius:5px;padding:11px 18px;color:var(--ink);margin-top:20px}dialog{border:0;border-radius:8px;max-width:850px;width:92%;max-height:90vh;padding:24px;background:var(--paper)}dialog::backdrop{background:#102017c9}dialog img{width:100%;display:block;margin-bottom:15px}#close-viewer{float:right;background:transparent;border:0;padding:10px}.admin{max-width:720px;padding-top:30px;padding-bottom:70px}.admin h1{font-size:42px;letter-spacing:-1.8px}.admin label{display:block;font-weight:600;margin-top:22px}.admin input,.admin textarea{display:block;width:100%;background:white;border:1px solid #92a18e;border-radius:5px;padding:14px;color:var(--ink);margin-top:6px}.admin textarea{min-height:100px;resize:vertical}.admin .button{margin-top:25px}.help{font-size:14px;color:var(--gray)}#message{padding:12px 0;font-weight:600}#previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}#previews img{width:90px;height:90px;object-fit:cover;border-radius:5px}.admin .gallery{grid-template-columns:1fr 1fr}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{margin-top:5px;font-size:14px}.error{color:#9a2719}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.header{min-height:90px}.brand{font-size:18px;max-width:180px}nav{gap:15px}nav a:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:35px}h1{letter-spacing:-2px}.masonry{height:240px;border-radius:130px 130px 5px 5px;max-width:400px;width:100%;margin:auto}.arch{height:230px;top:35px;width:50%;left:25%;border-width:27px}.services{grid-template-columns:1fr;gap:0}.portfolio{padding-top:40px;padding-bottom:50px}.section-head{display:block}h2{font-size:32px}.gallery{grid-template-columns:1fr}.admin .gallery{grid-template-columns:1fr}.contact{padding:40px 0 50px}footer{flex-direction:column}.admin h1{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
