:root {
    --bg:#03101a;
    --bg-deep:#01070c;
    --glass:rgba(9,34,50,.72);
    --glass-heavy:rgba(7,28,43,.93);
    --glass-soft:rgba(19,61,82,.42);
    --line:rgba(104,216,255,.22);
    --line-strong:rgba(92,221,255,.54);
    --ice:#8de5ff;
    --cyan:#26c9ff;
    --white:#f7fcff;
    --muted:#8fb4c7;
    --success:#45e0c2;
    --warning:#ffb85c;
    --radius:24px;
    --shadow:0 30px 100px rgba(0,0,0,.42);
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    color:var(--white);
    background:
        radial-gradient(circle at 18% -10%,rgba(14,159,221,.18),transparent 38%),
        radial-gradient(circle at 90% 30%,rgba(0,91,180,.14),transparent 34%),
        linear-gradient(180deg,#04131f 0%,#020a11 55%,#010609 100%);
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Inter",
        sans-serif;
    min-height:100vh;
    overflow-x:hidden;
}

body::before {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.22;
    background-image:
        linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to bottom,black,transparent 85%);
}

a {
    color:inherit;
    text-decoration:none;
}

button,
input {
    font:inherit;
}

.shell {
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
}

.ambient {
    position:fixed;
    width:560px;
    height:560px;
    border-radius:50%;
    filter:blur(120px);
    pointer-events:none;
    opacity:.13;
    z-index:-1;
}

.ambient-a {
    top:-180px;
    left:-180px;
    background:#0dc5ff;
}

.ambient-b {
    right:-240px;
    top:380px;
    background:#006eff;
}

.site-header {
    width:min(1240px,calc(100% - 48px));
    margin:22px auto 0;
    min-height:72px;
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    z-index:20;
    border:1px solid var(--line);
    border-radius:20px;
    background:rgba(5,25,38,.62);
    backdrop-filter:blur(28px) saturate(150%);
    box-shadow:0 15px 50px rgba(0,0,0,.22);
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
}

.brand-mark {
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border:1px solid var(--line-strong);
    border-radius:13px;
    background:linear-gradient(145deg,rgba(41,203,255,.18),rgba(4,34,53,.7));
    color:#c7f3ff;
    font-weight:800;
    box-shadow:inset 0 0 20px rgba(38,201,255,.08);
}

.brand strong {
    display:block;
    letter-spacing:.09em;
    font-size:13px;
}

.brand small {
    color:var(--muted);
    font-size:10px;
}

nav {
    display:flex;
    gap:26px;
}

nav a {
    color:#a9c8d8;
    font-size:13px;
    transition:.2s ease;
}

nav a:hover {
    color:white;
}

.hero {
    min-height:720px;
    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;
    gap:30px;
    padding-top:42px;
}

.eyebrow,
.section-head > span {
    color:var(--ice);
    letter-spacing:.18em;
    font-size:11px;
    font-weight:700;
}

.hero h1 {
    margin:18px 0 24px;
    font-size:clamp(54px,6vw,86px);
    line-height:.93;
    letter-spacing:-.055em;
    max-width:760px;
}

.hero h1 span {
    color:transparent;
    -webkit-text-stroke:1px rgba(170,233,255,.88);
}

.hero-lead {
    color:#aac4d2;
    max-width:610px;
    line-height:1.7;
    font-size:18px;
}

.hero-actions {
    display:flex;
    gap:12px;
    margin-top:34px;
}

