/* ============================================================
   TLA ROOFING & SHEET METAL LLC — Professional Redesign
   Palette: Deep navy + gold/bronze accent + white
   Card-inspired: professional, clean, not too dark
   Fonts: Barlow Condensed (display) + Inter (body)
   ============================================================ */

:root {
  /* Navy palette — from business card */
  --navy-900: #0b1221;
  --navy-800: #101b2e;
  --navy-700: #152238;
  --navy-600: #1c2d47;
  --navy-500: #243656;
  --navy-400: #2e4268;
  --navy-300: #3d5580;

  /* Gold/bronze — from card gold border and lettering */
  --gold:       #c9a23a;
  --gold-light: #e0ba58;
  --gold-dark:  #a07a1a;
  --gold-pale:  #f5e9c8;

  /* Blue accent — from logo */
  --blue:       #2b5adb;
  --blue-light: #4d78f0;

  /* Light surfaces — NOT black */
  --bg:         #f4f6fa;
  --surface:    #ffffff;
  --surface-2:  #eef1f7;
  --surface-3:  #e4e9f2;

  /* Text */
  --text:       #0e1929;
  --text-muted: #4a5a75;
  --text-faint: #8595b0;
  --white:      #ffffff;

  /* Borders */
  --border:       rgba(11,18,33,0.10);
  --border-gold:  rgba(201,162,58,0.35);
  --border-navy:  rgba(11,18,33,0.15);

  /* Type scale */
  --text-xs:   clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.82rem + 0.28vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.65vw, 1.4rem);
  --text-xl:   clamp(1.4rem,   1.1rem  + 1.2vw,  2.1rem);
  --text-2xl:  clamp(1.9rem,   1.1rem  + 2.3vw,  3.2rem);
  --text-3xl:  clamp(2.4rem,   1rem    + 3.8vw,  4.6rem);
  --text-hero: clamp(3rem,     1rem    + 5.5vw,  6.5rem);

  /* Spacing */
  --s1:0.25rem;--s2:0.5rem;--s3:0.75rem;--s4:1rem;--s5:1.25rem;
  --s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;
  --s20:5rem;--s24:6rem;--s32:8rem;

  /* Radius */
  --r-sm:4px; --r-md:8px; --r-lg:12px;
  --r-xl:16px; --r-2xl:24px; --r-pill:9999px;

  /* Transitions */
  --t:   220ms cubic-bezier(0.16,1,0.3,1);
  --t-s: 150ms cubic-bezier(0.16,1,0.3,1);

  /* Shadows */
  --shadow-sm: 0 1px 4px rgba(11,18,33,0.08);
  --shadow-md: 0 4px 16px rgba(11,18,33,0.10);
  --shadow-lg: 0 12px 40px rgba(11,18,33,0.14);
  --shadow-gold: 0 6px 24px rgba(201,162,58,0.18);
  --shadow-navy: 0 16px 48px rgba(11,18,33,0.35);

  --container: 1200px;
  --font-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body:    'Inter', 'Helvetica Neue', sans-serif;
}

/* ---- RESET ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:76px;}
body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden;}
img,svg,video{display:block;max-width:100%;height:auto;}
ul[role="list"]{list-style:none;}
input,button,textarea,select{font:inherit;color:inherit;}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.05;}
p,li{text-wrap:pretty;max-width:68ch;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;background:none;border:none;}
::selection{background:rgba(201,162,58,0.25);color:var(--text);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--r-sm);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ---- LAYOUT ---- */
.container{width:min(var(--container),100% - 3rem);margin-inline:auto;}
.section{padding-block:clamp(var(--s16),7vw,var(--s32));}
.section--navy{background:var(--navy-800);}
.section--light{background:var(--surface-2);}

/* ---- TYPOGRAPHY ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--s2);
  font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-dark);
  margin-bottom:var(--s3);
}
.eyebrow::before{content:'';display:block;width:20px;height:2px;background:var(--gold);flex-shrink:0;}
.eyebrow--white{color:var(--gold-light);}
.eyebrow--white::before{background:var(--gold-light);}

.section-title{
  font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;
  color:var(--navy-900);line-height:1.0;letter-spacing:0.01em;
  text-transform:uppercase;margin-bottom:var(--s4);
}
.section-title--white{color:var(--white);}
.section-sub{font-size:var(--text-base);color:var(--text-muted);max-width:58ch;line-height:1.7;}
.section-sub--white{color:rgba(255,255,255,0.65);}
.section-header{margin-bottom:clamp(var(--s10),4vw,var(--s16));}

/* ---- GOLD RULE ---- */
.gold-rule{width:48px;height:3px;background:linear-gradient(to right,var(--gold),var(--gold-light));border-radius:var(--r-pill);margin-bottom:var(--s6);}

