/* styles.css */
:root{
    color-scheme: light;
    /* Color system */
    --ink-0:#0b1220;
    --ink-1:#0f1a30;
    --ink-2:#1b2a4a;
  
    --paper-0:#fbfbf8;
    --paper-1:#f4f3ee;
    --paper-2:#eceae2;
  
    --accent:#cb5a4f;
    --accent-2:#e1887f;
    --danger:#d64545;
  
    --border: color-mix(in oklab, var(--ink-1) 14%, transparent);
    --border-strong: color-mix(in oklab, var(--ink-1) 22%, transparent);
  
    --text: color-mix(in oklab, var(--ink-0) 92%, white);
    --muted: color-mix(in oklab, var(--ink-0) 62%, white);
  
    --bg: var(--paper-0);
    --bg-soft: var(--paper-1);
    --bg-tint: color-mix(in oklab, var(--paper-0) 72%, var(--accent) 2%);
    --surface: color-mix(in oklab, var(--paper-0) 84%, white);
    --surface-2: color-mix(in oklab, var(--paper-0) 70%, var(--paper-2));
  
    /* Type */
    --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    --font-serif: "DM Serif Display", ui-serif, Georgia, serif;
  
    --text-xs: 0.86rem;
    --text-sm: 0.95rem;
    --text-md: 1.05rem;
    --text-lg: 1.22rem;
    --text-xl: clamp(1.35rem, 1.3rem + 0.6vw, 1.7rem);
    --h3: 1.08rem;
    --h2: clamp(1.6rem, 1.4rem + 1.4vw, 2.2rem);
    --h1: clamp(2.2rem, 2rem + 2.6vw, 3.4rem);
  
    /* Spacing */
    --s-1: 0.5rem;
    --s-2: 0.75rem;
    --s-3: 1rem;
    --s-4: 1.25rem;
    --s-5: 1.75rem;
    --s-6: 2.25rem;
    --s-7: 3rem;
    --s-8: 4rem;
    --s-9: 5.5rem;
  
    /* Radius + shadows */
    --r-1: 10px;
    --r-2: 16px;
    --r-3: 22px;
  
    --shadow-sm: 0 10px 25px rgba(11, 18, 32, .08);
    --shadow-md: 0 18px 60px rgba(11, 18, 32, .12);
    --shadow-inset: inset 0 1px 0 rgba(255,255,255,.55);
  
    /* Motion */
    --ease: cubic-bezier(.22,.9,.22,1);
    --dur-1: 160ms;
    --dur-2: 260ms;
    --dur-3: 460ms;
  
    /* Layout */
    --container: 1160px;
  }
  
  *{ box-sizing:border-box; }
  html{ scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior: auto; }
  }
  
  body{
    margin:0;
    font-family: var(--font-sans);
    color: var(--text);
    background: var(--bg);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  /* Subtle background treatment: faint gradient + noise */
  body::before{
    content:"";
    position: fixed;
    inset:-20%;
    pointer-events:none;
    background:
      radial-gradient(1000px 520px at 10% 10%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 55%),
      radial-gradient(900px 500px at 95% 10%, color-mix(in oklab, var(--accent-2) 12%, transparent), transparent 55%),
      radial-gradient(800px 500px at 50% 90%, color-mix(in oklab, var(--accent) 8%, transparent), transparent 60%);
    filter: blur(0px);
    opacity: .9;
    z-index:-2;
  }
  
  body::after{
    content:"";
    position: fixed;
    inset:0;
    pointer-events:none;
    opacity:.07;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
    z-index:-1;
    mix-blend-mode: soft-light;
  }
  
  a{ color: inherit; }
  img, svg{ max-width:100%; height:auto; }
  button, input, select, textarea{ font: inherit; color: inherit; }
  p{ margin: 0 0 1rem; }
  h1,h2,h3{ margin:0; }
  ul,ol{ margin:0; padding:0; }
  
  .container{
    width: min(100% - 2rem, var(--container));
    margin-inline: auto;
  }
  
  .sr-only{
    position:absolute !important;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0);
    white-space:nowrap; border:0;
  }
  
  .skip-link{
    position:absolute;
    left:1rem;
    top: .75rem;
    padding: .6rem .8rem;
    border-radius: 999px;
    background: var(--surface);
    border:1px solid var(--border-strong);
    box-shadow: var(--shadow-sm);
    transform: translateY(-160%);
    transition: transform var(--dur-2) var(--ease);
    z-index: 9999;
  }
  .skip-link:focus{ transform: translateY(0); outline: none; }
  
  :focus-visible{
    outline: 3px solid color-mix(in oklab, var(--accent) 70%, white);
    outline-offset: 3px;
    border-radius: 10px;
  }
  
  /* Header */
  .site-header{
    position: sticky;
    top: 0;
    z-index: 1200;
    background: color-mix(in oklab, var(--bg) 78%, transparent);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid transparent;
    transition: box-shadow var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
  }
  .site-header.is-scrolled{
    border-color: var(--border);
    box-shadow: 0 14px 40px rgba(11,18,32,.10);
    background: color-mix(in oklab, var(--bg) 88%, transparent);
  }
  .header__inner{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: var(--s-4);
    padding: .9rem 0;
  }
  
  .brand{
    display:flex;
    align-items:center;
    gap: .7rem;
    text-decoration:none;
    user-select:none;
  }
  .brand__mark{
    width: 38px; height: 38px;
    display:grid;
    place-items:center;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(135deg,
      color-mix(in oklab, var(--surface) 80%, transparent),
      color-mix(in oklab, var(--accent) 10%, transparent)
    );
    box-shadow: var(--shadow-inset);
  }
  .brand__logo{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .brand__text{
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  
  /* Nav */
  .nav{ position: relative; }
  .nav__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-inset);
    cursor:pointer;
    transition: transform var(--dur-1) var(--ease), border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
  }
  .nav__toggle:hover{ transform: translateY(-1px); border-color: var(--border-strong); }
  .nav__toggleLines{
    width: 18px;
    height: 12px;
    position: relative;
  }
  .nav__toggleLines::before,
  .nav__toggleLines::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:2px;
    border-radius:999px;
    background: currentColor;
    transition: transform var(--dur-2) var(--ease), top var(--dur-2) var(--ease), bottom var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);
  }
  .nav__toggleLines::before{ top:2px; }
  .nav__toggleLines::after{ bottom:2px; }
  
  .nav__panel{
    position: absolute;
    right: 0;
    top: calc(100% + .6rem);
    width: min(92vw, 340px);
    border-radius: var(--r-2);
    border: 1px solid var(--border);
    background: var(--surface);
    box-shadow: var(--shadow-md);
    padding: .8rem;
    transform-origin: top right;
    transform: translateY(-6px) scale(.98);
    opacity: 0;
    pointer-events:none;
    transition: opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
  }
  .nav__panel.is-open{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events:auto;
  }
  .nav__list{
    display:grid;
    gap: .25rem;
    list-style:none;
    padding: .2rem;
    margin: 0 0 .65rem;
  }
  .nav__link{
    display:flex;
    align-items:center;
    justify-content: space-between;
    padding: .7rem .8rem;
    border-radius: 12px;
    text-decoration:none;
    color: var(--text);
    border: 1px solid transparent;
    transition: background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);
  }
  .nav__link:hover{
    background: color-mix(in oklab, var(--accent) 7%, var(--surface));
    border-color: color-mix(in oklab, var(--accent) 14%, transparent);
  }
  .nav__link[aria-current="page"]{
    background: color-mix(in oklab, var(--accent) 10%, var(--surface));
    border-color: color-mix(in oklab, var(--accent) 18%, transparent);
  }
  .nav__cta{
    border-top: 1px solid var(--border);
    padding-top: .65rem;
  }
  @media (min-width: 900px){
    .nav__toggle{ display:none; }
    .nav__panel{
      position: static;
      width:auto;
      padding:0;
      background: transparent;
      box-shadow:none;
      border:none;
      transform:none;
      opacity:1;
      pointer-events:auto;
      display:flex;
      align-items:center;
      gap: var(--s-3);
    }
    .nav__list{
      display:flex;
      align-items:center;
      gap: .15rem;
      margin:0;
    }
    .nav__link{
      padding: .55rem .75rem;
      border-radius: 999px;
    }
    .nav__cta{
      border: none;
      padding:0;
    }
  }
  
  /* Buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap: .5rem;
    padding: .9rem 1.05rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    text-decoration:none;
    cursor:pointer;
    transition: transform var(--dur-1) var(--ease), box-shadow var(--dur-2) var(--ease), background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);
    box-shadow: var(--shadow-inset);
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .btn:hover{
    transform: translateY(-1px);
    border-color: var(--border-strong);
  }
  .btn:active{ transform: translateY(0); }
  
  .btn--primary{
    background: linear-gradient(135deg,
      color-mix(in oklab, var(--accent) 85%, #fff),
      color-mix(in oklab, var(--accent-2) 52%, var(--accent))
    );
    border-color: color-mix(in oklab, var(--accent) 30%, transparent);
    color: #071024;
    box-shadow:
      0 14px 40px rgba(203,90,79,.22),
      var(--shadow-inset);
  }
  
  .btn--ghost{
    background: color-mix(in oklab, var(--surface) 72%, transparent);
  }
  .btn--block{ width:100%; }
  .btn--sm{ padding: .72rem .95rem; }
  
  /* Typography helpers */
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap: .65rem;
    color: var(--muted);
    font-size: var(--text-sm);
    margin: 0 0 var(--s-3);
  }
  .dot{
    width: 6px; height: 6px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--accent) 70%, white);
    box-shadow: 0 0 0 6px color-mix(in oklab, var(--accent) 10%, transparent);
  }
  .h2{
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--h2);
    letter-spacing: -0.02em;
  }
  .h3{
    font-size: var(--h3);
    font-weight: 650;
    letter-spacing: -0.01em;
  }
  .lead{
    font-size: var(--text-lg);
    color: var(--muted);
    max-width: 66ch;
    margin-top: .75rem;
  }
  .body{
    color: var(--muted);
    max-width: 68ch;
  }
  .muted{ color: var(--muted); }
  .fineprint{ font-size: var(--text-xs); color: var(--muted); margin: .6rem 0 0; }
  
  .link{
    text-decoration:none;
    font-weight: 650;
    letter-spacing: -0.01em;
    padding-bottom: .1rem;
    border-bottom: 1px solid color-mix(in oklab, var(--accent) 35%, transparent);
    transition: border-color var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);
  }
  .link:hover{
    border-color: color-mix(in oklab, var(--accent) 70%, transparent);
  }
  
  /* Sections */
  .section{
    padding: var(--s-9) 0;
  }
  .section--tint{
    background: linear-gradient(180deg,
      transparent,
      color-mix(in oklab, var(--bg-tint) 86%, transparent) 18%,
      transparent 96%
    );
  }
  .section--soft{
    background: linear-gradient(180deg,
      transparent,
      color-mix(in oklab, var(--bg-soft) 86%, transparent) 14%,
      transparent 96%
    );
  }
  .section__head{ margin-bottom: var(--s-6); }
  .section__foot{ margin-top: var(--s-6); display:flex; justify-content:flex-start; }
  
  /* Cards */
  .card{
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-3);
    box-shadow: var(--shadow-sm);
    padding: var(--s-5);
  }
  
  /* Hero */
  .hero{
    position: relative;
    padding: clamp(3.2rem, 4vw, 5rem) 0 var(--s-9);
    overflow: clip;
  }
  .hero__bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    color: var(--ink-2);
  }
  .hero__glow{
    position:absolute;
    inset:-10% -10% auto -10%;
    height: 420px;
    background:
      radial-gradient(500px 250px at 25% 40%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 60%),
      radial-gradient(420px 260px at 70% 30%, color-mix(in oklab, var(--accent-2) 16%, transparent), transparent 60%);
    filter: blur(6px);
    opacity: .9;
  }
  .hero__pattern{
    position:absolute;
    top: -40px;
    right: -160px;
    width: min(980px, 120vw);
    opacity: .85;
  }
  .hero__inner{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-6);
    align-items:start;
    position: relative;
  }
  @media (min-width: 980px){
    .hero__inner{
      grid-template-columns: 1.2fr .8fr;
      gap: var(--s-7);
      align-items:center;
    }
  }
  .hero__title{
    font-family: var(--font-serif);
    font-weight: 400;
    letter-spacing: -0.03em;
    font-size: var(--h1);
    line-height: 1.06;
    margin: 0 0 var(--s-4);
  }
  .hero__subhead{
    font-size: var(--text-xl);
    color: var(--muted);
    margin: 0 0 var(--s-5);
    max-width: 62ch;
  }
  .hero__actions{
    display:flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: var(--s-6);
  }
  
  .trust{
    display:flex;
    flex-wrap: wrap;
    gap: .6rem;
  }
  .trust__item{
    display:inline-flex;
    align-items:center;
    gap: .55rem;
    padding: .55rem .75rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--surface) 68%, transparent);
    border: 1px solid var(--border);
    color: var(--muted);
    font-size: var(--text-sm);
  }
  .trust__badge{
    width: 22px; height: 22px;
    display:grid;
    place-items:center;
    border-radius: 999px;
    background: color-mix(in oklab, var(--accent) 10%, transparent);
    color: color-mix(in oklab, var(--accent) 66%, var(--text));
  }
  .trust__badge svg{ width: 15px; height: 15px; }
  
  .hero__card{
    border-radius: 24px;
    padding: 0;
    overflow: hidden;
    background:
      linear-gradient(180deg, color-mix(in oklab, var(--surface) 92%, transparent), var(--surface));
  }
  .mini{ padding: var(--s-5); }
  .mini__top{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: var(--s-3);
    margin-bottom: var(--s-4);
  }
  .mini__kicker{
    margin:0;
    color: var(--muted);
    font-size: var(--text-sm);
  }
  .mini__chip{
    font-size: var(--text-xs);
    font-weight: 650;
    letter-spacing: -0.01em;
    padding: .35rem .6rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: color-mix(in oklab, var(--accent) 8%, var(--surface));
  }
  .mini__list{
    list-style:none;
    display:grid;
    gap: .75rem;
    margin: 0 0 var(--s-5);
    color: var(--muted);
  }
  .mini__list li{
    display:flex;
    gap: .7rem;
    align-items:flex-start;
  }
  .mini__icon{
    width: 32px; height: 32px;
    display:grid;
    place-items:center;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: color-mix(in oklab, var(--accent) 7%, var(--surface));
    color: color-mix(in oklab, var(--accent) 64%, var(--text));
    flex: 0 0 auto;
  }
  .mini__icon svg{ width: 18px; height: 18px; }
  .mini__bottom{
    display:grid;
    gap: .7rem;
    border-top: 1px solid var(--border);
    padding-top: var(--s-4);
  }
  .mini__fineprint{ margin:0; color: var(--muted); font-size: var(--text-xs); }
  
  /* Features */
  .features{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }
  @media (min-width: 720px){
    .features{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (min-width: 1080px){
    .features{ grid-template-columns: repeat(3, 1fr); }
  }
  
  .feature{
    border-radius: var(--r-3);
    border: 1px solid var(--border);
    background: color-mix(in oklab, var(--surface) 88%, transparent);
    box-shadow: var(--shadow-inset);
    padding: var(--s-5);
    transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);
  }
  .feature:hover{
    transform: translateY(-2px);
    border-color: var(--border-strong);
  }
  .feature__icon{
    width: 42px; height: 42px;
    display:grid;
    place-items:center;
    border-radius: 16px;
    background: color-mix(in oklab, var(--accent) 10%, transparent);
    border: 1px solid color-mix(in oklab, var(--accent) 18%, transparent);
    color: color-mix(in oklab, var(--accent) 72%, var(--text));
    margin-bottom: var(--s-3);
  }
  .feature__icon svg{ width: 22px; height: 22px; }
  .feature p{ color: var(--muted); margin: .55rem 0 0; }
  
  /* Packages */
  .packages{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }
  @media (min-width: 860px){
    .packages{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (min-width: 1120px){
    .packages{ grid-template-columns: repeat(4, 1fr); }
  }
  
  .package{
    padding: var(--s-5);
    display:flex;
    flex-direction: column;
    gap: var(--s-4);
  }
  .package .btn{
    margin-top: auto;
  }
  .package__head{
    display:flex;
    align-items:flex-start;
    justify-content: space-between;
    gap: var(--s-3);
  }
  .price{ margin: 0; }
  .price__amount{
    font-size: 1.25rem;
    font-weight: 750;
    letter-spacing: -0.02em;
  }
  .bullets{
    list-style:none;
    display:grid;
    gap: .6rem;
    color: var(--muted);
    font-size: var(--text-sm);
  }
  .bullets li{
    position: relative;
    padding-left: 1.2rem;
  }
  .bullets li::before{
    content:"";
    position:absolute;
    left:0;
    top: .55rem;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--accent) 70%, white);
    box-shadow: 0 0 0 5px color-mix(in oklab, var(--accent) 10%, transparent);
  }
  
  .card--featured{
    border-color: var(--border);
    background: var(--surface);
    position: relative;
    overflow: visible;
  }
  .ribbon{
    position: static;
    display: inline-flex;
    align-self: flex-start;
    margin: 0;
    font-size: var(--text-xs);
    font-weight: 750;
    letter-spacing: -0.01em;
    padding: .4rem .65rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--accent) 16%, var(--surface));
    border: 1px solid color-mix(in oklab, var(--accent) 24%, transparent);
  }
  
  /* Founders */
  .split{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-6);
    align-items:start;
  }
  @media (min-width: 980px){
    .split{ grid-template-columns: 1.05fr .95fr; gap: var(--s-7); }
  }
  .split__cards{
    display:grid;
    gap: var(--s-4);
  }
  .founder{
    display:flex;
    align-items:flex-start;
    gap: var(--s-4);
  }
  .avatar{
    width: 58px; height: 58px;
    border-radius: 999px;
    display:grid;
    place-items:center;
    position: relative;
    background: color-mix(in oklab, var(--surface) 84%, transparent);
    border: 1px solid var(--border);
    flex: 0 0 auto;
  }
  .avatar__ring{
    position:absolute;
    inset:-6px;
    border-radius: 999px;
    border: 1px solid color-mix(in oklab, var(--accent) 20%, transparent);
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 55%);
    pointer-events:none;
  }
  .avatar__text{
    font-weight: 800;
    letter-spacing: -0.02em;
    color: color-mix(in oklab, var(--accent) 68%, var(--text));
  }
  .founder__line{
    margin: .25rem 0 .55rem;
    color: var(--muted);
    font-size: var(--text-sm);
  }
  .note{
    padding: var(--s-5);
    background:
      linear-gradient(135deg,
        color-mix(in oklab, var(--accent) 8%, var(--surface)),
        color-mix(in oklab, var(--accent-2) 6%, var(--surface))
      );
  }
  .note__title{
    margin:0 0 .4rem;
    font-weight: 750;
    letter-spacing: -0.01em;
  }
  .note__text{ margin:0; color: var(--muted); }
  
  /* Timeline */
  .timeline{
    list-style:none;
    display:grid;
    gap: var(--s-4);
  }
  @media (min-width: 900px){
    .timeline{
      grid-template-columns: repeat(5, 1fr);
      gap: var(--s-3);
    }
  }
  .step{
    border: 1px solid var(--border);
    border-radius: var(--r-3);
    background: color-mix(in oklab, var(--surface) 88%, transparent);
    padding: var(--s-5);
    position: relative;
    overflow:hidden;
  }
  .step::before{
    content:"";
    position:absolute;
    inset:-40px -60px auto auto;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 60%);
    opacity:.9;
  }
  .step__num{
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: .08em;
    color: color-mix(in oklab, var(--accent) 70%, var(--text));
    margin-bottom: var(--s-2);
  }
  .step__body p{ color: var(--muted); margin: .55rem 0 0; }
  
  /* Auto logo marquee */
  .logo-marquee{
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  }
  .logo-marquee__track{
    list-style:none;
    display:flex;
    align-items:center;
    gap: var(--s-4);
    width: max-content;
    margin: 0;
    padding: .2rem;
    animation: logo-marquee 34s linear infinite;
  }
  .logo-marquee__item{
    width: 180px;
    height: 180px;
    padding: .85rem;
    border-radius: var(--r-2);
    border: 1px dashed color-mix(in oklab, var(--accent) 42%, var(--border));
    background: color-mix(in oklab, var(--accent) 8%, var(--surface));
    display:grid;
    place-items:center;
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: .03em;
    color: color-mix(in oklab, var(--accent) 74%, var(--text));
    text-transform: uppercase;
    flex: 0 0 180px;
  }
  .logo-marquee__image{
    width: auto;
    height: auto;
    max-width: 82%;
    max-height: 82%;
    display: block;
  }
  @media (min-width: 900px){
    .logo-marquee__item{
      width: 210px;
      height: 210px;
      flex-basis: 210px;
    }
  }
  @media (prefers-reduced-motion: reduce){
    .logo-marquee__track{ animation: none; }
  }
  @keyframes logo-marquee{
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  
  /* Accordion */
  .accordion{
    display:grid;
    gap: .75rem;
    max-width: 920px;
  }
  .acc-item{
    border: 1px solid var(--border);
    border-radius: var(--r-2);
    background: var(--surface);
    overflow: clip;
    box-shadow: var(--shadow-inset);
  }
  .acc-title{ margin:0; }
  .acc-trigger{
    width:100%;
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: var(--s-3);
    padding: 1rem 1rem;
    border:0;
    background: transparent;
    cursor:pointer;
    font-weight: 650;
    text-align:left;
  }
  .acc-icon{
    width: 18px;
    height: 18px;
    position: relative;
    flex: 0 0 auto;
  }
  .acc-icon::before,
  .acc-icon::after{
    content:"";
    position:absolute;
    inset: 50% 0 auto 0;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transform: translateY(-50%);
    opacity:.85;
  }
  .acc-icon::after{
    inset: 0 auto 0 50%;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
    transition: transform var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);
  }
  .acc-trigger[aria-expanded="true"] .acc-icon::after{
    opacity: 0;
    transform: translateX(-50%) scaleY(.4);
  }
  .acc-panel{
    overflow: hidden;
  }
  .acc-content{
    padding: 0 1rem 1rem 1rem;
    color: var(--muted);
  }
  
  /* Contact */
  .contact__grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-6);
    align-items:start;
  }
  @media (min-width: 980px){
    .contact__grid{
      grid-template-columns: .9fr 1.1fr;
      gap: var(--s-7);
      align-items: start;
    }
  }
  .contact__card{
    margin-top: var(--s-5);
  }
  .contact__email{
    margin: .2rem 0 0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  
  .form{
    padding: var(--s-6);
  }
  .form__head{
    display:flex;
    align-items:flex-end;
    justify-content: space-between;
    gap: var(--s-3);
    margin-bottom: var(--s-4);
  }
  .form__title{
    font-weight: 800;
    letter-spacing: -0.02em;
    margin:0;
  }
  .form__hint{
    margin:0;
    font-size: var(--text-xs);
    color: var(--muted);
  }
  
  .form__grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }
  @media (min-width: 720px){
    .form__grid{ grid-template-columns: 1fr 1fr; }
    .field--full{ grid-column: 1 / -1; }
  }
  .field label{
    display:block;
    font-weight: 650;
    margin-bottom: .45rem;
    letter-spacing: -0.01em;
  }
  .field input,
  .field select,
  .field textarea{
    width:100%;
    padding: .85rem .9rem;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: color-mix(in oklab, var(--surface-2) 82%, transparent);
    transition: border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);
    box-shadow: var(--shadow-inset);
  }
  .field textarea{ resize: vertical; min-height: 120px; }
  .field input:hover,
  .field select:hover,
  .field textarea:hover{
    border-color: var(--border-strong);
  }
  .field input:focus,
  .field select:focus,
  .field textarea:focus{
    outline: none;
    border-color: color-mix(in oklab, var(--accent) 45%, var(--border));
    background: color-mix(in oklab, var(--surface-2) 92%, transparent);
  }
  .field__error{
    margin: .45rem 0 0;
    font-size: var(--text-xs);
    color: color-mix(in oklab, var(--danger) 78%, var(--text));
    min-height: 1.1em;
  }
  .field.is-invalid input,
  .field.is-invalid select,
  .field.is-invalid textarea{
    border-color: color-mix(in oklab, var(--danger) 62%, var(--border));
  }
  .form__actions{
    margin-top: .2rem;
  }
  
  .form__status{
    margin-top: var(--s-4);
    padding: .85rem .95rem;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: color-mix(in oklab, var(--accent) 8%, var(--surface));
    color: var(--muted);
  }
  
  /* Footer */
  .footer{
    border-top: 1px solid var(--border);
    padding: var(--s-7) 0 var(--s-6);
    background: color-mix(in oklab, var(--bg-soft) 60%, transparent);
  }
  .footer__inner{
    display:grid;
    gap: var(--s-6);
  }
  @media (min-width: 900px){
    .footer__inner{
      grid-template-columns: 1.1fr 1fr;
      align-items:start;
    }
  }
  .brand--footer .brand__mark{ display:none; }
  .footer__brand p{ max-width: 52ch; }
  
  .footer__nav{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-5);
  }
  .footer__title{
    margin:0 0 .7rem;
    font-weight: 750;
    letter-spacing: -0.01em;
  }
  .footer__list{
    list-style:none;
    display:grid;
    gap: .4rem;
  }
  .footer__link{
    text-decoration:none;
    color: var(--muted);
    padding: .25rem 0;
    display:inline-block;
  }
  .footer__link:hover{ color: var(--text); }
  .footer__link[aria-disabled="true"]{
    opacity: .55;
    cursor: default;
  }
  .footer__fineprint{
    grid-column: 1 / -1;
    border-top: 1px solid var(--border);
    padding-top: var(--s-4);
  }
  
  /* Reveal-on-scroll */
  [data-reveal]{
    opacity: 0;
    transform: translateY(10px);
    transition: opacity var(--dur-3) var(--ease), transform var(--dur-3) var(--ease);
  }
  [data-reveal].is-visible{
    opacity: 1;
    transform: translateY(0);
  }
  @media (prefers-reduced-motion: reduce){
    [data-reveal]{
      opacity: 1;
      transform: none;
      transition: none;
    }
  }
  
