
  :root{
    --ink:#12241a;
    --green-deep:#1b3226;
    --green-mid:#24402f;
    --ivory:#f4efe3;
    --ivory-warm:#ece2cd;
    --charcoal:#211f1a;
    --gold:#b3894c;
    --gold-soft:#d1ac72;
    --line-dark:rgba(209,172,114,0.28);
    --line-light:rgba(33,31,26,0.14);
    --max:1180px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    background:var(--ivory);
    color:var(--charcoal);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  h1,h2,h3,.serif{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:-0.01em;
    color:inherit;
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}

  .wrap{max-width:var(--max); margin:0 auto; padding:0 40px;}
  @media (max-width:640px){ .wrap{padding:0 24px;} }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(18,36,26,0.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line-dark);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    height:92px; color:var(--ivory);
  }
  .brand-link{ display:flex; align-items:center; }
  .brand-lockup{ display:flex; align-items:center; gap:14px; }
  .brand-mark-img{ height:58px; width:auto; display:block; }
  .brand-text{ display:flex; flex-direction:column; justify-content:center; gap:3px; line-height:1; }
  .brand-text .og{
    font-family:'Inter', sans-serif; font-weight:600; font-size:0.76rem;
    letter-spacing:0.1em; color:var(--gold-soft);
  }
  .brand-text .grp{
    font-family:'Inter', sans-serif; font-weight:500; font-size:0.76rem;
    letter-spacing:0.1em; color:rgba(244,239,227,0.85);
  }
  .footer-brand-lockup .brand-mark-img{ height:78px; }
  .footer-brand-lockup .brand-text .og, .footer-brand-lockup .brand-text .grp{ font-size:0.92rem; }
  .vert-logo{ display:block; }
  .vert-mark{
    height:76px; display:flex; align-items:center; justify-content:flex-start;
    margin-bottom:24px;
  }
  .vert-mark img, .vert-mark svg{ height:100%; width:auto; max-width:100%; object-fit:contain; display:block; }
  @media (max-width:480px){
    .brand-mark-img{ height:42px; }
    .brand-text .og, .brand-text .grp{ font-size:0.6rem; letter-spacing:0.08em; }
    .footer-brand-lockup .brand-mark-img{ height:60px; }
    .footer-brand-lockup .brand-text .og, .footer-brand-lockup .brand-text .grp{ font-size:0.72rem; }
  }
  nav.links{ display:flex; gap:36px; align-items:center; }
  nav.links a{
    font-size:0.92rem; color:var(--ivory); opacity:0.86;
    transition:opacity 0.2s ease;
  }
  nav.links a:hover{ opacity:1; }
  .nav-cta{
    border:1px solid var(--gold-soft); padding:9px 20px; border-radius:2px;
    font-size:0.86rem !important; opacity:1 !important;
  }
  .nav-cta:hover{ background:var(--gold-soft); color:var(--ink) !important; }

  /* Grouping wrapper: inert on desktop (children lay out directly in the flex row) */
  .nav-group{ display:contents; }
  .mobile-verticals{ display:none; }

  .menu-btn{ display:none; background:none; border:none; cursor:pointer; padding:6px; position:relative; z-index:210; }
  .menu-btn span{ display:block; width:22px; height:1.5px; background:var(--ivory); margin:5px 0; transition:transform 0.25s ease, opacity 0.2s ease; }
  .menu-btn.is-active span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .menu-btn.is-active span:nth-child(2){ opacity:0; }
  .menu-btn.is-active span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  @media (max-width:880px){
    nav.links{
      position:fixed; top:0; left:0; right:0; height:100vh; height:100dvh;
      background:var(--ink); flex-direction:column; justify-content:flex-start;
      align-items:stretch;
      padding:118px 32px 48px; gap:0;
      transform:translateX(100%);
      transition:transform 0.35s ease;
      overflow-y:auto; -webkit-overflow-scrolling:touch;
      z-index:200;
    }
    nav.links.open{ transform:translateX(0); }
    .menu-btn{ display:block; }

    .nav-group{ display:block; width:100%; margin-bottom:30px; }
    .nav-group:last-child{ margin-bottom:0; }

    nav.links a.nav-link{
      display:block; font-size:1.2rem; font-weight:500; letter-spacing:0.01em;
      padding:6px 0; opacity:1;
    }

    .mobile-verticals{
      display:flex; flex-direction:column; gap:2px;
      margin-top:12px; padding-left:18px;
      border-left:1px solid var(--line-dark);
    }
    .mobile-verticals a{
      display:block; font-size:0.94rem; font-weight:300; opacity:1;
      color:rgba(244,239,227,0.6); padding:9px 0;
    }
    .mobile-verticals a:hover{ color:var(--gold-soft); }

    .nav-group-contact{
      padding-top:26px; margin-top:4px; margin-bottom:30px;
      border-top:1px solid var(--line-dark);
    }
    nav.links a.nav-cta{
      display:block; width:100%; text-align:center;
      font-size:1.02rem !important; padding:16px 20px;
    }

    .nav-group-lang{
      padding-top:24px; border-top:1px solid var(--line-dark); margin-bottom:0;
    }
    .nav-group-lang .lang-select{ font-size:0.95rem; gap:10px; }
    .nav-group-lang .lang-select a{ padding:6px 4px; }
  }

  @media (max-width:400px){
    nav.links{ padding:104px 24px 40px; }
    nav.links a.nav-link{ font-size:1.12rem; }
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; background:var(--ink); color:var(--ivory);
    padding:180px 0 120px; overflow:hidden;
  }
  .hero-lines{
    position:absolute; inset:0; opacity:0.5; pointer-events:none;
  }
  .hero-inner{ position:relative; max-width:760px; }
  .hero h1{
    font-size:clamp(2.3rem, 4.6vw, 4rem);
    line-height:1.08;
    margin-bottom:28px;
  }
  @media (min-width:1280px){
    .hero h1{
      font-size:clamp(3.7rem, 4.6vw, 4.25rem);
    }
  }
  .hero p.lead{
    font-size:1.15rem; color:rgba(244,239,227,0.82); max-width:560px;
    margin-bottom:44px; font-weight:300;
  }
  .cta-row{ display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
  .btn-primary{
    background:var(--gold-soft); color:var(--ink); padding:15px 30px;
    border-radius:2px; font-size:0.95rem; font-weight:500;
    display:inline-block; transition:background 0.2s ease;
  }
  .btn-primary:hover{ background:#e2c088; }
  .btn-ghost{
    border-bottom:1px solid var(--line-dark); padding-bottom:4px;
    font-size:0.95rem; color:var(--ivory); transition:border-color 0.2s ease;
  }
  .btn-ghost:hover{ border-color:var(--gold-soft); }

  .hero-foot{
    margin-top:96px; border-top:1px solid var(--line-dark); padding-top:28px;
    display:flex; flex-direction:column; gap:16px;
  }
  .hero-verticals{
    font-size:0.85rem; color:var(--gold-soft); font-weight:400; letter-spacing:0.01em;
  }
  .hero-meta{
    display:flex; gap:56px; flex-wrap:wrap;
    font-size:0.85rem; color:rgba(244,239,227,0.62);
  }

  /* ---------- SECTION GENERICS ---------- */
  section{ padding:110px 0; }
  @media (max-width:640px){ section{ padding:76px 0; } }
  .section-head{ max-width:640px; margin-bottom:64px; }
  .section-head h2{ font-size:clamp(1.8rem, 3vw, 2.5rem); margin-bottom:20px; }
  .section-head p{ font-size:1.05rem; color:rgba(33,31,26,0.72); font-weight:300; }
  .section-head.on-dark p{ color:rgba(244,239,227,0.75); }

  /* ---------- APPROACH ---------- */
  .approach-track{
    display:flex; gap:0; position:relative;
  }
  .approach-track::before{
    content:''; position:absolute; top:15px; left:0; right:0; height:1px;
    background:var(--line-light);
  }
  .step{
    flex:1; position:relative; padding-right:28px;
  }
  .step .num{
    width:32px; height:32px; border-radius:50%; background:var(--ivory);
    border:1px solid var(--gold); color:var(--gold);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-size:0.92rem; margin-bottom:24px;
    position:relative; z-index:2;
  }
  .step h3{ font-size:1.08rem; margin-bottom:10px; font-weight:500; }
  .step p{ font-size:0.92rem; color:rgba(33,31,26,0.68); font-weight:300; }

  @media (max-width:900px){
    .approach-track{ flex-direction:column; gap:36px; }
    .approach-track::before{ display:none; }
    .step{ padding-right:0; padding-left:28px; border-left:1px solid var(--line-light); }
    .step .num{ margin-left:-16px; }
  }

  /* ---------- VERTICALS ---------- */
  .verticals{ background:var(--green-deep); color:var(--ivory); }
  .vert-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
    background:var(--line-dark);
    border:1px solid var(--line-dark);
  }
  @media (max-width:900px){ .vert-grid{ grid-template-columns:repeat(2, 1fr); } }
  @media (max-width:600px){ .vert-grid{ grid-template-columns:1fr; } }
  .vert-card{
    background:var(--green-deep); padding:44px 38px;
    transition:background 0.25s ease;
  }
  .vert-card:hover{ background:var(--green-mid); }
  .vert-icon{ opacity:0.92; }
  .vert-card h3{ font-size:1.3rem; margin-bottom:6px; }
  .vert-tag{
    font-size:0.82rem; color:var(--gold-soft); margin-bottom:18px;
    font-weight:400;
  }
  .vert-card p{
    font-size:0.94rem; color:rgba(244,239,227,0.7); font-weight:300;
    max-width:340px;
  }

  /* ---------- ECOSYSTEM ---------- */
  .ecosystem{
    background:var(--ivory);
  }
  .eco-inner{
    max-width:760px; border-left:2px solid var(--gold); padding-left:40px;
  }
  .eco-kicker{
    font-size:0.85rem; color:var(--gold); margin-bottom:14px; letter-spacing:0.02em;
  }
  .eco-inner h2{ font-size:2rem; margin-bottom:24px; }
  .eco-inner p{
    font-size:1.05rem; font-weight:300; color:rgba(33,31,26,0.75);
    margin-bottom:28px; line-height:1.65; max-width:640px;
  }
  .eco-capabilities{
    font-size:0.88rem; color:rgba(33,31,26,0.58); letter-spacing:0.01em; line-height:1.9;
  }
  .eco-capabilities span{ white-space:nowrap; }

  /* ---------- OPPORTUNITIES ---------- */
  .opportunities{
    background:var(--ivory-warm);
  }
  .opp-inner{
    max-width:760px; border-left:2px solid var(--gold); padding-left:40px;
  }
  .opp-inner p{
    font-size:1.15rem; font-weight:300; color:var(--charcoal);
    margin-bottom:36px; line-height:1.65;
  }
  .opp-h2{ font-size:2rem; margin-bottom:28px; }
  .btn-outline{
    display:inline-block; border:1px solid var(--charcoal); color:var(--charcoal);
    padding:13px 26px; border-radius:2px; font-size:0.92rem;
    transition:all 0.2s ease;
  }
  .btn-outline:hover{ background:var(--charcoal); color:var(--ivory); }

  /* ---------- OPPORTUNITY CARDS ---------- */
  .opp-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:1px;
    background:var(--line-light); border:1px solid var(--line-light);
    margin-top:52px; max-width:960px;
  }
  @media (max-width:760px){ .opp-grid{ grid-template-columns:1fr; } }
  .opp-card{ background:var(--ivory-warm); padding:44px 40px; }
  .opp-card .opp-cat{
    font-size:0.78rem; color:var(--gold); letter-spacing:0.03em; margin-bottom:18px;
  }
  .opp-card h3{
    font-size:1.35rem; font-weight:500; margin-bottom:14px; line-height:1.25;
  }
  .opp-card .opp-desc{
    font-size:0.95rem; color:rgba(33,31,26,0.72); font-weight:300;
    margin-bottom:16px; line-height:1.65;
  }
  .opp-card .opp-tagline{
    font-size:0.78rem; color:rgba(33,31,26,0.48); margin-bottom:30px; letter-spacing:0.01em;
  }
  .request-access-btn{
    background:none; border:none; padding:0; cursor:pointer;
    font-family:'Inter', sans-serif; font-size:0.9rem; color:var(--charcoal);
    border-bottom:1px solid var(--gold); padding-bottom:3px; transition:opacity 0.2s ease;
  }
  .request-access-btn:hover{ opacity:0.65; }

  /* ---------- REQUEST ACCESS MODAL ---------- */
  .modal-overlay{
    display:none; position:fixed; inset:0; z-index:300;
    background:rgba(18,36,26,0.78); backdrop-filter:blur(3px);
    align-items:flex-start; justify-content:center;
    padding:64px 20px; overflow-y:auto; -webkit-overflow-scrolling:touch;
  }
  .modal-overlay.open{ display:flex; }
  .modal-panel{
    background:var(--ivory); width:100%; max-width:620px;
    padding:48px 44px; position:relative; border-radius:2px;
  }
  .modal-close{
    position:absolute; top:18px; right:18px; background:none; border:none;
    cursor:pointer; font-size:1.5rem; line-height:1; color:var(--charcoal);
    padding:10px; opacity:0.6; transition:opacity 0.2s ease;
  }
  .modal-close:hover{ opacity:1; }
  .modal-panel h2{ font-size:1.55rem; margin-bottom:10px; }
  .modal-intro{
    font-size:0.9rem; color:rgba(33,31,26,0.62); margin-bottom:30px;
    font-weight:300; line-height:1.55; max-width:480px;
  }
  .form-row{ margin-bottom:20px; }
  .form-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .form-row label{
    display:block; font-size:0.76rem; color:rgba(33,31,26,0.58);
    margin-bottom:7px; letter-spacing:0.02em;
  }
  .form-row input[type="text"], .form-row input[type="email"],
  .form-row select, .form-row textarea{
    width:100%; border:1px solid rgba(33,31,26,0.22); background:#fff;
    padding:11px 12px; font-family:'Inter', sans-serif; font-size:0.9rem;
    color:var(--charcoal); border-radius:1px; appearance:none;
  }
  .form-row select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23968a6e'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center; padding-right:30px;
  }
  .form-row textarea{ resize:vertical; min-height:80px; font-family:'Inter', sans-serif; }
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{
    outline:none; border-color:var(--gold);
  }
  .form-consent{
    display:flex; gap:10px; align-items:flex-start; font-size:0.8rem;
    color:rgba(33,31,26,0.62); margin-bottom:26px; line-height:1.55;
  }
  .form-consent input{ margin-top:3px; flex-shrink:0; }
  .form-submit-btn{
    display:block; width:100%; background:var(--charcoal); color:var(--ivory);
    border:none; padding:15px 28px; font-size:0.92rem; font-family:'Inter', sans-serif;
    cursor:pointer; border-radius:1px; transition:background 0.2s ease;
  }
  .form-submit-btn:hover{ background:var(--ink); }
  .form-privacy-link{ text-align:center; margin-top:18px; font-size:0.8rem; }
  .form-privacy-link a{ color:rgba(33,31,26,0.5); border-bottom:1px solid var(--line-light); }
  .form-error{
    display:none; font-size:0.84rem; color:#8a3b2a; margin-bottom:18px;
  }
  .form-error.show{ display:block; }
  .form-success{ display:none; text-align:center; padding:26px 0 10px; }
  .form-success.show{ display:block; }
  .form-success h2{ margin-bottom:14px; }
  .form-success p{ color:rgba(33,31,26,0.68); font-weight:300; line-height:1.6; }
  @media (max-width:600px){
    .modal-overlay{ padding:0; align-items:stretch; }
    .modal-panel{ max-width:none; min-height:100vh; border-radius:0; padding:80px 24px 40px; }
    .form-two-col{ grid-template-columns:1fr; gap:0; }
  }

  /* ---------- TWO SIDED ---------- */
  .two-sided{ background:var(--ink); color:var(--ivory); }
  .two-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
  }
  @media (max-width:760px){ .two-grid{ grid-template-columns:1fr; } }
  .two-col{
    padding:48px 0;
  }
  .two-col:first-child{ padding-right:48px; border-right:1px solid var(--line-dark); }
  .two-col:last-child{ padding-left:48px; }
  @media (max-width:760px){
    .two-col:first-child{ border-right:none; border-bottom:1px solid var(--line-dark); padding:0 0 44px; }
    .two-col:last-child{ padding:44px 0 0; }
  }
  .two-col .kicker{ font-size:0.85rem; color:var(--gold-soft); margin-bottom:18px; }
  .two-col h3{ font-size:1.5rem; margin-bottom:18px; font-weight:500; }
  .two-col p{ font-size:0.98rem; color:rgba(244,239,227,0.72); font-weight:300; max-width:420px; }

  /* ---------- CONTACT ---------- */
  .contact-grid{
    display:grid; grid-template-columns:1.1fr 1fr; gap:64px;
  }
  @media (max-width:760px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } }
  .contact-block h3{ font-size:0.85rem; color:var(--gold); margin-bottom:14px; font-weight:500; }
  .contact-h2{ font-size:1.9rem; margin-bottom:20px; }
  .contact-block p{ font-size:1.02rem; font-weight:300; color:rgba(33,31,26,0.82); margin-bottom:6px; }
  .contact-note{
    font-size:0.85rem; color:rgba(33,31,26,0.5); font-style:italic; margin-top:8px;
  }
  .email-link{
    color:var(--charcoal); border-bottom:1px solid var(--gold); padding-bottom:2px;
    transition:opacity 0.2s ease;
  }
  .email-link:hover{ opacity:0.65; }
  .contact-form-wrap{
    max-width:560px; margin-top:64px; padding-top:56px;
    border-top:1px solid var(--line-light);
  }
  .contact-form-wrap .form-submit-btn{ width:auto; padding:14px 36px; }
  .contact-form-wrap .form-success{ text-align:left; padding:0; }
  .contact-form-wrap .form-success h2{ font-size:1.5rem; }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink); color:rgba(244,239,227,0.55);
    padding:56px 0 40px;
  }
  .footer-main{
    display:flex; justify-content:space-between; align-items:flex-end;
    flex-wrap:wrap; gap:40px; padding-bottom:32px;
    border-bottom:1px solid var(--line-dark); margin-bottom:32px;
  }
  .footer-left{ display:flex; flex-direction:column; gap:20px; }
  .footer-right{ flex-shrink:0; }
  .footer-fulllogo{ height:100px; width:auto; display:block; }
  .footer-links{ display:flex; gap:28px; flex-wrap:wrap; }
  .footer-links a{ font-size:0.88rem; color:rgba(244,239,227,0.68); }
  .footer-verticals{
    font-size:0.82rem; color:rgba(244,239,227,0.5); letter-spacing:0.01em;
  }
  .footer-contact a{
    font-size:0.92rem; color:var(--gold-soft); border-bottom:1px solid var(--line-dark);
    padding-bottom:2px; transition:border-color 0.2s ease;
  }
  .footer-contact a:hover{ border-color:var(--gold-soft); }
  @media (max-width:760px){
    .footer-main{ flex-direction:column; align-items:flex-start; }
    .footer-right{ align-self:center; margin-top:8px; }
    .footer-fulllogo{ height:80px; }
  }
  .disclaimer{
    font-size:0.78rem; line-height:1.7; color:rgba(244,239,227,0.46);
    max-width:900px;
  }

