/* Plantology Design · site styles, Design B "Nature Estate" (2026-10).
   Brand: olive #7A9A32 (accent), button olive #5F7A26, charcoal #3A3535. Type, self-hosted: Montserrat (display),
   Nunito Sans (body), Raleway (nav and buttons), the web stand-ins for the old Wix Lulo Clean, Avenir and Raleway.
   Source of public/css/site-<hash>.css: tools/build_pages.py stamps a content hash into the name, because the
   luckymr.me zone cache ignores ?v=. Edit this file, never the generated one. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/Montserrat-normal-500-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/NunitoSans-normal-400-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/NunitoSans-italic-400.woff2) format('woff2')}
@font-face{font-family:'Raleway';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/Raleway-normal-500-600.woff2) format('woff2')}

:root{
  --charcoal:#3A3535;
  --ink:#1F1D1C;
  --olive:#7A9A32;          /* accent only: rules, icons */
  --olive-deep:#5F7A26;     /* buttons and focus: white text 4.9:1 */
  --olive-ink:#4A5F1D;      /* olive text on paper */
  --olive-light:#CDDEA0;    /* olive text on dark and on photos */
  --paper:#F7F6F2;
  --white:#FFF;
  --sage:#ECEFE4;
  --muted:#575151;          /* secondary text on paper, 7:1 */
  --line:rgba(58,53,53,.16);
  --display:'Montserrat',system-ui,sans-serif;
  --body:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ui:'Raleway','Nunito Sans',system-ui,sans-serif;
  --wrap:1200px;
  --pad:clamp(1rem,4vw,2rem);
  --head:88px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 1rem)}
body{background:var(--paper);color:var(--charcoal);font:400 1.125rem/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--olive-deep);outline-offset:3px}
.band-dark :focus-visible,.site-foot :focus-visible,.head-photo :focus-visible,.hero :focus-visible{outline-color:var(--olive-light)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--white);color:var(--ink);padding:.8rem 1.1rem;text-decoration:none;font-weight:700}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:1.2em;height:1.2em;fill:currentColor;flex-shrink:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:48rem}

/* Type */
h1,h2,h3{font-family:var(--display);color:var(--ink);font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem);line-height:1.08}
h2{font-size:clamp(1.7rem,3.3vw,2.5rem);line-height:1.15;margin-bottom:1rem}
h3{font-size:1.25rem;line-height:1.3}
p+p{margin-top:1rem}
.label{font:600 .8rem/1.3 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-ink);margin-bottom:.8rem;display:flex;align-items:center;gap:.65rem}
.label::before{content:'';width:28px;height:2px;background:var(--olive)}
.label a{text-decoration:none}
.label a:hover{text-decoration:underline}
.lede{font:500 clamp(1.3rem,2.3vw,1.7rem)/1.45 var(--display);color:var(--ink);letter-spacing:-.005em}
.intro{max-width:44rem;color:var(--muted);font-size:1.2rem;margin-top:.9rem}
.more{display:inline-flex;align-items:center;gap:.5rem;font:600 .9rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--olive-ink);text-decoration:none;min-height:44px}
.more:hover{text-decoration:underline}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.85rem 1.5rem;border-radius:2px;font:600 .88rem/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .2s,border-color .2s,color .2s}
.btn-primary{background:var(--olive-deep);color:var(--white)}
.btn-primary:hover{background:var(--olive-ink)}
.btn-outline{border-color:var(--olive-deep);color:var(--olive-ink)}
.btn-outline:hover{background:var(--olive-deep);color:var(--white)}
.btn-ghost{border-color:rgba(255,255,255,.9);color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-light{background:var(--white);color:var(--ink)}
.btn-light:hover{background:var(--olive-light)}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}

