:root { --ink:#10251e; --cream:#f6f2e9; --lime:#d8ff61; --teal:#174d40; --muted:#66756f; --line:#dfe4dc; --paper:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.site-header { height:86px; padding:0 clamp(20px,5vw,78px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(16,37,30,.12); background:rgba(246,242,233,.92); backdrop-filter:blur(16px); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; line-height:1; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; background:var(--ink); color:var(--lime); border-radius:12px; font-weight:900; letter-spacing:-1px; }
.brand strong { display:block; font-size:14px; letter-spacing:.14em; }
.brand small { display:block; font-size:8px; letter-spacing:.25em; margin-top:5px; color:var(--muted); }
nav { display:flex; gap:32px; font-size:14px; font-weight:700; }
nav a:hover { opacity:.62; }
.call-pill { border:1px solid var(--ink); border-radius:999px; padding:12px 18px; font-size:13px; font-weight:800; }
.hero { min-height:690px; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:4vw; padding:70px clamp(20px,7vw,110px) 80px; overflow:hidden; }
.hero-copy { max-width:680px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:#397061; font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow i { width:8px; height:8px; border-radius:50%; background:#61b893; box-shadow:0 0 0 5px rgba(97,184,147,.16); }
h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(58px,7vw,105px); line-height:.88; letter-spacing:-.065em; margin:28px 0; font-weight:500; }
h1 em { color:#2b6b58; font-weight:500; }
.hero-copy>p { max-width:590px; font-size:clamp(18px,2vw,23px); line-height:1.55; color:#4d5c57; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin:35px 0; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; padding:0 22px; font-size:14px; font-weight:900; border:0; cursor:pointer; }
.button.primary { background:var(--ink); color:#fff; gap:35px; box-shadow:0 12px 24px rgba(16,37,30,.16); }
.button.primary span { color:var(--lime); }
.button.secondary { border:1px solid #b8c1ba; background:transparent; }
.trust-row { display:flex; flex-wrap:wrap; gap:20px; font-size:12px; font-weight:800; color:#52615c; }
.trust-row span::first-letter { color:#2b8064; }
.hero-scene { min-height:510px; display:grid; place-items:center; position:relative; }
.hero-scene::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:#dfe9d9; transform:translate(8%,-2%); }
.room-card { width:min(540px,100%); aspect-ratio:1.02; background:linear-gradient(145deg,#d5c8b4,#efe8dc); border-radius:140px 24px 24px 24px; position:relative; overflow:hidden; box-shadow:0 32px 70px rgba(38,58,47,.22); }
.room-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:28%; background:linear-gradient(155deg,#b9855a,#d3ad84); clip-path:polygon(0 30%,100% 0,100% 100%,0 100%); }
.wall-art { position:absolute; top:34px; left:38px; width:68px; height:84px; display:grid; place-items:center; border:8px solid #f6f0e7; background:#235342; color:#d8ff61; font-family:Georgia,serif; font-size:24px; }
.tv { position:absolute; top:116px; left:19%; width:63%; height:42%; border:9px solid #17231f; border-radius:6px; background:linear-gradient(145deg,#214e44,#081a17); box-shadow:0 18px 22px rgba(0,0,0,.18); display:grid; place-items:center; color:rgba(255,255,255,.35); font-size:10px; letter-spacing:.3em; }
.console { position:absolute; z-index:2; left:13%; bottom:17%; width:71%; height:19%; background:#5d3f2e; border-radius:4px; display:flex; align-items:center; justify-content:space-around; box-shadow:0 18px 20px rgba(61,36,19,.2); }
.console i { width:24%; height:55%; border:2px solid rgba(255,255,255,.12); }
.plant { position:absolute; right:6%; bottom:18%; z-index:3; width:95px; height:170px; }
.plant span { position:absolute; bottom:0; left:22px; width:57px; height:60px; background:#b96843; clip-path:polygon(0 0,100% 0,82% 100%,18% 100%); }
.plant b { position:absolute; width:64px; height:28px; background:#365f45; border-radius:100% 0 100% 0; transform-origin:right center; }
.plant b:nth-child(1){top:25px;left:0;transform:rotate(25deg)} .plant b:nth-child(2){top:58px;right:0;transform:rotate(145deg)} .plant b:nth-child(3){top:88px;left:2px;transform:rotate(15deg)}
.estimate-bubble { position:absolute; z-index:5; right:16px; top:30px; width:195px; padding:16px; background:rgba(255,255,255,.94); border-radius:14px; box-shadow:0 16px 40px rgba(26,43,36,.2); }
.estimate-bubble small,.estimate-bubble strong,.estimate-bubble span { display:block; }
.estimate-bubble small { font-size:9px; letter-spacing:.16em; color:#6c7d76; font-weight:900; }
.estimate-bubble strong { margin:7px 0; font-size:15px; }.estimate-bubble span{font-size:11px;color:#3d725f;font-weight:800}
.section { padding:100px clamp(20px,7vw,110px); }
.services { background:var(--paper); }
.section-heading { max-width:720px; margin-bottom:45px; }
.section-heading h2,.estimate-intro h2,.success h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,5vw,68px); line-height:1; letter-spacing:-.045em; margin:16px 0; font-weight:500; }
.section-heading p { color:var(--muted); font-size:18px; line-height:1.55; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid var(--line); border-top:1px solid var(--line); }
.service-card { min-height:250px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.2s ease; background:#fff; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(20,50,40,.08); position:relative; z-index:2; }
.service-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:10px; background:#edf4e9; color:#2c6d58; font-size:23px; }
.service-card h3 { font-size:19px; margin:25px 0 9px; }.service-card p{font-size:14px;line-height:1.55;color:var(--muted);max-width:260px}.service-card b{font-size:12px;color:#2b6b58;display:inline-block;margin-top:10px}
.how { background:#e7edde; }.section-heading.compact{max-width:850px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{background:rgba(255,255,255,.62);padding:32px;border-radius:16px;min-height:230px}.steps article>span{color:#3a725f;font-family:Georgia,serif;font-size:18px}.steps h3{font-size:20px;margin-top:58px}.steps p{color:var(--muted);font-size:14px;line-height:1.55}
.estimate-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,7vw,100px); background:var(--teal); color:#fff; padding:100px clamp(20px,7vw,110px); }
.eyebrow.light { color:#b8d9cb; }.estimate-intro h2{font-size:clamp(42px,5vw,66px)}.estimate-intro>p{color:#c8d9d2;line-height:1.65;font-size:16px;max-width:520px}
.safety-note { display:flex; gap:16px; border-top:1px solid rgba(255,255,255,.18); margin-top:32px; padding-top:25px; }.safety-note>span{width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:22px;flex:none}.safety-note strong{font-size:14px}.safety-note p{font-size:13px;line-height:1.5;color:#b8ccc4;margin:5px 0}
.form-shell { background:var(--paper); color:var(--ink); border-radius:20px; padding:clamp(24px,4vw,45px); box-shadow:0 30px 70px rgba(4,22,16,.25); }
.form-top{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}.form-top div span,.form-top div strong{display:block}.form-top div span{font-size:10px;letter-spacing:.18em;color:#477263;font-weight:900}.form-top div strong{font-family:Georgia,serif;font-size:27px;margin-top:7px}.step-chip{font-size:11px;background:#edf2e9;padding:8px 10px;border-radius:999px;color:#52615c;font-weight:800}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:12px;font-weight:900;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7d0;background:#fff;border-radius:9px;padding:13px 14px;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3f806b;box-shadow:0 0 0 3px rgba(63,128,107,.12)}.field textarea{min-height:108px;resize:vertical}
.upload-box{min-height:130px;border:1.5px dashed #9fb3a8;background:#f2f6ef;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.upload-box input{position:absolute;opacity:0;pointer-events:none}.upload-box b{font-size:28px;color:#3f806b}.upload-box strong{font-size:13px}.upload-box small{font-size:10px;color:#7a8983;margin-top:5px}.previews{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.previews div{min-width:0}.previews img{width:100%;height:72px;object-fit:cover;border-radius:8px;display:block}.previews span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.45;color:#5f6d68;margin:4px 0 16px}.check input{margin-top:2px}.honey{position:absolute;left:-9999px;opacity:0}.form-error{background:#fff0ef;color:#9a3029;padding:11px;border-radius:8px;font-size:12px}.submit-button{width:100%;min-height:55px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.submit-button span{color:var(--lime);font-size:20px}.submit-button:disabled{opacity:.65;cursor:wait}.form-foot{text-align:center;color:#77837f;font-size:10px;margin:12px 0 0}
.success{text-align:center;padding:35px 8px}.success-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:#def2aa;color:#234b3e;font-size:32px}.success>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#5d6e67;max-width:550px;margin:18px auto}.success h2{font-size:52px}.reference{background:#eef2ea;border-radius:9px;padding:12px;margin:22px auto;max-width:360px;font-size:12px;color:#68766f}.success .button{margin-top:5px}
.hidden{display:none!important}.privacy{max-width:720px;margin:0 auto;padding:60px 20px;line-height:1.7}.privacy h1{font-size:48px;line-height:1;margin-bottom:22px}.privacy h2{font-family:Georgia,serif;margin-top:32px}.privacy p,.privacy li{color:#54645e}.back-link{display:inline-block;margin-bottom:25px;font-weight:900;color:#2b6b58}
footer{padding:48px clamp(20px,7vw,110px);background:#0c201a;color:#dfe9e4;display:grid;grid-template-columns:1.3fr 1fr auto;gap:25px;align-items:center}footer .brand-mark{background:var(--lime);color:var(--ink)}footer .brand small{color:#9bb0a8}footer p,footer small{font-size:12px;color:#9bb0a8}footer a{font-weight:900}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-scene{min-height:440px}.service-grid{grid-template-columns:repeat(2,1fr)}.estimate-section{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps article{min-height:auto}.steps h3{margin-top:25px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.site-header{height:72px}.call-pill{font-size:0;padding:10px 13px}.call-pill::after{content:"Call";font-size:13px}.hero{padding-bottom:55px}.hero-actions{display:grid}.button{width:100%}.hero-scene{min-height:330px}.room-card{border-radius:90px 18px 18px 18px}.estimate-bubble{width:160px}.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.section{padding-top:70px;padding-bottom:70px}.field-row{grid-template-columns:1fr;gap:0}.estimate-section{padding-top:70px;padding-bottom:70px}.form-shell{padding:22px 16px}.form-top{display:block}.step-chip{display:inline-block;margin-top:12px}footer{grid-template-columns:1fr}.trust-row{display:grid;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
