﻿/* verve-website.html */
:root{
    --ink:#15120d;
    --paper:#ffffff;
    --marigold:#f5a623;
    --marigold-deep:#d98e12;
    --coral:#e8553f;
    --berry:#c13c74;
    --teal:#1d8a8a;
    --indigo:#3b4cca;
    --ink-60:rgba(21,18,13,0.6);
    --ink-30:rgba(21,18,13,0.3);
    --ink-12:rgba(21,18,13,0.12);
    --paper-70:rgba(255,255,255,0.7);
    --paper-30:rgba(255,255,255,0.3);
    --paper-12:rgba(255,255,255,0.12);
    --radius:2px;
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Bricolage Grotesque',sans-serif;
    margin:0;
    letter-spacing:-0.02em;
  }
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:500;
  }
  .wrap{
    max-width:1240px;
    margin:0 auto;
    padding:0 32px;
  }
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  /* Focus visibility */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--marigold);
    outline-offset:3px;
  }

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--ink-12);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 32px;
    max-width:1240px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:10px;}
  .brand-mark{width:30px; height:30px;}
  .brand-word{
    font-family:'Bricolage Grotesque',sans-serif;
    font-weight:800; font-size:19px; letter-spacing:-0.01em;
  }
  .brand-text{display:flex; flex-direction:column; line-height:1.1;}
  .brand-motto{
    font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--ink-30); margin-top:2px;
  }
  @media (max-width:640px){ .brand-motto{display:none;} }
  .nav-links{display:flex; align-items:center; gap:36px;}
  .nav-links a{
    font-size:14px; font-weight:500; color:var(--ink-60);
    transition:color .2s var(--ease);
  }
  .nav-links a:hover{color:var(--ink);}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 22px;
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px;
    border-radius:var(--radius);
    cursor:pointer; border:1px solid transparent;
    transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  }
  .btn-primary{background:var(--ink); color:var(--paper);}
  .btn-primary:hover{background:var(--marigold-deep); transform:translateY(-1px);}
  .btn-ghost{border-color:var(--ink-30); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink); transform:translateY(-1px);}
  .nav .btn{padding:9px 18px;}
  .menu-toggle{display:none;}
  @media (max-width:860px){
    .nav-links{display:none;}
    .menu-toggle{display:block; background:none; border:none; cursor:pointer;}
  }

  /* ---------- HERO ---------- */
  .hero{
    background:var(--ink); color:var(--paper);
    position:relative; overflow:hidden;
    padding:96px 0 0;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center; gap:40px;
    max-width:1240px; margin:0 auto; padding:0 32px;
  }
  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr; text-align:left;}
  }
  .hero-eyebrow{color:var(--marigold); margin-bottom:22px;}
  .hero h1{
    font-size:clamp(38px,5.6vw,68px);
    font-weight:800;
    line-height:1.03;
    color:var(--paper);
  }
  .hero h1 em{
    font-style:normal;
    color:var(--marigold);
  }
  .hero p.lede{
    margin-top:26px;
    font-size:18px;
    line-height:1.6;
    color:var(--paper-70);
    max-width:480px;
  }
  .hero-actions{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}
  .hero .btn-primary{background:var(--marigold); color:var(--ink);}
  .hero .btn-primary:hover{background:#ffbd47;}
  .hero .btn-ghost{border-color:var(--paper-30); color:var(--paper);}
  .hero .btn-ghost:hover{border-color:var(--paper);}

  .rings-wrap{
    position:relative; aspect-ratio:1/1; max-width:480px; margin:0 auto;
  }
  .rings-wrap svg{width:100%; height:100%; animation:spin 90s linear infinite;}
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .ring-v{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:120px; color:var(--paper);
    pointer-events:none;
  }

  /* ticker */
  .ticker-band{
    background:var(--marigold); color:var(--ink); overflow:hidden;
    padding:14px 0; margin-top:80px; white-space:nowrap;
    border-top:1px solid rgba(21,18,13,0.15);
  }
  .ticker-track{display:inline-flex; gap:48px; animation:ticker 32s linear infinite;}
  @keyframes ticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  .ticker-track span{
    font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; font-weight:500;
  }

  /* ---------- SECTIONS ---------- */
  section{padding:110px 0;}
  @media (max-width:640px){ section{padding:72px 0;} }
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head .eyebrow{color:var(--marigold-deep); margin-bottom:14px;}
  .section-head h2{font-size:clamp(28px,4vw,42px); font-weight:700; line-height:1.1;}

  /* services */
  .services-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--ink-12); border:1px solid var(--ink-12);
  }
  @media (max-width:820px){ .services-grid{grid-template-columns:1fr;} }
  .service-card{
    background:var(--paper); padding:44px 36px; position:relative;
    transition:background .25s var(--ease);
  }
  .service-card:hover{background:#fffaf0;}
  .service-num{
    font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-30); margin-bottom:24px; display:block;
  }
  .service-icon{width:44px; height:44px; margin-bottom:22px;}
  .service-card h3{font-size:21px; font-weight:700; margin-bottom:12px;}
  .service-card p{color:var(--ink-60); font-size:15px; line-height:1.6;}

  /* inclusive band */
  .inclusive{
    background:var(--ink); color:var(--paper);
    position:relative; overflow:hidden;
  }
  .inclusive-grid{
    display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:center;
    max-width:1240px; margin:0 auto; padding:0 32px;
  }
  @media (max-width:900px){ .inclusive-grid{grid-template-columns:1fr;} }
  .inclusive h2{
    font-size:clamp(28px,4vw,44px); font-weight:700; color:var(--paper); line-height:1.12;
  }
  .inclusive p{color:var(--paper-70); font-size:17px; line-height:1.7; margin-top:24px; max-width:520px;}
  .spectrum-dots{display:flex; gap:10px; margin-top:32px;}
