@layer reset, tokens, base, layout, components, utilities, motion;

@layer reset{
  *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
  html{
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent;
  }
  @media (prefers-reduced-motion:no-preference){
    html:focus-within{scroll-behavior:smooth}
  }
  body{
    font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Segoe UI',system-ui,'Helvetica Neue',sans-serif;
    background:var(--bg);
    color:var(--tx);
    font-size:17px;
    line-height:1.47;
    letter-spacing:-.01em;
    overflow-x:clip;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  a{color:inherit;text-decoration:none}
  img,svg{display:block;max-width:100%}
  img{height:auto}
  button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}
  ul,ol{list-style:none}
  ::selection{background:var(--accent);color:var(--on-accent)}
}

@layer tokens{
  :root{
    color-scheme:dark;

    --bg:#000000;
    --card:#101012;
    --card-2:#1a1a1d;
    --card-3:#26262a;
    --line:rgba(255,255,255,.10);
    --line-2:rgba(255,255,255,.20);

    --tx:#f5f5f7;
    --tx-2:#a9a9b2;
    --tx-3:#8a8a94;

    --accent:#ff7a5c;
    --accent-deep:#de3a24;
    --on-accent:#0c0c0d;
    --accent-soft:rgba(255,122,92,.14);
    --gold:#ffb340;

    --shadow-sm:0 2px 8px rgba(0,0,0,.5);
    --shadow-md:0 10px 28px rgba(0,0,0,.55);
    --shadow-lg:0 22px 56px rgba(0,0,0,.6);

    --sp:cubic-bezier(.32,.72,0,1);
    --ease:cubic-bezier(.33,1,.68,1);

    --r-sm:10px;
    --r-md:16px;
    --r-lg:22px;
    --r-xl:28px;
    --r-full:999px;

    --step--1:clamp(.78rem,.76rem + .08vw,.83rem);
    --step-0:clamp(.94rem,.91rem + .14vw,1.03rem);
    --step-1:clamp(1.06rem,1rem + .28vw,1.24rem);
    --step-2:clamp(1.24rem,1.1rem + .62vw,1.66rem);
    --step-3:clamp(1.5rem,1.24rem + 1.18vw,2.35rem);
    --step-4:clamp(1.86rem,1.4rem + 2.1vw,3.3rem);
    --step-5:clamp(2.3rem,1.5rem + 3.7vw,4.7rem);

    --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
    --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:88px; --sp-10:120px;

    --wrap:1120px;
    --gutter:clamp(20px,5vw,48px);
    --section:clamp(56px,8vw,104px);
  }

  [data-theme="light"]{
    color-scheme:light;
    --bg:#f7f7f8;
    --card:#ffffff;
    --card-2:#f1f1f3;
    --card-3:#e6e6ea;
    --line:rgba(0,0,0,.10);
    --line-2:rgba(0,0,0,.18);

    --tx:#111114;
    --tx-2:#54545c;
    --tx-3:#5e5e64;

    --accent:#b82a18;
    --accent-deep:#8f1c0e;
    --on-accent:#ffffff;
    --accent-soft:rgba(184,42,24,.09);
    --gold:#a86a00;

    --shadow-sm:0 1px 3px rgba(0,0,0,.08);
    --shadow-md:0 8px 24px rgba(0,0,0,.10);
    --shadow-lg:0 20px 48px rgba(0,0,0,.14);
  }

  [data-theme="light"] .ico-sun{display:none}
  [data-theme="light"] .ico-moon{display:block}
  .ico-sun{display:block}
  .ico-moon{display:none}
}

@layer base{
  h1,h2,h3,h4{
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.032em;
    text-wrap:balance;
    color:var(--tx);
  }
  p{text-wrap:pretty}

  :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
    border-radius:var(--r-sm);
  }

  .skip-link{
    position:fixed;top:0;left:50%;
    transform:translate(-50%,-110%);
    background:var(--accent);color:var(--on-accent);
    padding:13px 20px;min-height:44px;
    border-radius:0 0 var(--r-md) var(--r-md);
    font-weight:600;font-size:.86rem;
    z-index:200;
    transition:transform .2s var(--ease);
  }
  .skip-link:focus-visible{transform:translate(-50%,0)}

  .sr-only{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
}

