/*
Theme Name: Elena Wyman, Realtor
Theme URI: https://www.realtorelena.com/
Author: Elena Wyman, Realtor and Mortgage Broker — Emerald Key Realty and Mortgage Inc
Author URI: https://www.realtorelena.com/
Description: Elegant luxury theme for Elena Wyman, Realtor and Mortgage Broker. Blush, charcoal and soft rose-gold; squarish buttons; hero slideshow with cutout portrait; English and Russian landing pages; sold-property showcase; consultation call-to-action. Built from the approved 2026-10-21 design.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elena-wyman-realtor
Tags: custom-menu, featured-images, translation-ready
*/
:root {
        --bg: #fdf8f6;
        --bg-soft: #f7eae7;
        --surface: #ffffff;
        --ink: #2e2b30;
        --ink-soft: #6e666c;
        --charcoal: #35323a;
        --charcoal-deep: #232127;
        --rose: #a85d6a;
        --rose-deep: #8e4957;
        --rose-soft: #f3d9dc;
        --line: #e9dbd8;
        --sold-red: #c8102e;
        --on-dark: #faf3f1;
        --on-dark-soft: #d8ccd0;
        --radius: 14px;
        --shadow: 0 18px 40px rgba(46, 40, 46, 0.14);
      }
      @media (prefers-color-scheme: dark) {
        :root {
          --bg: #161417;
          --bg-soft: #1e1b20;
          --surface: #262228;
          --ink: #f1e9e7;
          --ink-soft: #bcaeb2;
          --charcoal: #6f6873;
          --charcoal-deep: #121013;
          --rose: #d29ca6;
          --rose-deep: #e3b3bd;
          --rose-soft: #eed3d8;
          --line: #3a353c;
          --on-dark: #faf3f1;
          --on-dark-soft: #cfc3c7;
          --shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
        }
      }
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Jost", "Avenir Next", "Segoe UI", sans-serif;
        font-size: 17px;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
      }
      img { max-width: 100%; display: block; }
      a { color: var(--charcoal); }
      h1, h2, h3, .serif { font-family: "Cormorant Garamond", Georgia, serif; }
      h1 { font-size: clamp(2.4rem, 5.2vw, 3.9rem); line-height: 1.05; font-weight: 600; margin: 0 0 1rem; letter-spacing: 0.01em; }
      h2 { font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.1; font-weight: 600; margin: 0 0 0.9rem; }
      h3 { font-size: 1.45rem; font-weight: 600; margin: 0 0 0.5rem; }
      p { margin: 0 0 1rem; }
      .wrap { width: min(1180px, 92vw); margin: 0 auto; }
      .kicker {
        font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase;
        color: var(--rose); font-weight: 600; margin: 0 0 0.7rem;
        display: flex; align-items: center; gap: 0.7rem;
      }
      .kicker::before { content: ""; width: 34px; height: 1px; background: var(--rose); }
      .kicker.center { justify-content: center; }
      .kicker.center::after { content: ""; width: 34px; height: 1px; background: var(--rose); }
      .btn {
        display: inline-block; padding: 0.85rem 1.7rem; border-radius: 2px;
        font-family: "Jost", sans-serif; font-size: 0.98rem; font-weight: 600; letter-spacing: 0.04em;
        text-decoration: none; cursor: pointer; border: 1px solid transparent; transition: transform 0.15s ease, background 0.15s ease;
      }
      .btn:active { transform: scale(0.98); }
      .btn-solid { background: var(--charcoal); color: #fff; }
      .btn-solid:hover { background: var(--charcoal-deep); }
      .btn-rose { background: var(--rose); color: #fff; }
      .btn-rose:hover { filter: brightness(1.07); }
      .btn-outline { border-color: var(--charcoal); color: var(--charcoal); background: transparent; }
      .btn-outline:hover { background: var(--charcoal); color: #fff; }
      .btn-light { border-color: rgba(255,255,255,0.75); color: #fff; background: transparent; }
      .btn-light:hover { background: #fff; color: var(--charcoal-deep); }

      /* ---------- Header ---------- */
      header.site {
        position: sticky; top: 0; z-index: 50;
        background: color-mix(in srgb, var(--bg) 92%, transparent);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--line);
      }
      .header-in { display: flex; align-items: center; gap: 1.4rem; padding: 0.7rem 0; }
      .brand { text-decoration: none; color: var(--ink); line-height: 1.1; flex-shrink: 0; }
      .brand .name { font-family: "Cormorant Garamond", serif; font-size: 2.05rem; font-weight: 700; letter-spacing: 0.06em; }
      .brand .sub { font-size: 0.88rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--rose-deep); font-weight: 700; }
      nav.main { margin-left: auto; display: flex; gap: 1.05rem; align-items: center; }
      nav.main a {
        text-decoration: none; color: var(--ink); font-size: 1.07rem; font-weight: 600; letter-spacing: 0.03em;
        padding: 0.3rem 0; border-bottom: 2px solid transparent;
      }
      nav.main a:hover, nav.main a.active { color: var(--charcoal); border-bottom-color: var(--rose); }
      nav.main a.btn-solid { color: #fff; white-space: nowrap; border-bottom: none; padding: 0.75rem 1.55rem; font-size: 1.03rem; flex-shrink: 0; }
      nav.main a.btn-solid:hover { color: #fff; background: var(--charcoal-deep); }
      .header-phones { text-align: right; font-size: 1rem; line-height: 1.3; flex-shrink: 0; }
      .header-phones a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 1.32rem; letter-spacing: 0.01em; display: block; }

      /* ---------- Header cat (Fiona): home pages only, desktop only ----------
         Own full-width row below the nav row, inside the sticky header, so
         she strolls along the bottom of the nav frame without ever covering
         the brand, links or phone number. Rendered only on the two home
         pages (see header.php / header-ru.php); hidden on phones and for
         reduced-motion visitors. Pace ~13 px/s at typical desktop widths;
         off-screen pauses are exactly 5s (250s loop, 2% per pause). A small
         script in main.js re-measures the strip and keeps the pace exact
         at any window width; without it, this CSS timing still applies. */
      .cat-strip { position: relative; height: 40px; border-top: 1px solid var(--line); overflow: hidden; }
      .nav-cat { position: absolute; bottom: 2px; left: -100px; height: 36px; width: auto; animation: ew-stroll 250s linear infinite; will-change: left, transform; }
      @keyframes ew-stroll {
        0%   { left: -100px; transform: scaleX(-1); }
        48%  { left: calc(100% + 20px); transform: scaleX(-1); }
        50%  { left: calc(100% + 20px); transform: scaleX(1); }
        98%  { left: -100px; transform: scaleX(1); }
        100% { left: -100px; transform: scaleX(-1); }
      }
      .header-phones span { color: var(--rose-deep); font-size: 0.88rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
      .burger { display: none; background: none; border: 1px solid var(--line); border-radius: 2px; padding: 0.5rem 0.7rem; font-size: 1.1rem; color: var(--ink); cursor: pointer; margin-left: auto; }

      /* ---------- Hero ---------- */
      .hero { position: relative; overflow: hidden; background: #241f28; }
      .hero-slides { position: absolute; inset: 0; }
      .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; opacity: 0; transition: opacity 1.8s ease-in-out; }
      .hero-slide.is-active { opacity: 1; }
      .hero-slides .hero-slide:nth-child(1) { object-position: center 56%; }
      .hero-slides .hero-slide:nth-child(5) { object-position: center 58%; }
      /* Silicon Valley slide, flipped: the mansion sits on the right of the
         photo, where the frosted panel covers it; mirrored, it stands behind
         Elena's figure on the left and the tree-lined street falls behind the
         panel instead. Horizontal bias keeps the house in frame at widths
         where cover crops the sides. */
      .hero-slides .hero-slide:nth-child(4) { transform: scaleX(-1); object-position: 32% 48%; }
      .hero-shade { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(28, 22, 30, 0.34) 0%, rgba(28, 22, 30, 0.06) 46%, rgba(74, 40, 48, 0.2) 100%); }
      .hero-in { position: relative; display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 2.6rem; align-items: end; padding: 1.6rem 0 0; }
      .hero-cutout { line-height: 0; }
      .hero-cutout img { width: 100%; max-width: 520px; height: auto; margin: 0 auto; filter: drop-shadow(0 20px 28px rgba(18, 12, 18, 0.45)); }
      .hero-panel {
        align-self: center; margin-bottom: 2rem; color: #2e2b30;
        background: rgba(253, 247, 245, 0.62);
        -webkit-backdrop-filter: blur(12px) saturate(1.15);
        backdrop-filter: blur(12px) saturate(1.15);
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: calc(var(--radius) + 4px);
        box-shadow: 0 24px 50px rgba(24, 18, 24, 0.3);
        padding: 2.4rem 2.5rem 2.1rem;
      }
      .hero-panel .kicker { color: #8f3e4e; }
      .hero-panel .kicker::before { background: #8f3e4e; }
      .hero-panel .hero-areas { font-size: 0.76rem; letter-spacing: 0.15em; flex-wrap: wrap; column-gap: 0.5rem; row-gap: 0.2rem; }
      .hero-panel .hero-areas::before { display: none; }
      .hero-areas .ha { white-space: nowrap; }
      .hero-areas .ha-sep { margin-left: 0.5rem; }
      .hero-panel h1 em { font-style: italic; color: #a85d6a; }
      .hero-panel p.lede { font-size: 1.13rem; color: #3d343d; }
      .hero-panel p.lede strong { color: #2e2b30; }
      .hero-panel .btn-rose { background: #a85d6a; }
      .hero-panel .btn-rose:hover { background: #96525f; }
      .hero-panel .btn-outline { border-color: #35323a; color: #35323a; }
      .hero-panel .btn-outline:hover { background: #35323a; color: #fff; }
      .hero-ctas { display: flex; gap: 0.9rem; flex-wrap: wrap; margin: 1.6rem 0 1.1rem; }
      .hero-contact { display: flex; flex-wrap: wrap; gap: 0.45rem 1.7rem; margin: 0 0 1.7rem; font-size: 1.13rem; }
      .hero-contact a { color: #2e2b30; text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 0.55rem; }
      .hero-contact a:hover { color: #a85d6a; text-decoration: underline; }
      .hero-contact svg { width: 19px; height: 19px; flex-shrink: 0; fill: #a85d6a; }
      .hero-stats { display: flex; gap: 2.4rem; flex-wrap: wrap; }
      .hero-stats .num { font-family: "Cormorant Garamond", serif; font-size: 2rem; font-weight: 700; color: var(--ink); line-height: 1; }
      .hero-stats .lbl { font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); margin-top: 0.35rem; }
      .hero-panel .hero-stats .num { color: #2e2b30; }
      .hero-panel .hero-stats .lbl { color: #372f3a; }
      .hero-byline { margin: 1.3rem 0 0; font-size: 0.92rem; color: #5d565e; border-top: 1px solid rgba(46, 40, 46, 0.22); padding-top: 1.1rem; }
      .hero-byline b { color: #2e2b30; font-weight: 600; }

      /* ---------- Sections ---------- */
      section.block { padding: 4.6rem 0; }

      /* Full-width photo breaks */
      .photo-break { line-height: 0; }
      .photo-break img { width: 100%; height: clamp(220px, 30vw, 380px); object-fit: cover; object-position: center; }
      section.block.alt { background: var(--bg-soft); }
      .sec-head { max-width: 44rem; margin-bottom: 2.4rem; }
      .sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
      .sec-head p { color: var(--ink-soft); font-size: 1.06rem; }

      /* Services */
      .services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
      .svc {
        background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
        padding: 2rem 1.8rem; text-decoration: none; color: var(--ink); display: block;
      }
      .svc:hover { border-color: var(--rose); }
      .svc .mark { font-family: "Cormorant Garamond", serif; font-size: 2rem; color: var(--rose); line-height: 1; }
      .svc h3 { letter-spacing: 0.05em; margin-top: 0.8rem; }
      .svc p { color: var(--ink-soft); font-size: 0.99rem; }
      .svc .go { color: var(--charcoal); font-weight: 600; font-size: 0.92rem; letter-spacing: 0.04em; }

      /* About */
      .about-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 3rem; align-items: start; }
      .about-photo { position: relative; }
      .about-photo img { border-radius: var(--radius); width: 100%; aspect-ratio: 1 / 1.02; object-fit: cover; box-shadow: var(--shadow); }
      .about-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; margin-top: 0.9rem; }
      .badge {
        background: var(--charcoal); color: #fff; border-radius: 12px; padding: 1rem 0.6rem; text-align: center;
      }
      .badge .n { font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 700; line-height: 1; }
      .badge .t { font-size: 0.76rem; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 0.3rem; color: var(--rose-soft); }
      .about-copy p { color: var(--ink-soft); }
      .about-copy p strong { color: var(--ink); }
      .signature { margin-top: 1.4rem; border-top: 1px solid var(--line); padding-top: 1.2rem; }
      .signature .who { font-family: "Cormorant Garamond", serif; font-size: 1.4rem; font-weight: 700; }
      .signature .role { color: var(--rose); font-size: 0.85rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; }
      .contact-lines { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: 0.45rem; font-size: 1rem; }
      .contact-lines a { color: var(--ink); text-decoration: none; font-weight: 600; }
      .contact-lines a:hover { color: var(--charcoal); }
      .contact-lines .lbl { color: var(--ink-soft); font-weight: 400; display: inline-block; min-width: 3.4rem; font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; }

      /* Meet Elena */
      .meet { background: var(--surface); border: 1px solid var(--line); border-radius: calc(var(--radius) + 8px); overflow: hidden; display: grid; grid-template-columns: 1.08fr 0.92fr; }
      .meet img { width: 100%; height: 100%; object-fit: cover; object-position: top center; min-height: 340px; }
      .meet .txt { padding: 2.8rem; align-self: center; }
      .meet .txt p { color: var(--ink-soft); }
      .meet .txt p strong { color: var(--ink); }
      .meet-facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.3rem 0 1.7rem; }
      .meet-facts span { border: 1px solid var(--rose); color: var(--rose); border-radius: 2px; padding: 0.32rem 0.75rem; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.03em; white-space: nowrap; }
      .meet .cats { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 1.22rem; color: var(--ink); margin: 0; }

      /* About Elena: broker subline + personal sub-block */
      .about-copy p.cred-line { color: var(--rose); font-weight: 600; font-size: 1.04rem; letter-spacing: 0.02em; margin: -0.35rem 0 1.15rem; }
      .about-copy p.subhead-line { color: var(--rose); font-weight: 600; font-size: 1.04rem; letter-spacing: 0.02em; margin: 0 0 1.15rem; }
      .personal-block { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 3rem; align-items: start; margin-top: 3rem; }
      .personal-photo img { border-radius: var(--radius); width: 100%; aspect-ratio: 1 / 1.02; object-fit: cover; box-shadow: var(--shadow); }
      .personal-block .cats-line { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 1.22rem; color: var(--ink); margin: 0; }

      /* Sold */
      .sold-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 2.6rem; align-items: center; margin-bottom: 2.6rem; }
      .sold-feature img { border-radius: var(--radius); box-shadow: var(--shadow); aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
      .sold-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.3rem; }
      .sold-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
      .sold-card .ph { position: relative; }
      .sold-card .ph img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
      .sold-ribbon {
        position: absolute; top: 0.8rem; left: 0.8rem; background: var(--sold-red); color: #fff;
        font-size: 0.72rem; font-weight: 600; letter-spacing: 0.22em; padding: 0.32rem 0.7rem 0.32rem 0.85rem; border-radius: 6px;
      }
      .sold-card .body { padding: 1.05rem 1.15rem 1.2rem; }
      .sold-card .ph-panel {
        aspect-ratio: 4 / 3; background: var(--charcoal-deep); color: #fff;
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem;
      }
      .sold-card .ph-panel .big { font-family: "Cormorant Garamond", serif; font-size: 2.3rem; font-weight: 700; letter-spacing: 0.24em; padding-left: 0.24em; }
      .sold-card .ph-panel .small { font-size: 0.72rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--rose-soft); }
      .sold-card .ph-panel .rule { width: 44px; height: 1px; background: var(--rose); margin-bottom: 0.4rem; }
      .sold-card .city { font-weight: 600; font-size: 1.02rem; }
      .sold-card .addr { color: var(--ink-soft); font-size: 0.9rem; }
      .sold-card .specs { color: var(--ink-soft); font-size: 0.88rem; margin-top: 0.35rem; }
      .sold-card .price { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; font-weight: 700; color: var(--charcoal); margin-top: 0.3rem; }
      .sold-card .side { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rose); font-weight: 600; }
      .more-sales { margin-top: 2rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 0.4rem 1.4rem; }
      .more-sales .row {
        display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
        padding: 0.85rem 0; border-bottom: 1px solid var(--line); font-size: 0.98rem;
      }
      .more-sales .row:last-child { border-bottom: none; }
      .more-sales .where b { font-weight: 600; }
      .more-sales .where span { color: var(--ink-soft); }
      .more-sales .amt { font-weight: 600; color: var(--charcoal); white-space: nowrap; }
      .sold-foot { text-align: center; margin-top: 2rem; }
      .src-note { font-size: 0.85rem; color: var(--ink-soft); margin-top: 0.9rem; }

      /* Neighborhoods */
      .hoods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
      .hood { border-radius: var(--radius); overflow: hidden; position: relative; min-height: 480px; display: flex; align-items: flex-end; text-decoration: none; }
      .hood img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
      .hood .veil { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26, 22, 27, 0.9) 0%, rgba(26, 22, 27, 0.62) 30%, rgba(26, 22, 27, 0.18) 52%, rgba(26, 22, 27, 0) 68%); }
      .hood .txt { position: relative; padding: 1.15rem 1.3rem 1.25rem; color: #fff; width: 100%; }
      .hood h3 { color: #fff; font-size: 1.5rem; margin-bottom: 0.2rem; text-shadow: 0 1px 10px rgba(20, 15, 20, 0.45); }
      .hood p { color: rgba(255,255,255,0.92); font-size: 0.86rem; line-height: 1.45; margin-bottom: 0.55rem; }
      .hood .hood-note { font-size: 0.78rem; color: rgba(255,255,255,0.92); margin: 0.55rem 0 0; font-style: italic; }
      .chips { display: flex; flex-wrap: wrap; gap: 0.3rem; }
      .chips span { border: 1px solid rgba(255,255,255,0.45); border-radius: 999px; padding: 0.08rem 0.52rem; font-size: 0.69rem; letter-spacing: 0.02em; white-space: nowrap; background: rgba(26, 22, 27, 0.28); }
      .chips span.more { background: #fff; border-color: #fff; color: #2e2b30; font-weight: 600; }

      /* Why band */
      .why-band { background: var(--charcoal-deep); color: var(--on-dark); border-radius: calc(var(--radius) + 8px); overflow: hidden; display: grid; grid-template-columns: 0.92fr 1.08fr; }
      .why-band img { width: 100%; height: 100%; object-fit: cover; min-height: 340px; }
      .why-band .txt { padding: 2.8rem; }
      .why-band h2 { color: #fff; }
      .why-band p { color: var(--on-dark-soft); }
      .why-points { list-style: none; padding: 0; margin: 1.2rem 0 1.8rem; display: grid; gap: 0.7rem; }
      .why-points li { padding-left: 1.6rem; position: relative; }
      .why-points li::before { content: "◆"; position: absolute; left: 0; color: var(--rose); font-size: 0.7rem; top: 0.35rem; }
      .why-points b { color: #fff; font-weight: 600; }

      /* Testimonials */
      .rating-line { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; margin-bottom: 2rem; }
      .stars { color: var(--rose); letter-spacing: 0.18em; font-size: 1.05rem; }
      .testis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
      .testi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.8rem; display: flex; flex-direction: column; }
      .testi blockquote { margin: 0 0 1.2rem; font-size: 1.02rem; color: var(--ink); flex: 1; }
      .testi .who { border-top: 1px solid var(--line); padding-top: 1rem; }
      .testi .who b { display: block; font-size: 1rem; }
      .testi .who span { color: var(--ink-soft); font-size: 0.87rem; }

      /* FAQ */
      .faqs { display: grid; gap: 1rem; max-width: 56rem; }
      .faq { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem 1.7rem; }
      .faq h3 { font-size: 1.32rem; margin-bottom: 0.4rem; }
      .faq p { color: var(--ink-soft); margin: 0; font-size: 0.99rem; }

      /* CTA */
      .cta { background: var(--bg-soft); }
      .cta-in { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 3rem; align-items: center; }
      .cta h2 { font-size: clamp(2.1rem, 4vw, 3.2rem); }
      .cta-photo img { border-radius: var(--radius); box-shadow: var(--shadow); aspect-ratio: 4 / 4.4; object-fit: cover; object-position: top; width: 100%; }
      form.consult { display: grid; gap: 0.8rem; margin-top: 1.4rem; max-width: 30rem; }
      form.consult input, form.consult select, form.consult textarea {
        font: inherit; font-size: 0.98rem; padding: 0.8rem 1rem; border-radius: 10px;
        border: 1px solid var(--line); background: var(--surface); color: var(--ink); width: 100%;
      }
      form.consult .two { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
      .form-note { font-size: 0.85rem; color: var(--ink-soft); }

      /* Social buttons */
      .socials { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; }
      .social-btn {
        width: 44px; height: 44px; border-radius: 2px; flex-shrink: 0;
        display: inline-flex; align-items: center; justify-content: center;
        border: 1px solid var(--charcoal); color: var(--charcoal); background: transparent;
        text-decoration: none; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
      }
      .social-btn svg { width: 20px; height: 20px; display: block; }
      .social-btn:hover { background: var(--rose); border-color: var(--rose); color: #fff; }
      .social-btn:focus-visible { outline: 2px solid var(--rose); outline-offset: 2px; }
      .cta-social { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.6rem; max-width: 30rem; }
      .cta-social-label { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; color: var(--rose); }
      .foot-social { margin-top: 1.3rem; }
      .foot-social-label { font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; color: var(--rose-soft); margin-bottom: 0.6rem; }
      .socials.on-dark .social-btn { border-color: rgba(255,255,255,0.45); color: #fff; }
      .socials.on-dark .social-btn:hover { background: var(--rose); border-color: var(--rose); color: #fff; }

      /* Subpages */
      .page-hero { background: var(--charcoal-deep); color: var(--on-dark); }
      .page-hero .in { padding: 3.4rem 0; max-width: 46rem; }
      .page-hero h1 { color: #fff; font-size: clamp(2.2rem, 4.4vw, 3.2rem); }
      .page-hero p { color: var(--on-dark-soft); font-size: 1.1rem; }
      .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; counter-reset: step; }
      .step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.8rem; }
      .step .no { font-family: "Cormorant Garamond", serif; font-size: 2.1rem; font-weight: 700; color: var(--rose); line-height: 1; }
      .step p { color: var(--ink-soft); font-size: 0.97rem; margin: 0; }
      .split { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
      .split img { border-radius: var(--radius); box-shadow: var(--shadow); width: 100%; object-fit: cover; }
      .plain-list { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: 0.75rem; }
      .plain-list li { padding-left: 1.6rem; position: relative; color: var(--ink-soft); }
      .plain-list li::before { content: "◆"; position: absolute; left: 0; color: var(--rose); font-size: 0.7rem; top: 0.4rem; }
      .plain-list b { color: var(--ink); font-weight: 600; }
      .loan-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
      .loan { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.7rem; }
      .loan p { color: var(--ink-soft); font-size: 0.97rem; margin: 0; }
      .mini-cta { background: var(--charcoal-deep); color: var(--on-dark); border-radius: calc(var(--radius) + 8px); padding: 2.6rem; text-align: center; }
      .mini-cta h2 { color: #fff; }
      .mini-cta p { color: var(--on-dark-soft); max-width: 36rem; margin: 0 auto 1.5rem; }

      /* Footer */
      footer.site { background: var(--charcoal-deep); color: var(--on-dark); padding: 3.4rem 0 2rem; margin-top: 0; }
      .foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2.6rem; padding-bottom: 2.2rem; border-bottom: 1px solid rgba(255,255,255,0.16); }
      footer.site h3 { color: #fff; font-size: 1.25rem; margin-bottom: 0.8rem; }
      footer.site p, footer.site li { color: var(--on-dark-soft); font-size: 0.95rem; }
      footer.site a { color: #fff; text-decoration: none; }
      footer.site a:hover { color: var(--rose-soft); }
      footer.site ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.45rem; }
      .foot-legal { padding-top: 1.6rem; font-size: 0.83rem; color: var(--on-dark-soft); display: grid; gap: 0.5rem; }
      .foot-legal .foot-privacy a { text-decoration: underline; text-underline-offset: 3px; }
      .foot-brand .name { font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 700; color: #fff; letter-spacing: 0.05em; }
      .foot-brand .sub { font-size: 0.7rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--rose); font-weight: 600; margin-bottom: 1rem; }

      @media (max-width: 1180px) {
        .header-phones { display: none; }
      }
      @media (max-width: 980px) {
        .sold-grid { grid-template-columns: repeat(2, 1fr); }
        .hoods, .testis, .services, .steps { grid-template-columns: 1fr 1fr; }
      }
      @media (max-width: 760px) {
        nav.main {
          display: none; position: absolute; top: 100%; left: 0; right: 0;
          background: var(--bg); border-bottom: 1px solid var(--line);
          flex-direction: column; align-items: stretch; padding: 0.8rem 4vw 1.2rem; gap: 0.2rem;
        }
        nav.main.open { display: flex; }
        nav.main a { padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
        nav.main .btn { margin-top: 0.7rem; text-align: center; }
        .burger { display: block; }
        .header-in { gap: 1rem; }
        .cat-strip { display: none; }
        .brand .name { font-size: 1.95rem; letter-spacing: 0.04em; }
        .brand .sub { font-size: 0.82rem; letter-spacing: 0.16em; }
        header .btn-chat { display: none; }
        .hero-in, .about-grid, .personal-block, .sold-feature, .cta-in, .split, .why-band, .meet { grid-template-columns: 1fr; }
        .meet .txt { padding: 2rem 1.5rem; }
        .meet img { min-height: 0; aspect-ratio: 4 / 3.4; }
        .hero-in { padding: 1.4rem 0 2.2rem; gap: 1.6rem; align-items: start; }
        .hero-cutout img { max-width: 352px; -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent 99%); mask-image: linear-gradient(to bottom, #000 86%, transparent 99%); }
        .hero-panel { margin-bottom: 0; padding: 1.8rem 1.4rem 1.6rem; }
        .sold-grid, .hoods, .testis, .services, .steps, .loan-grid { grid-template-columns: 1fr; }
        .hood { min-height: 340px; }
        .foot-grid { grid-template-columns: 1fr; gap: 1.8rem; }
        .why-band .txt { padding: 2rem 1.5rem; }
        form.consult .two { grid-template-columns: 1fr; }
        section.block { padding: 3.2rem 0; }
      }
      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        * { transition: none !important; }
        .cat-strip { display: none; }
      }

      /* ---------- WordPress additions ---------- */
      .skip-link { position: absolute; left: -9999px; top: 0; background: var(--charcoal); color: #fff; padding: 0.6rem 1rem; z-index: 100; }
      .skip-link:focus { left: 0.5rem; top: 0.5rem; }
      body.admin-bar header.site { top: 32px; }
      @media (max-width: 782px) { body.admin-bar header.site { top: 46px; } }
      nav.main ul { display: flex; gap: 1.05rem; align-items: center; margin: 0; padding: 0; list-style: none; }
      nav.main li { display: flex; }
      nav.main li a { white-space: nowrap; }
      .foot-mark img { height: 64px; width: auto; margin-bottom: 0.8rem; }
      .foot-mark { line-height: 0; }
      .entry-content p { color: var(--ink-soft); }
      .entry-content p strong, .entry-content li b { color: var(--ink); }
      .entry-content img { border-radius: var(--radius); }
      .aligncenter { margin-left: auto; margin-right: auto; }
      /* WPForms consultation form — styled to match the prototype form */
      .wpforms-container { max-width: 30rem; margin-top: 1.4rem; }
      .wpforms-container .wpforms-field { padding: 0 0 0.8rem !important; }
      .wpforms-container input[type="text"], .wpforms-container input[type="email"],
      .wpforms-container input[type="tel"], .wpforms-container select,
      .wpforms-container textarea {
        font: inherit; font-size: 0.98rem; padding: 0.8rem 1rem; border-radius: 10px !important;
        border: 1px solid var(--line) !important; background: var(--surface) !important; color: var(--ink) !important; width: 100%;
      }
      .wpforms-container button[type="submit"], .wpforms-container .wpforms-submit {
        display: inline-block; padding: 0.85rem 1.7rem; border-radius: 2px !important;
        font-family: "Jost", sans-serif; font-size: 0.98rem; font-weight: 600; letter-spacing: 0.04em;
        background: var(--charcoal) !important; color: #fff !important; border: 1px solid transparent !important; cursor: pointer;
      }
      .wpforms-container button[type="submit"]:hover, .wpforms-container .wpforms-submit:hover { background: var(--charcoal-deep) !important; }
      .ew-admin-note { background: var(--bg-soft); border: 1px dashed var(--rose); border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 0.9rem; color: var(--ink-soft); max-width: 30rem; }
      section[id] { scroll-margin-top: 90px; }
      @media (max-width: 760px) {
        nav.main ul { flex-direction: column; align-items: stretch; gap: 0.2rem; padding: 0.8rem 4vw 1.2rem; }
        nav.main li { display: block; }
        nav.main li a { padding: 0.6rem 0; border-bottom: 1px solid var(--line); display: block; }
        nav.main li a.btn { margin-top: 0.7rem; text-align: center; border-bottom: none; }
      }

/* Large contact lines in the Let's Chat block (phone + email, no form) */
.cta-contact-big { font-size: 1.7rem; font-weight: 700; margin: 0.5rem 0; line-height: 1.3; }

/* v1.0.2: slimmer, lighter subpage hero — blush band instead of tall near-black panel */
.page-hero { background: var(--bg-soft); color: var(--ink); }
.page-hero .in { padding: 1.9rem 0; }
.page-hero h1 { color: var(--ink); font-size: clamp(1.9rem, 3.6vw, 2.6rem); }
.page-hero p { color: var(--ink-soft); }

/* v1.0.4: ignore empty paragraphs inside .split (safety net so a stray empty <p> can never occupy a grid cell) */
.split > p:empty { display: none; }

/* v1.0.6: tighten the gap between the subpage hero band and the first content section */
.page-hero + .block { padding-top: 2rem; }
