@charset "UTF-8";

.ko-page {
    --lime: #D6F74C;
    --line: #E0E0E0;
    --ghost: #F5F5F5;
    --ink: #0A0A0A;
    display: block;
    width: 100%;
    color: #000;
}

.ko-page *,
.ko-page *::before,
.ko-page *::after {box-sizing:border-box;}

.ko-page section {display:block;width:100%;}

.ko-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    line-height: 1;
}

.ko-pulse {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--lime);
    box-shadow: 0 0 0 0 rgba(214,247,76,0.9);
    animation: koPulse 2.2s ease-out infinite;
}

@keyframes koPulse {
    0%   {box-shadow:0 0 0 0 rgba(214,247,76,0.9);}
    70%  {box-shadow:0 0 0 14px rgba(214,247,76,0);}
    100% {box-shadow:0 0 0 0 rgba(214,247,76,0);}
}

.ko-h2 {font-size:clamp(38px, 6vw, 74px);font-weight:700;line-height:1.02;letter-spacing:-1.5px;}
.ko-h2 em {font-style:normal;font-weight:300;}
.ko-lead {font-size:clamp(17px, 1.5vw, 20px);font-weight:300;line-height:1.75;letter-spacing:0.3px;}

.ko-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    overflow: hidden;
    z-index: 0;
    padding: 20px 32px;
    border: 2px solid #000;
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Chakra Petch', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #000;
    background-color: var(--lime);
    transition: transform 0.45s cubic-bezier(.22,1,.36,1), color 0.5s ease;
}

.ko-btn::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background-color: #000;
    z-index: -1;
    transition: width 0.55s cubic-bezier(.22,1,.36,1);
}

.ko-btn:hover::before {width:100%;}
.ko-btn:hover {color:var(--lime);transform:translateY(-3px);}
.ko-btn svg {width:18px;height:18px;flex-shrink:0;stroke:currentColor;transition:transform 0.45s ease;}
.ko-btn:hover svg {transform:translateX(4px);}
.ko-btn-ghost {background-color:transparent;}
.ko-btn-ghost:hover {color:var(--lime);}

.ko-reveal {
    opacity: 0;
    transform: translateY(46px);
    transition: opacity 0.9s cubic-bezier(.22,1,.36,1), transform 0.9s cubic-bezier(.22,1,.36,1);
    transition-delay: var(--d, 0s);
}

.ko-reveal.is-in {opacity:1;transform:none;}

.ko-hero {position:relative;overflow:hidden;padding:clamp(200px, 17vh, 240px) 0 clamp(60px, 9vh, 110px) 0;}

.ko-emblem {
    position: absolute;
    top: 50%;
    right: -40px;
    width: clamp(320px, 42vw, 600px);
    transform: translateY(-52%);
    pointer-events: none;
    z-index: -1;
}

.ko-emblem svg {display:block;width:100%;height:auto;}
.ko-emblem .ko-orbit {transform-origin:100px 100px;animation:koSpin 120s linear infinite;}
.ko-emblem .ko-orbit-rev {transform-origin:100px 100px;animation:koSpin 90s linear infinite reverse;}

.ko-plane-line {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    animation: koDraw 2.4s cubic-bezier(.22,1,.36,1) forwards;
}

.ko-plane-1 {animation-delay:0.15s;}
.ko-plane-2 {animation-delay:0.7s;}

.ko-plane-wing {
    opacity: 0;
    animation: koFade 0.7s ease 1.5s forwards;
}

.ko-plane-trail {
    transform-box: fill-box;
    transform-origin: center;
    opacity: 0;
    animation: koPop 0.7s ease 1.9s forwards;
}

@keyframes koDraw {to {stroke-dashoffset:0;}}
@keyframes koSpin {to {transform:rotate(360deg);}}
@keyframes koPop {from {opacity:0;transform:scale(0);} to {opacity:1;transform:scale(1);}}
@keyframes koFade {from {opacity:0;} to {opacity:1;}}

