  /* Subpages share the homepage's world: Fraunces display italics, Manrope text, paper/ink/brass/scrim, photo-led dark bands. */
  :root { --paper:#faf6ee; --paper-soft:#f0e6d2; --ink:#241c14; --stone:#7d6f5b; --cream:#f3ead9; --scrim:#1b1611; --brass:#b3854f; --brass-soft:#c9a274; --teal:#2f4f46; --line:rgba(36,28,20,.12); --line-dark:rgba(243,234,217,.14); }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.75 Manrope, system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
  ::selection { background:var(--brass); color:var(--cream); }
  a { color:var(--teal); text-underline-offset:3px; }
  img { max-width:100%; }
  .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }

  /* Header: same bar as the homepage, floating over the photo */
  header { position:absolute; inset:0 0 auto 0; z-index:10; }
  header .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:22px; padding-bottom:22px; }
  .brand { font:400 19px/1.2 Fraunces, serif; letter-spacing:.02em; color:var(--cream); text-decoration:none; white-space:nowrap; }
  nav { display:flex; gap:30px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
  nav a { color:rgba(243,234,217,.72); text-decoration:none; white-space:nowrap; transition:color .2s ease-out; }
  nav a:hover, nav a[aria-current] { color:var(--brass-soft); }

  /* Hero: full-bleed developer render under a warm dark gradient */
  .hero { position:relative; min-height:78vh; display:flex; align-items:flex-end; color:var(--cream); background:var(--scrim) var(--photo) center/cover no-repeat; isolation:isolate; }
  .hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(27,22,17,.62) 0%, rgba(27,22,17,.25) 35%, rgba(27,22,17,.88) 100%); }
  .hero .wrap { width:100%; padding-top:140px; padding-bottom:72px; }
  .eyebrow { color:var(--brass-soft); font-size:11px; letter-spacing:.32em; text-transform:uppercase; margin:0 0 18px; }
  h1 { font:italic 400 clamp(38px,6.2vw,76px)/1.04 Fraunces, serif; letter-spacing:-.01em; margin:0 0 26px; max-width:15ch; color:var(--cream); }
  .lead { font-size:17px; line-height:1.75; max-width:640px; margin:0; color:rgba(243,234,217,.82); }

  /* Key figures: dark band like the homepage story section */
  .band { background:var(--scrim); color:var(--cream); }
  .facts { display:grid; grid-template-columns:repeat(4,1fr); }
  .facts div { padding:38px 28px 40px 0; border-left:1px solid var(--line-dark); padding-left:28px; }
  .facts div:first-child { border-left:0; padding-left:0; }
  .facts b { display:block; font:italic 400 clamp(30px,3.4vw,44px)/1.05 Fraunces, serif; color:var(--cream); margin-bottom:10px; }
  .facts span { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(243,234,217,.6); }

  /* Body sections */
  main { padding-top:24px; padding-bottom:40px; }
  h2 { font:italic 400 clamp(30px,3.8vw,46px)/1.12 Fraunces, serif; color:var(--ink); margin:104px 0 22px; max-width:22ch; }
  h2::before { content:""; display:block; width:44px; height:1px; background:var(--brass); margin-bottom:26px; }
  main > p, main > ul { max-width:720px; color:#3a3026; }
  main > ul { padding-left:20px; }
  main > ul li { margin:6px 0; }
  .note { font-size:14px; color:var(--stone); margin-top:16px; max-width:760px; }

  /* Tables: hairline rows, no boxes */
  .tablewrap { overflow-x:auto; border-top:1px solid var(--ink); margin-top:8px; }
  table { border-collapse:collapse; width:100%; font-size:15px; }
  th, td { text-align:left; padding:15px 18px 15px 0; border-bottom:1px solid var(--line); vertical-align:top; }
  th { font-weight:600; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--stone); }
  td:first-child { font-weight:600; }
  tr.group td { font:italic 400 21px/1.3 Fraunces, serif; color:var(--brass); padding-top:30px; border-bottom-color:var(--line); }
  .tablewrap.wide table { min-width:720px; }
  .tablewrap.wide th, .tablewrap.wide td { white-space:nowrap; }

  /* Floor plan cards: big plan, text alongside, alternating */
  .cards { display:flex; flex-direction:column; gap:72px; margin-top:12px; }
  .card { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:56px; align-items:center; }
  .card:nth-child(even) img { order:2; }
  .card img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:var(--paper-soft); box-shadow:0 30px 60px -40px rgba(36,28,20,.45); }
  .card h3 { font:italic 400 36px/1.1 Fraunces, serif; color:var(--ink); margin:0 0 10px; }
  .card .spec { color:var(--brass); font-size:11px; letter-spacing:.22em; text-transform:uppercase; margin:0 0 20px; }
  .card ul { margin:0; padding-left:18px; color:#3a3026; }
  .card li { margin:6px 0; }
  .fit { margin:22px 0 0; padding-top:20px; border-top:1px solid var(--line); font-size:15px; color:#3a3026; }
  .fit b { color:var(--ink); font-weight:600; }

  /* Comparisons and boxes */
  .compare { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:8px; background:var(--scrim); }
  .compare div { background:var(--scrim); color:rgba(243,234,217,.8); padding:40px 40px 44px; }
  .compare div + div { border-left:1px solid var(--line-dark); }
  .compare h3 { font:italic 400 26px/1.2 Fraunces, serif; color:var(--cream); margin:0 0 14px; }
  .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:8px; }
  .box { border-top:1px solid var(--ink); padding-top:22px; }
  .box h3 { font:italic 400 26px/1.2 Fraunces, serif; color:var(--ink); margin:0 0 10px; }
  .box p { color:var(--stone); font-size:15px; margin:0 0 12px; }
  .box ul { margin:0; padding-left:18px; color:#3a3026; }
  .box li { margin:5px 0; }

  /* FAQ */
  .qa { border-top:1px solid var(--line); padding:26px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:40px; }
  .qa:last-child { border-bottom:1px solid var(--line); }
  .qa h3 { font:italic 400 23px/1.3 Fraunces, serif; color:var(--ink); margin:0; }
  .qa p { margin:0; color:#3a3026; }

  /* Closing band: photo, brass button like the homepage Enquire */
  .cta { position:relative; color:var(--cream); background:var(--scrim) url('/images/og-share.jpg') center/cover no-repeat; isolation:isolate; margin-top:96px; }
  .cta::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(27,22,17,.78); }
  .cta .wrap { display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap; padding-top:110px; padding-bottom:110px; }
  .cta p { margin:0; font:italic 400 clamp(28px,3.4vw,42px)/1.18 Fraunces, serif; max-width:620px; }
  .btn { border:1px solid var(--brass); color:var(--cream); text-decoration:none; padding:16px 30px; letter-spacing:.2em; text-transform:uppercase; font-size:11px; font-weight:600; transition:background .2s ease-out, color .2s ease-out; }
  .btn:hover { background:var(--brass); color:var(--scrim); }
  footer { background:var(--scrim); color:rgba(243,234,217,.55); font-size:12px; padding:28px 0 40px; border-top:1px solid var(--line-dark); }

  @media (max-width:900px) {
    .card, .card:nth-child(even) { grid-template-columns:1fr; gap:24px; }
    .card:nth-child(even) img { order:0; }
    .grid3 { grid-template-columns:1fr; gap:32px; }
    .qa { grid-template-columns:1fr; gap:8px; }
  }
  @media (max-width:760px) {
    header .wrap { flex-direction:column; align-items:flex-start; gap:12px; padding-top:16px; }
    nav { gap:20px; overflow-x:auto; max-width:100%; padding-bottom:4px; scrollbar-width:none; }
    nav::-webkit-scrollbar { display:none; }
    .hero { min-height:88vh; }
    .hero .wrap { padding-top:150px; padding-bottom:48px; }
    .facts { grid-template-columns:1fr 1fr; }
    .facts div, .facts div:first-child { padding:26px 16px 28px 0; border-left:0; border-top:1px solid var(--line-dark); }
    .facts div:nth-child(even) { padding-left:16px; border-left:1px solid var(--line-dark); }
    .facts div:nth-child(-n+2) { border-top:0; }
    h2 { margin-top:76px; }
    .compare { grid-template-columns:1fr; }
    .compare div + div { border-left:0; border-top:1px solid var(--line-dark); }
    .compare div { padding:30px 24px; }
    .cta .wrap { padding-top:80px; padding-bottom:80px; }
  }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