.spectrum-dots span{width:12px; height:12px; border-radius:50%;}
.spectrum-dots span:nth-child(1){background:var(--marigold);}
.spectrum-dots span:nth-child(2){background:var(--coral);}
.spectrum-dots span:nth-child(3){background:var(--berry);}
.spectrum-dots span:nth-child(4){background:var(--indigo);}
.spectrum-dots span:nth-child(5){background:var(--teal);}
.inclusive .eyebrow{color:var(--marigold);}
.inclusive-rings{width:100%; max-width:340px; justify-self:center;}

  /* process */
  .process-list{border-top:1px solid var(--ink-12);}
  .process-row{
    display:grid; grid-template-columns:80px 1fr 1fr; gap:24px; align-items:start;
    padding:36px 0; border-bottom:1px solid var(--ink-12);
  }
  @media (max-width:700px){ .process-row{grid-template-columns:50px 1fr; } .process-row .process-desc{grid-column:2;} }
  .process-num{font-family:'IBM Plex Mono',monospace; color:var(--marigold-deep); font-size:14px; font-weight:500;}
  .process-row h3{font-size:22px; font-weight:700;}
  .process-desc{color:var(--ink-60); font-size:15px; line-height:1.6;}

  /* portfolio */
  .work-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:820px){ .work-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .work-grid{grid-template-columns:1fr;} }
  .work-card{
    border:1px solid var(--ink-12); border-radius:var(--radius); overflow:hidden;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  .work-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(21,18,13,0.1);}
  .work-thumb{
    aspect-ratio:4/3; display:flex; align-items:center; justify-content:center;
    position:relative;
  }