.button {
    border:1px solid var(--line);
    border-radius:14px;
    min-height:50px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    cursor:pointer;
    color:white;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.button:hover {
    transform:translateY(-2px);
}

.button-primary {
    background:
        linear-gradient(135deg,rgba(30,183,233,.94),rgba(10,102,152,.92));
    border-color:rgba(114,225,255,.64);
    box-shadow:0 14px 40px rgba(0,152,220,.18);
    font-weight:700;
}

.button-primary:hover {
    box-shadow:0 18px 55px rgba(0,188,255,.28);
}

.button-secondary {
    background:rgba(16,48,65,.66);
    backdrop-filter:blur(20px);
}

.release-line {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    color:#789cae;
    font-size:12px;
    margin-top:20px;
}

.release-line i {
    width:3px;
    height:3px;
    background:#5dbbd8;
    border-radius:50%;
}

.hero-art {
    position:relative;
    min-height:610px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.yeti-hero {
    max-width:min(580px,100%);
    max-height:610px;
    object-fit:contain;
    position:relative;
    z-index:2;
    filter:drop-shadow(0 42px 70px rgba(0,0,0,.42));
}

.ice-ring {
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    border:1px solid rgba(90,217,255,.18);
    box-shadow:
        0 0 0 42px rgba(50,190,240,.018),
        0 0 0 100px rgba(50,190,240,.012),
        inset 0 0 100px rgba(38,194,255,.07);
}

.glass-badge {
    position:absolute;
    z-index:3;
    padding:13px 16px;
    min-width:106px;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(9,37,54,.68);
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow);
}

.glass-badge small {
    color:#729aad;
    display:block;
    font-size:8px;
    letter-spacing:.18em;
}

.glass-badge strong {
    display:block;
    margin-top:3px;
    font-size:15px;
}

.badge-version {
    top:130px;
    right:15px;
}

.badge-engine {
    bottom:130px;
    left:10px;
}

.metrics {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--line);
}

.metrics article {
    min-height:112px;
    padding:26px;
    background:rgba(7,28,43,.91);
}

.metrics small {
    display:block;
    font-size:9px;
    letter-spacing:.16em;
    color:#668da0;
}

.metrics strong {
    display:block;
    margin-top:12px;
    font-size:20px;
}

.section {
    padding-top:140px;
}

.section-head {
    max-width:720px;
    margin-bottom:42px;
}

.section-head.compact {
    margin-bottom:20px;
}

.section-head h2 {
    font-size:clamp(36px,4vw,58px);
    line-height:1.04;
    letter-spacing:-.04em;
    margin:12px 0;
}

.section-head.compact h2 {
    font-size:38px;
}

.section-head p {
    color:var(--muted);
    font-size:17px;
    line-height:1.6;
}

.feature-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.glass-card,
.coffee-card,
.legal-card,
.result-window {
    border:1px solid var(--line);
    background:
        linear-gradient(145deg,rgba(18,58,78,.45),rgba(5,24,37,.76));
    backdrop-filter:blur(24px) saturate(140%);
    box-shadow:var(--shadow);
}

.glass-card {
    min-height:220px;
    padding:26px;
    border-radius:20px;
}

.glass-card b {
    color:var(--ice);
    font-size:9px;
    letter-spacing:.18em;
}

.glass-card h3 {
    margin:17px 0 10px;
    font-size:22px;
}

.glass-card p {
    color:#89a9ba;
    line-height:1.6;
}

.protection-panel {
    display:grid;
    grid-template-columns:130px 1fr;
    align-items:center;
    gap:20px;
    padding:34px;
    border:1px solid rgba(81,221,255,.28);
    border-radius:var(--radius);
    background:linear-gradient(110deg,rgba(7,55,73,.65),rgba(4,23,35,.82));
}

.shield {
    width:94px;
    height:94px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#8eeaff;
    font-size:38px;
    border:1px solid rgba(113,226,255,.45);
    box-shadow:
        inset 0 0 40px rgba(20,192,245,.13),
        0 0 70px rgba(0,174,255,.12);
}

.protection-panel h3 {
    font-size:27px;
    margin:0 0 18px;
}

