:root{
    --home-wide: 1680px;
    --home-pad: 30px;
}

/* =========================
   BASE
========================= */

.home-wide{
    width:min(var(--home-wide), calc(100vw - 24px));
    margin:0 auto;
    padding:0 var(--home-pad);
}

.home-kicker,
.kicker{
    margin:0 0 10px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:850;
}

.home-lead{
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.85;
}

.home-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.04);
    color:var(--text);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    backdrop-filter:blur(10px);
}

.home-pill--accent{
    border-color:rgba(184,10,36,.32);
    background:linear-gradient(135deg, rgba(184,10,36,.24), rgba(255,255,255,.06));
    box-shadow:0 12px 24px rgba(184,10,36,.18);
}

.home-card-kicker{
    margin:0 0 10px;
    color:rgba(184,10,36,.95);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/* =========================
   HERO
========================= */

.home-hero-v2{
    position:relative;
    overflow:hidden;
    padding:20px 0 10px;
}

.home-hero-v2__noise{
    position:absolute;
    inset:0;
    opacity:.08;
    pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.22) .7px, transparent .7px);
    background-size:18px 18px;
    mask-image:linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.15));
}

.home-hero-v2__orb{
    position:absolute;
    border-radius:999px;
    filter:blur(70px);
    pointer-events:none;
    opacity:.55;
}

.home-hero-v2__orb--one{
    top:-100px;
    left:-70px;
    width:520px;
    height:520px;
    background:radial-gradient(circle, rgba(184,10,36,.20), transparent 68%);
}

.home-hero-v2__orb--two{
    right:-120px;
    top:40px;
    width:620px;
    height:620px;
    background:radial-gradient(circle, rgba(225,6,44,.10), transparent 72%);
}

.home-hero-v2__orb--three{
    left:30%;
    bottom:-220px;
    width:620px;
    height:620px;
    background:radial-gradient(circle, rgba(138,0,24,.12), transparent 72%);
}

.home-hero-v2__topline{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.home-hero-v2__pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.home-hero-v2__layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0, .9fr) minmax(480px, .95fr);
    gap:34px;
    align-items:center;
    min-height:calc(100vh - 170px);
    max-height:860px;
}

.home-hero-v2__main{
    padding:16px 0 12px;
}

.home-hero-v2__main h1{
    margin:0 0 16px;
    line-height:.92;
    letter-spacing:-.06em;
}

.home-hero-v2__main h1 span{
    display:block;
    color:rgba(255,255,255,.86);
}

.home-hero-v2__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:24px;
}

.home-hero-v2__meta{
    margin-top:24px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.home-meta-card{
    position:relative;
    overflow:hidden;
    padding:16px 16px 18px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.022));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.home-meta-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:linear-gradient(180deg, rgba(184,10,36,.95), rgba(184,10,36,.12));
}

.home-meta-card strong{
    display:block;
    margin-bottom:8px;
    font-size:15px;
    line-height:1.14;
}

.home-meta-card span{
    display:block;
    color:var(--muted);
    font-size:13px;
    line-height:1.58;
}

/* =========================
   HERO ART
========================= */

.home-hero-v2__stage{
    position:relative;
    min-height:540px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-stage-art{
    position:relative;
    overflow:hidden;
    width:min(100%, 780px);
    border-radius:28px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(700px 260px at 0% 0%, rgba(184,10,36,.15), transparent 60%),
        radial-gradient(560px 260px at 100% 100%, rgba(225,6,44,.08), transparent 60%),
        linear-gradient(180deg, rgba(19,19,28,.96), rgba(12,12,18,.96));
    box-shadow:
        0 30px 80px rgba(0,0,0,.38),
        0 0 0 1px rgba(255,255,255,.02);
    transition:transform .25s ease;
}

.hero-stage-art::after{
    content:"";
    position:absolute;
    top:18px;
    left:22px;
    right:22px;
    bottom:-14px;
    border-radius:28px;
    background:rgba(0,0,0,.22);
    filter:blur(22px);
    z-index:-1;
}

.hero-stage-art__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}

.hero-stage-art__dots{
    display:flex;
    align-items:center;
    gap:7px;
}

.hero-stage-art__dot{
    width:10px;
    height:10px;
    border-radius:999px;
    display:inline-block;
    box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;
}

