/* ============================================================
   BRIGHT LTS MANAGEMENT LLC — Premium Design System
   Architecture: Precision + Luxury Construction
   Palette: Black / Gold / Steel
   Differentiation: Blueprint geometry, measurement aesthetics,
   metallic textures — NO organic curves, NO rasta tones
   ============================================================ */

/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,picture,video,canvas,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none}

/* === DESIGN TOKENS === */
:root{
  /* — Gold Palette (from logo) — */
  --gold:        #C8A84E;
  --gold-light:  #E8D48C;
  --gold-dark:   #8B7530;
  --gold-muted:  #A0925A;
  --gold-glow:   rgba(200,168,78,0.35);
  --gold-subtle: rgba(200,168,78,0.08);

  /* — Neutrals — */
  --black:       #0A0A0A;
  --surface-1:   #111111;
  --surface-2:   #181818;
  --surface-3:   #1E1E1E;
  --charcoal:    #2A2A2A;
  --gray-700:    #444444;
  --gray-500:    #777777;
  --gray-400:    #666666;
  --gray-300:    #555555;
  --gray-200:    #DDDDDD;
  --gray-100:    #EEEEEE;
  --off-white:   #F8F7F4;
  --white:       #FFFFFF;

  /* — Accents — */
  --blueprint:   #1A3A5C;
  --blueprint-line: rgba(26,58,92,0.15);
  --safety-red:  #CC3333;
  --steel-blue:  #4A6580;

  /* — Semantic (light mode defaults) — */
  --bg:          #F8F7F4;
  --bg-alt:      #F0EFE9;
  --bg-elevated: #FFFFFF;
  --text-primary:#0A0A0A;
  --text-secondary:#444444;
  --text-muted:  #5A5A5A;
  --border:      #DDDDDD;
  --border-subtle:#EEEEEE;

  /* — Typography — */
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body:    'Inter', -apple-system, sans-serif;
  --font-tech:    'Space Grotesk', 'SF Mono', monospace;

  --text-xs:   clamp(0.7rem,  0.65rem + 0.25vw, 0.8rem);
  --text-sm:   clamp(0.8rem,  0.75rem + 0.25vw, 0.875rem);
  --text-base: clamp(0.9rem,  0.85rem + 0.25vw, 1rem);
  --text-lg:   clamp(1.05rem, 0.95rem + 0.5vw,  1.2rem);
  --text-xl:   clamp(1.25rem, 1rem + 1.25vw,    1.75rem);
  --text-2xl:  clamp(1.75rem, 1.25rem + 2.5vw,  2.75rem);
  --text-3xl:  clamp(2.25rem, 1.5rem + 3.75vw,  4rem);
  --text-4xl:  clamp(3rem,    1.75rem + 6.25vw,  6rem);
  --text-hero: clamp(3.5rem,  2rem + 7.5vw,     8rem);

  /* — Spacing — */
  --space-3xs: clamp(0.25rem, 0.2rem + 0.25vw,  0.5rem);
  --space-2xs: clamp(0.5rem,  0.4rem + 0.5vw,   0.75rem);
  --space-xs:  clamp(0.75rem, 0.6rem + 0.75vw,  1rem);
  --space-sm:  clamp(1rem,    0.8rem + 1vw,     1.5rem);
  --space-md:  clamp(1.5rem,  1rem + 2.5vw,     2.5rem);
  --space-lg:  clamp(2rem,    1.5rem + 2.5vw,   3.5rem);
  --space-xl:  clamp(3rem,    2rem + 5vw,       5rem);
  --space-2xl: clamp(4rem,    2.5rem + 7.5vw,   8rem);
  --space-3xl: clamp(6rem,    3.5rem + 10vw,    12rem);

  /* — Layout — */
  --container-max:   1280px;
  --container-tight: 900px;
  --container-wide:  1440px;
  --container-pad:   clamp(1.25rem, 3vw, 3rem);

  /* — Z-index — */
  --z-base:    1;
  --z-above:   10;
  --z-nav:     100;
  --z-overlay: 500;
  --z-modal:   1000;
  --z-top:     9999;

  /* — Easing — */
  --ease-out:     cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-snap:    cubic-bezier(0, 0.55, 0.45, 1);

  /* — Durations — */
  --dur-fast:   150ms;
  --dur-base:   300ms;
  --dur-slow:   600ms;
  --dur-glacial:1200ms;

  /* — Misc — */
  --radius-sm:  2px;
  --radius-md:  4px;
  --radius-lg:  6px;
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.1);
  --shadow-lg:  0 8px 32px rgba(0,0,0,0.14);
  --shadow-gold:0 4px 24px rgba(200,168,78,0.2);
}

