/* ============================================================
   MARCHES HERITAGE RESTORATION
   Brand palette: navy · gold — matched to logo
   ============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  /* Colour */
  --bg:           #f4f2ed;
  --surface:      #f8f6f1;
  --surface-alt:  #edeae2;
  --border:       #d8d3c4;
  --divider:      #e6e2d7;

  --text:         #1a1814;
  --text-muted:   #4a4535;
  --text-faint:   #8c8370;

  /* Navy — primary brand colour (from logo background) */
  --green:        #0f2044;
  --green-hover:  #0a1830;
  --green-mid:    #1a3060;
  --green-light:  #2d4d8a;
  --green-pale:   #c2cce0;
  --green-bg:     #0d1c3c;

  /* Gold — accent colour (from logo lettering) */
  --gold:         #b8952a;
  --gold-pale:    #e8dbb0;

  /* Type */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Work Sans', 'Helvetica Neue', sans-serif;

  --text-xs:   clamp(.75rem,  .7rem  + .25vw, .875rem);
  --text-sm:   clamp(.875rem, .82rem + .27vw, 1rem);
  --text-base: clamp(1rem,    .96rem + .2vw,  1.1rem);
  --text-lg:   clamp(1.1rem,  1rem   + .6vw,  1.45rem);
  --text-xl:   clamp(1.5rem,  1.2rem + 1.2vw, 2.2rem);
  --text-hero: clamp(2.5rem,  1rem   + 5.5vw, 5rem);

  /* Spacing */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s5:1.25rem; --s6:1.5rem; --s8:2rem; --s10:2.5rem;
  --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem;

  /* Radius */
  --r-sm: 3px; --r-md: 7px; --r-lg: 12px; --r-xl: 18px; --r-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 3px rgba(26,24,20,.07);
  --shadow-md: 0 4px 16px rgba(26,24,20,.09);
  --shadow-lg: 0 12px 40px rgba(26,24,20,.13);

  --ease: 180ms cubic-bezier(.16,1,.3,1);
  --content: 1080px;
}

/* ── 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:70px;
}
body{
  font-family:var(--font-body);
  font-size:var(--text-base);
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
}
img{display:block;max-width:100%;height:auto}
ul[role=list],ol[role=list]{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;text-wrap:balance}
p,li{text-wrap:pretty;max-width:72ch}
a{color:inherit;text-decoration:none;transition:color var(--ease)}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
input,textarea,select{font:inherit;color:inherit}
svg{display:block;flex-shrink:0}
:focus-visible{outline:2px solid var(--green-light);outline-offset:3px;border-radius:var(--r-sm)}
::selection{background:var(--green-pale);color:var(--text)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ── LAYOUT ──────────────────────────────────────────────── */
.wrap{
  width:100%;max-width:var(--content);
  margin-inline:auto;
  padding-inline:clamp(var(--s5),5vw,var(--s12));
}
.section{padding-block:clamp(var(--s12),7vw,var(--s24))}
.section--alt{background:var(--surface-alt)}
.section--green{background:var(--green-bg);color:#e6e1d4}

/* ── TYPOGRAPHY HELPERS ─────────────────────────────────── */
.eyebrow{
  display:block;
  font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--s3);
}
.eyebrow--light{color:var(--gold)}
.section__header{text-align:center;max-width:640px;margin-inline:auto;margin-bottom:clamp(var(--s8),5vw,var(--s16))}
.section__header h2{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--s4)}
.section__lead{color:var(--text-muted);font-size:var(--text-base);max-width:56ch;margin-inline:auto}
.section--green .section__header h2{color:#e6e1d4}
.section--green .section__lead{color:#8faa94}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;
  letter-spacing:.03em;border-radius:var(--r-sm);
  padding:.7em 1.5em;border:2px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.btn--primary{background:var(--green);color:#fff;border-color:var(--green)}
.btn--primary:hover{background:var(--green-hover);border-color:var(--green-hover)}
.btn--outline-light{background:transparent;color:#e6e1d4;border-color:rgba(255,255,255,.35)}
.btn--outline-light:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.6)}
.btn--hero-primary{background:var(--green);color:#fff;border-color:var(--green);padding:.85em 2em;font-size:var(--text-base)}
.btn--hero-primary:hover{background:var(--green-hover)}
.btn--hero-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);padding:.85em 2em;font-size:var(--text-base)}
.btn--hero-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.8)}
.btn--full{width:100%;justify-content:center}

