:root {
  --ams-shadow: 0 16px 40px rgba(25, 39, 18, .12);
  --ams-line: #dfe2d8;
  --ams-radius: 12px;
  --wp--preset--font-size--small: .875rem;
  --wp--preset--font-size--medium: 1rem;
  --wp--preset--font-size--large: 1.125rem;
  --wp--preset--font-size--x-large: clamp(1.875rem, 3vw, 2.25rem);
  --wp--preset--font-size--hero: clamp(2.25rem, 5vw, 3.75rem);
}

html { scroll-behavior: smooth; }
body { margin: 0; font-size: 1rem; line-height: 1.5; }
.wp-site-blocks { min-height: 100vh; }
.wp-site-blocks > main { margin-block-start: 0 !important; }
.ams-site-header { position: relative; z-index: 30; border-bottom: 1px solid var(--ams-line); box-shadow: none; }
.ams-header-inner { min-height: 128px; }
.ams-brand img { width: min(324px, 52vw) !important; height: auto; }
.ams-site-header .wp-block-navigation-item__content { text-decoration: none; }
.ams-site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--green); }
.ams-header-quote .wp-block-button__link { white-space: nowrap; }
.ams-header-quote .wp-block-button__link { padding: .5rem 1rem; }

.ams-hero { min-height: 625px !important; color: var(--wp--preset--color--ink); }
.ams-page-hero { min-height: 480px !important; }
.ams-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(255,253,249,.94), rgba(255,253,249,.76) 58%, rgba(255,253,249,.40)) !important; opacity: 1 !important; }
.ams-hero .ams-eyebrow { color: var(--wp--preset--color--green) !important; }
.ams-hero-content {
  width: min(calc(100% - 2rem), var(--wp--style--global--wide-size));
  max-width: var(--wp--style--global--wide-size) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ams-hero-content > * {
  width: min(672px, 100%);
  max-width: 672px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.ams-section > .wp-block-group.alignwide.is-layout-constrained > * {
  max-width: 672px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.ams-eyebrow { letter-spacing: .1em; text-transform: uppercase; font-size: .875rem; line-height: 1.25rem; font-weight: 600; }
.ams-hero-title { letter-spacing: -.025em; }
.ams-hero-content > .has-large-font-size { line-height: 1.625; }
.ams-section { padding-top: clamp(4rem, 6.3vw, 5rem); padding-bottom: clamp(4rem, 6.3vw, 5rem); }
.ams-card { height: 100%; border: 1px solid var(--ams-line); border-radius: var(--ams-radius); box-shadow: 0 8px 24px rgba(40,50,34,.05); }
.ams-card h3 { font-size: 1.25rem; line-height: 1.4; }
.ams-card-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; }
.ams-cta-section,
.ams-section:has(> .ams-cta) {
  background: #fff !important;
  color: var(--wp--preset--color--ink) !important;
}
.ams-cta {
  min-height: 312px;
  box-sizing: border-box;
  padding: 4rem !important;
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff;
  text-align: center;
  background: var(--wp--preset--color--green-dark);
  border-radius: 18px;
}
.ams-cta > .wp-block-group { width: min(780px, 100%); }
.ams-cta h2,
.ams-cta p { color: inherit; }
.ams-cta .wp-block-buttons { justify-content: center; }
.ams-service-row { padding-top: 3.5rem; padding-bottom: 3.5rem; border-bottom: 1px solid var(--ams-line); }
.ams-service-highlight {
  min-height: 290px;
  padding: var(--wp--preset--spacing--40);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ams-services-card-section { background: #fbfaf7; }
.ams-services-grid { gap: 2rem; align-items: stretch !important; }
.ams-services-grid > .wp-block-column { display: flex; }
.ams-service-card {
  width: 100%;
  min-height: 504px;
  box-sizing: border-box;
  padding: 24px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(210, 211, 205, .75);
  border-radius: 14px;
  box-shadow: 0 2px 5px rgba(25, 39, 18, .08);
}
.ams-service-card > * { margin-block-start: 0 !important; }
.ams-service-card-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  display: grid;
  place-items: center;
  color: var(--wp--preset--color--green-dark);
  background: var(--wp--preset--color--green-soft);
  border-radius: 12px;
}
.ams-service-card-icon svg { width: 24px; height: 24px; display: block; }
.ams-service-card-title { margin: 0 0 8px !important; font-size: 1.5rem; line-height: 1.32; }
.ams-service-card-lead { margin: 0 0 20px !important; line-height: 1.5; }
.ams-service-card-lead strong { font-weight: 500; }
.ams-service-card-list { margin: auto 0 0 !important; padding: 24px 0 0; list-style: none; }
.ams-service-card-list li { position: relative; padding: 5px 0 5px 32px; }
.ams-service-card-list li::before { position: absolute; left: 0; width: 22px; color: var(--wp--preset--color--green-dark); font-weight: 700; text-align: center; }
.ams-service-list-transport li:nth-child(1)::before { content: "▱"; }
.ams-service-list-transport li:nth-child(2)::before { content: "◎"; }
.ams-service-list-transport li:nth-child(3)::before,
.ams-service-list-loading li:nth-child(2)::before { content: "↔"; }
.ams-service-list-loading li:nth-child(1)::before,
.ams-service-list-storage li:nth-child(2)::before { content: "◇"; }
.ams-service-list-storage li:nth-child(1)::before { content: "▤"; }
.ams-service-list { list-style: none; padding-left: 0; }
.ams-service-list li { position: relative; padding: .55rem 0 .55rem 1.75rem; border-bottom: 1px solid var(--ams-line); }
.ams-service-list li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--green); font-weight: 800; }
.ams-quote { padding: 2rem; background: var(--wp--preset--color--cream); font-family: var(--wp--preset--font-family--serif); font-size: 1.35rem; font-style: italic; }
.ams-story-image img { border-radius: var(--ams-radius); box-shadow: var(--ams-shadow); }
.ams-about-summary-grid { gap: 4rem; }
.ams-about-copy { line-height: 1.65; }
.ams-about-history-card {
  padding: 32px;
  background: #f2eee7;
  border-radius: 14px;
}
.ams-about-history-card > * { margin-block-start: 0 !important; }
.ams-about-history-card > * + * { margin-block-start: 1.25rem !important; }
.ams-about-history-title { font-size: 1.5rem; line-height: 1.32; }
.ams-locations-section { background: #f8f6ef; }
.ams-locations-heading { max-width: 760px !important; margin: 0 auto 2.5rem !important; }
.ams-locations-heading > * { margin-left: auto !important; margin-right: auto !important; }
.ams-location-grid { gap: 2rem; align-items: stretch !important; }
.ams-location-grid > .wp-block-column { display: flex; }
.ams-location-card {
  width: 100%;
  min-height: 230px;
  box-sizing: border-box;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(210, 211, 205, .75);
  border-radius: 14px;
  box-shadow: 0 2px 5px rgba(25, 39, 18, .06);
}
.ams-location-card > * { margin-block-start: 0 !important; }
.ams-location-card > * + * { margin-block-start: .75rem !important; }
.ams-location-card h3 { font-size: 1.25rem; line-height: 1.4; }
.ams-location-card a { color: inherit; text-decoration: none; }
.ams-location-area { color: var(--wp--preset--color--green-dark); font-size: .875rem; }
.ams-contact-panel { border-radius: var(--ams-radius); box-shadow: var(--ams-shadow); }

.wp-site-blocks .ams-site-footer {
  color: var(--wp--preset--color--ink) !important;
  background: #f2eee7 !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.ams-footer-columns {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.5rem;
}
.ams-footer-columns > .wp-block-column {
  min-width: 0;
  width: auto !important;
}
.ams-site-footer h3 {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--serif) !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.35;
  text-transform: none;
}
.ams-site-footer .is-style-plain {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.ams-site-footer .is-style-plain li { margin: 0 0 .45rem; }
.ams-site-footer .is-style-plain li:last-child { margin-bottom: 0; }
.ams-site-footer .ams-footer-address { color: var(--wp--preset--color--muted); }
.ams-site-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.ams-site-footer a:hover { color: var(--wp--preset--color--green-dark); }
.ams-footer-logo img { width: min(270px, 70vw); filter: none; opacity: 1; }
.ams-footer-bottom { border-top: 1px solid var(--ams-line); }

.ams-contact-form { display: grid; gap: 1.15rem; }
.ams-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.ams-field label { display: block; margin-bottom: .4rem; font-weight: 750; }
.ams-field input, .ams-field textarea { width: 100%; box-sizing: border-box; padding: .8rem .9rem; border: 1px solid #cfd4c9; border-radius: 8px; background: #fff; color: #252720; font: inherit; }
.ams-field textarea { min-height: 160px; resize: vertical; }
.ams-field input:focus, .ams-field textarea:focus { outline: 3px solid rgba(57,117,28,.2); border-color: #39751c; }
.ams-form-submit { border: 0; border-radius: 999px; padding: .85rem 1.6rem; background: #39751c; color: #fff; font: 700 1rem var(--wp--preset--font-family--sans); cursor: pointer; }
.ams-form-submit:hover { background: #245010; }
.ams-form-notice { padding: .8rem 1rem; border-radius: 8px; }
.ams-form-success { background: #eaf1e5; color: #245010; }
.ams-form-error { background: #fff0ef; color: #8a231b; }
.ams-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 900px) {
  .ams-header-quote { display: none !important; }
  .ams-header-inner { min-height: 96px; }
  .ams-hero { min-height: 580px !important; }
  .ams-footer-columns, .ams-service-row, .ams-story, .ams-contact-layout { flex-wrap: wrap !important; }
  .ams-footer-columns > *, .ams-service-row > *, .ams-story > *, .ams-contact-layout > * { flex-basis: 100% !important; }
  .ams-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ams-services-grid { flex-wrap: wrap !important; }
  .ams-services-grid > .wp-block-column { flex-basis: 100% !important; }
  .ams-service-card { min-height: 0; }
  .ams-service-card-list { margin-top: 2rem !important; }
  .ams-about-summary-grid, .ams-location-grid { flex-wrap: wrap !important; gap: 2rem; }
  .ams-about-summary-grid > *, .ams-location-grid > * { flex-basis: 100% !important; }
  .ams-location-card { min-height: 0; }
}

@media (max-width: 600px) {
  .ams-header-inner { min-height: 74px; }
  .ams-form-row { grid-template-columns: 1fr; }
  .ams-hero { min-height: 540px !important; }
  .ams-cta { min-height: 280px; padding: 2.5rem 1.5rem !important; }
  .ams-footer-columns { grid-template-columns: 1fr; }
}

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