/* Home Luxx Realty Group - shared header + new-page components.
   Palette & type match the original site (see /_astro/Layout.css). */
:root{
  --hx-primary:#ed751c;--hx-primary-dark:#c95a0e;--hx-primary-light:#ff9140;
  --hx-accent:#e6b35b;--hx-accent-light:#f6d494;
  --hx-ink:#241c12;--hx-ink-soft:#51442f;--hx-ink-muted:#75644a;--hx-ink-faint:#96835f;
  --hx-paper:#fbf6ec;--hx-paper-2:#f5ecdb;--hx-paper-3:#ece0c6;
  --hx-line:#e4d6ba;--hx-line-2:#d3bf97;
  --hx-night:#241a10;--hx-night-2:#2f2415;--hx-night-line:#4a3b26;
  --hx-cream:#f6ecd7;--hx-cream-soft:#d9c9a8;
  --hx-display:"Fraunces",Georgia,serif;--hx-body:"Manrope","Segoe UI",system-ui,sans-serif;
}
.hlx-wrap{max-width:80rem;margin:0 auto;padding:0 1.25rem}
.hlx-ic{width:1.1em;height:1.1em;flex:none;display:inline-block;vertical-align:-.15em}
.hlx-ic--sm{width:.9em;height:.9em}
.hlx-hide-md{display:none}
@media (min-width:900px){.hlx-hide-md{display:inline}}

/* ---------- Header ---------- */
.hlx-nav-wrap{position:relative;z-index:50}
.hlx-topbar{background:var(--hx-night);color:var(--hx-cream-soft);font-size:13px;border-bottom:1px solid var(--hx-night-line);display:none}
@media (min-width:640px){.hlx-topbar{display:block}}
.hlx-topbar__in{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;padding-bottom:.5rem;gap:1rem}
.hlx-topbar a{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none;transition:color .15s}
.hlx-topbar a:hover{color:var(--hx-cream)}
.hlx-topbar .hlx-ic{color:var(--hx-accent)}
.hlx-topbar__l,.hlx-topbar__r{display:flex;align-items:center;gap:1.25rem}
.hlx-topbar__r span:first-child{display:none}
@media (min-width:1180px){.hlx-topbar__r span:first-child{display:inline;color:var(--hx-accent-light);letter-spacing:.02em}}
.hlx-header{position:relative;background:var(--hx-paper);border-bottom:1px solid var(--hx-line)}
.hlx-header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}
.hlx-logo img{height:44px;width:auto;display:block}
.hlx-links{display:none;align-items:center;gap:.15rem}
.hlx-links>a:not(.hlx-btn),.hlx-drop>button{font:600 .875rem/1 var(--hx-body);color:var(--hx-ink-soft);background:none;border:0;padding:.65rem .8rem;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;transition:background .15s,color .15s;white-space:nowrap}
.hlx-links>a:not(.hlx-btn):hover,.hlx-drop>button:hover,.hlx-drop.is-open>button,.hlx-links a[aria-current],.hlx-drop.is-current>button{background:var(--hx-paper-2);color:var(--hx-primary)}
.hlx-drop{position:relative}
.hlx-drop>button .hlx-ic{transition:transform .2s}
.hlx-drop.is-open>button .hlx-ic,.hlx-drop:hover>button .hlx-ic{transform:rotate(180deg)}
.hlx-menu{position:absolute;left:50%;top:100%;min-width:15rem;transform:translate(-50%,6px);background:#fff;border:1px solid var(--hx-line);border-radius:1rem;box-shadow:0 20px 45px -15px rgba(36,28,18,.3);padding:.5rem;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s}
.hlx-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.hlx-drop:hover .hlx-menu,.hlx-drop.is-open .hlx-menu,.hlx-drop:focus-within .hlx-menu{opacity:1;visibility:visible;transform:translate(-50%,2px)}
.hlx-menu a{display:block;padding:.6rem .85rem;border-radius:.65rem;font:600 .9rem/1.3 var(--hx-body);color:var(--hx-ink);text-decoration:none}
.hlx-menu a:hover,.hlx-menu a[aria-current]{background:var(--hx-paper-2);color:var(--hx-primary)}
.hlx-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--hx-line-2);background:var(--hx-paper);color:var(--hx-ink);cursor:pointer}
.hlx-burger .hlx-ic{width:22px;height:22px}
@media (min-width:1140px){.hlx-links{display:flex}.hlx-burger{display:none}.hlx-mobile{display:none!important}}
.hlx-mobile{position:absolute;left:0;right:0;top:100%;background:var(--hx-paper);border-bottom:1px solid var(--hx-line);box-shadow:0 30px 50px -20px rgba(36,28,18,.35);max-height:calc(100vh - 70px);overflow:auto;padding:1rem 0 1.5rem}
.hlx-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1rem;margin-bottom:1.25rem}
.hlx-mgroup p{font:700 .7rem/1 var(--hx-body);letter-spacing:.2em;text-transform:uppercase;color:var(--hx-primary);margin:0 0 .5rem}
.hlx-mgroup a{display:block;padding:.4rem 0;font:600 .95rem/1.3 var(--hx-body);color:var(--hx-ink);text-decoration:none}
.hlx-mfoot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--hx-line);font:700 .875rem var(--hx-body)}
.hlx-mfoot a{color:var(--hx-primary);text-decoration:none}

