.public-landing {
  background:#faf8f1;
  color:#253d2e
}
.public-landing .site-header {
  background:#faf8f1;
  border-bottom:1px solid #dbdfd3;
  padding:1.2rem 0
}
.public-landing .brand {
  color:#294333;
  letter-spacing:-.02em
}
.public-landing .brand small {
  display:block;
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:400
}
.public-landing .site-nav {
  gap:1.8rem!important
}
.public-landing .site-nav a {
  color:#294333
}
.public-landing .site-nav .btn {
  background:#294333;
  color:white;
  border-color:#294333;
  padding:.65rem 1.35rem
}
.public-landing #main-content {
  padding:0;
  width:100%;
  max-width:none
}
.public-landing .flash-messages {
  max-width:1200px;
  margin:1rem auto
}
.landing h1,.landing h2,.landing h3 {
  font-family:Georgia,'Times New Roman',serif;
  color:inherit;
  font-weight:400;
  letter-spacing:-.035em
}
.landing p {
  line-height:1.7
}
.landing-wrap {
  width:min(1200px,calc(100% - 4rem));
  margin-inline:auto
}
.landing-section {
  padding-block:6.5rem;
  scroll-margin-top:3rem
}
.landing-kicker {
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:700;
  margin-bottom:1.3rem
}
.landing-hero {
  min-height:690px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  align-items:center
}
.landing-hero-art {
  position:absolute;
  inset:0 0 0 44%;
  z-index:-1;
  background:#dce2cf
}
.landing-photo,.landing-fallback {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% center
}
.landing-hero-copy {
  width:48%;
  margin:4rem 0 4rem max(2rem,calc((100vw - 1200px)/2));
  padding:2rem 2.7rem 2rem 0;
  background:#faf8f1
}
.landing h1 {
  font-size:clamp(2.7rem,4.3vw,4.7rem);
  line-height:1.1;
  margin-bottom:1.8rem
}
.landing h1 em {
  font-style:normal;
  color:#77713f
}
.landing-intro {
  max-width:29rem;
  font-size:1.08rem;
  color:#4d5e50
}
.landing-actions {
  display:flex;
  align-items:center;
  gap:1.8rem;
  flex-wrap:wrap;
  margin-top:2rem
}
.landing-button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  background:#294333;
  color:#fff!important;
  text-decoration:none;
  border-radius:4px;
  padding:.95rem 1.5rem;
  font-weight:700
}
.landing-button:hover {
  background:#3f6046
}
.landing-text-link {
  color:inherit;
  text-underline-offset:5px;
  font-weight:700;
  font-size:.9rem
}
.landing-footnote {
  font-size:.73rem;
  margin:2.6rem 0 0;
  color:#60705f
}
.hero-controls {
  position:absolute;
  bottom:1.5rem;
  right:1.5rem;
  display:flex;
  gap:1rem;
  align-items:center;
  background:#faf8f1;
  color:#294333;
  padding:.45rem;
  border-radius:4px;
  font-size:.85rem
}
.hero-controls[hidden] {
  display:none
}
.hero-controls button {
  background:none;
  border:0;
  font-size:1.4rem;
  width:44px;
  height:44px;
  color:inherit
}
.landing-benefits {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
  padding-block:3.4rem
}
.landing-benefits>div {
  padding-right:2rem;
  border-right:1px solid #dce0d3
}
.landing-benefits>div:last-child {
  border:0
}
.landing-number {
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  color:#736b41
}
.landing-benefits h2 {
  font-size:1.6rem;
  margin:.7rem 0
}
.landing-benefits p {
  font-size:.93rem;
  color:#526251;
  margin:0
}
.landing-capabilities {
  background:#edeedf
}
.landing-section-heading {
  max-width:700px;
  margin-bottom:3rem
}
.landing h2 {
  font-size:clamp(2.1rem,3.3vw,3.3rem);
  line-height:1.16;
  margin-bottom:1.3rem
}
.landing-section-heading>p:last-child {
  color:#526251
}
.landing-feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:#cbd0bd;
  border:1px solid #cbd0bd
}
.landing-feature-grid article {
  padding:2rem;
  background:#edeedf
}
.landing-feature-grid h3 {
  font-size:1.7rem;
  margin:1.3rem 0 .8rem
}
.landing-feature-grid p {
  font-size:.95rem;
  color:#4f604e;
  margin:0
}
.landing-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;
  align-items:center
}
.landing-story+.landing-story {
  padding-top:1rem
}
.landing-story-copy {
  max-width:31rem
}
.landing-story-copy>p:not(.landing-kicker) {
  color:#526251
}
.landing-demo {
  background:#fff;
  border:1px solid #d7ddcf;
  border-radius:10px;
  box-shadow:0 16px 45px #314c3910;
  overflow:hidden;
  transform:rotate(-1deg)
}
.demo-heading {
  display:flex;
  gap:.8rem;
  align-items:center;
  padding:1.5rem;
  background:#294333;
  color:white;
  font-weight:700
}
.demo-heading small {
  color:#d8e0d0;
  font-size:.75rem;
  font-weight:400
}
.demo-mark {
  font-size:1.5rem;
  border:1px solid #8c9e89;
  border-radius:5px;
  padding:.4rem
}
.demo-breadcrumb {
  font-size:.7rem;
  padding:1.2rem;
  color:#5f6e5c;
  background:#f2f4ed
}
.demo-row {
  margin:0 1.4rem;
  padding:1.3rem 0;
  display:flex;
  justify-content:space-between;
  gap:.8rem;
  border-bottom:1px solid #e0e4d9;
  font-size:.95rem
}
.demo-row small {
  display:block;
  color:#62715f;
  font-size:.75rem;
  margin-top:.3rem
}
.demo-row strong {
  font-size:.8rem;
  white-space:nowrap
}
.demo-caption {
  font-size:.7rem;
  color:#62715f;
  padding:1rem 1.4rem;
  margin:0
}
.landing-story-reverse .landing-story-copy {
  grid-column:2;
  grid-row:1
}
.landing-record-art {
  grid-column:1;
  grid-row:1;
  background:#ebe4d2;
  border-radius:4px;
  padding:2rem 2.5rem;
  transform:rotate(1deg);
  text-align:center
}
.record-tag {
  font-size:.7rem;
  letter-spacing:.13em;
  text-align:left;
  color:#6c6242
}
.record-tool {
  max-width:370px;
  margin:auto
}
.landing-record-art h3 {
  font-size:1.9rem;
  margin-bottom:.4rem
}
.landing-record-art p {
  font-size:.85rem
}
.record-attachments {
  display:flex;
  gap:.8rem;
  justify-content:center;
  flex-wrap:wrap;
  margin:1.5rem 0
}
.record-attachments span {
  border:1px solid #b3b79a;
  border-radius:30px;
  padding:.5rem .9rem;
  font-size:.74rem
}
.landing-record-art>small {
  font-size:.7rem;
  color:#6c6242
}
.landing-why {
  background:#294333;
  color:#faf8f1
}
.landing-why .landing-kicker {
  color:#dddbb3
}
.landing-section-intro {
  max-width:680px;
  color:#d9e1d3
}
.landing-why h2 {
  max-width:750px
}
.landing-why-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
  margin-top:3.2rem
}
.landing-why-grid>div {
  border-top:1px solid #65755e;
  padding-top:1.8rem
}
.landing-why h3 {
  font-size:1.65rem
}
.landing-why-grid p {
  font-size:.93rem;
  color:#d9e1d3
}
.landing-four-h {
  display:grid;
  grid-template-columns:1fr 1.45fr;
  gap:6rem;
  align-items:center
}
.four-h-art {
  text-align:center;
  color:#496741;
  background:#e9eddb;
  border-radius:50% 50% 4px 4px;
  padding:2rem;
  max-width:350px
}
.four-h-art svg {
  width:85%;
  max-width:240px
}
.four-h-art span {
  display:block;
  font-family:Georgia,serif;
  font-size:1.7rem;
  margin:.6rem 0 1rem
}
.four-h-terms {
  font-size:.8rem;
  margin-top:1.5rem;
  color:#5f6b57
}
.landing-final {
  background:#e7debd;
  padding:5rem 0;
  text-align:center
}
.landing-final .landing-button {
  margin:1rem 1.5rem 0 0
}
.public-landing .site-footer {
  background:#faf8f1;
  color:#526251
}
.public-landing a:focus-visible,.public-landing button:focus-visible {
  outline:3px solid #ae5834;
  outline-offset:5px
}
.landing [hidden] {
  display:none!important
}

