/* Progressive enhancement: content remains visible until motion.js opts in. */
.motion-ready [data-motion] {
    opacity:0;
    transform:translate3d(0,36px,0);
    transition:
        opacity .72s cubic-bezier(.22,1,.36,1),
        transform .82s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--motion-delay,0ms);
    will-change:opacity,transform;
}
.motion-ready [data-motion="fade"] { transform:none; }
.motion-ready [data-motion="scale"] { transform:translate3d(0,24px,0) scale(.975); }
.motion-ready .process-arrow[data-motion] { transform:translate3d(0,36px,0) rotate(-90deg); }
.motion-ready [data-motion].is-visible {
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    will-change:auto;
}
.motion-ready .process-arrow[data-motion].is-visible { transform:translate3d(0,0,0) rotate(-90deg); }

[data-parallax] { background-repeat:no-repeat; will-change:background-position; }

footer { position:relative; }
.footer-help { position:relative; display:inline-flex; margin-left:8px; vertical-align:middle; }
.footer-help__button {
    width:22px;
    height:22px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#85858d;
    border:1px solid #c8c8cd;
    border-radius:50%;
    background:transparent;
    font:700 12px/1 Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    cursor:help;
    opacity:.72;
    transition:opacity .2s ease,color .2s ease,border-color .2s ease,background-color .2s ease;
}
.footer-help__button:hover,.footer-help__button:focus-visible {
    color:#fff;
    border-color:#1c1c21;
    background:#1c1c21;
    opacity:1;
    outline:none;
}
.footer-help__bubble {
    visibility:hidden;
    opacity:0;
    position:absolute;
    z-index:20;
    right:0;
    bottom:calc(100% + 14px);
    width:min(420px,calc(100vw - 40px));
    padding:24px;
    color:#fff;
    border-radius:16px;
    background:rgba(28,28,33,.97);
    box-shadow:0 18px 50px rgba(0,0,0,.25);
    text-align:left;
    font-size:16px;
    line-height:1.7;
    font-weight:500;
    transform:translateY(8px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
    pointer-events:none;
}
.footer-help__bubble::after {
    content:"";
    position:absolute;
    right:3px;
    top:100%;
    border:8px solid transparent;
    border-top-color:rgba(28,28,33,.97);
}
.footer-help__bubble strong { display:block; margin-bottom:8px; font-size:18px; }
.footer-help:hover .footer-help__bubble,.footer-help:focus-within .footer-help__bubble {
    visibility:visible;
    opacity:1;
    transform:translateY(0);
}
@media (max-width:760px) {
    .footer-help__bubble { position:fixed; left:20px; right:20px; bottom:84px; width:auto; padding:20px; font-size:14px; transform:translateY(8px); }
    .footer-help:hover .footer-help__bubble,.footer-help:focus-within .footer-help__bubble { transform:translateY(0); }
    .footer-help__bubble::after { display:none; }
    .footer-help__bubble strong { font-size:16px; }
}

html.motion-ready .subhero-ready::before {
    background:#000;
    transition:background-color .5s ease;
}
html.motion-ready .subhero-ready.subhero-loaded::before { background:rgba(28,28,33,.77); }
.subhero-ready .subhero-line {
    opacity:0;
    transform:translate3d(0,24px,0);
    transition:opacity .48s ease,transform .58s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--hero-line-delay,300ms);
}
.subhero-ready p .subhero-line { display:block; }
.subhero-ready p br { display:none; }
.subhero-ready p .subhero-line--paragraph { margin-top:.65em; }
.subhero-ready .subhero-title-text {
    display:inline-block;
    box-sizing:content-box;
    width:0;
    overflow:hidden;
    white-space:nowrap;
    vertical-align:bottom;
    border-right:3px solid transparent;
    will-change:width;
}
.subhero-ready.subhero-loaded .subhero-title-text {
    animation:
        subhero-title-typing var(--hero-title-duration,900ms) steps(var(--hero-title-steps,8),end) var(--hero-title-delay,420ms) both,
        subhero-caret-follow .65s step-end var(--hero-title-delay,420ms) infinite;
}
.subhero-ready:not(.is-hero-visible) .subhero-title-text { border-right-color:transparent !important; }
@keyframes subhero-title-typing {
    from { width:0; }
    to { width:var(--hero-title-width); }
}
.free-hero.subhero-ready .free-hero__report {
    opacity:0;
    transform:translate3d(0,-280px,0) rotate(-1.5deg);
    transition:opacity .45s ease,transform .9s cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform;
}
.free-hero.subhero-ready.subhero-loaded .free-hero__report {
    opacity:1;
    transform:translate3d(0,0,0) rotate(0);
    transition-delay:180ms;
}
@keyframes subhero-caret-follow {
    0%,45% { border-right-color:currentColor; }
    46%,100% { border-right-color:transparent; }
}
.motion-ready .subhero-ready .breadcrumb.subhero-line {
    --breadcrumb-padding-y:15px;
    --breadcrumb-padding-x:35px;
    width:48px;
    height:48px;
    padding:0;
    overflow:hidden;
    opacity:0;
    transform:translate3d(0,0,0) scale(.65);
    border-radius:999px;
    justify-content:center;
    white-space:nowrap;
    transition:none;
}
.motion-ready .subhero-ready.subhero-loaded .breadcrumb.subhero-line {
    animation:breadcrumb-island-in 1.25s cubic-bezier(.22,1,.36,1) 150ms both;
}
@keyframes breadcrumb-island-in {
    0% { width:48px; padding:0; opacity:0; transform:translate3d(0,0,0) scale(.65); }
    22% { width:48px; padding:0; opacity:1; transform:translate3d(0,0,0) scale(1); }
    42% { width:48px; padding:0; opacity:1; transform:translate3d(0,0,0) scale(1); }
    100% { width:var(--breadcrumb-expanded-width,240px); padding:var(--breadcrumb-padding-y) var(--breadcrumb-padding-x); opacity:1; transform:translate3d(0,0,0) scale(1); }
}
.motion-ready .subhero-ready .breadcrumb.subhero-line > * {
    opacity:0;
}
.motion-ready .subhero-ready.subhero-loaded .breadcrumb.subhero-line > * {
    animation:breadcrumb-text-in .32s ease 1450ms both;
}
@keyframes breadcrumb-text-in {
    from { opacity:0; }
    to { opacity:1; }
}
.subhero-ready.subhero-loaded .subhero-line {
    opacity:1;
    transform:translate3d(0,0,0);
}

