/* Monaco: source palette, construction lines and numbered residential types. */
:root {
  --ink: #21363d;
  --accent: #8c503e;
  --accent-dark: #244a55;
  --brand: #2e5662;
  --surface: #f3efe7;
  --warm: #fffdf9;
  --line: #d6d1c9;
}
html, body, main, main > section { overflow-x: visible !important; }
html { scroll-padding-top: 142px; }
body { color: var(--ink); background: var(--warm); font: 18px/1.65 'Segoe UI', Arial, sans-serif; }
html[lang] main h1, html[lang] main h2, html[lang] main h3 {
  overflow-wrap: anywhere !important; word-break: normal; hyphens: auto;
}
main h1 { font-size: clamp(38px, 4vw, 52px); line-height: 1.08; }
main h2 { font-size: clamp(29px, 3vw, 38px); line-height: 1.15; }
main h3 { font-size: 23px; }
main p { max-width: 70ch; }
main > section, main > .section { padding: 46px 0; }
main .container { width: min(calc(100% - 48px), 1180px); }
section[id], form[id], main[id], .awz-anchor-alias { scroll-margin-top: 142px; }
.awz-anchor-alias { display: block; height: 0; }
.eyebrow { color: var(--accent); font-size: 14px; line-height: 1.5; }
.operator-strip { padding: 7px 24px; background: var(--surface); color: #4b5c61; font-size: 13px; text-align: center; overflow-wrap: anywhere; }
.awz-header .awz-header-inner { padding: 10px 24px; gap: 4px 18px; flex-wrap: wrap; }
.awz-header .awz-brand { margin-right: auto; }
.awz-header .awz-brand img { width: 66px; height: 40px; }
.awz-header .awz-brand strong { font-size: 15px; }
.awz-header .awz-brand small { font-size: 13px; }
.awz-header .awz-menu-toggle { display: inline-flex !important; order: 2; min-height: 44px; font-size: 15px; }
.awz-header .awz-language-nav { flex-basis: 100%; order: 3; margin: 0; gap: 4px 16px; font-size: 14px; }
.awz-language-nav a { padding: 8px 3px; min-height: 40px; }
.awz-header [data-awz-nav][hidden] { display: none !important; }
.awz-header [data-awz-nav]:not([hidden]) {
  display: block !important; position: absolute !important; top: 100%; right: 24px; left: auto;
  width: min(340px, calc(100vw - 32px)); padding: 8px; background: #fffdf9;
  border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 24px #21363d1a;
  max-height: 65vh; overflow-y: auto; flex: none;
}
.awz-header [data-awz-nav] a, .awz-header [data-awz-nav] a:nth-child(2) { display: block !important; padding: 12px; font-size: 16px; white-space: normal; }
main .hero {
  padding: 32px 0 38px;
  background-color: var(--warm);
  background-image: linear-gradient(#2e566207 1px, transparent 1px), linear-gradient(90deg, #2e566207 1px, transparent 1px);
  background-size: 72px 72px;
}
.hero::before { display: none; }
.hero .hero-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas: 'copy media' 'actions media'; gap: 24px 38px; align-items: center;
}
.hero-copy { grid-area: copy; padding: 0; align-self: end; }
.hero-copy h1 { font-size: clamp(38px, 4vw, 52px); margin: 10px 0 18px; }
.hero-copy .lead { margin: 0; font-size: 18px; line-height: 1.6; }
.hero-actions { grid-area: actions; align-self: start; margin: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.hero .hero-figure { grid-area: media; justify-self: end; max-width: 540px !important; }
main figure.awz-image-wrap { min-height: 0 !important; border-radius: 12px 36px 12px 12px; }
.hero .hero-frame { min-height: 0 !important; height: auto !important; border-radius: inherit; box-shadow: none; }
main .awz-image-wrap img { display: block; width: 100%; height: auto !important; min-height: 0 !important; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.hero-accent { left: 0; bottom: 28px; width: 54px; height: 9px; }
.awz-image-wrap figcaption { right: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 5px 8px; color: #fff; background: #21363de8; font-size: 12px; line-height: 1.35; }
.button { max-width: 100%; min-height: 48px; font-size: 16px; line-height: 1.35; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.button-primary { background: var(--harbor); color: white; border-color: var(--harbor); }
.button-primary:hover { background: var(--harbor-strong); }
.button-secondary { color: var(--harbor-strong); background: var(--warm); border-color: var(--harbor); }
.section .seller-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important; gap: 38px; align-items: center; }
.seller-layout .seller-photo { max-width: 490px !important; justify-self: end; }
.seller-layout p:last-child { margin-bottom: 0; }
.types-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 44px; align-items: center; margin-bottom: 30px; }
.types-head .types-photo { max-width: 490px !important; justify-self: end; border-radius: 36px 12px 12px 12px; }
.type-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.type-item { padding: 28px 26px 28px 54px; }
.type-item h3 { margin-bottom: 12px; }
.type-item p { font-size: 17px; }
.type-index { color: var(--accent); font-size: 14px; top: 31px; }
.buyer-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; padding: 32px 36px; border-radius: 12px; }
.buyer-card h2, .buyer-card p { color: #fff; }
.buyer-card .eyebrow { color: #f6c7b7; }
.buyer-details { position: relative; z-index: 1; }
.buyer-details p { margin-top: 0; }
.buyer-card .button-light { background: #fffdf9; border: 1px solid #fffdf9; color: #244a55; }
.buyer-card .button-light:hover { background: #f3efe7; }
main .awz-introduction { padding: 40px 24px; background: var(--warm); border-top: 1px solid var(--line); }
.awz-introduction-inner { max-width: 900px; }
.awz-introduction-facts dt { font-size: clamp(25px, 3vw, 34px); }
.awz-introduction-facts dd { font-size: 16px; }
main .awz-business-inquiry { padding: 42px 24px; background: var(--surface); }
.awz-business-inquiry-inner { max-width: 900px; }
.awz-business-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
.awz-business-grid .awz-contact { background: var(--warm); }
.awz-intents { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.awz-intents label { min-height: 52px; font-size: 16px; align-items: center; }
.awz-intents label:has(input:checked) { border-color: var(--harbor); background: #edf3f3; }
.awz-pilot-form summary { min-height: 44px; padding-block: 9px; font-size: 16px; }
.awz-pilot-form details { padding-block: 4px; }
.awz-consent, .awz-confidential { font-size: 15px; color: #4b5c61; }
.awz-contact h2 { max-width: 28ch; font-size: 30px; }
.awz-contact address { margin-top: 12px; }
.awz-contact address span { font-size: 14px; }
.awz-contact a { overflow-wrap: anywhere; }
.awz-footer a { font-size: 15px; line-height: 1.5; }
.awz-footer nav { gap: 12px 24px !important; }
.awz-about { max-width: 1050px; }
.awz-about h1 { font-size: clamp(34px, 4vw, 48px); }
.awz-about .awz-contact { padding: 28px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid #8c503e; outline-offset: 4px; }
.buyer-card :focus-visible, .awz-footer :focus-visible { outline-color: #f6c7b7; }
@media (max-width: 900px) {
  .hero .hero-grid { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: 'copy' 'media' 'actions'; gap: 24px; }
  .hero .hero-figure { max-width: 480px !important; justify-self: start; }
  .section .seller-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 24px; }
  .seller-layout .seller-photo { justify-self: start; }
  .types-head { gap: 28px; }
  .buyer-card { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 700px) {
  body { font-size: 17px; }
  main > section, main > .section { padding: 34px 0; }
  main .container { width: calc(100% - 32px); }
  .operator-strip { padding-inline: 16px; font-size: 12px; }
  .awz-header .awz-header-inner { padding-inline: 16px; gap: 2px 10px; }
  .awz-header .awz-brand { gap: 8px; }
  .awz-header .awz-brand img { width: 52px; height: 34px; }
  .awz-header .awz-brand strong, .awz-header .awz-brand small { font-size: 12px; }
  .awz-header .awz-menu-toggle { padding: 8px; gap: 5px; font-size: 13px; }
  .awz-header [data-awz-nav]:not([hidden]) { right: 16px; }
  .awz-header .awz-language-nav { gap: 4px 12px; }
  main .hero { padding: 24px 0 30px; }
  .hero-copy h1, main h1 { font-size: clamp(32px, 7vw, 38px); }
  main h2 { font-size: 29px; }
  .hero-copy .lead { font-size: 17px; }
  .hero .hero-figure, .seller-layout .seller-photo, .types-head .types-photo { max-width: 360px !important; }
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .hero-actions .button { width: 100%; }
  .types-head { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .types-head .types-photo { justify-self: start; }
  .type-list { grid-template-columns: minmax(0, 1fr); }
  .type-item { padding: 24px 4px 24px 42px; }
  .type-item:nth-child(odd) { border-right: 0; }
  .type-index { top: 27px; }
  .buyer-card { padding: 26px 20px; }
  .awz-intents { grid-template-columns: minmax(0, 1fr); }
  main .awz-introduction, main .awz-business-inquiry { padding: 34px 16px; }
  .awz-business-grid .awz-pilot-form, .awz-business-grid .awz-contact { padding: 20px 16px; }
  .awz-contact h2 { font-size: 27px; }
  .awz-about { padding-inline: 16px; }
  .awz-about .awz-contact { padding: 24px 16px; }
  .awz-image-wrap figcaption { right: 6px; bottom: 6px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