/* === DARK MODE === */
[data-theme="dark"]{
  --bg:          #0A0A0A;
  --bg-alt:      #111111;
  --bg-elevated: #181818;
  --text-primary:#F0EFE9;
  --text-secondary:#BBBBBB;
  --text-muted:  #777777;
  --gray-400:    #999999;
  --gray-300:    #BBBBBB;
  --border:      #2A2A2A;
  --border-subtle:#1E1E1E;
  --shadow-sm:   0 1px 3px rgba(0,0,0,0.3);
  --shadow-md:   0 4px 16px rgba(0,0,0,0.4);
  --shadow-lg:   0 8px 32px rgba(0,0,0,0.5);
}

/* === BASE STYLES === */
body{
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--text-primary);
  background: var(--bg);
  transition: background var(--dur-slow) var(--ease-out),
              color var(--dur-slow) var(--ease-out);
}

/* — Grain Overlay (subtle concrete/steel texture) — */
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:var(--z-top);
  pointer-events:none;
  opacity:0.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
}
[data-theme="dark"] body::before{opacity:0.04}

/* === LAYOUT === */
.container{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--container-pad);
}
.container--tight{max-width:var(--container-tight)}
.container--wide{max-width:var(--container-wide)}

.section{
  padding-block:var(--space-2xl);
  position:relative;
}
.section--alt{background:var(--bg-alt)}
.section--dark{
  background:var(--surface-1);
  color:var(--off-white);
}
[data-theme="dark"] .section--dark{background:var(--surface-2)}

/* === TYPOGRAPHY === */
h1,h2,h3,h4,h5,h6,.heading{
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--text-primary);
}
h1,.h1{font-size:var(--text-hero)}
h2,.h2{font-size:var(--text-3xl)}
h3,.h3{font-size:var(--text-2xl)}
h4,.h4{font-size:var(--text-xl)}
h5,.h5{font-size:var(--text-lg)}

p{
  font-size:var(--text-base);
  color:var(--text-secondary);
  line-height:1.7;
  max-width:65ch;
}
.text-lg{font-size:var(--text-lg)}
.text-sm{font-size:var(--text-sm)}
.text-xs{font-size:var(--text-xs)}
.text-gold{color:var(--gold)}
.text-muted{color:var(--text-muted)}

.label{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold);
}
.label--number{
  font-family:var(--font-tech);
  font-size:var(--text-sm);
  font-weight:500;
  color:var(--gold-muted);
}

/* — Dimension Line Underline (construction branded heading decoration) — */
.dim-line{
  position:relative;
  display:inline-block;
}
.dim-line::after{
  content:'';
  position:absolute;
  bottom:-10px;
  left:0;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width 0.8s var(--ease-out);
}
.dim-line.is-visible::after{width:100%}

/* Dimension arrows at endpoints */
.dim-line__svg{
  position:absolute;
  bottom:-18px;
  left:0;
  width:100%;
  height:16px;
  pointer-events:none;
  opacity:0;
  transition:opacity 0.6s var(--ease-out) 0.4s;
}
.dim-line.is-visible .dim-line__svg{opacity:1}

