 :root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }
  .tc-nav__mark span {
    color: var(--pine-deep);
    font-size: 1.6rem;
    line-height: 0;
    width: 40%;
}
  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0;}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:320px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Hero ---------- */
  .tc-hero{
    position:relative;
    overflow:hidden;
    padding:88px 0 0;
  }
  .tc-hero__grid{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  }
  .tc-hero__eyebrow{
    font-size:.85rem;font-weight:600;color:var(--fern);
    margin-bottom:1em;
  }
  .tc-hero h1{font-size:clamp(2.1rem,4vw,3.35rem);max-width:14ch;}
  .tc-hero__lead{font-size:1.08rem;max-width:46ch;}
  .tc-hero__actions{display:flex;gap:1rem;margin-top:1.8rem;flex-wrap:wrap;}

  .tc-hero__panel{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    padding:44px 38px;
    color:var(--paper);
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
  }
  .tc-hero__panel h3{color:var(--paper);font-size:1.05rem;font-weight:500;font-family:'IBM Plex Sans';margin-bottom:1.6rem;opacity:.85;}
  .tc-stat{border-top:1px solid rgba(255,255,255,.18);padding:1.15rem 0;}
  .tc-stat:first-of-type{border-top:none;}
  .tc-stat__num{font-family:'Fraunces',serif;font-size:2.1rem;font-weight:600;line-height:1;}
  .tc-stat__label{font-size:.88rem;opacity:.8;margin-top:.3rem;}

  @media (max-width:900px){
    .tc-hero__grid{grid-template-columns:1fr;}
    .tc-hero__panel{clip-path:none;}
  }

  /* ---------- Trust strip ---------- */
  .tc-trust{padding:46px 0 10px;}
  .tc-trust__label{font-size:.85rem;color:var(--ink-soft);margin-bottom:1rem;}
  .tc-chiprow {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 50px;
}
  .tc-chip{
    border:1px solid var(--hairline);
    padding:.5em 1em;
    font-size:.86rem;
    color:var(--pine-deep);
    background:var(--mist);
    white-space:nowrap;
  }

  /* ---------- Section shell ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:3rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  /* ---------- About ---------- */
  .tc-about{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:start;}
  .tc-about__diagram{
    border:1px solid var(--hairline);
    background:var(--paper);
    padding:34px;
  }
  .tc-about__diagram svg{width:100%;height:auto;display:block;}
  .tc-about__diagram figcaption{margin-top:1.2rem;font-size:.85rem;color:var(--ink-soft);}
  @media (max-width:860px){.tc-about{grid-template-columns:1fr;}}

  /* ---------- Services ---------- */
  .tc-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
  .tc-service{
    background:var(--paper);
    padding:34px 30px;
    border-left:3px solid transparent;
    transition:border-color .18s ease, background .18s ease;
  }
  .tc-service:hover{border-left-color:var(--fern);background:var(--mist);}
  .tc-service__icon-badge{
    width:48px;height:48px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);
    margin-bottom:1.2rem;
  }
  .tc-service__icon{width:22px;height:22px;color:#FFFFFF;}
  .tc-service h3{font-size:1.12rem;margin-bottom:.5rem;}
  .tc-service p{font-size:.93rem;margin:0;}
  @media (max-width:900px){.tc-services{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.tc-services{grid-template-columns:1fr;}}

  /* ---------- Solution rows ---------- */
  .tc-solution{
    display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;
    padding:54px 0;border-top:1px solid var(--hairline);
  }
  .tc-solution:first-of-type{border-top:none;}
  .tc-solution__tag{font-size:.82rem;font-weight:600;color:var(--fern);margin-bottom:.6rem;}
  .tc-solution__figure{
    background:var(--pine-deep);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
  }
  .tc-solution__figure svg{position:absolute;inset:0;width:100%;height:100%;}
  .tc-solution:nth-of-type(even){grid-template-columns:1.1fr .9fr;}
  .tc-solution:nth-of-type(even) .tc-solution__figure{order:2;}
  @media (max-width:860px){
    .tc-solution,.tc-solution:nth-of-type(even){grid-template-columns:1fr;}
    .tc-solution:nth-of-type(even) .tc-solution__figure{order:0;}
  }

  /* ---------- Clients ---------- */
  .tc-clients{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
  .tc-client{
    border-right:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    padding:20px 22px;
    font-size:.94rem;
    font-weight:500;
    display:flex;align-items:center;gap:.7em;
  }
  .tc-client svg{width:16px;height:16px;flex:none;color:var(--fern);}
  @media (max-width:760px){.tc-clients{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:480px){.tc-clients{grid-template-columns:1fr;}}

  /* ---------- Brands ---------- */
  .tc-brands{display:flex;flex-wrap:wrap;gap:.55rem;}
  .tc-brand{
    border:1px solid var(--hairline);
    background:var(--paper);
    padding:.75em 1.2em;
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:.98rem;
    color:var(--pine-deep);
  }

  /* ---------- CTA band ---------- */
  .tc-cta{
    background:var(--pine-deep);
    color:var(--paper);
    padding:80px 0;
    text-align:left;
  }
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  :root:not([data-theme]) .tc-focus-visible:focus-visible,
  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
  
  
  :root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }
 .tc-nav__mark span {
    color: var(--pine-deep);
    font-size: 0.6rem;
    line-height: 0;
    /* opacity: .5; */
}
  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__links a.is-active{color:var(--fern);border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:320px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Page header ---------- */
  .tc-pageheader{
    position:relative;
    overflow:hidden;
    padding:80px 0 76px;
    background:linear-gradient(155deg,var(--mist) 0%, var(--paper) 65%);
    border-bottom:1px solid var(--hairline);
  }
  .tc-pageheader__grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:56px;
    align-items:center;
  }
  .tc-pageheader__eyebrow{font-size:.85rem;font-weight:600;color:var(--fern);margin-bottom:1em;}
  .tc-pageheader h1{font-size:clamp(2rem,4vw,3.1rem);max-width:16ch;}
  .tc-pageheader__lead{font-size:1.08rem;max-width:56ch;}
  .tc-pageheader__visual{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    aspect-ratio:5/4;
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
    overflow:hidden;
  }
  .tc-pageheader__visual svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-pageheader__grid{grid-template-columns:1fr;}
    .tc-pageheader__visual{clip-path:none;max-width:480px;}
  }

  /* ---------- Section shell ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:3rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  /* ---------- Story ---------- */
  .tc-story{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:start;}
  .tc-story__panel{
    background:var(--pine-deep);
    color:var(--paper);
    padding:38px 34px;
  }
  .tc-story__panel h3{color:var(--paper);font-size:1.02rem;font-weight:500;font-family:'IBM Plex Sans';opacity:.85;margin-bottom:1.5rem;}
  .tc-stat{border-top:1px solid rgba(255,255,255,.18);padding:1.1rem 0;}
  .tc-stat:first-of-type{border-top:none;}
  .tc-stat__num{font-family:'Fraunces',serif;font-size:2rem;font-weight:600;line-height:1;}
  .tc-stat__label{font-size:.87rem;opacity:.8;margin-top:.3rem;}
  @media (max-width:860px){.tc-story{grid-template-columns:1fr;}}

  /* ---------- Expertise rows ---------- */
  .tc-solution{
    display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;
    padding:54px 0;border-top:1px solid var(--hairline);
  }
  .tc-solution:first-of-type{border-top:none;}
  .tc-solution__tag{font-size:.82rem;font-weight:600;color:var(--fern);margin-bottom:.6rem;}
  .tc-solution__figure{
    background:var(--pine-deep);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
  }
  .tc-solution__figure svg{position:absolute;inset:0;width:100%;height:100%;}
  .tc-solution:nth-of-type(even){grid-template-columns:1.1fr .9fr;}
  .tc-solution:nth-of-type(even) .tc-solution__figure{order:2;}
  @media (max-width:860px){
    .tc-solution,.tc-solution:nth-of-type(even){grid-template-columns:1fr;}
    .tc-solution:nth-of-type(even) .tc-solution__figure{order:0;}
  }

  /* ---------- Values grid ---------- */
  .tc-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
  .tc-value{
    background:var(--paper);
    padding:32px 28px;
    border-top:3px solid transparent;
    transition:border-color .18s ease, background .18s ease;
  }
  .tc-value:hover{border-top-color:var(--fern);background:var(--mist);}
  .tc-value__num{font-family:'Fraunces',serif;font-size:1.6rem;color:var(--fern);margin-bottom:.8rem;}
  .tc-value h3{font-size:1.04rem;margin-bottom:.5rem;}
  .tc-value p{font-size:.9rem;margin:0;}
  @media (max-width:900px){.tc-values{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.tc-values{grid-template-columns:1fr;}}

  /* ---------- Approach list ---------- */
  .tc-approach{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
  .tc-approach__item{border-left:2px solid var(--hairline);padding-left:24px;}
  .tc-approach__item h4{font-family:'IBM Plex Sans';font-weight:600;color:var(--pine-deep);font-size:1rem;margin-bottom:.4rem;}
  .tc-approach__item p{font-size:.93rem;margin:0;}
  @media (max-width:760px){.tc-approach{grid-template-columns:1fr;}}

  /* ---------- CTA band ---------- */
  .tc-cta{
    background:var(--pine-deep);
    color:var(--paper);
    padding:80px 0;
    text-align:left;
  }
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
   :root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }

  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0;}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__links a.is-active{color:var(--fern);border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:320px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Page header ---------- */
  .tc-pageheader{
    position:relative;
    overflow:hidden;
    padding:80px 0 76px;
    background:linear-gradient(155deg,var(--mist) 0%, var(--paper) 65%);
    border-bottom:1px solid var(--hairline);
  }
  .tc-pageheader__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .tc-pageheader__eyebrow{font-size:.85rem;font-weight:600;color:var(--fern);margin-bottom:1em;}
  .tc-pageheader h1{font-size:clamp(2rem,4vw,3.1rem);max-width:16ch;}
  .tc-pageheader__lead{font-size:1.08rem;max-width:56ch;}
  .tc-pageheader__visual{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    aspect-ratio:5/4;
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
    overflow:hidden;
  }
  .tc-pageheader__visual svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-pageheader__grid{grid-template-columns:1fr;}
    .tc-pageheader__visual{clip-path:none;max-width:480px;}
  }

  /* ---------- Stats strip ---------- */
  .tc-statstrip{border-bottom:1px solid var(--hairline);}
  .tc-statstrip__row{display:grid;grid-template-columns:repeat(4,1fr);}
  .tc-statstrip__item{padding:30px 28px;border-left:1px solid var(--hairline);}
  .tc-statstrip__item:first-child{border-left:none;}
  .tc-statstrip__num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--pine-deep);font-weight:600;line-height:1;}
  .tc-statstrip__label{font-size:.85rem;color:var(--ink-soft);margin-top:.35rem;}
  @media (max-width:760px){
    .tc-statstrip__row{grid-template-columns:repeat(2,1fr);}
    .tc-statstrip__item:nth-child(3){border-left:none;}
  }

  /* ---------- Section shell ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:2.4rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  /* ---------- Filter tabs ---------- */
  .tc-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem;}
  .tc-filter{
    border:1px solid var(--hairline);
    background:var(--paper);
    color:var(--ink-soft);
    padding:.6em 1.15em;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:.88rem;
    font-weight:600;
    cursor:pointer;
    transition:background .16s ease, color .16s ease, border-color .16s ease;
  }
  .tc-filter:hover{border-color:var(--fern);}
  .tc-filter[aria-pressed="true"]{background:var(--pine);border-color:var(--pine);color:var(--paper);}

  /* ---------- Brand grid ---------- */
  .tc-brandgrid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .tc-brandcard{
    background:var(--paper);
    padding:24px 22px;
    display:flex;
    align-items:center;
    gap:.85rem;
    border-left:3px solid transparent;
    transition:border-color .18s ease, background .18s ease;
  }
  .tc-brandcard:hover{border-left-color:var(--fern);background:var(--mist);}
  .tc-brandcard.is-hidden{display:none;}
  .tc-brandcard__icon{
    width:36px;height:36px;flex:none;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);
    color:#FFFFFF;
  }
  .tc-brandcard__icon svg{width:18px;height:18px;}
  .tc-brandcard__name{
    font-family:'Fraunces',serif;font-weight:600;font-size:1rem;color:var(--pine-deep);
    line-height:1.2;
  }
  @media (max-width:960px){.tc-brandgrid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:700px){.tc-brandgrid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:460px){.tc-brandgrid{grid-template-columns:1fr;}}

  /* ---------- Spotlight rows ---------- */
  .tc-servicerow{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
    padding:70px 0;border-top:1px solid var(--hairline);
  }
  .tc-servicerow:first-of-type{border-top:none;}
  .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:2;}
  .tc-servicerow__index{font-family:'Fraunces',serif;font-size:.95rem;color:var(--fern);font-weight:600;margin-bottom:.9rem;}
  .tc-servicerow h3{font-size:clamp(1.4rem,2.4vw,1.85rem);}
  .tc-servicerow__figure{
    background:var(--pine-deep);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
    border-radius:2px;
  }
  .tc-servicerow__figure svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-servicerow{grid-template-columns:1fr;gap:32px;padding:48px 0;}
    .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:0;}
  }

  /* ---------- CTA band ---------- */
  .tc-cta{background:var(--pine-deep);color:var(--paper);padding:80px 0;text-align:left;}
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
    /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-social{display:flex;gap:.65rem;margin-top:1.5rem;}
  .tc-social__link{
    width:36px;height:36px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    color:rgba(255,255,255,.85);
    transition:background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
  }
  .tc-social__link svg{width:16px;height:16px;}
  .tc-social__link:hover{
    background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);
    border-color:transparent;
    color:#FFFFFF;
    transform:translateY(-2px);
  }
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  :root:not([data-theme]) .tc-focus-visible:focus-visible,
  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
  .mb-30 {
    margin-top: 50px;
}
:root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --danger:#B3492B;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}
  .tc-btn--full{width:100%;justify-content:center;}
  .tc-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }
  .tc-nav__mark span{color:var(--pine-deep);font-size:1.6rem;line-height:0;}
  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0;}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__links a.is-active{color:var(--fern);border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:360px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Page header ---------- */
  .tc-pageheader{
    position:relative;
    overflow:hidden;
    padding:80px 0 76px;
    background:linear-gradient(155deg,var(--mist) 0%, var(--paper) 65%);
    border-bottom:1px solid var(--hairline);
  }
  .tc-pageheader__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .tc-pageheader__eyebrow{font-size:.85rem;font-weight:600;color:var(--fern);margin-bottom:1em;}
  .tc-pageheader h1{font-size:clamp(2rem,4vw,3.1rem);max-width:15ch;}
  .tc-pageheader__lead{font-size:1.08rem;max-width:52ch;}
  .tc-pageheader__visual{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    aspect-ratio:5/4;
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
    overflow:hidden;
  }
  .tc-pageheader__visual svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-pageheader__grid{grid-template-columns:1fr;}
    .tc-pageheader__visual{clip-path:none;max-width:480px;}
  }

  /* ---------- Quick reasons strip ---------- */
  .tc-reasons{border-bottom:1px solid var(--hairline);}
  .tc-reasons__row{display:grid;grid-template-columns:repeat(3,1fr);}
  .tc-reason{padding:28px 30px;border-left:1px solid var(--hairline);display:flex;gap:.85rem;align-items:flex-start;}
  .tc-reason:first-child{border-left:none;}
  .tc-reason__icon-badge{
    width:44px;height:44px;flex:none;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);
  }
  .tc-reason__icon{width:20px;height:20px;color:#FFFFFF;}
  .tc-reason h4{font-family:'IBM Plex Sans';font-weight:600;font-size:.96rem;color:var(--pine-deep);margin:0 0 .25rem;}
  .tc-reason p{font-size:.87rem;margin:0;}
  @media (max-width:860px){
    .tc-reasons__row{grid-template-columns:1fr;}
    .tc-reason{border-left:none;border-top:1px solid var(--hairline);}
    .tc-reason:first-child{border-top:none;}
  }

  /* ---------- Contact section ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:2.4rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  .tc-contactgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
  @media (max-width:920px){.tc-contactgrid{grid-template-columns:1fr;}}

  /* form */
  .tc-form{border:1px solid var(--hairline);padding:36px;background:var(--paper);}
  .tc-field{margin-bottom:1.4rem;}
  .tc-field label{
    display:block;font-size:.85rem;font-weight:600;color:var(--pine-deep);margin-bottom:.4rem;
  }
  .tc-field__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
  @media (max-width:560px){.tc-field__row{grid-template-columns:1fr;}}
  .tc-input, .tc-textarea, .tc-select{
    width:100%;
    border:1px solid var(--hairline);
    background:var(--paper);
    padding:.8em .9em;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:.95rem;
    color:var(--ink);
    border-radius:2px;
  }
  .tc-input:focus, .tc-textarea:focus, .tc-select:focus{
    outline:none;border-color:var(--fern);box-shadow:0 0 0 3px rgba(28,140,90,.15);
  }
  .tc-textarea{resize:vertical;min-height:130px;}
  .tc-field__hint{font-size:.78rem;color:var(--ink-soft);opacity:.75;margin-top:.35rem;}
  .tc-field__error{font-size:.78rem;color:var(--danger);margin-top:.35rem;display:none;}
  .tc-field.has-error .tc-input,
  .tc-field.has-error .tc-textarea{border-color:var(--danger);}
  .tc-field.has-error .tc-field__error{display:block;}
  .tc-formnote{font-size:.82rem;color:var(--ink-soft);margin-top:1rem;margin-bottom:0;}
  .tc-formsuccess{
    display:none;
    border:1px solid var(--fern);
    background:var(--mist);
    color:var(--pine-deep);
    padding:1em 1.2em;
    font-size:.92rem;
    margin-top:1.2rem;
  }
  .tc-formsuccess.is-visible{display:block;}

  /* info panel */
  .tc-infopanel{background:var(--pine-deep);color:var(--paper);padding:36px;}
  .tc-infopanel h3{color:var(--paper);font-size:1.15rem;}
  .tc-infopanel p{color:rgba(255,255,255,.72);}
  .tc-infoitem{display:flex;gap:.9rem;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.16);}
  .tc-infoitem:first-of-type{border-top:none;}
  .tc-infoitem__icon{width:22px;height:22px;flex:none;color:#FFFFFF;margin-top:.15rem;}
  .tc-infoitem__label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.55);margin-bottom:.2rem;}
  .tc-infoitem__value{font-size:.96rem;color:var(--paper);}
  .tc-infoitem__value a{text-decoration:none;color:var(--paper);}
  .tc-infoitem__value a:hover{color:#691DCE;}

  .tc-mapframe{
    margin-top:1.6rem;
    border:1px solid rgba(255,255,255,.18);
    aspect-ratio:4/3;
    overflow:hidden;
  }
  .tc-mapframe iframe{width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05);}

  /* ---------- FAQ ---------- */
  .tc-faq{border-top:1px solid var(--hairline);}
  .tc-faqitem{border-bottom:1px solid var(--hairline);}
  .tc-faqitem__q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    padding:1.4rem 0;font-family:'Fraunces',serif;font-size:1.05rem;color:var(--pine-deep);font-weight:600;
  }
  .tc-faqitem__q svg{width:18px;height:18px;flex:none;color:var(--fern);transition:transform .2s ease;}
  .tc-faqitem[data-open="true"] .tc-faqitem__q svg{transform:rotate(45deg);}
  .tc-faqitem__a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .tc-faqitem[data-open="true"] .tc-faqitem__a{max-height:220px;}
  .tc-faqitem__a p{padding-bottom:1.4rem;margin:0;font-size:.94rem;}

  /* ---------- CTA band ---------- */
  .tc-cta{background:var(--pine-deep);color:var(--paper);padding:80px 0;text-align:left;}
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
  
   :root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }
  .tc-nav__mark span{color:var(--pine-deep);font-size:1.6rem;line-height:0;}
  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0;}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__links a.is-active{color:var(--fern);border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:320px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Page header ---------- */
  .tc-pageheader{
    position:relative;
    overflow:hidden;
    padding:80px 0 76px;
    background:linear-gradient(155deg,var(--mist) 0%, var(--paper) 65%);
    border-bottom:1px solid var(--hairline);
  }
  .tc-pageheader__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .tc-pageheader__eyebrow{font-size:.85rem;font-weight:600;color:var(--fern);margin-bottom:1em;}
  .tc-pageheader h1{font-size:clamp(2rem,4vw,3.1rem);max-width:16ch;}
  .tc-pageheader__lead{font-size:1.08rem;max-width:56ch;}
  .tc-pageheader__visual{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    aspect-ratio:5/4;
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
    overflow:hidden;
  }
  .tc-pageheader__visual svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-pageheader__grid{grid-template-columns:1fr;}
    .tc-pageheader__visual{clip-path:none;max-width:480px;}
  }

  /* ---------- Quick jump ---------- */
  .tc-jump{padding:34px 0;border-bottom:1px solid var(--hairline);}
  .tc-jump__row{display:flex;flex-wrap:wrap;gap:.6rem;}
  .tc-jump a{
    border:1px solid var(--hairline);
    padding:.5em 1em;
    font-size:.86rem;
    font-weight:500;
    color:var(--pine-deep);
    text-decoration:none;
    background:var(--mist);
  }
  .tc-jump a:hover{background:var(--mist-deep);border-color:var(--fern);}

  /* ---------- Service row ---------- */
  .tc-servicerow{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
    padding:80px 0;border-bottom:1px solid var(--hairline);
    scroll-margin-top:90px;
  }
  .tc-servicerow:last-of-type{border-bottom:none;}
  .tc-servicerow:nth-of-type(even){grid-template-columns:1fr 1fr;}
  .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:2;}
  .tc-servicerow__index{font-family:'Fraunces',serif;font-size:.95rem;color:var(--fern);font-weight:600;margin-bottom:.9rem;}
  .tc-servicerow h2{font-size:clamp(1.5rem,2.6vw,2rem);}
  .tc-servicerow__list{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
  .tc-servicerow__list li{display:flex;gap:.65em;align-items:flex-start;font-size:.94rem;color:var(--ink-soft);}
  .tc-servicerow__list svg{width:16px;height:16px;flex:none;color:var(--fern);margin-top:.2em;}
  .tc-servicerow__figure{
    background:var(--pine-deep);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
    border-radius:2px;
  }
  .tc-servicerow__figure svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-servicerow, .tc-servicerow:nth-of-type(even){grid-template-columns:1fr;gap:32px;}
    .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:0;}
    .tc-servicerow{padding:56px 0;}
  }

  /* ---------- Section shell ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:3rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  /* ---------- Approach list ---------- */
  .tc-approach{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
  .tc-approach__item{border-left:2px solid var(--hairline);padding-left:24px;}
  .tc-approach__item h4{font-family:'IBM Plex Sans';font-weight:600;color:var(--pine-deep);font-size:1rem;margin-bottom:.4rem;}
  .tc-approach__item p{font-size:.93rem;margin:0;}
  @media (max-width:760px){.tc-approach{grid-template-columns:1fr;}}

  /* ---------- CTA band ---------- */
  .tc-cta{background:var(--pine-deep);color:var(--paper);padding:80px 0;text-align:left;}
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }
  
  :root{
    --pine:#3A1370;
    --pine-deep:#230B47;
    --fern:#6520CD;
    --fern-bright:#691DCE;
    --azure:#2B70F8;
    --paper:#FFFFFF;
    --mist:#F3EDFC;
    --mist-deep:#E9DFFA;
    --ink:#12201A;
    --ink-soft:#3D4F47;
    --hairline:#DDD0F5;
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .tc-wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    color:var(--pine-deep);
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}

  .tc-btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.6em;
    font-family:'IBM Plex Sans',sans-serif;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1.5px solid var(--pine);
    border-radius:2px;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .tc-btn--solid{background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);color:var(--paper);border-color:transparent;}
  .tc-btn--solid:hover{background:var(--fern);border-color:var(--fern);transform:translateY(-1px);}
  .tc-btn--ghost{background:transparent;color:var(--pine);}
  .tc-btn--ghost:hover{background:var(--mist);}
  .tc-btn--onDark{border-color:rgba(255,255,255,.55);color:var(--paper);}
  .tc-btn--onDark:hover{background:rgba(255,255,255,.12);}

  /* ---------- Nav ---------- */
  .tc-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .tc-nav__bar{
    max-width:var(--max);margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;
    height:74px;
  }
  .tc-nav__mark{
    font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;
    color:var(--pine-deep);text-decoration:none;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:.35em;
  }
  .tc-nav__mark span{color:var(--pine-deep);font-size:1.6rem;line-height:0;}
  .tc-nav__mark .tc-nav__mark-a{color:var(--fern);}
  .tc-nav__mark .tc-nav__mark-b{color:var(--azure);}
  .tc-nav__links{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0;}
  .tc-nav__links a{
    text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);
    padding:.3em 0;border-bottom:2px solid transparent;
  }
  .tc-nav__links a:hover{border-bottom-color:var(--fern);}
  .tc-nav__links a.is-active{color:var(--fern);border-bottom-color:var(--fern);}
  .tc-nav__cta{display:flex;align-items:center;gap:1.4rem;}
  .tc-nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .tc-nav__toggle span{display:block;width:24px;height:2px;background:var(--pine-deep);margin:5px 0;}

  @media (max-width:860px){
    .tc-nav__links{
      position:absolute;top:74px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--hairline);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .tc-nav__links.is-open{max-height:320px;}
    .tc-nav__links li{width:100%;}
    .tc-nav__links a{display:block;padding:1em 28px;width:100%;border-bottom:1px solid var(--hairline);}
    .tc-nav__cta .tc-btn{display:none;}
    .tc-nav__toggle{display:block;}
  }

  /* ---------- Page header ---------- */
  .tc-pageheader{
    position:relative;
    overflow:hidden;
    padding:80px 0 76px;
    background:linear-gradient(155deg,var(--mist) 0%, var(--paper) 65%);
    border-bottom:1px solid var(--hairline);
  }
  .tc-pageheader__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .tc-pageheader__eyebrow{font-size:.85rem;font-weight:600;color:var(--fern);margin-bottom:1em;}
  .tc-pageheader h1{font-size:clamp(2rem,4vw,3.1rem);max-width:17ch;}
  .tc-pageheader__lead{font-size:1.08rem;max-width:56ch;}
  .tc-pageheader__visual{
    position:relative;
    background:linear-gradient(155deg,var(--azure) 0%,var(--fern) 100%);
    border-radius:4px;
    aspect-ratio:5/4;
    clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);
    overflow:hidden;
  }
  .tc-pageheader__visual svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-pageheader__grid{grid-template-columns:1fr;}
    .tc-pageheader__visual{clip-path:none;max-width:480px;}
  }

  /* ---------- Stats strip ---------- */
  .tc-statstrip{border-bottom:1px solid var(--hairline);}
  .tc-statstrip__row{display:grid;grid-template-columns:repeat(4,1fr);}
  .tc-statstrip__item{padding:30px 28px;border-left:1px solid var(--hairline);}
  .tc-statstrip__item:first-child{border-left:none;}
  .tc-statstrip__num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--pine-deep);font-weight:600;line-height:1;}
  .tc-statstrip__label{font-size:.85rem;color:var(--ink-soft);margin-top:.35rem;}
  @media (max-width:760px){
    .tc-statstrip__row{grid-template-columns:repeat(2,1fr);}
    .tc-statstrip__item:nth-child(3){border-left:none;}
  }

  /* ---------- Section shell ---------- */
  .tc-section{padding:96px 0;}
  .tc-section--mist{background:var(--mist);}
  .tc-section__head{max-width:640px;margin-bottom:2.4rem;}
  .tc-section__head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

  /* ---------- Filter tabs ---------- */
  .tc-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem;}
  .tc-filter{
    border:1px solid var(--hairline);
    background:var(--paper);
    color:var(--ink-soft);
    padding:.6em 1.15em;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:.88rem;
    font-weight:600;
    cursor:pointer;
    transition:background .16s ease, color .16s ease, border-color .16s ease;
  }
  .tc-filter:hover{border-color:var(--fern);}
  .tc-filter[aria-pressed="true"]{background:var(--pine);border-color:var(--pine);color:var(--paper);}

  /* ---------- Client grid ---------- */
  .tc-clientgrid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .tc-clientcard{
    background:var(--paper);
    padding:28px 26px;
    border-left:3px solid transparent;
    transition:border-color .18s ease, background .18s ease, opacity .2s ease, transform .2s ease;
  }
  .tc-clientcard:hover{border-left-color:var(--fern);background:var(--mist);}
  .tc-clientcard.is-hidden{
    display:none;
  }
  .tc-clientcard__icon{
    width:40px;height:40px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--azure) 0%,var(--fern) 100%);
    color:#FFFFFF;
    margin-bottom:1rem;
  }
  .tc-clientcard__icon svg{width:20px;height:20px;}
  .tc-clientcard h3{font-size:1.02rem;margin-bottom:.35rem;}
  .tc-clientcard p{font-size:.87rem;margin:0 0 .7rem;}
  .tc-clientcard__tag{
    display:inline-block;
    font-size:.74rem;
    font-weight:600;
    letter-spacing:.02em;
    color:var(--fern);
    background:var(--mist-deep);
    padding:.25em .6em;
  }
  @media (max-width:900px){.tc-clientgrid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.tc-clientgrid{grid-template-columns:1fr;}}

  /* ---------- Spotlight rows (shared with services page pattern) ---------- */
  .tc-servicerow{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
    padding:70px 0;border-top:1px solid var(--hairline);
  }
  .tc-servicerow:first-of-type{border-top:none;}
  .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:2;}
  .tc-servicerow__index{font-family:'Fraunces',serif;font-size:.95rem;color:var(--fern);font-weight:600;margin-bottom:.9rem;}
  .tc-servicerow h3{font-size:clamp(1.4rem,2.4vw,1.85rem);}
  .tc-servicerow__figure{
    background:var(--pine-deep);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
    border-radius:2px;
  }
  .tc-servicerow__figure svg{position:absolute;inset:0;width:100%;height:100%;}
  @media (max-width:900px){
    .tc-servicerow{grid-template-columns:1fr;gap:32px;padding:48px 0;}
    .tc-servicerow:nth-of-type(even) .tc-servicerow__figure{order:0;}
  }

  /* ---------- CTA band ---------- */
  .tc-cta{background:var(--pine-deep);color:var(--paper);padding:80px 0;text-align:left;}
  .tc-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .tc-cta h2{color:var(--paper);max-width:16ch;font-size:clamp(1.6rem,3vw,2.1rem);}
  .tc-cta p{color:rgba(255,255,255,.75);}

  /* ---------- Footer ---------- */
  .tc-footer{background:var(--pine);color:rgba(255,255,255,.85);padding:64px 0 28px;}
  .tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .tc-footer__mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:1rem;}
  .tc-footer p{color:rgba(255,255,255,.65);font-size:.93rem;}
  .tc-footer h4{color:var(--paper);font-size:.85rem;text-transform:none;font-family:'IBM Plex Sans';font-weight:600;margin-bottom:1rem;}
  .tc-footer ul{list-style:none;margin:0;padding:0;}
  .tc-footer li{margin-bottom:.6rem;font-size:.93rem;}
  .tc-footer a{text-decoration:none;color:rgba(255,255,255,.75);}
  .tc-footer a:hover{color:var(--paper);}
  .tc-footer__bottom{
    max-width:var(--max);margin:48px auto 0;padding:24px 28px 0;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:.83rem;color:rgba(255,255,255,.55);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  }
  @media (max-width:760px){.tc-footer__grid{grid-template-columns:1fr;}}

  a:focus-visible, button:focus-visible{outline:2px solid var(--fern);outline-offset:2px;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:0.001ms !important;}
  }