/* Shared CSS for the landing v3 F-system mockups (lp_v3f, lp_v3g, lp_v3h). Inlined by those views. */
    :root { --bg:#FAFAF8; --ink:#0B0B0A; --ink2:#3D3D3A; --mut:#8C8C87; --rule:#E4E4DF; --red:#E3261C; --mono:"DM Mono", ui-monospace, monospace; }
    * { box-sizing:border-box; }
    body { margin:0; background:var(--bg); color:var(--ink); font:400 16.5px/1.6 "Host Grotesk", system-ui, sans-serif; -webkit-font-smoothing:antialiased; font-feature-settings:"tnum" 1; }
    ::selection { background:var(--ink); color:var(--bg); }
    a { color:inherit; text-decoration:none; cursor:pointer; }
    :focus-visible { outline:1px solid var(--red); outline-offset:4px; }
    .wrap { max-width:1360px; margin:0 auto; padding:0 56px; }
    .m { font:400 12px/1.5 var(--mono); color:var(--mut); letter-spacing:.01em; }
    .m b { color:var(--ink); font-weight:500; }

    header { display:flex; justify-content:space-between; align-items:center; padding:26px 0; }
    .mark { font-weight:600; font-size:16px; letter-spacing:-.02em; }
    header nav { display:flex; gap:34px; font-size:14.5px; color:var(--ink2); align-items:center; }
    header nav a:not(.btn):hover { color:var(--ink); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
    .btn { display:inline-flex; align-items:center; gap:10px; padding:15px 24px; font-size:15px; font-weight:500; border-radius:2px; transition: background .25s, color .25s; }
    .btn.ink { background:var(--ink); color:var(--bg); }
    .btn.ink:hover { background:var(--red); }
    .btn.plain { padding:15px 0; border-bottom:1px solid var(--ink); border-radius:0; }
    .btn.plain:hover { color:var(--red); border-color:var(--red); }
    .btn.sm { padding:10px 16px; font-size:13.5px; }

    /* hero */
    .hero { padding:80px 0 0; }
    .hero h1 { font-weight:500; font-size:22px; letter-spacing:-.01em; margin:0; display:flex; align-items:center; gap:14px; }
    .hero h1:before { content:""; width:28px; height:1px; background:var(--ink); }
    .spec { position:relative; margin:48px 0 0; }
    .line { font-weight:400; font-size:clamp(46px, 7.4vw, 124px); line-height:1.02; letter-spacing:-.055em; }
    .line.old { color:#B8B8B2; }
    .line.old span { background:linear-gradient(var(--red), var(--red)) no-repeat 0 56% / 0% clamp(2px, .45vw, 6px); -webkit-box-decoration-break:clone; box-decoration-break:clone; animation: strike .9s .5s cubic-bezier(.8,0,.2,1) forwards; }
    .line.new { font-weight:600; opacity:0; transform: translateY(14px); animation: up .8s 1.25s cubic-bezier(.2,.7,.2,1) forwards; }
    .notes { display:grid; grid-template-columns: repeat(3, minmax(0, 260px)); gap:40px; margin-top:34px; }
    .notes .m span { display:inline-block; width:16px; height:16px; border:1px solid var(--red); color:var(--red); border-radius:16px; text-align:center; font-size:10px; line-height:14px; margin-right:8px; }
    @keyframes strike { to { background-size:100% clamp(2px, .45vw, 6px); } }
    @keyframes up { to { opacity:1; transform:none; } }
    .under { display:grid; grid-template-columns: 1fr 1fr; gap:80px; padding:40px 0 120px; border-bottom:1px solid var(--ink); margin-top:56px; border-top:1px solid var(--rule); }
    .under p { margin:0; font-size:21px; line-height:1.5; color:var(--ink2); max-width:560px; letter-spacing:-.005em; }
    .under .act { display:flex; flex-direction:column; align-items:flex-start; gap:18px; justify-self:end; }
    .under .act .row { display:flex; gap:28px; align-items:center; }

    section { padding:120px 0; border-bottom:1px solid var(--rule); }
    .sl { display:grid; grid-template-columns: 240px 1fr; gap:40px; }
    h2 { margin:0 0 60px; font-weight:400; font-size:clamp(34px, 4.4vw, 64px); line-height:1.02; letter-spacing:-.045em; max-width:900px; }

    /* corrections */
    .corr { border-top:1px solid var(--ink); }
    .c { display:grid; grid-template-columns: 1fr 220px; gap:32px; padding:34px 0 30px; border-bottom:1px solid var(--rule); }
    .c .pair { font-size:clamp(24px, 2.6vw, 38px); line-height:1.15; letter-spacing:-.03em; }
    .c .pair s { color:#ABABA5; text-decoration-color:var(--red); text-decoration-thickness:2px; }
    .c .pair span { display:block; font-weight:600; margin-top:4px; }
    .c .pair.unv span { font-weight:400; color:var(--mut); font-style:italic; }
    .c .meta { display:grid; gap:6px; align-content:start; padding-top:8px; }
    .stat { font:500 11px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; margin-top:8px; }
    .stat.r { color:var(--red); }
    .cap { margin-top:26px; }

    /* contents */
    .idx { display:grid; grid-template-columns: 1fr 1fr; column-gap:80px; border-top:1px solid var(--ink); }
    .idx > div { display:grid; grid-template-columns: 54px 1fr; padding:24px 0; border-bottom:1px solid var(--rule); }
    .idx h3 { margin:0 0 4px; font-weight:600; font-size:19px; letter-spacing:-.015em; }
    .idx p { margin:0; color:var(--ink2); }

    /* pricing */
    .prices { display:grid; grid-template-columns: 1fr 1fr; border-top:1px solid var(--ink); }
    .p { padding:44px 56px 50px 0; }
    .p + .p { border-left:1px solid var(--rule); padding-left:56px; }
    .p .amt { white-space:nowrap; font-weight:300; font-size:clamp(76px, 9.6vw, 148px); line-height:.9; letter-spacing:-.07em; margin:26px 0 22px; }
    .p .amt sup { font-size:.28em; letter-spacing:-.02em; vertical-align:top; position:relative; top:.35em; margin-right:.05em; }
    .p .amt small { font-size:.13em; letter-spacing:0; color:var(--mut); font-weight:400; margin-left:.3em; }
    .p h3 { margin:0; font-weight:600; font-size:20px; letter-spacing:-.015em; }
    .p ul { list-style:none; padding:0; margin:0 0 34px; }
    .p li { padding:10px 0; border-top:1px solid var(--rule); color:var(--ink2); }

    .qa { display:grid; grid-template-columns: 1fr 1fr; gap:48px 80px; }
    .qa h3 { margin:0 0 10px; font-weight:600; font-size:19px; letter-spacing:-.015em; }
    .qa p { margin:0; color:var(--ink2); }

    .close { padding:160px 0 140px; }
    .close h2 { font-size:clamp(46px, 7vw, 112px); margin:0 0 48px; }
    .close h2 s { color:#B8B8B2; text-decoration-color:var(--red); text-decoration-thickness:3px; font-weight:400; }
    footer { display:flex; justify-content:space-between; gap:24px; padding:26px 0 48px; border-top:1px solid var(--ink); }

    @media (max-width: 1000px) {
      .spec { grid-template-columns: 1fr; } .notes { border-left:0; padding-left:0; grid-template-columns: 1fr 1fr; }
      .under, .sl, .idx, .prices, .qa { grid-template-columns: 1fr; } .under .act { justify-self:start; }
      .p + .p { border-left:0; padding-left:0; border-top:1px solid var(--rule); } header nav a:not(.btn) { display:none; }
      .c { grid-template-columns: 1fr; gap:12px; }
    }
    @media (max-width: 600px) { .wrap { padding:0 22px; } .notes { grid-template-columns: 1fr; } footer { flex-direction:column; } }
    @media (prefers-reduced-motion: reduce) { .line.old span, .line.new { animation-duration:0s; animation-delay:0s; } }