.hero-stage-art__dot--red{ background:#b80a24; }
.hero-stage-art__dot--gold{ background:#d1a646; }
.hero-stage-art__dot--green{ background:#5baf66; }

.hero-stage-art__meta{
    display:flex;
    align-items:center;
    gap:5px;
}

.hero-stage-art__meta span{
    width:4px;
    height:4px;
    border-radius:999px;
    background:rgba(255,255,255,.28);
}

.hero-stage-art__body{
    padding:18px;
}

.hero-stage-art__grid{
    display:grid;
    grid-template-columns:1.14fr .86fr;
    grid-template-rows:240px 150px;
    gap:14px;
    grid-template-areas:
        "hero visual"
        "panela panelb";
}

.hero-block{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
}

.hero-block--hero{
    grid-area:hero;
    padding:20px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:12px;
}

.hero-block--visual{
    grid-area:visual;
    min-height:100%;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, rgba(184,10,36,.16), rgba(255,255,255,.04)),
        rgba(255,255,255,.03);
}

.hero-block--panel-a{ grid-area:panela; }
.hero-block--panel-b{ grid-area:panelb; }

.hero-block--panel{
    padding:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
}

.hero-block__topline,
.hero-block__mini-kicker,
.hero-block__mini-title,
.hero-block__mini-text,
.hero-block__title,
.hero-block__text{
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,.78), rgba(255,255,255,.08));
}

.hero-block__topline{
    width:28%;
    height:10px;
}

.hero-block__title--xl{
    width:88%;
    height:30px;
}

.hero-block__title--lg{
    width:72%;
    height:26px;
}

.hero-block__text{
    width:82%;
    height:14px;
}

.hero-block__text--short{
    width:58%;
}

.hero-block__actions{
    display:flex;
    gap:10px;
    margin-top:auto;
}

.hero-block__btn{
    height:36px;
    border-radius:999px;
    display:block;
}

.hero-block__btn--primary{
    width:40%;
    background:linear-gradient(135deg, rgba(184,10,36,.92), rgba(225,80,105,.92));
}

.hero-block__btn--ghost{
    width:30%;
    background:rgba(255,255,255,.08);
}

.hero-block__visual-main{
    position:absolute;
    inset:16px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.06);
    background:
        linear-gradient(135deg, rgba(184,10,36,.18), rgba(255,255,255,.05)),
        radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 30%),
        rgba(255,255,255,.03);
}

.hero-block__badge{
    position:absolute;
    width:72px;
    height:72px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(135deg, rgba(184,10,36,.18), rgba(255,255,255,.04));
    box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.hero-block__badge--one{
    bottom:16px;
    left:16px;
}

.hero-block__badge--two{
    top:16px;
    right:16px;
}

.hero-block__mini-kicker{
    width:30%;
    height:9px;
}

.hero-block__mini-title{
    width:76%;
    height:22px;
}

.hero-block__mini-text{
    width:60%;
    height:12px;
}

.hero-block__mini-text--short{
    width:42%;
}

.hero-stage-note{
    position:absolute;
    z-index:3;
    max-width:220px;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    box-shadow:0 18px 42px rgba(0,0,0,.24);
    backdrop-filter:blur(10px);
}

.hero-stage-note--one{
    left:-8px;
    bottom:42px;
}

.hero-stage-note--two{
    right:-8px;
    top:44px;
}

.hero-stage-note span{
    display:block;
    margin-bottom:6px;
    color:rgba(255,255,255,.64);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.hero-stage-note strong{
    display:block;
    font-size:17px;
    line-height:1.14;
}

/* =========================
   TICKER
========================= */

.home-ticker{
    padding:8px 0 18px;
    overflow:hidden;
}

.home-ticker__viewport{
    position:relative;
    overflow:hidden;
    width:100%;
    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06);
    background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}

.home-ticker__viewport::before,
.home-ticker__viewport::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:90px;
    z-index:2;
    pointer-events:none;
}

.home-ticker__viewport::before{
    left:0;
    background:linear-gradient(90deg, var(--bg), rgba(11,11,15,0));
}

.home-ticker__viewport::after{
    right:0;
    background:linear-gradient(270deg, var(--bg), rgba(11,11,15,0));
}

