  /* -------- Design tokens -------- */
  :root{
    --gold:#B8895A;
    --gold-dark:#9E7245;
    --gold-light:#D4AF87;
    --forest:#1F3B34;
    --forest-deep:#152722;
    --ivory:#F5F1EC;
    --ivory-2:#EDE6DC;
    --ink:#1a1a1a;
    --muted:#6b6558;
    --line:rgba(31,59,52,0.12);
    --serif:'Playfair Display', Georgia, serif;
    --sans:'Inter', system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif;
    --shadow-sm: 0 2px 10px rgba(21,39,34,0.06);
    --shadow-md: 0 12px 40px rgba(21,39,34,0.10);
    --shadow-lg: 0 24px 60px rgba(21,39,34,0.18);
  }

  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:var(--sans);
    color:var(--ink);
    background:var(--ivory);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer}

  h1,h2,h3,h4{
    font-family:var(--serif);
    color:var(--forest);
    font-weight:600;
    line-height:1.15;
    letter-spacing:-0.01em;
    margin:0;
    text-wrap:balance;
  }
  h1{font-size:clamp(2.4rem, 5.5vw, 4.6rem);font-weight:700}
  h2{font-size:clamp(2rem, 3.8vw, 3.2rem)}
  h3{font-size:clamp(1.3rem, 1.8vw, 1.6rem)}
  p{text-wrap:pretty}

  .container{max-width:1280px;margin:0 auto;padding:0 clamp(20px, 4vw, 48px)}
  .eyebrow{
    font-family:var(--sans);
    font-size:0.78rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .eyebrow::before{
    content:"";
    width:40px;height:1px;background:var(--gold);display:inline-block;
  }
  .section{padding:clamp(72px, 10vw, 140px) 0}
  .section-title{margin:14px 0 20px}
  .section-lead{color:var(--muted);max-width:640px;font-size:1.06rem}

  /* -------- Buttons -------- */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 26px;border-radius:2px;
    font-weight:600;font-size:0.92rem;letter-spacing:0.04em;
    transition:all .25s ease;
    border:1.5px solid transparent;
    text-transform:uppercase;
  }
  .btn-primary{background:var(--gold);color:#fff;border-color:var(--gold)}
  .btn-primary:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(184,137,90,0.35)}
  .btn-outline{border-color:#fff;color:#fff;background:transparent}
  .btn-outline:hover{background:#fff;color:var(--forest)}
  .btn-forest{background:var(--forest);color:#fff;border-color:var(--forest)}
  .btn-forest:hover{background:var(--forest-deep);transform:translateY(-2px)}
  .btn .arrow{transition:transform .25s ease}
  .btn:hover .arrow{transform:translateX(4px)}

  /* -------- Header -------- */
  header.site-header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(245,241,236,0.0);
    backdrop-filter:blur(0);
    transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
    padding:22px 0;
  }
  header.site-header.scrolled{
    background:rgba(245,241,236,0.96);
    backdrop-filter:blur(12px);
    box-shadow:0 1px 0 var(--line);
    padding:14px 0;
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .brand{display:flex;align-items:center;gap:14px}
  .brand img{
    height:88px;width:auto;
    transition:height .3s ease, filter .3s ease;
    filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,0.35));
  }
  header.scrolled .brand img{height:64px;filter:none}

  nav.main-nav{display:none}
  @media (min-width:1024px){
    nav.main-nav{display:flex;gap:38px}
  }
  nav.main-nav a{
    color:#fff;font-size:0.88rem;font-weight:500;letter-spacing:0.02em;
    position:relative;padding:6px 0;
    transition:color .25s ease;
  }
  nav.main-nav a::after{
    content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold);
    transition:width .3s ease;
  }
  nav.main-nav a:hover::after{width:100%}
  header.scrolled nav.main-nav a{color:var(--forest)}

  .header-cta{display:flex;align-items:center;gap:14px}
  .foundation-btn{
    background:var(--gold);color:#fff;
    padding:12px 22px;border-radius:2px;
    font-weight:600;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:8px;
    transition:all .25s ease;
    border:1.5px solid var(--gold);
    white-space:nowrap;
  }
  .foundation-btn:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(184,137,90,0.4)}
  .foundation-btn svg{width:14px;height:14px}

  .menu-toggle{
    display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;
  }
  .menu-toggle span{width:24px;height:1.5px;background:#fff;transition:all .3s ease}
  header.scrolled .menu-toggle span{background:var(--forest)}
  @media (min-width:1024px){.menu-toggle{display:none}}

  /* Mobile menu */
  .mobile-nav{
    position:fixed;inset:0;background:var(--forest);z-index:99;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:32px;
    transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1);
  }
  .mobile-nav.open{transform:translateY(0)}
  .mobile-nav a{color:#fff;font-family:var(--serif);font-size:2rem}

  /* -------- Hero -------- */
  .hero{
    position:relative;min-height:100vh;
    display:flex;align-items:center;
    color:#fff;overflow:hidden;
    padding-top:120px;padding-bottom:80px;
  }
  .hero-bg{
    position:absolute;inset:0;z-index:0;
    background-image:url('../../images/hero-shade-structures.jpg');
    background-size:cover;background-position:center;
    transform:scale(1.05);
    animation:heroZoom 20s ease-out forwards;
  }
  @keyframes heroZoom{to{transform:scale(1)}}
  .hero-bg::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(21,39,34,0.55) 0%, rgba(21,39,34,0.75) 60%, rgba(21,39,34,0.9) 100%),
      linear-gradient(90deg, rgba(21,39,34,0.5), transparent 60%);
  }
  .hero-inner{position:relative;z-index:2;width:100%}
  .hero-eyebrow{color:var(--gold-light);border-left:2px solid var(--gold);padding-left:16px;margin-bottom:24px}
  .hero-eyebrow::before{display:none}
  .hero h1{color:#fff;max-width:900px;font-weight:700;line-height:1.05}
  .hero h1 em{font-style:italic;color:var(--gold-light);font-weight:400}
  .hero-sub{
    margin:28px 0 40px;max-width:640px;
    font-size:clamp(1.05rem,1.4vw,1.2rem);
    color:rgba(255,255,255,0.85);
    line-height:1.6;
  }
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
  .hero-meta{
    position:absolute;bottom:40px;left:0;right:0;z-index:2;
    display:flex;justify-content:space-between;align-items:flex-end;
    color:rgba(255,255,255,0.7);font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;
    gap:20px;flex-wrap:wrap;
  }
  .hero-meta .scroll-hint{display:flex;align-items:center;gap:12px}
  .hero-meta .scroll-line{width:60px;height:1px;background:var(--gold);position:relative;overflow:hidden}
  .hero-meta .scroll-line::after{
    content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:#fff;
    animation:scrollLine 2s ease-in-out infinite;
  }
  @keyframes scrollLine{50%{left:100%}100%{left:100%}}

  /* -------- Gold vertical accent (skyscraper motif) -------- */
  .gold-line{
    position:absolute;width:1px;background:linear-gradient(180deg, transparent, var(--gold) 40%, var(--gold) 60%, transparent);
    height:80px;
  }

  /* -------- About -------- */
  .about{background:var(--ivory);position:relative}
  .about-grid{
    display:grid;gap:60px;
    grid-template-columns:1fr;
    align-items:start;
  }
  @media (min-width:900px){.about-grid{grid-template-columns:1fr 1.1fr;gap:80px}}
  .about-visual{position:relative}
  .about-visual .img-wrap{
    aspect-ratio:4/5;background:var(--forest);position:relative;overflow:hidden;
    box-shadow:var(--shadow-lg);
  }
  .about-visual .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
  .about-visual .img-wrap:hover img{transform:scale(1.04)}
  .about-visual .frame{
    position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);z-index:-1;
  }
  .about-badge{
    position:absolute;bottom:-30px;right:-20px;
    background:var(--gold);color:#fff;padding:24px 28px;
    max-width:240px;box-shadow:var(--shadow-md);
  }
  .about-badge .num{font-family:var(--serif);font-size:2.6rem;line-height:1;color:#fff;font-weight:700}
  .about-badge .lbl{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;margin-top:6px;opacity:0.9}

  .about-copy p{color:var(--muted);font-size:1.05rem;margin:0 0 18px}
  .about-copy .lead{color:var(--ink);font-size:1.18rem;font-weight:400;line-height:1.6}
  .founder{
    margin-top:36px;padding:28px;background:#fff;border-left:3px solid var(--gold);
    box-shadow:var(--shadow-sm);
  }
  .founder .who{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px}
  .founder .who h4{font-family:var(--serif);font-size:1.3rem;color:var(--forest);margin:0}
  .founder .who span{font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .founder p{margin:0;color:var(--muted);font-size:0.98rem}
  .owned-badge{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--forest);color:#fff;padding:10px 18px;border-radius:2px;
    font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:600;
    margin-top:24px;
  }
  .owned-badge svg{width:16px;height:16px;color:var(--gold)}

  .stats-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
    margin-top:48px;padding-top:36px;border-top:1px solid var(--line);
  }
  .stat .num{font-family:var(--serif);font-size:clamp(1.8rem, 3vw, 2.6rem);color:var(--forest);font-weight:700;line-height:1}
  .stat .lbl{font-size:0.76rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-weight:500}

  /* -------- Vision / Mission / Values -------- */
  .vmv{background:var(--forest);color:#fff;position:relative;overflow:hidden}
  .vmv::before{
    content:"";position:absolute;top:0;left:10%;width:1px;height:100%;
    background:linear-gradient(180deg, transparent, rgba(184,137,90,0.3), transparent);
  }
  .vmv h2{color:#fff}
  .vmv .eyebrow{color:var(--gold-light)}
  .vmv .eyebrow::before{background:var(--gold-light)}
  .vmv-tabs{
    display:flex;gap:0;margin:48px 0 40px;border-bottom:1px solid rgba(255,255,255,0.15);flex-wrap:wrap;
  }
  .vmv-tab{
    background:none;border:0;color:rgba(255,255,255,0.5);
    padding:16px 28px;font-family:var(--serif);font-size:1.3rem;
    position:relative;transition:color .25s ease;
    border-bottom:2px solid transparent;margin-bottom:-1px;
  }
  .vmv-tab.active{color:#fff;border-color:var(--gold)}
  .vmv-tab:hover{color:#fff}
  .vmv-panel{display:none;animation:fadeIn .4s ease}
  .vmv-panel.active{display:grid;grid-template-columns:1fr;gap:40px}
  @media (min-width:900px){.vmv-panel.active{grid-template-columns:1fr 1.2fr}}
  @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .vmv-panel .big-num{
    font-family:var(--serif);font-size:clamp(5rem, 12vw, 9rem);
    color:transparent;-webkit-text-stroke:1px rgba(184,137,90,0.6);
    line-height:0.9;font-weight:700;
  }
  .vmv-panel h3{color:#fff;font-size:clamp(1.6rem, 2.4vw, 2.2rem);margin-bottom:20px}
  .vmv-panel p{color:rgba(255,255,255,0.8);font-size:1.1rem;line-height:1.7;max-width:640px}
  .values-list{display:grid;grid-template-columns:1fr;gap:20px;margin-top:24px}
  @media (min-width:600px){.values-list{grid-template-columns:1fr 1fr}}
  .value-item{padding:20px 0;border-top:1px solid rgba(255,255,255,0.12)}
  .value-item h4{color:var(--gold-light);font-size:1.05rem;font-family:var(--sans);font-weight:600;letter-spacing:0.05em;margin:0 0 4px}
  .value-item p{color:rgba(255,255,255,0.7);font-size:0.92rem;margin:0}

  /* -------- Services -------- */
  .services{background:var(--ivory)}
  .services-head{display:grid;grid-template-columns:1fr;gap:24px;align-items:end;margin-bottom:60px}
  @media (min-width:900px){.services-head{grid-template-columns:1fr 1fr}}
  .services-grid{
    display:grid;grid-template-columns:1fr;gap:1px;
    background:var(--line);border:1px solid var(--line);
  }
  @media (min-width:700px){.services-grid{grid-template-columns:1fr 1fr}}
  @media (min-width:1100px){.services-grid{grid-template-columns:repeat(4,1fr)}}
  .service-card{
    background:#fff;padding:40px 32px;position:relative;
    transition:background .35s ease, color .35s ease;
    min-height:340px;display:flex;flex-direction:column;
  }
  .service-card .num{
    font-family:var(--serif);font-size:0.85rem;color:var(--gold);
    letter-spacing:0.2em;font-weight:600;margin-bottom:36px;
  }
  .service-card .icon{
    width:56px;height:56px;border:1px solid var(--gold);
    display:grid;place-items:center;margin-bottom:24px;
    color:var(--gold);transition:all .35s ease;
  }
  .service-card .icon svg{width:28px;height:28px;stroke-width:1.4}
  .service-card h3{margin:0 0 12px;font-size:1.35rem}
  .service-card p{color:var(--muted);font-size:0.95rem;margin:0;flex-grow:1}
  .service-card .arrow-icon{
    margin-top:24px;color:var(--gold);width:24px;height:24px;
    transition:transform .35s ease;
  }
  .service-card:hover{background:var(--forest);color:#fff}
  .service-card:hover h3,.service-card:hover .num{color:#fff}
  .service-card:hover p{color:rgba(255,255,255,0.75)}
  .service-card:hover .icon{border-color:var(--gold);background:var(--gold);color:#fff}
  .service-card:hover .arrow-icon{transform:translateX(6px)}

  /* -------- Industries -------- */
  .industries{background:#fff}
  .industries-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
    background:var(--line);margin-top:60px;border:1px solid var(--line);
  }
  @media (min-width:700px){.industries-grid{grid-template-columns:repeat(3,1fr)}}
  @media (min-width:1000px){.industries-grid{grid-template-columns:repeat(6,1fr)}}
  .industry{
    background:#fff;padding:44px 20px;text-align:center;
    display:flex;flex-direction:column;align-items:center;gap:16px;
    transition:background .3s ease, transform .3s ease;
  }
  .industry:hover{background:var(--ivory)}
  .industry .icon{
    width:48px;height:48px;color:var(--gold);
    display:grid;place-items:center;
    transition:transform .3s ease;
  }
  .industry:hover .icon{transform:translateY(-4px)}
  .industry .icon svg{width:100%;height:100%;stroke-width:1.3}
  .industry .lbl{
    font-family:var(--serif);color:var(--forest);
    font-size:1.05rem;font-weight:500;
  }

  /* -------- Projects -------- */
  .projects{background:var(--ivory);position:relative}
  .projects-grid{
    display:grid;grid-template-columns:1fr;gap:20px;margin-top:60px;
  }
  @media (min-width:700px){
    .projects-grid{
      grid-template-columns:repeat(6,1fr);
      grid-auto-rows:180px;
    }
  }
  .project{
    position:relative;overflow:hidden;background:var(--forest);
    cursor:pointer;
    grid-column:span 6;height:280px;
  }
  @media (min-width:700px){
    .project{height:auto}
    .project.p-tall{grid-column:span 3;grid-row:span 2}
    .project.p-wide{grid-column:span 3;grid-row:span 1}
    .project.p-lg{grid-column:span 3;grid-row:span 2}
    .project.p-sm{grid-column:span 3;grid-row:span 1}
  }
  .project img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  }
  .project::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(21,39,34,0.85) 100%);
    transition:opacity .3s ease;
  }
  .project .caption{
    position:absolute;left:24px;right:24px;bottom:20px;z-index:2;
    color:#fff;
    transform:translateY(4px);transition:transform .35s ease;
  }
  .project .caption .num{
    font-size:0.72rem;letter-spacing:0.22em;color:var(--gold-light);font-weight:600;
  }
  .project .caption h4{
    color:#fff;font-family:var(--serif);font-size:1.15rem;margin:4px 0 0;
  }
  .project:hover img{transform:scale(1.06)}
  .project:hover .caption{transform:translateY(0)}

  /* -------- Certifications -------- */
  .certs{background:#fff}
  .certs-head{text-align:center;max-width:720px;margin:0 auto 60px}
  .certs-head .section-lead{margin:14px auto 0}
  .certs-grid{
    display:grid;grid-template-columns:1fr;gap:20px;
  }
  @media (min-width:600px){.certs-grid{grid-template-columns:repeat(2,1fr)}}
  @media (min-width:1000px){.certs-grid{grid-template-columns:repeat(4,1fr)}}
  .cert{
    padding:28px 24px;border:1px solid var(--line);
    background:var(--ivory);
    transition:all .3s ease;
    display:flex;flex-direction:column;gap:8px;
  }
  .cert:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .cert .grade{
    font-family:var(--serif);color:var(--gold);
    font-size:0.78rem;letter-spacing:0.2em;font-weight:600;
  }
  .cert h4{
    color:var(--forest);font-family:var(--serif);
    font-size:1.15rem;margin:0;
  }
  .cert p{color:var(--muted);font-size:0.88rem;margin:6px 0 0}

  .compliance-strip{
    margin-top:60px;padding:36px;background:var(--forest);color:#fff;
    display:grid;grid-template-columns:1fr;gap:24px;
  }
  @media (min-width:800px){.compliance-strip{grid-template-columns:repeat(4,1fr);gap:36px;padding:44px 48px}}
  .compliance-item{border-left:2px solid var(--gold);padding-left:16px}
  .compliance-item .lbl{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-light);font-weight:600}
  .compliance-item .val{font-family:var(--serif);font-size:1rem;margin-top:4px;color:#fff;word-break:break-all}

  /* -------- Why Choose Us -------- */
  .why{
    background:var(--ivory);
    background-image:
      linear-gradient(180deg, rgba(245,241,236,0.9), rgba(245,241,236,0.9)),
      url('../../images/project-steel-frame.jpg');
    background-size:cover;background-position:center;background-attachment:fixed;
  }
  .why-grid{
    display:grid;grid-template-columns:1fr;gap:1px;
    margin-top:60px;background:var(--line);border:1px solid var(--line);
  }
  @media (min-width:700px){.why-grid{grid-template-columns:repeat(2,1fr)}}
  @media (min-width:1000px){.why-grid{grid-template-columns:repeat(3,1fr)}}
  .why-item{
    background:#fff;padding:36px 32px;
    display:flex;gap:20px;align-items:flex-start;
    transition:background .3s ease;
  }
  .why-item:hover{background:var(--ivory-2)}
  .why-item .why-num{
    font-family:var(--serif);color:var(--gold);font-size:1.6rem;font-weight:700;
    line-height:1;min-width:40px;
  }
  .why-item h4{color:var(--forest);font-family:var(--serif);font-size:1.15rem;margin:0 0 6px}
  .why-item p{color:var(--muted);font-size:0.92rem;margin:0}

  /* -------- Contact -------- */
  .contact{background:var(--forest);color:#fff}
  .contact h2{color:#fff}
  .contact .eyebrow{color:var(--gold-light)}
  .contact .eyebrow::before{background:var(--gold-light)}
  .contact-grid{
    display:grid;grid-template-columns:1fr;gap:60px;margin-top:60px;
  }
  @media (min-width:1000px){.contact-grid{grid-template-columns:1fr 1.2fr;gap:80px}}
  .contact-info h3{color:#fff;margin-bottom:24px}
  .info-block{padding:24px 0;border-bottom:1px solid rgba(255,255,255,0.12)}
  .info-block:last-child{border-bottom:0}
  .info-block .lbl{
    font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--gold-light);font-weight:600;margin-bottom:10px;
  }
  .info-block .val{color:#fff;font-size:1.02rem;line-height:1.6}
  .info-block a{color:#fff;transition:color .25s ease}
  .info-block a:hover{color:var(--gold-light)}
  .offices{display:grid;grid-template-columns:1fr;gap:24px;margin-top:8px}
  @media (min-width:600px){.offices{grid-template-columns:1fr 1fr}}
  .office{padding:20px;background:rgba(255,255,255,0.04);border-left:2px solid var(--gold)}
  .office h4{color:var(--gold-light);font-family:var(--sans);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;margin:0 0 10px}
  .office p{color:rgba(255,255,255,0.85);font-size:0.92rem;margin:0;line-height:1.6}

  .contact-form{
    background:rgba(255,255,255,0.04);padding:clamp(28px, 4vw, 44px);
    border:1px solid rgba(255,255,255,0.08);
  }
  .contact-form h3{color:#fff;margin-bottom:6px}
  .contact-form .lead-txt{color:rgba(255,255,255,0.7);font-size:0.95rem;margin-bottom:24px}
  .form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
  @media (min-width:600px){.form-row.two{grid-template-columns:1fr 1fr}}
  .field label{
    display:block;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--gold-light);font-weight:600;margin-bottom:8px;
  }
  .field input,.field textarea{
    width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,0.2);
    color:#fff;padding:10px 0;font-family:var(--sans);font-size:1rem;
    transition:border-color .25s ease;
  }
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
  .field textarea{resize:vertical;min-height:110px}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,0.35)}
  .form-submit{margin-top:24px}
  .form-note{margin-top:14px;color:rgba(255,255,255,0.55);font-size:0.82rem}

  /* -------- Footer -------- */
  footer.site-footer{background:var(--forest-deep);color:rgba(255,255,255,0.7);padding:80px 0 30px}
  .footer-grid{
    display:grid;grid-template-columns:1fr;gap:40px;
  }
  @media (min-width:800px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px}}
  .footer-brand img{height:64px;filter:brightness(0) invert(1);opacity:0.9;margin-bottom:18px}
  .footer-brand p{font-size:0.92rem;line-height:1.7;color:rgba(255,255,255,0.6);max-width:320px}
  .footer-col h5{
    font-family:var(--sans);color:#fff;font-size:0.75rem;letter-spacing:0.22em;
    text-transform:uppercase;font-weight:600;margin:0 0 20px;
  }
  .footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .footer-col a{color:rgba(255,255,255,0.65);font-size:0.92rem;transition:color .25s ease}
  .footer-col a:hover{color:var(--gold-light)}
  .foundation-link{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--gold-light);font-weight:500;
  }
  .social{display:flex;gap:12px;margin-top:8px}
  .social a{
    width:36px;height:36px;border:1px solid rgba(255,255,255,0.15);
    display:grid;place-items:center;color:rgba(255,255,255,0.6);
    transition:all .25s ease;
  }
  .social a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
  .social svg{width:16px;height:16px}
  .footer-bottom{
    margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);
    display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
    font-size:0.82rem;color:rgba(255,255,255,0.5);
  }

  /* -------- Reveal animations -------- */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal-delay-1{transition-delay:.1s}
  .reveal-delay-2{transition-delay:.2s}
  .reveal-delay-3{transition-delay:.3s}

  /* Selection */
  ::selection{background:var(--gold);color:#fff}

  /* -------- Sub-page hero (interior pages) -------- */
  .subhero{
    position:relative;
    min-height:52vh;
    display:flex;align-items:center;
    color:#fff;overflow:hidden;
    padding-top:180px;padding-bottom:80px;
    background:var(--forest);
  }
  .subhero-bg{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
    opacity:0.4;
  }
  .subhero-bg::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(21,39,34,0.55) 0%, rgba(21,39,34,0.92) 100%);
  }
  .subhero-inner{position:relative;z-index:2;width:100%}
  .subhero h1{
    color:#fff;font-size:clamp(2.2rem, 4.5vw, 4rem);
    max-width:900px;margin-top:18px;font-weight:700;
  }
  .subhero .eyebrow{color:var(--gold-light)}
  .subhero .eyebrow::before{background:var(--gold-light)}
  .subhero .sub-lead{
    color:rgba(255,255,255,0.8);max-width:640px;margin-top:22px;font-size:1.06rem;
  }
  .subhero .breadcrumbs{
    margin-top:28px;font-size:0.76rem;letter-spacing:0.2em;text-transform:uppercase;
    color:rgba(255,255,255,0.5);
  }
  .subhero .breadcrumbs a{color:rgba(255,255,255,0.55);transition:color .25s ease}
  .subhero .breadcrumbs a:hover{color:var(--gold-light)}
  .subhero .breadcrumbs span.sep{margin:0 10px;color:var(--gold)}

  /* Active nav state */
  nav.main-nav a.active{color:var(--gold-light)}
  header.scrolled nav.main-nav a.active{color:var(--gold)}
  nav.main-nav a.active::after{width:100%;background:var(--gold)}

  /* CTA strip (bottom of interior pages) */
  .cta-strip{
    background:var(--forest);color:#fff;padding:clamp(64px,8vw,100px) 0;text-align:center;
    position:relative;overflow:hidden;
  }
  .cta-strip::before{
    content:"";position:absolute;top:0;left:50%;width:1px;height:60px;
    background:linear-gradient(180deg, var(--gold), transparent);
  }
  .cta-strip h2{color:#fff;max-width:760px;margin:0 auto 20px}
  .cta-strip p{color:rgba(255,255,255,0.75);max-width:560px;margin:0 auto 32px}
  .cta-strip .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