.protection-list {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.protection-list span {
    padding:8px 12px;
    border-radius:999px;
    color:#b9d7e5;
    background:rgba(63,144,177,.10);
    border:1px solid rgba(99,194,230,.14);
    font-size:12px;
}

.result-window {
    border-radius:25px;
    padding:28px;
    max-width:900px;
}

.result-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.result-top small,
.result-kpi small {
    color:#6e9aaf;
    letter-spacing:.15em;
    font-size:9px;
}

.result-top h3 {
    margin:8px 0 0;
    font-size:25px;
}

.status-dot {
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--success);
    box-shadow:0 0 22px var(--success);
}

.result-kpi {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin:30px 0 22px;
}

.result-kpi > div {
    border:1px solid rgba(99,195,228,.14);
    border-radius:16px;
    padding:18px;
    background:rgba(4,27,41,.63);
}

.result-kpi strong {
    display:block;
    margin-top:7px;
    font-size:22px;
}

.result-kpi .accent {
    border-color:rgba(67,216,255,.35);
}

.result-kpi .accent strong {
    color:#8de8ff;
}

.progress {
    height:6px;
    border-radius:6px;
    overflow:hidden;
    background:rgba(98,145,164,.15);
}

.progress span {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#19bce9,#69e8ff);
    box-shadow:0 0 18px rgba(42,204,255,.45);
}

.result-bottom {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-top:22px;
    color:#6e91a1;
    font-size:11px;
}

.result-bottom b {
    color:white;
    margin-left:5px;
}

.install-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.install-grid article {
    border-top:1px solid var(--line-strong);
    padding:24px 10px 10px 0;
}

.install-grid strong {
    color:#4fbfe6;
    font-size:12px;
}

.install-grid h3 {
    font-size:22px;
    margin:15px 0 8px;
}

.install-grid p {
    color:var(--muted);
}

.checksum {
    margin-top:36px;
    padding:18px 20px;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(5,28,42,.63);
}

.checksum small {
    display:block;
    color:#638fa3;
    margin-bottom:8px;
}

.checksum code {
    color:#a9dff1;
    font-size:12px;
    word-break:break-all;
}

.support-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
}

.coffee-card,
.legal-card {
    padding:34px;
    border-radius:var(--radius);
}

.coffee-card > p,
.legal-card > p {
    color:var(--muted);
    line-height:1.65;
}

.coffee-icon {
    display:block;
    font-size:36px;
    margin-bottom:20px;
}

.coffee-card form {
    margin-top:28px;
}

.coffee-card label {
    display:block;
    font-size:11px;
    color:#90b5c7;
    margin-bottom:8px;
}

.amount-field {
    display:flex;
    align-items:center;
    border:1px solid rgba(83,215,255,.34);
    border-radius:15px;
    background:rgba(2,19,30,.62);
    overflow:hidden;
}

.amount-field input {
    width:100%;
    height:58px;
    border:0;
    outline:0;
    padding:0 18px;
    color:white;
    font-size:24px;
    font-weight:700;
    background:transparent;
}

.amount-field span {
    padding-right:20px;
    color:#88dff8;
    font-size:18px;
}

.minimum {
    color:#618a9d;
    display:block;
    margin-top:8px;
}

.coffee-button {
    border:1px solid rgba(100,224,255,.54);
    margin-top:20px;
    width:100%;
}

.support-note {
    font-size:11px;
    color:#5f8598 !important;
}

.form-error {
    margin:16px 0;
    padding:11px 14px;
    color:#ffd39f;
    border:1px solid rgba(255,184,92,.27);
    border-radius:12px;
    background:rgba(255,162,60,.08);
}

.legal-card h3 {
    font-size:22px;
}

.legal-card dl {
    margin:25px 0 0;
}

.legal-card dl div {
    display:grid;
    grid-template-columns:140px 1fr;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid rgba(115,201,231,.09);
}

.legal-card dt {
    color:#638ca0;
    font-size:11px;
}

.legal-card dd {
    margin:0;
    color:#d9edf5;
    font-size:13px;
    word-break:break-word;
}

.legal-warning {
    border-left:2px solid var(--warning);
    padding-left:14px;
    font-size:12px;
}

.footer {
    padding:120px 0 50px;
    display:flex;
    justify-content:space-between;
    color:#55798b;
    font-size:11px;
}