.home-ticker__track{
    display:flex;
    align-items:center;
    width:max-content;
    gap:18px;
    padding:12px 0;
    white-space:nowrap;
    animation:homeTickerMove 28s linear infinite;
}

.home-ticker__track span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    color:rgba(255,255,255,.62);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

@keyframes homeTickerMove{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

/* =========================
   DEUX APPROCHES
========================= */

.home-bento{
    padding:32px 0 20px;
}

.home-bento__head{
    margin-bottom:24px;
}

.home-bento__head h2{
    margin:0 0 12px;
    font-size:clamp(30px, 3.2vw, 56px);
    line-height:1.02;
    letter-spacing:-.04em;
}

.home-bento__head p{
    margin:0;
}

.home-bento-alt{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "main secondary"
        "quote float";
    gap:18px;
    align-items:stretch;
}

.bento-alt-card{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.09);
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)),
        rgba(255,255,255,.02);
    box-shadow:0 22px 52px rgba(0,0,0,.24);
    transition:transform .25s ease, border-color .25s ease;
}

.bento-alt-card:hover{
    transform:translateY(-4px);
    border-color:rgba(184,10,36,.34);
}

.bento-alt-card--main{
    grid-area:main;
    min-height:340px;
    display:flex;
}

.bento-alt-card--secondary{
    grid-area:secondary;
    min-height:340px;
    display:flex;
    background:
        radial-gradient(520px 220px at 12% 0%, rgba(184,10,36,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)),
        rgba(255,255,255,.02);
}

.bento-alt-card--quote{
    grid-area:quote;
    min-height:170px;
    display:flex;
    background:
        radial-gradient(420px 180px at 20% 0%, rgba(184,10,36,.10), transparent 60%),
        rgba(255,255,255,.03);
}

.bento-alt-card__number{
    position:absolute;
    top:18px;
    right:18px;
    color:rgba(255,255,255,.07);
    font-size:66px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.06em;
}

.bento-alt-card__content{
    width:100%;
    padding:26px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.bento-alt-card__content h3{
    margin:0;
    font-size:32px;
    line-height:1.08;
    letter-spacing:-.03em;
}

.bento-alt-card__content p{
    margin:0;
}

.bento-alt-card__chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:4px;
}

.bento-alt-card__chips span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    color:var(--text);
    font-size:12px;
    font-weight:700;
}

.bento-alt-card .btn{
    margin-top:auto;
}