/* ---- BUTTONS ---- */
.btn{
  display:inline-flex;align-items:center;gap:var(--s2);
  padding:0.8rem 1.8rem;border-radius:var(--r-md);
  font-family:var(--font-body);font-size:var(--text-sm);
  font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
  transition:all var(--t);cursor:pointer;border:2px solid transparent;
  white-space:nowrap;
}
.btn--gold{background:var(--gold);color:var(--navy-900);border-color:var(--gold);box-shadow:var(--shadow-gold);}
.btn--gold:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,162,58,0.35);}
.btn--navy{background:var(--navy-800);color:var(--white);border-color:var(--navy-800);}
.btn--navy:hover{background:var(--navy-700);transform:translateY(-2px);}
.btn--outline-gold{background:transparent;color:var(--gold-light);border-color:var(--gold);}
.btn--outline-gold:hover{background:rgba(201,162,58,0.12);}
.btn--outline-navy{background:transparent;color:var(--navy-800);border-color:var(--border-navy);}
.btn--outline-navy:hover{background:var(--surface-2);}
.btn--lg{padding:1rem 2.4rem;font-size:var(--text-sm);}
.btn--full{width:100%;justify-content:center;}

/* ---- NAV ---- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  transition:box-shadow var(--t);
}
.nav--scrolled{box-shadow:0 2px 20px rgba(11,18,33,0.10);}
.nav__inner{
  display:flex;align-items:center;gap:var(--s8);height:72px;
  width:min(var(--container),100% - 3rem);margin-inline:auto;
}
.nav__logo{display:flex;align-items:center;gap:var(--s3);flex-shrink:0;text-decoration:none;}
.nav__logo-img{width:46px;height:46px;object-fit:contain;}
.nav__logo-text{
  font-family:var(--font-display);font-size:1.1rem;font-weight:800;
  letter-spacing:0.02em;color:var(--navy-900);text-transform:uppercase;line-height:1.1;
}
.nav__logo-sub{display:block;font-size:0.6rem;font-weight:600;letter-spacing:0.12em;color:var(--text-faint);text-transform:uppercase;}
.nav__logo-accent{color:var(--gold-dark);}
.nav__links{display:flex;align-items:center;gap:var(--s6);margin-left:auto;}
.nav__links a{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;transition:color var(--t-s);}
.nav__links a:hover{color:var(--navy-900);}
.nav__cta{margin-left:var(--s4);}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:var(--s2);margin-left:auto;}
.nav__burger span{display:block;width:24px;height:2px;background:var(--navy-800);border-radius:2px;transition:transform var(--t),opacity var(--t);}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav__mobile{display:none;flex-direction:column;padding:var(--s6) 1.5rem var(--s8);border-top:1px solid var(--border);background:var(--white);}
.nav__mobile.is-open{display:flex;}
.nav__mobile-link{padding:var(--s3) 0;font-size:var(--text-base);font-weight:600;color:var(--text);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:0.06em;}
@media(max-width:900px){.nav__links,.nav__cta{display:none;}.nav__burger{display:flex;}}

/* ---- HERO ---- */
.hero{
  position:relative;min-height:100svh;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:stretch;overflow:hidden;
  background:var(--navy-800);
}

/* Left: navy panel */
.hero__content{
  position:relative;z-index:2;
  background:var(--navy-800);
  padding:clamp(var(--s12),6vw,var(--s24));
  padding-left:max(2.5rem,calc((100vw - var(--container))/2 + 2.5rem));
  display:flex;flex-direction:column;justify-content:center;
}

/* Gold left border */
.hero__content::before{
  content:'';position:absolute;left:max(2.5rem,calc((100vw - var(--container))/2));
  top:15%;bottom:15%;width:3px;
  background:linear-gradient(to bottom,transparent,var(--gold),var(--gold-light),transparent);
  border-radius:var(--r-pill);
}

.hero__eyebrow{
  display:inline-flex;align-items:center;gap:var(--s2);
  font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold);margin-bottom:var(--s6);
}
.hero__eyebrow::before{content:'';display:block;width:24px;height:2px;background:var(--gold);}