@media(min-width:1600px) {
  .landing-hero-copy {
  width:650px
}
.landing-hero-art {
  left:46%
}

}

@media(max-width:991px) {
  .landing-wrap {
  width:calc(100% - 3rem)
}
.landing-hero {
  min-height:600px
}
.landing-hero-copy {
  width:56%;
  margin-left:1.5rem;
  padding-right:1.5rem
}
.landing-hero-art {
  left:49%
}
.landing h1 {
  font-size:3.1rem
}
.landing-section {
  padding-block:4.5rem
}
.landing-story {
  gap:2.5rem
}
.landing-benefits {
  gap:1.5rem
}
.landing-feature-grid article {
  padding:1.5rem
}
.landing-four-h {
  gap:3rem
}
.public-landing .header-shell {
  flex-direction:row!important;
  align-items:center!important
}
.public-landing .site-nav {
  margin-top:0!important;
  gap:1rem!important
}
.public-landing .brand {
  font-size:1.1rem!important
}

}

@media(max-width:640px) {
  .landing-wrap {
  width:calc(100% - 2.5rem)
}
.public-landing .header-shell {
  align-items:flex-start!important;
  gap:1rem
}
.public-landing .site-nav {
  gap:.65rem!important;
  font-size:.8rem;
  justify-content:flex-end
}
.public-landing .header-shell { flex-direction:column!important; }
.public-landing .site-nav { justify-content:flex-start; }
.public-landing .site-nav .btn {
  padding:.45rem .7rem
}
.public-landing .brand {
  white-space:nowrap;
  font-size:1rem!important
}
.public-landing .brand small {
  font-size:.65rem
}
.landing-hero {
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:visible
}
.landing-hero-copy {
  order:0;
  width:auto;
  margin:0;
  padding:3rem 1.25rem 2.5rem
}
.landing-hero-art {
  position:relative;
  inset:auto;
  width:100%;
  height:300px;
  order:1;
  z-index:0
}
.landing h1 {
  font-size:2.9rem;
  max-width:500px
}
.landing-intro {
  font-size:1rem
}
.landing-footnote {
  margin-top:1.8rem
}
.landing-benefits {
  grid-template-columns:1fr;
  gap:1.5rem;
  padding-block:2.5rem
}
.landing-benefits>div {
  border-right:0;
  border-bottom:1px solid #dce0d3;
  padding:0 0 1.5rem
}
.landing-benefits h2 {
  font-size:1.65rem
}
.landing-section {
  padding-block:3.5rem
}
.landing-feature-grid {
  grid-template-columns:1fr
}
.landing-feature-grid article {
  padding:1.5rem
}
.landing-feature-grid h3 {
  margin-top:.6rem
}
.landing-story,.landing-four-h {
  grid-template-columns:1fr;
  gap:2rem
}
.landing-story-reverse .landing-story-copy,.landing-record-art {
  grid-column:auto;
  grid-row:auto
}
.landing-story-reverse .landing-story-copy {
  order:0
}
.landing-record-art {
  order:1
}
.landing-why-grid {
  grid-template-columns:1fr;
  gap:1.3rem;
  margin-top:2rem
}
.landing-why-grid>div {
  padding-top:1.3rem
}
.four-h-art {
  max-width:240px;
  padding:1rem;
  margin:auto
}
.four-h-art svg {
  max-width:160px
}
.four-h-art span {
  font-size:1.4rem
}
.landing-final {
  padding:3.5rem 0
}
.landing-final .landing-text-link {
  display:inline-block;
  margin-top:1rem
}

}

