/* ============ Outdoor Elements – Gardenn-style layout (Fernhill template) with the Solshine-style header (Lumora template), in the brand colours: gold #a38c55, sage #86ab89, black and white, Poppins ============ */
:root{--green:#141414;--green2:#1f1f1f;--leaf:#86ab89;--leaf2:#729a75;--lime:#a38c55;--lime2:#8c7845;--cream:#f6f4ee;--ink:#111111;--text:#4a4a44;--muted:#75756d;--line:rgba(17,17,17,.12);--container:1240px;--gutter:clamp(18px,3.4vw,44px);--display:'Poppins',system-ui,sans-serif;--body:'Poppins',system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);
--tools:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160' fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M20 60c0-22 14-36 38-38 0 24-14 38-38 38zM20 60c8-10 17-18 28-24'/%3E%3Cpath d='M118 30v44M106 42c0 10 5 16 12 16s12-6 12-16'/%3E%3Cpath d='M40 140c0-14 8-22 22-22 0 14-8 22-22 22zM96 108h30l-4 30h-22l-4-30zM104 108c0-8 3-13 7-13s7 5 7 13'/%3E%3C/svg%3E")}
*,*::before,*::after{box-sizing:border-box}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{margin:0;font-family:var(--body);font-size:16.500px;line-height:1.62;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul,ol{list-style:none;margin:0;padding:0}figure,blockquote{margin:0}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:500;color:var(--ink);letter-spacing:-.025em;line-height:1.12;margin:0 0 .5em}p{margin:0 0 1em}
#main,.footer{overflow-x:clip}
.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.h2{font-size:clamp(1.9rem,3.5vw,3rem);max-width:20ch}.head--center .h2{margin-inline:auto}
.sec{padding:clamp(70px,9vw,125px) 0}.sec--tight{padding-top:0}.sec--cream{background:var(--cream)}
.head{margin-bottom:clamp(30px,4.5vw,56px)}.head--center{text-align:center}.head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}.head--row .h2{margin:0}
.tag{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:3px 9px 3px 3px;margin:0 0 1.1rem;background:#fff}.tag b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:4px;background:var(--lime);color:var(--ink);font-weight:700;font-size:.66rem;padding:0 3px}
.tag--dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.tag--lime{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
mark{color:inherit;border-radius:9px;padding:0 .16em;margin:0 -.04em;background:linear-gradient(var(--green),var(--green)) no-repeat 0 50%/0% 88%;transition:background-size .9s var(--ease) .25s,color .5s .45s;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.is-visible mark,.no-anim mark{background-size:100% 88%;color:#fff}mark.mark--lime{background-image:linear-gradient(var(--lime),var(--lime))}.is-visible mark.mark--lime,.no-anim mark.mark--lime{color:var(--ink)}
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}.wi{display:inline-block}[data-parallax]{scale:1.14}
.stars{display:inline-flex;gap:1px;color:var(--lime2)}.sec--cream .stars,.rv .stars{color:var(--leaf)}
.avatar{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;font:600 .72rem var(--display);color:var(--ink);border:2px solid #fff;background:var(--lime);flex:none}.avatar--1{background:#f4d9b0}.avatar--2{background:#bfe0cf}.avatar--3{background:#f2c4bb}.avatar--4{background:#d5d0f0}.avatars{display:flex}.avatars .avatar+.avatar{margin-left:-10px}
/* buttons: boxed label + arrow box */
.btn{display:inline-flex;align-items:stretch;gap:4px;font-family:var(--display);font-weight:600;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;line-height:1}.btn>span{display:inline-flex;align-items:center;padding:.95rem 1.25rem;border-radius:6px;border:1px solid transparent;transition:.3s}.btn__ico{width:42px;border-radius:6px;border:1px solid transparent;display:grid;place-items:center;font-style:normal;transition:.35s var(--ease)}.btn:hover .btn__ico{transform:translateX(4px)}
.btn--primary>span,.btn--primary .btn__ico{background:var(--lime);color:var(--ink)}.btn--primary>span,.btn--primary .btn__ico{color:#fff}.btn--primary:hover>span,.btn--primary:hover .btn__ico{background:var(--lime2)}
.btn--outline>span,.btn--outline .btn__ico{border-color:var(--line);color:var(--ink);background:#fff}.btn--outline:hover>span,.btn--outline:hover .btn__ico{background:var(--green);color:#fff;border-color:var(--green)}
.btn--ghost>span,.btn--ghost .btn__ico{border-color:rgba(255,255,255,.3);color:#fff}.btn--ghost:hover>span,.btn--ghost:hover .btn__ico{background:var(--lime);color:var(--ink);border-color:var(--lime)}
/* nav: floating pill header (Solshine / Lumora style) that becomes a dark blurred bar on scroll */
.logo{display:inline-flex;align-items:center;line-height:1}.logo img{height:44px;width:auto;display:block}.logo--footer img{height:54px}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px var(--gutter);transition:transform .5s var(--ease)}.nav.is-hidden{transform:translateY(-120%)}
.nav__inner{max-width:var(--container);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:18px;transition:background .4s,padding .4s,box-shadow .4s}
.nav.is-scrolled .nav__inner{background:rgba(20,20,20,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:8px 8px 8px 18px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.nav__links{display:flex;gap:.2rem;padding:6px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(20,20,20,.32);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav.is-scrolled .nav__links{border-color:transparent;background:transparent}
.nav__links a{padding:.55rem 1rem;border-radius:9px;color:#fff;font-family:var(--display);font-size:.9rem;font-weight:500;transition:background .25s,color .25s}.nav__links a:hover{background:rgba(255,255,255,.12)}.nav__links a.is-current{background:var(--lime);color:#fff}
.nav__cta{flex:none}
.nav__burger{display:none;width:46px;height:46px;border:0;border-radius:12px;background:var(--lime);position:relative}.nav__burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:.35s var(--ease)}.nav__burger span:first-child{top:18px}.nav__burger span:last-child{bottom:18px}
body.menu-open .nav__burger span:first-child{transform:translateY(4px) rotate(45deg)}body.menu-open .nav__burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:1100px){.nav__links,.nav__cta{display:none}.nav__burger{display:block}}@media (max-width:480px){.logo img{height:36px}}
.menu-overlay{position:fixed;inset:0;z-index:90;background:var(--green) var(--tools);color:#fff;visibility:hidden;opacity:0;transition:opacity .45s var(--ease),visibility .45s;overflow:auto}.menu-overlay.is-open{visibility:visible;opacity:1}
.menu-overlay__inner{min-height:100%;padding:120px var(--gutter) 50px;display:grid;gap:40px;align-content:start}.menu-overlay__menu a{display:block;font-family:var(--display);font-weight:500;font-size:clamp(2rem,8vw,3.4rem);letter-spacing:-.03em;padding:.1em 0;color:#fff;transform:translateY(26px);opacity:0;transition:transform .6s var(--ease),opacity .6s,color .2s;transition-delay:calc(.05s*var(--i,1))}.menu-overlay.is-open .menu-overlay__menu a{transform:none;opacity:1}.menu-overlay__menu a:hover{color:var(--lime)}
.menu-overlay__sub{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.95rem;color:#b5b5ad}.menu-overlay__sub a:hover{color:var(--lime)}.menu-overlay__meta{display:grid;gap:.4rem;color:#b5b5ad}.menu-overlay__meta a{color:var(--lime)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:140px 0 0;color:#fff;background:var(--green);overflow:hidden}.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,28,8,.68) 0%,rgba(15,28,8,.25) 38%,rgba(15,28,8,.9) 100%)}
.hero__top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(10px,3vh,40px)}.hero__stat strong{display:block;font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.03em;line-height:1}.hero__stat>span{display:block;font-size:.9rem;color:#e6e6e0;margin:.35rem 0 1.2rem}
.hero__rating{display:flex;align-items:center;gap:.8rem}.hero__rating em{display:block;font-style:normal;font-size:.8rem;color:#e6e6e0}.hero__rating strong{display:block;font-family:var(--display);font-size:.95rem}.hero__brands{display:flex;gap:6px}.hero__brands .blogo{background:#fff;border-radius:8px;padding:6px 8px;height:34px;display:grid;place-items:center}.hero__brands img{height:100%;width:auto;max-width:72px;object-fit:contain}.hero__side{max-width:420px}.hero__side p{color:#ecece6;margin-bottom:1.3rem}.hero__actions{display:flex;flex-wrap:wrap;gap:10px}
.hero__word{position:relative;z-index:2;margin:0 0 clamp(6px,1.200vw,20px);padding:0 1.2vw;font-family:var(--display);font-weight:600;font-size:clamp(3.4rem,17.4vw,21rem);line-height:.8;letter-spacing:-.05em;text-transform:uppercase;color:#fff;white-space:nowrap;text-align:center}.hero__word .w{padding-bottom:0;margin-bottom:0;overflow:hidden}
@media (max-width:760px){.hero__top{flex-direction:column;align-items:flex-start}.hero{padding-top:110px}}
/* about */
.about__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}.feats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);padding-bottom:2rem;border-bottom:1px solid var(--line)}.feat__ico{width:60px;height:60px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-style:normal;margin-bottom:1.2rem}.feat__ico--dark{background:var(--leaf);color:#fff}.feat h3{font-size:1.2rem;margin-bottom:.4rem}.feat p{margin:0;font-size:.95rem;color:var(--muted)}
.about__row{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding-top:2rem}.about__num strong{display:block;font-family:var(--display);font-weight:600;font-size:clamp(4rem,7.500vw,6.600rem);letter-spacing:-.05em;line-height:.9;color:var(--lime)}.about__num span{font-weight:600;color:var(--ink);font-size:.9rem}.about__row p{font-size:.97rem;margin-bottom:1.2rem}
.about__media{border-radius:12px;overflow:hidden;aspect-ratio:1/1.02}.about__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.about__grid{grid-template-columns:1fr}.about__media{aspect-ratio:4/3;order:-1}}@media (max-width:560px){.feats,.about__row{grid-template-columns:1fr}}
/* services */
.services{background:var(--green) var(--tools);color:#c9c9c2}.services__side p{margin-bottom:1.6rem}.services__grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(30px,6vw,110px);align-items:start}.services__side{position:sticky;top:120px}.services__side .h2{color:#fff;margin-bottom:1.6rem}
.services__list{display:grid;gap:16px}.svcard{position:sticky;top:calc(104px + var(--i)*14px);background:#fff;border-radius:10px;padding:22px 24px;color:var(--text);box-shadow:0 -10px 40px rgba(0,0,0,.14)}.svcard header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}.svcard h3{font-size:1.45rem;margin:0}.svcard header span{font-family:var(--display);font-weight:600;font-size:.74rem;color:var(--muted)}
.svcard__body{display:grid;grid-template-columns:1fr 190px;gap:1.500rem;align-items:end}.svcard__body p{font-size:.95rem;margin-bottom:1.2rem}.svcard figure{border-radius:8px;overflow:hidden;aspect-ratio:1/1.1}.svcard img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.svcard:hover img{transform:scale(1.07)}
@media (max-width:900px){.services__grid{grid-template-columns:1fr}.services__side{position:static}.svcard{position:relative;top:auto}}@media (max-width:520px){.svcard__body{grid-template-columns:1fr}.svcard figure{aspect-ratio:16/10;order:-1}}
/* case studies */
.cs{display:grid;grid-template-columns:1fr .85fr;gap:clamp(20px,4vw,60px);align-items:center;border:1px solid var(--line);border-radius:12px;padding:clamp(18px,2.400vw,30px);margin-bottom:18px;transition:box-shadow .4s,border-color .4s}.cs:hover{box-shadow:0 24px 60px rgba(22,36,12,.1);border-color:transparent}
.cs__body h3{font-size:clamp(1.5rem,2.500vw,2.100rem);max-width:16ch}.cs__body>p{color:var(--muted);max-width:46ch}.cs__stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin-top:1.6rem;max-width:520px}.cs__stats strong{display:block;font-family:var(--display);font-weight:500;font-size:1.5rem;color:var(--ink)}.cs__stats span{font-size:.86rem;color:var(--muted)}
.cs__stats ul{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem 1.500rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.86rem}.cs__stats b{color:var(--ink)}.cs__media{border-radius:10px;overflow:hidden;aspect-ratio:1/.86}.cs__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.cs{grid-template-columns:1fr}.cs__media{order:-1;aspect-ratio:16/10}}
/* bento */
.bento{display:grid;grid-template-columns:1fr 1.300fr 1fr;grid-template-rows:auto auto;gap:18px;grid-template-areas:"s1 tall leaf" "i1 tall s2";align-items:stretch}.bt{border-radius:10px;overflow:hidden;position:relative}.bt--stat{grid-area:s1;padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:230px}.bt--s2{grid-area:s2}.bt--dark{background:var(--green) var(--tools);color:#c9c9c2}.bt--stat strong{font-family:var(--display);font-weight:500;font-size:clamp(2.600rem,4.500vw,4rem);letter-spacing:-.04em;color:#fff;line-height:1}.bt--stat p{margin:0;font-size:.92rem;max-width:26ch}
.bt--img img{width:100%;height:100%;object-fit:cover}.bt--i1{grid-area:i1;min-height:260px}.bt--tall{grid-area:tall;min-height:520px}.bt--leaf{grid-area:leaf;background:var(--leaf);color:#f1f5ee;padding:26px;display:flex;flex-direction:column;gap:1.1rem;justify-content:space-between}.bt--leaf h3{color:#fff;font-size:1.5rem;max-width:12ch;margin:0}.bt--leaf p{margin:0;font-size:.92rem}
@media (max-width:860px){.bento{grid-template-columns:1fr 1fr;grid-template-areas:"tall tall" "s1 leaf" "i1 s2"}.bt--tall{min-height:0;aspect-ratio:16/11}}@media (max-width:520px){.bento{grid-template-columns:1fr;grid-template-areas:"tall" "s1" "leaf" "i1" "s2"}}
/* reviews carousel */
.carousel{max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.carousel__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.carousel__track::-webkit-scrollbar{display:none}.carousel__track.is-drag{scroll-snap-type:none;cursor:grabbing}
.rv{flex:0 0 calc((100% - 18px)/2);scroll-snap-align:start;background:#fff;border-radius:10px;padding:clamp(22px,2.600vw,34px);display:flex;flex-direction:column;gap:1.300rem;user-select:none}.rv header{display:flex;justify-content:space-between;align-items:center}.rv__brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;color:var(--ink)}.rv p{margin:0;font-size:1.02rem;color:var(--text)}
.rv footer{display:flex;align-items:center;gap:.8rem;margin-top:auto;position:relative}.rv footer strong{display:block;color:var(--ink);font-size:.95rem}.rv footer span{font-size:.84rem;color:var(--muted)}.rv__q{position:absolute;right:0;bottom:-6px;color:#e9e6da;font-style:normal}
.carousel__nav{display:flex;justify-content:center;gap:8px;margin-top:26px}.carousel__nav button{width:46px;height:46px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;transition:.3s}.carousel__nav button:hover{background:var(--green);color:#fff}.carousel__nav button:disabled{opacity:.35;pointer-events:none}
@media (max-width:760px){.rv{flex-basis:88%}}
/* process */
.psteps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.500vw,36px)}.psteps__line{position:absolute;left:0;right:0;top:27px;height:1px;background:var(--line)}.psteps__line i{display:block;height:2px;margin-top:-1px;background:var(--green);transform:scaleX(0);transform-origin:left}
.pstep__n{position:relative;z-index:1;width:54px;height:54px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--display);font-weight:600;color:var(--ink);margin-bottom:1.300rem;transition:.5s var(--ease)}.pstep.is-on .pstep__n{background:var(--lime);border-color:var(--lime)}.pstep h3{font-size:1.25rem;margin-bottom:.4rem}.pstep p{margin:0;font-size:.95rem;color:var(--muted)}
@media (max-width:820px){.psteps{grid-template-columns:1fr 1fr}.psteps__line{display:none}}@media (max-width:480px){.psteps{grid-template-columns:1fr}}
/* quote */
.quote__panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,80px);align-items:center;background:var(--green) var(--tools);border-radius:14px;padding:clamp(26px,4.500vw,64px);color:#c9c9c2}.quote__lead .h2{color:#fff}.quote__meta{display:grid;gap:.6rem;margin-top:1.500rem}.quote__meta li{display:flex;gap:.7rem;align-items:center;color:#fff}.quote__meta .ico{color:var(--lime)}
.quote__form{background:#fff;border-radius:10px;padding:clamp(20px,2.600vw,32px)}@media (max-width:900px){.quote__panel{grid-template-columns:1fr}}
.pform__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pform--stack .pform__grid{grid-template-columns:1fr}.pform__field--wide{grid-column:1/-1}.pform__field span{display:block;font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:.35rem}
.pform input,.pform select,.pform textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:.8rem .9rem;font:inherit;font-size:.95rem;background:var(--cream);color:var(--ink);outline:none;transition:border-color .2s}.pform input:focus,.pform select:focus,.pform textarea:focus{border-color:var(--green)}.pform .is-error input{border-color:#c8432b}.pform__submit{margin-top:14px;border:0;background:none;padding:0}.pform__done{margin:.9rem 0 0;font-size:.9rem;color:var(--ink);background:var(--lime);padding:.7rem .9rem;border-radius:6px}
@media (max-width:520px){.pform__grid{grid-template-columns:1fr}}
/* faq */
.faq__grid{display:grid;grid-template-columns:.9fr 1.300fr;gap:clamp(30px,5vw,90px);align-items:start}.faq__side{position:sticky;top:120px}.acc__item{border-bottom:1px solid var(--line)}.acc__item:first-child{border-top:1px solid var(--line)}.acc__btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:22px 0;background:none;border:0;text-align:left;font-family:var(--display);font-weight:500;font-size:1.15rem;color:var(--ink);letter-spacing:-.02em}
.acc__icon{position:relative;width:34px;height:34px;border-radius:6px;border:1px solid var(--line);flex:none;transition:.4s var(--ease)}.acc__icon::before,.acc__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .4s var(--ease)}.acc__icon::after{transform:translate(-50%,-50%) rotate(90deg)}.acc__item.is-open .acc__icon{background:var(--lime);border-color:var(--lime)}.acc__item.is-open .acc__icon::after{transform:translate(-50%,-50%) rotate(0)}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}.acc__item.is-open .acc__panel{grid-template-rows:1fr}.acc__inner{overflow:hidden}.acc__inner p{margin:0;padding:0 60px 24px 0;color:var(--muted)}@media (max-width:900px){.faq__grid{grid-template-columns:1fr}.faq__side{position:static}}
/* footer */
.footer{background:var(--green) var(--tools);color:#b5b5ad;padding:clamp(60px,7vw,100px) 0 26px;overflow:hidden}.footer h4{color:#fff;font-size:1.5rem;margin:1.300rem 0 .6rem}.footer h5{color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.footer a:hover{color:var(--lime)}
.footer__cols{display:grid;grid-template-columns:1.500fr .7fr .9fr 1.2fr;gap:clamp(24px,4vw,60px)}.footer__about p{max-width:360px;font-size:.94rem}.footer__cols ul{display:grid;gap:.6rem;font-size:.95rem}.footer__contact li{display:grid;gap:.1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.12)}.footer__contact span{font-size:.78rem}.footer__contact a,.footer__contact strong{color:#fff;font-family:var(--display);font-weight:500;font-size:1.05rem}
.footer__word{font-family:var(--display);font-weight:600;font-size:clamp(5rem,24vw,23rem);line-height:.8;letter-spacing:-.05em;text-transform:uppercase;color:rgba(255,255,255,.06);white-space:nowrap;margin:clamp(30px,5vw,60px) 0 0 -1vw;user-select:none;pointer-events:none}
.footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem}@media (max-width:900px){.footer__cols{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer__cols{grid-template-columns:1fr}}
/* page head */
.phead{position:relative;min-height:min(62svh,560px);display:flex;align-items:flex-end;padding:160px 0 clamp(40px,6vh,70px);background:var(--green);color:#fff;overflow:hidden}.phead__bg{position:absolute;inset:0;background-size:cover;background-position:center}.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,28,8,.6),rgba(15,28,8,.3) 45%,rgba(15,28,8,.88))}
.phead__inner{position:relative;z-index:2}.phead__title{font-size:clamp(2.6rem,6.6vw,5.8rem);font-weight:600;color:#fff;letter-spacing:-.045em;line-height:.95;margin:0 0 .25em}.phead__text{max-width:520px;color:#e9eede;margin:0}.phead--tall{min-height:80vh}
.crumbs{display:inline-flex;gap:.6rem;align-items:center;font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#dfe6d3;margin-bottom:1.2rem}.crumbs i{font-style:normal;opacity:.5}.crumbs span{color:#fff}.crumbs a:hover{color:#fff}
/* about page */
.hist{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.500vw,36px);padding-top:6px}.hist__line{position:absolute;left:0;right:0;top:20px;height:1px;background:var(--line)}.hist__line i{display:block;height:2px;margin-top:-1px;background:var(--green);transform:scaleX(0);transform-origin:left}
.hist__year{position:relative;z-index:1;display:inline-block;padding:.45rem .8rem;border-radius:6px;background:#fff;border:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:.85rem;color:var(--ink);margin-bottom:1.400rem;transition:.5s var(--ease)}.hist__item.is-on .hist__year{background:var(--green);color:#fff;border-color:var(--green)}.hist__item h3{font-size:1.25rem;margin-bottom:.4rem}.hist__item p{margin:0;font-size:.95rem;color:var(--muted)}
@media (max-width:820px){.hist{grid-template-columns:1fr 1fr}.hist__line{display:none}}@media (max-width:480px){.hist{grid-template-columns:1fr}}
.split__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,80px);align-items:center}.split__media{border-radius:12px;overflow:hidden;aspect-ratio:5/4}.split__media img{width:100%;height:100%;object-fit:cover}.ticks{display:grid;gap:.7rem;margin:1.400rem 0 1.800rem}.ticks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink)}.ticks .ico{flex:none;width:22px;height:22px;padding:4px;border-radius:4px;background:var(--lime);color:var(--ink);stroke-width:3;margin-top:2px}@media (max-width:900px){.split__grid{grid-template-columns:1fr}}
.gal{overflow:hidden}.gal__rows{display:grid;gap:16px}.gal__row{display:flex;gap:16px;width:max-content;margin-left:-6vw}.gal__row--b{margin-left:-34vw}.gal__row figure{flex:none;width:clamp(220px,26vw,380px);aspect-ratio:4/3;border-radius:10px;overflow:hidden}.gal__row img{width:100%;height:100%;object-fit:cover}
/* service page */
.sv__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(28px,4.500vw,70px);align-items:start}.sv__title{font-size:clamp(2.400rem,5vw,4.200rem);font-weight:600;letter-spacing:-.04em;margin:0}.sv__main>*+*{margin-top:clamp(26px,3.500vw,44px)}.sv__hero{border-radius:12px;overflow:hidden;aspect-ratio:16/9.500}.sv__hero img{width:100%;height:100%;object-fit:cover}
.sv__block h3{font-size:clamp(1.300rem,2vw,1.650rem);margin-bottom:.5rem}.sv__block p{margin:0}.sv__quote{background:var(--cream);border-radius:12px;padding:clamp(22px,3vw,38px);position:relative}.sv__quote i{color:var(--lime2);font-style:normal;display:block;margin-bottom:.6rem}.sv__quote p{font-family:var(--display);font-size:clamp(1.100rem,1.700vw,1.400rem);line-height:1.45;color:var(--ink);margin-bottom:1.300rem}.sv__quote footer{display:flex;gap:.8rem;align-items:center}.sv__quote strong{display:block;color:var(--ink)}.sv__quote span{font-size:.86rem;color:var(--muted)}
.sv__pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sv__pair figure{border-radius:10px;overflow:hidden;aspect-ratio:4/3}.sv__pair img{width:100%;height:100%;object-fit:cover}
.sv__side{position:sticky;top:104px;display:grid;gap:16px}.book{background:var(--green) var(--tools);border-radius:12px;padding:28px;color:#c9c9c2}.book h3{color:#fff;font-size:1.700rem;margin-bottom:.2rem}.book p{font-size:.93rem}.book .pform__field span{color:#fff}.book .pform input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;color-scheme:dark}.book .pform input::placeholder{color:#9a9a92}.book .pform input:focus{border-color:var(--lime)}
.others{border:1px solid var(--line);border-radius:12px;padding:24px}.others h3{font-size:1.2rem;margin-bottom:.8rem}.others a{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:500;color:var(--ink);transition:.3s}.others li:last-child a{border-bottom:0}.others a:hover,.others a.is-current{color:var(--leaf);padding-left:6px}
@media (max-width:1000px){.sv__grid{grid-template-columns:1fr}.sv__side{position:static}}@media (max-width:560px){.sv__pair{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){mark{transition:none}}
.prose{max-width:760px}

/* ---------- Outdoor Elements additions ---------- */
.head__note{color:var(--muted);max-width:60ch;margin:.2rem auto 0}.head--row .head__note{margin-inline:0}.head--center .head__note{margin-inline:auto}
.blogo img{display:block}
/* partner logos strip */
.logos{padding:clamp(40px,6vw,70px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.logos__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.logos__head .tag{margin:0}
.logos__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.logos__grid .blogo{display:grid;place-items:center;height:96px;padding:18px 26px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}.logos__grid .blogo:hover{border-color:var(--lime);box-shadow:0 18px 40px rgba(17,17,17,.08);transform:translateY(-3px)}.logos__grid .blogo img{max-height:50px;max-width:100%;width:auto;object-fit:contain}
.logos__grid--big .blogo{height:auto;padding:28px 26px 22px;gap:.9rem;grid-template-rows:60px auto}.logos__grid--big .blogo span{font-size:.8rem;color:var(--muted);text-align:center;line-height:1.3}
@media (max-width:900px){.logos__grid{grid-template-columns:1fr 1fr}}@media (max-width:420px){.logos__grid .blogo{padding:14px 16px;height:80px}}
.blogos{display:flex;flex-wrap:wrap;gap:6px}.blogos .blogo{background:#fff;border-radius:6px;padding:5px 8px;height:32px;display:grid;place-items:center}.blogos .blogo img{height:100%;width:auto;max-width:76px;object-fit:contain}
/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .4s,box-shadow .4s,transform .4s var(--ease)}.pcard figure{aspect-ratio:4/3;overflow:hidden}.pcard img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.pcard:hover img{transform:scale(1.06)}
.pcard__body{display:grid;gap:.4rem;padding:22px 24px 24px}.pcard__body i{width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--ink);display:grid;place-items:center;margin-bottom:.4rem;font-style:normal}.pcard__body strong{font-family:var(--display);font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}.pcard__body em{font-style:normal;color:var(--muted);font-size:.93rem}
.pcard__body b{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}.pcard:hover{border-color:transparent;box-shadow:0 24px 60px rgba(17,17,17,.1);transform:translateY(-4px)}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.pgrid{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0}.chips li{font-size:.8rem;font-weight:500;padding:.35rem .7rem;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}
/* case rows */
.cs--flip .cs__media{order:-1}.cs__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}.cs__brands{display:flex;flex-wrap:wrap;gap:.5rem}.cs__brands .blogo{height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;background:#fff}.cs__brands .blogo img{height:100%;width:auto;max-width:80px;object-fit:contain}
.cs__thumbs{display:flex;gap:8px;margin-top:1rem}.cs__thumbs figure{width:76px;aspect-ratio:1;border-radius:8px;overflow:hidden}.cs__thumbs img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.cs--flip .cs__media{order:-1}}
/* product page */
.range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1rem}.range__item{border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:grid;gap:.25rem;background:#fff}.range__item span{font-size:.72rem;font-weight:600;color:var(--lime);letter-spacing:.1em}.range__item strong{font-family:var(--display);color:var(--ink);font-size:1.05rem}.range__item p{margin:0;font-size:.9rem;color:var(--muted)}
.brandcards{display:grid;gap:10px;margin-top:1rem}.brandcard{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:10px;padding:14px 18px;color:var(--ink);transition:.3s}.brandcard .blogo{width:110px;height:44px;flex:none;display:grid;place-items:center}.brandcard .blogo img{max-height:100%;max-width:100%;width:auto;object-fit:contain}.brandcard>span{display:grid;flex:1}.brandcard strong{font-family:var(--display)}.brandcard em{font-style:normal;font-size:.86rem;color:var(--muted)}.brandcard:hover{border-color:var(--lime);box-shadow:0 14px 34px rgba(17,17,17,.07)}
.contactlist{display:grid;gap:.8rem}.contactlist li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.4}.contactlist .ico{flex:none;color:var(--lime);margin-top:3px}.contactlist a{color:var(--ink);font-weight:500}.contactlist a:hover{color:var(--lime2)}
@media (max-width:560px){.range{grid-template-columns:1fr}}
/* about page */
.story__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:start}.story__text p{font-size:1.05rem}
.vm__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.vm__card{border-radius:12px;padding:clamp(24px,3vw,40px);background:#fff;border:1px solid var(--line)}.vm__card h3{font-size:clamp(1.3rem,2.2vw,1.8rem);margin:0;max-width:24ch;line-height:1.3}.vm__card--dark{background:var(--green) var(--tools);border-color:transparent}.vm__card--dark h3{color:#fff}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}.value i{width:50px;height:50px;border-radius:50%;background:var(--lime);color:#fff;display:grid;place-items:center;font-style:normal;margin-bottom:1rem}.value h3{font-size:1.2rem;margin-bottom:.3rem}.value p{margin:0;font-size:.95rem;color:var(--muted)}
.sectors__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sector{border:1px solid var(--line);border-radius:12px;padding:24px}.sector i{color:var(--leaf2);display:block;margin-bottom:1rem;font-style:normal}.sector h3{font-size:1.15rem;margin-bottom:.3rem}.sector p{margin:0;font-size:.93rem;color:var(--muted)}
@media (max-width:900px){.story__grid,.vm__grid{grid-template-columns:1fr}.sectors__grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.values{grid-template-columns:1fr}}@media (max-width:520px){.sectors__grid{grid-template-columns:1fr}}
/* projects page */
.refgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ref{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.ref figure{aspect-ratio:4/3;overflow:hidden}.ref img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.ref:hover img{transform:scale(1.06)}
.ref__body{padding:20px 22px 24px}.ref__loc{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lime2);margin-bottom:.5rem}.ref h3{font-size:1.15rem;margin-bottom:.4rem}.ref p{margin:0 0 .6rem;font-size:.92rem;color:var(--muted)}.ref em{font-style:normal;font-size:.8rem;color:var(--ink);font-weight:500}
.renders{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.renders figure{border-radius:12px;overflow:hidden;aspect-ratio:16/10}.renders img{width:100%;height:100%;object-fit:cover}
.fairs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(18px,2.4vw,30px)}.fairs figure{border-radius:10px;overflow:hidden;aspect-ratio:4/3}.fairs img{width:100%;height:100%;object-fit:cover}.fairs h3{font-size:1.5rem}
@media (max-width:900px){.refgrid{grid-template-columns:1fr 1fr}}@media (max-width:820px){.renders,.fairs{grid-template-columns:1fr}}@media (max-width:560px){.refgrid{grid-template-columns:1fr}}
/* brands page */
.brandrow{display:grid;grid-template-columns:220px 1fr;gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--line);scroll-margin-top:110px}.brandrow:has(.brandrow__media){grid-template-columns:220px 1fr 300px}
.brandrow__logo .blogo{display:grid;place-items:center;height:130px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.brandrow__logo img{max-height:70px;max-width:100%;width:auto;object-fit:contain}
.brandrow__cat{display:block;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lime2);margin-bottom:.4rem}.brandrow h3{font-size:1.6rem}.brandrow p{color:var(--muted)}.brandrow__links{display:flex;flex-wrap:wrap;gap:8px}.brandrow__media{border-radius:12px;overflow:hidden;aspect-ratio:4/3}.brandrow__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.brandrow,.brandrow:has(.brandrow__media){grid-template-columns:1fr}.brandrow__logo .blogo{width:220px;height:110px}}
/* contact page */
.contact__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,70px);align-items:start}.contact__form .h2{margin-bottom:1.6rem}.contact__side{display:grid;gap:16px;position:sticky;top:104px}
.cbox{background:var(--green) var(--tools);color:#c9c9c2;border-radius:12px;padding:28px}.cbox h3{color:#fff;font-size:1.3rem}.cbox .contactlist a,.cbox .contactlist span{color:#fff}.cbox .contactlist a:hover{color:var(--lime)}
.map{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#e9e6dc 0 12px,#f6f4ee 12px 24px)}.map iframe{width:100%;height:100%;border:0;display:block}.map__note{position:absolute;left:12px;bottom:12px;background:#fff;border-radius:6px;padding:.4rem .7rem;font-size:.78rem;font-weight:500;color:var(--ink)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card3{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;scroll-margin-top:110px}.card3 i{width:52px;height:52px;border-radius:50%;background:var(--lime);color:#fff;display:grid;place-items:center;font-style:normal;margin-bottom:1.1rem}.card3 h3{font-size:1.25rem}.card3 p{color:var(--muted);font-size:.95rem;flex:1}.card3 a{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}.card3 a:hover{color:var(--lime2)}
@media (max-width:1000px){.contact__grid{grid-template-columns:1fr}.contact__side{position:static}}@media (max-width:900px){.cards3{grid-template-columns:1fr}}