.bento-alt-card__quote-kicker{
    display:block;
    margin-bottom:2px;
    color:rgba(184,10,36,.95);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.bento-alt-card--quote .bento-alt-card__content{
    justify-content:center;
}

.bento-alt-card--quote strong{
    display:block;
    font-size:26px;
    line-height:1.08;
    letter-spacing:-.03em;
}

.bento-alt-float{
    grid-area:float;
    min-height:170px;
    padding:22px;
    border-radius:24px;
    border:1px solid rgba(184,10,36,.24);
    background:linear-gradient(135deg, rgba(184,10,36,.18), rgba(255,255,255,.05));
    box-shadow:0 18px 42px rgba(184,10,36,.14);
    backdrop-filter:blur(10px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bento-alt-float span{
    display:block;
    margin-bottom:8px;
    color:rgba(255,255,255,.68);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.bento-alt-float strong{
    display:block;
    margin-bottom:8px;
    font-size:22px;
    line-height:1.08;
}

.bento-alt-float p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:13px;
}

/* =========================
   METHODE
========================= */

.home-method-v3{
    padding:38px 0 22px;
}

.home-method-v3__head{
    margin-bottom:22px;
}

.home-method-v3__head h2{
    margin:0 0 12px;
    font-size:clamp(30px, 3.2vw, 56px);
    line-height:1.02;
    letter-spacing:-.04em;
}

.home-method-v3__head p{
    margin:0;
}

.method-orbit{
    position:relative;
    display:grid;
    grid-template-columns:minmax(220px, 1fr) minmax(360px, 1.18fr) minmax(220px, 1fr);
    grid-template-areas:
        "a center b"
        "c center d"
        ". e .";
    gap:18px;
    align-items:stretch;
    padding:22px;
    border-radius:36px;
    border:1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(760px 300px at 10% 0%, rgba(184,10,36,.10), transparent 58%),
        radial-gradient(620px 260px at 90% 10%, rgba(255,255,255,.04), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    box-shadow:0 24px 58px rgba(0,0,0,.26);
    overflow:hidden;
}

.method-orbit__ring{
    position:absolute;
    inset:auto;
    top:50%;
    left:50%;
    width:min(42vw, 460px);
    height:min(42vw, 460px);
    transform:translate(-50%, -50%);
    border-radius:50%;
    border:1px dashed rgba(255,255,255,.06);
    box-shadow:
        0 0 0 34px rgba(255,255,255,.010),
        0 0 0 68px rgba(255,255,255,.006);
    opacity:.9;
    pointer-events:none;
}

.method-orbit__beam{
    position:absolute;
    border-radius:999px;
    filter:blur(14px);
    pointer-events:none;
}

.method-orbit__beam--one{
    top:10%;
    left:14%;
    width:240px;
    height:240px;
    background:radial-gradient(circle, rgba(184,10,36,.14), transparent 70%);
}

.method-orbit__beam--two{
    right:12%;
    bottom:8%;
    width:240px;
    height:240px;
    background:radial-gradient(circle, rgba(225,6,44,.10), transparent 72%);
}

.method-orbit__center{
    grid-area:center;
    position:relative;
    z-index:2;
    align-self:center;
    justify-self:center;
    width:100%;
    max-width:460px;
    padding:30px 28px;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)),
        rgba(10,10,16,.72);
    box-shadow:0 26px 70px rgba(0,0,0,.34);
    backdrop-filter:blur(14px);
    text-align:center;
}

.method-orbit__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    margin-bottom:14px;
    border-radius:999px;
    border:1px solid rgba(184,10,36,.24);
    background:rgba(184,10,36,.12);
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.method-orbit__center h3{
    margin:0 0 12px;
    font-size:38px;
    line-height:1.02;
    letter-spacing:-.04em;
}

.method-orbit__center p{
    margin:0;
    font-size:15px;
    line-height:1.72;
}

.method-orbit__center-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-top:20px;
}

.method-orbit__center-chips span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    color:var(--text);
    font-size:12px;
    font-weight:700;
}

.method-node{
    position:relative;
    z-index:2;
    width:100%;
    min-height:210px;
    padding:22px 20px 20px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.09);
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)),
        rgba(255,255,255,.02);
    box-shadow:0 18px 44px rgba(0,0,0,.24);
    transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.method-node:hover{
    transform:translateY(-4px);
    border-color:rgba(184,10,36,.34);
    box-shadow:0 24px 52px rgba(0,0,0,.30);
}

.method-node__n{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-bottom:14px;
    border-radius:14px;
    border:1px solid rgba(184,10,36,.24);
    background:rgba(184,10,36,.12);
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.method-node h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.08;
}

.method-node p{
    margin:0;
    color:var(--muted);
    line-height:1.62;
    font-size:14px;
}

.method-node--a{ grid-area:a; align-self:end; }
.method-node--b{ grid-area:b; align-self:center; }
.method-node--c{ grid-area:c; align-self:start; }
.method-node--d{ grid-area:d; align-self:center; }
.method-node--e{
    grid-area:e;
    max-width:320px;
    justify-self:center;
    min-height:180px;
}

/* =========================
   CATALOG
========================= */

.home-catalog-explode{
    padding:34px 0 22px;
}

.home-catalog-explode__head{
    margin-bottom:24px;
}

.home-catalog-explode__head h2{
    margin:0 0 12px;
    font-size:clamp(30px, 3.2vw, 54px);
    line-height:1.02;
    letter-spacing:-.04em;
}

.home-catalog-explode__head p{
    margin:0;
}

.home-catalog-explode__grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

.explode-card{
    position:relative;
    overflow:hidden;
    min-height:330px;
    padding:20px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.09);
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
        radial-gradient(620px 220px at 0% 0%, rgba(184,10,36,.10), transparent 60%),
        rgba(255,255,255,.02);
    box-shadow:0 18px 44px rgba(0,0,0,.22);
    transition:transform .24s ease, border-color .24s ease;
    display:flex;
    flex-direction:column;
}

.explode-card:hover{
    transform:translateY(-4px);
    border-color:rgba(184,10,36,.34);
}

.explode-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.explode-card__badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(184,10,36,.14);
    border:1px solid rgba(184,10,36,.35);
    color:var(--text);
    font-size:12px;
    font-weight:850;
}