.button,.submit-button,.text-link {
    transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}
.service-image,.service-card__visual,.check-icon,.support-icon,.result-visual,.price-card,.product-card {
    transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;
}

@media (hover:hover) and (pointer:fine) {
    .button:hover,.submit-button:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.18); }
    .text-link:hover { color:#fff; border-color:currentColor; transform:translateY(-2px); }
    .deliverables .text-link:hover { color:#1c1c21; }
    .service:hover .service-image,.service-card:hover .service-card__visual,
    .check-item:hover .check-icon,.support-item:hover .support-icon,
    .result-card:hover .result-visual { transform:translateY(-7px); box-shadow:0 18px 38px rgba(0,0,0,.2); }
    .price-card:hover,.product-card:hover { transform:translateY(-7px); box-shadow:0 18px 38px rgba(0,0,0,.12); }
}

@media (max-width:760px) {
    .motion-ready [data-motion] {
        transform:translate3d(0,20px,0);
        transition-duration:.55s,.62s;
    }
    .motion-ready [data-motion="scale"] { transform:translate3d(0,14px,0) scale(.985); }
    .motion-ready .process-arrow[data-motion] { transform:translate3d(0,20px,0) rotate(-90deg); }
    .motion-ready .process-arrow[data-motion].is-visible { transform:translate3d(0,0,0) rotate(-90deg); }
    .motion-ready .subhero-ready .breadcrumb.subhero-line { --breadcrumb-padding-y:12px; --breadcrumb-padding-x:22px; }
    .free-hero.subhero-ready .free-hero__report { transform:translate3d(0,-160px,0) rotate(-1deg); }
    .free-hero.subhero-ready.subhero-loaded .free-hero__report { transform:translate3d(0,0,0) rotate(0); }
}

@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto !important; }
    .motion-ready [data-motion],.motion-ready [data-motion].is-visible {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .motion-ready .process-arrow[data-motion],.motion-ready .process-arrow[data-motion].is-visible {
        transform:rotate(-90deg) !important;
    }
    [data-parallax] { background-position-y:initial !important; will-change:auto; }
    .intro { --intro-bg-scale:1 !important; --intro-bg-y:0px !important; }
    html.motion-ready .subhero-ready::before { background:rgba(28,28,33,.77); transition:none; }
    .subhero-ready .subhero-line,.subhero-ready.subhero-loaded .subhero-line {
        opacity:1;
        transform:none;
        transition:none;
    }
    .subhero-ready .subhero-title-text,.subhero-ready.subhero-loaded .subhero-title-text {
        width:auto;
        overflow:visible;
        border-right:0;
        animation:none;
    }
    .free-hero.subhero-ready .free-hero__report,.free-hero.subhero-ready.subhero-loaded .free-hero__report {
        opacity:1;
        transform:none;
        transition:none;
    }
    .button,.submit-button,.text-link,.service-image,.service-card__visual,.check-icon,.support-icon,.result-visual,.price-card,.product-card {
        transition:none !important;
    }
}