/* ===== Header ===== */
.site-head{z-index:30;left:0;right:0;top:0}
.head-in{max-width:1400px;margin:0 auto;padding:0 var(--pad);min-height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;min-height:48px}
.brand img{height:64px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,1.8rem)}
.nav a{font:600 .875rem/1 var(--ui);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav a[aria-current="page"],.nav-group.on .nav-drop{text-decoration:underline;text-underline-offset:.45em;text-decoration-thickness:2px}
.nav-group{position:relative}
.nav-drop{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;background:none;border:0;cursor:pointer;color:inherit;font:600 .875rem/1 var(--ui);letter-spacing:.07em;text-transform:uppercase}
.nav-drop .ic{width:1em;height:1em;transition:transform .2s}
.sub-label{display:none}
.sub{list-style:none}
.sub a[aria-current="page"]{text-decoration:underline;text-underline-offset:.35em}
.nav .nav-cta{border:1.5px solid currentColor;padding:0 1.1rem;min-height:46px}
.menu-btn{display:none;width:48px;height:48px;border-radius:50%;cursor:pointer;align-items:center;justify-content:center;background:transparent;border:1.5px solid currentColor}
.menu-btn .ic{width:24px;height:24px}
.menu-btn .ic-close,.site-head.open .menu-btn .ic-open{display:none}
.site-head.open .menu-btn .ic-close{display:block}
/* Over a photo: light logo, white nav, a dark fade behind it so the links read on any photo. Solid once you scroll. */
.head-photo{position:fixed;color:var(--white)}
.head-photo::before{content:'';position:absolute;inset:0 0 auto;height:170px;background:linear-gradient(180deg,rgba(15,14,12,.72),rgba(15,14,12,.38) 55%,rgba(15,14,12,0));pointer-events:none;transition:opacity .25s}
.head-photo .head-in{position:relative}
.head-photo .logo-dark,.head-solid .logo-light{display:none}
.head-photo.scrolled{background:rgba(31,29,28,.94)}
.head-photo.scrolled::before{opacity:0}
/* Solid: paper header that stays at the top */
.head-solid{position:sticky;background:rgba(247,246,242,.97);color:var(--charcoal);border-bottom:1px solid var(--line)}
.head-solid .nav .nav-cta{color:var(--olive-ink)}
@media (min-width:1021px){
  .head-photo .nav>a:hover,.head-photo .nav-drop:hover{color:var(--olive-light)}
  .head-solid .nav>a:hover,.head-solid .nav-drop:hover{color:var(--olive-ink)}
  .sub{display:none;position:absolute;top:100%;left:-1rem;min-width:240px;background:var(--white);color:var(--charcoal);padding:.6rem 0;box-shadow:0 18px 40px rgba(0,0,0,.22);border:1px solid var(--line)}
  .nav-group.open .sub{display:block}
  .nav-group.open .nav-drop .ic{transform:rotate(180deg)}
  .sub a{display:flex;min-height:44px;padding:0 1.2rem;color:var(--charcoal);font-size:.85rem}
  .sub a:hover{background:var(--sage);color:var(--olive-ink)}
}
@media (max-width:1020px){
  :root{--head:72px}
  .brand img{height:52px}
  .menu-btn{display:inline-flex;color:inherit}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);padding:.5rem var(--pad) 1.5rem;box-shadow:0 20px 40px rgba(0,0,0,.35)}
  .site-head.open .nav{display:flex}
  .site-head.open{background:var(--ink);color:var(--white)}
  .site-head.open .logo-dark{display:none}
  .site-head.open .logo-light{display:block}
  .nav a{min-height:56px;font-size:1rem;color:var(--white);border-bottom:1px solid rgba(255,255,255,.14)}
  .nav{max-height:calc(100dvh - var(--head));overflow-y:auto;overscroll-behavior:contain}
  .nav-drop{display:none}
  .sub-label{display:block;font:600 .8rem/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--olive-light);padding:1.1rem 0 .4rem}
  .sub a{padding-left:1rem}
  .nav .nav-cta{margin-top:1.2rem;justify-content:center;border:1.5px solid var(--white);color:var(--white)}
  .head-solid .nav a,.head-solid .nav .nav-cta{color:var(--white)}
  .nav a:hover{color:var(--olive-light)}
}