/* === GRID SYSTEM === */
.grid{display:grid;gap:var(--space-md)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--asymm{grid-template-columns:1.5fr 1fr}
.grid--asymm-r{grid-template-columns:1fr 1.5fr}

@media(max-width:1024px){
  .grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .grid--2,.grid--3,.grid--4,.grid--asymm,.grid--asymm-r{
    grid-template-columns:1fr;
  }
}

.flex{display:flex}
.flex-col{flex-direction:column}
.flex-center{align-items:center;justify-content:center}
.flex-between{justify-content:space-between;align-items:center}
.gap-xs{gap:var(--space-xs)}
.gap-sm{gap:var(--space-sm)}
.gap-md{gap:var(--space-md)}
.gap-lg{gap:var(--space-lg)}

/* === NAVIGATION === */
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:var(--z-nav);
  padding:var(--space-sm) 0;
  transition:background var(--dur-base) var(--ease-out),
             padding var(--dur-base) var(--ease-out),
             border-color var(--dur-base) var(--ease-out);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(10,10,10,0.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  padding:var(--space-2xs) 0;
  border-bottom-color:var(--charcoal);
}
[data-theme="light"] .nav.scrolled{
  background:rgba(248,247,244,0.92);
  border-bottom-color:var(--gray-200);
}

.nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nav__logo{
  display:flex;
  align-items:center;
  gap:var(--space-2xs);
}
.nav__logo-icon{
  width:40px;height:40px;
}
.nav__logo-text{
  font-family:var(--font-tech);
  font-size:var(--text-sm);
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.2;
}
.nav__logo-text span{
  display:block;
  font-size:var(--text-xs);
  font-weight:400;
  color:var(--text-muted);
  letter-spacing:0.12em;
}

.nav__links{
  display:flex;
  align-items:center;
  gap:var(--space-sm);
}
.nav__link{
  position:relative;
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--text-secondary);
  padding:var(--space-3xs) var(--space-2xs);
  transition:color var(--dur-fast) var(--ease-out);
}
.nav__link:hover,.nav__link.active{color:var(--gold)}

/* — Laser Level Nav Highlight — */
.nav__link::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:50%;
  width:0;
  height:2px;
  background:var(--gold);
  box-shadow:0 0 8px var(--gold-glow), 0 0 16px rgba(200,168,78,0.15);
  transform:translateX(-50%);
  transition:width 0.4s var(--ease-spring);
}
.nav__link:hover::after,
.nav__link.active::after{
  width:100%;
}

/* Laser glow dot on active */
.nav__link.active::before{
  content:'';
  position:absolute;
  bottom:-7px;
  left:50%;
  width:6px;height:6px;
  background:var(--gold);
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 6px var(--gold), 0 0 12px var(--gold-glow);
  animation:laserPulse 2s infinite;
}
@keyframes laserPulse{
  0%,100%{opacity:1;box-shadow:0 0 6px var(--gold),0 0 12px var(--gold-glow)}
  50%{opacity:0.6;box-shadow:0 0 3px var(--gold),0 0 6px var(--gold-glow)}
}

.nav__actions{
  display:flex;
  align-items:center;
  gap:var(--space-xs);
}

/* Theme Toggle */
.theme-toggle{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--text-muted);
  transition:all var(--dur-fast) var(--ease-out);
}
.theme-toggle:hover{
  color:var(--gold);
  border-color:var(--gold);
}
.theme-toggle svg{width:18px;height:18px}

/* Mobile Menu Toggle */
.nav__mobile-toggle{
  display:none;
  width:36px;height:36px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.nav__mobile-toggle span{
  display:block;
  width:20px;height:1.5px;
  background:var(--text-primary);
  transition:all var(--dur-base) var(--ease-out);
}
.nav__mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav__mobile-toggle.open span:nth-child(2){opacity:0}
.nav__mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

@media(max-width:768px){
  .nav__links{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    background:var(--bg-elevated);
    border-bottom:1px solid var(--border);
    padding:var(--space-sm);
    gap:0;
  }
  .nav__links.open{display:flex}
  .nav__link{
    width:100%;
    padding:var(--space-xs);
    border-bottom:1px solid var(--border-subtle);
  }
  .nav__mobile-toggle{display:flex}
}

/* === HERO === */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--black);
  color:var(--off-white);
}
.hero__canvas{
  position:absolute;
  inset:0;
  z-index:1;
}
.hero__canvas canvas{
  width:100%!important;
  height:100%!important;
}
.hero__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    180deg,
    rgba(10,10,10,0.4) 0%,
    rgba(10,10,10,0.6) 40%,
    rgba(10,10,10,0.85) 100%
  );
}