/* ---------- V1.1 ADDITIONS: language selector, legal pages, 404 ---------- */
.lang-select{ display:flex; align-items:center; gap:6px; font-size:0.82rem; }
.lang-select a{ color:rgba(244,239,227,0.55); padding:2px 3px; transition:color 0.2s ease; }
.lang-select a:hover{ color:var(--ivory); }
.lang-select a.active{ color:var(--gold-soft); }
.lang-select .sep{ color:rgba(244,239,227,0.3); }

.footer-legal{ display:flex; gap:20px; margin-top:6px; }
.footer-legal a{ font-size:0.78rem; color:rgba(244,239,227,0.5); border-bottom:1px solid transparent; }
.footer-legal a:hover{ color:rgba(244,239,227,0.8); border-color:var(--line-dark); }

.social-icons{ display:flex; gap:14px; margin-top:10px; }
.social-icons a{ opacity:0.6; transition:opacity 0.2s ease; }
.social-icons a:hover{ opacity:1; }
.social-icons svg{ width:18px; height:18px; }

.simple-page{
  background:var(--ivory); min-height:100vh; padding:170px 0 100px;
}
.simple-page .wrap{ max-width:760px; }
.simple-page h1{ font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:28px; }
.simple-page h2{ font-family:'Fraunces',serif; font-size:1.2rem; margin:36px 0 12px; font-weight:500; }
.simple-page p{ font-size:1rem; color:rgba(33,31,26,0.75); font-weight:300; margin-bottom:16px; line-height:1.7; }
.simple-page a{ color:var(--charcoal); border-bottom:1px solid var(--gold); }

