:root{--green:#354032;--gold:#AD9353;--ivory:#F7F3EA;--charcoal:#2D2D2A;--rule:#d9d7cb}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;position:relative;isolation:isolate;background:var(--ivory);color:var(--charcoal);font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
/* Decorative website artwork only; approved logo files are never filtered. */
.botanical-backdrop{position:absolute;inset:0 0 auto;height:1000px;max-height:100%;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0 27%,#dfe3d3aa,transparent 43%),radial-gradient(ellipse at 100% 7%,#e7dab78c,transparent 45%),linear-gradient(155deg,#fffaf240,transparent 65%)}
.botanical-backdrop svg{display:block;width:100%;height:100%;fill:var(--green);mask-image:linear-gradient(to bottom,transparent 90px,#000 190px,#000 600px,transparent 950px)}
.leaf-shadow{opacity:.15;filter:blur(2px)}
.leaf-shadow-right{opacity:.11;filter:blur(3px)}
.shadow-stem{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round}
a{color:var(--green);text-underline-offset:.25em}
a:focus-visible{outline:3px solid var(--green);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--green);font-weight:400;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.35rem,4.7vw,4.5rem);margin-bottom:1.5rem}
h2{font-size:clamp(1.85rem,3.1vw,3rem);margin-bottom:1.1rem}
h3{font-size:1.6rem;letter-spacing:-.025em;margin-bottom:1rem}
p{margin-bottom:1rem}
.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:22px;border-bottom:1px solid var(--rule)}
.brand-link{display:block;padding:14px;flex-shrink:0}
.header-logo{width:240px;height:auto}
.navigation{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.navigation a{display:inline-block;padding:10px 0;text-decoration:none;font-size:.875rem}
.navigation a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:9px}
.navigation a:hover,.footer-nav a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:76px 0 92px;border-bottom:1px solid var(--rule)}
.hero-brand{padding:40px;background:var(--ivory);min-width:0;box-shadow:0 0 0 1px #ad93534d,0 16px 48px #35403208}
.hero-logo{width:100%;margin-inline:auto}
.hero-copy{padding-block:16px}
.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--green);margin-bottom:1.5rem}
.intro{font-size:1.12rem;max-width:37rem;line-height:1.8}
.button{display:inline-flex;gap:2rem;align-items:center;justify-content:space-between;padding:15px 23px;margin-top:1rem;background:var(--green);color:var(--ivory);text-decoration:none;font-size:.875rem;border:1px solid var(--green)}
.button:hover{background:var(--charcoal)}
.button:focus-visible{outline-offset:5px}
.section{padding:80px 0}
.section-heading{display:flex;gap:3rem;align-items:end;justify-content:space-between;margin-bottom:40px}
.section-heading>p{max-width:310px;font-size:.95rem}
.section-heading h2{margin-bottom:0}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.category-panel{display:block;padding:28px 0 16px;border-top:1px solid var(--gold);color:inherit;text-decoration:none}
.category-panel:hover,.category-panel:focus-visible{background:#35403208}
.category-panel:hover h3,.category-panel:focus-visible h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.2em}
.category-photo-frame{height:248px;padding:12px;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:24px;border:1px solid var(--rule)}
.category-photo{width:auto;height:auto;max-height:222px;max-width:100%;object-fit:contain}
.photo-note{font-size:.78rem;color:var(--green);margin:24px 0 0;max-width:100%}
.category-panel p{max-width:290px;font-size:.95rem}
.category-number{display:block;font-size:.72rem;letter-spacing:.12em;margin-bottom:38px;color:var(--green)}
.store-notice{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;border-block:1px solid var(--rule);padding:52px 0}
.store-notice h2{max-width:400px;margin-bottom:0}
.store-notice .eyebrow{margin-bottom:1rem}
.status{display:inline-block;border:1px solid var(--gold);padding:4px 12px;font-size:.75rem;letter-spacing:.08em;color:var(--green);margin-bottom:1.2rem}
.store-address{max-width:290px;font-size:1.05rem;margin-bottom:.65rem}
.store-notice p:last-child{font-size:.875rem}
.inquiry{text-align:center;padding:84px 20px 92px;background:var(--green);color:var(--ivory)}
.inquiry h2,.inquiry .eyebrow,.inquiry a{color:var(--ivory)}
.inquiry a:focus-visible,.site-footer a:focus-visible{outline-color:var(--ivory)}
.inquiry .eyebrow{margin-bottom:1rem}
.inquiry h2{margin-bottom:1.6rem}
.text-link{display:inline-flex;gap:2rem;align-items:center;padding:8px 0;font-size:.9rem}
.site-footer{border-top:1px solid #ad935366;padding:40px 0 32px;background:var(--green);color:var(--ivory)}
.site-footer a,.site-footer .eyebrow{color:var(--ivory)}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:2rem}
.site-footer .eyebrow{font-size:.65rem;max-width:280px;margin-bottom:1rem}
.legal{font-size:.78rem}
.footer-nav{display:flex;flex-direction:column;align-items:start;gap:.4rem}
.footer-nav a{font-size:.8rem;text-decoration:none;padding:2px 0}
.contact-links{display:flex;flex-direction:column;gap:.6rem;align-items:start}
.contact-links a{overflow-wrap:anywhere;font-size:.875rem;max-width:100%}
.page-intro{padding:78px 0 58px;border-bottom:1px solid var(--rule)}
.page-intro h1{max-width:800px}
.page-intro .intro{max-width:620px;margin-bottom:0}
.category-section{padding-bottom:30px}
.gallery-navigation{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;scroll-margin-top:24px}
.gallery-navigation a{display:inline-block;padding:10px 18px;border:1px solid var(--green);background:var(--ivory);text-decoration:none;font-size:.875rem}
.gallery-navigation a:hover{background:var(--green);color:var(--ivory)}
.gallery-navigation span{margin-left:6px}
.gallery-section{padding:64px 0 40px;scroll-margin-top:24px;border-bottom:1px solid var(--rule)}
.gallery-section .eyebrow{margin-bottom:12px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
.gallery-card{min-width:0}
.gallery-photo-frame{height:278px;padding:14px;background:#fff;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center}
.gallery-photo{width:auto;height:auto;max-width:100%;max-height:248px;object-fit:contain}
.gallery-reference{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin:16px 0 9px}
.gallery-card h3{font-size:1.12rem;line-height:1.45;letter-spacing:0;margin:0;text-wrap:pretty}
.gallery-back{display:inline-block;margin-top:32px;padding:10px 0;font-size:.85rem}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}}
@media(max-width:450px){.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-section{padding-top:42px}.gallery-photo-frame{height:278px}.gallery-navigation{gap:10px}.gallery-navigation a{padding:10px 14px}}
.about-story{display:grid;grid-template-columns:.7fr 1fr;gap:10%;padding:80px 0 100px}
.about-story>div{max-width:540px}
.about-story h2{margin-bottom:2rem}
.section-index{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;padding-top:8px}
.contact-section{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding:72px 0 90px}
.contact-section .contact-links{margin-top:2rem}
.skip-link{position:absolute;left:1rem;top:0;transform:translateY(-150%);background:var(--ivory);padding:.75rem;z-index:10}
.skip-link:focus{transform:none}
@media(max-width:900px){.leaf-shadow-left{transform:translate(240px,80px)}.leaf-shadow-right{transform:translate(1200px,680px) rotate(174deg)}}
@media(max-width:650px){.botanical-backdrop{height:1050px;background:radial-gradient(ellipse at 0 10%,#dfe3d399,transparent 50%),radial-gradient(ellipse at 100% 15%,#e7dab766,transparent 44%)}.botanical-backdrop svg{width:180%;max-width:none;margin-left:-40%;height:650px;mask-image:linear-gradient(to bottom,transparent 150px,#000 230px,#000 480px,transparent 650px)}.leaf-shadow{opacity:.12;filter:blur(2px)}.leaf-shadow-left{transform:translate(450px,200px)}.leaf-shadow-right{transform:translate(1010px,750px) rotate(174deg)}}
@media(forced-colors:active){.botanical-backdrop{display:none}.hero-brand{box-shadow:none}.inquiry,.site-footer{background:Canvas;color:CanvasText}.inquiry h2,.inquiry .eyebrow,.site-footer .eyebrow{color:CanvasText}.inquiry a,.site-footer a{color:LinkText}.inquiry a:focus-visible,.site-footer a:focus-visible{outline-color:Highlight}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.navigation{gap:8px 20px}.header-logo{width:200px}.hero{gap:6%;padding:56px 0}.hero-brand{padding:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>.contact-links{grid-column:1/-1}.section-heading{align-items:start;gap:2rem}}
@media(max-width:650px){.container{width:calc(100% - 40px)}.site-header{justify-content:center;padding:12px 0 22px;gap:0}.brand-link{padding:12px;margin-bottom:2px}.header-logo{width:220px}.navigation{justify-content:center;gap:4px 18px}.navigation a{font-size:.78rem}.hero{grid-template-columns:1fr;gap:36px;padding:36px 0 48px}.hero-brand{padding:36px;width:100%}.hero-copy{padding:0}.hero .eyebrow{font-size:.65rem}.hero h1{font-size:2.6rem}.intro{font-size:1rem}.eyebrow{margin-bottom:1.1rem}.section{padding:48px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:1.2rem;max-width:100%}.category-grid{grid-template-columns:1fr;gap:18px}.category-panel{padding:24px 0 4px}.category-number{margin-bottom:22px}.category-panel p{max-width:100%}.store-notice{grid-template-columns:1fr;gap:26px;padding:36px 0}.store-notice h2{font-size:2rem}.inquiry{padding:55px 0 62px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-nav{flex-direction:row;flex-wrap:wrap;gap:10px 22px}.site-footer{padding:30px 0}.page-intro{padding:44px 0 36px}.about-story,.contact-section{grid-template-columns:1fr;gap:26px;padding:42px 0 58px}.about-story h2{margin-bottom:1.5rem}.contact-section h2{margin-bottom:0}.category-section{padding-bottom:0}.section-index{margin-bottom:0}}