/* ---------- Buttons ---------- */
.hlx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.9rem 1.5rem;font:700 .9rem/1 var(--hx-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s;white-space:nowrap}
.hlx-btn:hover{transform:translateY(-1px)}
.hlx-btn--sm{padding:.7rem 1.2rem;margin-left:.5rem;font-size:.85rem}
.hlx-btn--block{display:flex;width:100%}
.hlx-btn--primary{background:var(--hx-primary);color:#fff;box-shadow:0 10px 25px -8px rgba(237,117,28,.5)}
.hlx-btn--primary:hover{background:var(--hx-primary-dark);color:#fff}
.hlx-btn--dark{background:var(--hx-ink);color:var(--hx-cream)}
.hlx-btn--dark:hover{background:#000;color:#fff}
.hlx-btn--ghost-light{border-color:rgba(255,255,255,.28);color:var(--hx-cream)}
.hlx-btn--ghost-light:hover{border-color:var(--hx-accent);color:var(--hx-accent)}
.hlx-btn--ghost{border-color:var(--hx-line-2);color:var(--hx-ink)}
.hlx-btn--ghost:hover{border-color:var(--hx-primary);color:var(--hx-primary)}

/* ---------- Page sections (new pages) ---------- */
.hlx-sec{padding:4.5rem 0}
@media (min-width:1024px){.hlx-sec{padding:6rem 0}}
.hlx-sec--paper{background:var(--hx-paper)}
.hlx-sec--paper2{background:var(--hx-paper-2);border-top:1px solid var(--hx-line);border-bottom:1px solid var(--hx-line)}
.hlx-sec--night{background:var(--hx-night);color:var(--hx-cream);position:relative;overflow:hidden}
.hlx-sec--night::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#f6ecd721 1px,#0000 1px);background-size:4px 4px;pointer-events:none}
.hlx-sec--night>*{position:relative}
.hlx-glow{position:absolute;width:22rem;height:22rem;border-radius:50%;background:rgba(237,117,28,.22);filter:blur(120px);pointer-events:none}
.hlx-h1{font:600 clamp(2.6rem,5.5vw,4rem)/1.03 var(--hx-display);margin:1.25rem 0 0;color:var(--hx-cream)}
.hlx-h2{font:600 clamp(2rem,4vw,3rem)/1.1 var(--hx-display);margin:1rem 0 0;color:var(--hx-ink)}
.hlx-sec--night .hlx-h2{color:var(--hx-cream)}
.hlx-h3{font:600 1.3rem/1.25 var(--hx-display);margin:1.1rem 0 0;color:var(--hx-ink)}
.hlx-lead{font:400 1.125rem/1.8 var(--hx-body);color:var(--hx-cream-soft);max-width:36rem;margin:1.5rem 0 0}
.hlx-body{font:400 1rem/1.8 var(--hx-body);color:var(--hx-ink-soft);max-width:42rem;margin:1.25rem 0 0}
.hlx-sec--night .hlx-body{color:var(--hx-cream-soft)}
.hlx-small{font:400 .9rem/1.7 var(--hx-body);color:var(--hx-ink-soft);margin:.6rem 0 0}
.hlx-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font:700 .75rem/1 var(--hx-body);letter-spacing:.22em;text-transform:uppercase;color:var(--hx-ink-soft)}
.hlx-eyebrow::before{content:"";width:1.75rem;height:2px;background:var(--hx-primary)}
.hlx-sec--night .hlx-eyebrow,.hlx-eyebrow--gold{color:var(--hx-accent-light)}
.hlx-sec--night .hlx-eyebrow::before,.hlx-eyebrow--gold::before{background:var(--hx-accent)}
.hlx-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hlx-hero{display:grid;gap:3rem;align-items:center;padding-top:3.5rem;padding-bottom:4rem}
@media (min-width:1024px){.hlx-hero{grid-template-columns:1.1fr .9fr;padding-top:5rem;padding-bottom:6rem}}
.hlx-grid{display:grid;gap:1.5rem;margin-top:3rem}
@media (min-width:640px){.hlx-grid--2,.hlx-grid--3,.hlx-grid--4{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.hlx-grid--3{grid-template-columns:repeat(3,1fr)}.hlx-grid--4{grid-template-columns:repeat(4,1fr)}}
.hlx-card{background:var(--hx-paper);border:1px solid var(--hx-line);border-radius:1.25rem;padding:1.9rem;transition:transform .2s,box-shadow .2s}
.hlx-sec--paper .hlx-card{background:var(--hx-paper-2)}
.hlx-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -24px rgba(36,28,18,.35)}
.hlx-iconbub{width:3rem;height:3rem;border-radius:999px;background:var(--hx-paper-3);color:var(--hx-primary);display:flex;align-items:center;justify-content:center}
.hlx-iconbub .hlx-ic{width:1.4rem;height:1.4rem}
.hlx-ticks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.55rem}
.hlx-ticks li{display:flex;gap:.6rem;font:500 .9rem/1.55 var(--hx-body);color:var(--hx-ink-soft)}
.hlx-ticks .hlx-ic{color:var(--hx-primary);margin-top:.2rem}
.hlx-sec--night .hlx-ticks li{color:var(--hx-cream-soft)}
.hlx-sec--night .hlx-ticks .hlx-ic{color:var(--hx-accent)}

/* Feature cards (dark / orange like the original "Two skills" cards) */
.hlx-fcard{border-radius:1.75rem;padding:2.25rem;position:relative;overflow:hidden}
.hlx-fcard--night{background:var(--hx-night-2);color:var(--hx-cream)}
.hlx-fcard--orange{background:linear-gradient(135deg,var(--hx-primary),#f08a3a);color:#fff}
.hlx-fcard__num{font:italic 500 3rem/1 var(--hx-display);color:var(--hx-primary-light)}
.hlx-fcard--orange .hlx-fcard__num{color:#fff}
.hlx-fcard h3{font:600 1.6rem/1.2 var(--hx-display);margin:1.25rem 0 0}
.hlx-fcard p{font:400 .95rem/1.75 var(--hx-body);opacity:.85;margin:.9rem 0 0}

/* Steps */
.hlx-steps{counter-reset:s;display:grid;gap:1.25rem;margin-top:3rem}
@media (min-width:900px){.hlx-steps{grid-template-columns:repeat(4,1fr)}}
.hlx-step{border-top:2px solid var(--hx-night-line);padding-top:1.5rem}
.hlx-step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:italic 500 2.2rem/1 var(--hx-display);color:var(--hx-accent)}
.hlx-step h3{font:600 1.2rem/1.3 var(--hx-display);color:var(--hx-cream);margin:.9rem 0 0}
.hlx-step p{font:400 .92rem/1.7 var(--hx-body);color:var(--hx-cream-soft);margin:.5rem 0 0}

/* Chips */
.hlx-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem}
.hlx-chip{border:1px solid var(--hx-line-2);background:var(--hx-paper);border-radius:999px;padding:.5rem 1rem;font:600 .85rem var(--hx-body);color:var(--hx-ink-soft)}
.hlx-sec--night .hlx-chip{background:transparent;border-color:var(--hx-night-line);color:var(--hx-cream-soft)}

/* Styled commercial graphic (not a photo of any property) */
.hlx-art{position:relative;border-radius:2rem;overflow:hidden;aspect-ratio:4/3.3;background:linear-gradient(160deg,#3a2b18 0%,#241a10 55%,#1b130b 100%);border:4px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.hlx-art svg{position:absolute;inset:0;width:100%;height:100%}
.hlx-art__tag{position:absolute;left:1.25rem;top:1.25rem;background:var(--hx-primary);color:#fff;border-radius:999px;padding:.45rem .9rem;font:700 .7rem/1 var(--hx-body);letter-spacing:.14em;text-transform:uppercase}
.hlx-art__cap{text-shadow:0 2px 12px rgba(0,0,0,.6);position:absolute;left:1.5rem;right:1.5rem;bottom:1.4rem;color:var(--hx-cream);font:500 1.35rem/1.3 var(--hx-display)}
.hlx-art__cap small{display:block;margin-top:.35rem;font:600 .72rem/1.4 var(--hx-body);letter-spacing:.16em;text-transform:uppercase;color:var(--hx-accent-light)}

/* Listings grid */
.hlx-listings{display:grid;gap:1.5rem;margin-top:2.5rem}
@media (min-width:640px){.hlx-listings{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.hlx-listings{grid-template-columns:repeat(3,1fr)}}
.hlx-listing{background:#fff;border:1px solid var(--hx-line);border-radius:1.25rem;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.hlx-listing:hover{transform:translateY(-3px);box-shadow:0 24px 40px -24px rgba(36,28,18,.4)}
.hlx-listing__media{position:relative;aspect-ratio:4/3;background:var(--hx-paper-3)}
.hlx-listing__media img{width:100%;height:100%;object-fit:cover;display:block}
.hlx-listing__badge{position:absolute;left:.9rem;top:.9rem;background:var(--hx-primary);color:#fff;border-radius:999px;padding:.35rem .75rem;font:700 .7rem/1 var(--hx-body);letter-spacing:.1em;text-transform:uppercase}
.hlx-listing__body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.hlx-listing__price{font:600 1.5rem/1.2 var(--hx-display);color:var(--hx-ink)}
.hlx-listing__addr{font:600 .95rem/1.4 var(--hx-body);color:var(--hx-ink)}
.hlx-listing__meta{font:500 .85rem/1.5 var(--hx-body);color:var(--hx-ink-muted)}
.hlx-listing__link{margin-top:auto;padding-top:.8rem;font:700 .85rem var(--hx-body);color:var(--hx-primary);text-decoration:none}
.hlx-empty{grid-column:1/-1;text-align:center;border:2px dashed var(--hx-line-2);border-radius:1.75rem;background:var(--hx-paper);padding:3.5rem 1.5rem}
.hlx-empty .hlx-iconbub{margin:0 auto;width:4rem;height:4rem}
.hlx-empty .hlx-iconbub .hlx-ic{width:1.8rem;height:1.8rem}
.hlx-empty h2{font:600 clamp(1.6rem,3vw,2.2rem)/1.2 var(--hx-display);color:var(--hx-ink);margin:1.25rem 0 0}
.hlx-empty p{font:400 1rem/1.75 var(--hx-body);color:var(--hx-ink-soft);max-width:34rem;margin:.75rem auto 0}
.hlx-empty .hlx-actions{justify-content:center}

/* Forms */
.hlx-formcard{background:var(--hx-paper);border:1px solid var(--hx-line);border-radius:1.75rem;padding:2rem;box-shadow:0 30px 60px -35px rgba(36,28,18,.35);color:var(--hx-ink)}
@media (min-width:640px){.hlx-formcard{padding:2.5rem}}
.hlx-form{display:grid;gap:1rem;margin-top:1.5rem}
@media (min-width:640px){.hlx-form .hlx-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}
.hlx-form label{display:block;font:700 .8rem/1 var(--hx-body);color:var(--hx-ink-soft);margin-bottom:.45rem}
.hlx-form input,.hlx-form select,.hlx-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--hx-line-2);background:#fff;border-radius:.8rem;padding:.85rem 1rem;font:500 .95rem var(--hx-body);color:var(--hx-ink)}
.hlx-form input:focus,.hlx-form select:focus,.hlx-form textarea:focus{outline:2px solid var(--hx-primary);outline-offset:1px;border-color:var(--hx-primary)}
.hlx-form .hlx-2col>div+div{margin-top:1rem}
@media (min-width:640px){.hlx-form .hlx-2col>div+div{margin-top:0}}
.hlx-note{font:500 .8rem/1.6 var(--hx-body);color:var(--hx-ink-muted)}
.hlx-ok{background:var(--hx-paper-2);border-radius:1rem;padding:1.5rem;margin-top:1.5rem;font:500 .95rem/1.7 var(--hx-body)}
.hlx-err{color:#b42318;font:600 .9rem var(--hx-body)}
.hlx-split{display:grid;gap:3rem;align-items:start}
@media (min-width:1024px){.hlx-split{grid-template-columns:1fr 1fr;gap:4rem}}
.hlx-contactlist{display:grid;gap:.9rem;margin-top:2rem}
.hlx-contactlist a,.hlx-contactlist span{display:flex;align-items:center;gap:.75rem;font:600 1rem var(--hx-body);color:var(--hx-cream);text-decoration:none}
.hlx-contactlist .hlx-ic{color:var(--hx-accent);width:1.25rem;height:1.25rem}

/* Home teaser */
.hlx-teaser{display:grid;gap:3rem;align-items:center}
@media (min-width:1024px){.hlx-teaser{grid-template-columns:1fr 1fr;gap:4rem}}
.hlx-mini{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2rem}
.hlx-mini div{display:flex;align-items:center;gap:.7rem;border:1px solid var(--hx-line);background:var(--hx-paper);border-radius:1rem;padding:1rem;font:700 .9rem var(--hx-body);color:var(--hx-ink)}
.hlx-mini .hlx-ic{color:var(--hx-primary);width:1.3rem;height:1.3rem}

/* 404 */
.hlx-404{min-height:60vh;display:flex;align-items:center}
.hlx-404 .hlx-num{font:italic 500 clamp(5rem,14vw,9rem)/1 var(--hx-display);color:var(--hx-primary-light)}

@media (max-width:639px){.hlx-art{aspect-ratio:4/4}.hlx-art__cap{font-size:1.1rem}.hlx-mgrid{grid-template-columns:1fr 1fr}}