.footer > div {
    display:flex;
    flex-direction:column;
    gap:5px;
}

.footer strong {
    color:#a9d4e4;
}

.result-page {
    display:grid;
    place-items:center;
}

.support-result {
    width:min(520px,calc(100% - 32px));
    min-height:100vh;
    display:grid;
    place-items:center;
}

.result-card {
    width:100%;
    text-align:center;
}

.result-card h1 {
    font-size:42px;
    margin:12px 0;
}

.result-card p {
    color:var(--muted);
    line-height:1.6;
}

.result-card .button {
    margin-top:20px;
}

.support-amount {
    display:block;
    font-size:26px;
    color:var(--ice);
    margin:20px 0;
}

@media (max-width:900px) {
    nav {
        display:none;
    }

    .hero {
        grid-template-columns:1fr;
        padding-top:90px;
    }

    .hero-art {
        min-height:500px;
    }

    .metrics,
    .feature-grid,
    .install-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .support-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width:600px) {
    .shell,
    .site-header {
        width:min(100% - 28px,1180px);
    }

    .site-header {
        min-height:64px;
    }

    .hero {
        min-height:auto;
        padding-top:72px;
    }

    .hero h1 {
        font-size:50px;
    }

    .hero-lead {
        font-size:15px;
    }

    .hero-actions {
        flex-direction:column;
    }

    .hero-actions .button {
        width:100%;
    }

    .hero-art {
        min-height:420px;
    }

    .yeti-hero {
        max-height:420px;
    }

    .ice-ring {
        width:320px;
        height:320px;
    }

    .glass-badge {
        display:none;
    }

    .metrics,
    .feature-grid,
    .install-grid,
    .result-kpi,
    .result-bottom {
        grid-template-columns:1fr;
    }

    .metrics {
        gap:1px;
    }

    .section {
        padding-top:100px;
    }

    .section-head h2 {
        font-size:38px;
    }

    .protection-panel {
        grid-template-columns:1fr;
    }

    .result-window {
        padding:20px;
    }

    .legal-card dl div {
        grid-template-columns:1fr;
        gap:4px;
    }

    .footer {
        flex-direction:column;
        gap:24px;
    }
}


/* =========================================================
   YETI³ CLEANER · PREMIUM HERO MOTION
   ========================================================= */

.hero-art {
    perspective: 1200px;
    isolation: isolate;
}

.yeti-stage {
    --rx: 0deg;
    --ry: 0deg;
    --mx: 0px;
    --my: 0px;

    position: relative;
    width: min(590px, 100%);
    aspect-ratio: 1;
    display: grid;
    place-items: center;

    transform:
        translate3d(var(--mx), var(--my), 0)
        rotateX(var(--rx))
        rotateY(var(--ry));

    transform-style: preserve-3d;

    transition:
        transform 900ms
        cubic-bezier(.16, 1, .3, 1);

    will-change: transform;
}

.yeti-float {
    position: absolute;
    inset: 0;
    z-index: 5;

    animation:
        yeti-premium-float
        7.2s
        cubic-bezier(.45, 0, .55, 1)
        infinite;

    transform-origin: 50% 55%;
    will-change: transform, filter;
}

.yeti-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;

    max-width: none;
    max-height: none;

    object-fit: contain;

    opacity: 0;

    transform:
        translateZ(28px)
        scale(.982);

    filter:
        drop-shadow(
            0 46px 58px
            rgba(0, 0, 0, .50)
        )
        drop-shadow(
            0 0 24px
            rgba(67, 207, 255, .11)
        );

    transition:
        opacity 440ms
        cubic-bezier(.22, .61, .36, 1);

    will-change: opacity;
    user-select: none;
    pointer-events: none;
}

.yeti-frame-active {
    opacity: 1;
}

