@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap");

:root {
  --pine: #163526;
  --needle: #2c6a3f;
  --moss: #4d8a5a;
  --frost: #f3efe6;
  --paper: #faf7f1;
  --ink: #141a14;
  --muted: #5c675c;
  --ember: #c45c26;
  --ember-d: #9a4418;
  --line: rgba(20, 26, 20, 0.12);
  --white: #fff;
  --shadow: 0 18px 40px rgba(22, 53, 38, 0.12);
  --radius: 18px;
  --header: 96px;
  --cta: 64px;
  --max: 1180px;
}

.skip-link {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 80;
  background: #163526;
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
}
.skip-link:focus { top: 12px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Manrope, system-ui, sans-serif;
  color: var(--ink);
  background-color: var(--paper);
  background-image:
    linear-gradient(180deg, rgba(22, 53, 38, 0.28) 0%, rgba(250, 247, 241, 0.82) 38%, rgba(250, 247, 241, 0.94) 100%),
    url("../assets/images/hero-fall.jpg");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: scroll;
  line-height: 1.55;
}
body[data-season="spring"],
body[data-season="summer"] {
  background-image:
    linear-gradient(180deg, rgba(22, 53, 38, 0.28) 0%, rgba(250, 247, 241, 0.82) 38%, rgba(250, 247, 241, 0.94) 100%),
    url("../assets/images/lawn.jpg");
}
body[data-season="winter"] {
  background-image:
    linear-gradient(180deg, rgba(28, 46, 68, 0.35) 0%, rgba(250, 247, 241, 0.86) 40%, rgba(250, 247, 241, 0.94) 100%),
    url("../assets/images/snow.jpg");
}
@media (min-width: 900px) {
  body { background-attachment: fixed; }
}
@media (prefers-reduced-motion: reduce) {
  body { background-attachment: scroll; }
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, .display {
  font-family: Fraunces, Georgia, serif;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.season-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--pine);
  color: #e9f0e6;
  font-size: 0.84rem;
  padding: 8px 40px 8px 16px;
  position: relative;
  text-align: center;
}
.season-strip strong { color: #fff; }
body[data-season="spring"] .season-strip { background: #2c6a3f; }
body[data-season="summer"] .season-strip { background: #163526; }
body[data-season="fall"] .season-strip { background: #9a4418; }
body[data-season="winter"] .season-strip { background: #1c2e44; }
.strip-close {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.3rem;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

.gh-alert-dock{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:90;
}
.gh-alert-dock:empty{display:none}
.cloud-banner,.save-warn{
  margin:0;
  padding:12px 16px;
  border-radius:0;
  background:#e11d2e;
  color:#fff;
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  box-shadow:0 8px 20px rgba(120,10,18,.28);
}
.cloud-banner p,.save-warn p{margin:0 0 6px;font-size:.95rem;line-height:1.4;color:#fff}
.cloud-banner .btn,.save-warn .btn{
  color:#fff;
  border-color:#fff;
  background:transparent;
  flex-shrink:0;
}
.cloud-banner[hidden],.cloud-banner:empty,.save-warn[hidden]{display:none !important}
.site-header {
  position: sticky;
  top: var(--alert-h, 0px);
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: var(--header);
  padding: 0 20px;
  background: rgba(250, 247, 241, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  min-width: max-content;
}
.brand .mark, .brand-foot .mark {
  width: 38px;
  height: 38px;
  color: var(--pine);
  flex: 0 0 auto;
}
.brand .logo, .brand-foot .logo {
  height: 76px;
  width: auto;
  max-width: 240px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand-foot .logo { height: 96px; max-width: 280px; }
.brand-foot {
  background: #fff;
  padding: 8px 12px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.brand span { display: flex; flex-direction: column; }
.brand strong { font-size: 0.95rem; letter-spacing: 0.01em; }
.brand small { font-size: 0.68rem; color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; }
.brand-ver {
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-top: 1px;
  line-height: 1;
}

.desk-nav a[hidden],
.desk-nav a.is-page-off,
.mobile-panel a[hidden],
.mobile-panel a.is-page-off,
.site-footer li[hidden],
.site-footer li.is-page-off,
.site-footer a.is-page-off {
  display: none !important;
}
.desk-nav {
  display: none;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
.nav-combo{display:flex;align-items:center;position:relative}
.nav-combo > a{border-radius:999px 0 0 999px;padding-right:8px}
.nav-combo .nav-drop summary{border-radius:0 999px 999px 0;padding:8px 12px 8px 6px;margin:0}
.desk-nav > a, .nav-drop summary {
  text-decoration: none;
  padding: 8px 10px;
  font-weight: 600;
  font-size: 0.92rem;
  border-radius: 999px;
  cursor: pointer;
  list-style: none;
}
.nav-drop summary::-webkit-details-marker { display: none; }
.nav-drop { position: relative; }
.nav-drop .drop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 8px;
  display: flex;
  flex-direction: column;
}
.nav-drop .drop a {
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 600;
}
.nav-drop .drop a:hover { background: var(--frost); }
.header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.icon-link {
  text-decoration: none;
  font-weight: 700;
  font-size: 0.86rem;
  padding: 8px 10px;
}
.cart-count {
  display: inline-flex;
  min-width: 1.3rem;
  height: 1.3rem;
  border-radius: 99px;
  background: var(--pine);
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  padding: 0 5px;
}
.cart-count[hidden] { display: none !important; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  background: var(--pine);
  color: #fff;
}
.btn-ghost { background: transparent; color: var(--pine); border-color: var(--line); }
.btn-ember { background: var(--ember); color: #fff; }
.btn-ember:hover { background: var(--ember-d); }
.btn-line { background: #fff; color: var(--pine); border-color: var(--pine); }
.btn-wide { width: 100%; }

.menu-btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.menu-btn span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--ink);
}

.mobile-panel {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header);
  bottom: 0;
  background: var(--paper);
  z-index: 55;
  padding: 12px 18px calc(var(--cta) + 28px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid var(--line);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
body.menu-open .mobile-cta { display: none !important; }
.mobile-panel[hidden] { display: none !important; }
.mobile-panel a {
  text-decoration: none;
  font-weight: 700;
  font-size: 1.15rem;
  padding: 12px 8px;
  min-height: 48px;
  border-bottom: 1px solid var(--line);
}

.mobile-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  gap: 8px;
}
.mobile-cta a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 800;
  border-radius: 12px;
  background: var(--frost);
  color: var(--pine);
}
.mobile-cta .cta-strong { background: var(--ember); color: #fff; }

.wrap {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  box-sizing: border-box;
}
main { padding-bottom: calc(var(--cta) + 36px); }
@media (max-width: 779px) {
  .paper-actions, .form .btn, #quote-form, .hero-actions {
    position: relative;
    z-index: 1;
  }
  .page-hero, .section { padding-bottom: 8px; }
}

.hero {
  position: relative;
  min-height: 78vh;
  display: grid;
  align-items: end;
  color: #fff;
  overflow: hidden;
}
.hero img.bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 22, 16, 0.15) 10%, rgba(12, 22, 16, 0.78) 100%);
}
.hero-copy {
  position: relative;
  z-index: 1;
  padding: 32px max(20px, env(safe-area-inset-right)) 48px max(20px, env(safe-area-inset-left));
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  box-sizing: border-box;
}
.eyebrow {
  display: inline-block;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.72rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.hero h1 { font-size: clamp(2.1rem, 7vw, 4.4rem); margin: 0 0 12px; max-width: 16ch; overflow-wrap: anywhere; }
.hero p.lead { max-width: 38ch; font-size: 1.05rem; color: #e7eee6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.price-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 10px 14px;
  border-radius: 999px;
  margin-top: 16px;
}
.price-chip b { font-size: 1.35rem; }

.section {
  padding: 64px 0;
}
.section.wrap,
.page-hero.wrap,
.trust {
  background: rgba(250, 247, 241, 0.9);
  border-radius: 22px;
  padding-left: max(22px, env(safe-area-inset-left));
  padding-right: max(22px, env(safe-area-inset-right));
  margin-left: auto;
  margin-right: auto;
}
.section h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0 0 10px; }
.sub { color: var(--muted); max-width: 56ch; }

.trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: -28px;
  position: relative;
  z-index: 2;
}
.trust div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--shadow);
}
.trust strong { display: block; font-size: 0.92rem; }
.trust span { color: var(--muted); font-size: 0.82rem; }

.cards {
  display: grid;
  gap: 16px;
  margin-top: 28px;
  align-items: start;
}
#photo-grid.cards {
  display: block;
  position: relative;
  grid-template-columns: none;
  align-items: start;
}
#photo-grid .job-drop,
#photo-grid .quote-photos{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.quote-photos a{display:block;width:112px;height:112px;border-radius:8px;overflow:hidden;background:#e7eee6}
.quote-photos img{width:100%;height:100%;object-fit:contain;background:#e7eee6}
@media (max-width: 720px){
  .quote-photos a{width:calc(50% - 6px);height:140px}
}
.quote-more{margin:10px 0;padding:8px 0}
.quote-more > summary{
  cursor:pointer;
  font-weight:700;
  list-style:none;
  padding:8px 0;
}
.quote-more > summary::-webkit-details-marker{display:none}
.quote-more > summary::after{content:" ▸";font-weight:400}
.quote-more[open] > summary::after{content:" ▾"}
.admin-card {
  height: auto;
  align-self: start;
  display: block;
  width: 100%;
  margin: 0 0 16px;
  box-sizing: border-box;
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.card img { height: 190px; width: 100%; object-fit: cover; }
.card-body { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.tag {
  align-self: flex-start;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--needle);
}
.card h3 { margin: 0; font-size: 1.35rem; }
.card .from { font-weight: 800; color: var(--pine); }
.card .offer-flag {
  margin: 0;
  display: inline-block;
  background: var(--ember);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 6px 10px;
  border-radius: 999px;
  line-height: 1.2;
}
.card p { margin: 0; color: var(--muted); font-size: 0.94rem; }
.card p.offer-flag { color: #fff; }
.card-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 8px; }

.rate-sheet { display: grid; gap: 14px; }
.rate-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 2px; }
.rate-group {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 6px 6px 10px;
  box-shadow: var(--shadow);
}
.rate-group > .rate-sum {
  border-radius: 12px;
  background: #f3f6f1;
}
.rate-group h2 {
  margin: 0;
  font-size: 1.2rem;
  color: var(--pine);
}
.rate-sum {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  min-height: 48px;
}
.rate-sum::-webkit-details-marker { display: none; }
.rate-sum::after {
  content: "▸";
  color: #6b7a6c;
  font-size: 0.85rem;
  flex: 0 0 auto;
}
details[open] > .rate-sum::after { content: "▾"; }
.rate-item {
  margin: 8px 6px 0;
  padding: 0 0 10px;
  border: 1px solid #e4ebe4;
  border-radius: 14px;
  background: #fbfaf6;
}
.rate-item > .rate-sum { background: transparent; }
.rate-item > .muted,
.rate-item > .rate-actions,
.rate-item > .rate-vars { margin-left: 16px; margin-right: 16px; }
.rate-item .muted { margin-top: 0; font-size: 0.92rem; }
.rate-price {
  font-weight: 800;
  color: #163526;
  font-size: 0.95rem;
  white-space: nowrap;
  text-align: right;
  margin-left: auto;
}
.rate-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 16px 4px; }
.rate-vars { list-style: none; margin: 4px 16px 10px; padding: 0; background: #fff; border-radius: 10px; border: 1px solid #e8eee8; }
.rate-vars li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 12px;
  border-top: 1px solid #eef2ee;
  font-size: 0.94rem;
}
.rate-vars li:first-child { border-top: 0; }
.rate-vars strong { white-space: nowrap; color: #163526; }
.price-sum { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; font-weight: 700; }
.price-sum::-webkit-details-marker { display: none; }
.price-sum::after { content: "▸"; color: #6b7a6c; font-size: 0.85rem; }
details[open] > .price-sum::after { content: "▾"; }
@media (max-width: 700px) {
  .rate-sum { align-items: flex-start; }
  .rate-price { white-space: normal; }
  .rate-vars li { flex-direction: column; gap: 2px; }
  .rate-vars strong { white-space: normal; }
}

.split {
  display: grid;
  gap: 24px;
  align-items: center;
}
.split img { border-radius: var(--radius); height: 280px; width: 100%; object-fit: cover; }
.split figure { margin: 0; }
.split figcaption { margin: 8px 0 0; }

.list { padding-left: 18px; }
.list li { margin: 6px 0; }

.form {
  display: grid;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
}
label { display: grid; gap: 6px; font-weight: 700; font-size: 0.88rem; }
input, select, textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: var(--paper);
}
textarea { min-height: 120px; resize: vertical; }
.choice-set {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 14px 8px;
  margin: 0 0 8px;
}
.choice-set legend { font-weight: 800; padding: 0 6px; }
.choice-set.is-included {
  opacity: 0.55;
  background: #eef1ee;
}
.choice-set.is-included legend { color: #5b6b5c; }
.choice-set .check:has(input:disabled) { color: #6b7a6c; }
.choice-set input:disabled { cursor: not-allowed; }
.choice-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px 12px;
  margin-bottom: 8px;
}
@media (min-width: 640px) {
  .choice-grid { grid-template-columns: 1fr 1fr; }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.addon-families {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0 0 16px;
}
@media (min-width: 720px) {
  .addon-families { grid-template-columns: 1fr 1fr; }
}
.addon-family {
  border: 1px solid rgba(22, 53, 38, 0.14);
  border-radius: 12px;
  padding: 10px 12px 12px;
  background: rgba(255,255,255,0.62);
}
.addon-family .check { margin: 0; }
.addon-size {
  display: block;
  margin: 8px 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--muted);
}
.addon-size select {
  display: block;
  width: 100%;
  margin-top: 6px;
  min-height: 42px;
}
.check { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; }
.check input { width: 22px; height: 22px; min-height: 0; margin-top: 2px; }
.qty-wrap {
  display: block;
  margin: 8px 0 4px;
  font-weight: 700;
}
.qty-wrap input {
  display: block;
  width: 120px;
  max-width: 100%;
  margin-top: 6px;
  min-height: 44px;
  font-size: 16px;
}
.tool-qty {
  width: 72px;
  min-height: 44px;
  margin-left: 8px;
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
}

.help { font-weight: 500; color: var(--muted); font-size: 0.82rem; }
.price-disclaimer {
  margin: 16px 0 0;
  padding: 14px 16px;
  border-left: 4px solid var(--ember);
  background: #fff;
  border-radius: 0 12px 12px 0;
  font-size: 0.9rem;
  color: var(--ink);
}
.site-footer .legal { max-width: 72ch; }
.alert {
  padding: 12px 14px;
  border-radius: 12px;
  background: #e7f3ea;
  color: var(--pine);
  font-weight: 600;
}
.alert-warn { background: #f8eadf; color: var(--ember-d); }

.site-footer {
  background: var(--pine);
  color: #d7e4d8;
  padding: 48px 20px 110px;
}
.footer-grid { width: min(var(--max), 100%); margin: 0 auto; display: grid; gap: 28px; }
.brand-foot { margin-bottom: 10px; }
.brand-foot .brand-ver { color: var(--muted); }
.site-footer h3 { color: #fff; font-size: 1rem; margin: 0 0 8px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin: 6px 0; }
.site-footer a { color: #e7f0e6; text-decoration: none; }
.legal { width: min(var(--max), 100%); margin: 28px auto 0; font-size: 0.8rem; color: #9bb39d; }

.page-hero { padding: 36px 0 10px; }
.page-hero h1 { font-size: clamp(2rem, 6vw, 3.4rem); margin: 0 0 8px; }

.variant-list { display: grid; gap: 10px; margin: 16px 0; }
.variant {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.variant.selected { border-color: var(--pine); box-shadow: 0 0 0 3px rgba(22,53,38,0.12); }
.muted { color: var(--muted); }

.cart-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.qty {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.qty button {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
}

.gallery {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
.gallery figure { margin: 0; }
.gallery img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 14px;
  background: #e7eee6;
}
.gallery figcaption { font-size: 0.78rem; color: var(--muted); padding: 6px 2px 0; }
.photo-flag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.photo-flag.real { color: var(--needle); }
.photo-flag.generated { color: var(--ember-d); }
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.gallery-filters button{
  border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;
  padding:8px 14px;font-weight:700;font-size:.82rem;min-height:40px;cursor:pointer
}
.gallery-filters button.on{background:#163526;color:#f4efe4;border-color:#163526}
.gallery-group{margin:0 0 28px}
.gallery-group > h2{font-size:1.15rem;margin:0 0 12px}
.job-tag{display:inline-block;margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#163526}
.job-more{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.job-more figure{margin:0}
@media (min-width:700px){
  .job-more{grid-template-columns:1fr 1fr 1fr}
}
.job-list { display: flex; flex-direction: column; gap: 18px; align-items: stretch; }
.job-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  height: auto;
  align-self: start;
  width: 100%;
}
.job-card h2 { margin: 0 0 8px; }
.ba-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 8px;
  align-items: start;
}
.ba-col img, .ba-col video, .job-card figure img, .job-card figure video {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  border-radius: 12px;
  display: block;
  margin: 0 auto 8px;
  background: #e7eee6;
}
.owner-ba{margin:0 0 12px}
.owner-side{
  min-height:88px;
  border:1px dashed #c5d0c4;
  border-radius:12px;
  padding:8px;
  background:#f7faf6;
}
.owner-side.side-over,.photo-thumb-row.side-over{outline:2px solid var(--needle);outline-offset:2px}
.photo-ord{display:flex;gap:4px;margin:6px 0 0}
.photo-ord button{
  flex:1;min-height:32px;border:1px solid var(--line);background:#fff;border-radius:8px;
  font-weight:800;cursor:pointer
}
@media (max-width:779px){
  .owner-ba{grid-template-columns:1fr}
}
.photo-thumb-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.photo-thumb{min-width:132px;flex:0 1 168px;max-width:200px;height:auto;cursor:grab}
.photo-media{position:relative}
.photo-thumb img,
.photo-thumb video{
  display:block;
  width:100%;
  height:auto;
  max-height:168px;
  object-fit:contain;
  border-radius:10px;
  background:#e7eee6;
  pointer-events:none;
}
.photo-del{
  position:absolute;
  top:6px;
  right:6px;
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:rgba(22,53,38,.88);
  color:#fff;
  font-size:18px;
  line-height:28px;
  padding:0;
  cursor:pointer;
  z-index:2;
}
.photo-del:hover{background:#8b2e2e}
.photo-roles{display:flex;gap:4px;margin:6px 0 2px}
.photo-roles button{
  flex:1;
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  min-height:30px;
  font-size:.72rem;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  padding:0 4px;
}
.photo-roles button.on{background:#163526;color:#fff;border-color:#163526}
.job-title-label{display:block;font-size:.72rem;font-weight:700;color:var(--muted);margin:0 0 8px}
.job-title-edit{width:100%;font-size:1.05rem;font-weight:800;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.photo-thumb.dragging{opacity:.45;cursor:grabbing}
.job-drop.drop-over{outline:2px solid var(--needle);outline-offset:2px;background:#f3f8f2}
.photo-thumb select{width:100%;margin:4px 0;font-size:.75rem}
@media (min-width: 700px) {
  .ba-row { grid-template-columns: 1fr 1fr; align-items: start; }
}

.cal-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.cal-nav h2 { margin: 0; font-size: 1.3rem; }
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.cal-dow { text-align: center; font-size: 0.72rem; font-weight: 800; color: var(--muted); }
.cal-day {
  min-height: 92px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 6px;
  cursor: pointer;
  text-align: left;
  color: var(--ink);
  font: inherit;
  width: 100%;
}
.cal-day strong { font-size: 0.95rem; line-height: 1.1; }
.cal-day span { font-size: 0.65rem; text-transform: uppercase; font-weight: 700; }
.cal-day.today { box-shadow: inset 0 0 0 2px var(--needle); border-color: var(--needle); }
.admin-cal .cal-grid { width: 100%; }
.cal-day .cal-hours,
.admin-cal-cell .cal-hours {
  display: block;
  margin-top: 2px;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: none;
  color: #163526;
  letter-spacing: 0;
}
.cal-wx {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  color: #163526;
}
.cal-wx .wx-line,
.cal-wx .wx-mm,
.cal-wx .wx-win { display: block; }
.cal-wx .wx-lo,
.cal-wx .wx-mm,
.cal-wx .wx-win { color: #4a5c50; font-weight: 650; }
.admin-cal-cell .cal-wx { margin-top: 2px; }
.cal-open { background: #e7f3ea; }
.cal-limited { background: #f8eadf; }
.cal-booked, .cal-blocked, .cal-past { background: #eceae4; color: var(--muted); cursor: default; }

.hero-note {
  position: relative;
  z-index: 1;
  width: min(var(--max), calc(100% - 32px));
  margin: -12px auto 0;
  font-size: 0.78rem;
  color: var(--muted);
}

body.admin-body {
  background:
    linear-gradient(180deg, rgba(22,53,38,0.78), rgba(250,247,241,0.94)),
    url("../assets/images/hero-fall.jpg") center/cover fixed;
  min-height: 100vh;
  padding-top: var(--alert-h, 0px);
}
body.admin-body .site-header { background: rgba(22,53,38,0.88); border-bottom-color: transparent; }
body.admin-body .site-header .brand {
  background: #fff;
  border-radius: 12px;
  padding: 4px 8px;
}
body.admin-body .mobile-cta, body.admin-body .season-strip { display: none !important; }
.admin-login, .admin-app {
  width: min(1080px, calc(100% - 28px));
  margin: 32px auto 48px;
  background: rgba(250,247,241,0.94);
  border-radius: 24px;
  padding: 22px;
  box-shadow: var(--shadow);
}
.admin-hero-strip {
  background:
    linear-gradient(90deg, rgba(22,53,38,0.75), rgba(196,92,38,0.45)),
    url("../assets/images/lawn.jpg") center/cover;
  color: #fff;
  border-radius: 18px;
  padding: 22px;
  margin-bottom: 16px;
}
.cloud-pill{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-weight:700;
  letter-spacing:.02em;
}
.cloud-pill[data-cloud="live"]{background:#2f6a3a}
.cloud-pill[data-cloud="offline"],.cloud-pill[data-cloud="stale"]{background:#9a4418}
.cloud-pill[data-cloud="preview"]{background:#5b6b5c}
.admin-bar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}

.howto-toc{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px
}
.howto-toc a{
  display:inline-block;padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;min-height:36px
}
.howto-toc a:hover{background:#163526;color:#f4efe4}
.howto-sec{margin:0 0 14px;padding:18px 18px 16px;scroll-margin-top:132px}
.howto-sec h3{margin:0 0 10px}
.howto-sec h4{margin:14px 0 6px;font-size:.95rem}
.howto-sec p,.howto-sec li{font-size:.95rem;line-height:1.45}
.howto-sec ol,.howto-sec ul{margin:0 0 10px;padding-left:1.2em}
.admin-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 20px; }
@media (min-width: 901px) {
  .admin-body .admin-tabs {
    position: sticky;
    top: calc(var(--header, 72px) + var(--alert-h, 0px));
    z-index: 36;
    background: rgba(246, 242, 233, 0.96);
    backdrop-filter: blur(12px);
    padding: 10px 12px;
    margin: 0 0 20px;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 18px rgba(22, 53, 38, 0.08);
  }
}
@media (max-width: 900px) {
  .admin-body .admin-tabs { position: static; }
}
.admin-tabs button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  min-height: 40px;
  padding: 0 14px;
  font-weight: 700;
}
.admin-tabs button.on { background: var(--pine); color: #fff; }
.admin-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 12px;
}
.row-2 { display: grid; gap: 10px; }
.yard-plot {
  border: 1px solid rgba(22, 53, 38, 0.12);
  border-radius: 12px;
  padding: 10px 12px 12px;
  margin: 8px 0;
  background: rgba(255,255,255,0.55);
}
.yard-plot .eyebrow { margin: 0 0 8px; }

.hide-sm { display: none; }

@media (max-width: 779px) {
  :root { --header: 76px; }
  .brand .logo { height: 56px; max-width: 170px; }
  .site-header { gap: 10px; padding: 6px 12px; }
}
@media (min-width: 780px) {
  .menu-btn { display: none; }
  .desk-nav { display: flex; }
  .header-actions { margin-left: 0; }
  .hide-sm { display: inline-flex; }
  .mobile-cta { display: none; }
  .site-footer { padding-bottom: 40px; }
  main { padding-bottom: 0; }
  .cards { grid-template-columns: repeat(3, 1fr); }
  #photo-grid.cards {
    display: block;
    grid-template-columns: none;
  }
  .trust { grid-template-columns: repeat(4, 1fr); }
  .split { grid-template-columns: 1.1fr 0.9fr; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .gallery { grid-template-columns: repeat(3, 1fr); }
  .gallery img { height: 220px; }
  .row-2 { grid-template-columns: 1fr 1fr; }
}

@media (hover: hover) {
  .desk-nav > a:hover, .nav-drop summary:hover { background: var(--frost); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.paper-dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.paper-sheet label { display: block; margin: 10px 0; }
.paper-sheet input, .paper-sheet textarea,
.legal-doc input, .legal-doc textarea,
.soil-sheet input, .soil-sheet textarea {
  width: 100%;
  margin-top: 4px;
  padding: 10px 12px;
  border: 1px solid #c8d4c8;
  border-radius: 4px;
  background: #fff;
  background-image: none;
  box-shadow: none;
  text-decoration: none;
  border-bottom: 1px solid #c8d4c8;
}
.paper-sheet input::placeholder,
.paper-sheet textarea::placeholder,
.legal-doc input::placeholder,
.legal-doc textarea::placeholder,
.soil-sheet input::placeholder,
.soil-sheet textarea::placeholder {
  color: transparent;
  opacity: 0;
}
.gh-filled { border-bottom: 0; padding: 4px 0; margin: 6px 0; }
.paper-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.legal-doc, .paper-sheet.legal-doc, .soil-sheet {
  background: #fff;
  border: 1px solid #c8d4c8;
  border-radius: 4px;
  padding: 28px 32px 32px;
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 8px 24px rgba(20, 26, 20, 0.06);
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #163526;
  line-height: 1.45;
}
.paper-sheet.legal-doc h2, .soil-sheet h3 {
  font-size: 22px;
  margin: 0 0 14px;
  font-weight: 700;
  color: #163526;
}
.gh-letterhead .doc-no { margin-top: 8px; font-size: 12px; color: #5C675C; }
.gh-filled { border-bottom: 0; padding: 4px 0; margin: 6px 0; }
.doc-head {
  border-bottom: 2px solid #163526;
  margin-bottom: 16px;
  padding-bottom: 10px;
}
.doc-co {
  margin: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.15rem;
  color: #163526;
}
.doc-meta, .doc-no {
  margin: 2px 0 0;
  font-size: 0.82rem;
  color: #5c675c;
}
.doc-no { text-transform: uppercase; letter-spacing: 0.06em; }
.doc-clauses { margin: 0 0 16px; padding-left: 1.2em; }
.doc-clauses li { margin: 0 0 8px; }
.sign-box { margin-top: 14px; }
.sign-pad {
  width: 100%;
  max-width: 100%;
  height: 140px;
  touch-action: none;
  background: #fff;
  border: 1px dashed var(--line);
  border-radius: 12px;
  display: block;
}

.qr-sheet {
  background: #fff;
  border-radius: 22px;
  padding: 28px 20px 36px;
  max-width: 820px;
  margin: 0 auto 48px;
  text-align: center;
}
.qr-brand p { margin: 0; }
.qr-brand p:first-child {
  font-family: Fraunces, Georgia, serif;
  font-weight: 700;
  color: var(--pine);
  font-size: 1.35rem;
}
.qr-brand p:last-child { color: var(--muted); font-size: 0.92rem; margin-bottom: 22px; }
.qr-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px 0 28px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
}
.qr-feature img {
  width: min(280px, 70vw);
  height: auto;
  background: #fff;
  padding: 12px;
  border: 1px solid var(--line);
}
.qr-label { font-weight: 800; font-size: 1.15rem; margin: 4px 0 0; }
.qr-hint { color: var(--muted); margin: 0; font-size: 0.92rem; }
.qr-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 12px;
}
.qr-tile {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.qr-tile img {
  width: min(160px, 38vw);
  height: auto;
  background: #fff;
  padding: 8px;
  border: 1px solid var(--line);
}
.qr-tile figcaption { font-weight: 700; font-size: 0.9rem; }
.no-print {}
@media print {
  @page { size: letter; margin: 14mm; }
  header, footer, .mobile-cta, .mobile-panel, .menu-btn, .paper-dl,
  .page-hero, .paper-actions, #site-shell > header, .site-footer,
  .season-strip, .no-print { display: none !important; }
  body, body[data-page="qr"] { background: #fff !important; }
  .qr-sheet {
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    max-width: none;
  }
  .qr-feature img { width: 240px; }
  .qr-tile img { width: 140px; }
  .qr-tiles { gap: 16px; }
  .paper-sheet { break-after: page; box-shadow: none; }
  body[data-print] .paper-sheet { display: none !important; }
  body[data-print="sheet-release"] #sheet-release,
  body[data-print="sheet-quote"] #sheet-quote,
  body[data-print="sheet-service"] #sheet-service,
  body[data-print="sheet-incident"] #sheet-incident,
  body[data-print="sheet-referral"] #sheet-referral { display: block !important; }
}

.drop-row{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0 14px}
.drop-zone{display:block;width:100%;min-height:88px;padding:14px;border:2px dashed var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer}
.drop-zone strong{display:block}
.drop-zone.on{border-color:var(--needle);background:var(--frost)}
@media (min-width:700px){.drop-row{grid-template-columns:1fr 1fr 1fr}}

.admin-cal-desk{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 18px;align-items:start}
.admin-cal-board{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 14px 16px;
}
.admin-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.admin-cal-nav .btn{min-height:36px;padding:0 12px}
.admin-cal-nav strong{font-size:1.05rem;letter-spacing:.01em}
.admin-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:0.7rem;font-weight:700;color:var(--muted);text-align:center;margin-bottom:6px;padding:0 2px}
.admin-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.admin-cal-cell{
  min-height:86px;
  border:1px solid #d7ddd4;
  border-radius:12px;
  background:#fff;
  padding:7px 8px 8px;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.admin-cal-cell.empty{background:transparent;border-color:transparent;cursor:default;min-height:24px;padding:0}
.admin-cal-cell span{display:block;font-weight:800;font-size:0.95rem;line-height:1.1}
.admin-cal-cell small{display:block;font-size:0.66rem;color:var(--muted);text-transform:capitalize;margin-top:2px}
.admin-cal-cell .cal-hours{margin-top:3px;font-size:0.62rem}
.admin-cal-cell .cal-wx{margin-top:4px;font-size:0.6rem}
.admin-cal-cell.today{box-shadow:inset 0 0 0 2px var(--needle);border-color:var(--needle)}
.admin-cal-cell.st-open{background:#eef6ee}
.admin-cal-cell.st-limited{background:#f7eed8}
.admin-cal-cell.st-booked{background:#f3ddd2}
.admin-cal-cell.st-blocked{background:#e8e8e4}
.admin-cal-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 2px 0;font-size:0.72rem;font-weight:700;color:var(--muted)}
.admin-cal-legend span{display:inline-flex;align-items:center;gap:6px}
.admin-cal-legend span:before{content:"";width:10px;height:10px;border-radius:3px;display:inline-block}
.admin-cal-legend .lg-open:before{background:#cfe8d3}
.admin-cal-legend .lg-limited:before{background:#efd7a8}
.admin-cal-legend .lg-booked:before{background:#e8b8a6}
.admin-cal-legend .lg-blocked:before{background:#cfcfc9}
.admin-cal-notes{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.admin-cal-notes p{margin:0 0 6px;font-size:0.82rem}
.admin-cal-editor{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px 18px;
}
.admin-cal-editor h3{margin:0 0 4px;font-size:1.05rem}
.admin-cal-editor .form{margin:10px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
.admin-wx-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px 16px;
}
.admin-wx-card h3{margin:0 0 8px;font-size:1rem}
@media (min-width:980px){
  .admin-cal-desk{grid-template-columns:minmax(0,1fr) 260px;gap:18px}
}
@media (max-width:700px){
  .admin-cal-board,.admin-cal-editor,.admin-wx-card{padding:12px}
  .admin-cal-cell{min-height:74px;padding:5px 5px 6px;border-radius:10px}
  .admin-cal-week,.admin-cal-grid{gap:4px}
  .admin-cal-cell span{font-size:0.82rem}
  .cal-day{min-height:82px;padding:4px}
  .cal-wx .wx-lo,.cal-wx .wx-pop,.admin-cal-cell .cal-wx .wx-lo,.admin-cal-cell .cal-wx .wx-pop{display:none}
  .admin-cal-cell .cal-wx .wx-win{display:none}
  .cal-wx{font-size:0.56rem}
  .cal-day .cal-hours,.admin-cal-cell .cal-hours{font-size:0.56rem}
  .admin-app{width:min(1080px, calc(100% - 16px));padding:14px;margin:16px auto 32px}
}

.guide-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){.guide-grid{grid-template-columns:1fr 1fr}}
.guide-fig{margin:0 0 16px;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.guide-fig img{display:block;width:100%;height:auto}
.guide-fig figcaption{padding:8px 12px 12px;font-size:0.82rem;color:var(--muted)}
body[data-page="guide"]{background-image:linear-gradient(180deg,rgba(22,53,38,.32) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/guide-flowers.jpg")}
body[data-page="quote"]{background-image:linear-gradient(180deg,rgba(22,53,38,.32) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/lawn.jpg")}
body[data-page="services"],body[data-page="shop"]{background-image:linear-gradient(180deg,rgba(22,53,38,.30) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/lawn.jpg")}
body[data-page="work"]{background-image:linear-gradient(180deg,rgba(22,53,38,.34) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/repairs.jpg")}
body[data-page="about"],body[data-page="commercial"]{background-image:linear-gradient(180deg,rgba(22,53,38,.34) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/commercial.jpg")}
body[data-page="papers"],body[data-page="contracts"],body[data-page="faq"]{background-image:linear-gradient(180deg,rgba(22,53,38,.38) 0%,rgba(250,247,241,.88) 42%,rgba(250,247,241,.96) 100%),url("../assets/images/hero-fall.jpg")}
body[data-page="contact"],body[data-page="refer"]{background-image:linear-gradient(180deg,rgba(22,53,38,.32) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/commercial.jpg")}
body[data-page="calendar"],body[data-page="snow"]{background-image:linear-gradient(180deg,rgba(28,46,68,.38) 0%,rgba(250,247,241,.88) 42%,rgba(250,247,241,.96) 100%),url("../assets/images/snow.jpg")}
body[data-page="fall"]{background-image:linear-gradient(180deg,rgba(22,53,38,.32) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/hero-fall.jpg")}
body[data-page="spring"],body[data-page="aeration"],body[data-page="lawn"]{background-image:linear-gradient(180deg,rgba(22,53,38,.30) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/aeration.jpg")}
body[data-page="repairs"],body[data-page="custom"],body[data-page="residential"]{background-image:linear-gradient(180deg,rgba(22,53,38,.34) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/repairs.jpg")}
body[data-page="area"]{background-image:linear-gradient(180deg,rgba(22,53,38,.30) 0%,rgba(250,247,241,.86) 40%,rgba(250,247,241,.95) 100%),url("../assets/images/lawn.jpg")}

.plant-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 22px}
@media (min-width:860px){.plant-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.plant-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0}
.plant-card img{display:block;width:100%;height:140px;object-fit:cover;object-position:center}
.plant-card h3{font-size:1rem;margin:8px 10px 0}
.plant-card p{margin:4px 10px 10px;font-size:0.86rem}
.plant-meta{color:var(--muted);font-size:0.78rem !important}

.admin-info{display:inline-block;background:transparent;border:0;margin:0 0 10px;padding:0;vertical-align:middle}
.admin-info summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:0;padding:0;font-weight:650;color:transparent;font-size:0}
.admin-info summary::-webkit-details-marker{display:none}
.admin-info summary .info-i{font-size:.85rem;color:#fff}
.admin-info p{margin:8px 0;font-size:1rem;color:#163526;line-height:1.5}
.info-i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--pine);color:#fff;font-size:.85rem;font-weight:800;flex-shrink:0;box-shadow:0 1px 0 rgba(0,0,0,.15)}
.gh-pop,#gh-info-pop,#book-pop,#sup-edit-pop,#gh-site-pop{
  position:fixed;inset:0;z-index:92;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  background:rgba(22,53,38,.52);
}
.gh-pop[hidden],#gh-info-pop[hidden],#book-pop[hidden],#sup-edit-pop[hidden],#gh-site-pop[hidden]{display:none !important}
.gh-info-card{
  background:#faf7f1;
  color:#163526;
  max-width:520px;
  width:100%;
  max-height:min(86vh, 720px);
  overflow:auto;
  border-radius:20px;
  padding:20px 22px 18px;
  border:1px solid rgba(22,53,38,.14);
  box-shadow:0 18px 50px rgba(12,28,18,.28);
}
.gh-info-card .eyebrow{margin:0 0 6px;color:#5c675c}
.gh-info-card h2,.gh-info-card h3{margin:0 0 10px;font-size:1.25rem;color:#163526}
.gh-info-card p{margin:0 0 12px;font-size:1rem;line-height:1.5;color:#163526}
@media (max-width:700px){
  .gh-pop,#gh-info-pop,#book-pop,#sup-edit-pop,#gh-site-pop{
    align-items:flex-end;
    padding:10px 10px max(12px, env(safe-area-inset-bottom));
  }
  .gh-info-card{max-height:88vh;border-radius:16px 16px 8px 8px}
}
@media (max-width:900px){
  #gh-info-pop{display:none !important}
  .admin-info{display:block;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;padding:0;margin:8px 0 14px}
  .admin-info summary{color:#163526;font-size:1rem;padding:10px 12px;gap:8px}
  .admin-info[open] summary{border-bottom:1px solid var(--line)}
  .admin-info p{padding:0 12px 12px;margin:8px 0 0}
}

.sup-layout{display:block}
@media (min-width:901px){
  #supply-list{padding-right:268px}
}
.sup-float{position:relative;z-index:30;background:#163526;color:#f4efe4;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 16px 40px rgba(12,28,18,.38);margin:0;border:1px solid rgba(244,239,228,.16)}
.sup-float-head{margin:0;padding:12px 14px 8px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c9d6c8;cursor:move}
.sup-float-totals{padding:0 14px 12px;border-bottom:1px solid rgba(244,239,228,.16)}
.sup-kicker{margin:0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#b7c6b6}
.sup-money{margin:2px 0 0;font-size:1.55rem;font-weight:750;letter-spacing:-.02em;line-height:1.1}
.sup-weight{margin:4px 0 0;font-size:.88rem;color:#d7e3d4}
.sup-float-lines{padding:8px 10px;overflow:auto}
.sup-line{padding:8px 4px;border-bottom:1px solid rgba(244,239,228,.1)}
.sup-line-name{margin:0;font-size:.92rem;font-weight:650;line-height:1.25}
.sup-line-meta{margin:2px 0 0;font-size:.75rem;color:#b7c6b6}
.sup-line-cost{margin:4px 0 0;display:flex;justify-content:space-between;gap:8px;font-size:.82rem;color:#f4efe4}
.sup-float .help{color:#b7c6b6;padding:8px 14px 8px;margin:0;font-size:.78rem}
.sup-line-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;cursor:default}
.sup-float .qty-tick{display:inline-flex;align-items:center;gap:2px}
.sup-float .qty-btn,.sup-float .tool-qty,.sup-float .frame-mini,.sup-float .btn{cursor:pointer}
.sup-float .qty-btn{width:28px;min-height:28px;padding:0;background:rgba(244,239,228,.12);color:#f4efe4;border:1px solid rgba(244,239,228,.25)}
.sup-float .tool-qty{width:2.4rem;min-height:28px;padding:2px;text-align:center;background:#0f2418;color:#f4efe4;border:1px solid rgba(244,239,228,.25)}
.sup-float .frame-mini{max-width:3.6rem;min-height:28px;padding:2px 4px;background:#0f2418;color:#f4efe4;border:1px solid rgba(244,239,228,.25)}
.sup-float .btn-ghost{color:#f4efe4;border-color:rgba(244,239,228,.3);padding:4px 8px;min-height:28px;font-size:.75rem}
.sup-float-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 12px;border-top:1px solid rgba(244,239,228,.16);margin:0;cursor:default}
.sup-float-actions .btn{flex:1;min-width:4.2rem}
@media (min-width:901px){
  .sup-float{
    position:fixed;
    top:124px;
    right:16px;
    left:auto;
    z-index:46;
    width:248px;
    height:calc(100vh - 156px);
    min-width:220px;
    min-height:160px;
    max-width:none;
    max-height:none;
    resize:none;
    overflow:hidden;
    cursor:move;
    display:flex;
    flex-direction:column;
  }
  .sup-float-lines{flex:1;min-height:0}
  .sup-float-head{cursor:move;user-select:none}
  .sup-rs{position:absolute;z-index:3;background:transparent}
  .sup-rs.n,.sup-rs.s{left:10px;right:10px;height:8px;cursor:ns-resize}
  .sup-rs.e,.sup-rs.w{top:10px;bottom:10px;width:8px;cursor:ew-resize}
  .sup-rs.n{top:0}.sup-rs.s{bottom:0}.sup-rs.e{right:0}.sup-rs.w{left:0}
  .sup-rs.ne,.sup-rs.nw,.sup-rs.se,.sup-rs.sw{width:14px;height:14px}
  .sup-rs.ne{top:0;right:0;cursor:nesw-resize}
  .sup-rs.nw{top:0;left:0;cursor:nwse-resize}
  .sup-rs.se{bottom:0;right:0;cursor:nwse-resize}
  .sup-rs.sw{bottom:0;left:0;cursor:nesw-resize}
}
@media (max-width:900px){
  .sup-float{display:none !important}
}

.plain-table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.92);margin:12px 0}
.plain-table th,.plain-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:.92rem}
.plain-table th{font-weight:700}

.t-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.t-stat{background:rgba(255,255,255,.92);border-radius:14px;padding:12px 14px}
.t-num{font-size:1.8rem;font-weight:750;margin:2px 0}
.t-bar{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;margin:8px 0}
.t-bar-n{font-weight:700}
.t-bar-l{font-size:.92rem}
.t-bar-track{grid-column:1 / -1;height:8px;background:#e4ebe3;border-radius:99px;overflow:hidden}
.t-bar-track span{display:block;height:100%;background:#163526}
.t-spark{width:72px}
.t-spark span{display:block;height:8px;background:#2f6b4a;border-radius:99px}
@media (max-width:700px){
  .t-stats{grid-template-columns:1fr}
}

.tool-addons{display:flex;flex-direction:column;gap:12px;margin:8px 0 14px;max-height:min(70vh,640px);overflow:auto;background:transparent;padding:2px}
.tool-addon-group{background:rgba(255,255,255,.94);border:1px solid #d5ddd6;border-radius:14px;padding:10px 12px 8px}
.tool-addon-group h4{margin:0 0 8px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#3d5a48}
.tool-addon-list{display:flex;flex-direction:column}
.tool-sheet{margin-top:12px}
@media (max-width:700px){
  .tool-addons{max-height:none}
}

.todo-quick,.todo-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.todo-late{border-left:4px solid #8a2f2f}
.todo-done{opacity:.62}

.page-notes{padding:28px 0 10px;margin-top:10px;border-top:1px solid var(--line)}
.page-notes h2{font-size:1.05rem;margin:0 0 8px}
.page-notes p{font-size:.88rem;color:var(--muted);margin:0 0 10px}

.svc-block{margin:0 0 16px;padding:16px 18px;overflow:visible}
.svc-grid{display:grid;gap:14px;align-items:start}
@media (min-width:800px){.svc-grid{grid-template-columns:1fr 1fr}}
.list.compact{margin:8px 0 0;padding-left:18px}
.list.compact li{margin:3px 0;font-size:.92rem}
.extras-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:8px 4px;border-bottom:1px solid var(--line);font-size:.95rem;flex-wrap:wrap}
.extras-row:last-child{border-bottom:0}
.extras-row > div:first-child{min-width:0;overflow-wrap:anywhere}
.extras-price{white-space:normal;font-weight:700;color:var(--pine);text-align:right;flex:0 1 auto}

.svc-block h3{margin:0 0 6px}
.svc-cta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0}
.extras-sheet{padding:18px 20px}
.extras-group{margin:0 0 16px;padding:16px 18px 14px;border-bottom:0}
.extras-group:last-child{margin:0 0 16px;padding:16px 18px 14px}
.extras-group h3{margin:0 0 8px;font-size:1.05rem}
.extras-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.extras-table{width:100%;border-collapse:collapse;font-size:0.95rem}
.extras-table th,.extras-table td{border:1px solid #c8d4c8;padding:8px 10px;text-align:left;vertical-align:top}
.extras-table th{background:#163526;color:#fff;font-weight:600}
.extras-table tr:nth-child(even) td{background:#f3f6f1}
@media (max-width:700px){
  .extras-table th:nth-child(3),.extras-table td:nth-child(3){display:none}
}

.tool-help-float{display:none}
@media (min-width:901px){
  .admin-app:has([data-panel="tools"]:not([hidden])){
    width:min(1280px, calc(100% - 28px));
  }
  [data-panel="tools"]{padding-left:0;padding-right:256px}
  .tool-help-float{
    display:block;
    position:fixed;
    top:124px;
    right:16px;
    z-index:34;
    width:248px;
    max-height:calc(100vh - 156px);
    overflow:auto;
    background:rgba(247,250,245,.97);
    color:#163526;
    border:1px solid #c8d4c8;
    border-radius:14px;
    box-shadow:0 12px 28px rgba(12,28,18,.18);
  }
}
@media (max-width:900px){
  .tool-help-float{display:none !important}
}
.tool-help-head{margin:0;padding:12px 14px 8px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#5C675C;border-bottom:1px solid #c8d4c8}
.tool-help-body{padding:10px 14px 14px;font-size:.82rem;line-height:1.4}
.tool-help-body p{margin:0 0 10px}
.tool-help-body p:last-child{margin:0}
.tool-help-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 6px}
.tool-help-actions .btn{font-size:.78rem;padding:6px 8px;min-height:36px}
.wx-float{display:none}
.gh-kit{display:none}
@media (min-width:901px){
  body[data-page="calendar"] main{padding-right:300px}
  .wx-float{display:block;position:fixed;top:110px;right:16px;z-index:34;width:280px;max-height:calc(100vh - 140px);overflow:auto;background:rgba(255,255,255,.96);color:#163526;border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 10px 28px rgba(0,0,0,.16)}
  body.admin-body .wx-float,
  body.admin-body .admin-wx-card{
    display:block;
    position:static;
    width:auto;
    max-height:none;
    overflow:visible;
    box-shadow:none;
    top:auto;
    right:auto;
    z-index:auto;
  }
  .wx-float h3{margin:0 0 8px;font-size:1rem}
  .wx-now{font-size:1.15rem;margin:0 0 8px}
  .wx-days{margin:0;padding-left:18px}
  body.admin-body .wx-float{top:130px}
  .gh-kit{display:block;position:fixed;right:18px;bottom:18px;z-index:37}
  .gh-kit-open{border:0;background:#163526;color:#f3efe6;border-radius:8px;padding:11px 16px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 24px rgba(12,28,18,.28);display:inline-flex;align-items:center;gap:8px}
  .gh-kit-open.has-errors,.gh-kit-open[data-err="1"]{background:#9a4418;color:#fff;box-shadow:0 10px 24px rgba(154,68,24,.35)}
  .kit-btn-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 5px;border-radius:999px;background:#fff;color:#9a4418;font-size:.75rem;font-weight:800;line-height:1}
  .gh-kit-panel{position:absolute;right:0;bottom:52px;width:392px;max-height:76vh;overflow:auto;background:#f7f3ea;color:#163526;border-radius:10px;padding:0;box-shadow:0 18px 40px rgba(12,28,18,.28);border:1px solid #c8d4c8}
  .kit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#163526;color:#f3efe6;padding:14px 16px 12px}
  .kit-kicker{margin:0 0 2px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#cfe3d1}
  .kit-head strong{font-size:1.15rem}
  .kit-x{border:0;background:transparent;color:#f3efe6;font-size:1.4rem;line-height:1;width:32px;height:32px;cursor:pointer}
  .kit-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:10px 12px;background:#efe9dc;border-bottom:1px solid #d7ddd4}
  .kit-tabs button{border:1px solid #c8d4c8;background:#fff;border-radius:6px;min-height:32px;padding:0 10px;font-size:.78rem;font-weight:700;color:#163526;cursor:pointer}
  .kit-tabs button.on{background:#163526;color:#fff;border-color:#163526}
  .gh-kit-panel [data-kit-pane]{padding:14px 16px 16px}
  .gh-kit-panel label{font-size:.82rem}
  .gh-kit-panel .help, .gh-kit-panel [id$="-out"]{
    background:#fff;border:1px solid #d5ddd5;border-radius:8px;padding:10px 12px;min-height:2.4em;color:#163526;font-weight:650
  }
}
@media (max-width:900px){
  .wx-float{display:none !important}
  .gh-kit{display:none !important}
  body.admin-body .gh-kit{display:block !important;right:12px;bottom:12px}
  body.admin-body .gh-kit-panel{width:min(392px, calc(100vw - 24px));max-height:68vh;bottom:52px}
  body.admin-body .admin-wx-card.wx-float{display:block !important;position:static;width:auto;max-height:none;overflow:visible}
}

[data-panel="account"] .acc-block{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px 14px;margin:0 0 14px}
[data-panel="account"] .acc-block h3{margin:0 0 6px;font-size:1.15rem}
[data-panel="account"] .acc-form{background:transparent;border:0;padding:0;box-shadow:none}
[data-panel="account"] .acc-save{margin:4px 0 16px}
[data-panel="account"] > h2{margin-bottom:8px}
.mail-preview{margin:12px 0;padding:18px 20px;background:#fff;border:1px solid #d5ddd5;border-top:3px solid #163526;border-radius:6px;font-size:.92rem;line-height:1.55;color:#163526}
.mail-preview .mail-head img{width:88px;height:auto;display:block}
.mail-preview .mail-co{font-weight:800;letter-spacing:.02em;margin:0 0 2px}
.mail-preview .mail-meta{color:#5b6b5c;font-size:.82rem;margin:0 0 14px}
#tool-mail-body{min-height:280px;font-family:Georgia,serif;line-height:1.5}
.soil-head{display:flex;gap:16px;align-items:flex-start;margin:0 0 14px}
.soil-head img{width:120px;height:auto;background:#fff;border-radius:12px;padding:6px}
.soil-drops{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 16px}
@media (min-width:760px){.soil-drops{grid-template-columns:1fr 1fr 1fr}}
.soil-drop{width:100%;min-height:92px;border:2px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.7);font-weight:650;cursor:pointer}
.soil-drop.on{border-color:var(--pine);background:#eef6ee}
.soil-sheet img{max-width:100%;height:auto;border-radius:10px}

.letter-preview{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px}

.doc-head{display:flex;gap:14px;align-items:center;border-bottom:2px solid #163526;padding:0 0 12px;margin:0 0 16px}
.doc-head img{width:96px;height:auto;background:#fff;border-radius:10px;padding:4px}
.doc-co{font-weight:800;margin:0;color:#163526;letter-spacing:.02em}
.doc-meta,.doc-no{margin:2px 0 0;color:#5C675C;font-size:.9rem}

.price-sum{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:700}
.price-sum::-webkit-details-marker{display:none}
.price-fold > *:not(summary){margin-top:8px}

.addon-row{border-top:1px solid var(--line);padding:10px 0 4px;margin-top:8px}
.addon-row p{margin:0 0 6px}
.price-lines{margin:10px 0 12px}
.price-line{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:rgba(16,36,24,.35)}
.price-line .row-2{margin-top:6px}
.price-line .btn-ghost{margin-top:8px}

.unit-pick{display:grid;gap:6px}
.unit-pick input{min-height:42px}

.price-fold .price-body{display:block}
.price-fold.closed .price-body{display:none}
button.price-sum{width:100%;border:0;background:#f3f6f1;border-radius:12px;text-align:left;font:inherit;font-weight:700;color:inherit}
button.price-sum:hover{background:#e7eee6}

.price-desk{display:flex;flex-direction:column;gap:8px;margin:0 0 22px}
.price-desk .admin-card.price-fold{
  margin:0;
  padding:6px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 0 rgba(22,53,38,.04);
}
.price-desk button.price-sum{
  background:transparent;
  border-radius:10px;
  padding:10px 12px;
  gap:10px;
}
.price-desk button.price-sum:hover{background:#f3f6f1}
.price-desk .price-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.price-desk .rate-price{
  background:#eef4ee;
  border-radius:999px;
  padding:4px 10px;
  font-size:.82rem;
  letter-spacing:.01em;
}
.price-desk .price-body{
  padding:4px 10px 12px;
  border-top:1px solid #e8eee8;
  margin:0 6px 6px;
}
.price-desk .price-body label{font-size:.82rem;color:#4d5b4e}
.off-pill{
  display:inline-block;
  margin-left:2px;
  padding:1px 7px;
  border-radius:999px;
  background:#efe6d8;
  color:#6a4b1f;
  font-size:.68rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.var-grid{
  display:grid;
  grid-template-columns:1fr 110px auto;
  gap:8px;
  align-items:end;
  margin:0 0 8px;
}
.var-grid .variant-del,.var-grid .btn{min-height:42px}
.addon-row{
  border:1px solid #e8eee8;
  border-radius:12px;
  padding:10px 12px 8px;
  margin:0 0 10px;
  background:#fbfaf6;
}
.addon-row.is-off{opacity:.62}
.addon-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:0 0 8px}
.addon-head p{margin:0}
.addon-from{font-weight:800;color:#163526;white-space:nowrap}
.addon-price{grid-template-columns:1fr 1fr auto;align-items:end}
.addon-on{display:flex;align-items:center;gap:8px;min-height:42px;margin:0}
.price-line{
  border:1px solid #e4ebe4;
  border-radius:12px;
  padding:10px 12px;
  margin:8px 0;
  background:#fff;
}
@media (max-width:700px){
  .var-grid,.addon-price{grid-template-columns:1fr;align-items:stretch}
  .price-desk .rate-price{white-space:normal;text-align:left}
  .addon-head{flex-direction:column;gap:2px}
}

.kit-badge{display:inline-block;min-width:16px;margin-left:4px;padding:0 5px;border-radius:8px;background:#c45c26;color:#fff;font-size:.68rem;line-height:16px}
.gh-kit-open[data-err="1"]{box-shadow:0 0 0 2px #c45c26}
.kit-qa-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto}
.kit-err-list{max-height:36vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.kit-err{background:#fff;border:1px solid #d7ddd4;border-radius:8px;padding:8px 10px}
.kit-err p{margin:0 0 4px;font-size:.8rem;word-break:break-word}
.kit-note-list{max-height:28vh;overflow:auto;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}
.kit-note{background:#fff;border:1px solid #c8d4c8;border-radius:8px;padding:8px 10px}
.kit-note p{margin:0 0 6px;font-size:.82rem;line-height:1.35}
.kit-note .paper-actions{margin:0}
.kit-note-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}
.kit-note-controls label{margin:0;font-size:.72rem}
.kit-note-controls select{width:100%;font-size:.78rem}
.kit-note-flags{display:flex;flex-wrap:wrap;gap:6px 10px;margin:4px 0 8px}
.kit-note-flags .check{font-size:.75rem;margin:0}
#desk-qa .check{display:block;margin:4px 0}

.zoom-hit, .ba-col img, .ba-col video, .job-card figure img, .job-card figure video, .photo-media{cursor:zoom-in}
.gh-lightbox{
  position:fixed;inset:0;z-index:90;
  background:rgba(10,22,16,.92);
  display:flex;align-items:center;justify-content:center;
  padding:48px 56px 56px;
}
.gh-lightbox[hidden]{display:none}
body.lb-open{overflow:hidden}
.lb-stage{margin:0;max-width:100%;max-height:100%}
.lb-stage img, .lb-stage video{
  display:block;
  max-width:min(96vw,1280px);
  max-height:82vh;
  width:auto;height:auto;
  object-fit:contain;
  border-radius:8px;
  background:#000;
}
.lb-x{
  position:absolute;top:12px;right:12px;
  width:44px;height:44px;border:0;border-radius:50%;
  background:#f3efe6;color:#163526;font-size:28px;line-height:44px;
  cursor:pointer;z-index:2;
}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border:0;border-radius:50%;
  background:#f3efe6;color:#163526;font-size:28px;line-height:44px;
  cursor:pointer;
}
.lb-prev{left:10px}
.lb-next{right:10px}
.lb-cap{
  position:absolute;left:16px;right:16px;bottom:12px;
  margin:0;text-align:center;color:#f3efe6;font-size:.9rem;
}
@media (max-width:700px){
  .gh-lightbox{padding:56px 8px 48px}
  .lb-nav{width:38px;height:38px}
  .lb-stage img, .lb-stage video{max-height:74vh}
}

.quote-state{padding:8px 10px;border-radius:8px;font-weight:700;margin:8px 0}
.quote-state-new{background:#fff4d6;color:#163526}
.quote-state-contacted{background:#dceaf8;color:#163526}
.quote-state-booked{background:#d5ead2;color:#163526}

#book-pop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(22,53,38,.45)}
#book-pop[hidden]{display:none !important}
#book-pop .gh-info-card{background:#fff;color:#163526;max-width:480px;width:100%;max-height:85vh;overflow:auto;border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
@media (min-width:721px){
  #book-pop{align-items:center;padding:24px}
}

.tool-add-row{
  display:flex;
  align-items:center;
  gap:8px 10px;
  margin:0;
  padding:7px 6px;
  border-radius:10px;
}
.tool-add-row:hover{background:#eef4ee}
.tool-add-row.is-included{opacity:.55}
.tool-add-row .check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex:1 1 auto;
  margin:0;
  font-weight:600;
}
.tool-add-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.tool-add-name{line-height:1.25}
.tool-add-price{color:#2f6b4a;font-size:.84rem;font-weight:700}
.tool-add-included{font-size:.75rem;color:#5b6e62;white-space:nowrap}
.tool-add-row .qty-tick{opacity:.28;pointer-events:none}
.tool-add-row.is-picked .qty-tick,
.tool-add-row:focus-within .qty-tick{opacity:1;pointer-events:auto}
.qty-tick{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}
.qty-btn{
  width:44px;
  min-height:44px;
  border:1px solid #c8d4c8;
  background:#fff;
  border-radius:10px;
  font-size:1.2rem;
  line-height:1;
  color:#163526;
}
.qty-btn:hover{background:#eef4ee}
#gh-saved{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(16px);
  z-index:120;
  background:#163526;
  color:#f4efe4;
  padding:10px 16px;
  border-radius:999px;
  font-weight:700;
  font-size:.92rem;
  box-shadow:0 10px 30px rgba(12,28,18,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
#gh-saved.on{opacity:1;transform:translateX(-50%) translateY(0)}
@media (max-width:700px){
  #gh-saved{bottom:12px;left:12px;right:12px;width:auto;text-align:center;transform:none}
  #gh-saved.on{transform:none}
}

.sup-price-edit{display:flex;flex-direction:column;gap:2px;font-size:.82rem;min-width:120px}
.sup-price-edit input{min-height:44px;padding:6px 8px;border:1px solid #c8d4c8;border-radius:10px;font-size:1rem;width:8rem}
.sup-line-cad{color:#163526;font-size:1rem;min-width:5rem;text-align:right}

#supply-list h3{margin:18px 0 8px;font-size:.95rem;letter-spacing:.04em}
.sup-item{background:#fff;border:1px solid #d5dfd4;border-radius:12px;padding:8px 10px;margin:0 0 8px}
.sup-item.is-got{opacity:.62}
.sup-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sup-got{margin:0}
.sup-name{flex:1 1 160px;min-width:140px;font-weight:700;border:0;border-bottom:1px solid #d5dfd4;background:transparent;font-size:1rem;padding:6px 4px;color:#163526}
.sup-banner select{min-height:40px;border:1px solid #c8d4c8;border-radius:10px;padding:4px 8px;background:#f7faf6;max-width:220px}
.sup-banner .sup-line-cad{font-weight:750;color:#163526;margin-left:auto;min-width:4.5rem;text-align:right}
.sup-remove{margin-left:0}
.sup-banner-row{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px}
.sup-banner-row label{display:flex;flex-direction:column;gap:2px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#5b6b5c}
.sup-banner-row label input{min-height:40px;width:5.6rem;border:1px solid #c8d4c8;border-radius:10px;padding:4px 6px}
.sup-unit{width:4.2rem;min-height:40px;border:1px solid #c8d4c8;border-radius:10px;padding:4px 6px}
.sup-banner-row select{min-height:40px;border:1px solid #c8d4c8;border-radius:10px;padding:4px 8px}
.sup-banner-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;font-size:.8rem;color:#5b6b5c}
.sup-banner-meta input{min-height:36px;border:1px solid #e0e6de;border-radius:8px;padding:4px 8px;background:#fbfcf9}
@media (max-width:700px){
  .sup-banner .sup-line-cad{margin-left:0;width:100%;text-align:left}
  .sup-banner-row label input{width:30%}
}

/* v2.33.34 polish */
::selection{background:#163526;color:#fff}
:focus-visible{outline:2px solid var(--needle);outline-offset:2px}
.card-body,.card h3,.choice-set,.addon-row,.admin-card{overflow-wrap:anywhere}
.card-body{min-width:0}
.cards,.grid,.rate-sheet{min-width:0}
.btn, .btn-ghost, .btn-ember, .btn-line{min-height:44px}
.btn:hover{filter:brightness(1.05)}
.btn-ghost:hover{background:#eef4ee}
input::placeholder, textarea::placeholder{color:#7a877b}
.site-footer{padding:36px 0 28px}
.site-footer .legal{font-size:.82rem;line-height:1.45;color:#c5d2c4}
.season-strip{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(40px, env(safe-area-inset-right))}
.mobile-cta{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}
.page-hero p.lead,.section .lead{max-width:62ch}
.admin-page{padding-top:8px}
.admin-card{padding:14px 16px}
.tool-addon-group + .tool-addon-group{margin-top:10px}
.tool-frame{min-height:40px;border:1px solid #c8d4c8;border-radius:10px;padding:4px 8px;background:#fff;max-width:8.5rem}
.tool-addons{display:flex;flex-direction:column;gap:10px}
table{width:100%;border-collapse:collapse}
.table-wrap, .sheet, #tool-sheet{overflow-x:auto}
@media (max-width:779px){
  .brand .logo{height:60px;max-width:180px}
  .site-header{min-height:76px;padding:0 12px}
  :root{--header:76px}
  .hero h1{max-width:16ch}
  .card img{height:168px}
  .hero-actions a,.hero-actions .btn{flex:1 1 140px}
}
@media (min-width:780px){
  .desk-nav > a:hover, .nav-drop summary:hover{background:#e8efe6}
}

#sup-edit-pop{position:fixed;inset:0;z-index:95;display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:rgba(22,53,38,.45)}
#sup-edit-pop[hidden]{display:none !important}
#sup-edit-pop .gh-info-card{background:#fff;color:#163526;max-width:520px;width:100%;max-height:88vh;overflow:auto;border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
#sup-edit-pop h3{margin:0 0 10px}
@media (min-width:721px){
  #sup-edit-pop{align-items:center;padding:24px}
}
.sup-banner-copy{display:flex;flex-direction:column;gap:2px;flex:1 1 180px;min-width:140px}
.sup-banner-copy strong{font-size:1rem;color:#163526}
.sup-banner-copy span{font-size:.8rem;color:#5b6b5c}

.frame-mini{
  width:auto;min-width:3.6rem;max-width:4.8rem;min-height:36px;height:36px;
  padding:2px 6px 2px 4px;font-size:.8rem;font-weight:700;color:#163526;
  border:1px solid #c8d4c8;border-radius:8px;background:#f7faf6;flex:0 0 auto;
}
.sup-edit-btn{min-height:36px;padding:0 12px;font-size:.84rem;flex:0 0 auto}
.sup-banner .frame-mini{margin-left:auto}
#rental-suggest .tool-add-row{flex-wrap:wrap;align-items:center;gap:6px 8px}
#rental-suggest .frame-mini{max-width:4.6rem}
#sup-frame.frame-mini, #sup-edit-form [name=frame]{max-width:6.5rem;min-width:5.2rem}
.sup-banner .qty-tick{flex:0 0 auto}
.sup-banner .tool-qty{width:3rem;min-height:36px;text-align:center;padding:4px}
.sup-banner .qty-btn{width:36px;min-height:36px}
.rent-host{margin:0;font-size:.88rem;letter-spacing:.04em;color:#163526}
.rent-fold{margin:10px 0;border:1px solid #c8d4c8;border-radius:10px;background:#f7faf5;padding:0 10px 8px}
.rent-fold > summary.rent-host{cursor:pointer;list-style:none;padding:10px 4px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}
.rent-fold > summary.rent-host::-webkit-details-marker{display:none}
.rent-fold > summary.rent-host::after{content:"▾";font-size:.85rem;color:#5C675C}
.rent-fold:not([open]) > summary.rent-host::after{content:"▸"}
.rent-fold-body{padding:0 2px 6px}
@media (max-width:720px){
  .rent-fold > summary.rent-host{min-height:44px}
}

/* save-warn styled with cloud-banner in the fixed alert dock */

.cards-pairs{grid-template-columns:1fr;}
@media (min-width:700px){
  .cards-pairs{grid-template-columns:1fr 1fr;}
}