/* ===== Hero (photo pages) ===== */
.hero{position:relative;color:var(--white);background:var(--ink);min-height:min(92svh,880px);display:flex;align-items:flex-end;overflow:hidden}
.hero-page{min-height:min(74svh,660px)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,14,12,.82) 0%,rgba(15,14,12,.5) 38%,rgba(15,14,12,.08) 70%,rgba(15,14,12,0) 100%)}
.hero-copy{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:calc(var(--head) + 2rem) var(--pad) clamp(2.5rem,8vh,5rem)}
.hero h1{color:var(--white);max-width:16ch}
.eyebrow{font:600 .82rem/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--olive-light);margin-bottom:1rem}
.hero .lead{font-size:clamp(1.12rem,1.6vw,1.3rem);color:rgba(255,255,255,.94);max-width:36rem;margin-top:1.1rem}

/* ===== Bands ===== */
.band{padding:clamp(3.5rem,7vw,6rem) 0}
.band-tight{padding-top:.5rem}
.band-white{background:var(--white)}
.band-sage{background:var(--sage)}
.band-dark{background:var(--charcoal);color:rgba(255,255,255,.9)}
.band-dark h2{color:var(--white)}
.page-head{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.5rem)}
.intro-band{padding:clamp(3rem,6vw,4.5rem) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.sec-head h2{margin-bottom:0}

/* Testimonial and memberships */
.proof-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}
.quote{position:relative;padding-left:3rem}
.quote .ic{position:absolute;left:0;top:.25rem;width:2rem;height:2rem;color:var(--olive)}
.quote p{font:500 clamp(1.25rem,2.3vw,1.6rem)/1.45 var(--display);color:var(--ink)}
.quote cite{display:block;margin-top:1rem;font:600 .82rem/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--muted)}
@media (max-width:820px){.proof-grid{grid-template-columns:1fr}}

/* Founders */
.founders-grid,.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.about-grid{align-items:start}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.duo figure{background:var(--sage)}
.duo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.duo figcaption{background:var(--white);padding:.7rem .9rem;font:600 1.05rem/1.25 var(--display);color:var(--ink)}
.duo figcaption span{display:block;font:600 .74rem/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.founders-grid .more{margin-top:1.2rem}
.bio .lede{margin-bottom:1.2rem}
@media (max-width:900px){.founders-grid,.about-grid{grid-template-columns:1fr}}

/* Invite band */
.invite-in{max-width:46rem;text-align:center}
.invite-in .ctas{justify-content:center}
.invite p{font-size:1.15rem}

/* ===== Photo tiles: uniform 4:5, rows of three (two on phones). The lightbox shows each photo whole. ===== */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 1.25rem;list-style:none;margin-top:1.6rem}
.tiles button{display:block;width:100%;padding:0;border:0;background:var(--sage);cursor:zoom-in;overflow:hidden;aspect-ratio:4/5}
.tiles img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tiles button:hover img{transform:scale(1.03)}
.cap{font-size:.98rem;color:var(--muted);margin-top:.55rem;line-height:1.45}
@media (max-width:640px){.tiles{grid-template-columns:1fr 1fr;gap:1rem .75rem}.cap{font-size:.9rem}
  .tiles li:last-child:nth-child(odd){grid-column:1 / -1}   /* an odd last photo runs full width, never alone with a gap */
  .tiles li:last-child:nth-child(odd) button{aspect-ratio:4/3}}

/* Category tiles (Home, Services, Your Gardens): Roxy's six, photo first */
.cat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem 1.25rem;list-style:none}
.cat-tile{display:block;text-decoration:none;color:inherit}
.ct-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--sage)}
.ct-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cat-tile:hover .ct-img img{transform:scale(1.03)}
.pos-right .ct-img img{object-position:78% 50%}
.ct-name{display:block;font:600 1.3rem/1.25 var(--display);color:var(--ink);margin-top:.9rem}
.cat-tile:hover .ct-name{text-decoration:underline;text-underline-offset:.2em}
.ct-line{display:block;color:var(--muted);margin-top:.25rem;font-size:1.02rem}
@media (max-width:820px){.cat-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.ct-name{font-size:1.1rem}.ct-line{font-size:.95rem}}

/* Tick lists (What's included) */
.ticks{list-style:none;margin-top:1.2rem;display:grid;gap:.55rem}
.ticks li{display:flex;gap:.65rem;align-items:flex-start;font-weight:600}
.ticks .ic{color:var(--olive-deep);margin-top:.25rem}

