/* Hoài Đức: courtyard arch, village path and rooflines remain domain-specific. */
:root { --pond:#356158; --pond-deep:#213f3a; --clay:#8b4032; --clay-deep:#6f3026; --lotus:#8b405a; --straw:#f2e8d3; --rice:#fffdf7; --leaf-pale:#e8f0eb; --ink:#273933; --muted:#5e6964; --line:#d8cdbb; --accent:#8b4032; --accent-dark:#213f3a; --brand:#213f3a; --surface:#e8f0eb; --warm:#fffdf7; }
html,body,main,main>section { overflow-x:visible!important; }
html { scroll-behavior:auto; scroll-padding-top:144px; }
body { background:var(--rice); font:18px/1.65 "Segoe UI","Helvetica Neue",Arial,sans-serif; }
main h1,main h2,main h3 { font-family:inherit; word-break:normal; overflow-wrap:anywhere!important; }
main h1,.hero h1 { max-width:730px; font-size:clamp(36px,3.65vw,50px); line-height:1.12; }
main h2 { font-size:clamp(28px,2.8vw,38px); line-height:1.2; }
main h3 { font-size:22px; line-height:1.25; }
main>section { padding:clamp(40px,4.6vw,66px) 0; }
.shell { width:min(calc(100% - 48px),1180px); }
.operator-bar { background:var(--pond-deep); color:#fff; font-size:13px; line-height:1.4; padding:8px 24px; }
.awz-header { background:var(--rice); }
.awz-header .awz-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; max-width:1228px; padding:12px 24px; }
.awz-header .awz-brand { grid-column:1; grid-row:1; justify-self:start; gap:10px; color:var(--ink); }
.awz-header .awz-brand img { width:64px; height:42px; object-fit:contain; }
.awz-header .awz-brand-copy { display:grid; gap:3px; white-space:normal; }
.awz-header .awz-brand-copy strong { font-size:15px; }
.awz-header .awz-brand-copy small { font-size:13px; color:var(--ink); }
.awz-header .awz-language-nav { grid-column:2; grid-row:1; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; margin:0; }
.awz-language-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px; color:var(--ink); font-size:14px; }
.awz-language-nav a[aria-current="page"] { font-weight:750; text-decoration-thickness:2px; text-underline-offset:5px; }
.awz-header .awz-menu-toggle { grid-column:3; grid-row:1; justify-self:end; display:flex; min-height:44px; border-color:#718078; padding:9px 12px; }
.awz-header [data-awz-nav]:not([hidden]) { display:block!important; position:absolute; top:100%; right:24px; left:auto; width:min(340px,calc(100vw - 32px)); max-height:min(70vh,540px); overflow:auto; padding:8px; margin:0; background:var(--rice); border:1px solid #718078; border-radius:8px; z-index:60; }
.awz-header [data-awz-nav] a { display:block; min-height:44px; padding:10px 12px; }
.awz-header [data-awz-nav][hidden] { display:none!important; }
.hero { background:linear-gradient(115deg,#f6eedf 0 58%,#e7eee8 58% 100%); overflow:visible; }
.path-pattern { pointer-events:none; }
.hero .shell.hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important; grid-template-areas:"copy image" "routes routes"; gap:28px 40px; align-items:center; }
.hero-copy { grid-area:copy; padding-left:24px; }
.hero .hero-intro { font-size:18px; line-height:1.55; }
.hero .value-band { font-size:16px; line-height:1.45; color:var(--ink); font-weight:700; margin:16px 0 0; }
main .hero-figure.awz-image-wrap { grid-area:image; min-height:0!important; height:314px!important; border:8px solid rgba(255,255,255,.82); border-radius:86px 86px 8px 8px; box-shadow:0 12px 28px rgba(33,63,58,.13); }
main .hero-figure.awz-image-wrap img { min-height:0!important; width:100%; height:100%; object-fit:cover; object-position:50% 54%; }
.awz-image-wrap figcaption { left:auto; right:10px; bottom:10px; max-width:calc(100% - 20px); border:0; border-radius:3px; padding:5px 8px; background:var(--pond-deep); color:#fff; font-size:12px; line-height:1.35; font-weight:500; }
.hero-actions.village-routes { grid-area:routes; display:grid; grid-template-columns:1.08fr .92fr; gap:0; margin-top:8px; background:var(--rice); border:1px solid var(--line); border-radius:0; box-shadow:none; }
.village-route { display:flex; flex-direction:column; min-height:116px; padding:20px 24px; border-right:1px solid var(--line); border-bottom:0; }
.village-route:last-child { border-right:0; }
.village-route span { font-size:13px; line-height:1.4; }
.village-route strong { font-size:19px; line-height:1.3; }
.village-route small { font-size:16px; line-height:1.4; }
.region-grid { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:44px; }
.region-path article { grid-template-columns:48px minmax(0,1fr); gap:4px 20px; padding:20px 0; }
.region-path article::before { grid-column:1; grid-row:1 / 3; }
.region-path article b,.region-path article span { grid-column:2; }
.region-path article b { grid-row:1; font-size:20px; line-height:1.35; }
.region-path article span { grid-row:2; font-size:17px; line-height:1.55; }
.owner-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); grid-template-areas:"image copy"; gap:44px; align-items:center; }
.owner-copy,.buyer-copy { max-width:650px; }
.owner-section { background:var(--leaf-pale); }
.types-section { color:var(--ink); background:var(--straw); }
.types-heading { grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); gap:36px; margin-bottom:30px; }
.roofline { grid-template-columns:repeat(3,minmax(0,1fr)); }
.roofline article { padding:28px 22px; }
.roofline h3 { font-size:21px; }
.roofline p { font-size:17px; line-height:1.55; }
.buyer-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-areas:"copy image"; gap:44px; align-items:center; }
.buyer-copy { grid-area:copy; }
.buyer-section { color:#fff; background:var(--pond-deep); }
.buyer-section h2 { color:#fff; }
.buyer-section .eyebrow { color:#f4c4b8; }
.buyer-copy p:not(.eyebrow) { color:#d7e6e0; }
main .owner-figure.awz-image-wrap,main .buyer-figure.awz-image-wrap { min-height:0!important; height:auto!important; aspect-ratio:3/2; }
main .owner-figure.awz-image-wrap { grid-area:image; max-width:520px!important; justify-self:start; border:9px solid var(--rice); border-radius:12px 72px 12px 72px; box-shadow:-8px 8px 0 #cad8d0; }
main .buyer-figure.awz-image-wrap { grid-area:image; max-width:540px!important; justify-self:end; border:8px solid rgba(255,255,255,.92); border-radius:72px 12px 72px 12px; box-shadow:0 12px 28px rgba(15,30,25,.15); }
.owner-figure img,.buyer-figure img { min-height:0!important; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.owner-figure img { object-position:50% 57%; }
.buyer-figure img { object-position:50% 55%; }
.buyer-figure figcaption { right:40px; bottom:14px; max-width:calc(100% - 54px); background:var(--clay-deep); }
.text-link { min-height:44px; line-height:1.4; color:var(--pond-deep); }
.buyer-section .text-link--light { color:#fff; border-color:#e8a795; }
.awz-introduction,.awz-business-inquiry { padding-inline:24px; }
.awz-introduction-copy h2 { font-size:32px; }
.awz-introduction-copy a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.awz-introduction-facts dd { font-size:15px; }
.awz-introduction-facts dt,.awz-about .awz-facts strong { color:var(--ink); }
.awz-business-grid { grid-template-columns:minmax(0,1fr); max-width:880px; margin:auto; gap:0; }
.awz-business-inquiry-inner>h2 { max-width:880px; margin:0 auto 24px; font-size:34px; }
.awz-business-grid .awz-pilot-form { border-radius:8px 8px 0 0; border-bottom:0; box-shadow:none; }
#contact-form.awz-pilot-form { display:block; padding:clamp(22px,3vw,36px); }
#contact-form.awz-pilot-form::before { left:36px; }
.awz-business-grid .awz-contact { border-radius:0 0 8px 8px; border-top:3px solid var(--pond); }
.awz-pilot-form legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.awz-intents { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.awz-intents label { padding:13px 12px; min-height:58px; border-color:#718078; border-radius:4px; font-size:16px; line-height:1.4; align-items:flex-start; color:var(--ink); }
.awz-intents label:has(input:checked) { border-color:var(--clay); background:#faf0e7; box-shadow:inset 0 0 0 1px var(--clay); }
.awz-intents input { accent-color:var(--clay); }
.awz-pilot-form>input,.awz-pilot-form>textarea,.awz-personal input { min-height:48px; border-color:#718078; font-size:17px; line-height:1.5; }
.awz-pilot-form textarea { min-height:156px; }
.awz-pilot-form textarea::placeholder { color:var(--muted); opacity:1; }
.awz-pilot-form details { padding:0 16px; }
.awz-pilot-form summary { min-height:50px; padding:13px 0; font-size:16px; line-height:1.5; }
.awz-personal { padding-bottom:18px; }
.awz-consent,.awz-confidential { font-size:15px; line-height:1.55; color:var(--muted); }
.awz-consent a { color:var(--pond-deep); }
.awz-pilot-form button[type=submit] { min-height:52px; background:var(--clay); line-height:1.5; border-radius:4px; }
.awz-pilot-form button[type=submit]:hover:not(:disabled) { background:var(--pond-deep); }
.awz-contact h2 { margin:0 0 18px; font-size:clamp(27px,2.8vw,34px); line-height:1.25; }
.awz-contact strong { font-size:19px; }
.awz-contact address { margin-top:14px; }
.awz-contact address a { min-height:44px; display:flex; align-items:center; margin:0; font-size:18px; }
.awz-contact address span { font-size:13px; }
.awz-about .button { min-height:48px; line-height:1.5; }
.awz-footer { background:var(--pond-deep); border-top:3px solid var(--clay); }
.awz-footer nav { gap:4px 24px!important; }
.awz-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
section[id],form[id],main[id] { scroll-margin-top:144px; }
:focus-visible { outline:3px solid var(--clay-deep); outline-offset:4px; }
.village-route--primary:focus-visible,.village-route:hover:focus-visible,.buyer-section a:focus-visible,.awz-footer a:focus-visible { outline-color:#fff; }
.village-route--primary:focus-visible,.village-route:hover:focus-visible { outline-offset:-5px; }
@media(max-width:1000px) {
  .hero .shell.hero-grid { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"copy" "image" "routes"; gap:24px; }
  .hero-copy { max-width:780px; }
  main .hero-figure.awz-image-wrap { max-width:620px!important; justify-self:center; }
  .region-grid,.owner-grid,.buyer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .owner-grid,.buyer-grid { grid-template-areas:"copy" "image"; }
  .owner-copy,.buyer-copy { max-width:none; }
  main .owner-figure.awz-image-wrap,main .buyer-figure.awz-image-wrap { justify-self:start; }
  .types-heading { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media(max-width:680px) {
  .shell { width:calc(100% - 32px); }
  .operator-bar { padding-inline:16px; font-size:12px; }
  .awz-header .awz-header-inner { grid-template-columns:minmax(0,1fr) auto; gap:0 10px; padding:8px 16px 4px; }
  .awz-header .awz-menu-toggle { grid-column:2; grid-row:1; padding:8px; }
  .awz-header .awz-language-nav { grid-column:1/-1; grid-row:2; justify-content:flex-end; }
  .awz-header .awz-brand img { width:54px; height:38px; }
  .awz-header .awz-brand-copy strong { font-size:13px; }
  .awz-header .awz-brand-copy small { font-size:12px; }
  .awz-header [data-awz-nav]:not([hidden]) { right:16px; max-height:calc(100dvh - 145px); }
  main h1,.hero h1 { font-size:34px; line-height:1.16; margin-bottom:18px; }
  main>section { padding-block:38px; }
  .hero { background:linear-gradient(180deg,#f6eedf 0 72%,#e7eee8 72%); }
  .hero-copy { padding-left:18px; }
  .hero .hero-intro { font-size:17px; }
  main .hero-figure.awz-image-wrap { height:220px!important; border-width:5px; border-radius:62px 62px 7px 7px; }
  .hero-actions.village-routes { grid-template-columns:minmax(0,1fr); }
  .village-route { min-height:104px; padding:18px; border-right:0; border-bottom:1px solid var(--line); }
  .village-route:last-child { border-bottom:0; }
  .village-route strong { font-size:18px; }
  .region-path article { grid-template-columns:40px minmax(0,1fr); gap:4px 13px; }
  .region-path::before { left:17px; }
  .region-path article::before { margin-left:9px; }
  .roofline { grid-template-columns:minmax(0,1fr); }
  .roofline article { padding:24px 0; border-right:0; border-bottom:1px solid #cbbda6; }
  .roofline article:last-child { border-bottom:0; }
  .roofline h3 { min-height:0; }
  main .owner-figure.awz-image-wrap { border-radius:8px 52px 8px 52px; box-shadow:-6px 6px 0 #cad8d0; }
  main .buyer-figure.awz-image-wrap { border-radius:52px 8px 52px 8px; }
  .buyer-figure figcaption { right:28px; bottom:12px; max-width:calc(100% - 42px); }
  .awz-introduction,.awz-business-inquiry { padding-inline:16px; }
  .awz-intents { grid-template-columns:minmax(0,1fr); }
  .awz-intents label { min-height:50px; }
  .awz-business-inquiry-inner>h2 { font-size:30px; }
  .awz-business-grid .awz-pilot-form,.awz-business-grid .awz-contact,#contact-form.awz-pilot-form { padding:22px 18px; }
  #contact-form.awz-pilot-form::before { left:18px; width:104px; }
  .awz-contact address a { font-size:17px; }
}
@media(max-width:350px) {
  main h1,.hero h1 { font-size:32px; }
  main .hero-figure.awz-image-wrap { height:210px!important; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
