/* A warmer, readable layer shared by the landing and its help pages. */
:root { --paper: #f7f4ee; --muted: #53616a; --orange: #ee7446; }
body { background: var(--paper); }
.masthead { background: #f7f4eef5; }
.scene { min-height: auto; height: auto; padding-top: 80px; }
.scene h2, .purchase-story h2, .reviews-section h2 { font-family: "Barlow", Arial, sans-serif; font-weight: 400; font-size: clamp(36px, 4.5vw, 66px); line-height: 1.06; letter-spacing: -.045em; text-wrap: balance; }
h2 span { color: #a74928; }
.eyebrow, .edition, .scene-foot, .sample-ref, .next-step > span, .hero-route, .hero-kicker, .route-board > div > span, .journey-steps li > span { font-family: "Barlow", Arial, sans-serif; font-size: 14px; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.eyebrow { color: #955032; }
.edition { color: var(--muted); }
.section-top { margin-bottom: 28px; }
.small-note, .estimate-help, .estimate-status, .estimate-disclaimer, .estimate-free, .estimator label span, .contact-note, .sample-subtitle, .example-disclaimer, .tracking-history span, .example-panel > .eyebrow, .example-top .eyebrow, .service-row .eyebrow, .next-step > span { font-size: 14px; line-height: 1.5; }
.action { border-radius: 8px; }
.line-link { gap: 18px; }
.departure { display: grid; padding: 48px var(--gutter) 0; gap: 0 5vw; background: radial-gradient(ellipse at 0 20%, #ede5d6 0, transparent 64%), var(--paper); }
.departure .hero-copy { gap: 28px; }
.departure h1 { font-size: clamp(80px, 8.4vw, 132px); }
.departure .hero-route { font-size: 16px; color: #8e492c; }
.departure .hero-intro > p { font-size: 20px; line-height: 1.5; }
.departure .hero-foot { margin-top: 28px; padding-block: 20px; }
.estimator { border-top: 0; border-radius: 18px; background: #fffdf8; box-shadow: 0 14px 45px #5e462512; padding: clamp(24px, 2.7vw, 42px); }
.estimator h2 { font: 400 clamp(32px, 3.1vw, 46px)/1.12 "Barlow", Arial, sans-serif; letter-spacing: -.04em; }
.estimate-intro, .estimator label { font-size: 16px; }
.estimator input { border-radius: 7px; height: 52px; }
.estimate-free { color: #41624b; }
.estimate-disclaimer { border-color: #ddd9d0; }
.estimate-result dl > div, .estimate-result .line-link { font-size: 16px; }
.purchase-story { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(35px, 7vw, 100px); padding: 0 var(--gutter) 80px; }
.purchase-story figure { position: relative; height: clamp(330px, 39vw, 530px); overflow: hidden; border-radius: 14px; background: #bdc3bf; }
.purchase-story img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.purchase-story figcaption { position: absolute; inset: auto 0 0; padding: 42px 24px 22px; color: white; font-size: 15px; background: linear-gradient(transparent,#122a39ba); }
.purchase-story h2 { margin: 20px 0 24px; }
.purchase-story > div > p:not(.eyebrow) { max-width: 43ch; font-size: 19px; line-height: 1.6; color: var(--muted); }
.purchase-story .line-link { margin-top: 22px; }
.services { background: #ece6da; height: auto; min-height: 0; }
.services h2 { margin-bottom: 40px; }
.service-row { grid-template-columns: 64px 1.1fr 1fr; border-color: #c7c1b7; padding: 32px 0; }
.service-number { color: #a74928; font-size: 48px; }
.service-row h3 { font-size: clamp(25px, 2.7vw, 36px); line-height: 1.2; }
.service-description { line-height: 1.6; }
.services .scene-foot { border-color: #c7c1b7; color: var(--muted); }
.journey { background: var(--paper); color: var(--ink); }
.journey .eyebrow, .journey .edition { color: #955032; }
.journey-heading > p, .journey-steps p { color: var(--muted); font-size: 17px; }
.journey-heading h2 span { color: #a74928; }
.route-board { border-radius: 12px; background: #eee9df; padding: 24px 28px; margin: 32px 0; }
.route-board strong { font: 400 clamp(28px, 3vw, 42px)/1.2 "Barlow", sans-serif; letter-spacing: -.03em; }
.route-board > div > span { color: var(--muted); margin-top: 4px; }
.route-marker { animation: none; left: 42%; background: #eee9df; color: #a74928; }
.journey-steps li { border-color: #c7c1b7; }
.journey-steps li > span { color: #a74928; font-size: 18px; }
.journey-steps h3 { font-size: 22px; }
.workspace { background: #e9eeea; padding-bottom: 18px; }
.workspace-copy h2 span { color: #4c6c61; }
.tracking-example { border: 1px solid #c9d2cc; border-radius: 14px; background: #fffdf8; box-shadow: 0 14px 32px #2848390a; }
.workspace.is-visible .tracking-example { animation: none; }
.tracking-example:hover { box-shadow: 0 14px 32px #2848390a; }
.tracking-history li.current::before, .scroll-orbit { animation: none; }
.tracking-tabs button { font-size: 15px; }
.reviews-section { padding: 80px var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.reviews-section h2 { margin-top: 20px; }
.reviews-invitation { border-left: 2px solid #d9c3a9; padding-left: 36px; }
.review-mark { font: 100px/.7 Georgia,serif; color: #a74928; display: block; }
.reviews-invitation h3 { font-size: 26px; margin: 16px 0; }
.reviews-invitation p { font-size: 18px; color: var(--muted); max-width: 42ch; }
.reviews-invitation .line-link { margin: 16px 0; }
.reviews-invitation .small-note { font-size: 14px; }
.questions { background: #eee9df; padding-bottom: 25px; }
.questions-grid { grid-template-columns: .8fr 1.5fr; gap: 60px; align-items: start; }
.answers { display: block; }
.answers > div { border-color: #ccc5b9; padding: 20px 0; }
.answers dt { font-size: 21px; line-height: 1.3; }
.answers dd { font-size: 17px; line-height: 1.6; }
.answers a { display: table; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }
.closing { background: #e5d5c0; border-radius: 12px; padding: 26px 30px; }
.closing h3 { font: 400 32px/1.1 "Barlow",sans-serif; letter-spacing: -.035em; }
.questions > .scene-foot { display: none; }
.contact { background: var(--paper); color: var(--ink); }
.contact .section-top, .contact-copy > p { color: var(--muted); }
.contact-copy h2 span { color: #a74928; }
.contact-copy > p { font-size: 19px; line-height: 1.6; }
.contact-form { border: 1px solid #d9d2c5; border-radius: 14px; background: #fffdf8; box-shadow: none; }
.contact-form input, .contact-form textarea { font-size: 17px; }
.site-footer { border-top: 1px solid #d0c9bd; display: flex; justify-content: space-between; gap: 50px; padding: 36px 0; margin-top: 26px; }
.footer-brand p { color: var(--muted); margin-top: 15px; font-size: 15px; }
.site-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; font-size: 15px; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* Information pages share the landing's typography, but keep text comfortable. */
.help-main { max-width: 860px; margin: auto; padding: 60px 26px 80px; }
.help-main h1 { font: 400 clamp(38px, 6vw, 62px)/1.08 "Barlow",sans-serif; letter-spacing: -.04em; margin: 22px 0; }
.help-main h2 { font: 400 27px/1.2 "Barlow",sans-serif; letter-spacing: -.02em; margin: 36px 0 14px; }
.help-main p, .help-main li { font-size: 18px; line-height: 1.7; color: var(--muted); }
.help-main p + p { margin-top: 14px; }
.help-main a:not(.action) { text-decoration: underline; text-underline-offset: 4px; }
.help-main .action { margin: 22px 0; }
.help-note { padding: 18px 22px; background: #eee9df; border-radius: 8px; margin-bottom: 28px; }
.help-main .help-note p { font-size: 15px; }
.help-footer { padding-inline: var(--gutter); }
@media (max-width: 1000px) { .main-nav { gap: 12px; } .main-nav a { font-size: 14px; } .service-row { grid-template-columns: 45px 1fr 1fr; } }
@media (max-width: 760px) {
  .scene { padding-top: 48px; }
  .departure { grid-template-columns: 1fr; padding-top: 28px; }
  .departure .hero-copy { padding-bottom: 26px; gap: 20px; }
  .departure h1 { font-size: clamp(70px, 16vw, 112px); }
  .departure .hero-intro > p { font-size: 18px; }
  .departure .hero-route { font-size: 15px; }
  .departure .hero-foot { margin-top: 8px; }
  .purchase-story { grid-template-columns: 1fr; gap: 28px; margin-top: 20px; padding-bottom: 48px; }
  .purchase-story figure { height: 310px; }
  .purchase-story > div > p:not(.eyebrow) { font-size: 18px; }
  .scene h2, .purchase-story h2, .reviews-section h2 { font-size: clamp(34px, 8.7vw, 48px); }
  .estimator h2 { font-size: 34px; }
  .service-row { grid-template-columns: 32px 1fr; gap: 14px; }
  .service-description { grid-column: 2; }
  .route-board { gap: 12px; padding: 18px 14px; }
  .route-board strong { font-size: 25px; }
  .route-board > div > span { font-size: 14px; max-width: 12ch; }
  .journey-heading { display: block; }
  .journey-heading > p { margin-top: 18px; max-width: 36ch; }
  .journey-steps { grid-template-columns: 1fr; }
  .workspace-grid { display: flex; flex-direction: column; align-items: stretch; }
  .tracking-example { padding: 20px; }
  .reviews-section { grid-template-columns: 1fr; padding-block: 48px; gap: 34px; }
  .reviews-invitation { padding-left: 24px; }
  .questions-grid { display: block; }
  .questions h2 { margin-bottom: 30px; }
  .answers dd { font-size: 17px; }
  .contact-grid { display: flex; flex-direction: column; align-items: stretch; }
  .site-footer { flex-direction: column; gap: 28px; }
  .site-footer nav { grid-template-columns: 1fr; }
  .main-nav { display: flex; }
  .main-nav a { display: none; }
  .main-nav a[href="#estimate"] { display: inline-flex; }
  .masthead { gap: 12px; }
  .portal-link { font-size: 14px; gap: 7px; }
  .portal-link .icon { display: none; }
  .wordmark { font-size: 25px; gap: 7px; }
  .wordmark img { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) { .motion-ready [data-reveal] { opacity: 1; transform: none; filter: none; } }
/* Keep readable line lengths on large monitors and stable navigation on small phones. */
@media (min-width: 901px) { :root { --gutter: max(48px, calc((100vw - 1440px) / 2)); } }
.hero-route, .portal-link { text-wrap: nowrap; }
.estimate-help a { text-decoration: underline; text-underline-offset: 3px; }
.service-row h3 { text-wrap: pretty; }
.estimate-inputs > div, .hero-copy, .journey-heading > *, .workspace-grid > *, .questions-grid > *, .contact-grid > * { min-width: 0; }
.estimator .estimate-total { flex-wrap: wrap; }
.help-main .eyebrow { margin-top: 22px; }
.help-main .action { gap: 12px; overflow-wrap: anywhere; }
@media (min-width: 761px) and (max-width: 900px) {
  .masthead { gap: 16px; }
  .main-nav a[href="#contact"] { display: none; }
  .main-nav { gap: 14px; }
  .portal-link { padding-left: 14px; gap: 10px; white-space: nowrap; }
  .departure { gap: 0 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .departure h1 { font-size: clamp(58px, 8.1vw, 73px); }
  .estimator { padding: 24px; }
  .estimator h2 { font-size: 32px; }
  .estimate-inputs { gap: 12px; }
  .purchase-story { gap: 30px; }
  .reviews-section { gap: 30px; }
  .questions-grid { grid-template-columns: .75fr 1.25fr; gap: 30px; }
}
@media (max-width: 360px) {
  .masthead { padding-inline: 14px; gap: 8px; }
  .wordmark { font-size: 22px; gap: 6px; }
  .wordmark img { width: 26px; height: 26px; }
  .main-nav a, .portal-link { font-size: 13px; }
  .portal-link { white-space: nowrap; }
  .departure .hero-route { font-size: 14px; white-space: normal; }
  .estimator { padding: 22px 18px; }
  .estimate-heading { flex-wrap: wrap; gap: 4px 12px; }
  .estimator h2 { font-size: 30px; }
  .estimate-inputs { grid-template-columns: .7fr 1fr; gap: 12px; }
  .tracking-example { padding: 18px 14px; }
  .tracking-tabs button { font-size: 14px; padding-inline: 4px; }
}
/* Short sections can fill the view; expanded content always keeps its natural height. */
.estimate-details { margin-top: 12px; font-size: 14px; color: var(--muted); }
.estimate-details summary, .answers summary { cursor: pointer; list-style: none; }
.estimate-details summary::-webkit-details-marker, .answers summary::-webkit-details-marker { display: none; }
.estimate-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; }
.estimate-details summary::after, .answers summary::after { content: "+"; flex: 0 0 auto; font-size: 22px; font-weight: 400; }
.estimate-details[open] > summary::after, .answers details[open] > summary::after { content: "−"; }
.estimate-details p { padding: 8px 0 4px; line-height: 1.6; }
summary:focus-visible { outline: 2px solid #a74928; outline-offset: 5px; }
.answers { display: grid; grid-template-columns: 1fr; gap: 0; }
.answers details { border-top: 1px solid #ccc5b9; }
.answers summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 68px; padding: 16px 0; font-size: 19px; line-height: 1.35; }
.answer-body { padding: 0 0 22px; font-size: 17px; line-height: 1.6; color: var(--muted); max-width: 60ch; }
.answer-body a { display: table; min-height: 44px; padding-top: 10px; }
.reviews-invitation { padding-block: 12px; }
.purchase-story h2 { text-wrap: pretty; }
.service-row h3 { font-size: clamp(28px, 3vw, 40px); }
.questions .closing { margin-top: 26px; }
@media (min-width: 901px) {
  .services, .journey, .workspace, .questions { min-height: calc(100svh - var(--header)); padding-top: clamp(32px, 6vh, 70px); }
  .services .service-list, .workspace .workspace-grid { margin-block: auto; padding-block: 28px; }
  .journey .journey-heading { margin-top: auto; }
  .journey .journey-steps { margin-bottom: auto; padding-bottom: 36px; }
  .reviews-section { min-height: min(660px, calc(100svh - var(--header))); }
  .questions-grid { grid-template-columns: 1fr; gap: 26px; margin-bottom: 0; }
  .questions h2 br { display: none; }
  .answers { grid-template-columns: 1fr 1fr; gap: 0 44px; align-items: start; }
  .questions .closing { margin-top: auto; margin-bottom: 8px; }
  .questions { padding-bottom: 30px; gap: 24px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .questions-grid { display: block; }
  .questions h2 { margin-bottom: 28px; }
  .journey-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .scene { padding-top: 44px; }
  .scene h2, .purchase-story h2, .reviews-section h2 { font-size: clamp(32px, 8.5vw, 42px); line-height: 1.12; }
  .departure { padding-top: 26px; }
  .departure .hero-copy { gap: 18px; padding-bottom: 28px; }
  .departure .hero-intro > p { font-size: 17px; line-height: 1.5; }
  .departure .hero-actions { gap: 4px 18px; }
  .departure .hero-foot { min-height: 52px; padding-block: 10px; }
  .estimator { scroll-margin-top: calc(var(--header) + 20px); }
  .estimate-intro { margin-bottom: 18px; }
  .estimate-heading { margin-bottom: 12px; }
  .estimate-submit { margin-top: 14px; }
  .estimate-disclaimer { margin-top: 12px; padding-top: 6px; }
  .estimate-status { line-height: 1.45; }
  .purchase-story { gap: 26px; padding-top: 24px; padding-bottom: 48px; }
  .purchase-story figure { height: clamp(220px, 31svh, 300px); }
  .purchase-story h2 { margin-block: 14px 18px; }
  .purchase-story > div > p:not(.eyebrow) { font-size: 17px; line-height: 1.55; }
  .purchase-story .line-link { margin-top: 14px; }
  .service-row { padding-block: 24px; }
  .service-row h3 { font-size: 28px; }
  .service-row .eyebrow { margin-bottom: 7px; }
  .service-description { font-size: 17px; line-height: 1.55; margin-top: 0; }
  .services h2 { margin-bottom: 26px; }
  .section-top { margin-bottom: 20px; }
  .journey-heading > p { font-size: 17px; line-height: 1.5; }
  .route-board { margin-block: 24px; }
  .journey-steps p { font-size: 16px; line-height: 1.5; }
  .journey-steps h3 { font-size: 20px; }
  .workspace-grid { gap: 28px; }
  .workspace-copy > p:not(.small-note) { font-size: 17px; margin-block: 18px; }
  .workspace-copy .action { width: auto; }
  .reviews-section { padding-block: 48px; gap: 24px; }
  .reviews-invitation { padding-left: 20px; }
  .reviews-invitation p { font-size: 17px; }
  .reviews-invitation .small-note { font-size: 14px; }
  .questions h2 { margin-bottom: 24px; }
  .answers summary { min-height: 62px; padding-block: 14px; font-size: 18px; }
  .answer-body { font-size: 16px; }
  .closing { padding: 22px; }
  .closing h3 { font-size: 27px; max-width: none; }
  .closing .action { margin-top: 16px; }
  .contact-copy > p { font-size: 17px; margin-block: 18px; }
  .contact-grid { gap: 26px; }
  .contact-form { padding: 22px; }
  .site-footer { margin-top: 0; }
}
@media (min-width: 901px) and (max-height: 760px) {
  .departure { padding-top: 24px; }
  .departure .hero-copy { padding-block: 12px; gap: 20px; }
  .departure h1 { font-size: clamp(78px, 13vh, 98px); }
  .departure .hero-intro > p { font-size: 18px; }
  .estimator { padding: 24px 28px; }
  .estimate-heading { margin-bottom: 10px; }
  .estimate-intro { margin-bottom: 16px; }
  .estimate-submit { margin-top: 12px; }
  .estimate-disclaimer { margin-top: 12px; padding-top: 6px; }
  .departure .hero-foot { margin-top: 16px; padding-block: 10px; }
}
/* Reading and anchor navigation take priority over delayed entrance effects. */
.motion-ready [data-reveal], .motion-ready .scene.is-visible [data-reveal] { opacity: 1; transform: none; filter: none; transition: none; will-change: auto; }
.workspace-copy .small-note { font-size: 14px; line-height: 1.5; }
@media (max-width: 760px) {
  .workspace .sample-ref, .workspace .sample-subtitle, .workspace .example-panel > .eyebrow, .workspace-copy .small-note { display: none; }
  .workspace .tracking-example { padding: 18px 20px; }
  .workspace .example-top { padding-bottom: 10px; margin-bottom: 14px; }
  .workspace .tracking-tabs { margin-top: 16px; }
  .workspace .example-panel { padding-top: 16px; }
  .workspace .example-panel h4 { font-size: 22px; margin-block: 0 16px; }
  .workspace .tracking-history, .workspace .quote-lines { min-height: 0; }
  .workspace .tracking-history li { font-size: 15px; padding-bottom: 10px; }
  .workspace .tracking-history li.done span { display: none; }
  .workspace .next-step { padding: 10px 12px; }
  .workspace .next-step > span { font-size: 14px; }
  .workspace .example-disclaimer { margin-top: 12px; }
  .workspace .workspace-grid { margin-bottom: 28px; }
  .workspace-copy .action { min-height: 44px; font-size: 15px; padding: 10px 14px; }
  .questions { padding-bottom: 38px; }
}
@media (max-width: 760px) {
  .workspace .section-top, .workspace .example-disclaimer, .journey-heading > p { display: none; }
  .workspace { padding-top: 36px; }
  .journey .route-board { margin-block: 20px; }
}

/* Audit refinements: content determines height; secondary content stays compact. */
.reviews-section { min-height: 0; padding-block: 48px; }
.questions { min-height: 0; }
.questions .closing { margin-top: 28px; }
.cost-options dt { font-size: 21px; font-weight: 600; margin-top: 24px; }
.cost-options dd { margin: 10px 0 26px; }
.help-main li { margin-bottom: 12px; }
.help-main a { text-underline-offset: 4px; }
.estimator .small-note { margin: 12px 0 0; font-size: 14px; line-height: 1.5; }