@layer layout{
  .wrap{
    width:100%;max-width:var(--wrap);
    margin-inline:auto;
    padding-inline:var(--gutter);
  }
  .sec{padding-block:var(--section)}
  .sec + .sec{border-top:1px solid var(--line)}

  .sechead{margin-bottom:clamp(26px,4vw,44px)}
  .sechead__n{
    display:block;margin-bottom:10px;
    font-size:.74rem;font-weight:600;letter-spacing:.08em;
    text-transform:uppercase;color:var(--tx-3);
  }
  .sechead h2{font-size:var(--step-3);max-width:22ch}
  .sechead__rule{display:none}
  .sechead__note{display:block;margin-top:10px;font-size:var(--step--1);color:var(--tx-3);font-variant-numeric:tabular-nums}
}

@layer components{

  .masthead{
    position:sticky;top:0;z-index:100;
    background:color-mix(in srgb,var(--bg) 74%,transparent);
    backdrop-filter:saturate(180%) blur(22px);
    -webkit-backdrop-filter:saturate(180%) blur(22px);
    border-bottom:1px solid var(--line);
    padding-top:env(safe-area-inset-top);
  }
  .masthead__row{
    display:flex;align-items:center;justify-content:space-between;
    gap:var(--sp-4);min-height:54px;
  }
  .wordmark{
    display:flex;align-items:center;gap:9px;
    font-weight:600;font-size:1.02rem;letter-spacing:-.022em;
    min-width:0;min-height:44px;color:var(--tx);
  }
  .wordmark span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wordmark em{font-style:normal;color:var(--tx-2)}
  .wordmark svg{height:22px;width:auto;flex:none}
  @media (max-width:430px){
    .masthead__row{gap:var(--sp-2)}
    .wordmark svg{height:19px}
  }

  .mainnav{display:none;gap:var(--sp-6);align-items:center}
  @media (min-width:900px){.mainnav{display:flex}}
  .mainnav a{
    display:inline-flex;align-items:center;min-height:44px;
    font-size:.85rem;color:var(--tx-2);
    transition:color .2s var(--ease);
  }
  .mainnav a:hover{color:var(--tx)}
  .mainnav a[aria-current="true"]{color:var(--tx);font-weight:600}

  .masthead__end{display:flex;align-items:center;gap:var(--sp-1);flex:none}

  .iconbtn{
    width:44px;height:44px;border-radius:var(--r-full);
    display:grid;place-items:center;color:var(--tx-2);
    transition:color .2s var(--ease),background .2s var(--ease);
  }
  .iconbtn:hover{color:var(--tx);background:var(--card-2)}
  .iconbtn svg{width:18px;height:18px}

  .langlink{
    display:inline-flex;align-items:center;min-height:44px;padding-inline:10px;
    font-size:.8rem;font-weight:600;letter-spacing:.04em;
    color:var(--tx-2);border-radius:var(--r-full);
  }
  .langlink:hover{color:var(--tx);background:var(--card-2)}

  .burger{
    width:44px;height:44px;border-radius:var(--r-full);
    display:grid;place-items:center;gap:5px;grid-auto-rows:2px;align-content:center;
  }
  @media (min-width:900px){.burger{display:none}}
  .burger span{
    display:block;width:18px;height:2px;background:var(--tx);border-radius:2px;
    transition:transform .3s var(--sp),opacity .2s var(--ease);
  }
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .drawer{
    position:fixed;inset:0;background:var(--bg);z-index:99;
    display:flex;flex-direction:column;justify-content:center;gap:var(--sp-2);
    padding:var(--sp-8) var(--gutter);
    padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom));
  }
  .drawer[hidden]{display:none}
  .drawer,.promo{overscroll-behavior:contain}
  .drawer a{
    font-size:var(--step-2);font-weight:600;letter-spacing:-.025em;
    padding-block:14px;border-bottom:1px solid var(--line);
  }
  .drawer a:last-child{border-bottom:0;color:var(--tx-2)}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:48px;padding:13px 26px;
    font-size:.95rem;font-weight:600;
    border-radius:var(--r-full);
    transition:background .25s var(--sp),color .25s var(--sp),border-color .25s var(--sp),transform .3s var(--sp);
  }
  .btn svg{width:17px;height:17px;flex:none}
  .btn--primary{background:var(--accent);color:var(--on-accent)}
  .btn--primary:hover{transform:translateY(-2px);background:var(--accent-deep);color:#fff}
  .btn--ghost{background:var(--card-2);color:var(--tx);border:1px solid var(--line-2)}
  .btn--ghost:hover{background:var(--card-3);transform:translateY(-2px)}

  .hero{padding-block:clamp(52px,8vw,104px) clamp(40px,6vw,72px);text-align:center;position:relative;overflow:hidden}
  .hero__glow{
    position:absolute;left:50%;top:34%;translate:-50% 0;
    width:min(940px,118%);height:440px;pointer-events:none;z-index:-1;
    background:radial-gradient(ellipse at center,var(--accent-soft),transparent 70%);
  }
  .hero__kicker{
    display:inline-block;margin-bottom:var(--sp-4);
    font-size:.76rem;font-weight:600;letter-spacing:.09em;
    text-transform:uppercase;color:var(--accent);
  }
  .hero h1{font-size:var(--step-5);line-height:1.04;max-width:16ch;margin-inline:auto}
  .hero h1 em{font-style:normal;color:var(--accent)}
  .hero__lead{
    margin:var(--sp-5) auto 0;max-width:48ch;
    font-size:var(--step-1);color:var(--tx-2);line-height:1.5;
  }

  .proof{
    margin:var(--sp-5) auto 0;
    display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;
    padding:9px 18px;border-radius:var(--r-full);
    background:var(--card);border:1px solid var(--line);
    font-size:.87rem;color:var(--tx-2);
  }
  .proof b{color:var(--tx);font-weight:650}
  .proof__stars{display:inline-flex;gap:1px}
  .proof__stars svg{width:13px;height:13px;fill:var(--gold)}

  .hero__ctas{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-6)}

  .shelf{margin-top:clamp(44px,6vw,72px)}
  .shelf__row{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(16px,3vw,32px);
    max-width:840px;margin-inline:auto;align-items:end;
  }
  @media (min-width:760px){.shelf__row{grid-template-columns:repeat(6,minmax(0,1fr))}}
  .tile{display:flex;flex-direction:column;align-items:center;min-height:44px}
  .tile img{
    width:100%;height:auto;aspect-ratio:1;
    border-radius:clamp(16px,3.4vw,24px);
    box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 0 .5px var(--line) inset;
    transition:transform .5s var(--sp);
  }
  [data-theme="light"] .tile img{box-shadow:0 8px 22px rgba(0,0,0,.14)}
  .tile:hover img{transform:translateY(-8px) scale(1.03)}
  .tile__n{margin-top:12px;font-size:.79rem;font-weight:500;color:var(--tx-2);text-align:center;letter-spacing:0}
  .tile:hover .tile__n{color:var(--tx)}

  .appgrid{display:grid;gap:14px;grid-template-columns:1fr}
  @media (min-width:720px){.appgrid{grid-template-columns:1fr 1fr}}
  .appcard{
    --c:var(--accent);
    position:relative;overflow:hidden;
    display:flex;gap:var(--sp-4);align-items:flex-start;
    padding:var(--sp-5);border-radius:var(--r-lg);
    background:var(--card);border:1px solid var(--line);
    transition:border-color .35s var(--sp),transform .35s var(--sp);
  }
  .appcard:hover{border-color:var(--c);transform:translateY(-3px)}
  .appcard__icon{
    width:58px;height:58px;border-radius:14px;flex:none;
    box-shadow:var(--shadow-sm),0 0 0 .5px var(--line) inset;
  }
  .appcard__b{min-width:0;flex:1}
  .appcard__t{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .appcard__t h3{font-size:1.1rem;font-weight:650;letter-spacing:-.024em}
  .appcard__cat{
    font-size:.71rem;font-weight:600;letter-spacing:.06em;
    text-transform:uppercase;color:var(--c);
  }
  .appcard__d{margin-top:7px;font-size:.9rem;line-height:1.5;color:var(--tx-2)}
  .appcard__f{
    margin-top:var(--sp-4);display:flex;align-items:center;
    justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;
  }

  .rating{
    display:inline-flex;align-items:center;gap:6px;
    font-size:.81rem;color:var(--tx-2);
    font-variant-numeric:tabular-nums;white-space:nowrap;
  }
  .rating svg{width:12px;height:12px;fill:var(--gold);flex:none}
  .rating b{font-weight:650;color:var(--tx)}
  .rating span{color:var(--tx-3);font-size:.78rem}
  .rating b + span::before{content:'·';margin-right:6px;color:var(--tx-3)}

  .golink{
    display:inline-flex;align-items:center;gap:7px;
    min-height:44px;padding-inline:2px;
    font-size:.84rem;font-weight:600;white-space:nowrap;color:var(--tx);
  }
  .golink svg{width:14px;height:14px;flex:none;transition:transform .25s var(--sp)}
  .appcard:hover .golink{color:var(--c)}
  .appcard:hover .golink svg,.golink:hover svg{transform:translateX(3px)}

  .strip{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  }
  @media (min-width:760px){.strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
  .strip > div{background:var(--bg);padding:var(--sp-5) var(--sp-4)}
  .strip b{
    display:block;font-size:var(--step-4);font-weight:700;
    letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;
  }
  .strip b sup{font-size:.36em;color:var(--accent);top:-1.1em;position:relative}
  .strip span{display:block;margin-top:10px;font-size:.79rem;color:var(--tx-3);line-height:1.45}

  .pull{padding-block:clamp(52px,8vw,104px)}
  .pull blockquote{
    font-size:var(--step-3);font-weight:650;line-height:1.2;letter-spacing:-.03em;
    max-width:24ch;margin-inline:auto;text-align:center;
  }
  .pull blockquote em{font-style:normal;color:var(--accent)}
  .pull p{
    margin:var(--sp-5) auto 0;max-width:56ch;text-align:center;
    font-size:.94rem;color:var(--tx-3);line-height:1.6;
  }

  .svcsec{margin-top:var(--sp-7)}
  .svcsec h2{font-size:var(--step-2)}
  .svcsec p{margin-top:var(--sp-3);font-size:var(--step-0);color:var(--tx-2);line-height:1.62;max-width:64ch}
  .svcproof{
    margin-top:var(--sp-8);padding:var(--sp-5);
    border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);
  }
  .svcproof p{font-size:.95rem;color:var(--tx-2);line-height:1.6}
  .svcproof a{color:var(--accent);font-weight:600}
  .svccta{margin-top:var(--sp-6);padding-bottom:var(--sp-4)}
  .svccta h2{font-size:var(--step-2)}
  .svccta p{margin-top:var(--sp-3);font-size:var(--step-0);color:var(--tx-2);max-width:52ch;line-height:1.6}
  .svc--link{display:block;transition:border-color .3s var(--sp),transform .3s var(--sp)}
  .svc--link:hover{border-color:var(--accent);transform:translateY(-2px)}
  .svcgrid{display:grid;gap:14px;grid-template-columns:1fr}
  @media (min-width:760px){.svcgrid{grid-template-columns:1fr 1fr}}
  .svc{padding:var(--sp-5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
  .svc h3{display:flex;align-items:baseline;gap:var(--sp-3);font-size:1.05rem;font-weight:650;letter-spacing:-.024em}
  .svc h3 span{font-size:.68rem;font-weight:600;letter-spacing:.08em;color:var(--tx-3);flex:none}
  .svc p{margin-top:9px;font-size:.9rem;line-height:1.55;color:var(--tx-2)}

  .timeline{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
  .tl{background:var(--bg);padding:var(--sp-4) var(--sp-5);display:grid;gap:2px 20px;grid-template-columns:1fr}
  @media (min-width:700px){
    .tl{grid-template-columns:132px minmax(0,1fr)}
    .tl__d{grid-row:1/3}
    .tl__t,.tl__x{grid-column:2}
  }
  .tl__d{font-size:.8rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
  .tl__t{font-size:.98rem;font-weight:650;letter-spacing:-.02em}
  .tl__x{margin-top:3px;font-size:.88rem;color:var(--tx-2);line-height:1.5;max-width:60ch}

  .faq{max-width:820px}
  .faqitem{border-bottom:1px solid var(--line)}
  .faqitem summary{
    display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
    padding-block:var(--sp-4);font-size:1rem;font-weight:600;
    cursor:pointer;list-style:none;min-height:56px;
  }
  .faqitem summary::-webkit-details-marker{display:none}
  .faqitem summary::after{
    content:'';flex:none;width:10px;height:10px;
    border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
    transform:rotate(45deg) translate(-2px,-2px);
    transition:transform .25s var(--sp);
  }
  .faqitem[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
  .faqitem__a{padding-bottom:var(--sp-5);font-size:.93rem;color:var(--tx-2);line-height:1.65;max-width:64ch}
  .faqitem__a a{color:var(--accent)}

  .brief{display:grid;gap:var(--sp-6)}
  @media (min-width:860px){.brief{grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:start}}
  .brief h2{font-size:var(--step-4);max-width:14ch}
  .brief__lede{margin-top:var(--sp-4);font-size:var(--step-0);color:var(--tx-2);max-width:42ch;line-height:1.55}
  .brief__direct{margin-top:var(--sp-5);font-size:.9rem;color:var(--tx-3)}
  .brief__direct a{color:var(--accent)}

  .brief__side{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)}
  .brief__mail{align-self:stretch;justify-content:center}
  @media (min-width:520px){.brief__mail{align-self:flex-start}}
  .brief__hint{font-size:.9rem;color:var(--tx-2);line-height:1.5;max-width:36ch}
  .brief__points{margin-top:var(--sp-1)}
  .brief__points li{font-size:.9rem;margin-bottom:var(--sp-2)}

  .foot{border-top:1px solid var(--line);padding-block:var(--sp-7) var(--sp-6)}
  .foot__row{display:grid;gap:var(--sp-6)}
  @media (min-width:700px){.foot__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (min-width:960px){.foot__row{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}}
  .foot h2{
    font-size:.72rem;font-weight:600;letter-spacing:.08em;
    text-transform:uppercase;color:var(--tx-3);margin-bottom:var(--sp-2);
  }
  .foot__col a{
    display:flex;align-items:center;min-height:44px;
    font-size:.87rem;color:var(--tx-2);
    transition:color .2s var(--ease);
  }
  .foot__col a:hover{color:var(--accent)}
  .foot .wordmark{min-height:44px}
  .foot__tag{font-size:.86rem;color:var(--tx-3);line-height:1.55;max-width:34ch;margin-top:var(--sp-3)}
  .foot__base{
    margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line);
    display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;
    font-size:.8rem;color:var(--tx-3);
  }

  .apphero{display:grid;gap:var(--sp-5);align-items:start}
  @media (min-width:760px){.apphero{grid-template-columns:auto minmax(0,1fr);gap:var(--sp-6)}}
  .apphero__icon{
    width:clamp(92px,14vw,124px);height:clamp(92px,14vw,124px);
    border-radius:26px;box-shadow:var(--shadow-md),0 0 0 .5px var(--line) inset;flex:none;
  }
  .apphero h1{font-size:var(--step-4)}
  .apphero__cat{
    font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
    color:var(--app-ink,var(--accent));margin-bottom:var(--sp-2);
  }
  .apphero__tag{margin-top:var(--sp-3);font-size:var(--step-1);color:var(--tx-2);max-width:40ch;line-height:1.42}
  .apphero__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-4)}
  .apphero__cta{margin-top:var(--sp-5);display:flex;flex-wrap:wrap;gap:var(--sp-3)}
  .backlink{
    display:inline-flex;align-items:center;gap:7px;min-height:44px;
    font-size:.84rem;font-weight:600;color:var(--tx-2);
  }
  .backlink:hover{color:var(--accent)}
  .backlink svg{width:14px;height:14px;rotate:180deg}

  .spec{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
    margin-block:var(--sp-6);
  }
  @media (min-width:700px){.spec{grid-template-columns:repeat(4,minmax(0,1fr))}}
  .spec > div{background:var(--bg);padding:var(--sp-4)}
  .spec dt{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--tx-3)}
  .spec dd{margin-top:5px;font-size:.97rem;font-weight:650;font-variant-numeric:tabular-nums}

  .bullets li{
    position:relative;padding-left:var(--sp-5);
    font-size:.95rem;color:var(--tx-2);line-height:1.58;
    margin-bottom:var(--sp-3);max-width:62ch;
  }
  .bullets li::before{
    content:'';position:absolute;left:0;top:.6em;
    width:7px;height:7px;border-radius:50%;background:var(--app-ink,var(--accent));
  }

  .prose h2{font-size:var(--step-2);margin-block:var(--sp-6) var(--sp-3)}
  .prose h3{font-size:var(--step-1);margin-block:var(--sp-5) var(--sp-2)}
  .prose p{margin-bottom:var(--sp-3);color:var(--tx-2);max-width:68ch;line-height:1.68}
  .prose ul{margin-block:var(--sp-3);padding-left:var(--sp-5)}
  .prose li{list-style:disc;color:var(--tx-2);margin-bottom:6px;line-height:1.62}
  .prose li::marker{color:var(--accent)}
  .prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
  .prose strong{color:var(--tx);font-weight:650}

  .callout{
    margin-block:var(--sp-4);padding:var(--sp-4) var(--sp-5);
    background:var(--card);border:1px solid var(--line);
    border-left:3px solid var(--app-ink,var(--accent));
    border-radius:0 var(--r-md) var(--r-md) 0;
  }
  .callout strong{display:block;margin-bottom:5px;color:var(--app-ink,var(--tx));font-size:.94rem}
  .callout p{margin:0;font-size:.9rem;line-height:1.62;color:var(--tx-2)}

  .toc{height:fit-content}
  @media (min-width:960px){.toc{position:sticky;top:82px}}
  @media (max-width:959px){
    .toc{
      border:1px solid var(--line);border-radius:var(--r-lg);
      padding:var(--sp-4);background:var(--card);
    }
    .toc a{padding-inline:0}
  }
  .toc h2{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin-bottom:var(--sp-2)}
  .toc a{
    display:flex;align-items:center;min-height:44px;
    font-size:.86rem;color:var(--tx-2);
    padding-inline:12px;border-radius:var(--r-sm);
  }
  .toc a:hover{color:var(--tx);background:var(--card-2)}
  .toc a[aria-current="true"]{color:var(--accent);background:var(--accent-soft);font-weight:600}

  .notfound{text-align:center;padding-block:clamp(72px,14vh,160px);max-width:52ch;margin-inline:auto}
  .notfound__code{font-size:var(--step-5);font-weight:700;color:var(--accent);line-height:1;letter-spacing:-.04em}
  .notfound h1{margin-top:var(--sp-4);font-size:var(--step-3)}
  .notfound p{margin-top:var(--sp-4);color:var(--tx-2);line-height:1.55}
  .notfound__links{margin-top:var(--sp-6);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center}



  .founder{display:grid;gap:var(--sp-6)}
  @media (min-width:860px){.founder{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-8);align-items:start}}
  .founder p{font-size:var(--step-0);color:var(--tx-2);line-height:1.6;max-width:58ch}
  .founder p + p{margin-top:var(--sp-3)}
  .founder__facts{
    display:grid;gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  }
  .founder__facts > div{background:var(--bg);padding:var(--sp-3) var(--sp-4);display:flex;justify-content:space-between;gap:var(--sp-4)}
  .founder__facts dt{font-size:.82rem;color:var(--tx-3)}
  .founder__facts dd{font-size:.88rem;font-weight:600;text-align:right}

  .pressgrid{
    display:grid;gap:var(--sp-4);margin-top:var(--sp-4);
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  }
  .pressgrid figure{
    background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
    padding:var(--sp-4);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);
  }
  .pressgrid a{display:block;min-height:44px;display:grid;place-items:center}
  .pressgrid img{height:72px;width:auto;border-radius:14px}
  .pressgrid figcaption{font-size:.76rem;color:var(--tx-3);text-align:center;word-break:break-word}

  .promo{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:var(--sp-4)}
  .promo[hidden]{display:none}
  .promo__scrim{
    position:absolute;inset:0;background:rgba(0,0,0,.66);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    opacity:0;transition:opacity .3s var(--ease);
  }
  .promo.is-open .promo__scrim{opacity:1}
  .promo__card{
    position:relative;width:min(420px,100%);
    background:var(--card);border:1px solid var(--line-2);
    border-radius:var(--r-xl);box-shadow:var(--shadow-lg);
    padding:var(--sp-7) var(--sp-6) var(--sp-6);text-align:center;
    opacity:0;transform:translateY(14px) scale(.97);
    transition:opacity .3s var(--ease),transform .4s var(--sp);
  }
  .promo.is-open .promo__card{opacity:1;transform:none}
  .promo__card:focus{outline:none}
  .promo__x{position:absolute;top:8px;right:8px}
  .promo__title{font-size:var(--step-2)}
  .promo__desc{margin-top:var(--sp-3);font-size:.95rem;color:var(--tx-2);line-height:1.55}
  .promo__cta{margin-top:var(--sp-5);width:100%}
  .promo__later{
    margin-top:var(--sp-3);width:100%;min-height:44px;
    font-size:.9rem;font-weight:500;color:var(--tx-3);
  }
  .promo__later:hover{color:var(--tx-2)}
}

