:root{--green:#173b2d;--green2:#315b42;--gold:#b58a42;--cream:#f7f5ef;--ink:#203128}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:1280px;margin:auto;padding:0 32px}.top{height:86px;padding:0 max(24px,calc((100vw - 1380px)/2));display:flex;align-items:center;justify-content:space-between;gap:22px;background:white;position:sticky;top:0;z-index:10;box-shadow:0 3px 20px #122b1b0c}.brand{display:flex;align-items:center;gap:8px;white-space:nowrap}.mark{font-size:48px;color:var(--green2);line-height:1}.brand strong{font:600 23px Georgia,serif;letter-spacing:.01em}.brand em{font-style:normal;color:var(--gold)}.brand i{font-style:normal;color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:2.3px;margin-top:3px}nav{display:flex;gap:24px;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.top-actions{display:flex;align-items:center;gap:8px}.lang{background:none;border:0;color:#77847b;cursor:pointer;padding:4px;font-size:12px}.lang.active{color:var(--green);font-weight:700}.sep{color:#bbb}.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:linear-gradient(125deg,#c6a15d,#9e742e);color:#fff;border-radius:40px;padding:15px 24px;font-weight:700;font-size:13px;cursor:pointer;transition:transform .2s}.pill:hover{transform:translateY(-2px)}.hamb{display:none;background:none;border:0;font-size:24px}.hero{min-height:580px;display:grid;grid-template-columns:32% 36% 32%;overflow:hidden;background:#f5f5ed}.hero-photo{background-size:cover;background-position:center}.garden{background-image:url('assets/hero-garden.webp')}.paint{background-image:url('assets/hero-paint.webp')}.hero-center{position:relative;text-align:center;padding:72px 18px 35px;background:linear-gradient(90deg,#f6f5ecdc,#faf9f4 24%,#faf9f4 76%,#f6f5ecdc);display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-leaf{font-size:76px;color:var(--green2);line-height:.8}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.7px;color:var(--gold)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.15}h1{font-size:clamp(35px,3.3vw,58px);margin:17px 0}h2{font-size:clamp(29px,3vw,44px);margin:10px 0 28px}.hero-sub{font-size:17px;line-height:1.6;color:#536159;max-width:410px}.hero-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 30px}.outline{border:1px solid var(--green);border-radius:40px;padding:14px 22px;font-size:13px;font-weight:700}.location{font-size:11px;letter-spacing:2px;color:var(--green)}.services{padding-top:90px;padding-bottom:90px;text-align:center}.services h2{max-width:780px;margin:12px auto 45px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.service-grid article{padding:10px 23px;text-align:left;border-right:1px solid #ddd9cd}.service-grid article:last-child{border:0}.service-icon{font-size:43px;color:var(--green2);display:block;height:58px}.service-grid h3{font-size:16px;line-height:1.3}.service-grid p{font-size:13px;line-height:1.6;color:#6a746d}.projects{background:var(--cream);padding:85px 0 100px}.section-line{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-line p{font-size:12px;color:#7a827c;max-width:310px;line-height:1.5}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0;background:white;overflow:hidden;border-radius:9px;box-shadow:0 6px 24px #172b1c0d}.gallery img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .4s}.gallery figure:hover img{transform:scale(1.04)}figcaption{padding:16px 18px;font-weight:700;font-size:14px}.about{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.about-art{position:relative}.about-art img{width:100%;height:420px;object-fit:cover;border-radius:8px}.art-tag{position:absolute;bottom:-20px;right:-20px;background:var(--green);color:white;padding:22px 26px;font:24px Georgia,serif}.art-tag span{color:var(--gold)}.about-copy p:not(.eyebrow){line-height:1.9;color:#657168}.text-link{display:inline-block;margin-top:25px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:7px}.contact{background:var(--green);color:white;padding:95px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:48px;max-width:500px}.contact p{color:#d3dfd4;line-height:1.8}.gold{color:#d3b475}.contact-number{font-size:25px;font-weight:700;display:block;margin-top:30px}.contact-area{margin-bottom:30px}.gold-btn{margin-top:8px}form{background:white;color:var(--ink);padding:32px;border-radius:10px;display:flex;flex-direction:column;gap:9px}form label{font-size:12px;font-weight:700;margin-top:7px}form input,form textarea,form select{border:1px solid #d9ded8;border-radius:5px;padding:12px 13px;width:100%;background:#fff}form input:focus,form textarea:focus,form select:focus{outline:2px solid #bda064}form .submit{margin-top:12px;width:100%}form small{font-size:11px;color:#7a847d;line-height:1.5}footer{background:#0e291f;color:white}.foot{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:32px;padding-bottom:32px;font-size:12px}.foot .brand strong{font-size:18px}.foot .mark{font-size:36px}.float-wa{position:fixed;bottom:25px;right:25px;z-index:20;background:#20c767;color:white;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:34px;box-shadow:0 5px 22px #0003;border:3px solid white}@media(max-width:1100px){nav{gap:12px}.top{padding:0 18px}.brand strong{font-size:18px}.top-actions .pill{padding:12px}.hero{grid-template-columns:30% 40% 30%}.service-grid article{padding:10px}}@media(max-width:800px){.top{height:72px}.hamb{display:block;order:3}.top-actions{margin-left:auto}.top-actions .pill{display:none}nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:25px;flex-direction:column;box-shadow:0 10px 15px #0001}nav.open{display:flex}.hero{display:flex;flex-direction:column}.hero-photo.garden{height:235px}.hero-photo.paint{display:none}.hero-center{padding:45px 24px 48px}.hero-leaf{font-size:50px}.services{padding-top:65px;padding-bottom:65px}.service-grid{grid-template-columns:repeat(2,1fr);gap:25px}.service-grid article{border:0;border-bottom:1px solid #ddd9cd}.gallery{grid-template-columns:repeat(2,1fr)}.about,.contact-grid{grid-template-columns:1fr;gap:45px}.about{padding-top:75px;padding-bottom:75px}.contact{padding:65px 0}.contact h2{font-size:37px}.foot{flex-wrap:wrap}}@media(max-width:520px){.wrap{padding-left:20px;padding-right:20px}.brand strong{font-size:16px}.brand small{font-size:6px}.mark{font-size:37px}.hero-photo.garden{height:205px}.service-grid{grid-template-columns:1fr;gap:5px}.service-grid article{padding:15px 0}.service-icon{height:45px;font-size:35px}.gallery{grid-template-columns:1fr}.gallery img{height:240px}.section-line{display:block}.about-art img{height:310px}.art-tag{right:0}.contact-grid{gap:30px}form{padding:23px}.foot{flex-direction:column;align-items:start}.float-wa{bottom:16px;right:16px}}

/* Premium desktop montage; mobile keeps a readable, localized hero. */
.hero{display:block;min-height:0}.hero-montage{position:relative;background:#f7f5ef}.hero-montage>img{display:block;width:100%;height:auto}.montage-actions{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);display:flex;gap:14px;justify-content:center;white-space:nowrap}.montage-actions .outline{background:#fffffff0}.hero>.hero-photo,.hero>.hero-center{display:none}
@media(max-width:800px){.hero{display:flex;flex-direction:column}.hero-montage{display:none}.hero>.hero-photo.garden{display:block;height:230px;background-position:center 58%}.hero>.hero-center{display:flex;padding:38px 24px 45px}.hero>.hero-photo.paint{display:block;height:150px;background-position:center 50%}.hero-buttons{margin-bottom:18px}.hero-sub{font-size:16px}}
@media(min-width:801px) and (max-width:1100px){.montage-actions{bottom:2%}.montage-actions .pill,.montage-actions .outline{padding:10px 17px;font-size:12px}}
@media(max-width:520px){.hero>.hero-photo.garden{height:210px}.hero>.hero-photo.paint{height:130px}.hero-center h1{font-size:36px}}

/* Green & Color v3: understated motion, touch-friendly galleries */
:root{--ease:cubic-bezier(.2,.75,.2,1)}
body{overflow-x:hidden}section{scroll-margin-top:85px}
.top{transition:box-shadow .3s,background .3s}.top.scrolled{box-shadow:0 9px 30px #112d2225;background:#fffffff5;backdrop-filter:blur(14px)}
.brand .mark{display:inline-block;transform-origin:50% 80%;animation:leaf-greet 5s ease-in-out infinite}
@keyframes leaf-greet{0%,80%,100%{transform:rotate(0)}86%{transform:rotate(-10deg)}93%{transform:rotate(7deg)}}
.hero-montage{overflow:hidden;isolation:isolate}.hero-montage>img{animation:hero-enter 1.5s var(--ease) both;transform-origin:center}
@keyframes hero-enter{from{opacity:.35;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
.hero-shimmer{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fff8 48%,transparent 70%);opacity:0;transform:translateX(-110%);animation:light-pass 10s ease-in-out 2s infinite}
@keyframes light-pass{0%,78%{opacity:0;transform:translateX(-110%)}81%{opacity:.2}94%{opacity:.1}100%{opacity:0;transform:translateX(110%)}}
.montage-actions{z-index:2}.pill,.outline,.text-link{transition:transform .3s var(--ease),box-shadow .3s,background .3s}.pill:hover,.outline:hover{transform:translateY(-4px);box-shadow:0 12px 22px #163e2b2e}
.hero-photo{animation:hero-enter 1.25s var(--ease) both}.hero-center>*{animation:rise-in .85s var(--ease) both}.hero-center>*:nth-child(2){animation-delay:.12s}.hero-center>*:nth-child(3){animation-delay:.2s}.hero-center>*:nth-child(4){animation-delay:.28s}.hero-center>*:nth-child(5){animation-delay:.36s}
@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.service-grid article{transition:transform .35s var(--ease),box-shadow .35s,background .35s;border-radius:10px}.service-grid article:hover{transform:translateY(-8px);background:#f8f6ef;box-shadow:0 12px 32px #173b2d0b}.service-icon{display:inline-block;transition:transform .5s var(--ease)}.service-grid article:hover .service-icon{transform:rotate(-12deg) scale(1.14)}
.gallery figure{overflow:hidden;position:relative;cursor:zoom-in;transition:transform .35s var(--ease),box-shadow .35s}.gallery figure:hover{transform:translateY(-6px);box-shadow:0 16px 30px #163e2b25}.gallery img{transition:transform .8s var(--ease),filter .6s}.gallery figure:hover img{transform:scale(1.07);filter:saturate(1.1)}.gallery figure::after{content:'↗';position:absolute;right:15px;top:14px;display:grid;place-items:center;width:32px;height:32px;background:#fffdf2e8;color:#173b2d;border-radius:50%;opacity:0;transform:translateY(8px);transition:.3s}.gallery figure:hover::after{opacity:1;transform:translateY(0)}
.about-art img{transition:transform .8s var(--ease)}.about-art{overflow:hidden;border-radius:8px}.about-art:hover img{transform:scale(1.035)}.art-tag{transition:transform .35s}.about-art:hover .art-tag{transform:translateY(-5px)}
.float-wa{animation:wa-arrive .8s 1.2s both;transition:transform .25s,box-shadow .25s}.float-wa:hover{transform:scale(1.1);box-shadow:0 8px 28px #10a95180}@keyframes wa-arrive{from{opacity:0;transform:translateY(30px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:99;background:#071c17f2;display:flex;align-items:center;justify-content:center;padding:64px 75px 75px;animation:fade-in .2s}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;box-shadow:0 12px 55px #0008}.lightbox button{position:absolute;background:#ffffff20;color:white;border:1px solid #ffffff70;border-radius:50%;width:44px;height:44px;font-size:30px;cursor:pointer}.lightbox-close{right:20px;top:18px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-caption{position:absolute;bottom:12px;color:white;font-size:14px;text-align:center;left:12px;right:12px}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.hero-montage{display:none}.hero-photo.garden{background-position:center 58%}.gallery figure::after{opacity:1;transform:none}.service-grid article:hover,.gallery figure:hover{transform:none}.hero-center{overflow:hidden}}
@media(max-width:520px){.lightbox{padding:60px 44px}.lightbox button{width:36px;height:36px;font-size:25px}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* v4: restrained, responsive garden film */
.garden-film{background:#133629;color:#fff;padding:82px 0;overflow:hidden}.film-wrap{display:grid;grid-template-columns:1fr minmax(270px,420px);align-items:center;gap:clamp(32px,7vw,115px)}.film-copy h2{font-size:clamp(34px,4vw,58px);max-width:550px}.film-copy>p:not(.eyebrow){color:#d7e4d8;line-height:1.9;max-width:490px;margin-bottom:28px}.film-frame{height:460px;position:relative;overflow:hidden;border-radius:180px 180px 12px 12px;box-shadow:24px 25px 0 #ffffff0d;border:1px solid #ffffff33;background:#244c3a}.film-frame video{width:100%;height:100%;object-fit:cover;display:block}.film-frame::after{content:"";position:absolute;inset:45% 0 0;pointer-events:none;background:linear-gradient(transparent,#081c1499)}.film-frame-label{position:absolute;bottom:25px;left:28px;z-index:1;font:24px Georgia,serif;letter-spacing:1px}.film-frame-label b{color:#d5b26d}.film-frame-label small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:6px}.film-toggle{position:absolute;right:20px;bottom:20px;z-index:2;border:1px solid #fff9;background:#102e25bb;color:#fff;border-radius:50%;width:43px;height:43px;cursor:pointer;font-size:20px}.film-toggle:focus-visible{outline:3px solid #d5b26d;outline-offset:3px}@media(max-width:800px){.garden-film{padding:65px 0}.film-wrap{grid-template-columns:1fr;gap:30px}.film-frame{height:420px;width:min(100%,390px);margin:auto}.film-copy{text-align:center}.film-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}}@media(max-width:520px){.film-frame{height:390px;width:min(100%,330px)}}

/* Local SEO landing pages and accessible FAQs */
.service-detail-link{display:inline-block;margin-top:1rem;color:#24583d;font-weight:700;text-decoration:underline;text-underline-offset:4px}.seo-faq{padding:4rem 1.25rem 5rem}.seo-faq h2{max-width:760px;margin:0 0 2rem}.seo-faq details{border-bottom:1px solid #ddd;padding:1rem 0;max-width:850px}.seo-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem}.seo-faq details p{line-height:1.7;color:#445348}.service-landing{background:#f5f2e9;padding:7rem 0 5rem}.service-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:4rem}.service-layout h1{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.15;color:#173b2d}.service-layout h2{font-size:1.25rem;margin:1.5rem 0}.service-layout p{line-height:1.8;max-width:640px}.service-layout img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:0 16px 40px #173b2d25}.service-phone a{color:#173b2d;font-weight:700}.service-bottom{padding:4rem 1.25rem 6rem}.service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.service-links a{display:block;padding:1.1rem;border:1px solid #ddd;border-radius:12px;color:#173b2d;font-weight:700}.seo-nav{display:flex;gap:1.2rem}@media(max-width:850px){.service-layout{grid-template-columns:1fr;gap:2rem}.service-landing{padding:6rem 0 3rem}.service-links{grid-template-columns:1fr}.seo-nav{display:none}}

/* Preserve the montage while exposing its heading to assistive technology. */
.desktop-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:800px){.desktop-heading{display:none}}
:focus-visible{outline:3px solid #b58a42;outline-offset:4px}
.service-layout img{height:auto}
.contact-email{display:inline-block;font-size:1rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;max-width:100%}
.email-contact{margin:1rem 0 1.5rem}
.contact .contact-area{margin-bottom:.5rem}