.hero__heading{
  font-family:var(--font-display);font-size:var(--text-hero);font-weight:900;
  color:var(--white);line-height:0.92;letter-spacing:0.01em;
  text-transform:uppercase;margin-bottom:var(--s3);
}
.hero__heading em{font-style:normal;color:var(--gold);}

.hero__company{
  font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;
  color:rgba(255,255,255,0.55);letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:var(--s8);border-bottom:1px solid rgba(201,162,58,0.25);
  padding-bottom:var(--s6);
}

.hero__sub{
  font-size:var(--text-base);color:rgba(255,255,255,0.6);
  max-width:46ch;line-height:1.7;margin-bottom:var(--s10);
}

.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s10);}

.hero__stats{
  display:flex;gap:var(--s8);align-items:center;
  padding-top:var(--s8);border-top:1px solid rgba(255,255,255,0.1);
}
.stat{display:flex;flex-direction:column;gap:2px;}
.stat__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--gold-light);line-height:1;text-transform:uppercase;}
.stat__label{font-size:var(--text-xs);color:rgba(255,255,255,0.4);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;}
.stat__div{width:1px;height:36px;background:rgba(255,255,255,0.12);}

/* Right: image panel */
.hero__image{position:relative;height:100%;min-height:100svh;overflow:hidden;}
.hero__image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 8s ease;}
.hero__image:hover img{transform:scale(1.04);}
.hero__image::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to right,var(--navy-800) 0%,rgba(16,27,46,0.15) 25%,transparent 50%),
    linear-gradient(to top,rgba(11,18,33,0.7) 0%,transparent 40%);
  pointer-events:none;
}
.hero__image::before{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:4px;background:linear-gradient(to right,var(--gold-dark),var(--gold),var(--gold-light));
  z-index:2;
}
.hero__tag{
  position:absolute;bottom:var(--s6);right:var(--s6);z-index:3;
  display:inline-flex;align-items:center;gap:var(--s2);
  background:rgba(11,18,33,0.85);backdrop-filter:blur(10px);
  border:1px solid var(--border-gold);color:var(--gold-light);
  font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  padding:0.45rem 1rem;border-radius:var(--r-md);
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero__content{padding:var(--s12) 1.5rem var(--s10);padding-left:1.5rem;grid-row:2;}
  .hero__content::before{display:none;}
  .hero__image{grid-row:1;min-height:55vw;height:55vw;max-height:380px;}
}

/* ---- SERVICES ---- */
.services{background:var(--bg);}

.services__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--s6);
}

.svc-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:var(--s8) var(--s6);
  display:flex;flex-direction:column;gap:var(--s4);
  transition:all var(--t);position:relative;overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--gold-dark),var(--gold));
  opacity:0;transition:opacity var(--t);
}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-gold);}
.svc-card:hover::before{opacity:1;}
.svc-card--featured{background:var(--navy-800);border-color:var(--border-gold);}
.svc-card--featured::before{opacity:1;}
.svc-card--featured .svc-card__title{color:var(--white);}
.svc-card--featured .svc-card__desc{color:rgba(255,255,255,0.6);}
.svc-card--featured .svc-card__list li{color:rgba(255,255,255,0.65);}
.svc-card--cta{background:var(--surface-2);}

.svc-icon{
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-md);background:rgba(201,162,58,0.1);
  border:1px solid rgba(201,162,58,0.2);color:var(--gold-dark);flex-shrink:0;
}
.svc-icon svg{width:24px;height:24px;}
.svc-icon--blue{background:rgba(43,90,219,0.1);border-color:rgba(43,90,219,0.2);color:var(--blue);}

.svc-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--navy-900);text-transform:uppercase;letter-spacing:0.02em;line-height:1.1;}
.svc-card__desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65;flex:1;}
.svc-card__list{list-style:none;display:flex;flex-direction:column;gap:var(--s2);}
.svc-card__list li{display:flex;align-items:center;gap:var(--s3);font-size:var(--text-sm);color:var(--text-muted);}
.svc-card__list li::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.emergency-tag{display:inline-block;font-size:var(--text-xs);font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-dark);background:rgba(201,162,58,0.12);border:1px solid var(--border-gold);padding:0.3rem 0.85rem;border-radius:var(--r-pill);width:fit-content;}

