@font-face {
  font-family: 'BMH Editorial';
  src: url('/assets/fonts/bmh-editorial.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'BMH Editorial';
  src: url('/assets/fonts/bmh-editorial-italic.woff') format('woff');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
.elevated {
  --navy: #102630;
  --gold: #dfc598;
  --muted: #6a706e;
  --cream: #f7f5ef;
  --line: #deded5;
  color: var(--navy);
  background: var(--cream);
}
.elevated .wrap { width: min(1440px,100%); padding-inline: 80px; }
.cinematic-header { position: absolute; inset: 0 0 auto; z-index: 2; color: #f7f5ed; }
.cinematic-header > .wrap { height: 108px; display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.elevated .brand { font: 400 35px/1 'BMH Editorial',Georgia,serif; letter-spacing: -.6px; gap: 13px; }
.elevated .brand svg { width: 29px; height: 35px; fill: none; stroke: #dbc199; stroke-width: 1; stroke-linecap: square; stroke-linejoin: miter; }
.elevated .brand-domain { font: 10px Arial,sans-serif; letter-spacing: .3px; margin-left: 2px; }
.process-link { font-size: 11px; color: #eeeae0; padding: 8px 0; }
.cinematic-hero { position: relative; min-height: 730px; background: #102630; overflow: hidden; }
.scene-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.scene-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,27,36,.96) 0%,rgba(8,27,36,.88) 28%,rgba(8,27,36,.62) 46%,rgba(8,27,36,.16) 73%,rgba(8,27,36,.10) 100%); }
.hero-inner { position: relative; padding-top: 185px; padding-bottom: 95px; }
.cinematic-copy { max-width: 550px; }
.elevated h1 { font: 400 clamp(70px,6.5vw,94px)/.99 'BMH Editorial',Georgia,serif; letter-spacing: -2px; color: #f8f5ec; }
.elevated h1 em { color: #e1c69d; font-weight: 400; }
.cinematic-copy .hero-description { color: #e2e7e5; font-size: 14px; line-height: 1.85; margin: 28px 0 33px; }
.elevated .address-form { max-width: none; }
.elevated .address-form > label { color: #eeede5; font-size: 11px; font-weight: 400; margin-bottom: 11px; }
.elevated .address-control { border: 1px solid #ffffff60; box-shadow: none; padding: 5px; border-radius: 2px; background: #102630e6; }
.elevated .address-control input { color: #fff; font-size: 12px; padding: 15px 12px; }
.elevated .address-control input::placeholder { color: #c0cacb; }
.elevated .address-control button { color: #102630; background: #dfc598; font-weight: 500; font-size: 11px; border-radius: 0; padding: 17px 20px; }
.elevated .address-control button span { font-size: 16px; margin-left: 20px; }
.quiet-reassurance { font-size: 10px; line-height: 1.6; color: #d2dcd8; margin: 16px 0 0; }
.elevated input:focus-visible { outline-color: #e7cd9d; }
.explanation { padding-top: 12px; padding-bottom: 19px; }
.explanation details { border-bottom: 1px solid var(--line); }
.explanation summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 23px 0; list-style: none; cursor: pointer; font-size: 12px; }
.explanation summary::-webkit-details-marker { display: none; }
.explanation summary::after { content: '+'; font-size: 20px; color: #80715b; }
.explanation details[open] summary::after { content: '−'; }
.explanation summary:focus-visible { outline: 3px solid #488ca1; outline-offset: 3px; }
.explanation-content { max-width: 650px; padding-bottom: 21px; }
.explanation-content p { font-size: 13px; color: var(--muted); line-height: 1.85; margin: 0 0 15px; }
.explanation-content p:last-child { font-size: 11px; margin-bottom: 0; }
.quiet-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 27px; }
.quiet-footer .footer-links { flex-wrap: wrap; gap: 23px; font-size: 10px; }
.quiet-footer .text-button { color: var(--muted); font-size: 10px; font-weight: 400; }
.quiet-footer small { font-size: 10px; color: var(--muted); }
.quiet-footer .prototype-note { color: #79684c; font-size: 10px; }
.elevated dialog { border-radius: 3px; background: var(--cream); }
.elevated .dialog-inner h2 { font: 400 34px/1.1 'BMH Editorial',Georgia,serif; letter-spacing: -.5px; }
.elevated .form-step input:not([type=checkbox]), .elevated .form-step select { border-radius: 2px; }
.elevated .button { color: #f8f5ec; background: var(--navy); border-radius: 2px; }
@media (hover:hover) {
  .process-link:hover { color: #dfc598; }
  .elevated .address-control button:hover { background: #ead3af; }
}
@media (min-width:1600px) {
  .cinematic-hero { min-height: 810px; }
  .hero-inner { padding-top: 225px; }
}
@media (max-width:1050px) {
  .elevated .wrap { padding-inline: 46px; }
  .cinematic-hero { min-height: 700px; }
  .cinematic-copy { max-width: 510px; }
  .elevated h1 { font-size: 79px; }
  .hero-inner { padding-top: 180px; }
  .scene-image { object-position: 60% center; }
}
@media (max-width:600px) {
  .elevated .wrap { padding-inline: 25px; }
  .cinematic-header > .wrap { height: 86px; gap: 15px; }
  .elevated .brand { font-size: 27px; gap: 9px; }
  .elevated .brand svg { width: 21px; height: 28px; }
  .elevated .brand-domain { font-size: 8px; }
  .process-link { font-size: 9px; }
  .cinematic-hero { min-height: 770px; }
  .scene-image { object-position: 75% bottom; }
  .scene-shade { background: linear-gradient(180deg,rgba(8,27,36,.91) 0%,rgba(8,27,36,.88) 46%,rgba(8,27,36,.48) 72%,rgba(8,27,36,.15) 100%); }
  .hero-inner { padding-top: 144px; padding-bottom: 270px; }
  .elevated h1 { font-size: clamp(61px,16.3vw,78px); letter-spacing: -1.3px; }
  .cinematic-copy .hero-description { font-size: 13px; margin: 23px 0 27px; }
  .cinematic-copy .hero-description br { display: none; }
  .elevated .address-control { flex-wrap: wrap; }
  .elevated .address-control input { font-size: 12px; padding: 14px 12px; }
  .elevated .address-control button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 13px 15px; margin-top: 4px; font-size: 12px; }
  .quiet-reassurance { font-size: 10px; margin-top: 13px; }
  .explanation summary { padding-block: 20px; }
  .quiet-footer { justify-content: flex-start; }
  .quiet-footer .footer-links { width: 100%; gap: 20px; }
  .elevated .dialog-inner h2 { font-size: 31px; }
}
@media (max-width:350px) {
  .elevated .wrap { padding-inline: 20px; }
  .process-link { font-size: 8px; }
  .elevated .brand { font-size: 24px; gap: 7px; }
  .elevated .brand-domain { font-size: 7px; }
}
