/* v7: a wide photographic opening, compact consultation entrances, full form at the end. */
.hero-heading { padding-top: 52px; padding-bottom: 44px; }
.hero-summary p { white-space: normal; }
.hero-summary .scroll-link { color: #203f58; }
.hero-showcase { grid-template-columns: minmax(0,1fr) 352px max(40px,calc((100vw - 1240px)/2)); }
.hero-showcase > .hero-stage { min-height: 520px; }
.hero-showcase .hero-slide picture, .hero-showcase .hero-slide > img { width: 100%; height: 100%; }
.hero-showcase .hero-slide picture img { width: 100%; }
.hero-showcase .field-slide .hero-photo { object-position: 50% 53%; filter: brightness(1.055) contrast(1.025); }
.hero-showcase .warehouse-slide .hero-photo { object-position: center 55%; filter: brightness(1.16) contrast(1.035); }
.hero-showcase .hero-slide figcaption { max-width: calc(100% - 485px); }
.consultation-entry { grid-area: 1/2; position: relative; align-self: end; z-index: 5; margin: 32px 0; padding: 24px 26px 16px; background: #fff; color: #142f47; border-top: 3px solid #b49560; box-shadow: 0 16px 50px #0a23382b; }
.entry-eyebrow { font: 600 10px/1.5 var(--font-latin); letter-spacing: .16em; color: #826b43; margin-bottom: 9px; }
.consultation-entry h2 { font-size: 25px; line-height: 1.45; text-wrap: initial; }
.entry-note { font-size: 13px; color: #5b6d78; margin: 10px 0 17px; }
.entry-links a { display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 58px; border-top: 1px solid #dbe2e6; transition: color .2s,background .2s; }
.entry-links a > span:first-child { display: flex; align-items: baseline; gap: 8px; }
.entry-links strong { font: 700 20px/1.5 var(--font-heading); }
.entry-links small { font-size: 13px; white-space: nowrap; }
.entry-arrow { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #d7c7a8; border-radius: 50%; color: #846d45; font-size: 17px; }
.entry-links a:hover { color: #866937; background: #f7f6f2; }
.consultation-entry a:focus-visible, .consultation-other a:focus-visible { outline: 2px solid #92713d; outline-offset: 3px; }

/* Original open-ring emblems; these are corporate metrics, not award seals. */
.trust-strip { padding-block: 45px 46px; border-bottom: 1px solid #dce3e7; }
.trust-heading { display: flex; align-items: baseline; justify-content: center; gap: 22px; margin-bottom: 28px; }
.trust-heading .eyebrow { margin: 0; color: #8b7044; font: 600 10px/1.5 var(--font-latin); letter-spacing: .13em; }
.trust-heading h2 { font-size: 19px; line-height: 1.5; letter-spacing: .055em; }
.trust-badges { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 0; }
.trust-badge { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 194px; text-align: center; padding: 20px 8px; }
.trust-badge::before, .trust-badge::after { content: ''; position: absolute; top: 10px; bottom: 10px; width: 37px; border: 1px solid #bc9c63; pointer-events: none; }
.trust-badge::before { left: 6px; border-right: 0; border-radius: 100% 0 0 100% / 50% 0 0 50%; }
.trust-badge::after { right: 6px; border-left: 0; border-radius: 0 100% 100% 0 / 0 50% 50% 0; }
.trust-badge dt { font-size: 15px; font-weight: 500; letter-spacing: .045em; }
.trust-value { display: flex; align-items: baseline; gap: 5px; margin: 13px 0 12px; color: #15354e; }
.trust-value strong { font: 500 58px/1 var(--font-latin); letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.trust-value > span { font: 500 17px/1 var(--font-body); color: #8b7044; }
.trust-area .trust-value strong { font-size: 45px; }
.trust-owner { margin: 0; font-size: 12px; line-height: 1.7; color: #546b7c; }
.trust-owner small { font-size: 11px; }
.trust-group { background: #f8f6f1; border-radius: 3px; }
.trust-notes { margin-top: 24px; font-size: 12px; line-height: 1.8; color: #627380; text-align: center; }
.trust-notes p + p { margin-top: 4px; }
.warehouse-invitation { margin-top: 28px; }

/* A quiet final consultation section, with enough space for real input. */
.consultation-section { background: #edf1f3; padding-block: 108px; }
.consultation-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(40px,5vw,76px); align-items: start; }
.consultation-intro { padding-top: 22px; }
.consultation-intro .section-kicker { margin-bottom: 35px; }
.consultation-section .section-kicker { color: #15354e; }
.consultation-section .section-index { color: #8b7044; }
.consultation-intro .section-en { font-size: 34px; }
.consultation-intro h2 { font-size: clamp(30px,3vw,42px); line-height: 1.45; letter-spacing: -.02em; }
.consultation-intro .consultation-lead { font: 700 23px/1.65 var(--font-heading); margin: 32px 0 20px; }
.consultation-intro > p:not(.eyebrow):not(.consultation-lead):not(.consultation-demo) { font-size: 16px; line-height: 2; max-width: 26em; }
.consultation-guide { list-style: none; padding: 24px 0; margin: 28px 0; border-top: 1px solid #cbd6de; border-bottom: 1px solid #cbd6de; }
.consultation-guide li { display: flex; gap: 20px; align-items: baseline; font-size: 15px; line-height: 2.3; }
.consultation-guide span { font: 500 12px/1.5 var(--font-latin); color: #8b7044; }
.consultation-demo { font-size: 13px; line-height: 1.9; color: #5a7081; }
.consultation-other { display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 6px; margin-top: 32px; font-size: 13px; }
.consultation-other a { padding-block: 8px; }
.consultation-other span { margin-left: 8px; color: #8b7044; }
.consultation-layout > .hero-quote { grid-area: auto; width: 100%; margin: 0; padding: 36px; box-shadow: 0 15px 50px #142f4710; scroll-margin-top: 8px; }
.consultation-layout .hero-quote::before { left: 36px; }
.consultation-layout .hero-quote .quote-title { font-size: clamp(23px,2.1vw,28px); line-height: 1.5; }
.consultation-layout .quote-title > span { display: inline-block; white-space: nowrap; }
.consultation-layout .quote-panel-heading { text-wrap: balance; }
.consultation-layout .quote-lead { margin: 12px 0 24px; }
.consultation-layout .quote-reassurance, .consultation-layout .quote-description { font-size: 14px; }

@media(max-width:1100px) {
  .hero-heading { padding-top: 42px; padding-bottom: 38px; }
  .consultation-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 34px; }
  .consultation-layout > .hero-quote { padding: 28px; }
  .trust-badges { gap: 12px; }
  .trust-value strong { font-size: 48px; }
  .trust-area .trust-value strong { font-size: 36px; }
}
@media(max-width:960px) {
  .hero-showcase { display: block; }
  .hero-showcase > .hero-stage { min-height: 0; height: 400px; }
  .hero-showcase .hero-slide figcaption { max-width: calc(100% - 70px); }
  .consultation-entry { width: min(640px,calc(100% - 64px)); margin: 24px auto 0; padding: 20px 24px 16px; box-shadow: 0 10px 28px #142f470d; border: 1px solid #d9e0e5; border-top: 2px solid #b49560; }
  .entry-eyebrow { display: none; }
  .consultation-entry h2 { font-size: 21px; }
  .entry-note { margin: 6px 0 14px; }
  .entry-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .entry-links a { padding-inline: 12px; border-top: 0; border-left: 1px solid #dbe2e6; }
  .entry-links a:first-child { border-left: 0; padding-left: 0; }
  .entry-links a:last-child { padding-right: 0; }
  .entry-links a > span:first-child { display: block; }
  .entry-links small { display: block; font-size: 12px; }
  .entry-arrow { width: 25px; height: 25px; flex: none; }
  .trust-badges { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 30px; }
  .trust-badge { min-height: 185px; }
  .trust-value strong { font-size: 58px; }
  .trust-area .trust-value strong { font-size: 46px; }
  .consultation-section { padding-block: 72px; }
  .consultation-layout { grid-template-columns: 1fr; max-width: 640px; gap: 32px; }
  .consultation-intro { padding-top: 0; }
  .consultation-intro > p:not(.eyebrow):not(.consultation-lead):not(.consultation-demo) { max-width: 100%; }
  .consultation-intro .consultation-lead { margin-top: 22px; }
  .consultation-guide { margin-block: 22px; padding-block: 18px; }
  .consultation-other { margin-top: 20px; }
}
@media(max-width:600px) {
  .hero-heading { padding-top: 34px; padding-bottom: 28px; }
  .hero-summary { display: flex; align-items: end; margin-top: 22px; font-size: 14px; }
  .hero-summary .scroll-link { white-space: nowrap; max-width: none; font-size: 9px; gap: 8px; }
  .hero-showcase > .hero-stage { height: 300px; }
  .hero-showcase .hero-slide figcaption { left: 18px; bottom: 20px; max-width: calc(100% - 40px); font-size: 12px; }
  .hero-showcase .hero-slide figcaption > span { font-size: 10px; }
  .consultation-entry { width: calc(100% - 40px); margin-top: 18px; padding: 16px 18px 12px; }
  .consultation-entry h2 { font-size: 20px; }
  .entry-note { font-size: 12px; }
  .entry-links a { gap: 5px; padding-inline: 10px; }
  .entry-links strong { font-size: 19px; }
  .entry-links small { font-size: 11px; }
  .entry-arrow { width: 22px; height: 22px; font-size: 14px; }
  .trust-strip { padding-block: 30px 32px; }
  .trust-heading { display: block; text-align: center; margin-bottom: 18px; }
  .trust-heading .eyebrow { margin-bottom: 10px; font-size: 9px; }
  .trust-heading h2 { font-size: 16px; letter-spacing: 0; }
  .trust-badges { gap: 14px 10px; }
  .trust-badge { padding: 16px 3px; min-height: 162px; }
  .trust-badge::before { left: 0; width: 20px; }
  .trust-badge::after { right: 0; width: 20px; }
  .trust-badge dt { font-size: 12px; letter-spacing: 0; }
  .trust-value { gap: 3px; margin-block: 12px 10px; }
  .trust-value strong { font-size: 40px; }
  .trust-value > span { font-size: 13px; }
  .trust-area .trust-value strong { font-size: 33px; }
  .trust-owner { font-size: 11px; }
  .trust-owner small { font-size: 10px; }
  .trust-notes { text-align: left; font-size: 12px; margin-top: 20px; }
  .trust-notes p + p { margin-top: 8px; }
  .warehouse-invitation { margin-top: 20px; }
  .consultation-section { padding-block: 56px; }
  .consultation-intro .section-kicker { margin-bottom: 24px; }
  .consultation-intro .section-en { font-size: 29px; }
  .consultation-intro h2 { font-size: 30px; }
  .consultation-intro .consultation-lead { font-size: 21px; }
  .consultation-layout > .hero-quote { padding: 24px 18px; }
  .consultation-layout .hero-quote::before { left: 18px; }
  .consultation-layout .hero-quote .quote-title { font-size: 23px; }
  .consultation-layout .quote-fields :is(input,select,textarea) { font-size: 16px; }
}
@media(max-width:360px) {
  .hero-summary { display: block; }
  .hero-summary .scroll-link { margin-top: 16px; }
  .hero-showcase > .hero-stage { height: 260px; }
  .consultation-entry { width: calc(100% - 32px); padding-inline: 14px; }
  .entry-links a { padding-inline: 5px; }
  .entry-arrow { width: 18px; height: 18px; font-size: 12px; }
  .trust-badges { gap: 10px 8px; }
  .trust-value strong { font-size: 34px; }
  .trust-area .trust-value strong { font-size: 28px; }
  .trust-value > span { font-size: 12px; }
  .trust-badge dt { font-size: 11px; }
  .trust-owner { font-size: 10px; }
  .consultation-layout > .hero-quote { padding-inline: 14px; }
  .consultation-layout .hero-quote .quote-title { font-size: 21px; }
}

/* Required contact details: scoped to the final form, never the hero card. */
.consultation-layout .quote-contact { border: 1px solid #d8e0e6; background: #f8fafb; padding: 20px; margin-top: 10px; }
.consultation-layout .quote-contact h4 { font: 700 19px/1.5 var(--font-heading); color: #18364e; margin: 0; }
.consultation-layout .quote-contact > p { font-size: 13px; line-height: 1.8; margin: 10px 0 18px; color: #526678; }
.consultation-layout .quote-contact .quote-fields { margin: 0; padding: 0; }
.consultation-layout .quote-required { display: inline-block; font-size: 11px; line-height: 1.6; padding: 1px 6px; margin-left: 5px; border: 1px solid #d9b9b9; border-radius: 2px; color: #9b3c3c; background: #fff8f7; vertical-align: 2px; }
.consultation-layout .quote-field-error { display: block; margin-top: 7px; font-size: 13px; font-weight: 400; line-height: 1.8; color: #a42d35; }
.consultation-layout .quote-field-error[hidden], .consultation-layout .quote-error-summary[hidden] { display: none; }
.consultation-layout .quote-error-summary { padding: 12px 14px; border-left: 3px solid #b55b60; background: #fff6f5; color: #8d3037; font-size: 14px; line-height: 1.8; margin: 18px 0; }
.consultation-layout .quote-fields input[aria-invalid="true"] { border-color: #b55b60; background: #fffafa; }
.consultation-layout .quote-fields input:focus-visible { outline: 2px solid #315d80; outline-offset: 2px; }
@media(max-width:600px) {
  .consultation-layout .quote-contact { padding: 16px 12px; }
  .consultation-layout .quote-contact .quote-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
}