/* ── TOP BAR ─────────────────────────────────────────────── */
.topbar{background:var(--green);color:rgba(255,255,255,.85);font-size:var(--text-xs);letter-spacing:.04em}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--s2)}
.topbar__location,.topbar__phone{display:flex;align-items:center;gap:var(--s2)}
.topbar__phone{font-weight:600;color:#fff;transition:opacity var(--ease)}
.topbar__phone:hover{opacity:.8}

/* ── HEADER ──────────────────────────────────────────────── */
.header{
  position:sticky;top:0;z-index:200;
  background:color-mix(in srgb,var(--bg) 94%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:box-shadow var(--ease);
}
.header--scrolled{box-shadow:var(--shadow-md)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);height:76px}

.logo{display:flex;align-items:center;gap:var(--s3);color:var(--text);flex-shrink:0}
.logo__img{
  height:54px;
  width:auto;
  border-radius:var(--r-sm);
  object-fit:contain;
  display:block;
}
.logo__img--footer{
  height:70px;
  filter:brightness(1.05);
}

.nav__list{display:flex;align-items:center;list-style:none}
.nav__link{font-size:var(--text-sm);color:var(--text-muted);padding:var(--s2) var(--s3);border-radius:var(--r-sm);transition:color var(--ease),background var(--ease)}
.nav__link:hover{color:var(--text);background:var(--surface-alt)}

.header__actions{display:flex;align-items:center;gap:var(--s3)}
.header__phone{
  display:flex;align-items:center;gap:var(--s2);
  font-size:var(--text-sm);font-weight:600;color:var(--green);
  padding:.42em .85em;border:1.5px solid var(--green-pale);border-radius:var(--r-sm);
  transition:background var(--ease),border-color var(--ease);
}
.header__phone:hover{background:var(--green-pale)}

.burger{display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm)}
.burger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--ease),opacity var(--ease)}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{
  display:none;
  background:var(--bg);border-top:1px solid var(--border);
  padding:var(--s5) clamp(var(--s5),5vw,var(--s12)) var(--s8);
}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:0}
.mobile-nav a{
  display:block;padding:var(--s4) 0;
  font-size:var(--text-base);color:var(--text-muted);
  border-bottom:1px solid var(--divider);transition:color var(--ease);
}
.mobile-nav a:hover{color:var(--text)}

/* ── HERO ────────────────────────────────────────────────── */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--green-bg)}
.hero__photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.hero__photo--placeholder{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,#1a2a44 0%,#0d1c3c 55%,#080f20 100%);
}
.hero__photo-hint{text-align:center;color:rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.hero__photo-hint p{font-size:var(--text-sm);font-family:var(--font-body);line-height:1.5}
.hero__photo-hint small{font-size:var(--text-xs);opacity:.7}
.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(8,16,35,.88) 0%,rgba(8,16,35,.55) 55%,rgba(8,16,35,.18) 100%)}
.hero__content{position:relative;z-index:2;padding-block:clamp(var(--s16),10vw,var(--s32));max-width:680px}
.hero__content .eyebrow{margin-bottom:var(--s5)}
.hero__heading{
  font-family:var(--font-display);font-size:var(--text-hero);font-weight:600;
  line-height:1.05;letter-spacing:-.015em;color:#ede8df;margin-bottom:var(--s6);
}
.hero__heading em{font-style:italic;color:var(--gold)}
.hero__sub{font-size:clamp(1rem,.95rem + .4vw,1.18rem);color:rgba(237,232,223,.72);max-width:52ch;line-height:1.65;margin-bottom:var(--s8)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s10)}
.hero__badges{display:flex;flex-wrap:wrap;gap:var(--s3)}
.hero__badges span{
  font-size:var(--text-xs);font-weight:500;letter-spacing:.05em;
  color:rgba(237,232,223,.65);border:1px solid rgba(237,232,223,.22);
  border-radius:var(--r-pill);padding:.32em 1em;
  backdrop-filter:blur(4px);background:rgba(9,20,13,.25);
}

