
  :root{
    --white:#ffffff;
    --warm-white:#f7f5f1;
    --gray-100:#eceae5;
    --gray-300:#d6d3cc;
    --gray-500:#8b8d91;
    --graphite:#2a2b2e;
    --black:#121212;
    --red:#c41e2a;
    --red-dim:#c41e2a1a;
    --serif-display:'Geist','IBM Plex Sans',sans-serif;
    --sans:'Inter',sans-serif;
    --mono:'IBM Plex Mono',monospace;
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--warm-white);
    color:var(--black);
    font-family:var(--sans);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--red);color:var(--white);}
  a{color:inherit;text-decoration:none;}

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

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(247,245,241,.82);
    backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;
    transition:border-color .4s var(--ease), background .4s var(--ease);
  }
  header.scrolled{border-bottom:1px solid var(--gray-300);}
  nav{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1240px;margin:0 auto;padding:18px 40px;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{height:34px;width:auto;display:block;}
  .brand-word{font-family:var(--mono);font-size:13px;letter-spacing:.14em;font-weight:500;}
  .brand-word b{color:var(--red);font-weight:600;}
  .nav-links{display:flex;gap:36px;font-size:13.5px;letter-spacing:.02em;}
  .nav-links a{opacity:.75;transition:opacity .25s;position:relative;}
  .nav-links a:hover{opacity:1;}
  .nav-cta{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;
    border:1px solid var(--black);padding:9px 18px;border-radius:2px;
    transition:background .25s,color .25s;
  }
  .nav-cta:hover{background:var(--black);color:var(--white);}
  .nav-actions{display:flex;align-items:center;gap:16px;}
  .lang-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--gray-300);border-radius:2px;background:rgba(255,255,255,.5);}
  .lang-switch button{border:0;background:transparent;padding:6px 7px;color:var(--gray-500);font:500 10px var(--mono);letter-spacing:.08em;cursor:pointer;transition:.2s;}
  .lang-switch button.active{background:var(--black);color:var(--white);}
  @media(max-width:860px){.nav-links{display:none;}nav{padding:16px 22px;}.nav-actions{margin-left:auto}.nav-cta{display:none;}}

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    padding:190px 0 120px;
    overflow:hidden;
  }
  .lattice-field{
    position:absolute;inset:0;pointer-events:none;
    opacity:.5;
  }
  .eyebrow{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;
    color:var(--red);text-transform:uppercase;margin-bottom:28px;
    display:flex;align-items:center;gap:10px;
  }
  .eyebrow .dot{width:5px;height:5px;background:var(--red);border-radius:50%;display:inline-block;}
  h1.hero-h{
    font-family:var(--serif-display);
    font-weight:700;
    font-size:clamp(40px,6.4vw,84px);
    line-height:.98;
    letter-spacing:-.02em;
    max-width:920px;
    color:var(--black);
  }
  h1.hero-h em{
    font-style:normal;color:var(--red);
  }
  .hero-sub{
    margin-top:34px;
    max-width:560px;
    font-size:18px;
    line-height:1.6;
    color:var(--graphite);
    font-weight:400;
  }
  .hero-ctas{display:flex;gap:16px;margin-top:48px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--black);color:var(--white);
    padding:15px 28px;font-size:14px;letter-spacing:.02em;
    border-radius:2px;font-weight:500;
    transition:background .25s var(--ease);
    display:inline-block;
  }
  .btn-primary:hover{background:var(--red);}
  .btn-ghost{
    padding:15px 28px;font-size:14px;letter-spacing:.02em;font-weight:500;
    border:1px solid var(--gray-500);border-radius:2px;
    transition:border-color .25s,background .25s;
  }
  .btn-ghost:hover{border-color:var(--black);background:var(--white);}

  .hero-footline{
    margin-top:96px;
    display:flex;gap:56px;flex-wrap:wrap;
    padding-top:32px;border-top:1px solid var(--gray-300);
    font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--gray-500);
  }
  .hero-footline b{display:block;color:var(--black);font-family:var(--sans);font-size:14px;font-weight:600;margin-bottom:4px;letter-spacing:0;}

  /* ---------- section shared ---------- */
  section{padding:130px 0;position:relative;}
  @media(max-width:640px){section{padding:88px 0;}}
  .sec-label{
    font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--red);margin-bottom:20px;
  }
  .sec-title{
    font-family:var(--serif-display);font-weight:700;
    font-size:clamp(30px,3.6vw,46px);letter-spacing:-.015em;line-height:1.08;
    max-width:760px;
  }
  .sec-lede{
    margin-top:22px;max-width:620px;font-size:17px;line-height:1.7;color:var(--graphite);
  }
  .divider{height:1px;background:var(--gray-300);width:100%;}

  /* ---------- services ---------- */
  .services{background:var(--white);}
  .service-grid{
    margin-top:64px;display:grid;grid-template-columns:repeat(2,1fr);
    border-top:1px solid var(--gray-300);border-left:1px solid var(--gray-300);
  }
  @media(max-width:760px){.service-grid{grid-template-columns:1fr;}}
  .service-cell{
    border-right:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);
    padding:38px 36px;transition:background .3s var(--ease);
    position:relative;
  }
  .service-cell:hover{background:var(--warm-white);}
  .service-cell > a{display:block;color:inherit;}
  .service-cell > a:focus-visible{outline:2px solid var(--red);outline-offset:8px;}
  .service-cell .num{font-family:var(--mono);font-size:12px;color:var(--gray-500);}
  .service-cell h3{
    font-family:var(--serif-display);font-weight:600;font-size:22px;margin-top:14px;letter-spacing:-.01em;
  }
  .service-cell p{margin-top:10px;font-size:14.5px;line-height:1.6;color:var(--gray-500);max-width:340px;}

  /* ---------- why ---------- */
  .why{background:var(--warm-white);}
  .why-grid{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;}
  @media(max-width:800px){.why-grid{grid-template-columns:1fr;gap:48px;}}
  .why-col .tag{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--gray-500);text-transform:uppercase;}
  .why-col h4{font-family:var(--serif-display);font-size:24px;font-weight:600;margin-top:14px;letter-spacing:-.01em;}
  .why-col p{margin-top:14px;font-size:15.5px;line-height:1.75;color:var(--graphite);}
  .why-col.end h4{color:var(--red);}

  /* ---------- method ---------- */
  .method{background:var(--black);color:var(--white);}
  .method .sec-label{color:var(--red);}
  .method .sec-title{color:var(--white);}
  .method .sec-lede{color:#c9c9c9;}
  .method-flow{margin-top:74px;}
  .method-step{
    display:grid;grid-template-columns:90px 1fr;gap:28px;
    padding:30px 0;border-top:1px solid #3a3a3a;
    align-items:baseline;
  }
  .method-step:last-child{border-bottom:1px solid #3a3a3a;}
  .method-step .m-num{font-family:var(--mono);font-size:13px;color:var(--red);}
  .method-step h5{font-family:var(--serif-display);font-size:22px;font-weight:600;letter-spacing:-.01em;}
  .method-step p{margin-top:8px;font-size:14.5px;color:#a8a8a8;line-height:1.65;max-width:520px;}
  .method-connector{
    display:flex;justify-content:center;padding:8px 0;color:var(--gray-500);font-family:var(--mono);font-size:11px;
  }

  /* ---------- elios ---------- */
  .elios{background:var(--white);}
  .elios-grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-300);border:1px solid var(--gray-300);}
  @media(max-width:900px){.elios-grid{grid-template-columns:1fr;}}
  .elios-card{background:var(--white);padding:44px 34px;transition:background .3s;}
  .elios-card:hover{background:var(--warm-white);}
  .elios-mark{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--red);text-transform:uppercase;}
  .elios-card h3{font-family:var(--serif-display);font-size:23px;font-weight:600;margin-top:16px;letter-spacing:-.01em;}
  .elios-card p{margin-top:14px;font-size:14.5px;line-height:1.7;color:var(--gray-500);}
  .elios-note{
    margin-top:40px;font-family:var(--mono);font-size:12.5px;color:var(--gray-500);
    border-left:2px solid var(--red);padding-left:16px;max-width:560px;line-height:1.7;
  }

  /* ---------- industries ---------- */
  .industries{background:var(--warm-white);}
  .ind-list{margin-top:60px;display:flex;flex-wrap:wrap;gap:14px;}
  .ind-pill{
    font-family:var(--mono);font-size:13.5px;letter-spacing:.02em;
    padding:13px 22px;border:1px solid var(--gray-300);border-radius:30px;
    transition:border-color .25s,color .25s,background .25s;
  }
  .ind-pill:hover{border-color:var(--red);color:var(--red);background:var(--white);}

  /* ---------- founder ---------- */
  .founder{background:var(--black);color:var(--white);}
  .founder-grid{margin-top:60px;display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start;}
  @media(max-width:700px){.founder-grid{grid-template-columns:1fr;}}
  .founder-mono{
    width:100%;aspect-ratio:1/1.15;border:1px solid #3a3a3a;position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .founder-mono svg{width:70%;height:70%;opacity:.9;}
  .founder-name{font-family:var(--serif-display);font-size:28px;font-weight:700;letter-spacing:-.01em;}
  .founder-role{font-family:var(--mono);font-size:12.5px;color:var(--red);letter-spacing:.06em;margin-top:10px;text-transform:uppercase;}
  .founder-bio{margin-top:22px;font-size:15.5px;line-height:1.8;color:#c9c9c9;max-width:600px;}
  .founder-creds{margin-top:26px;display:flex;gap:28px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:#8b8d91;}

  /* ---------- cta ---------- */
  .cta-final{background:var(--red);color:var(--white);text-align:left;}
  .cta-final .sec-title{color:var(--white);max-width:820px;}
  .cta-final .sec-lede{color:#ffe3e3;}
  .cta-final .hero-ctas .btn-primary{background:var(--black);}
  .cta-final .hero-ctas .btn-primary:hover{background:var(--white);color:var(--black);}
  .cta-final .hero-ctas .btn-ghost{border-color:rgba(255,255,255,.5);color:var(--white);}
  .cta-final .hero-ctas .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--white);}

  footer{background:var(--black);color:#8b8d91;padding:56px 0;font-family:var(--mono);font-size:12px;}
  .foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center;}
  .foot-grid .brand-word b{color:var(--red);}

/* WLEA-001 — Service Experience Architecture. Uses the existing design tokens. */
.service-hero{padding-bottom:84px}.service-hero .hero-sub{max-width:700px}.service-code{font-family:var(--mono);font-size:12px;color:var(--gray-500);margin-top:28px;letter-spacing:.08em}
.content-grid{margin-top:60px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:72px}.prose{font-size:16px;line-height:1.8;color:var(--graphite)}.prose p+p{margin-top:18px}.side-note{border-top:1px solid var(--gray-300);padding-top:20px;font:12.5px/1.7 var(--mono);color:var(--gray-500)}
.issue-grid{margin-top:60px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--gray-300);border-left:1px solid var(--gray-300)}.issue{padding:28px;border-right:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);font-size:15px;line-height:1.6}.issue::before{content:'—';display:block;color:var(--red);font-family:var(--mono);margin-bottom:12px}
.comparison{margin-top:62px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--gray-300)}.comparison article{padding:42px}.comparison article+article{border-left:1px solid var(--gray-300);background:var(--white)}.comparison .tag{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500)}.comparison article:last-child .tag{color:var(--red)}.comparison h3{font:600 24px var(--serif-display);margin-top:18px}.comparison p{font-size:15px;line-height:1.75;color:var(--graphite);margin-top:16px}
.evolution{margin-top:64px;border-top:1px solid #3a3a3a}.evolution-step{display:grid;grid-template-columns:74px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #3a3a3a;align-items:center}.evolution-step span{font:12px var(--mono);color:var(--red)}.evolution-step strong{font:500 18px var(--sans)}
.presidio-panel{margin-top:58px;padding:48px;border:1px solid var(--gray-300);background:var(--white);display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}.presidio-panel .label{font:12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--red)}.presidio-panel h3{font:700 29px var(--serif-display);margin-top:14px}.presidio-panel p{font-size:16px;line-height:1.8;color:var(--graphite)}
.link-grid{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gray-300);border-left:1px solid var(--gray-300)}.link-card{padding:28px 24px;border-right:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);min-height:126px;transition:background .3s var(--ease)}.link-card:hover{background:var(--white)}.link-card span{font:11px var(--mono);color:var(--red)}.link-card h3{font:600 18px var(--serif-display);margin-top:16px}
.elios-focus{margin-top:58px;border-left:2px solid var(--red);padding:12px 0 12px 34px;max-width:780px}.elios-focus h3{font:700 30px var(--serif-display)}.elios-focus p{margin-top:16px;font-size:16px;line-height:1.8;color:#c9c9c9}
.insight-grid{margin-top:58px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-300);border:1px solid var(--gray-300)}.insight{background:var(--white);padding:34px;min-height:190px}.insight .type{font:11px var(--mono);color:var(--red);text-transform:uppercase;letter-spacing:.1em}.insight h3{font:600 21px/1.25 var(--serif-display);margin-top:22px}.insight p{font-size:13.5px;line-height:1.6;color:var(--gray-500);margin-top:15px}
.faq-list{margin-top:56px;border-top:1px solid var(--gray-300)}.faq-item{border-bottom:1px solid var(--gray-300)}.faq-item summary{cursor:pointer;list-style:none;padding:26px 52px 26px 0;font:600 18px var(--serif-display);position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';position:absolute;right:4px;font:20px var(--mono);color:var(--red)}.faq-item[open] summary::after{content:'–'}.faq-item p{max-width:760px;padding:0 0 28px;font-size:15px;line-height:1.75;color:var(--graphite)}
.breadcrumb{padding-top:102px;font:11px var(--mono);color:var(--gray-500);letter-spacing:.04em}.breadcrumb a:hover{color:var(--red)}.breadcrumb span{padding:0 9px}.services-index-hero{padding-bottom:84px}.service-cell a{display:block}.service-cell .arrow{position:absolute;right:30px;top:34px;color:var(--red);font-family:var(--mono)}
@media(max-width:900px){.content-grid,.presidio-panel{grid-template-columns:1fr;gap:32px}.link-grid{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:1fr}}
@media(max-width:700px){.comparison,.issue-grid{grid-template-columns:1fr}.comparison article+article{border-left:0;border-top:1px solid var(--gray-300)}.link-grid{grid-template-columns:1fr}.presidio-panel{padding:30px}.service-hero{padding-top:150px}}
