/* A shared glass design system for every page. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700;800&display=swap');
:root{--red:#c5202b;--green:#c5202b;--ink:#23262a;--muted:#5f646b;--cream:#f5f6f7;--glass:rgba(255,255,255,.48);--glass-line:rgba(255,255,255,.86);--glass-shadow:0 18px 60px rgba(30,37,45,.09),inset 0 1px 0 rgba(255,255,255,.95)}
body{background:#e9ecef;color:var(--ink);isolation:isolate}
body:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 7% 20%,#bfc7cf8c,transparent 40%),radial-gradient(ellipse at 86% 4%,#ffffffcc,transparent 38%),radial-gradient(ellipse at 82% 75%,#b8c1cba6,transparent 44%),linear-gradient(135deg,#f1f3f5,#e8ecef 52%,#e0e5ea)}
body:after{content:'';position:fixed;width:360px;height:360px;right:6%;top:210px;border-radius:50%;background:linear-gradient(145deg,#ffffff88,#8c99a626);box-shadow:0 0 100px #9daab74d;z-index:-1;pointer-events:none;filter:blur(14px)}
h1,h2,.phone,.photo-caption b{font-family:var(--sans)}h1,h2{font-weight:600;text-transform:none;letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(55px,5.5vw,84px)}h2{font-size:clamp(38px,4vw,57px)}h3{font-weight:650}em,.hero em,.shed-copy em,.contact em,.page-banner em{color:var(--red)}
.topbar{background:transparent;color:#60666e;padding:14px 5% 5px;font-size:9px;letter-spacing:1.5px}.topbar a{font-size:10px}
header{top:14px;margin:14px 3.5% 0;padding:19px 26px;gap:20px;border:1px solid var(--glass-line);border-radius:24px;background:#ffffffad;backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%);box-shadow:0 8px 32px #29313a0d,inset 0 1px 0 #fff}
.brand>span{font-size:15px}.brand small{font-size:6px;letter-spacing:1.7px}.brand svg{width:37px;stroke-width:1.7}nav{font-size:11px;font-weight:550;gap:25px}
.button,.button.light{background:linear-gradient(135deg,#d62c35,#b71925);border:1px solid #ffffff60;border-radius:15px;color:#fff;text-transform:none;letter-spacing:0;font-weight:650;box-shadow:0 8px 22px #262d3826,inset 0 1px 0 #ffffff40}.button:hover,.button.light:hover{background:linear-gradient(135deg,#c4202b,#a81621);box-shadow:0 12px 26px #262d3838}.button.small{font-size:10px}
.hero{grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:660px;max-height:none;padding:55px 5% 45px;max-width:1600px;margin:auto;background:transparent;color:var(--ink)}.hero-copy{padding:18px 0 18px 2%;background:none}.hero h1{font-size:clamp(55px,5.7vw,86px)}.hero .eyebrow{color:var(--red);font-size:9px}.hero .eyebrow>span{border-radius:50%;box-shadow:0 0 0 5px #c5202b10;background:#c5202b}.intro{color:var(--muted);font-size:14px;max-width:380px;line-height:1.9}.hero-actions{gap:27px;margin-top:29px}.hero-actions .text-link{color:var(--ink);border-color:#6c737b70}.text-link{font-size:11px;font-weight:650;text-transform:none;letter-spacing:0;border-bottom-width:1px}.hero-note{margin-top:36px;padding:15px 18px;width:fit-content;border:1px solid #ffffffa8;background:#ffffff3d;border-radius:18px;backdrop-filter:blur(12px)}.hero-note p{color:var(--ink);font-size:10px}.hero-note p span{color:var(--muted);font-size:9px}.hero-note .mini-mark{border-radius:11px;background:#fff8;border:1px solid #fff;color:var(--red);font-size:11px}
.hero-photo{min-height:550px;border:8px solid #ffffff5c;outline:1px solid #ffffffb0;border-radius:35px;box-shadow:0 25px 65px #27334024;background:#ffffff40}.hero-photo:after{background:linear-gradient(transparent 45%,#1e28332b)}.photo-caption{bottom:22px;left:22px;right:22px;padding:22px 24px;background:#fff9;border:1px solid #ffffffb3;border-radius:23px;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:0 10px 30px #202a3518;color:var(--ink)}.photo-caption>span{color:#444d58}.photo-caption b{font-size:25px;font-weight:600}.photo-caption a{border-color:#646d77}.photo-tag{background:#ffffffbd;border:1px solid #fff9;backdrop-filter:blur(14px);border-radius:15px;color:#444d58;padding:12px 16px}
.values-strip{margin:0 5%;padding:23px 3%;border:1px solid var(--glass-line);border-radius:20px;background:#ffffff52;backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);color:var(--ink);text-transform:none;letter-spacing:.4px;font-weight:600;font-size:10px}.values-strip span:before{background:#c5202b;border-radius:50%;width:6px;height:6px}
.section{padding-block:80px}.section-heading>p{font-size:13px}.service,.project,.steps>div,form,.about,.page-cta{border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:var(--glass-shadow);border-radius:28px}
.service{padding:12px 12px 25px;transition:transform .25s,box-shadow .25s}.service:hover{transform:translateY(-5px);box-shadow:0 25px 65px #2b36441c,inset 0 1px 0 white}.service-img{height:255px;border-radius:20px}.service-img>span{top:12px;left:12px;padding:8px 13px;background:#ffffffbf;border:1px solid #fff9;border-radius:12px;backdrop-filter:blur(15px);color:var(--red);font-size:10px}.service h3{margin:22px 12px 11px;font-size:20px}.service p{margin:0 12px 20px;font-size:12px;min-height:62px}.service>.text-link{margin:0 12px}
.shed-feature{gap:30px;margin:5px 5% 35px;padding:20px;background:linear-gradient(125deg,#ffffff7a,#fff4);border:1px solid var(--glass-line);border-radius:35px;backdrop-filter:blur(25px);box-shadow:var(--glass-shadow);color:var(--ink)}.shed-photo{min-height:600px;max-height:720px;border-radius:25px}.shed-copy{padding:35px 9% 35px 5%}.shed-copy h2{font-size:clamp(43px,4.6vw,66px)}.shed-copy .eyebrow,.contact .eyebrow{color:var(--red)}.shed-copy>p:not(.eyebrow),.shed-copy dd{color:var(--muted)}.shed-copy dl div{border-color:#55616f24}
.filters button{border:1px solid #fffc;background:#ffffff6b;border-radius:14px!important;backdrop-filter:blur(12px);box-shadow:0 3px 12px #2c364107;text-transform:none;letter-spacing:0;font-weight:600}.filters button.active,.filters button:hover{color:#fff;background:linear-gradient(135deg,#d52b34,#b51b26);border-color:#e8e9eb;box-shadow:0 7px 20px #2833402b}
.project{padding:11px;transition:transform .2s}.project:hover{transform:translateY(-4px)}.project img{height:285px;border-radius:20px}.project>span{padding:18px 10px 10px}.project b{font-size:14px;font-weight:650}.project small{color:var(--red);font-size:8px}
.about{margin:45px 5%;max-width:none;padding:55px 5%;gap:70px}.about .large-copy{font-size:25px;font-weight:500}.process h2{font-size:43px}.steps{gap:22px;margin-top:32px}.steps>div{padding:26px}.steps span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffffb3;background:#d3dbe25c;border-radius:15px;font-family:var(--sans);font-size:13px;font-weight:650}.steps h3{font-size:18px;margin:20px 0 12px}.steps p{font-size:12px}
.contact{background:transparent;color:var(--ink);padding-top:65px;align-items:center}.contact h1,.contact h2{font-size:clamp(49px,5vw,73px)}.contact>div>p:not(.eyebrow),.contact-label{color:var(--muted)}.phone{font-size:30px;font-weight:600}.email{border-color:#747e8899}
form{padding:32px;background:#ffffff6b;border-top:1px solid white}form h3{font-size:22px}label{font-size:10px}input,textarea,select{border:1px solid #ffffffef;background:#ffffff91;border-radius:12px!important;padding:12px;box-shadow:inset 0 2px 6px #28354308}input:focus,textarea:focus,select:focus{background:#fff;outline:2px solid #707e8d80;outline-offset:2px}select option{background:#fff}.form-note{color:var(--muted)}
.page-banner{position:relative;overflow:hidden;margin:35px 5% 0;padding:58px 5%;background:linear-gradient(115deg,#ffffffa6,#ffffff45);border:1px solid #ffffffdc;border-radius:32px;backdrop-filter:blur(22px);box-shadow:var(--glass-shadow);color:var(--ink)}.page-banner:after{content:'';position:absolute;width:270px;height:270px;right:-25px;top:-60px;border:1px solid #ffffff94;border-radius:50%;background:linear-gradient(140deg,#ffffff1a,#7d8d9e1f);pointer-events:none;z-index:-1}.page-banner h1{font-size:clamp(46px,5vw,75px);max-width:1000px;overflow-wrap:break-word}.page-banner .eyebrow{color:var(--red)}.page-banner>p:last-child{color:var(--muted);font-size:14px;max-width:530px}.page-cta{margin:0 5% 55px;padding:40px 4%;background:linear-gradient(105deg,#ffffff94,#e0e6ec6b)}.page-cta h2{font-size:38px}
footer{margin:0 3.5% 20px;padding:35px 3.5% 22px;border:1px solid #fff9;border-radius:27px;background:#ffffff59;backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);color:var(--ink)}.footer-brand{font-size:20px}footer>p,footer>div{color:var(--muted)}footer>div{border-color:#65738223}.footer-brand span{color:var(--red)}
dialog{border:1px solid #fffd;background:#fff9;backdrop-filter:blur(32px) saturate(130%);-webkit-backdrop-filter:blur(32px) saturate(130%);box-shadow:0 30px 100px #19243055;border-radius:28px}dialog::backdrop{background:#1d29366b;backdrop-filter:blur(8px)}.dialog-close{background:#fff9;border:1px solid #fffb;border-radius:12px;color:var(--ink);text-transform:none}.dialog-bottom h2{font-size:27px;letter-spacing:-1px}
@media(min-width:1600px){.hero-photo{min-height:650px}.hero-copy{padding-left:2%}}
@media(max-width:1050px){header{padding:16px 19px}.brand>span{font-size:13px}.brand small{font-size:5px;letter-spacing:1.2px}nav{gap:17px;font-size:10px}.button.small{padding:12px 15px;font-size:9px}.hero{gap:25px;padding-top:40px}.hero h1{font-size:clamp(48px,5.7vw,70px)}.hero-photo{min-height:540px}.service-img{height:220px}.service p{min-height:87px}.project img{height:230px}.about{gap:35px}.shed-photo{min-height:570px}.shed-copy{padding-inline:3%}.section{padding-block:65px}}
@media(max-width:760px){html{scroll-padding-top:110px}.topbar{font-size:6.5px;padding:10px 10px 0;letter-spacing:1px}header{top:9px;margin:12px 4% 0;padding:14px 15px;border-radius:20px}.brand{gap:9px}.brand>span{font-size:12px}.brand small{font-size:4.8px;letter-spacing:1px}.brand svg{width:29px;height:32px}.menu-toggle{border:1px solid #fff;background:#ffffff9c;color:var(--ink);border-radius:11px;font-size:10px;text-transform:none}nav{top:calc(100% + 10px);padding:22px;background:#f3f5f7f5;border:1px solid white;box-shadow:var(--glass-shadow);backdrop-filter:blur(25px);border-radius:20px;font-size:13px;gap:13px}nav .button.small{font-size:12px}.hero{grid-template-columns:1fr;padding:38px 6% 28px;gap:26px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:clamp(43px,11.2vw,64px);letter-spacing:-.055em}.hero .eyebrow{font-size:7px;letter-spacing:1.8px}.intro{font-size:12px;max-width:100%;line-height:1.8}.hero-actions{gap:21px}.hero-actions .button{padding:14px 18px}.hero-note{margin-top:26px;padding:12px 14px;width:100%}.hero-note p{font-size:9px}.hero-note p span{font-size:8px}.hero-photo{min-height:445px;border-width:6px;border-radius:28px}.photo-tag{top:14px;right:14px;font-size:7px;padding:10px 13px}.photo-caption{bottom:14px;left:14px;right:14px;padding:19px;border-radius:20px}.photo-caption b{font-size:24px}.photo-caption>span{font-size:7px}.values-strip{margin:0 6%;padding:21px;font-size:9px;letter-spacing:0;border-radius:20px}.section{padding:50px 6%}h2{font-size:37px}.section-heading>p{font-size:12px}.service-img{height:280px}.service p{min-height:0}.shed-feature{gap:0;margin:0 6% 25px;padding:12px;border-radius:28px}.shed-photo{min-height:0;height:400px;border-radius:20px}.shed-copy{padding:30px 12px 20px}.shed-copy h2{font-size:43px}.project img{height:300px}.filters button{padding:10px 17px;font-size:10px}.about{gap:25px;margin:30px 6%;padding:30px 24px}.about .large-copy{font-size:22px}.process h2{font-size:35px}.steps{gap:20px}.steps>div{padding:24px}.contact{gap:32px;padding-top:42px}.contact h1,.contact h2{font-size:43px}.phone{font-size:28px}.contact form{padding:25px 22px}.page-banner{margin:28px 6% 0;padding:34px 24px;border-radius:26px}.page-banner h1{font-size:clamp(29px,8.2vw,44px);letter-spacing:-.055em}.page-banner>p:last-child{font-size:12px}.page-banner .eyebrow{font-size:7px;letter-spacing:1.4px}.page-cta{margin:0 6% 35px;padding:29px 24px;gap:25px}.page-cta h2{font-size:32px}footer{padding:30px 24px 20px;margin:0 4% 15px;border-radius:23px}footer .footer-brand{font-size:17px}footer>div{font-size:8px}.dialog-bottom h2{font-size:24px}dialog{padding:14px;border-radius:23px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header,nav,.photo-caption,dialog{background:#f3f5f7}.service,.project,.steps>div,form,.about,.page-cta,.page-banner{background:#f2f4f6}}
.garden-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:24px;align-items:stretch}.garden-card{overflow:hidden;border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.48);backdrop-filter:blur(22px);border-radius:28px;padding:12px;box-shadow:0 18px 60px rgba(30,37,45,.09),inset 0 1px 0 white}.garden-image{height:340px;border-radius:20px;overflow:hidden;background:#dce2e7}.garden-image img{width:100%;height:100%;object-fit:cover}.garden-image.portrait img{object-fit:contain;background:#e7ebef}.garden-card-copy{padding:22px 12px 15px}.garden-card-copy h3{font-size:19px;margin-bottom:12px}.garden-card-copy p{font-size:12px;line-height:1.8}.garden-inquiry{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:28px}.garden-inquiry p{font-size:13px}@media(max-width:900px){.garden-grid{grid-template-columns:1fr 1fr}.garden-card:first-child{grid-column:1/-1}.garden-image{height:340px}}@media(max-width:600px){.garden-grid{grid-template-columns:1fr}.garden-card:first-child{grid-column:auto}.garden-image{height:250px}.garden-image.portrait{height:420px}.garden-inquiry{flex-direction:column;align-items:flex-start}}
.filters{flex-wrap:wrap}.garden-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-card:first-child{grid-column:auto}.greenhouse-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:25px}.greenhouse-photo{margin:0;padding:12px;background:var(--glass);border:1px solid var(--glass-line);border-radius:28px;box-shadow:var(--glass-shadow)}.greenhouse-photo img{height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:20px}.greenhouse-photo figcaption{font-size:12px;padding:15px 10px}.project img{object-fit:contain;background:#e1e6eb}@media(max-width:600px){.garden-grid,.greenhouse-grid{grid-template-columns:1fr}}