.explode-card__slug{
    color:rgba(255,255,255,.42);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.explode-card h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.08;
}

.explode-card p{
    margin:0;
}

.explode-card > .muted{
    flex:1 1 auto;
}

.explode-card__preview{
    margin:16px 0;
    padding:14px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
}

.explode-card__preview-screen{
    min-height:130px;
    padding:14px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.06);
    background:
        linear-gradient(135deg, rgba(184,10,36,.16), rgba(255,255,255,.04)),
        rgba(255,255,255,.03);
    display:flex;
    flex-direction:column;
    gap:10px;
}

.explode-card__line{
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,.78), rgba(255,255,255,.08));
}

.explode-card__line--sm{ width:34%; height:10px; }
.explode-card__line--md{ width:68%; height:14px; }
.explode-card__line--lg{ width:90%; height:24px; }

.explode-card__button{
    width:44%;
    height:34px;
    margin-top:auto;
    border-radius:999px;
    background:linear-gradient(135deg, rgba(184,10,36,.92), rgba(225,80,105,.92));
}

.explode-card__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:auto;
    padding-top:4px;
}

/* =========================
   FINAL
========================= */

.home-final-v2{
    padding:26px 0 12px;
}

.home-final-v2__layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 760px);
    gap:32px;
    align-items:center;
}

.home-final-v2__left{
    padding:22px 0;
}

.home-final-v2__left h2{
    margin:0 0 14px;
    font-size:clamp(34px, 4vw, 64px);
    line-height:.98;
    letter-spacing:-.045em;
}

.home-final-v2__right{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    align-items:start;
}

.final-card{
    overflow:hidden;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
        rgba(255,255,255,.02);
    box-shadow:0 22px 52px rgba(0,0,0,.24);
    padding:20px;
    min-height:152px;
}

.final-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    margin-bottom:12px;
    border-radius:14px;
    border:1px solid rgba(184,10,36,.24);
    background:rgba(184,10,36,.12);
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.final-card strong{
    display:block;
    font-size:24px;
    line-height:1.08;
}

.final-card:nth-child(3){
    grid-column:1 / span 2;
    max-width:360px;
    margin-left:70px;
}

/* =========================
   REVEALS / JS STATES
========================= */

.js-enabled .reveal{
    opacity:0;
    transform:translateY(36px) scale(.985);
    filter:blur(10px);
    transition:
        opacity .85s cubic-bezier(.2,.9,.2,1),
        transform .85s cubic-bezier(.2,.9,.2,1),
        filter .85s cubic-bezier(.2,.9,.2,1);
}

.js-enabled .reveal.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
}

.delay-1{ transition-delay:100ms; }
.delay-2{ transition-delay:180ms; }
.delay-3{ transition-delay:260ms; }

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1440px){
    :root{
        --home-pad:24px;
    }

    .home-catalog-explode__grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px){
    :root{
        --home-pad:20px;
    }

    .home-hero-v2__topline,
    .home-hero-v2__layout,
    .home-final-v2__layout{
        grid-template-columns:1fr;
    }

    .home-hero-v2__topline{
        display:grid;
        justify-items:start;
    }

    .home-hero-v2__pills{
        justify-content:flex-start;
    }

    .home-hero-v2__layout{
        min-height:auto;
        max-height:none;
        gap:22px;
    }

    .home-hero-v2__main{
        padding:12px 0 0;
    }

    .home-hero-v2__main h1{
        font-size:clamp(38px, 7vw, 72px);
    }

    .home-hero-v2__stage{
        min-height:auto;
    }

    .hero-stage-art{
        width:100%;
        transform:none !important;
    }

    .hero-stage-note{
        display:none;
    }

    .home-bento-alt{
        grid-template-columns:1fr;
        grid-template-areas:
            "main"
            "secondary"
            "quote"
            "float";
        gap:16px;
    }

    .bento-alt-card--main,
    .bento-alt-card--secondary,
    .bento-alt-card--quote,
    .bento-alt-float{
        min-height:auto;
    }

    .method-orbit{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
            "center center"
            "a b"
            "c d"
            "e e";
        padding:20px;
    }

    .method-orbit__ring,
    .method-orbit__beam{
        display:none;
    }

    .method-orbit__center{
        max-width:none;
        text-align:left;
    }

    .method-orbit__center-chips{
        justify-content:flex-start;
    }

    .method-node--e{
        max-width:none;
    }

    .home-catalog-explode__grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .home-final-v2__right{
        grid-template-columns:1fr 1fr;
    }

    .final-card:nth-child(3){
        margin-left:0;
        max-width:none;
    }
}