/* Logo watermark behind hero text */
.hero__watermark{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:min(600px, 70vw);
  height:auto;
  opacity:0.04;
  z-index:2;
  pointer-events:none;
}
[data-theme="dark"] .hero__watermark{opacity:0.06}

.hero__content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding:var(--space-2xl) var(--container-pad);
}

.hero__badge{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2xs);
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:var(--space-md);
  opacity:0;
}
.hero__badge::before{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}

.hero__title{
  font-size:var(--text-hero);
  color:var(--white);
  margin-bottom:var(--space-sm);
  max-width:14ch;
  opacity:0;
}
.hero__title em{
  font-style:italic;
  color:var(--gold);
}

.hero__sub{
  font-family:var(--font-tech);
  font-size:var(--text-lg);
  font-weight:400;
  letter-spacing:0.05em;
  color:var(--gold-light);
  margin-bottom:var(--space-xs);
  opacity:0;
}

.hero__desc{
  font-size:var(--text-lg);
  color:var(--gray-300);
  max-width:52ch;
  margin-bottom:var(--space-lg);
  opacity:0;
}

.hero__ctas{
  display:flex;
  gap:var(--space-sm);
  flex-wrap:wrap;
  opacity:0;
}

/* Scroll hint */
.hero__scroll{
  position:absolute;
  bottom:var(--space-lg);
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-2xs);
  opacity:0;
}
.hero__scroll-line{
  width:1px;height:40px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollPulse 2s infinite;
}
@keyframes scrollPulse{
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  50.01%{transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}
.hero__scroll-text{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold-muted);
}

/* === BUTTONS === */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:var(--space-2xs);
  font-family:var(--font-tech);
  font-size:var(--text-sm);
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:var(--space-xs) var(--space-md);
  border:1px solid transparent;
  transition:all var(--dur-base) var(--ease-out);
  overflow:hidden;
}
.btn--primary{
  background:var(--gold);
  color:var(--black);
  border-color:var(--gold);
}
.btn--primary:hover{
  background:var(--gold-light);
  border-color:var(--gold-light);
  box-shadow:var(--shadow-gold);
}
.btn--outline{
  background:transparent;
  color:var(--gold);
  border-color:var(--gold);
}
.btn--outline:hover{
  background:var(--gold);
  color:var(--black);
}
.btn--ghost{
  background:transparent;
  color:var(--text-primary);
  border-color:var(--border);
}
.btn--ghost:hover{
  border-color:var(--gold);
  color:var(--gold);
}
.btn--white{
  background:var(--white);
  color:var(--black);
  border-color:var(--white);
}
.btn--white:hover{
  background:transparent;
  color:var(--white);
}

.btn__arrow{
  width:14px;height:14px;
  transition:transform var(--dur-fast) var(--ease-out);
}
.btn:hover .btn__arrow{transform:translateX(3px)}

/* Weld Spark on hover */
.btn--spark{overflow:visible}
.btn--spark .spark-container{
  position:absolute;
  inset:-10px;
  pointer-events:none;
  overflow:hidden;
}

/* === CARDS === */
.card{
  position:relative;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  padding:var(--space-md);
  transition:all var(--dur-base) var(--ease-out);
}
.card:hover{
  border-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
}

/* Numbered card variant */
.card--numbered{padding-top:var(--space-lg)}
.card--numbered .card__number{
  position:absolute;
  top:var(--space-sm);
  right:var(--space-sm);
  font-family:var(--font-tech);
  font-size:var(--text-3xl);
  font-weight:700;
  color:var(--gold-subtle);
  line-height:1;
  user-select:none;
}
[data-theme="dark"] .card--numbered .card__number{
  color:rgba(200,168,78,0.06);
}