.work-thumb svg{width:56px; height:56px; opacity:0.9;}
.work-thumb-marigold{background:#fdf0d9;}
.work-thumb-coral{background:#fbe4de;}
.work-thumb-berry{background:#f4dde8;}
.work-thumb-indigo{background:#dde2f7;}
.work-thumb-teal{background:#d9efef;}
  .work-meta{padding:18px 20px; background:var(--paper);}
  .work-meta .eyebrow{color:var(--ink-30); margin-bottom:6px;}
  .work-meta h4{font-family:'Bricolage Grotesque',sans-serif; font-size:16px; font-weight:700;}
  /* CTA footer */
  .cta{
    background:var(--marigold); text-align:center; padding:120px 0;
  }
  .cta h2{font-size:clamp(32px,5.5vw,56px); font-weight:800; color:var(--ink); line-height:1.05;}
  .cta p{margin-top:18px; font-size:17px; color:rgba(21,18,13,0.7);}
  .cta .btn{margin-top:36px;}
  .cta .btn-primary{background:var(--ink); color:var(--paper);}
  .cta .btn-primary:hover{background:#000;}

  footer{background:var(--ink); color:var(--paper-70); padding:56px 0 32px;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding-bottom:40px;
    border-bottom:1px solid var(--paper-12);
  }
  @media (max-width:700px){ .footer-grid{grid-template-columns:1fr; gap:32px;} }
  .footer-brand .brand-word{color:var(--paper);}
.footer-brand p{margin-top:14px; font-size:14px; color:var(--paper-70); max-width:280px; line-height:1.6;}
.footer-brand .footer-motto{
  margin-top:6px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--marigold);
}
.footer-brand .footer-description{margin-top:14px;}
  footer h5{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--paper-30); margin-bottom:16px;
  }
  footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
  footer a{font-size:14px; color:var(--paper-70); transition:color .2s var(--ease);}
  footer a:hover{color:var(--marigold);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:24px; flex-wrap:wrap; gap:12px;
  }
  .footer-bottom p{font-size:13px; color:var(--paper-30);}

/* contact.html */
:root{
    --ink:#15120d;
    --paper:#ffffff;
    --marigold:#f5a623;
    --marigold-deep:#d98e12;
    --coral:#e8553f;
    --berry:#c13c74;
    --teal:#1d8a8a;
    --indigo:#3b4cca;
    --ink-60:rgba(21,18,13,0.6);
    --ink-30:rgba(21,18,13,0.3);
    --ink-12:rgba(21,18,13,0.12);
    --paper-70:rgba(255,255,255,0.7);
    --paper-30:rgba(255,255,255,0.3);
    --paper-12:rgba(255,255,255,0.12);
    --radius:2px;
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:'Inter',sans-serif; font-size:16px; line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{ font-family:'Bricolage Grotesque',sans-serif; margin:0; letter-spacing:-0.02em; }
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em;
    text-transform:uppercase; font-weight:500;
  }
  .wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
  @media (max-width:640px){ .wrap{padding:0 20px;} }
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
    outline:2px solid var(--marigold); outline-offset:3px;
  }

  /* ---------- NAV (matches home) ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.88); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--ink-12);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1240px; margin:0 auto; }
  .brand{display:flex; align-items:center; gap:10px;}
  .brand-mark{width:30px; height:30px;}
  .brand-text{display:flex; flex-direction:column; line-height:1.1;}
  .brand-word{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:19px; letter-spacing:-0.01em; }
  .brand-motto{
    font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--ink-30); margin-top:2px;
  }
  @media (max-width:640px){ .brand-motto{display:none;} }
  .nav-links{display:flex; align-items:center; gap:36px;}
  .nav-links a{ font-size:14px; font-weight:500; color:var(--ink-60); transition:color .2s var(--ease); }
  .nav-links a:hover{color:var(--ink);}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:11px 22px;
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px; border-radius:var(--radius);
    cursor:pointer; border:1px solid transparent;
    transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  }
  .btn-primary{background:var(--ink); color:var(--paper);}
  .btn-primary:hover{background:var(--marigold-deep); transform:translateY(-1px);}
  .btn-ghost{border-color:var(--ink-30); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink); transform:translateY(-1px);}
  .nav .btn{padding:9px 18px;}
  .menu-toggle{display:none;}
  @media (max-width:860px){ .nav-links{display:none;} .menu-toggle{display:block; background:none; border:none; cursor:pointer;} }

  /* ---------- PAGE HEAD ---------- */
  .page-head{ background:var(--ink); color:var(--paper); padding:88px 0 72px; position:relative; overflow:hidden; }
  .page-head .eyebrow{color:var(--marigold); margin-bottom:18px;}
  .page-head h1{ font-size:clamp(34px,5.4vw,56px); font-weight:800; color:var(--paper); line-height:1.05; max-width:640px; }
  .page-head p.lede{ margin-top:20px; font-size:17px; color:var(--paper-70); max-width:460px; line-height:1.6; }
  .head-rings{ position:absolute; right:-60px; top:50%; transform:translateY(-50%); width:340px; opacity:0.9; }
  @media (max-width:820px){ .head-rings{display:none;} }

  /* ---------- CONTACT LAYOUT ---------- */
  .contact-section{ padding:96px 0 120px; }
  @media (max-width:640px){ .contact-section{padding:64px 0 80px;} }
  .contact-grid{ display:grid; grid-template-columns:1fr 380px; gap:0; border:1px solid var(--ink-12); }
  @media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }

  /* form column */
  .form-col{padding:56px;}
  @media (max-width:640px){ .form-col{padding:32px 24px;} }
  .field{ margin-bottom:26px; }
  .field label{
    display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--ink-60); margin-bottom:10px;
  }
  .field .req{color:var(--coral);}
  .field input[type="text"],
  .field input[type="email"],
  .field input[type="tel"],
  .field select,
  .field textarea{
    width:100%; padding:13px 14px; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink);
    background:var(--paper); border:1px solid var(--ink-12); border-radius:var(--radius);
    transition:border-color .2s var(--ease);
  }
  .field input:hover, .field select:hover, .field textarea:hover{ border-color:var(--ink-30); }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--marigold-deep); outline:none; }
  .field textarea{resize:vertical; min-height:130px; font-family:'Inter',sans-serif;}
  .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  @media (max-width:520px){ .field-row{grid-template-columns:1fr;} }

  .chip-group{ display:flex; flex-wrap:wrap; gap:10px; }
  .chip{
    position:relative;
  }
  .chip input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
  .chip span{
    display:inline-flex; align-items:center; padding:10px 16px; font-size:13px; font-weight:500;
    border:1px solid var(--ink-12); border-radius:20px; color:var(--ink-60); transition:all .2s var(--ease);
    pointer-events:none;
  }
  .chip input:checked + span{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
  .chip input:focus-visible + span{ outline:2px solid var(--marigold); outline-offset:2px; }

  /* honeypot - hidden from real users */
  .hp-field{ position:absolute; left:-9999px; top:-9999px; }

  .submit-row{ display:flex; align-items:center; gap:18px; margin-top:8px; flex-wrap:wrap; }
  .submit-row .btn-primary{ background:var(--marigold); color:var(--ink); }
  .submit-row .btn-primary:hover{ background:#ffbd47; }
  .submit-row .btn-primary:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
  .form-status{ font-size:14px; font-weight:500; }
  .form-status.success{ color:var(--teal); }
  .form-status.error{ color:var(--coral); }

  /* info column */
  .info-col{
    background:var(--ink); color:var(--paper); padding:56px 44px;
    display:flex; flex-direction:column; justify-content:space-between;
  }
  @media (max-width:640px){ .info-col{padding:36px 24px;} }
  .info-block + .info-block{ margin-top:36px; }
  .info-block h3{ font-size:13px; font-family:'IBM Plex Mono',monospace; letter-spacing:0.08em; text-transform:uppercase; color:var(--marigold); margin-bottom:10px; }
  .info-block a, .info-block p{ font-size:15px; color:var(--paper-70); line-height:1.6; }
  .info-block a:hover{ color:var(--paper); }
  .mini-rings{ width:64px; height:64px; margin-top:44px; }

  /* ---------- FOOTER (matches home) ---------- */
  footer{background:var(--ink); color:var(--paper-70); padding:56px 0 32px;}
  .footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid var(--paper-12); }
  @media (max-width:700px){ .footer-grid{grid-template-columns:1fr; gap:32px;} }
  .footer-brand .brand-word{color:var(--paper);}
  .footer-brand p{margin-top:14px; font-size:14px; color:var(--paper-70); max-width:280px; line-height:1.6;}
  footer h5{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--paper-30); margin-bottom:16px; }
  footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
  footer a{font-size:14px; color:var(--paper-70); transition:color .2s var(--ease);}
  footer a:hover{color:var(--marigold);}
  .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px; flex-wrap:wrap; gap:12px; }