/* ── TRUST STRIP ─────────────────────────────────────────── */
.trust-strip{background:var(--green);color:#fff;padding-block:var(--s5)}
.trust-strip__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s2)}
.trust-item{display:flex;align-items:center;gap:var(--s3);font-size:var(--text-sm);font-weight:500;padding:var(--s1) var(--s4);white-space:nowrap}
.trust-item svg{opacity:.8}
.trust-sep{width:1px;height:1.4em;background:rgba(255,255,255,.25)}

/* ── SERVICES ────────────────────────────────────────────── */
.services-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin-bottom:var(--s6)}
.service-feature{
  background:var(--surface);border:1px solid var(--border);
  border-top:3px solid var(--green);border-radius:var(--r-lg);
  padding:var(--s8);display:flex;gap:var(--s5);align-items:flex-start;
}
.service-feature__icon{
  width:54px;height:54px;border-radius:var(--r-md);flex-shrink:0;
  background:var(--green-pale);color:var(--green);
  display:flex;align-items:center;justify-content:center;
}
.service-feature h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--s3)}
.service-feature p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.7;margin-bottom:var(--s4)}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:var(--s2)}
.feature-list li{font-size:var(--text-sm);color:var(--text-muted);padding-left:var(--s5);position:relative}
.feature-list li::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:.7}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-bottom:var(--s6)}
.service-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6);
  transition:box-shadow var(--ease),border-color var(--ease),transform var(--ease);
}
.service-card:hover{box-shadow:var(--shadow-md);border-color:var(--green-pale);transform:translateY(-2px)}
.service-card__icon{width:42px;height:42px;border-radius:var(--r-md);background:var(--green-pale);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4)}
.service-card h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:var(--s2)}
.service-card p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65}

/* Full service list toggle */
.full-list{
  border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;background:var(--surface);
}
.full-list summary{
  cursor:pointer;padding:var(--s5) var(--s6);font-size:var(--text-sm);font-weight:600;
  color:var(--green);letter-spacing:.04em;list-style:none;
  display:flex;align-items:center;justify-content:space-between;
  user-select:none;
}
.full-list summary::after{content:'＋';font-size:1.1em;opacity:.7}
.full-list[open] summary::after{content:'－'}
.full-list summary::-webkit-details-marker{display:none}
.full-list ul{
  padding:var(--s2) var(--s6) var(--s6);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:var(--s2) var(--s8);
}
.full-list li{font-size:var(--text-sm);color:var(--text-muted);padding-left:var(--s4);position:relative;line-height:1.55}
.full-list li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.65}