@media(max-width:1000px){.services__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.services__grid{grid-template-columns:1fr;}}

/* ---- ABOUT / MEET THE OWNER ---- */
.about{background:var(--navy-800);}
.about__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s16);align-items:center;}
.about__photo-wrap{position:relative;}
.about__photo{
  border-radius:var(--r-2xl);overflow:hidden;
  border:2px solid var(--border-gold);
  box-shadow:var(--shadow-navy);
  max-width:420px;
}
.about__photo img{width:100%;height:520px;object-fit:cover;object-position:center top;display:block;}
.about__photo-badge{
  position:absolute;bottom:-var(--s4);right:-var(--s4);
  background:var(--gold);color:var(--navy-900);
  font-family:var(--font-display);font-size:var(--text-sm);font-weight:800;
  text-transform:uppercase;letter-spacing:0.06em;
  padding:var(--s4) var(--s6);border-radius:var(--r-lg);
  box-shadow:var(--shadow-gold);line-height:1.2;
  position:absolute;bottom:var(--s6);right:var(--s6);
  backdrop-filter:blur(8px);
}
.about__name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;color:var(--white);text-transform:uppercase;letter-spacing:0.02em;line-height:1.0;margin-bottom:var(--s2);}
.about__title{font-size:var(--text-sm);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s6);}
.about__bio{font-size:var(--text-base);color:rgba(255,255,255,0.65);line-height:1.75;margin-bottom:var(--s8);}
.about__points{display:flex;flex-direction:column;gap:var(--s3);}
.about__point{display:flex;align-items:flex-start;gap:var(--s4);}
.about__dot{width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:8px;}
.about__point p{font-size:var(--text-sm);color:rgba(255,255,255,0.6);line-height:1.6;}

@media(max-width:900px){
  .about__inner{grid-template-columns:1fr;}
  .about__photo{max-width:100%;}
  .about__photo img{height:380px;}
}

/* ---- WHY US ---- */
.why{background:var(--surface-2);}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);}
.why__item{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:var(--s8) var(--s6);
  display:flex;flex-direction:column;gap:var(--s4);
  box-shadow:var(--shadow-sm);transition:all var(--t);
}
.why__item:hover{border-color:var(--border-gold);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.why__num{font-family:var(--font-display);font-size:2.5rem;font-weight:900;color:rgba(201,162,58,0.25);line-height:1;letter-spacing:-0.02em;}
.why__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--navy-900);text-transform:uppercase;letter-spacing:0.02em;}
.why__desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65;}
@media(max-width:900px){.why__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:550px){.why__grid{grid-template-columns:1fr;}}

/* ---- PROCESS ---- */
.process{background:var(--navy-800);}
.process__track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process__track::before{
  content:'';position:absolute;top:28px;left:12%;right:12%;height:2px;
  background:linear-gradient(to right,var(--gold-dark),var(--gold),var(--gold-light));z-index:0;
}
.process__step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s4);padding:0 var(--s4);}
.step__dot{
  width:56px;height:56px;border-radius:50%;background:var(--navy-700);
  border:2px solid var(--border-gold);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-family:var(--font-display);font-size:var(--text-lg);
  font-weight:800;color:var(--gold-light);
}
.step__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--white);text-transform:uppercase;letter-spacing:0.02em;}
.step__desc{font-size:var(--text-sm);color:rgba(255,255,255,0.5);line-height:1.6;}
@media(max-width:800px){.process__track{grid-template-columns:1fr 1fr;gap:var(--s8);}.process__track::before{display:none;}}
@media(max-width:500px){.process__track{grid-template-columns:1fr;}}

/* ---- MISSION ---- */
.mission{background:var(--bg);}
.mission__inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--s16);align-items:center;}
.mission__quote{
  font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;
  color:var(--navy-800);text-transform:uppercase;letter-spacing:0.01em;line-height:1.2;
  border-left:4px solid var(--gold);padding-left:var(--s6);margin-block:var(--s8);quotes:none;
}
.mission__body{font-size:var(--text-base);color:var(--text-muted);line-height:1.7;margin-top:var(--s4);}
.mission__card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);
  padding:var(--s10) var(--s8);display:flex;flex-direction:column;gap:var(--s5);
  box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.mission__card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light));}
