  /* ============ TOKENS ============ */
  :root{
    --bg:#FFFFFF;
    --surface:#FFFFFF;
    --surface-2:#F4F4F2;
    --ink:#1C1A15;
    --muted:#6E6A60;
    --line:#E6E5E0;
    --accent:#FFD200;
    --accent-ink:#7A5C00;
    --accent-2:#3F7268;
    --flag:#B4502E;
    --shadow: 0 1px 2px rgba(28,26,21,.04);
    --grid-line: rgba(28,26,21,.05);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#131110;
      --surface:#1B1815;
      --surface-2:#221E19;
      --ink:#F2EEE3;
      --muted:#A69E90;
      --line:#332E26;
      --accent:#FFD200;
      --accent-ink:#FFE066;
      --accent-2:#6FA99C;
      --flag:#E28B63;
      --shadow: 0 1px 2px rgba(0,0,0,.3);
      --grid-line: rgba(255,255,255,.06);
    }
  }
  :root[data-theme="dark"]{
    --bg:#131110;
    --surface:#1B1815;
    --surface-2:#221E19;
    --ink:#F2EEE3;
    --muted:#A69E90;
    --line:#332E26;
    --accent:#FFD200;
    --accent-ink:#FFE066;
    --accent-2:#6FA99C;
    --flag:#E28B63;
    --shadow: 0 1px 2px rgba(0,0,0,.3);
    --grid-line: rgba(255,255,255,.06);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif;
    font-weight:700;
    line-height:0.96;
    letter-spacing:0.002em;
    text-wrap:balance;
    margin:0;
    color:var(--ink);
  }
  .mono{
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif;
    font-variant-numeric:tabular-nums;
  }
  a{color:inherit;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  .eyebrow{
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent-ink);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:2px;
    background:var(--accent);
    display:inline-block;
  }

  section{padding:104px 0; border-bottom:1px solid var(--line);}
  section.tight{padding:88px 0;}
  @media (max-width:720px){
    section{padding:72px 0;}
  }

  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:600; font-size:15px;
    padding:14px 24px;
    border-radius:2px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
  }
  .btn-primary{ background:var(--accent); color:#1C1A15; }
  .btn-primary:hover{ transform:translateY(-1px); }
  .btn-ghost{ border-color:var(--line); color:var(--ink); }
  .btn-ghost:hover{ border-color:var(--muted); }

  /* ============ NAV ============ */
  header.site{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
    max-width:1120px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .brand img{height:44px; width:auto;}
  .navlinks{display:flex; gap:28px; align-items:center;}
  .navlinks a{
    font-size:14px; font-weight:500; text-decoration:none; color:var(--muted);
    transition:color .15s ease;
  }
  .navlinks a:hover{color:var(--ink);}
  .social-link{color:var(--muted); display:inline-flex; transition:color .15s ease;}
  .social-link:hover{color:var(--accent-ink);}
  .navcta{display:none;}
  @media (min-width:860px){ .navcta{display:inline-flex;} }
  @media (max-width:860px){ .navlinks{display:none;} }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    padding:96px 0 76px;
    background:
      linear-gradient(180deg, transparent 0%, var(--bg) 100%),
      repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 48px),
      repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 48px);
    overflow:hidden;
  }
  .hero-inner{position:relative; z-index:2;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .hero-photo{order:2;}
  .hero-photo img{width:100%; height:auto; border-radius:2px;}
  @media (max-width:900px){ .hero-photo{order:-1;} }
  .hero-text{order:1;}

  .photo-frame{border:1px solid var(--line); border-radius:2px; overflow:hidden;}
  .photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}
  .photo-cap{font-size:12px; color:var(--muted); margin-top:10px; letter-spacing:.02em;}
  .kicker-tag{
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:12.5px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 12px; border:1px solid var(--line); border-radius:2px;
    margin-bottom:28px;
  }
  .kicker-tag .dot{width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);}
  .hero h1{
    font-size:clamp(2.6rem, 6.4vw, 5.1rem);
    max-width:15ch;
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(180deg, transparent 62%, var(--accent) 62%);
  }
  .hero p.lede{
    font-size:19px; color:var(--muted); max-width:56ch; margin-top:26px;
  }
  .hero-actions{display:flex; gap:14px; margin-top:38px; flex-wrap:wrap;}

  .stat-strip{
    margin-top:76px;
    border-top:1px solid var(--line);
    padding-top:28px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  @media (max-width:760px){ .stat-strip{grid-template-columns:repeat(2,1fr);} }
  .stat{border-left:2px solid var(--accent); padding-left:14px;}
  .stat .num{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:2.4rem; font-weight:700; line-height:1;}
  .stat .lbl{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:11.5px; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; margin-top:6px;}

  /* ============ GENERIC TWO COL ============ */
  .grid-2{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
  @media (max-width:820px){ .grid-2{grid-template-columns:1fr; gap:32px;} }
  h2.section-h{font-size:clamp(1.9rem,3.6vw,2.7rem); max-width:14ch;}
  p.body-text{color:var(--muted); font-size:16.5px; max-width:62ch;}
  p.body-text + p.body-text{margin-top:14px;}
  p.body-text strong, p.lede strong{color:var(--ink); font-weight:700;}

  .badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;}
  .badge{
    font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:12px; font-weight:600;
    padding:7px 12px; border:1px solid var(--line); border-radius:2px; color:var(--muted);
  }

  /* ============ REGULATORY ============ */
  .reg-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:44px; align-items:start;}
  @media (max-width:860px){ .reg-grid{grid-template-columns:1fr; gap:36px;} }
  .reg-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .reg-list li{display:flex; gap:14px; align-items:flex-start; font-size:14.5px; color:var(--muted);}
  .reg-list li b{color:var(--ink); font-weight:700;}
  .reg-list .tag{
    flex-shrink:0; font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:11px; font-weight:700;
    color:var(--accent-ink); border:1px solid var(--line); border-radius:2px; padding:4px 8px; letter-spacing:.03em;
  }
  .reg-callout{
    border:1px solid var(--line); background:var(--surface-2); border-radius:2px; padding:26px;
  }
  .reg-callout .big{font-size:2.6rem; font-weight:700; line-height:1; color:var(--accent-ink);}
  .reg-callout .cap{font-size:13.5px; color:var(--muted); margin-top:8px;}
  .reg-callout + .reg-callout{margin-top:16px;}
  .reg-source{font-size:11.5px; color:var(--muted); margin-top:20px;}
  .reg-source a{color:var(--accent-ink); text-decoration:underline;}

  /* ============ QUALIFICATIONS ============ */
  .qual-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:48px;}
  @media (max-width:820px){ .qual-grid{grid-template-columns:1fr; gap:32px;} }
  .qual-col h4{font-size:15px; font-weight:700; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--line);}
  .qual-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .qual-col li{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted);}
  .qual-col li svg{width:16px; height:16px; flex-shrink:0; margin-top:2px; color:var(--accent-ink);}
  .qual-grid-single{grid-template-columns:1fr; max-width:760px;}
  .qual-checklist{display:grid !important; grid-template-columns:repeat(2,1fr); gap:16px 32px !important;}
  @media (max-width:600px){ .qual-checklist{grid-template-columns:1fr;} }
  .qual-checklist li{font-size:14.5px; padding:14px 16px; background:var(--surface-2); border-radius:2px;}

  /* ============ QUOTE BANNER ============ */
  .quote-banner{
    position:relative;
    min-height:280px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    background:#1C1A15;
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .quote-banner::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--accent);
  }
  .quote-banner .wrap{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;}
  .quote-banner blockquote{
    margin:0; color:#F7F5EC; font-size:clamp(1.5rem,3.4vw,2.5rem); font-weight:700; max-width:22ch; line-height:1.25; text-wrap:balance;
  }
  .quote-banner cite{display:block; margin-top:20px; font-style:normal; font-size:13.5px; color:#C9C3B4; letter-spacing:.03em;}

  /* ============ METHOD ============ */
  .quote-block{
    border-left:3px solid var(--accent);
    padding:4px 0 4px 28px;
    margin:40px 0 56px;
  }
  .quote-block p{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:clamp(1.4rem,2.6vw,2rem); font-weight:600; line-height:1.15; color:var(--ink);}

  .method-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:760px){ .method-cards{grid-template-columns:1fr;} }
  .method-card{background:var(--surface); padding:34px 30px;}
  .method-card .idx{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:12px; color:var(--accent-ink); font-weight:600; margin-bottom:16px;}
  .method-card h3{font-size:1.5rem; margin-bottom:12px;}
  .method-card p{color:var(--muted); font-size:15px;}

  /* ============ SERVICES GRID ============ */
  .svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:52px;}
  @media (max-width:900px){ .svc-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .svc-grid{grid-template-columns:1fr;} }
  .svc-card{background:var(--surface); padding:30px 26px; min-height:168px; display:flex; flex-direction:column; gap:14px;}
  .svc-card svg{width:26px; height:26px; color:var(--accent-ink); flex-shrink:0;}
  .svc-card h4{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:700; font-size:16px; line-height:1.3;}
  .svc-card p{color:var(--muted); font-size:14px; margin:0;}
  .svc-group-label{
    font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
    color:var(--muted); margin:44px 0 0;
    padding-bottom:10px; border-bottom:1px solid var(--line);
  }
  .svc-group-label:first-of-type{margin-top:52px;}

  /* ============ ZOOM SECTIONS ============ */
  .zoom-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:44px;}
  .obj-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:32px;}
  @media (max-width:560px){ .obj-grid{grid-template-columns:1fr;} }
  .obj-item{
    display:flex; gap:12px; align-items:flex-start;
    padding:16px; background:var(--surface-2); border-radius:2px;
  }
  .obj-item svg{width:18px; height:18px; color:var(--accent-2); flex-shrink:0; margin-top:2px;}
  .obj-item span{font-size:14.5px; font-weight:600;}

  /* leak chart */
  .leak-wrap{display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center;}
  @media (max-width:820px){ .leak-wrap{grid-template-columns:1fr;} }
  .chart-card{background:var(--surface); border:1px solid var(--line); padding:28px; border-radius:2px;}
  .chart-card .cap{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:11px; color:var(--muted); margin-top:16px; line-height:1.5;}
  .bar-row{display:flex; align-items:flex-end; gap:18px; height:220px; padding-top:20px;}
  .bar-col{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%;}
  .bar{
    width:100%; max-width:64px; background:var(--accent);
    border-radius:2px 2px 0 0;
    height:0;
    transition:height 1.1s cubic-bezier(.2,.8,.2,1);
    position:relative;
  }
  .bar.flagged{background:var(--flag);}
  .bar-val{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:12px; font-weight:600; margin-bottom:8px; opacity:0; transition:opacity .6s ease .6s;}
  .bar-row.in-view .bar-val{opacity:1;}
  .bar-lbl{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:11.5px; color:var(--muted); margin-top:10px;}

  .stat-callout{margin-top:8px;}
  .stat-callout .big{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:3.2rem; color:var(--flag); line-height:1;}
  .stat-callout .cap2{font-size:14px; color:var(--muted); margin-top:6px;}

  .spec-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px;}
  .spec{border:1px solid var(--line); padding:16px; border-radius:2px; background:var(--surface-2);}
  .spec .v{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:600; font-size:1.15rem;}
  .spec .k{font-size:12px; color:var(--muted); margin-top:4px;}

  .deliv-list{margin-top:20px; display:flex; flex-wrap:wrap; gap:8px;}
  .deliv-list span{font-size:12.5px; font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; color:var(--muted); border:1px solid var(--line); padding:5px 10px; border-radius:2px;}

  /* ISO cycle */
  .iso-cycle{display:flex; gap:0; margin-top:52px; position:relative; overflow-x:auto; padding-bottom:8px;}
  .iso-step{
    flex:1; min-width:150px; position:relative; padding:0 18px 0 0;
  }
  .iso-step:not(:last-child)::after{
    content:"→"; position:absolute; right:-4px; top:14px; color:var(--muted); font-size:14px;
  }
  @media (max-width:820px){ .iso-step:not(:last-child)::after{display:none;} }
  .iso-step .n{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:2.1rem; color:var(--accent); line-height:1;}
  .iso-step p{font-size:13.5px; font-weight:600; margin-top:10px; max-width:16ch;}
  @media (max-width:820px){ .iso-cycle{flex-direction:column; gap:22px;} }

  .goal-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
  .goal-tags span{font-size:13.5px; background:var(--surface-2); padding:9px 14px; border-radius:2px; color:var(--ink); font-weight:500;}

  /* cogen flow diagram */
  .flow-diagram{
    margin-top:44px; display:flex; align-items:center; gap:0; flex-wrap:wrap;
  }
  .flow-box{
    background:var(--surface-2); border:1px solid var(--line); border-radius:2px;
    padding:22px 24px; text-align:center; min-width:150px;
  }
  .flow-box .lbl{font-weight:700; font-size:14.5px;}
  .flow-box .sub{font-size:12px; color:var(--muted); margin-top:4px;}
  .flow-arrow{
    flex:0 0 auto; padding:0 14px; color:var(--muted); font-size:20px; line-height:1;
  }
  .flow-outputs{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); flex:1; min-width:220px;}
  .flow-outputs .flow-box{border:none; border-radius:0; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:12px;}
  @media (max-width:760px){
    .flow-diagram{flex-direction:column; align-items:stretch;}
    .flow-arrow{transform:rotate(90deg); padding:8px 0; align-self:center;}
  }

  /* pv stats */
  .pv-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px;}
  @media (max-width:640px){ .pv-stats{grid-template-columns:1fr;} }
  .pv-stat{border:1px solid var(--line); border-radius:2px; padding:22px; text-align:center;}
  .pv-stat .big{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:2.6rem; font-weight:700; color:var(--accent-ink);}
  .pv-stat .cap{font-size:12.5px; color:var(--muted); margin-top:6px;}
  .pv-note{font-size:12px; color:var(--muted); margin-top:14px;}

  /* carbon scopes */
  .scope-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px;}
  @media (max-width:760px){ .scope-grid{grid-template-columns:1fr;} }
  .scope-card{border:1px solid var(--line); padding:22px; border-radius:2px;}
  .scope-card .n{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:600; color:var(--accent-ink); font-size:13px;}
  .scope-card h4{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:700; font-size:15px; margin-top:8px;}
  .scope-card p{font-size:13.5px; color:var(--muted); margin-top:6px;}

  /* training */
  .train-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:48px;}
  @media (max-width:700px){ .train-grid{grid-template-columns:1fr;} }
  .train-card{background:var(--surface); padding:28px;}
  .train-card h4{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-weight:700; font-size:16px; margin-bottom:10px;}
  .train-card p{color:var(--muted); font-size:14.5px;}

  /* references */
  .ref-wall{
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    border:1px solid var(--line);
    background:var(--line);
    gap:1px;
  }
  @media (max-width:820px){ .ref-wall{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:560px){ .ref-wall{grid-template-columns:repeat(2,1fr);} }
  .ref-cell{
    background:var(--surface);
    padding:22px 20px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    min-height:90px;
    filter:grayscale(1) opacity(.72);
    transition:filter .2s ease;
  }
  .ref-cell:hover{filter:grayscale(0) opacity(1);}
  .ref-cell img{max-height:38px; width:auto; max-width:100%; object-fit:contain;}

  /* team */
  .team-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:48px;}
  @media (max-width:760px){ .team-grid{grid-template-columns:1fr;} }
  .team-card{border:1px solid var(--line); background:var(--surface); padding:32px; border-radius:2px; display:flex; gap:24px; align-items:flex-start;}
  .team-card .info{flex:1 1 auto; min-width:0;}
  .team-card .avatar{width:140px; height:140px; border-radius:6px; object-fit:cover; display:block; flex:0 0 140px; border:1px solid var(--line);}
  @media (max-width:640px){
    .team-card{flex-direction:column-reverse;}
    .team-card .avatar{width:110px; height:110px;}
  }
  .team-card .role{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:11.5px; color:var(--accent-ink); letter-spacing:.06em; text-transform:uppercase; font-weight:600;}
  .team-card h3{font-size:1.9rem; margin-top:10px;}
  .team-card p.desc{color:var(--muted); font-size:14.5px; margin-top:14px;}
  .team-card .contact{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px;}
  .team-card .contact a{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:13.5px; text-decoration:none; color:var(--ink);}
  .team-card .contact a:hover{color:var(--accent-ink);}
  .team-card .agree{margin-top:16px; display:inline-block; font-size:11.5px; font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; color:var(--accent-2); border:1px solid var(--accent-2); padding:4px 10px; border-radius:2px;}
  .team-card .li-link{margin-top:16px; margin-left:10px; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; color:var(--accent-ink); text-decoration:none;}
  .team-card .li-link:hover{text-decoration:underline;}
  .team-card .li-link svg{width:15px; height:15px;}

  /* contact / footer */
  .contact-cta{
    background:var(--surface-2);
  }
  .contact-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
  @media (max-width:820px){ .contact-grid{grid-template-columns:1fr;} }
  .contact-cards{display:flex; flex-direction:column; gap:14px;}
  .ccard{border:1px solid var(--line); background:var(--surface); padding:20px 22px; border-radius:2px;}
  .ccard .name{font-weight:700; font-size:15.5px;}
  .ccard .role{color:var(--muted); font-size:13px; margin-top:2px;}
  .ccard .links{margin-top:10px; display:flex; gap:16px; flex-wrap:wrap;}
  .ccard .links a{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:13px; text-decoration:none; color:var(--accent-ink);}
  .ccard-logo{height:34px; width:auto; margin-bottom:16px;}

  footer{padding:40px 0; }
  .foot-row{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
  .foot-row img{height:32px; width:auto;}
  .foot-tag{font-family:'Calibri','Carlito',Candara,Segoe,Optima,Arial,sans-serif; font-size:12px; color:var(--muted);}

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:none;}

  ::selection{background:var(--accent); color:#1C1A15;}

  /* ============ MOBILE NAV (3-page trial only) ============ */
  .nav-toggle{
    display:none; background:none; border:0; padding:8px; margin:-8px;
    cursor:pointer; color:var(--ink); align-items:center; justify-content:center;
  }
  .nav-actions-desktop{display:flex; align-items:center; gap:16px;}
  @media (max-width:860px){
    .nav-toggle{display:inline-flex;}
    .nav-actions-desktop{display:none;}
    .nav{position:relative;}
    .navlinks{
      display:none; position:absolute; left:0; right:0; top:100%;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--bg); border-bottom:1px solid var(--line);
      padding:4px 32px 20px; box-shadow:0 16px 28px -16px rgba(0,0,0,.18);
    }
    .navlinks.open{display:flex;}
    .navlinks a{padding:14px 0; border-bottom:1px solid var(--line);}
    .nav-mobile-extra{
      display:flex; align-items:center; gap:16px;
      padding-top:16px; margin-top:4px;
    }
    .nav-mobile-extra .social-link{flex:0 0 auto;}
    .nav-mobile-extra .navcta{display:inline-flex; flex:1 1 auto; justify-content:center;}
  }