/* Category pages */
.cat-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.cat-lede p{font-size:1.2rem}
.incl{background:var(--white);border:1px solid var(--line);padding:1.5rem 1.6rem}
.incl h2{font-size:1.15rem;margin-bottom:.4rem}
.incl .ticks{margin-top:.6rem}
.split-hero{padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,5vw,4rem)}
.sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.sh-text h1{margin-bottom:1rem}
.sh-text .incl{margin-top:1.6rem}
.sh-img img{width:100%;max-height:min(82vh,820px);object-fit:cover}
.others{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.others .label{margin:0}
.others-links{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem}
.others-links a{min-height:44px;display:inline-flex;align-items:center;font:600 .9rem/1.2 var(--ui);letter-spacing:.04em;color:var(--olive-ink);text-decoration:none}
.others-links a:hover{text-decoration:underline}
@media (max-width:900px){.cat-intro,.sh-grid,.ba{grid-template-columns:1fr}.sh-img{order:-1}.sh-img img{max-height:62vh}}

/* Editorial rows (Irrigation): text and photos alternate sides */
.editorial .wrap{display:grid;gap:clamp(3rem,7vw,5.5rem)}
.ed-row{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.ed-row.flip .ed-text{order:2}
.ed-num{font:600 2rem/1 var(--display);color:var(--olive-deep);margin-bottom:.8rem}
.ed-text p{font-size:1.15rem}
.ed-media figure{margin:0}
.ed-media img{width:100%;max-height:min(78vh,720px);object-fit:cover}
.ed-media.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ed-media.two img{aspect-ratio:4/5}
.ed-media figcaption{font-size:.98rem;color:var(--muted);margin-top:.55rem}
@media (max-width:900px){.ed-row{grid-template-columns:1fr}.ed-row.flip .ed-text{order:0}.ed-media img{max-height:70vh}}

/* Your Gardens: past jobs and partnerships */
.jobs{list-style:none;display:grid;gap:0}
.job{padding:2rem 0;border-bottom:1px solid var(--line)}
.job:first-child{padding-top:.5rem}
.job-meta{font:600 .8rem/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--olive-ink);margin-bottom:.5rem}
.job h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:.6rem}
.job p{color:var(--charcoal)}
.job-src{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin-top:.6rem;font:600 .9rem/1.2 var(--ui);color:var(--olive-ink);text-decoration:none}
.job-src:hover{text-decoration:underline}