.card__title{
  font-family:var(--font-display);
  font-size:var(--text-xl);
  margin-bottom:var(--space-xs);
}
.card__text{
  font-size:var(--text-sm);
  color:var(--text-secondary);
  line-height:1.7;
}
.card__features{
  list-style:none;
  padding:0;
  margin:var(--space-sm) 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2xs) var(--space-sm);
}
.card__features li{
  font-size:var(--text-xs);
  color:var(--gold);
  padding:0.25em 0.7em;
  border:1px solid var(--gold-muted,rgba(200,168,78,0.3));
  border-radius:var(--radius-sm,4px);
  white-space:nowrap;
}
.card__duration{
  margin-top:var(--space-sm);
  font-size:var(--text-xs);
  color:var(--text-secondary);
  opacity:0.8;
}

/* Gold top-bar accent card */
.card--accent::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.6s var(--ease-out);
}
.card--accent:hover::before{transform:scaleX(1)}

/* Property card */
.card--property{padding:0;overflow:hidden}
.card--property .card__image{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--surface-2);
}
.card--property .card__image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 0.6s var(--ease-out);
}
.card--property:hover .card__image img{transform:scale(1.05)}
.card--property .card__body{padding:var(--space-sm)}
.card--property .card__location{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  color:var(--text-muted);
  letter-spacing:0.05em;
  margin-top:var(--space-3xs);
}
.card--property .card__badge{
  position:absolute;
  top:var(--space-xs);
  left:var(--space-xs);
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:var(--space-3xs) var(--space-2xs);
  background:var(--gold);
  color:var(--black);
}

/* === SECTION HEADERS === */
.section-header{margin-bottom:var(--space-xl)}
.section-header__label{margin-bottom:var(--space-xs)}
.section-header__title{margin-bottom:var(--space-sm)}
.section-header__desc{max-width:55ch}

.section-header--center{text-align:center}
.section-header--center .section-header__desc{margin-inline:auto}

/* === STATS === */
.stat{text-align:center}
.stat__number{
  font-family:var(--font-tech);
  font-size:var(--text-3xl);
  font-weight:700;
  color:var(--gold);
  line-height:1;
  margin-bottom:var(--space-3xs);
}
.stat__label{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:500;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--text-muted);
}

/* Tape measure animation container */
.stat__tape{
  position:relative;
  overflow:hidden;
  display:inline-block;
}
.stat__tape::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:repeating-linear-gradient(
    90deg,
    var(--gold) 0px,
    var(--gold) 8px,
    transparent 8px,
    transparent 12px,
    var(--gold) 12px,
    var(--gold) 14px,
    transparent 14px,
    transparent 24px
  );
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 1.2s var(--ease-out);
}
.stat__tape.is-visible::after{transform:scaleX(1)}

/* === EXPERTISE LIST === */
.expertise-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
}
.expertise-item{
  display:flex;
  align-items:flex-start;
  gap:var(--space-xs);
  padding:var(--space-xs) 0;
  border-bottom:1px solid var(--border-subtle);
}
.expertise-item__num{
  font-family:var(--font-tech);
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--gold);
  min-width:28px;
}
.expertise-item__text{
  font-size:var(--text-base);
  color:var(--text-secondary);
}

/* === CHECKLIST (We Buy Houses) === */
.check-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-2xs);
}
.check-item{
  display:flex;
  align-items:center;
  gap:var(--space-2xs);
}
.check-item__icon{
  width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
  flex-shrink:0;
}
.check-item__text{
  font-size:var(--text-sm);
  color:var(--text-secondary);
}

