:root {
  --ink: #182b25;
  --muted: #485d55;
  --green: #126348;
  --amber: #f6cb69;
  --line: #dbe5dc;
  --soft: #f4f7f2;
}
.wrap { width: min(1240px, calc(100% - 64px)); }
html { scroll-padding-top: 98px; }
.top { background: #fff; }
.navrow { min-height: 81px; }
.logo { font-size: 21px; letter-spacing: -.035em; text-transform: none; }
.logo img { width: 49px; height: 49px; object-fit: contain; }
.logo small { font-size: 9px; letter-spacing: .24em; }
.btn { border-radius: 5px; padding: 13px 19px; }
.navcall { white-space: nowrap; }
.hero-new { background: #f6f7f1; padding: 35px 0; border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(25px,4.5vw,72px); align-items: center; }
.hero-copy { padding-block: 25px; }
.hero-copy h1 { font-family: Georgia,serif; font-weight: 500; font-size: clamp(49px,6.1vw,91px); letter-spacing: -.066em; line-height: .98; margin: 18px 0 24px; }
.hero-copy > p { font-size: clamp(16px,1.5vw,20px); max-width: 420px; color: var(--muted); }
.hero-proof { display: flex; flex-wrap: wrap; gap: 20px 35px; margin-top: 35px; padding-top: 17px; border-top: 1px solid var(--line); }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof span { color: var(--muted); font-size: 13px; }
.hero-visual { position: relative; margin: 0; align-self: stretch; min-width: 0; }
.hero-visual img { width: 100%; height: 100%; min-height: 470px; max-height: 660px; object-fit: cover; border-radius: 6px; }
.hero-visual figcaption { position: absolute; top: 14px; right: 14px; background: #142921e8; color: white; padding: 4px 9px; font-size: 10px; border-radius: 3px; }
.hero-offer { position: absolute; bottom: 18px; left: 18px; right: 18px; background: #112b23f5; color: white; border-radius: 5px; padding: 16px 20px; }
.hero-offer strong, .hero-offer small, .hero-offer span { display: block; }
.hero-offer strong { font-size: clamp(26px,4vw,42px); letter-spacing: -.055em; color: var(--amber); line-height: 1.2; }
.hero-offer small { font-size: 10px; letter-spacing: .12em; font-weight: 750; }
.hero-offer span { font-size: 12px; }
.brandband { border-bottom: 1px solid var(--line); padding: 18px 0; }
.brandtop { display: flex; justify-content: space-between; align-items: center; }
.brandtop button { width: 32px; height: 32px; margin-left: 4px; background: white; border: 1px solid var(--line); border-radius: 50%; font-size: 19px; }
.brandrail { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; list-style: none; padding: 0 0 7px; margin: 10px 0 0; }
.brandrail li { flex: 0 0 calc((100% - 60px)/6); min-width: 148px; scroll-snap-align: start; font-size: 15px; font-weight: 750; text-align: center; border: 1px solid var(--line); padding: 12px 6px; }
.section { padding-block: clamp(49px,7.5vw,106px); }
.tint { background: var(--soft); }
.editorial { max-width: 790px; margin-bottom: 32px; }
.editorial h2, .section-head h2, .pagehero h1, .closeout h2 { font-family: Georgia,serif; font-weight: 500; letter-spacing: -.052em; }
.editorial h2 { margin: 8px 0 13px; }
.editorial p, .featuregrid p, .process p, .faqs p { color: var(--muted); }
.featuregrid, .locations { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.featuregrid article, .locations article { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; background: white; }
.featuregrid img { aspect-ratio: 1.72; height: auto; }
.featuregrid article > div, .locations article { padding: 23px; }
.featuregrid h3, .locations h3 { margin: 8px 0 10px; }
.textlink { display: inline-block; margin-top: 15px; color: var(--green); font-weight: 750; border-bottom: 1px solid currentColor; }
.textlink:hover { color: #814b13; }
.subgrid { display: grid; grid-template-columns: minmax(230px,.65fr) minmax(0,1.65fr); gap: 20px; align-items: stretch; }
.subpanel { background: #15372c; color: #fff; padding: 26px; border-radius: 7px; }
.subpanel .eyebrow { color: #cee7d4; }
.subpanel strong { display: block; color: var(--amber); font-size: clamp(33px,4vw,52px); letter-spacing: -.055em; }
.subpanel .btn { margin-top: 16px; background: var(--amber); color: var(--ink); }
.table-wrap { border-radius: 7px; }
th,td { padding: 14px 13px; }
thead { background: #174433; color: white; }
td:last-child strong { color: var(--green); }
.process { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,215px),1fr)); gap: 22px; }
.process li { border-top: 1px solid #9eb9a7; padding-top: 15px; }
.process span { color: var(--green); font-weight: 750; font-size: 13px; }
.process h3 { margin: 9px 0; }
.locations { grid-template-columns: repeat(2,minmax(0,1fr)); }
.locations address { min-height: 0; }
.faqs { max-width: 900px; }
.faqs details { border-bottom: 1px solid #c9d9cf; padding: 16px 0; }
.faqs summary { cursor: pointer; font-weight: 720; font-size: 17px; }
.faqs p { margin-top: 8px; }
.faqs a { text-decoration: underline; }
.closeout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; margin-block: 45px; padding: clamp(22px,5vw,52px); background: #e9f2e9; border-radius: 7px; }
.closeout h2 { margin: 7px 0; }
.pagehero { background: #eaf1e9; }
.crumb { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 13px; margin-bottom: 20px; }
.crumb a { text-decoration: underline; }
.card,.photo,.cta { border-radius: 7px; }
.footer-grid { display: grid; grid-template-columns: 1.08fr .7fr 1fr 1.1fr; gap: 26px; }
.footer-grid nav { display: grid; gap: 4px; margin-top: 9px; }
.footer-grid address { color: #d3dfd8; margin-block: 10px; min-height: 0; }
.footer-grid a:not(.logo):hover { text-decoration: underline; }
.footer-grid p { margin: 10px 0; color: #d3dfd8; }
.foot-end { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; border-top: 1px solid #456255; padding: 16px 105px 0 0; margin-top: 28px; font-size: 13px; }
@media(max-width: 900px) {
  .wrap { width: calc(100% - 40px); }
  .hero-grid { gap: 20px; }
  .hero-visual img { min-height: 390px; }
  .subgrid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 740px) {
  .navrow nav { display: none; position: absolute; top: 100%; inset-inline: 0; background: white; padding: 12px 20px; border-bottom: 1px solid var(--line); }
  .navrow nav.open { display: grid; gap: 3px; }
  .menu { display: block; border: 1px solid var(--line); background: white; border-radius: 5px; padding: 7px 12px; }
  .navrow { min-height: 64px; }
  .hero-grid, .featuregrid { grid-template-columns: 1fr; }
  .hero-new { padding-top: 10px; }
  .hero-visual img { min-height: 0; height: auto; aspect-ratio: 1.1; }
  .hero-copy { padding-bottom: 6px; }
  .hero-offer { inset-inline: 9px; bottom: 9px; }
}
@media(max-width: 450px) {
  .wrap { width: calc(100% - 32px); }
  .hero-copy h1 { font-size: clamp(41px,12vw,54px); }
  .footer-grid, .locations { grid-template-columns: 1fr; }
  .foot-end { padding-right: 0; padding-bottom: 45px; }
}
@media (min-width: 741px) and (max-width: 1050px) { .navcall { display: none; } }
@media (min-width: 681px) and (max-width: 740px) { .cards,.photos,.split { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.menu {
  color: var(--ink);
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
}
.menu svg { display: block; margin: auto; }
.menu[aria-expanded="true"] { background: var(--soft); }
.floating {
  display: grid;
  place-items: center;
  width: 53px;
  height: 53px;
  padding: 0;
  background: #087e53;
}
.floating:hover { background: #076844; }