@layer utilities{
  .h-page{font-size:var(--step-4)}
  .h-sec{font-size:var(--step-2);margin-top:var(--sp-7)}
  .h-sec--wide{margin-top:var(--sp-8)}
  .h-sub{font-size:var(--step-1)}
  .anchor{scroll-margin-top:96px}
  .linkrow{margin-top:var(--sp-4);display:flex;gap:var(--sp-5);flex-wrap:wrap}
  .measure-wide{max-width:70ch}
  .mt-1{margin-top:var(--sp-1)}
  .mt-2{margin-top:var(--sp-2)}
  .mt-3{margin-top:var(--sp-3)}
  .mt-4{margin-top:var(--sp-4)}
  .mt-5{margin-top:var(--sp-5)}
  .mt-6{margin-top:var(--sp-6)}
  .mb-4{margin-bottom:var(--sp-4)}
  .mb-6{margin-bottom:var(--sp-6)}
  .t-sm{font-size:.86rem}
  .policy-grid{display:grid;gap:var(--sp-7);grid-template-columns:1fr}
  @media (min-width:960px){.policy-grid{grid-template-columns:230px minmax(0,1fr)}}
  .lede{font-size:var(--step-1);color:var(--tx-2);max-width:56ch;line-height:1.5}
  .muted{color:var(--tx-3)}
  .nowrap{white-space:nowrap}
  .tabular{font-variant-numeric:tabular-nums}
}