.mission__row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);background:var(--surface-2);border-radius:var(--r-lg);}
.mission__icon{font-size:2rem;flex-shrink:0;}
.mission__row p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;}
.mission__row strong{color:var(--text);display:block;font-size:var(--text-base);}
.mission__arrow{display:flex;justify-content:center;color:var(--gold-dark);font-size:1.5rem;}
@media(max-width:800px){.mission__inner{grid-template-columns:1fr;}}

/* ---- CONTACT ---- */
.contact{background:var(--surface-2);}
.contact__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s16);align-items:start;}
.contact__sub{font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--s10);line-height:1.7;max-width:46ch;}
.contact__list{display:flex;flex-direction:column;gap:var(--s3);}
.contact__item{
  display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  transition:all var(--t-s);color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);
}
a.contact__item:hover{border-color:var(--border-gold);transform:translateX(4px);}
.contact__ico{
  width:40px;height:40px;background:rgba(201,162,58,0.1);border:1px solid rgba(201,162,58,0.2);
  border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;
  color:var(--gold-dark);flex-shrink:0;
}
.contact__label{display:block;font-size:var(--text-xs);color:var(--text-faint);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:2px;}
.contact__val{display:block;font-size:var(--text-sm);color:var(--text);font-weight:600;}

/* Form */
.contact__form{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);
  padding:var(--s10) var(--s8);display:flex;flex-direction:column;gap:var(--s5);
  box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.contact__form::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light));}
.form-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--navy-900);text-transform:uppercase;letter-spacing:0.02em;}
.form-group{display:flex;flex-direction:column;gap:var(--s2);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);}
label{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);}
label span{color:var(--gold-dark);}
input,textarea,select{
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);
  padding:0.75rem 1rem;font-size:var(--text-sm);color:var(--text);
  transition:border-color var(--t-s),box-shadow var(--t-s);width:100%;
}
input::placeholder,textarea::placeholder{color:var(--text-faint);}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,58,0.15);}
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='%238595b0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer;}
textarea{resize:vertical;min-height:100px;}
.form-note{font-size:var(--text-xs);color:var(--text-faint);text-align:center;}
.form-success{text-align:center;padding:var(--s8);font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--navy-900);text-transform:uppercase;}
@media(max-width:900px){.contact__inner{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.contact__form{padding:var(--s8) var(--s6);}}

/* ---- FOOTER ---- */
.footer{background:var(--navy-900);border-top:1px solid rgba(201,162,58,0.2);padding-block:var(--s16) var(--s8);}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:var(--s10);margin-bottom:var(--s12);}
.footer__tagline{font-size:var(--text-sm);color:rgba(255,255,255,0.45);margin-top:var(--s4);line-height:1.6;}
.footer__col h4{font-family:var(--font-display);font-size:var(--text-xs);font-weight:800;color:rgba(255,255,255,0.9);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:var(--s4);}
.footer__col ul{display:flex;flex-direction:column;gap:var(--s3);}
.footer__col a{font-size:var(--text-sm);color:rgba(255,255,255,0.45);transition:color var(--t-s);}
.footer__col a:hover{color:var(--gold-light);}
.footer__email{display:block;font-size:var(--text-sm);color:rgba(255,255,255,0.45);margin-bottom:var(--s4);transition:color var(--t-s);}
.footer__email:hover{color:var(--gold-light);}
.footer__address{font-size:var(--text-xs);color:rgba(255,255,255,0.3);line-height:1.7;}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s3);padding-top:var(--s6);border-top:1px solid rgba(255,255,255,0.08);}
.footer__bottom p{font-size:var(--text-xs);color:rgba(255,255,255,0.3);}
@media(max-width:900px){.footer__inner{grid-template-columns:1fr 1fr;}.footer__brand{grid-column:span 2;}}
@media(max-width:550px){.footer__inner{grid-template-columns:1fr;}.footer__brand{grid-column:auto;}.footer__bottom{flex-direction:column;align-items:flex-start;}}

/* Footer nav logo light version */
.footer .nav__logo-text{color:var(--white);}

/* ---- ANIMATIONS ---- */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.55s cubic-bezier(0.16,1,0.3,1),transform 0.55s cubic-bezier(0.16,1,0.3,1);}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-up:nth-child(2){transition-delay:0.07s;}
.fade-up:nth-child(3){transition-delay:0.14s;}
.fade-up:nth-child(4){transition-delay:0.21s;}
.fade-up:nth-child(5){transition-delay:0.28s;}
.fade-up:nth-child(6){transition-delay:0.35s;}