/* === PROPERTY CARDS HORIZONTAL SCROLL === */
.properties-scroll{
  display:flex;
  gap:var(--space-sm);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:var(--space-xs);
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.properties-scroll::-webkit-scrollbar{display:none}
.properties-scroll .card--property{
  min-width:340px;
  scroll-snap-align:start;
  flex-shrink:0;
}
@media(max-width:768px){
  .properties-scroll .card--property{min-width:280px}
}

/* === MARQUEE / TICKER === */
.marquee{
  overflow:hidden;
  padding:var(--space-sm) 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.marquee__track{
  display:flex;
  width:max-content;
  animation:marqueeScroll 30s linear infinite;
}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{
  display:flex;
  align-items:center;
  gap:var(--space-sm);
  padding:0 var(--space-lg);
  white-space:nowrap;
  font-family:var(--font-tech);
  font-size:var(--text-lg);
  font-weight:500;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.marquee__item::after{
  content:'';
  width:6px;height:6px;
  background:var(--gold);
  transform:rotate(45deg);
  flex-shrink:0;
}
@keyframes marqueeScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* === DIVIDERS === */
/* Rivet strip divider */
.divider-rivet{
  position:relative;
  height:1px;
  background:var(--border);
  margin:var(--space-xl) 0;
}
.divider-rivet::before,
.divider-rivet::after{
  content:'';
  position:absolute;
  top:50%;
  width:8px;height:8px;
  background:var(--gold);
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.3),0 1px 0 rgba(255,255,255,0.1);
}
.divider-rivet::before{left:var(--space-lg)}
.divider-rivet::after{right:var(--space-lg)}

/* Gold line divider */
.divider-gold{
  width:60px;height:2px;
  background:var(--gold);
  margin:var(--space-sm) 0;
}

/* === PLUMB LINE SCROLL INDICATOR === */
.plumb-line{
  position:fixed;
  top:0;
  right:24px;
  width:2px;
  height:0;
  background:linear-gradient(to bottom, var(--gold), var(--gold-dark));
  z-index:var(--z-above);
  transition:height 0.1s linear;
  pointer-events:none;
}
.plumb-line__bob{
  position:absolute;
  bottom:-12px;
  left:50%;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:10px solid var(--gold);
}
.plumb-line__pct{
  position:absolute;
  bottom:-28px;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--font-tech);
  font-size:9px;
  font-weight:600;
  color:var(--gold);
  white-space:nowrap;
}
@media(max-width:768px){.plumb-line{display:none}}

/* === BLUEPRINT GRID BACKGROUND === */
.bp-grid{
  position:relative;
}
.bp-grid::before{
  content:'';
  position:absolute;
  inset:0;
  opacity:0.03;
  pointer-events:none;
  background-image:
    linear-gradient(var(--blueprint-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px);
  background-size:40px 40px;
}
[data-theme="dark"] .bp-grid::before{opacity:0.06}

/* === LOGO WATERMARK BACKGROUNDS === */
.watermark{
  position:absolute;
  pointer-events:none;
  opacity:0.03;
  z-index:0;
}
.watermark--center{
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:min(500px, 60vw);
}
.watermark--right{
  top:20%;right:-5%;
  width:min(400px, 45vw);
  transform:rotate(15deg);
}
.watermark--left{
  bottom:10%;left:-5%;
  width:min(400px, 45vw);
  transform:rotate(-10deg);
}
[data-theme="dark"] .watermark{opacity:0.05}

/* === FORMS === */
.form-group{
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
  margin-bottom:var(--space-sm);
}
.form-label{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.form-input,.form-textarea{
  font-family:var(--font-body);
  font-size:var(--text-base);
  padding:var(--space-xs) var(--space-sm);
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--text-primary);
  transition:border-color var(--dur-fast) var(--ease-out),
             box-shadow var(--dur-fast) var(--ease-out);
}
.form-input:focus,.form-textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px var(--gold-subtle);
}
.form-textarea{min-height:140px;resize:vertical}
.form-select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right var(--space-xs) center;
  padding-right:var(--space-lg);
}

