:root{--green:#183d2d;--lime:#bed48b;--cream:#f4f1e8;--ink:#172019;--muted:#607066;--line:#d9ddd4;--danger:#9e2e2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}.site-header nav{display:flex;gap:28px;font-weight:700;font-size:.9rem}.menu{display:none;border:0;background:none;font-size:1.6rem}.logo-brand{display:flex;align-items:center;line-height:0}.logo-brand img{display:block;width:auto;height:auto;max-width:min(300px,48vw);max-height:68px;object-fit:contain}.hero{min-height:92vh;display:grid;align-items:end;position:relative;overflow:hidden;padding:150px 7vw 8vw;color:#fff}.hero-bg{position:absolute;inset:0;background-position:center;background-size:cover}.hero-content{position:relative;max-width:770px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3.2rem,7vw,7rem);line-height:.92;margin:.25em 0}.hero p:not(.eyebrow){max-width:650px;font-size:1.15rem;line-height:1.65}.actions{display:flex;gap:12px;margin-top:32px}.btn{display:inline-block;padding:15px 22px;border-radius:999px;font-weight:700}.primary{background:var(--lime);color:var(--green)}.ghost{border:1px solid rgba(255,255,255,.55)}.intro{padding:110px 7vw;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end;background:var(--cream)}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,5rem);line-height:1.05;margin:.2em 0}.intro>p{font-size:1.1rem;line-height:1.8}.services{display:grid;grid-template-columns:repeat(4,1fr);padding:0 7vw 100px;background:var(--cream)}.services article{padding:35px 25px;border-top:1px solid #b7bdaf}.services article+article{border-left:1px solid #d2d6cc}.services span{color:#789056}.services h3{font-size:1.35rem}.services p{line-height:1.7;color:#526057}.portfolio{padding:110px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;flex-wrap:wrap}.gallery-hint{max-width:430px;color:var(--muted);line-height:1.6}.project-grid{margin-top:45px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{appearance:none;border:0;background:none;padding:0;position:relative;overflow:hidden;border-radius:8px;cursor:pointer;text-align:left;min-height:360px}.project-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;transition:.45s}.project-card:hover img{transform:scale(1.035)}.project-card>span{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.93);padding:13px 15px;border-radius:6px;font-weight:700;font-size:1.05rem}.project-card small{display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:3px}.cta{text-align:center;padding:120px 6vw;background:var(--green);color:#fff}.light{background:#fff;color:var(--green);margin-top:25px}.contact{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact p{line-height:1.8}.contact-links{display:grid}.contact-links a,.contact-links p{padding:22px 0;border-bottom:1px solid var(--line);font-size:1.5rem;margin:0}.contact-links small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#68736b;margin-bottom:5px}footer{padding:40px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:20px}footer nav{display:flex;gap:20px}.footer-logo img{max-width:300px;max-height:82px}.legal{max-width:950px;margin:0 auto;padding:140px 6vw 80px;line-height:1.7}.legal h1{font-family:Georgia,serif;font-size:3rem}.legal h2{font-family:Arial,sans-serif;font-size:1.35rem;margin-top:2em}.legal-note{margin-top:45px;padding:16px 18px;background:#fff5d8;border-left:4px solid #c9901e;font-size:.92rem}.gallery-modal{position:fixed;z-index:60;inset:0;background:rgba(8,18,12,.94);display:none;padding:3vh 3vw;color:#fff}.gallery-modal.open{display:grid;place-items:center}.gallery-dialog{width:min(1180px,100%);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px}.gallery-top{display:flex;align-items:center;justify-content:space-between}.gallery-top h3{font-size:1.4rem;margin:0}.gallery-close{border:0;background:none;color:#fff;font-size:2.8rem;cursor:pointer}.gallery-stage{min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;gap:12px}.gallery-stage>img{width:100%;height:min(68vh,760px);object-fit:contain}.gallery-prev,.gallery-next{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:2.2rem;cursor:pointer}.gallery-count{text-align:center;color:#dfe7e1}.gallery-thumbs{display:flex;gap:8px;overflow:auto;padding:4px 0 8px}.gallery-thumbs button{flex:0 0 78px;height:56px;border:2px solid transparent;border-radius:5px;padding:0;background:none;opacity:.6;overflow:hidden;cursor:pointer}.gallery-thumbs button.active{border-color:var(--lime);opacity:1}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.admin-link{font-size:.8rem;color:var(--muted)}
@media(max-width:850px){.site-header nav{display:none}.menu{display:block}.site-header.open nav{display:grid;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px 5vw}.intro,.contact{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{align-items:flex-start;flex-direction:column}.gallery-stage{grid-template-columns:44px minmax(0,1fr) 44px}.gallery-prev,.gallery-next{width:42px;height:42px}}
@media(max-width:560px){.site-header{height:78px}.logo-brand img{max-width:220px;max-height:58px}.site-header.open nav{top:78px}.footer-logo img{max-width:260px;max-height:74px}.services{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card,.project-card img{min-height:300px}.hero{padding-left:6vw}.actions{flex-direction:column;align-items:flex-start}.gallery-modal{padding:2vh 12px}.gallery-stage{grid-template-columns:1fr;position:relative}.gallery-stage>img{height:62vh}.gallery-prev,.gallery-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45)}.gallery-prev{left:5px}.gallery-next{right:5px}}
