:root{
    /* House neutrals, shared with every Seen Group brand. Only --accent
       and the monospaced label face belong to this one. */
    --bg:#FAF8F4;
    --panel:#FFFFFF;
    --panel-2:#F3F1EC;
    --ink:#14110E;
    --ink-2:#3A3633;
    --muted:#6B655C;
    --faint:#6C685E;
    --rule:#E2DCD2;
    --rule-2:#EDE8E0;
    --grid:#EDE8E0;
    --accent:#0F5F57;
    --accent-bright:#17968A;
    --dark:#14110E;
    --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
    --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono","Roboto Mono",monospace;
    --maxw:1180px;
    --bar:64px;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);
       font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;
       font-feature-settings:"tnum" 0;}
  a{color:inherit;}
  img{display:block;max-width:100%;}
  ::selection{background:var(--accent);color:#fff;}
  :focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 36px;}

  /* ---------------- Header ---------------- */
  .site-header{position:sticky;top:0;z-index:60;background:rgba(250,248,244,.92);
    backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--rule);}
  .site-header .wrap{min-height:var(--bar);display:flex;align-items:center;justify-content:space-between;
    gap:14px 28px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;}
  .brand{display:inline-flex;align-items:center;text-decoration:none;flex:none;}
  .brand svg{width:224px;height:auto;display:block;}
  nav.menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;}
  nav.menu a{text-decoration:none;color:var(--muted);padding:4px 0;white-space:nowrap;transition:color .15s;}
  nav.menu a::before{content:"/ ";color:var(--faint);}
  nav.menu a:hover{color:var(--accent);}
  nav.menu a.cta{color:var(--ink);border:1px solid var(--rule);padding:7px 13px;background:var(--panel);}
  nav.menu a.cta::before{content:"";}
  nav.menu a.cta:hover{background:var(--accent);color:#fff;border-color:var(--accent);}

  /* ---------------- Hero ---------------- */
  .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);
        padding:112px 0 0;background:var(--bg);}
  .hero::before{content:"";position:absolute;inset:0;z-index:0;
    background-image:linear-gradient(var(--grid) 1px,transparent 1px),
                     linear-gradient(90deg,var(--grid) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:radial-gradient(ellipse 90% 78% at 50% 34%,#000 0%,#000 42%,transparent 88%);
    mask-image:radial-gradient(ellipse 90% 78% at 50% 34%,#000 0%,#000 42%,transparent 88%);}
  .hero .wrap{position:relative;z-index:1;}
  .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
          color:var(--accent);margin:0 0 22px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;}
  .kicker .dot{width:6px;height:6px;background:var(--accent-bright);display:inline-block;}
  .kicker span.sep{color:var(--faint);}
  .hero h1{font-weight:600;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;
           letter-spacing:-0.028em;margin:0 0 24px;max-width:17ch;text-wrap:balance;}
  .hero .lede{margin:0;max-width:62ch;color:var(--muted);font-size:clamp(1rem,1.35vw,1.09rem);
              line-height:1.68;text-wrap:pretty;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0;}
  .btn{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-decoration:none;
       padding:13px 20px;border:1px solid var(--accent);transition:background .18s,color .18s;}
  .btn.solid{background:var(--accent);color:#fff;}
  .btn.solid:hover{background:var(--dark);border-color:var(--dark);}
  .btn.ghost{color:var(--accent);background:transparent;}
  .btn.ghost:hover{background:var(--accent);color:#fff;}

  /* diagram panel */
  .diagram{margin-top:76px;border:1px solid var(--rule);border-bottom:0;background:var(--panel);}
  .diagram .dhead{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;align-items:center;
    padding:11px 16px;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:10.5px;
    letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:var(--panel-2);}
  .diagram .dbody{padding:26px 16px 30px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .diagram svg{display:block;margin:0 auto;min-width:760px;}

  /* ---------------- Meta bar ---------------- */
  .metabar{border-bottom:1px solid var(--rule);background:var(--panel);}
  .metabar .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
  .metabar div{padding:22px 24px 22px 0;border-left:1px solid var(--rule-2);padding-left:24px;}
  .metabar div:first-child{border-left:0;padding-left:0;}
  .metabar dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
              color:var(--faint);margin:0 0 7px;}
  .metabar dd{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-2);}

  /* ---------------- Sections ---------------- */
  section{padding:104px 0;border-top:1px solid var(--rule);scroll-margin-top:calc(var(--bar) + 4px);}
  section.no-rule{border-top:0;}
  .sec-head{margin-bottom:56px;}
  .sec-head .idx{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);
                 display:flex;align-items:center;gap:12px;margin:0 0 20px;}
  .sec-head .idx::after{content:"";flex:1;height:1px;background:var(--rule);}
  .eyebrow{font-weight:600;font-size:clamp(1.5rem,2.9vw,2.1rem);line-height:1.1;letter-spacing:-0.022em;
           color:var(--ink);margin:0;text-wrap:balance;}
  .sec-head .sub{margin:18px 0 0;color:var(--muted);font-size:1rem;max-width:70ch;line-height:1.66;text-wrap:pretty;}

  /* ---------------- Solution modules ---------------- */
  .caps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);
        border:1px solid var(--rule);}
  .cap{background:var(--panel);padding:30px 28px 28px;display:flex;flex-direction:column;}
  .cap .top{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}
  .cap .k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent);}
  .cap h3{margin:0;font-weight:600;font-size:1.07rem;line-height:1.3;letter-spacing:-0.012em;}
  .cap p{margin:0 0 20px;color:var(--muted);font-size:.925rem;line-height:1.62;flex:1;text-wrap:pretty;}
  .cap ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;
          font-family:var(--mono);font-size:10.5px;color:var(--muted);}
  .cap li{border:1px solid var(--rule);padding:4px 8px;white-space:nowrap;background:var(--panel-2);}

  /* ---------------- Practice ---------------- */
  .practice{border:1px solid var(--rule);background:var(--panel);}
  .pr{display:grid;grid-template-columns:56px 250px 1fr;gap:0 28px;padding:20px 24px;
      border-top:1px solid var(--rule-2);align-items:baseline;}
  .pr:first-child{border-top:0;}
  .pr .k{font-family:var(--mono);font-size:11px;color:var(--accent);}
  .pr h3{margin:0;font-weight:600;font-size:.94rem;line-height:1.4;}
  .pr p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6;text-wrap:pretty;}

  /* ---------------- Stack ---------------- */
  .stack{border:1px solid var(--rule);background:var(--panel);}
  .strow{display:grid;grid-template-columns:200px 1fr;gap:0 28px;padding:18px 24px;
         border-top:1px solid var(--rule-2);align-items:baseline;}
  /* A row with more than one paragraph would otherwise drop the second
     into the label column on the next grid row. Pin every paragraph to
     the right-hand column. */
  .strow p{grid-column:2;}
  .strow p + p{margin-top:14px;}
  .strow:first-child{border-top:0;}
  .strow h3{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
            color:var(--faint);font-weight:400;}
  .strow ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;
            font-family:var(--mono);font-size:11.5px;color:var(--ink-2);}
  .strow li{border:1px solid var(--rule);padding:4px 9px;white-space:nowrap;background:var(--panel-2);}
  .stacknote{margin:20px 0 0;font-family:var(--mono);font-size:11px;color:var(--faint);line-height:1.7;}

  /* ---------------- Case studies ---------------- */
  .case{border:1px solid var(--rule);background:var(--panel);margin-bottom:26px;}
  .case:last-child{margin-bottom:0;}
  .chead{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:0 28px;
         align-items:baseline;padding:22px 24px;border-bottom:1px solid var(--rule);
         background:var(--panel-2);}
  .chead .k{font-family:var(--mono);font-size:11px;color:var(--accent);}
  .chead h3{margin:0;font-weight:600;font-size:1.1rem;line-height:1.3;letter-spacing:-0.012em;}
  .chead h3 .sub{display:block;margin-top:7px;font-family:var(--mono);font-size:11px;
                 font-weight:400;letter-spacing:.04em;color:var(--muted);}
  .chead a.live{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
                color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule);
                padding-bottom:3px;white-space:nowrap;}
  .chead a.live:hover{border-bottom-color:var(--accent);}
  .case .strow:first-of-type{border-top:0;}
  .cfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
          border-top:1px solid var(--rule);}
  .cfacts div{background:var(--panel-2);padding:15px 20px 16px;}
  .cfacts .k{margin:0 0 6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
             text-transform:uppercase;color:var(--faint);}
  .cfacts .v{margin:0;font-size:.92rem;line-height:1.45;color:var(--ink-2);font-weight:600;}

  /* ---------------- Pipeline ---------------- */
  .pipeline{border:1px solid var(--rule);background:var(--panel);margin-bottom:36px;}
  .pipeline .dhead{padding:11px 16px;border-bottom:1px solid var(--rule);font-family:var(--mono);
    font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:var(--panel-2);}
  .pipeline .dbody{padding:24px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .pipeline svg{display:block;margin:0 auto;min-width:720px;}

  .phases{border:1px solid var(--rule);background:var(--panel);}
  .phase{display:grid;grid-template-columns:56px 210px 160px 1fr;gap:0 24px;padding:22px 24px;
         border-top:1px solid var(--rule-2);align-items:baseline;}
  .phase:first-child{border-top:0;}
  .phase .k{font-family:var(--mono);font-size:11px;color:var(--accent);}
  .phase h3{margin:0;font-weight:600;font-size:.98rem;line-height:1.35;}
  .phase .d{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--faint);}
  .phase p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6;text-wrap:pretty;}

  /* ---------------- Tables ---------------- */
  .tablewrap{border:1px solid var(--rule);background:var(--panel);}
  .tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px;}
  th,td{text-align:left;padding:15px 20px;border-top:1px solid var(--rule-2);vertical-align:top;}
  thead th{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
           color:var(--faint);font-weight:400;background:var(--panel-2);border-top:0;
           border-bottom:1px solid var(--rule);}
  th[scope="row"]{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent);width:74px;}
  td.mono{font-family:var(--mono);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2);}
  td.note{color:var(--muted);}
  .footnote{margin:24px 0 0;color:var(--faint);font-family:var(--mono);font-size:11px;line-height:1.75;max-width:88ch;}

  /* ---------------- Sectors ---------------- */
  .sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
           border:1px solid var(--rule);}
  .sector{background:var(--panel);padding:24px 22px;}
  .sector h3{margin:0 0 8px;font-weight:600;font-size:.94rem;line-height:1.35;}
  .sector p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.58;text-wrap:pretty;}

  /* ---------------- Models ---------------- */
  .models{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
          border:1px solid var(--rule);}
  .model{background:var(--panel);padding:28px 26px;}
  .model .tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
              color:var(--accent);margin:0 0 14px;}
  .model h3{margin:0 0 12px;font-weight:600;font-size:1.04rem;line-height:1.3;}
  .model p{margin:0 0 16px;color:var(--muted);font-size:.91rem;line-height:1.62;text-wrap:pretty;}
  .model .best{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--faint);
               line-height:1.6;padding-top:14px;border-top:1px solid var(--rule-2);}

  /* ---------------- Group ---------------- */
  .groupnote{display:grid;grid-template-columns:1fr 1fr;gap:36px 72px;align-items:start;}
  .groupnote p{margin:0 0 16px;color:var(--muted);font-size:.97rem;line-height:1.68;text-wrap:pretty;}
  .groupnote .lead-line{color:var(--ink);font-size:1.2rem;line-height:1.42;font-weight:600;
                        letter-spacing:-0.015em;margin:0;text-wrap:balance;}
  .groupnote a.more{font-family:var(--mono);font-size:11.5px;color:var(--accent);text-decoration:none;
                    border-bottom:1px solid var(--accent);padding-bottom:2px;}

  /* ---------------- FAQ ---------------- */
  .faq{border:1px solid var(--rule);background:var(--panel);}
  .faq details{border-top:1px solid var(--rule-2);}
  .faq details:first-child{border-top:0;}
  .faq summary{list-style:none;cursor:pointer;padding:22px 52px 22px 24px;position:relative;
               font-size:.98rem;font-weight:600;line-height:1.45;text-wrap:pretty;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::before{content:"+";position:absolute;right:22px;top:21px;font-family:var(--mono);
    font-size:15px;color:var(--accent);line-height:1.5;}
  .faq details[open] summary::before{content:"\2212";}
  .faq summary:hover{color:var(--accent);}
  .faq .a{padding:0 60px 26px 24px;color:var(--muted);font-size:.94rem;line-height:1.7;}
  .faq .a p{margin:0 0 13px;text-wrap:pretty;}
  .faq .a p:last-child{margin-bottom:0;}
  .faq .a ul{margin:0 0 13px;padding:0;list-style:none;font-family:var(--mono);font-size:11.5px;line-height:1.9;}
  .faq .a li::before{content:"\2013\00a0\00a0";color:var(--accent-bright);}

  /* ---------------- CTA band ---------------- */
  .band{background:var(--dark);color:#E6EDEC;border-top:0;position:relative;overflow:hidden;}
  .band::before{content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:34px 34px;}
  .band .wrap{position:relative;padding-top:96px;padding-bottom:96px;}
  .band .idx{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent-bright);margin:0 0 20px;}
  .band h2{margin:0 0 16px;font-weight:600;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.16;
           letter-spacing:-0.022em;max-width:24ch;color:#fff;text-wrap:balance;}
  .band p{margin:0 0 30px;max-width:60ch;color:#94A5A2;font-size:.98rem;line-height:1.68;text-wrap:pretty;}
  .band .btn{border-color:var(--accent-bright);color:var(--dark);background:var(--accent-bright);}
  .band .btn:hover{background:transparent;color:var(--accent-bright);}

  /* ---------------- Contact ---------------- */
  .contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:48px 64px;align-items:start;}
  form.enquiry{display:grid;gap:20px;border:1px solid var(--rule);background:var(--panel);padding:30px 28px;}
  .field{display:grid;gap:7px;}
  .field label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
  .field input,.field select,.field textarea{
    font-family:var(--sans);font-size:.94rem;color:var(--ink);background:var(--bg);
    border:1px solid var(--rule);padding:11px 12px;width:100%;
    transition:border-color .15s;-webkit-appearance:none;appearance:none;border-radius:0;}
  .field select{font-family:var(--mono);font-size:12px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%2356605E' stroke-width='1.4'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
  .field textarea{resize:vertical;min-height:108px;line-height:1.6;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
  .field input::placeholder,.field textarea::placeholder{color:#A9B2B0;}
  .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 22px;}
  button.submit{justify-self:start;font-family:var(--mono);font-size:12px;letter-spacing:.06em;
    color:#fff;background:var(--accent);border:1px solid var(--accent);
    padding:13px 22px;cursor:pointer;transition:background .18s;}
  button.submit:hover{background:var(--dark);border-color:var(--dark);}
  button.submit[disabled]{opacity:.55;cursor:default;}
  .form-note{font-family:var(--mono);font-size:10.5px;color:var(--faint);line-height:1.7;margin:0;}
  .form-status{font-family:var(--mono);font-size:11.5px;line-height:1.6;margin:0;color:var(--accent);}
  .form-status.err{color:#A8341C;}
  .details{border:1px solid var(--rule);background:var(--panel);}
  .details .blk{padding:22px 24px;border-top:1px solid var(--rule-2);}
  .details .blk:first-child{border-top:0;}
  .details h3{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
              color:var(--faint);font-weight:400;margin:0 0 12px;}
  .details p{margin:0;line-height:1.8;font-size:.93rem;}
  .details a{text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .15s;}
  .details a:hover{border-bottom-color:var(--accent);}
  .details .label{color:var(--faint);font-family:var(--mono);font-size:10.5px;}

  /* ---------------- Footer ---------------- */
  footer{border-top:1px solid var(--rule);padding:30px 0 60px;font-family:var(--mono);
         font-size:11px;color:var(--faint);}
  footer .wrap{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;align-items:center;}
  footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--ink);}
  .parent{display:inline-flex;align-items:center;gap:9px;}
  .parent svg{width:15px;height:15px;flex:none;}

  /* ---------------- Reveal ---------------- */
  .reveal{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

  /* ---------------- Responsive ---------------- */
  @media (max-width:1040px){
    .metabar .wrap{grid-template-columns:repeat(2,1fr);}
    .metabar div:nth-child(3){border-left:0;padding-left:0;}
    .metabar div:nth-child(3),.metabar div:nth-child(4){border-top:1px solid var(--rule-2);}
    .sectors{grid-template-columns:repeat(2,1fr);}
    .pr{grid-template-columns:44px 1fr;gap:0 20px;}
    .pr p{grid-column:2;margin-top:8px;}
    .phase{grid-template-columns:44px 1fr;gap:0 20px;}
    .phase .d{grid-column:2;margin-top:4px;}
    .phase p{grid-column:2;margin-top:10px;}
    .models{grid-template-columns:1fr;}
    .groupnote{grid-template-columns:1fr;gap:26px;}
    .contact-layout{grid-template-columns:1fr;gap:40px;}
  }
  @media (max-width:760px){
    .wrap{padding:0 30px;}
    .site-header{position:static;}
    .site-header .wrap{justify-content:flex-start;gap:10px 20px;}
    .brand svg{width:191px;}
    nav.menu{width:100%;gap:6px 14px;font-size:10.5px;}
    .caps{grid-template-columns:1fr;}
    .strow{grid-template-columns:1fr;gap:12px;}
    .chead{grid-template-columns:44px minmax(0,1fr);gap:0 18px;}
    .chead a.live{grid-column:2;margin-top:14px;justify-self:start;}
    .cfacts{grid-template-columns:repeat(2,1fr);}
    section{padding:76px 0;}
    .sec-head{margin-bottom:40px;}
    .hero{padding-top:72px;}
    .diagram{margin-top:52px;}
    .faq .a{padding-right:24px;}
  }
  @media (max-width:600px){
    .wrap{padding:0 26px;}
    .metabar .wrap{grid-template-columns:1fr;}
    .metabar div{border-left:0;padding-left:0;border-top:1px solid var(--rule-2);}
    .metabar div:first-child{border-top:0;}
    .sectors{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .band .wrap{padding-top:70px;padding-bottom:70px;}
  }

  @media print{
    body{background:#fff;}
    .site-header{position:static;}
    .reveal{opacity:1;transform:none;}
    .faq details{display:block;}
  }

  /* ================================================================
     Multi-page rebuild, 2026. Everything below is new: the split hero,
     the SVG diagram type scale, the proof band, the page headers, and
     the integration list on the healthcare page.
     ================================================================ */

  /* ---------------- Split hero ---------------- */
  /* The old hero stacked a headline over a blueprint grid with the
     diagram below the fold. Copy now holds the left column and the
     diagram sits beside it, which is what a buyer should see first:
     what we build, and where it sits in their stack. */
  .hero{padding:0;}
  .hero-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;
           padding:0 36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
           gap:56px 60px;align-items:center;
           padding-top:clamp(64px,7vw,96px);padding-bottom:clamp(64px,7vw,96px);}
  .hero-copy{min-width:0;}
  .hero h1{max-width:15ch;}
  .hero .lede{max-width:52ch;}

  .figure{border:1px solid var(--rule);background:var(--panel);min-width:0;}
  .figure .dhead{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;
                 align-items:center;padding:11px 16px;border-bottom:1px solid var(--rule);
                 font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
                 text-transform:uppercase;color:var(--faint);}
  .figure .dbody{padding:22px 16px 24px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .figure svg{display:block;margin:0 auto;width:100%;min-width:470px;height:auto;}
  .hero-fig{margin:0;}

  /* SVG diagram type scale. Set here rather than inline so every
     diagram on the site reads the same. */
  .figure svg .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;fill:var(--muted);}
  .figure svg .nd{font-family:var(--sans);font-size:12px;font-weight:600;fill:var(--ink);}
  .figure svg .sm{font-family:var(--mono);font-size:9.5px;fill:var(--muted);}
  .figure svg .nd.on{fill:#fff;}
  .figure svg .sm.on{fill:#B4D6D1;}
  .figure svg .node{fill:var(--panel-2);stroke:var(--rule);stroke-width:1;}
  .figure svg .node.hi{fill:var(--dark);stroke:var(--dark);}
  .figure svg .arw{stroke:var(--accent-bright);stroke-width:1.2;fill:none;}
  .figure svg .dash{stroke:#2A3634;stroke-width:1;stroke-dasharray:3 3;}
  .figure svg .dash2{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 4;}

  /* ---------------- Page header ---------------- */
  .pagehead{padding:72px 0 0;}
  .pagehead .crumbs{margin:0 0 22px;font-family:var(--mono);font-size:10.5px;
                    letter-spacing:.12em;text-transform:uppercase;}
  .pagehead .crumbs a{color:var(--faint);text-decoration:none;}
  .pagehead .crumbs a:hover{color:var(--accent);}
  .pagehead .idx{margin:0 0 14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
                 color:var(--accent);text-transform:uppercase;}
  .pagehead h1{margin:0;font-weight:600;font-size:clamp(1.85rem,3.7vw,2.75rem);
               line-height:1.1;letter-spacing:-0.025em;max-width:20ch;text-wrap:balance;}
  .pagehead .lede{margin:22px 0 0;max-width:60ch;color:var(--muted);
                  font-size:clamp(1rem,1.3vw,1.08rem);line-height:1.65;text-wrap:pretty;}
  /* The first section after a page header would otherwise draw its top
     border straight under the intro paragraph. */
  .wrap:has(> .pagehead) + .wrap > section:first-child{border-top:0;}

  /* ---------------- Proof band ---------------- */
  .proof{background:var(--dark);color:#E4EBEA;border-top:0;padding:0;}
  .proof .wrap{padding-top:88px;padding-bottom:88px;display:grid;
               grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px 64px;align-items:start;}
  .proof .idx{margin:0 0 16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
              text-transform:uppercase;color:var(--accent-bright);}
  .proof h2{margin:0;font-weight:600;font-size:clamp(1.5rem,2.9vw,2.15rem);line-height:1.14;
            letter-spacing:-0.022em;color:#fff;text-wrap:balance;}
  .proof p{margin:0 0 18px;color:#AEBAB8;font-size:1.02rem;line-height:1.68;text-wrap:pretty;}
  .proof p:last-of-type{margin-bottom:24px;}
  .proof a.more{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
                color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);
                padding-bottom:3px;transition:border-color .2s;}
  .proof a.more:hover{border-bottom-color:var(--accent-bright);}

  /* ---------------- Two-column prose ---------------- */
  .split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;
          align-items:start;}
  .split2 p{margin:0 0 18px;color:var(--muted);line-height:1.68;text-wrap:pretty;}
  .split2 p:last-child{margin-bottom:0;}

  .ticks{list-style:none;margin:0;padding:0;}
  .ticks li{position:relative;padding:13px 0 13px 26px;border-top:1px solid var(--rule-2);
            font-size:.97rem;line-height:1.55;color:var(--ink-2);}
  .ticks li:first-child{border-top:0;padding-top:0;}
  .ticks li::before{content:"+";position:absolute;left:0;top:13px;font-family:var(--mono);
                    font-size:12px;color:var(--accent);}
  .ticks li:first-child::before{top:0;}

  /* ---------------- Capability card actions ---------------- */
  .cap .go{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:10.5px;
           letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
           text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;
           cursor:pointer;transition:color .18s,border-color .18s;}
  .cap .go:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright);}

  .teaser-more{margin:44px 0 0;}
  .teaser-more a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
                 color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule);
                 padding-bottom:3px;transition:color .18s,border-color .18s;}
  .teaser-more a:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright);}
  section > .more,.split2 a.more{display:inline-block;margin-top:8px;font-family:var(--mono);
                 font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
                 text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;}
  .split2 a.more:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright);}

  /* ---------------- Integrations ---------------- */
  .intfilter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 44px;}
  .intfilter button{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
                    text-transform:uppercase;padding:9px 15px;background:var(--panel);
                    border:1px solid var(--rule);color:var(--muted);cursor:pointer;
                    transition:all .18s;}
  .intfilter button:hover{color:var(--ink);border-color:var(--faint);}
  .intfilter button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;}

  .intgroup{margin-bottom:54px;}
  .intgroup:last-of-type{margin-bottom:0;}
  .intgroup > h3{margin:0 0 20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
                 text-transform:uppercase;color:var(--faint);
                 padding-bottom:12px;border-bottom:1px solid var(--rule);}
  .intlist{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-2);
           border:1px solid var(--rule-2);}
  .intitem{background:var(--bg);padding:18px 18px 20px;transition:background .18s;}
  .intitem:hover{background:var(--panel);}
  .intitem h4{margin:0 0 5px;font-size:.98rem;font-weight:600;line-height:1.3;letter-spacing:-0.005em;}
  .intitem p{margin:0;font-family:var(--mono);font-size:10px;line-height:1.5;color:var(--muted);}

  /* ---------------- Reveal stagger ---------------- */
  .reveal{transition-delay:var(--d,0ms);}

  @media (max-width:1080px){
    .hero-in{grid-template-columns:1fr;gap:44px;
             padding-top:64px;padding-bottom:64px;}
    .hero h1{max-width:18ch;}
    .proof .wrap{grid-template-columns:1fr;gap:24px;padding-top:68px;padding-bottom:68px;}
    .split2{grid-template-columns:1fr;gap:34px;}
    .intlist{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:620px){
    .hero-in{padding-left:22px;padding-right:22px;padding-top:48px;padding-bottom:48px;}
    .figure .dbody{padding:16px 12px 18px;}
    .pagehead{padding-top:52px;}
    .intlist{grid-template-columns:1fr;}
    .intgroup{margin-bottom:40px;}
    .proof .wrap{padding-top:56px;padding-bottom:56px;}
  }

  .proof .runs{list-style:none;margin:30px 0 0;padding:26px 0 0;
               border-top:1px solid rgba(255,255,255,.14);}
  .proof .runs li{position:relative;padding:8px 0 8px 20px;font-family:var(--mono);
                  font-size:11.5px;letter-spacing:.02em;color:#8FA09D;}
  .proof .runs li::before{content:"›";position:absolute;left:0;color:var(--accent-bright);}

  /* ---------------- Legal documents ---------------- */
  /* Privacy and terms carry the same chrome as the rest of the site.
     The copy is generated centrally for every Seen brand, so only the
     shell is styled here. */
  .doc{padding:64px 36px 96px;max-width:var(--maxw);}
  .doc .updated{margin:0 0 44px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
                text-transform:uppercase;color:var(--faint);
                padding-bottom:22px;border-bottom:1px solid var(--rule);}
  .doc h2{margin:52px 0 16px;font-size:1.12rem;font-weight:600;letter-spacing:-0.012em;
          line-height:1.3;color:var(--ink);}
  .doc h3{margin:32px 0 10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
          text-transform:uppercase;color:var(--accent);}
  .doc p{margin:0 0 16px;max-width:72ch;color:var(--muted);font-size:.98rem;
         line-height:1.72;text-wrap:pretty;}
  .doc strong{color:var(--ink);font-weight:600;}
  .doc a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule);}
  .doc a:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright);}
  .doc ul,.doc ol{margin:0 0 18px;padding-left:20px;max-width:72ch;color:var(--muted);}
  .doc li{margin-bottom:9px;line-height:1.66;font-size:.98rem;}
  .doc .note{margin-top:44px;padding:20px 22px;background:var(--panel);
             border:1px solid var(--rule);font-family:var(--mono);font-size:11px;
             line-height:1.7;color:var(--muted);max-width:none;}
  .doc table{margin:8px 0 22px;}

  @media (max-width:620px){
    .doc{padding:44px 26px 72px;}
    .doc h2{margin-top:40px;}
  }

  /* ---------------- Solutions ---------------- */
  /* The named jobs a practice actually buys. Three columns: index,
     what it is, and what it gives back. The last column is the point,
     so it gets the accent and its own rule. */
  .sols{border-top:1px solid var(--rule);}
  .sol{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,258px);
       gap:0 32px;padding:30px 0;border-bottom:1px solid var(--rule);
       align-items:start;}
  /* The hover panel sits 24px outside the text on both sides, so the
     index and the outcome column keep their margins inside it. */
  .sol::before{content:"";position:absolute;inset:8px -24px;pointer-events:none;
               background:transparent;transition:background .18s;}
  .sol:hover::before{background:var(--panel);}
  .sol > *{position:relative;}
  .sol .n{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;
          color:var(--accent);padding-top:3px;}
  .sol h3{margin:0 0 10px;font-size:1.06rem;font-weight:600;line-height:1.32;
          letter-spacing:-0.012em;}
  .sol .body > p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.66;
                 max-width:62ch;text-wrap:pretty;}
  .sol .go{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10.5px;
           letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
           border-bottom:1px solid var(--rule);padding-bottom:3px;cursor:pointer;
           transition:color .18s,border-color .18s;}
  .sol .go:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright);}
  .sol .back{padding-left:32px;border-left:1px solid var(--rule-2);}
  .sol .back .k{margin:0 0 7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
                text-transform:uppercase;color:var(--faint);}
  .sol .back .v{margin:0;font-size:.97rem;line-height:1.42;color:var(--accent);
                font-weight:600;letter-spacing:-0.008em;}

  @media (max-width:900px){
    .sol{grid-template-columns:44px minmax(0,1fr);gap:0 20px;padding:26px 0;}
    .sol .back{grid-column:2;padding-left:0;border-left:0;margin-top:18px;
               padding-top:16px;border-top:1px solid var(--rule-2);}
  }