.footer-bottom p{font-size:13px; color:var(--paper-30);}

/* ---------- SHARED FUNCTIONAL AND RESPONSIVE REPAIRS ---------- */
.nav{position:relative;}
.nav-links .btn-primary{color:var(--paper);}
.menu-toggle{
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:0;
}
footer li{min-height:24px; display:flex; align-items:center;}

@media (max-width:860px){
  .nav{padding:12px 20px;}
  .menu-toggle{display:inline-flex;}
  .nav-links{
    display:flex;
    position:absolute;
    top:100%;
    left:20px;
    right:20px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    background:var(--paper);
    border:1px solid var(--ink-12);
    box-shadow:0 18px 40px rgba(21,18,13,0.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transform-origin:top right;
    transition:opacity .22s var(--ease), transform .28s var(--ease), visibility 0s linear .28s;
  }
  .nav-links.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
  .nav-links.is-open a{
    display:flex;
    min-height:48px;
    align-items:center;
    padding:10px 12px;
  }
  .nav-links.is-open .btn{justify-content:center; margin-top:8px;}
}

@media (max-width:640px){
  .hero{padding-top:72px;}
  .hero-grid{padding:0 20px; gap:44px;}
  .hero h1{font-size:clamp(38px,11vw,50px);}
  .hero p.lede{font-size:17px;}
  .rings-wrap{max-width:310px;}
  .ticker-band{margin-top:56px;}
  .inclusive-grid{padding:0 20px;}
  .cta{padding:88px 0;}
  footer a{display:inline-flex; min-height:44px; align-items:center;}
  .contact-grid{overflow:hidden;}
  .submit-row{align-items:flex-start; flex-direction:column;}
}

@media (prefers-reduced-motion:no-preference){
  html.motion-ready .motion-reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .46s var(--ease) var(--reveal-delay, 0ms), transform .52s var(--ease) var(--reveal-delay, 0ms);
  }
  html.motion-ready .motion-reveal.is-revealed{
    opacity:1;
    transform:translateY(0);
  }
}