@layer motion{
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
      scroll-behavior:auto !important;
    }
  }
  @media (hover:none){
    .btn:hover,.appcard:hover,.tile:hover img{transform:none}
  }
}

@media print{
  .masthead,.drawer,.skip-link,.iconbtn,.burger,.form,.promo,.hero__glow{display:none !important}
  body{background:#fff;color:#000}
  .appcard,.svc,.faqitem{break-inside:avoid;border:1px solid #ddd}
  a[href^="http"]::after{content:' (' attr(href) ')';font-size:.8em;color:#555}
}

@layer components{
.app-sincap{--c:light-dark(#1e4b6b,#3483bb);--app-ink:light-dark(#1e4b6b,#3483bb)}
.app-gezirehberi{--c:light-dark(#2b6e50,#378d67);--app-ink:light-dark(#2b6e50,#378d67)}
.app-kodly{--c:light-dark(#3c4550,#6f7f93);--app-ink:light-dark(#3c4550,#6f7f93)}
.app-verva{--c:light-dark(#d50f51,#f2417c);--app-ink:light-dark(#d50f51,#f2417c)}
.app-veduta{--c:light-dark(#5b57d6,#7572dd);--app-ink:light-dark(#5b57d6,#7572dd)}
.app-reflara{--c:light-dark(#976107,#f5a623);--app-ink:light-dark(#976107,#f5a623)}
}