@media(prefers-reduced-motion:reduce) {
  .public-landing * {
  scroll-behavior:auto!important;
  transition:none!important;
  animation:none!important
}

}


.landing .landing-benefits h2 {
  font-size:1.6rem
}
.landing-record-art {
  padding:2.5rem 1rem;
  margin:0;
  transform:none
}
.landing-record-art h3 {
  margin:1rem 0 1.7rem
}
.landing-record-art img {
  width:100%;
  height:auto;
  border-radius:4px
}
.landing-record-art figcaption {
  font-size:.7rem;
  line-height:1.6;
  color:#526251;
  margin-top:1.2rem
}

/* Second-pass benefits wrap into a balanced three-plus-two arrangement. */
@media(min-width:768px) {
  .landing-benefits { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .landing-benefits>div { grid-column:span 2; }
  .landing-benefits>div:nth-child(3) { border-right:0; }
  .landing-benefits>div:nth-child(4) { grid-column:2 / span 2; }
}
@media(min-width:768px) and (max-width:991px) {
  .landing-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-feature-grid article:last-child { grid-column:1 / -1; }
}

/* Preserve the supplied logo's full aspect ratio, including its wordmark. */
.landing-fallback { object-fit:contain; object-position:center; background:#06160e; }
.landing-app-preview { min-width:0; margin:0; padding:1rem; background:#fff; border:1px solid #cbd0bd; border-radius:8px; }
.landing-app-preview img { width:100%; height:auto; margin-top:1rem; }
.landing-app-preview figcaption { font-size:.75rem; margin-top:.8rem; color:#526251; }
.landing-feature-grid article {
  position:relative; min-width:0; display:grid;
  grid-template-rows:auto auto auto 1fr; row-gap:0;
}
/* Keep the original status-row spacing on every card. Corner ribbons are
   positioned independently so they cannot enlarge the bottom row's track.
   Each card sizes its own heading so wrapped neighbours add no internal gap. */
.landing-status { min-height:2.5rem; padding-bottom:.75rem; text-align:right; }
.landing-feature-grid h3 { overflow-wrap:anywhere; }
.landing { overflow-wrap:anywhere; }
.landing-hero-copy, .landing-story > * { min-width:0; }
/* Both statuses share the same corner geometry. Only the strip ends are
   clipped; the rem sizing grows with text and stays within the card width. */
.landing-ribbon-corner {
  position:absolute;
  top:0;
  right:0;
  width:min(7rem,100%);
  aspect-ratio:1;
  overflow:hidden;
  pointer-events:none;
}
.landing-ribbon {
  position:absolute;
  top:40%;
  left:60%;
  width:150%;
  max-width:none;
  transform:translate(-50%,-50%) rotate(45deg);
  padding:.4rem 0;
  background:#294333;
  color:#fff;
  text-align:center;
  font-size:.8125rem;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
.landing-feature-grid [data-availability="beta-testing"] .landing-ribbon {
  background:#b4232d;
}
.landing-section { scroll-margin-top:calc(var(--hf-banner-height, 0px) + 1.5rem); }

/* Separate hero columns keep both the photograph and the entire approved logo
   clear of the text panel at every desktop and tablet width. */
@media (min-width:641px) {
  .landing-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .landing-hero-art { position:relative; inset:auto; order:2; align-self:stretch; min-width:0; min-height:500px; z-index:0; }
  .landing-photo, .landing-fallback { position:absolute; inset:0; }
  .landing-hero-copy { order:1; width:auto; min-width:0; margin:0; padding:3.5rem 2rem 3.5rem max(2rem,calc((100vw - 1200px)/2)); }
}

.landing-brand-presentation { display:block; width:100%; height:auto; margin-top:2rem; object-fit:contain; }

.landing-pricing { background:#edeedf; }
.landing-pricing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.landing-pricing-card {
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  min-width:0;
  padding:1.5rem;
  background:#faf8f1;
  border:1px solid #cbd0bd;
  border-radius:8px;
}
.landing-pricing-popular { border:2px solid #294333; padding:calc(1.5rem - 1px); }
.landing-pricing-card header { min-height:9rem; }
.landing-pricing-card h3 { font-size:1.9rem; margin:.8rem 0 .5rem; }
.landing-pricing-card p { font-size:.9rem; }
.landing-pricing-card .pricing-note { font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.landing-pricing-popular .pricing-note { background:#294333; color:#fff; padding:.35rem .65rem; margin:-.5rem -.5rem .45rem; border-radius:4px; }
.pricing-cost { min-height:12rem; border-bottom:1px solid #cbd0bd; margin-bottom:1.25rem; }
.landing-pricing-card .pricing-price { font-size:2rem; font-weight:700; line-height:1.25; margin-bottom:.75rem; }
.pricing-price span { font-size:.85rem; font-weight:400; }
.landing-pricing-card .pricing-price-words { font-size:1.4rem; }
.pricing-annual,.pricing-saving { font-weight:700; }
.pricing-description { color:#4f604e; }
.landing-pricing-card > a { align-self:end; justify-self:start; display:inline-flex; align-items:center; gap:.75rem; min-height:44px; }
@media(max-width:1100px) { .landing-pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .landing-pricing-grid { grid-template-columns:1fr; }
  .landing-pricing-card header,.pricing-cost { min-height:0; }
  .pricing-cost { padding-block:.5rem; }
}
