:root {
  color-scheme: light;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #1b302c;
  background: #f9f8f3;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; }
a:focus-visible { outline: 3px solid #d88a55; outline-offset: 4px; }

.header {
  min-height: 82px;
  padding: 16px max(6%, calc((100% - 1180px) / 2));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  background: #f9f8f3;
}
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 15px; letter-spacing: .03em; }
.brand strong { display: block; font-size: 12px; letter-spacing: .17em; text-transform: uppercase; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #bc805c; border-radius: 50%; font: italic 25px Georgia, serif; }
nav { display: flex; align-items: center; gap: 32px; font-size: 13px; font-weight: 600; }
nav a { text-decoration: none; }
nav a:hover, .text-link:hover { text-decoration: underline; }
.nav-contact { border: 1px solid #28483f; padding: 11px 16px; }

.hero { background: #172f29; color: #fbf8ef; position: relative; overflow: hidden; min-height: 485px; }
.hero-inner { position: relative; z-index: 1; width: min(1180px, 88%); margin: auto; padding: 95px 0 100px; }
.eyebrow, .section-label { text-transform: uppercase; font-weight: 700; font-size: 11px; letter-spacing: .18em; }
.eyebrow { color: #e6b28f; display: flex; align-items: center; gap: 9px; }
.eyebrow span { width: 22px; height: 1px; background: #e6b28f; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
h1 { font-size: clamp(42px, 5.2vw, 68px); line-height: 1.12; margin: 26px 0; letter-spacing: -.035em; }
h1 em { font-weight: 400; color: #e5b391; }
.hero-copy { max-width: 500px; line-height: 1.8; color: #d7e0da; font-size: 16px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 27px; margin-top: 32px; }
.button { display: inline-flex; gap: 22px; align-items: center; justify-content: center; padding: 16px 21px; text-decoration: none; font-size: 13px; font-weight: 700; }
.button-light { background: #f4e3d2; color: #213c34; }
.button-light:hover { background: #fff5e8; }
.text-link { font-size: 13px; text-decoration: none; color: #f8f4eb; }
.hero-decoration { position: absolute; right: 9%; top: 50%; transform: translateY(-50%); width: 280px; height: 280px; border: 1px solid #577168; border-radius: 50%; display: grid; place-items: center; opacity: .8; }
.hero-decoration::before, .hero-decoration::after { content: ""; position: absolute; border: 1px solid #426057; border-radius: 50%; inset: -22px; }
.hero-decoration::after { inset: -48px; }
.parcel { width: 95px; height: 90px; border: 1px solid #dbb295; transform: rotate(-8deg); position: relative; }
.parcel::before { content: ""; position: absolute; top: 22px; width: 100%; border-top: 1px solid #dbb295; }
.parcel span { position: absolute; left: 43px; height: 100%; border-left: 1px solid #dbb295; }
.decoration-label { position: absolute; bottom: 42px; font-size: 9px; letter-spacing: .2em; color: #e5b391; }

.section-wrap { width: min(1180px, 88%); margin: 0 auto; }
.intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding-top: 92px; padding-bottom: 90px; }
.section-label { color: #a6603c; margin: 0 0 18px; }
h2 { font-size: clamp(32px, 3.5vw, 46px); line-height: 1.18; letter-spacing: -.025em; margin: 0; }
.intro-copy { max-width: 500px; color: #596961; line-height: 1.8; font-size: 15px; }
.intro-copy p:first-child { margin-top: 0; }

.rates-section { background: #eeeae0; padding: 85px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 34px; }
.section-heading > p { max-width: 270px; margin: 0; color: #627068; font-size: 14px; line-height: 1.6; }
.rate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rate-card { background: #fffefa; padding: 28px 30px 14px; }
.card-top { display: flex; justify-content: space-between; align-items: center; }
.card-number { color: #b48c71; font: italic 20px Georgia, serif; }
.card-tag { color: #a16c50; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.rate-card h3 { margin: 26px 0 8px; font-size: 26px; }
.rate-card > p { color: #66746d; font-size: 14px; line-height: 1.6; min-height: 45px; }
dl { margin: 22px 0 0; }
dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-top: 1px solid #e8e7df; padding: 15px 0; }
dt { color: #5e6d65; font-size: 13px; }
dd { margin: 0; color: #203d34; font: 23px Georgia, serif; }
.rate-note { color: #596961; line-height: 1.65; font-size: 13px; margin: 22px 0 0; }

.contact-section { padding: 86px 0; }
.contact-inner { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.contact-inner p:not(.section-label) { color: #64736a; line-height: 1.7; max-width: 450px; }
.contact-card { background: #e7e9df; min-width: 310px; padding: 28px 32px; display: flex; flex-direction: column; gap: 8px; }
.contact-card span { font-size: 10px; font-weight: 700; color: #a6603c; letter-spacing: .15em; }
.contact-card a { color: #1b3c31; font: 29px Georgia, serif; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.contact-card small { color: #64736a; }
footer { background: #172f29; color: #c8d3ca; padding: 27px 0; }
.footer-inner { display: flex; justify-content: space-between; gap: 15px; align-items: center; font-size: 12px; }
.footer-brand { font: 19px Georgia, serif; color: #fff9ec; }
.footer-links { gap: 20px; font-size: 12px; }
.footer-links a:hover { text-decoration: underline; }
.policy-page { max-width: 800px; padding-top: 70px; padding-bottom: 90px; min-height: 65vh; }
.policy-page h1 { font-size: clamp(40px, 5vw, 56px); margin: 0 0 32px; }
.policy-page h2 { font-size: 25px; margin: 34px 0 12px; }
.policy-page p:not(.section-label) { color: #4b5e55; line-height: 1.8; }

.request-page { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 65px; padding-top: 70px; padding-bottom: 90px; }
.request-intro h1 { margin: 0 0 24px; }
.request-intro p:not(.section-label) { color: #4b5e55; line-height: 1.8; }
.request-form { padding: 32px; background: #fffefa; border: 1px solid #e6e3d8; }
.request-form fieldset { border: 0; padding: 0; margin: 0 0 25px; }
.request-form legend, .request-form .field { font-weight: 700; font-size: 14px; line-height: 1.5; }
.request-form .field { display: block; margin: 22px 0 8px; }
.request-form input:not([type="radio"]):not([type="checkbox"]), .request-form select, .request-form textarea { width: 100%; padding: 12px; border: 1px solid #9aaba0; border-radius: 2px; background: white; color: #1b302c; font: inherit; }
.request-form input:focus-visible, .request-form select:focus-visible, .request-form textarea:focus-visible, .request-form button:focus-visible { outline: 3px solid #d88a55; outline-offset: 3px; }
.choice-row { display: grid; gap: 12px; margin-top: 14px; }
.choice-row label, .consent-choice { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.choice-row input, .consent-choice input { flex: 0 0 auto; margin: 4px 0 0; }
.field-help { color: #52645b; font-size: 13px; line-height: 1.6; margin: 8px 0 0; }
.optional { font-weight: 400; color: #52645b; }
.request-form .insurance-choice { margin-top: 24px; }
.request-form .consent-box { margin-top: 28px; padding: 20px; background: #f0f1e9; }
.consent-box > p:not(.field-help) { color: #4b5e55; line-height: 1.6; font-size: 14px; }
.honeypot { position: absolute; left: -10000px; }
.button-dark { border: 0; background: #213c34; color: white; cursor: pointer; margin-top: 4px; }
.button-dark:hover { background: #345b4e; }
.button-dark:disabled { opacity: .5; cursor: not-allowed; }
.form-warning { color: #8d361d; line-height: 1.6; }
.request-form .estimate-package { margin: 24px 0 16px; padding: 16px; border: 1px solid #d5ddd7; }
.estimate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.estimate-grid label { font-size: 13px; font-weight: 700; }
.estimate-grid input { margin-top: 5px; }
.estimate-secondary { margin-top: 12px; padding: 8px 12px; border: 1px solid #58776a; background: transparent; color: #213c34; cursor: pointer; font: inherit; }
.estimate-secondary:disabled { opacity: .5; cursor: not-allowed; }
.estimate-result { margin-top: 24px; line-height: 1.6; }
.estimate-result h2 { font-size: 24px; }

@media (max-width: 800px) {
  .hero-decoration { opacity: .17; right: -40px; }
  .intro { gap: 25px; }
  .request-page { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  .header { align-items: flex-start; }
  nav { gap: 14px; flex-wrap: wrap; justify-content: flex-end; font-size: 12px; }
  .nav-contact { padding: 0; border: 0; }
  .hero-inner { padding: 75px 0; }
  .intro, .rate-grid { grid-template-columns: 1fr; }
  .intro { padding-top: 65px; padding-bottom: 65px; }
  .rates-section, .contact-section { padding: 65px 0; }
  .section-heading, .contact-inner { align-items: flex-start; flex-direction: column; }
  .contact-card { width: 100%; min-width: 0; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
  .request-page { padding-top: 50px; padding-bottom: 65px; }
  .request-form { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