/* ── BEFORE / AFTER ──────────────────────────────────────── */
.ba-section{
  background:var(--green-bg);
  padding-block:clamp(var(--s12),7vw,var(--s24));
}
.ba-section .section__header h2{color:#e6e1d4}
.ba-section .section__lead{color:#8fa4c0}
.ba-section .eyebrow{color:var(--gold)}

.ba-grid{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:var(--s6);
  margin-bottom:var(--s8);
}
.ba-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);overflow:hidden;
}
.ba-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ba-photo--placeholder{
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);min-height:220px;
}
.photo-hint{text-align:center;color:rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.photo-hint p{font-size:var(--text-sm);line-height:1.5}
.photo-hint small{font-size:var(--text-xs);opacity:.7}
.ba-card figcaption{padding:var(--s4) var(--s5);border-top:1px solid rgba(255,255,255,.07)}
.ba-card figcaption p{font-size:var(--text-sm);color:#8faa94;margin-top:var(--s2);max-width:none}
.ba-label{
  display:inline-block;font-size:var(--text-xs);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:.28em .9em;border-radius:var(--r-pill);
}
.ba-label--before{background:rgba(156,123,47,.2);color:#c9a85c}
.ba-label--after{background:rgba(77,125,90,.2);color:#7ac08e}
.ba-arrow{color:rgba(90,140,104,.7)}
.ba-cta-note{text-align:center;font-size:var(--text-sm);color:#8faa94;margin-top:0}
.ba-cta-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* ── WHY RESTORE ─────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.why-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6)}
.why-card__num{display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--green-pale);line-height:1;margin-bottom:var(--s3)}
.why-card h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:var(--s2)}
.why-card p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65}

/* ── PROCESS ─────────────────────────────────────────────── */
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);list-style:none}
.process-step{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:var(--s6);display:flex;gap:var(--s4);align-items:flex-start;
}
.process-step__num{
  font-family:var(--font-display);font-size:2.2rem;font-weight:700;
  color:var(--green-pale);line-height:1;flex-shrink:0;width:2.2rem;text-align:right;
}
.process-step h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:var(--s2)}
.process-step p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65}

/* ── ABOUT ───────────────────────────────────────────────── */
.about-layout{display:grid;grid-template-columns:1fr auto;gap:clamp(var(--s10),6vw,var(--s20));align-items:start}
.about-text h2{font-size:var(--text-xl);font-weight:600;color:#e6e1d4;margin-bottom:var(--s5)}
.about-lead{
  font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);
  color:#c5d0bf;line-height:1.55;margin-bottom:var(--s6);
}
.about-text p{font-size:var(--text-base);color:#8faa94;line-height:1.7;margin-bottom:var(--s5)}
.about-ctas{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s6);padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.1)}

.about-card{
  width:clamp(210px,21vw,270px);flex-shrink:0;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-xl);overflow:hidden;position:sticky;top:90px;
}
.about-card__window{padding:var(--s6);color:rgba(190,208,194,.35)}
.about-card__window svg{width:100%;height:auto}
.about-card__facts{padding:0 var(--s5) var(--s5);display:flex;flex-direction:column;gap:0}
.about-card__fact{display:flex;flex-direction:column;gap:2px;padding-block:var(--s3);border-bottom:1px solid rgba(255,255,255,.07)}
.about-card__fact:last-child{border-bottom:none}
dt{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35)}
dd{font-size:var(--text-sm);color:#c5d0bf}

/* ── SERVICE AREA ────────────────────────────────────────── */
.area-tags{
  display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;
  max-width:700px;margin-inline:auto;list-style:none;
}
.area-tags li{
  font-size:var(--text-sm);font-weight:500;color:var(--green);
  background:var(--green-pale);border:1px solid color-mix(in srgb,var(--green-pale) 60%,var(--green));
  border-radius:var(--r-pill);padding:.45em 1.2em;
}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-section{background:var(--surface-alt)}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(var(--s10),5vw,var(--s16));align-items:start}
.contact-info{display:flex;flex-direction:column;gap:var(--s4)}

.contact-method{
  display:flex;align-items:center;gap:var(--s4);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:var(--s4) var(--s5);transition:border-color var(--ease),box-shadow var(--ease);
}
.contact-method:hover{border-color:var(--green-pale);box-shadow:var(--shadow-sm)}
.contact-method__icon{
  width:44px;height:44px;border-radius:var(--r-md);flex-shrink:0;
  background:var(--green-pale);color:var(--green);
  display:flex;align-items:center;justify-content:center;
}
.contact-method__label{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px}
.contact-method__value{display:block;font-size:var(--text-base);font-weight:600;color:var(--text)}