.yeti-aura {
    position: absolute;
    z-index: 0;

    width: 68%;
    height: 68%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(83, 219, 255, .18) 0%,
            rgba(21, 143, 204, .08) 36%,
            rgba(4, 36, 57, 0) 72%
        );

    filter: blur(25px);

    animation:
        yeti-aura-breathe
        5.6s
        ease-in-out
        infinite;
}

.yeti-orbit {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    pointer-events: none;
}

.yeti-orbit-a {
    width: 73%;
    height: 73%;

    border:
        1px solid
        rgba(100, 224, 255, .20);

    box-shadow:
        inset 0 0 55px
        rgba(54, 201, 255, .035),
        0 0 55px
        rgba(54, 201, 255, .025);

    animation:
        yeti-orbit-a
        24s
        linear
        infinite;
}

.yeti-orbit-a::before {
    content: "";
    position: absolute;

    width: 7px;
    height: 7px;

    left: 8%;
    top: 20%;

    border-radius: 50%;

    background: #a8edff;

    box-shadow:
        0 0 9px #64dcff,
        0 0 24px rgba(62, 206, 255, .65);
}

.yeti-orbit-b {
    width: 88%;
    height: 88%;

    border:
        1px solid
        rgba(83, 178, 221, .08);

    border-left-color:
        rgba(107, 227, 255, .27);

    border-right-color:
        rgba(107, 227, 255, .16);

    animation:
        yeti-orbit-b
        36s
        linear
        infinite;
}

.yeti-shimmer {
    position: absolute;
    z-index: 6;

    width: 74%;
    height: 86%;

    opacity: .16;

    background:
        linear-gradient(
            108deg,
            transparent 35%,
            rgba(205, 246, 255, .04) 43%,
            rgba(205, 246, 255, .22) 49%,
            rgba(205, 246, 255, .04) 55%,
            transparent 64%
        );

    transform:
        translate3d(-90%, 0, 50px)
        rotate(4deg);

    mix-blend-mode: screen;

    mask-image:
        radial-gradient(
            ellipse,
            black 10%,
            transparent 72%
        );

    animation:
        yeti-shimmer
        8.5s
        ease-in-out
        infinite;

    pointer-events: none;
}

.ice-particle {
    position: absolute;
    z-index: 2;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background:
        rgba(180, 239, 255, .85);

    box-shadow:
        0 0 10px
        rgba(91, 215, 255, .75);

    opacity: 0;
}

.particle-a {
    left: 17%;
    top: 63%;
    animation:
        ice-particle 7s 0s infinite;
}

.particle-b {
    left: 76%;
    top: 57%;
    animation:
        ice-particle 8.2s 1.7s infinite;
}

.particle-c {
    left: 28%;
    top: 31%;
    animation:
        ice-particle 9s 3.1s infinite;
}

.particle-d {
    left: 70%;
    top: 29%;
    animation:
        ice-particle 7.8s 4.3s infinite;
}


@keyframes yeti-premium-float {
    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    50% {
        transform:
            translate3d(0, -9px, 0)
            scale(1.008);
    }
}


@keyframes yeti-aura-breathe {
    0%,
    100% {
        opacity: .62;
        transform: scale(.94);
    }

    50% {
        opacity: 1;
        transform: scale(1.07);
    }
}


@keyframes yeti-orbit-a {
    to {
        transform: rotate(360deg);
    }
}


@keyframes yeti-orbit-b {
    to {
        transform: rotate(-360deg);
    }
}


@keyframes yeti-shimmer {
    0%,
    18% {
        transform:
            translate3d(-100%, 0, 50px)
            rotate(4deg);
        opacity: 0;
    }

    35% {
        opacity: .20;
    }

    52% {
        transform:
            translate3d(100%, 0, 50px)
            rotate(4deg);
        opacity: 0;
    }

    100% {
        transform:
            translate3d(100%, 0, 50px)
            rotate(4deg);
        opacity: 0;
    }
}


@keyframes ice-particle {
    0% {
        opacity: 0;
        transform:
            translate3d(0, 14px, 0)
            scale(.5);
    }

    18% {
        opacity: .75;
    }

    70% {
        opacity: .28;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(8px, -70px, 0)
            scale(1.3);
    }
}