.ko-hero-eyebrow {margin-bottom:34px;opacity:0;animation:koUp 1s cubic-bezier(.22,1,.36,1) 0.15s forwards;}
.ko-hero-eyebrow b {font-weight:700;}

.ko-title {
    font-size: clamp(52px, 12vw, 158px);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -3.5px;
    text-transform: uppercase;
}

.ko-title span {display:block;overflow:hidden;padding-bottom:0.06em;}
.ko-title span > em {display:block;font-style:normal;transform:translateY(105%);animation:koMask 1.15s cubic-bezier(.22,1,.36,1) forwards;}
.ko-title span:nth-child(1) > em {animation-delay:0.25s;}
.ko-title span:nth-child(2) > em {animation-delay:0.4s;}

@keyframes koMask {to {transform:translateY(0);}}
@keyframes koUp {from {opacity:0;transform:translateY(20px);} to {opacity:1;transform:none;}}

.ko-underline {display:block;width:min(460px,82%);margin-top:-4px;}
.ko-underline path {
    fill: none;
    stroke: var(--lime);
    stroke-width: 9;
    stroke-linecap: round;
    stroke-dasharray: 460;
    stroke-dashoffset: 460;
    animation: koDraw 1.3s cubic-bezier(.22,1,.36,1) 1.1s forwards;
}

.ko-hero-sub {
    max-width: 660px;
    margin-top: 38px;
    font-size: clamp(19px, 2.1vw, 27px);
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 0.2px;
    opacity: 0;
    animation: koUp 1s cubic-bezier(.22,1,.36,1) 1.15s forwards;
}

.ko-rot {display:inline-flex;position:relative;overflow:hidden;vertical-align:bottom;font-weight:700;white-space:nowrap;}
.ko-rot span {display:inline-block;}
.ko-rot .ko-rot-out {animation:koRotOut 0.4s cubic-bezier(.55,0,.65,.35) forwards;}
.ko-rot .ko-rot-in {animation:koRotIn 0.55s cubic-bezier(.22,1,.36,1) forwards;}

@keyframes koRotOut {to {opacity:0;transform:translateY(-70%) skewY(-4deg);}}
@keyframes koRotIn {from {opacity:0;transform:translateY(70%) skewY(4deg);} to {opacity:1;transform:none;}}

.ko-hero-cta {display:flex;flex-wrap:wrap;gap:16px;margin-top:50px;opacity:0;animation:koUp 1s cubic-bezier(.22,1,.36,1) 1.35s forwards;}

.ko-hero-stats {display:flex;flex-wrap:wrap;gap:0;margin-top:90px;border-top:1px solid var(--line);opacity:0;animation:koUp 1s cubic-bezier(.22,1,.36,1) 1.55s forwards;}
.ko-stat {flex:1 1 200px;padding:34px 30px 0 0;position:relative;}
.ko-stat::before {content:"";position:absolute;top:-1px;left:0;width:70px;height:4px;background-color:var(--lime);}
.ko-stat strong {display:block;font-size:clamp(30px,3.2vw,44px);font-weight:700;line-height:1;letter-spacing:-1px;}
.ko-stat em {display:block;margin-top:12px;font-style:normal;font-size:16px;font-weight:300;line-height:1.5;letter-spacing:0.4px;}