.contact-photo-note{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:var(--s5);display:flex;gap:var(--s4);align-items:flex-start;
}
.contact-photo-note svg{color:var(--green);margin-top:2px;flex-shrink:0}
.contact-photo-note p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65;max-width:none}
.contact-photo-note a{color:var(--green);text-decoration:underline;text-underline-offset:2px}

/* Form */
.contact-form{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:clamp(var(--s6),4vw,var(--s10));
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.fg{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s5)}
.fg:last-of-type{margin-bottom:0}
.fg label{font-size:var(--text-sm);font-weight:500;color:var(--text-muted)}
.req{color:var(--gold);margin-left:2px}
.req-note{font-weight:400;color:var(--text-faint)}

.fg input,.fg textarea,.fg select{
  background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r-md);
  padding:var(--s3) var(--s4);font-size:var(--text-base);width:100%;
  transition:border-color var(--ease),box-shadow var(--ease);
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--text-faint)}
.fg input:focus,.fg textarea:focus,.fg select:focus{
  outline:none;border-color:var(--green-light);
  box-shadow:0 0 0 3px rgba(74,125,90,.14);
}
.fg select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23635d4c' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right var(--s4) center;
  padding-right:var(--s10);
}
.fg textarea{resize:vertical;min-height:120px}

/* File drop */
.file-drop{position:relative}
.file-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;width:100%;height:100%}
.file-drop__label{
  display:flex;align-items:center;gap:var(--s3);
  background:var(--bg);border:1.5px dashed var(--border);border-radius:var(--r-md);
  padding:var(--s4) var(--s5);color:var(--text-faint);font-size:var(--text-sm);
  cursor:pointer;transition:border-color var(--ease),color var(--ease);
}
.file-drop:hover .file-drop__label,.file-drop:focus-within .file-drop__label{
  border-color:var(--green-light);color:var(--text);
}
.file-note{font-size:var(--text-xs);color:var(--text-faint);margin-top:var(--s2)}
.file-note a{color:var(--green);text-decoration:underline;text-underline-offset:2px}