@media (max-width: 920px){
    .home-hero-v2__meta{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .hero-stage-art__grid{
        grid-template-columns:1fr;
        grid-template-rows:auto;
        grid-template-areas:
            "hero";
    }

    .hero-block--visual,
    .hero-block--panel-a,
    .hero-block--panel-b{
        display:none;
    }
}

@media (max-width: 860px){
    :root{
        --home-pad:18px;
    }

    .home-hero-v2{
        padding-top:18px;
    }

    .home-hero-v2__main h1,
    .home-bento__head h2,
    .home-method-v3__head h2,
    .home-catalog-explode__head h2,
    .home-final-v2__left h2{
        font-size:clamp(30px, 8vw, 48px);
        line-height:1.02;
    }

    .home-lead{
        font-size:15px;
        line-height:1.75;
    }

    .home-hero-v2__actions,
    .explode-card__actions,
    .hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .home-hero-v2__actions .btn,
    .explode-card__actions .btn,
    .hero-actions .btn{
        width:100%;
    }

    .hero-stage-art__body{
        padding:14px;
    }

    .hero-block--hero{
        padding:16px;
    }

    .hero-block__title--xl{
        height:24px;
    }

    .hero-block__title--lg{
        height:20px;
    }

    .hero-block__text{
        height:12px;
    }

    .hero-block__btn{
        height:32px;
    }

    .bento-alt-card__content h3,
    .method-orbit__center h3{
        font-size:30px;
    }

    .method-orbit{
        grid-template-columns:1fr;
        grid-template-areas:
            "center"
            "a"
            "b"
            "c"
            "d"
            "e";
    }

    .method-node{
        min-height:auto;
    }

    .method-node h3{
        font-size:24px;
    }

    .home-catalog-explode__grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px;
    }

    .home-final-v2__right{
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
    }

    .final-card:nth-child(3){
        grid-column:auto;
    }
}

@media (max-width: 640px){
    :root{
        --home-pad:16px;
    }

    .home-wide{
        width:calc(100vw - 16px);
        padding:0 var(--home-pad);
    }

    .home-kicker,
    .kicker{
        font-size:11px;
        letter-spacing:.11em;
    }

    .home-ticker__track{
        gap:12px;
        padding:10px 0;
    }

    .home-ticker__track span{
        min-height:30px;
        padding:0 11px;
        font-size:10px;
        letter-spacing:.09em;
    }

    .home-hero-v2__meta{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px;
    }

    .home-meta-card{
        padding:14px 12px;
        border-radius:18px;
    }

    .home-meta-card strong{
        font-size:13px;
    }

    .home-meta-card span{
        font-size:11px;
        line-height:1.45;
    }

    .hero-stage-art,
    .bento-alt-card,
    .bento-alt-float,
    .method-orbit,
    .method-orbit__center,
    .method-node,
    .explode-card,
    .final-card{
        border-radius:24px;
    }

    .hero-stage-art__header{
        padding:12px 14px;
    }

    .hero-stage-art__body,
    .hero-block--hero,
    .bento-alt-card__content,
    .bento-alt-float,
    .method-orbit,
    .method-orbit__center,
    .method-node,
    .explode-card,
    .final-card{
        padding:18px;
    }

    .home-catalog-explode__grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
    }

    .explode-card{
        min-height:auto;
        padding:16px;
    }

    .explode-card__top{
        flex-direction:column;
        align-items:flex-start;
    }

    .explode-card__preview{
        margin:14px 0;
        padding:12px;
    }

    .explode-card__preview-screen{
        min-height:110px;
        padding:12px;
    }

    .explode-card__actions .btn{
        min-height:42px;
        font-size:13px;
        padding:0 12px;
    }
}

@media (prefers-reduced-motion: reduce){
    .home-ticker__track{
        animation:none;
    }

    .js-enabled .reveal{
        opacity:1;
        transform:none;
        filter:none;
        transition:none;
    }
}