.ko-marquee {margin:clamp(50px, 7vw, 90px) 0 clamp(70px, 10vw, 130px) 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.ko-marquee-track {display:flex;width:max-content;animation:koMarquee 40s linear infinite;}
.ko-marquee:hover .ko-marquee-track {animation-play-state:paused;}
.ko-marquee-track span {display:flex;align-items:center;gap:22px;padding-right:22px;font-size:clamp(24px, 3.2vw, 44px);font-weight:700;line-height:1.2;letter-spacing:-0.5px;text-transform:uppercase;white-space:nowrap;}
.ko-marquee-track span:nth-child(2n) {color:transparent;-webkit-text-stroke:1px #000;}
.ko-marquee-track i {display:block;width:12px;height:12px;flex-shrink:0;border-radius:50%;background-color:var(--lime);-webkit-text-stroke:0;}

@keyframes koMarquee {to {transform:translateX(-50%);}}

.ko-sec {margin:clamp(80px, 11vw, 150px) 0;}
.ko-sec-head {margin-bottom:clamp(40px, 5vw, 64px);}
.ko-sec-head .ko-eyebrow {margin-bottom:22px;}
.ko-sec-head p {margin-top:24px;max-width:640px;}

.ko-ways {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.ko-way {
    position: relative;
    overflow: hidden;
    z-index: 0;
    display: flex;
    flex-direction: column;
    padding: 32px 30px;
    border: 2px solid #000;
    border-radius: 16px;
    background-color: #fff;
    color: #000;
    transition: transform 0.5s cubic-bezier(.22,1,.36,1), box-shadow 0.5s ease;
}

.ko-way::before {content:"";position:absolute;top:0;left:0;right:0;height:5px;background-color:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 0.5s cubic-bezier(.22,1,.36,1);}
.ko-way:hover {transform:translateY(-8px);box-shadow:0 20px 44px rgba(0,0,0,0.09);}
.ko-way:hover::before {transform:scaleX(1);}

.ko-way-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px;}
.ko-way-ico {display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:2px solid #000;border-radius:14px;transition:background-color 0.45s ease, transform 0.55s cubic-bezier(.22,1,.36,1);}
.ko-way-ico svg {width:25px;height:25px;fill:none;stroke:#000;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:stroke 0.45s ease;}
.ko-way:hover .ko-way-ico {background-color:#000;transform:rotate(-6deg);}
.ko-way:hover .ko-way-ico svg {stroke:var(--lime);}
.ko-way-go {width:22px;height:22px;fill:none;stroke:#C4C4C4;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:stroke 0.4s ease, transform 0.4s ease;}
.ko-way:hover .ko-way-go {stroke:#000;transform:translate(2px,-2px);}

.ko-way-label {font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8E8E8E;}
.ko-way-val {display:block;margin-top:8px;font-size:clamp(19px,1.9vw,23px);font-weight:700;letter-spacing:-0.4px;}
.ko-way-sub {display:block;margin-top:12px;font-size:14.5px;font-weight:300;line-height:1.55;letter-spacing:0.2px;color:#4A4A4A;}

.ko-contact {display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(30px,4vw,60px);align-items:start;}

.ko-form-wrap {
    padding: clamp(28px, 3.4vw, 44px);
    border: 2px solid #000;
    border-radius: 20px;
    background-color: #fff;
}

.ko-form {display:flex;flex-direction:column;gap:20px;}
.ko-form-row {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ko-field {display:flex;flex-direction:column;min-width:0;}
.ko-field label {font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:11px;}

.ko-field input,
.ko-field textarea {
    width: 100%;
    font-family: 'Chakra Petch', sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: #000;
    padding: 16px 18px;
    border: 2px solid var(--line);
    border-radius: 10px;
    background-color: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.ko-field textarea {min-height:170px;resize:vertical;line-height:1.6;}
.ko-field input::placeholder,
.ko-field textarea::placeholder {color:#9A9A9A;opacity:1;}
.ko-field input:focus,
.ko-field textarea:focus {outline:none;border-color:#000;box-shadow:0 0 0 3px rgba(214,247,76,0.6);}

.ko-captcha {display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;}
.ko-captcha figure {margin:0;flex-shrink:0;}
.ko-captcha figure img {display:block;height:56px;width:auto;border:2px solid var(--line);border-radius:10px;background-color:var(--ghost);}
.ko-captcha .ko-field {flex:1 1 220px;}

.ko-form button[type="submit"] {width:100%;margin-top:6px;padding:22px 32px;}

.ko-privacy {margin-top:6px;font-size:13px;font-weight:300;line-height:1.65;letter-spacing:0.2px;color:#8E8E8E;}
.ko-privacy svg {display:inline-block;width:15px;height:15px;vertical-align:-2px;margin-right:6px;fill:none;stroke:#8E8E8E;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

.ko-aside {display:flex;flex-direction:column;gap:20px;}

.ko-person {
    padding: clamp(26px, 3vw, 36px);
    border: 2px solid #000;
    border-radius: 20px;
    background-color: var(--ink);
    color: #fff;
}

.ko-person-top {display:flex;align-items:center;gap:18px;margin-bottom:22px;}
.ko-person-top img {width:70px;height:70px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--lime);}
.ko-person-top span {display:block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--lime);}
.ko-person-top strong {display:block;margin-top:6px;font-size:21px;font-weight:700;letter-spacing:-0.4px;}
.ko-person p {font-size:15px;font-weight:300;line-height:1.65;letter-spacing:0.2px;color:#CFCFCF;}

.ko-person-links {display:flex;flex-direction:column;gap:2px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,0.14);}
.ko-person-links a {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 11px 0;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.2px;
    transition: color 0.3s ease;
}
.ko-person-links a svg {width:19px;height:19px;flex-shrink:0;fill:none;stroke:var(--lime);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.35s ease;}
.ko-person-links a:hover {color:var(--lime);}
.ko-person-links a:hover svg {transform:translateX(3px);}

.ko-note {
    display: flex;
    gap: 14px;
    padding: 22px 24px;
    border: 2px solid var(--line);
    border-radius: 16px;
    background-color: var(--ghost);
}
.ko-note svg {width:26px;height:26px;flex-shrink:0;fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ko-note strong {display:block;font-size:15.5px;font-weight:700;letter-spacing:-0.2px;}
.ko-note p {margin-top:6px;font-size:14px;font-weight:300;line-height:1.55;letter-spacing:0.2px;color:#4A4A4A;}

.ko-billing {display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.ko-bill {position:relative;padding:34px 30px 0 0;}
.ko-bill::before {content:"";position:absolute;top:-1px;left:0;width:50px;height:4px;background-color:var(--lime);}
.ko-bill h3 {font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8E8E8E;margin-bottom:16px;}
.ko-bill p {font-size:17px;font-weight:300;line-height:1.7;letter-spacing:0.2px;}
.ko-bill p b {font-weight:700;}
.ko-bill a {position:relative;font-weight:700;color:#000;box-shadow:inset 0 -3px 0 var(--lime);transition:box-shadow 0.4s cubic-bezier(.22,1,.36,1);}
.ko-bill a:hover {box-shadow:inset 0 -20px 0 var(--lime);}

@media only screen and (max-width: 1023px) {
    .ko-ways {grid-template-columns:1fr;}
    .ko-contact {grid-template-columns:1fr;}
    .ko-billing {grid-template-columns:1fr;}
    .ko-bill {padding:32px 0 0 0;}
    .ko-bill:nth-child(n+2) {margin-top:4px;border-top:1px solid var(--line);}
    .ko-emblem {right:-120px;opacity:0.5;}
}

@media only screen and (max-width: 767px) {
    .ko-hero {padding-top:300px;}
    .ko-title {letter-spacing:-2px;}
    .ko-hero-cta {gap:12px;}
    .ko-hero-cta .ko-btn {width:100%;}
    .ko-hero-stats {margin-top:60px;}
    .ko-stat {flex:1 1 100%;padding:26px 0 0 0;border-top:1px solid var(--line);}
    .ko-stat:first-child {border-top:none;}
    .ko-form-row {grid-template-columns:1fr;}
    .ko-emblem {top:auto;bottom:-20px;right:-90px;width:380px;transform:none;opacity:0.4;}
}

@media (prefers-reduced-motion: reduce) {
    .ko-page *,
    .ko-page *::before,
    .ko-page *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .ko-reveal {opacity:1;transform:none;}
    .ko-title span > em {transform:none;}
    .ko-marquee-track {animation:none;}
    .ko-plane-line,.ko-plane-wing,.ko-plane-trail {opacity:1;stroke-dashoffset:0;transform:none;}
}