/* ---------- SUPPORTING PAGES ---------- */
.page-hero{background:var(--ink); color:var(--paper); padding:96px 0 84px; overflow:hidden; position:relative;}
.page-hero-grid{max-width:1240px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; gap:64px;}
.page-hero .eyebrow{color:var(--marigold); margin-bottom:18px;}
.page-hero h1{font-size:clamp(38px,5.5vw,64px); line-height:1.04; font-weight:800; max-width:720px;}
.page-hero .lede{color:var(--paper-70); font-size:18px; line-height:1.65; max-width:620px; margin-top:22px;}
.page-rings{width:100%; max-width:280px; justify-self:end; animation:spin 90s linear infinite;}
.content-section{padding:110px 0;}
.content-section--ink{background:var(--ink); color:var(--paper);}
.content-section--ink p{color:var(--paper-70);}
.content-section--marigold{background:var(--marigold);}
.section-intro{max-width:720px; margin-bottom:56px;}
.section-intro .eyebrow{color:var(--marigold-deep); margin-bottom:14px;}
.content-section--ink .section-intro .eyebrow{color:var(--marigold);}
.section-intro h2{font-size:clamp(30px,4.2vw,46px); line-height:1.08;}
.section-intro p{margin-top:18px; max-width:640px; color:var(--ink-60); font-size:17px; line-height:1.7;}
.service-detail{display:grid; grid-template-columns:100px minmax(0,1fr) minmax(260px,0.7fr); gap:32px; padding:38px 0; border-top:1px solid var(--ink-12);}
.service-detail:last-child{border-bottom:1px solid var(--ink-12);}
.service-detail-number{font-family:'IBM Plex Mono',monospace; color:var(--marigold-deep); font-size:13px; letter-spacing:.08em;}
.service-detail h3{font-size:clamp(24px,3vw,32px); line-height:1.1;}
.service-detail p{color:var(--ink-60); line-height:1.7;}
.service-list{margin:0; padding:0; list-style:none; display:grid; gap:10px; color:var(--ink-60); font-size:15px;}
.service-list li{display:flex; gap:10px; align-items:flex-start;}
.service-list li::before{content:'+'; color:var(--marigold-deep); font-family:'IBM Plex Mono',monospace; font-weight:700;}
.principles-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--paper-12); border:1px solid var(--paper-12);}
.principle{padding:36px 30px; background:var(--ink);}
.principle h3{font-size:22px; color:var(--paper); margin-bottom:12px;}
.principle p{line-height:1.65;}
.split-statement{display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:start;}
.statement-large{font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(30px,4vw,46px); font-weight:700; letter-spacing:-.02em; line-height:1.12;}
.statement-copy{color:var(--ink-60); font-size:17px; line-height:1.75;}
.statement-copy p + p{margin-top:18px;}
.region-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
.region-list span{border:1px solid var(--ink-30); padding:8px 12px; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.04em;}
.privacy-content{max-width:800px;}
.privacy-content h2{font-size:clamp(25px,3vw,34px); margin:52px 0 14px;}
.privacy-content h2:first-child{margin-top:0;}
.privacy-content p,.privacy-content li{color:var(--ink-60); line-height:1.75;}
.privacy-content ul{padding-left:20px; margin:16px 0; display:grid; gap:8px;}
.privacy-meta{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.06em; color:var(--ink-60); margin-top:18px;}
.page-hero .privacy-meta{color:var(--paper-70);}
.page-cta{text-align:center; padding:108px 0;}
.page-cta h2{font-size:clamp(32px,5vw,56px); line-height:1.05;}
.page-cta p{margin:18px auto 0; max-width:560px; color:rgba(21,18,13,.72); font-size:17px;}
.page-cta .btn{margin-top:32px; background:var(--ink); color:var(--paper);}

@media (max-width:900px){
  .page-hero-grid{grid-template-columns:1fr; gap:36px;}
  .page-rings{display:none;}
  .service-detail{grid-template-columns:64px minmax(0,1fr);}
  .service-detail .service-list{grid-column:2;}
  .split-statement{grid-template-columns:1fr; gap:32px;}
}
@media (max-width:700px){
  .principles-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .page-hero{padding:72px 0 64px;}
  .page-hero-grid{padding:0 20px;}
  .page-hero .lede{font-size:17px;}
  .content-section{padding:72px 0;}
  .service-detail{grid-template-columns:1fr; gap:16px; padding:30px 0;}
  .service-detail .service-list{grid-column:auto; margin-top:8px;}
  .principle{padding:30px 24px;}
  .page-cta{padding:80px 0;}
}