/* Submit button states */
#submit-btn{margin-top:var(--s2);padding:.85em 1.5em;font-size:var(--text-base);gap:var(--s3)}
#submit-btn:disabled{opacity:.6;cursor:not-allowed}
.spinner{
  width:18px;height:18px;border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;border-radius:50%;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.form-policy{font-size:var(--text-xs);color:var(--text-faint);text-align:center;margin-top:var(--s4)}

/* Messages */
.form-message{
  display:flex;align-items:flex-start;gap:var(--s3);
  padding:var(--s4) var(--s5);border-radius:var(--r-md);margin-top:var(--s5);
}
.form-message p{font-size:var(--text-sm);line-height:1.55;max-width:none}
.form-message a{text-decoration:underline;text-underline-offset:2px}
.form-message--success{background:#eaf4ed;border:1px solid #aad5b4;color:#1c5430}
.form-message--success svg{color:#2a8044;flex-shrink:0;margin-top:1px}
.form-message--error{background:#fdf2f2;border:1px solid #f0b4b4;color:#7a1818}
.form-message--error svg{color:#c43030;flex-shrink:0;margin-top:1px}

/* ── FOOTER ──────────────────────────────────────────────── */
.footer{background:#080f20;color:#b0b8cc;padding-top:clamp(var(--s10),6vw,var(--s20))}
.footer__inner{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;
  gap:clamp(var(--s8),5vw,var(--s16));align-items:start;
  padding-bottom:clamp(var(--s10),5vw,var(--s16));
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer__brand p{font-size:var(--text-sm);color:#6a7a9a;line-height:1.7;max-width:34ch;margin-top:var(--s4)}
.footer__nav-title{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s4)}
.footer__nav ul{list-style:none;display:flex;flex-direction:column;gap:var(--s3)}
.footer__nav a{font-size:var(--text-sm);color:#6a7a9a;transition:color var(--ease)}
.footer__nav a:hover{color:#b0b8cc}
.footer__contact{display:flex;flex-direction:column;gap:var(--s3)}
.footer__contact a{font-size:var(--text-sm);color:#6a7a9a;transition:color var(--ease)}
.footer__contact a:hover{color:var(--gold)}
.footer__address{font-size:var(--text-xs);color:#3a4460;margin-top:var(--s1)}
.footer__base{padding-block:var(--s5)}
.footer__base p{font-size:var(--text-xs);color:#353f58;text-align:center}

/* ── APPROACH ───────────────────────────────────────────── */
.approach-layout{max-width:760px;margin-inline:auto}
.approach-lead{
  font-family:var(--font-display);font-style:italic;
  font-size:var(--text-lg);color:var(--text);line-height:1.6;
  margin-bottom:var(--s5);
}
.approach-layout p{font-size:var(--text-base);color:var(--text-muted);line-height:1.75}

/* ── PRICING ─────────────────────────────────────────────── */
.pricing-layout{max-width:760px;margin-inline:auto}
.pricing-layout > p{font-size:var(--text-base);color:var(--text-muted);line-height:1.75;margin-bottom:var(--s8)}
.pricing-box{
  background:var(--green);color:#e6e1d4;
  border-radius:var(--r-xl);padding:clamp(var(--s6),4vw,var(--s10));
  margin-bottom:var(--s8);
}
.pricing-box h3{
  font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;
  color:#fff;margin-bottom:var(--s4);
}
.pricing-box p{font-size:var(--text-sm);color:rgba(230,225,212,.8);line-height:1.7;margin-bottom:var(--s3)}
.pricing-box p:last-child{margin-bottom:0}
.pricing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-bottom:var(--s8)}
.pricing-step{
  background:var(--surface);border:1px solid var(--border);
  border-top:3px solid var(--gold);
  border-radius:var(--r-lg);padding:var(--s6);
  display:flex;gap:var(--s4);align-items:flex-start;
}
.pricing-step__num{
  font-family:var(--font-display);font-size:2rem;font-weight:700;
  color:var(--gold-pale);line-height:1;flex-shrink:0;
}
.pricing-step h4{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:var(--s2)}
.pricing-step p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65}
.pricing-cta-note{font-size:var(--text-sm);color:var(--text-muted);text-align:center}
.pricing-cta-note a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ── SCROLL REVEAL ───────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal--d1{transition-delay:.07s}
.reveal--d2{transition-delay:.14s}
.reveal--d3{transition-delay:.21s}
.reveal--d4{transition-delay:.28s}
.reveal--d5{transition-delay:.35s}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width:900px){
  .nav{display:none}
  .burger{display:flex}
  .header__phone{display:none}

  .services-feature-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .process-list{grid-template-columns:repeat(2,1fr)}
  .about-layout{grid-template-columns:1fr}
  .about-card{display:none}
  .contact-layout{grid-template-columns:1fr}

  .footer__inner{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}

@media (max-width:580px){
  .topbar{display:none}
  .hero{min-height:100svh}
  .hero__actions{flex-direction:column;align-items:flex-start}
  .hero__badges{display:none}

  .services-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .process-list{grid-template-columns:1fr}

  .ba-grid{
    grid-template-columns:1fr;grid-template-rows:auto auto auto;
    justify-items:center;
  }
  .ba-arrow{transform:rotate(90deg)}
  .pricing-steps{grid-template-columns:1fr}

  .form-row{grid-template-columns:1fr}
  .trust-sep{display:none}
  .trust-item{padding:var(--s1) var(--s3)}

  .footer__inner{grid-template-columns:1fr}
  .footer__nav{display:none}
}