@media (prefers-reduced-motion: reduce) {
    .yeti-float,
    .yeti-aura,
    .yeti-orbit,
    .yeti-shimmer,
    .ice-particle {
        animation: none !important;
    }

    .yeti-frame {
        transition: none;
    }

    .yeti-stage {
        transform: none !important;
        transition: none;
    }
}


/* =========================================================
   YETI³ · SOFT PREMIUM MOTION
   Motion should be felt, not watched.
   ========================================================= */

.yeti-stage {
    transition:
        transform 1.8s
        cubic-bezier(.22, 1, .36, 1);
}

.yeti-float {
    animation:
        yeti-premium-float-soft
        11s
        cubic-bezier(.45, .05, .55, .95)
        infinite;
}

.yeti-frame {
    transform:
        translateZ(12px)
        scale(.996);

    filter:
        drop-shadow(
            0 38px 54px
            rgba(0, 0, 0, .42)
        )
        drop-shadow(
            0 0 28px
            rgba(80, 210, 255, .07)
        );

    transition:
        opacity 1.15s
        cubic-bezier(.37, 0, .63, 1);
}

.yeti-aura {
    opacity: .48;

    filter: blur(38px);

    animation:
        yeti-aura-breathe-soft
        12s
        cubic-bezier(.45, .05, .55, .95)
        infinite;
}

.yeti-orbit-a {
    border-color:
        rgba(100, 224, 255, .12);

    animation:
        yeti-orbit-a
        70s
        linear
        infinite;
}

.yeti-orbit-b {
    opacity: .58;

    animation:
        yeti-orbit-b
        105s
        linear
        infinite;
}

.yeti-orbit-a::before {
    width: 5px;
    height: 5px;

    opacity: .65;

    box-shadow:
        0 0 8px
        rgba(100, 220, 255, .55),
        0 0 18px
        rgba(62, 206, 255, .20);
}

.yeti-shimmer {
    opacity: .08;

    animation:
        yeti-shimmer-soft
        16s
        cubic-bezier(.45, .05, .55, .95)
        infinite;
}

.ice-particle {
    width: 2px;
    height: 2px;

    opacity: 0;

    box-shadow:
        0 0 7px
        rgba(91, 215, 255, .42);
}

.particle-a {
    animation-duration: 13s;
}

.particle-b {
    animation-duration: 15s;
}

.particle-c {
    animation-duration: 17s;
}

.particle-d {
    animation-duration: 14s;
}


@keyframes yeti-premium-float-soft {
    0%,
    100% {
        transform:
            translate3d(0, 1px, 0)
            scale(1);
    }

    50% {
        transform:
            translate3d(0, -3px, 0)
            scale(1.003);
    }
}


@keyframes yeti-aura-breathe-soft {
    0%,
    100% {
        opacity: .42;
        transform: scale(.985);
    }

    50% {
        opacity: .56;
        transform: scale(1.015);
    }
}


@keyframes yeti-shimmer-soft {
    0%,
    32% {
        transform:
            translate3d(-110%, 0, 30px)
            rotate(3deg);
        opacity: 0;
    }

    42% {
        opacity: .07;
    }

    55% {
        opacity: .10;
    }

    66% {
        transform:
            translate3d(110%, 0, 30px)
            rotate(3deg);
        opacity: 0;
    }

    100% {
        transform:
            translate3d(110%, 0, 30px)
            rotate(3deg);
        opacity: 0;
    }
}


/*
 * Particles are intentionally sparse.
 * No "snow globe" effect.
 */
@keyframes ice-particle {
    0%,
    20% {
        opacity: 0;
        transform:
            translate3d(0, 5px, 0)
            scale(.8);
    }

    35% {
        opacity: .28;
    }

    72% {
        opacity: .15;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(3px, -34px, 0)
            scale(1);
    }
}