/* Press list (Home) and recognition (About) */
.press{border-left:2px solid var(--sage);padding-left:1.6rem}
.press-title{font:600 .8rem/1.3 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-ink);margin-bottom:.6rem}
.press ul{list-style:none;display:grid;gap:.9rem}
.press a{font-weight:700;color:var(--ink);text-decoration:none}
.press a:hover{text-decoration:underline}
.press span{display:block;color:var(--muted);font-size:.95rem}
@media (max-width:820px){.press{border-left:0;border-top:2px solid var(--sage);padding:1.4rem 0 0}}
.recog{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.recog li{display:flex;gap:.8rem;align-items:flex-start;background:var(--paper);border:1px solid var(--line);padding:1.1rem 1.2rem}
.recog .ic{color:var(--olive-deep);width:1.5em;height:1.5em;margin-top:.1rem}
.recog b{display:block;color:var(--ink)}
.recog span{display:block;color:var(--muted);font-size:1rem;margin-top:.15rem}
.recog a{display:inline-flex;min-height:36px;align-items:center;margin-top:.2rem;color:var(--olive-ink);font-weight:700;font-size:.95rem}
@media (max-width:900px){.recog{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.recog{grid-template-columns:1fr}}

/* Lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:auto;height:auto;inset:0;margin:0}
.lightbox::backdrop{background:rgba(20,20,18,.94)}
.lb-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4.5rem 4.5rem 3.5rem;position:relative}
.lb-inner img{max-width:100%;max-height:100%;object-fit:contain}
.lb-cap{position:absolute;left:0;right:0;bottom:1rem;text-align:center;color:rgba(255,255,255,.92);font-size:1rem;padding:0 1rem}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(28,27,26,.6);color:var(--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lb-btn:hover{background:rgba(28,27,26,.92)}
.lb-btn .ic{width:24px;height:24px}
.lb-close{top:1rem;right:1rem}
.lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1rem;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.lb-inner{padding:4.5rem .6rem 6rem}.lb-prev,.lb-next{top:auto;bottom:1rem;transform:none}.lb-cap{bottom:1.2rem;padding:0 4.6rem;font-size:.88rem;line-height:1.35}}

/* ===== Services ===== */
.ba{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ba figure{position:relative;background:var(--sage)}
.ba img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ba figcaption{position:absolute;left:.6rem;top:.6rem;background:var(--white);color:var(--ink);font:600 .78rem/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;padding:.5rem .7rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem;list-style:none;counter-reset:s}
.steps li{background:rgba(255,255,255,.8);padding:1.6rem 1.5rem;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:600 2rem/1 var(--display);color:var(--olive-deep);margin-bottom:.8rem}
.steps h3{margin-bottom:.35rem}
.steps p{color:var(--muted);font-size:1.05rem}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.card{background:var(--white);border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.2rem)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.field{margin-bottom:1rem;border:0}
.field label,.field legend{display:block;font:600 .82rem/1.3 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--charcoal);margin-bottom:.4rem}
.field label small{font:400 .9rem/1 var(--body);text-transform:none;letter-spacing:0;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;min-height:50px;padding:.75rem .9rem;border:1.5px solid rgba(58,53,53,.32);border-radius:2px;background:#FCFBF8;font-size:1.05rem}
.field input::placeholder{color:#7A7474}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--olive-deep);box-shadow:0 0 0 3px rgba(95,122,38,.28)}
.pref label{display:inline-flex;align-items:center;gap:.5rem;font:400 1.05rem/1.2 var(--body);text-transform:none;letter-spacing:0;margin:0 1.4rem .4rem 0;min-height:44px;cursor:pointer}
.pref input{width:20px;height:20px;accent-color:var(--olive-deep)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card .btn{width:100%;margin-top:.4rem}
.form-status{margin-top:.9rem;min-height:1.4em}
.form-status.err{color:#8A2E1E;font-weight:600}
.sent{text-align:center;padding:2rem .5rem}
.sent .ic{width:52px;height:52px;color:var(--olive-deep);margin:0 auto .9rem}
.sent p{color:var(--muted);margin-top:.6rem}
.sent a{color:var(--olive-ink);font-weight:700}
.contact-side h2{font-size:1.4rem}
.contact-list{list-style:none;display:grid;gap:.2rem;margin:1rem 0}
.contact-list a,.contact-list span{display:flex;align-items:flex-start;gap:.75rem;min-height:48px;padding:.6rem 0;text-decoration:none;font-weight:600;color:var(--ink)}
.contact-list a:hover{color:var(--olive-ink)}
.contact-list .ic{color:var(--olive-deep);width:22px;height:22px;margin-top:.15rem}
.contact-side>p{color:var(--muted)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.row{grid-template-columns:1fr}}
.nf .ctas{margin-top:1.6rem}

/* ===== Footer ===== */
.site-foot{background:var(--ink);color:rgba(255,255,255,.88);padding:clamp(3rem,6vw,4rem) 0 1.5rem;font-size:1rem}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:2rem 3rem;align-items:start}
.foot-brand img{width:220px;height:auto}
.foot-contact{list-style:none;display:grid;gap:.1rem}
.foot-contact a,.foot-contact span{display:flex;align-items:flex-start;gap:.7rem;min-height:44px;padding:.45rem 0;color:var(--white);text-decoration:none}
.foot-contact .ic{color:var(--olive-light);margin-top:.2rem}
.foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1.5rem;justify-items:start}
.foot-nav a{color:var(--white);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;font:600 .88rem/1 var(--ui);letter-spacing:.07em;text-transform:uppercase}
.site-foot a:hover{color:var(--olive-light)}
.foot-legal{max-width:var(--wrap);margin:2.2rem auto 0;padding:1.2rem var(--pad) 0;border-top:1px solid rgba(255,255,255,.16);font-size:.92rem;color:rgba(255,255,255,.84)}
.foot-legal a{color:var(--white)}
@media (max-width:900px){.foot-in{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important}.cat-tile:hover .ct-img img,.tiles button:hover img{transform:none}}