/* === FOOTER === */
.footer{
  background:var(--surface-1);
  color:var(--off-white);
  padding:var(--space-2xl) 0 var(--space-md);
  position:relative;
}
[data-theme="light"] .footer{
  background:var(--black);
  color:var(--off-white);
}
.footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:var(--space-lg);
  margin-bottom:var(--space-xl);
}
@media(max-width:768px){
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .footer__grid{grid-template-columns:1fr}
}
.footer__logo-img{
  max-width:220px;
  height:auto;
  border-radius:2px;
  margin-bottom:var(--space-xs);
}
.footer__brand-text{
  font-size:var(--text-sm);
  color:var(--gray-400);
  max-width:35ch;
  line-height:1.7;
}
.footer__heading{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:var(--space-sm);
}
.footer__links{display:flex;flex-direction:column;gap:var(--space-2xs)}
.footer__link{
  font-size:var(--text-sm);
  color:var(--gray-400);
  transition:color var(--dur-fast);
}
.footer__link:hover{color:var(--gold)}

.footer__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--space-xs);
  padding-top:var(--space-md);
  border-top:1px solid var(--charcoal);
}
.footer__copy{
  font-size:var(--text-xs);
  color:var(--gray-500);
}
.footer__legal{
  font-size:var(--text-xs);
  color:var(--gray-500);
}

/* === BLOG === */
.blog-card{
  display:flex;
  flex-direction:column;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  overflow:hidden;
  transition:all var(--dur-base) var(--ease-out);
}
.blog-card:hover{
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.blog-card__image{
  aspect-ratio:16/9;
  background:var(--surface-2);
  overflow:hidden;
}
.blog-card__image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 0.6s var(--ease-out);
}
.blog-card:hover .blog-card__image img{transform:scale(1.03)}
.blog-card__body{padding:var(--space-sm)}
.blog-card__meta{
  display:flex;
  align-items:center;
  gap:var(--space-xs);
  margin-bottom:var(--space-2xs);
}
.blog-card__date{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  color:var(--text-muted);
}
.blog-card__cat{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--gold);
}
.blog-card__title{
  font-family:var(--font-display);
  font-size:var(--text-lg);
  margin-bottom:var(--space-2xs);
  line-height:1.3;
}
.blog-card__excerpt{
  font-size:var(--text-sm);
  color:var(--text-secondary);
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* === PAGE HERO (inner pages) === */
.page-hero{
  padding-top:calc(80px + var(--space-2xl));
  padding-bottom:var(--space-xl);
  background:var(--bg-alt);
  position:relative;
  overflow:hidden;
}
.page-hero .bp-grid::before{opacity:0.04}

.page-hero__label{margin-bottom:var(--space-xs)}
.page-hero__title{
  font-size:var(--text-3xl);
  margin-bottom:var(--space-sm);
}
.page-hero__desc{
  font-size:var(--text-lg);
  max-width:55ch;
}

/* === PROCESS TIMELINE === */
.timeline{
  position:relative;
  padding-left:var(--space-lg);
}
.timeline::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:2px;
  background:var(--border);
}
.timeline__item{
  position:relative;
  padding-bottom:var(--space-lg);
}
.timeline__item:last-child{padding-bottom:0}
.timeline__item::before{
  content:'';
  position:absolute;
  left:calc(-1 * var(--space-lg) - 4px);
  top:6px;
  width:10px;height:10px;
  background:var(--gold);
  border:2px solid var(--bg);
  border-radius:50%;
  z-index:1;
}
.timeline__item-title{
  font-family:var(--font-display);
  font-size:var(--text-xl);
  margin-bottom:var(--space-2xs);
}
.timeline__item-text{
  font-size:var(--text-sm);
  color:var(--text-secondary);
  max-width:45ch;
}

/* === DIAL GAUGE (for stats) === */
.dial{
  position:relative;
  width:140px;height:140px;
}
.dial svg{width:100%;height:100%}
.dial__track{
  fill:none;
  stroke:var(--border);
  stroke-width:4;
}
.dial__fill{
  fill:none;
  stroke:var(--gold);
  stroke-width:4;
  stroke-linecap:square;
  stroke-dasharray:0 999;
  transition:stroke-dasharray 1.5s var(--ease-out);
}
.dial__value{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-tech);
  font-size:var(--text-xl);
  font-weight:700;
  color:var(--gold);
}

