/* Morrow materials: warm upper-left light, forest stock, ivory ceramic, yellow resin. */
:root{--surface-grain:url('/assets/maine-businesses/fleex-v1/tactile/green-grain.webp');--resin:url('/assets/maine-businesses/fleex-v1/tactile/leaf-button.webp');--paper-tab:url('/assets/maine-businesses/fleex-v1/tactile/paper-tab.webp')}
body{background-image:radial-gradient(ellipse at 18% 2%,#fff9 0,transparent 65%);background-attachment:scroll}
header{position:relative;z-index:10;background:linear-gradient(110deg,#fff7dc,#f4e6bd);box-shadow:0 2px 0 #fff9 inset,0 7px 20px #00351f20}
.utility,.process,.inquiry-band{background-image:linear-gradient(130deg,#003c2a25,#003725a6),var(--surface-grain);background-size:cover}
.nav-bar{box-shadow:0 1px 0 #8e783c35}
.hero{background-image:var(--surface-grain);background-size:cover}.hero-curve{filter:drop-shadow(8px 0 8px #00342242)}.hero-curve .curve-yellow{stroke:url(#curve-light)}
.hero-art{width:100%;height:100%;transform-origin:55% 40%;will-change:transform}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:66% center}
.hero-sprig{position:absolute;z-index:4;width:215px;height:auto;right:28%;bottom:-48px;pointer-events:none;filter:drop-shadow(10px 18px 12px #00261955);transform-origin:bottom center}
.hero-copy{z-index:5}.hero h1{text-shadow:0 2px 1px #002c1730}.hero-index{margin-top:35px}
.garden-badge{isolation:isolate;background:transparent!important;border-radius:0;width:205px;height:205px;right:5%;bottom:42px;filter:drop-shadow(7px 12px 9px #002a2b30)}
.garden-badge:before{inset:-22%;border:0;border-radius:0;background:url('/assets/maine-businesses/fleex-v1/tactile/garden-seal.webp') center/100% 100% no-repeat;z-index:-1}.garden-badge:after{display:none}.garden-badge>span{font-size:65px}.garden-badge small{font-size:9px;max-width:120px;margin-top:7px}.garden-badge:hover{transform:translateY(-4px) rotate(-2deg)}
.button,.button.yellow{position:relative;isolation:isolate;border:0;border-radius:0;background:transparent!important;color:#073e29;min-height:82px;padding:15px 48px 16px 39px;gap:10px;box-shadow:none!important;line-height:1.3;max-width:100%;text-align:center}
.button:before{content:'';position:absolute;inset:1px -8px;z-index:-1;background:var(--resin) center/100% 100% no-repeat;filter:drop-shadow(3px 7px 3px #002d2040);transition:filter .2s,transform .2s}
.button:hover:before{filter:drop-shadow(3px 10px 5px #002d2055) brightness(1.08);transform:translateY(-2px)}.button:active:before{transform:translateY(2px);filter:drop-shadow(1px 2px 1px #002d2030)}
.button .round{width:25px!important;height:28px!important;min-width:25px;background:transparent!important;border:0;box-shadow:none;filter:none}.button .round:before{display:none}.button .round svg{width:21px;height:21px}
.round{position:relative;isolation:isolate;border-radius:9px 23px 8px 20px!important;border:1px solid #e4d3a6!important;background:linear-gradient(135deg,#fffef0,#eadcb5)!important;box-shadow:1px 2px 0 #b6a574,4px 7px 9px #003d2622,inset 1px 1px 1px #fff;color:var(--green);min-width:44px;min-height:44px}
.round.yellow,.round.lime{background:linear-gradient(130deg,#fff39a,#eec52d)!important;border-color:#d4b44e!important;box-shadow:1px 2px 0 #a38c37,4px 7px 9px #003d2625,inset 1px 1px 1px #fff6}
.round:hover{transform:translateY(-2px)}.round:active{transform:translateY(1px);box-shadow:0 1px 1px #003d2630}
.menu-toggle{border-radius:8px 18px 6px 15px;background:linear-gradient(130deg,#fff9dc,#dfd3a8);box-shadow:2px 3px 0 #9d8a58,inset 1px 1px 0 white;min-width:48px;min-height:44px}
.text-button{padding:9px 7px;min-height:44px;text-underline-offset:5px}.text-button:hover{text-decoration:underline}
.service-card{border-radius:48px 7px 36px 8px;box-shadow:0 2px 0 #fff9 inset,0 12px 22px #073b2326;isolation:isolate}.service-card:nth-child(2n){border-radius:8px 38px 8px 42px}.service-caption{border-radius:4px 19px 3px 20px;background:linear-gradient(135deg,#fffdf0,#f3e7c7);border:1px solid #fff9;box-shadow:2px 4px 0 #b7a5774d,0 12px 18px #00261930}
.service-icon{filter:drop-shadow(1px 2px 1px #a999694d)}
.about-panel{background:linear-gradient(125deg,#fffdf0,#f2e7c7);border-radius:24px 4px 34px 4px;box-shadow:0 1px 0 white inset,3px 4px 0 #d1bf8e55,0 15px 30px #224c2920}.about-detail{border-radius:0 0 30px 0;overflow:hidden}.botanical img{filter:drop-shadow(13px 13px 8px #23472225)}
.project-card{border-radius:44px 5px 33px 6px;box-shadow:0 10px 20px #003b2026;border:1px solid #fff9;background:linear-gradient(135deg,#fffef2,#f0e6c7)}.project-card:nth-child(2){border-radius:7px 44px 7px 30px}.project-card img{border-radius:inherit}.project-card-body{background:linear-gradient(135deg,#fffdf0,#f2e7c7)}
.journal-card>img{border-radius:8px 48px 7px 30px;box-shadow:2px 5px 0 #e1d4ae,0 12px 20px #23472225}.journal-card:nth-child(2)>img{border-radius:40px 7px 35px 7px}.journal-card{padding-bottom:12px}
.process-grid article{border-top-color:#dfebc760}.process-grid article>span{filter:drop-shadow(1px 2px 1px #00261770)}
.gallery-filter button{border-radius:0;background:transparent;border:0;position:relative;isolation:isolate;padding:16px 27px;min-height:52px;box-shadow:none;color:var(--green)}.gallery-filter button:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--paper-tab) center/100% 100% no-repeat;filter:drop-shadow(2px 4px 2px #002c2025)}.gallery-filter button[aria-pressed=true]{background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:5px}.gallery-filter button[aria-pressed=true]:before{background-image:var(--resin)}
.planner-shell{border-radius:28px 5px 23px 5px;background:linear-gradient(135deg,#fffdf2,#f5e9c9);box-shadow:1px 2px 0 #fff inset,5px 7px 0 #d6c59755,0 16px 35px #183c241c;border:1px solid #e0d5b8}.scope-option span{border-radius:4px 16px 4px 13px;background:linear-gradient(120deg,#fffef5,#f2e8cc);box-shadow:1px 2px 0 #c8b78d44}.scope-option input:checked+span{box-shadow:inset 0 2px 3px #00251b44;background-image:var(--surface-grain)}
input,textarea,select{box-shadow:inset 1px 2px 3px #75653612;border-radius:3px 7px 3px 7px!important}.contact-story figure{overflow:hidden;border-radius:48px 5px 35px 5px;box-shadow:4px 6px 0 #dfd2ae,0 14px 25px #173d2420}
.detail-art{height:100%;width:100%}.detail-art img{height:100%;width:100%;object-fit:cover}.detail-hero figure{overflow:hidden;border-radius:55% 4% 4% 4%;box-shadow:0 12px 20px #003b2640}.detail-hero{background-image:linear-gradient(130deg,#003c2a55,#003725a6),var(--surface-grain)}
.related-services a{position:relative;padding:26px 24px;border-radius:7px 26px 7px 20px;background:linear-gradient(130deg,#fffef2,#e9ddb9);box-shadow:2px 3px 0 #b9a77b55,0 10px 18px #173b2012}.related-number{display:block;font-family:Instrument,Georgia,serif;font-size:50px;color:#8a996e}.related-services a>span:last-child{padding:14px 0 0}.related-services h3{font-size:28px}
.service-directory .service-card{min-height:310px;height:auto;background:linear-gradient(130deg,#fffef0,#e8dab4)}.service-directory .service-caption{position:relative;left:auto;right:auto;bottom:auto;margin:0 22px 24px;box-shadow:none;border:0;background:transparent;padding:20px 0}.directory-number{font-family:Instrument,Georgia,serif;display:block;margin:25px 34px 5px;font-size:84px;line-height:1;color:#527349}.about-worktable{height:460px!important;overflow:hidden;border-radius:60px 6px 40px 6px;box-shadow:0 18px 30px #173a201c;align-self:center}.about-worktable img{height:100%!important;object-fit:cover!important;position:absolute;filter:none}
[data-arrival]{transform:translateY(var(--arrival,0px));transition:transform .55s cubic-bezier(.2,.7,.3,1)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #a65713;outline-offset:6px}.hero :where(a,button):focus-visible,.process :where(a,button):focus-visible,.inquiry-band :where(a,button):focus-visible{outline-color:#fff9cd}
@media(max-width:1100px){.hero-sprig{width:170px;right:28%;bottom:-32px}.garden-badge{width:170px;height:170px}.garden-badge>span{font-size:54px}.garden-badge small{font-size:8px}.button{font-size:14px!important;padding-inline:30px!important;min-height:74px!important}.hero-index{margin-top:22px}}
@media(max-width:620px){.hero-art>img{object-position:70% center}.hero-sprig{width:140px;right:auto;left:-17px;bottom:-12px}.garden-badge{width:150px;height:150px;bottom:40px;right:5%}.garden-badge>span{font-size:48px}.garden-badge small{font-size:7px}.hero-copy{padding-bottom:48px}.hero .button{margin-top:20px}.hero-index{margin-top:20px}.button{max-width:100%;min-height:74px!important;padding-inline:32px!important;font-size:13px!important}.button:before{inset:3px -4px}.gallery-filter{gap:5px;flex-wrap:wrap}.gallery-filter button{font-size:12px;padding:16px 20px}.about-worktable{height:350px!important;width:100%}.service-directory .service-card{min-height:280px}.related-services a{padding:20px}.project-card{border-radius:30px 5px 25px 5px}.detail-hero figure{border-radius:30% 3% 3% 3%}}
@media(prefers-reduced-motion:reduce){.hero-art,.detail-art,.hero-sprig,[data-arrival]{transform:none!important;transition:none!important;will-change:auto!important}}
.motion-off .hero-art,.motion-off .detail-art,.motion-off .hero-sprig,.motion-off [data-arrival]{transform:none!important;transition:none!important;will-change:auto!important}
/* Native fallback remains recognizable if a decorative material fails to load. */
.button:after{content:'';position:absolute;z-index:-2;inset:17% 8%;background:linear-gradient(135deg,#ffe56c,#e8bb24);border-radius:3px 68% 4px 66%;pointer-events:none}
.gallery-filter button:after{content:'';position:absolute;z-index:-2;inset:8px;background:#f5e8c8;clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,4% 100%,0 85%);pointer-events:none}
/* Rendering corrections: inner arrow stays unframed; ceramic preserves its source aspect. */
.button .round{border:0!important;min-height:0;box-shadow:none!important;border-radius:0!important}
.button:after{inset:27% 19%;border-radius:50%}
.menu-toggle span{background:var(--green)!important}
.garden-badge:before{inset:-5%;background-size:150% 100%}
.garden-badge small{display:block;line-height:1.45}
.related-services a{background:transparent;box-shadow:none;isolation:isolate;padding:30px 34px}
.related-services a:before{content:'';position:absolute;z-index:-1;inset:0;background:var(--paper-tab) center/100% 100% no-repeat;filter:drop-shadow(3px 7px 3px #173b2020)}
@media(max-width:900px){html.no-js #navigation{position:static!important;display:flex!important;flex-wrap:wrap;inset:auto!important;box-shadow:none;gap:16px;padding:18px 0;width:100%}html.no-js .nav-bar{flex-wrap:wrap}html.no-js .menu-toggle{display:none}}
@media(min-width:621px){.hero{height:auto;min-height:630px;max-height:none}.hero-copy{padding-bottom:62px}.hero h1{overflow-wrap:break-word}}
@media(min-width:1101px){.hero{min-height:max(720px,53.68vw)}}
.material-unavailable .button:after{inset:6px 0;border-radius:0;clip-path:polygon(0 60%,12% 8%,82% 0,100% 32%,90% 91%,17% 100%)}
/* Stack the scene when text-only zoom makes the reference split too narrow. */
.hero.large-type .hero-copy{width:88%;margin-inline:6%;padding-bottom:55px}.hero.large-type h1{transform:none;max-width:100%;overflow-wrap:normal}.hero.large-type .hero-description{max-width:950px}.hero.large-type .hero-photo{position:relative;inset:auto;height:500px;width:100%;border-top:8px solid var(--yellow)}.hero.large-type .hero-curve{display:none}.hero.large-type .hero-sprig{right:auto;left:4%;bottom:0}