.error-page{
  background:var(--ink); color:var(--ivory); min-height:100vh;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:40px 24px;
}
.error-page .mark{ height:64px; width:auto; margin:0 auto 32px; display:block; }
.error-page h1{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:16px; }
.error-page p{ font-size:1.02rem; color:rgba(244,239,227,0.72); font-weight:300; margin-bottom:36px; max-width:420px; }

@media (max-width:640px){
  .lang-select{ font-size:0.78rem; }
}

/* =========================================================
   LARGE DESKTOP SCALE & TYPOGRAPHY REFINEMENT (1440px+)
   Mobile and tablet/smaller-desktop are untouched above.
   Hero headline already scales at the 1280px breakpoint
   (added in a prior pass) and already reaches the 64-68px
   target by this width, so it is not repeated here.
   ========================================================= */
@media (min-width:1440px){

  /* -- 2. Section headings (+10-15%) -- */
  .section-head h2{ font-size:2.85rem; }
  .eco-inner h2{ font-size:2.25rem; }
  .opp-h2{ font-size:2.25rem; }
  .contact-h2{ font-size:2.15rem; }

  /* -- 3. Body copy (+8-15%, ~16-18px) -- */
  .section-head p{ font-size:1.15rem; }
  .step p{ font-size:1.05rem; }
  .vert-card p{ font-size:1.05rem; }
  .eco-inner p{ font-size:1.1rem; }
  .opp-card .opp-desc{ font-size:1.05rem; }
  .two-col p{ font-size:1.08rem; max-width:460px; }
  .contact-block p{ font-size:1.1rem; }

  /* -- 4. Card typography (+8-12% titles; labels nudged) -- */
  .vert-card h3{ font-size:1.45rem; }
  .vert-tag{ font-size:0.88rem; }
  .opp-card h3{ font-size:1.48rem; }
  .opp-card .opp-cat{ font-size:0.85rem; }
  .opp-card .opp-tagline{ font-size:0.84rem; }
  .two-col h3{ font-size:1.65rem; }
  .two-col .kicker{ font-size:0.9rem; }

  /* -- slightly wider inner reading columns to match larger type -- */
  .hero-inner{ max-width:830px; }
  .opp-inner{ max-width:830px; }
  .eco-inner{ max-width:830px; }

  /* -- 5. Navigation (+5-8%), header height untouched -- */
  nav.links a{ font-size:0.98rem; }
  .nav-cta{ font-size:0.92rem !important; }
  .lang-select{ font-size:0.88rem; }

  /* -- 6. Forms (+8-12%) -- */
  .modal-panel h2{ font-size:1.7rem; }
  .form-row label{ font-size:0.85rem; }
  .form-row input[type="text"], .form-row input[type="email"],
  .form-row select, .form-row textarea{
    font-size:1rem; padding:13px 14px;
  }
  .form-row select{ padding-right:32px; }
  .form-consent{ font-size:0.87rem; }
  .form-submit-btn{ font-size:1rem; padding:16px 30px; }
  .form-privacy-link{ font-size:0.85rem; }

  /* -- 8. Vertical spacing: trim excess air, don't compress -- */
  section{ padding:96px 0; }

  /* -- 9. Footer (+8-10%) -- */
  .footer-links a{ font-size:0.96rem; }
  .footer-verticals{ font-size:0.9rem; }
  .footer-contact a{ font-size:1rem; }
  .footer-legal a{ font-size:0.85rem; }
  .disclaimer{ font-size:0.82rem; }
}