/* === SCROLL ANIMATIONS === */
[data-anim]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.7s var(--ease-out),
             transform 0.7s var(--ease-out);
}
[data-anim="scale"]{
  transform:scale(0.95);
}
[data-anim="left"]{
  transform:translateX(-24px);
}
[data-anim="right"]{
  transform:translateX(24px);
}
[data-anim].is-visible{
  opacity:1;
  transform:none;
}

/* Stagger delays */
[data-delay="1"]{transition-delay:0.1s}
[data-delay="2"]{transition-delay:0.2s}
[data-delay="3"]{transition-delay:0.3s}
[data-delay="4"]{transition-delay:0.4s}
[data-delay="5"]{transition-delay:0.5s}

/* === REDUCED MOTION === */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
    scroll-behavior:auto!important;
  }
  .marquee__track{animation:none}
  [data-anim]{opacity:1;transform:none}
}

/* === UTILITIES === */
.visually-hidden{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.overflow-hidden{overflow:hidden}
.relative{position:relative}
.z-above{z-index:var(--z-above)}

/* === RENTAL DETAIL === */
.rental-card__price{
  display:flex;
  align-items:baseline;
  gap:var(--space-3xs);
}
.rental-card__price-amount{
  font-family:var(--font-tech);
  font-size:var(--text-xl);
  font-weight:700;
  color:var(--gold);
}
.rental-card__price-period{
  font-size:var(--text-sm);
  color:var(--text-muted);
}

/* === ACQUISITION "PURCHASED" BADGE === */
.badge-purchased{
  display:inline-flex;
  align-items:center;
  gap:var(--space-3xs);
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
}
.badge-purchased svg{width:14px;height:14px}

/* === CONSTRUCTION PROGRESS BAR (top of page) === */
.progress-bar{
  position:fixed;
  top:0;left:0;right:0;
  height:2px;
  z-index:calc(var(--z-nav) + 1);
  background:transparent;
}
.progress-bar__fill{
  height:100%;
  width:0;
  background:linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-light));
  transition:width 0.1s linear;
}

/* === CONTACT INFO === */
.contact-info{
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.contact-info__item{
  display:flex;
  align-items:flex-start;
  gap:var(--space-xs);
}
.contact-info__icon{
  width:20px;height:20px;
  color:var(--gold);
  flex-shrink:0;
  margin-top:2px;
}
.contact-info__label{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:2px;
}
.contact-info__value{
  font-size:var(--text-base);
  color:var(--text-primary);
}

/* === SILENCE BETWEEN FRAMES (text transition section) === */
.sbf{
  min-height:50vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:var(--black);
  color:var(--white);
  position:relative;
  overflow:hidden;
}
.sbf__quote{
  font-family:var(--font-display);
  font-size:var(--text-2xl);
  font-style:italic;
  max-width:40ch;
  opacity:0;
  transition:opacity 1.2s var(--ease-out);
}
.sbf__quote.active{opacity:1}
.sbf__author{
  font-family:var(--font-tech);
  font-size:var(--text-xs);
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:var(--space-sm);
}

/* === SPLIT SECTIONS === */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-xl);
  align-items:center;
}
.split--reverse{direction:rtl}
.split--reverse>*{direction:ltr}
@media(max-width:768px){
  .split{grid-template-columns:1fr}
  .split--reverse{direction:ltr}
}

/* === DARK SECTION OVERRIDES === */
.section--dark .card{
  background:var(--surface-2);
  border-color:var(--charcoal);
}
.section--dark .card:hover{border-color:var(--gold)}
.section--dark p{color:var(--gray-300)}
.section--dark h2,.section--dark h3,.section--dark h4{color:var(--off-white)}

/* === LOGO SVG === */
.logo-svg{
  fill:currentColor;
  color:var(--gold);
}
.logo-svg--white{color:var(--white)}
