/* Public landing page. Deliberately independent of authenticated workspace styles. */
.wcc-landing .wind-content {
    position: relative;
    isolation: isolate;
    overflow: clip;
}
.wcc-landing .page-wind {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    color: #607e93;
    opacity: .22;
}
.wcc-landing .page-wind path {
    stroke: currentColor;
    stroke-width: .9;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 35 45 65 170;
}
.wcc-landing.motion-ready .page-wind path {
    animation: page-breeze 12s linear infinite;
}
.wcc-landing .page-wind path:nth-child(2) { animation-delay: -5s; }
.wcc-landing .page-wind path:nth-child(3) { animation-delay: -10s; }
.wcc-landing .page-wind path:nth-child(4) { animation-delay: -15s; }
.wcc-landing .page-wind path:nth-child(5) { animation-delay: -20s; }
.wcc-landing.motion-paused .page-wind path { animation-play-state: paused; }
@keyframes page-breeze {
    to { stroke-dashoffset: -315; }
}
@media(prefers-reduced-motion:reduce) {
    .wcc-landing.motion-ready .page-wind path { animation: none; }
}
.wcc-landing {
    --navy:#262e70;
    --ink:#182334;
    --muted:#5d6572;
    --paper:#f7f6f2;
    --line:#d9dce0;
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:16px/1.65 "Segoe UI",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

.wcc-landing * {
    box-sizing:border-box;
}

.wcc-landing a {
    color:inherit;
}

.wcc-landing img {
    display:block;
    max-width:100%;
}

.wcc-landing h1,.wcc-landing h2,.wcc-landing h3,.wcc-landing p,.wcc-landing figure {
    margin:0;
}

.wcc-landing a:focus-visible,.wcc-landing summary:focus-visible {
    outline:3px solid #b16a25;
    outline-offset:5px;
}

.wcc-landing .skip-link {
    position:absolute;
    z-index:30;
    left:1rem;
    top:-6rem;
    padding:.6rem 1rem;
    background:#fff;
    color:var(--navy);
}

.wcc-landing .skip-link:focus {
    top:1rem;
}

.wcc-landing .site-header {
    border-bottom:1px solid var(--line);
    background:var(--paper);
}

.wcc-landing .header-inner {
    max-width:1440px;
    padding:20px 5%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    position:relative;
}

.wcc-landing .brand {
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    letter-spacing:.16em;
    font-weight:750;
    font-size:.85rem;
    line-height:1.5;
}

.wcc-landing .brand img {
    width:74px;
    height:50px;
    object-fit:contain;
}

.wcc-landing .brand-subtitle {
    display:block;
    font-size:.65rem;
    letter-spacing:.06em;
    font-weight:400;
    color:var(--muted);
}

.wcc-landing .desktop-navigation {
    display:flex;
    align-items:center;
    gap:30px;
    font-size:.82rem;
}

.wcc-landing .desktop-navigation>a:not(.button) {
    text-decoration:none;
}

.wcc-landing .desktop-navigation>a:not(.button):hover {
    text-decoration:underline;
    text-underline-offset:5px;
}

.wcc-landing .button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:52px;
    padding:13px 22px;
    font-weight:600;
    font-size:.87rem;
    line-height:1.45;
    text-decoration:none;
    border:1px solid transparent;
    transition:background-color .18s,color .18s;
}

.wcc-landing .button span {
    font-size:1.2rem;
    line-height:1;
}

.wcc-landing .button-small {
    min-height:44px;
    padding:10px 16px;
    font-size:.8rem;
}

.wcc-landing .button-navy {
    background:var(--navy);
    color:#fff;
}

.wcc-landing .button-navy:hover {
    background:#182052;
}

.wcc-landing .button-outline {
    border-color:#afb6c1;
    color:var(--navy);
}

.wcc-landing .button-outline:hover {
    background:#e9eaf0;
}

.wcc-landing .button-white {
    background:var(--paper);
    color:var(--navy);
}

.wcc-landing .button-white:hover {
    background:#e7e9ef;
}

.wcc-landing .mobile-navigation {
    display:none;
}

.wcc-landing .hero {
    display:grid;
    grid-template-columns:1.04fr 1fr;
    max-width:1440px;
    margin:auto;
    min-height:660px;
}

.wcc-landing .hero-copy {
    padding:72px 9.5% 48px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.wcc-landing .eyebrow {
    display:flex;
    align-items:center;
    gap:10px;
    text-transform:uppercase;
    letter-spacing:.17em;
    font-size:.66rem;
    font-weight:700;
    color:var(--navy);
}

.wcc-landing .eyebrow-line {
    width:32px;
    height:1px;
    background:currentColor;
}

.wcc-landing h1 {
    font-size:clamp(2.8rem,4.65vw,4.8rem);
    line-height:1.04;
    letter-spacing:-.065em;
    font-weight:650;
    margin:28px 0 24px;
}

.wcc-landing h1>span {
    color:var(--navy);
}

.wcc-landing .hero-description {
    max-width:410px;
    color:var(--muted);
    font-size:1.02rem;
    line-height:1.8;
}

.wcc-landing .hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:30px;
    max-width:100%;
}

.wcc-landing .staff-entry {
    font-size:.78rem;
    color:var(--muted);
    margin-top:18px;
}

.wcc-landing .staff-entry a {
    font-weight:600;
    text-underline-offset:4px;
    color:var(--navy);
}

.wcc-landing .hero-footnote {
    display:flex;
    gap:18px;
    align-items:center;
    margin-top:auto;
    padding-top:52px;
    font-size:.72rem;
    line-height:1.6;
    color:var(--muted);
}

.wcc-landing .hero-footnote>span:first-child {
    font-size:1.5rem;
    color:var(--navy);
}

.wcc-landing .hero-visual {
    position:relative;
    min-width:0;
    background:#142c59;
    align-self:center;
    display:flex;
    flex-direction:column;
}

.wcc-landing .hero-visual>img {
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
    object-position:center;
}

.wcc-landing .hero-visual figcaption {
    display:flex;
    justify-content:space-between;
    gap:16px;
    background:var(--navy);
    color:#fff;
    font-size:.65rem;
    letter-spacing:.08em;
    padding:19px 26px;
}

.wcc-landing .hero-visual figcaption>span:first-child {
    font-weight:700;
}

.wcc-landing .image-corner {
    position:absolute;
    top:20px;
    right:24px;
    color:#fff;
    font-size:2rem;
    font-weight:200;
    text-shadow:0 1px 3px #182334;
}

.wcc-landing .workspace-section {
    max-width:1296px;
    padding:96px 5% 76px;
    margin:auto;
    scroll-margin-top:24px;
}

.wcc-landing .section-intro {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:64px;
    align-items:end;
    margin-bottom:52px;
}

.wcc-landing .section-intro .eyebrow {
    grid-column:1/-1;
    margin-bottom:16px;
}

.wcc-landing h2 {
    font-size:clamp(2rem,3.3vw,3.15rem);
    line-height:1.15;
    letter-spacing:-.045em;
    font-weight:600;
}

.wcc-landing .section-intro p {
    max-width:350px;
    color:var(--muted);
    font-size:.94rem;
}

.wcc-landing .workspace-row {
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 165px;
    gap:24px;
    padding:36px 0;
    border-top:1px solid #bfc5cf;
    align-items:start;
}

.wcc-landing .workspace-row:last-child {
    border-bottom:1px solid #bfc5cf;
}

.wcc-landing .workspace-index {
    font-size:.82rem;
    color:var(--navy);
    font-variant-numeric:tabular-nums;
    padding-top:4px;
}

.wcc-landing .workspace-kicker {
    font-size:.64rem;
    text-transform:uppercase;
    letter-spacing:.13em;
    color:var(--muted);
    margin-bottom:7px;
}

.wcc-landing h3 {
    font-size:1.75rem;
    line-height:1.25;
    letter-spacing:-.035em;
    font-weight:600;
}

.wcc-landing .workspace-content p {
    color:var(--muted);
    font-size:.9rem;
    max-width:620px;
    margin-top:12px;
}

.wcc-landing .workspace-topics {
    display:flex;
    flex-wrap:wrap;
    gap:6px 18px;
    list-style:none;
    padding:0;
    margin:18px 0 0;
    font-size:.7rem;
    color:var(--navy);
}

.wcc-landing .workspace-topics li+li::before {
    content:"/";
    margin-right:18px;
    color:#949ca8;
}

.wcc-landing .workspace-link {
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:.78rem;
    font-weight:650;
    text-decoration:none;
    border-bottom:1px solid #aab2c0;
    padding:10px 0;
    margin-top:20px;
}

.wcc-landing .workspace-link:hover {
    border-color:var(--navy);
}

.wcc-landing .workspace-link span {
    font-size:1.1rem;
}

.wcc-landing .workspace-note {
    font-size:.74rem;
    color:var(--muted);
    margin-top:20px;
}

.wcc-landing .entry-section {
    background:var(--navy);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:58px max(5%,calc((100vw - 1166px)/2));
}

.wcc-landing .entry-section .eyebrow {
    color:#c6cae3;
    margin-bottom:16px;
}

.wcc-landing .entry-section h2 {
    font-size:clamp(1.9rem,3vw,2.7rem);
}

.wcc-landing .entry-section p {
    color:#d0d3e5;
    font-size:.87rem;
    margin-top:12px;
}

.wcc-landing .entry-actions {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
    flex-shrink:0;
}

.wcc-landing .entry-staff-link {
    color:#fff;
    font-size:.8rem;
    text-underline-offset:5px;
}

.wcc-landing .site-footer {
    display:flex;
    justify-content:space-between;
    gap:20px;
    max-width:1296px;
    padding:30px 5%;
    margin:auto;
    font-size:.68rem;
    color:var(--muted);
    flex-wrap:wrap;
}

.wcc-landing .developer-credit {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 16px;
    border-top:1px solid var(--line);
    padding-top:16px;
}

.wcc-landing .developer-credit strong {
    color:var(--navy);
    letter-spacing:.04em;
}

.wcc-landing .developer-credit a {
    text-underline-offset:3px;
}

.wcc-landing .site-footer>span:first-child>span {
    padding:0 10px;
    color:#a1a7b2;
}

@media(min-width:1440px) {
    .wcc-landing .hero-copy {
        padding-left:72px;
    }

}

@media(max-width:1050px) {
    .wcc-landing .desktop-navigation {
        gap:18px;
    }

    .wcc-landing .hero-copy {
        padding-top:54px;
    }

    .wcc-landing .hero {
        min-height:590px;
    }

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

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

    .wcc-landing .hero-footnote {
        padding-top:28px;
    }

    .wcc-landing .workspace-section {
        padding-top:68px;
    }

}

@media(max-width:760px) {
    .wcc-landing .header-inner {
        padding:16px 6%;
    }

    .wcc-landing .desktop-navigation {
        display:none;
    }

    .wcc-landing .mobile-navigation {
        display:block;
    }

    .wcc-landing .mobile-navigation>summary {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        cursor:pointer;
        list-style:none;
        padding:10px 0 10px 12px;
        font-size:.8rem;
        font-weight:600;
    }

    .wcc-landing .mobile-navigation>summary::-webkit-details-marker {
        display:none;
    }

    .wcc-landing .mobile-navigation>summary span {
        margin-left:8px;
    }

    .wcc-landing .mobile-navigation nav {
        position:absolute;
        top:100%;
        left:0;
        right:0;
        padding:12px 6% 20px;
        background:var(--paper);
        border-bottom:1px solid var(--line);
        z-index:10;
        box-shadow:0 12px 18px #1823340a;
    }

    .wcc-landing .mobile-navigation nav a {
        display:block;
        padding:12px 0;
        font-size:.9rem;
        text-decoration:none;
        border-bottom:1px solid var(--line);
    }

    .wcc-landing .hero {
        grid-template-columns:1fr;
        min-height:0;
    }

    .wcc-landing .hero-copy {
        padding:48px 6% 36px;
    }

    .wcc-landing h1 {
        font-size:clamp(2.8rem,8.7vw,4.2rem);
        margin-top:24px;
    }

    .wcc-landing .hero-description {
        max-width:460px;
        font-size:.96rem;
    }

    .wcc-landing .hero-actions {
        flex-direction:row;
        width:100%;
    }

    .wcc-landing .hero-actions .button {
        width:auto;
        flex:1 1 auto;
    }

    .wcc-landing .hero-footnote {
        display:none;
    }

    .wcc-landing .hero-visual {
        margin:0 6%;
    }

    .wcc-landing .hero-visual>img {
        height:auto;
        min-height:0;
        max-height:none;
        object-position:center;
    }

    .wcc-landing .hero-visual figcaption {
        padding:14px 16px;
        font-size:.6rem;
    }

    .wcc-landing .workspace-section {
        padding:56px 6%;
    }

    .wcc-landing .section-intro {
        grid-template-columns:1fr;
        gap:16px;
        margin-bottom:32px;
    }

    .wcc-landing .section-intro .eyebrow {
        margin:0;
    }

    .wcc-landing .section-intro p {
        max-width:100%;
    }

    .wcc-landing .workspace-row {
        grid-template-columns:34px minmax(0,1fr);
        gap:16px;
        padding:28px 0;
    }

    .wcc-landing .workspace-link {
        grid-column:2;
        max-width:190px;
        width:100%;
        margin-top:0;
    }

    .wcc-landing h3 {
        font-size:1.5rem;
    }

    .wcc-landing .entry-section {
        padding:42px 6%;
        flex-direction:column;
        align-items:flex-start;
        gap:26px;
    }

    .wcc-landing .entry-actions {
        max-width:100%;
    }

    .wcc-landing .site-footer {
        padding:24px 6%;
        flex-direction:column;
        gap:8px;
    }

}

@media(max-width:380px) {
    .wcc-landing .brand {
        gap:8px;
        font-size:.75rem;
    }

    .wcc-landing .brand img {
        width:61px;
        height:42px;
    }

    .wcc-landing .brand-subtitle {
        font-size:.58rem;
    }

    .wcc-landing .hero-copy {
        padding-top:36px;
    }

    .wcc-landing h1 {
        font-size:clamp(2.05rem, 10.25vw, 2.6rem);
    }

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

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

    .wcc-landing .hero-visual>img {
        height:auto;
    }

    .wcc-landing .hero-visual figcaption {
        flex-wrap:wrap;
        gap:4px;
    }

    .wcc-landing .workspace-row {
        grid-template-columns:26px minmax(0,1fr);
        gap:10px;
    }

    .wcc-landing .workspace-topics {
        gap:6px 10px;
    }

    .wcc-landing .workspace-topics li+li::before {
        margin-right:10px;
    }

    .wcc-landing .button {
        gap:12px;
        padding-inline:16px;
    }

}

@media(prefers-reduced-motion:reduce) {
    .wcc-landing .button {
        transition:none;
    }

}

@media (max-width: 380px) {
    .wcc-landing .header-inner {
        gap: 12px;
    }
    .wcc-landing .mobile-navigation {
        flex-shrink: 0;
    }
    .wcc-landing .mobile-navigation > summary {
        white-space: nowrap;
    }
}

/* Floating aircraft illustration: motion is an optional enhancement, never a prerequisite. */
.wcc-landing .hero-visual.hero-aircraft {
    background: transparent;
    justify-content: center;
    padding: 28px 24px 24px;
    position: relative;
}
.wcc-landing .aircraft-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    isolation: isolate;
}
.wcc-landing .aircraft-brand {
    position: absolute;
    object-fit: contain;
    width: 52%;
    height: 34%;
    left: 24%;
    top: 0;
    opacity: 1;
    z-index: 0;
}
.wcc-landing .aircraft-wind {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    color: var(--navy);
}
.wcc-landing .wind-trail {
    stroke: currentColor;
    stroke-width: 1;
    opacity: .16;
    stroke-dasharray: 60 28 120 400;
}
.wcc-landing .flight-route {
    stroke: currentColor;
    stroke-width: 1;
    stroke-dasharray: 3 7;
    opacity: .2;
}
.wcc-landing .aircraft-float {
    position: absolute;
    inset: 0;
}
.wcc-landing .aircraft-cutout {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.wcc-landing .hero-visual.hero-aircraft figcaption {
    background: transparent;
    color: var(--muted);
    border-top: 1px solid var(--line);
    margin-top: 18px;
    padding: 15px 0;
}
.wcc-landing .aircraft-motion-control {
    align-self: flex-end;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--navy);
    padding: 8px 12px;
    min-height: 44px;
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
}
.wcc-landing .aircraft-motion-control:focus-visible {
    outline: 3px solid #b16a25;
    outline-offset: 4px;
}
.wcc-landing .aircraft-motion-control[hidden] { display: none; }
.wcc-landing .hero-aircraft.motion-ready .aircraft-float {
    animation: aircraft-float 5.5s ease-in-out infinite;
}
.wcc-landing .hero-aircraft.motion-ready .wind-trail {
    animation: aircraft-wind 9s linear infinite;
}
.wcc-landing .hero-aircraft.motion-ready .wind-trail-two { animation-delay: -3s; }
.wcc-landing .hero-aircraft.motion-ready .wind-trail-three { animation-delay: -6s; }
.wcc-landing .hero-aircraft.motion-ready .wind-trail-four { animation-delay: -1.5s; }
.wcc-landing .hero-aircraft.motion-ready .wind-trail-five { animation-delay: -4.5s; }
.wcc-landing .hero-aircraft.motion-ready .wind-trail-six { animation-delay: -7.5s; }
.wcc-landing .wind-leaf { opacity: .65; }
.wcc-landing .leaf-green { color: #63834b; }
.wcc-landing .leaf-brown { color: #a47750; }
.wcc-landing .hero-aircraft.motion-ready .wind-leaf {
    animation: aircraft-leaf 10s ease-in-out infinite;
}
.wcc-landing .hero-aircraft.motion-ready .leaf-two { animation-delay: -2s; }
.wcc-landing .hero-aircraft.motion-ready .leaf-three { animation-delay: -4s; }
.wcc-landing .hero-aircraft.motion-ready .leaf-four { animation-delay: -6s; }
.wcc-landing .hero-aircraft.motion-ready .leaf-five { animation-delay: -8s; }
.wcc-landing .hero-aircraft.motion-paused :is(.aircraft-float, .wind-trail, .wind-leaf, .aircraft-propeller) {
    animation-play-state: paused;
}
@keyframes aircraft-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
@keyframes aircraft-wind {
    to { stroke-dashoffset: -608; }
}
@keyframes aircraft-leaf {
    0%, 100% { transform: translate(-14px, 5px) rotate(-25deg); }
    50% { transform: translate(20px, -12px) rotate(40deg); }
}
@media(max-width:760px) {
    .wcc-landing .hero-visual.hero-aircraft {
        padding: 20px 0 18px;
        margin-top: 4px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .wcc-landing .hero-aircraft.motion-ready :is(.aircraft-float, .wind-trail, .wind-leaf, .aircraft-propeller) {
        animation: none;
    }
}
/* The original academy mark stays fully legible; only the environmental layer is faded. */

.wcc-landing .aircraft-runway {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .3;
    mask-image: radial-gradient(ellipse at center, #000 25%, transparent 72%);
    z-index: -2;
}
.wcc-landing .aircraft-float {
    inset: 12% 0 -12%;
    z-index: 1;
}
.wcc-landing .aircraft-propeller-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.wcc-landing .aircraft-propeller {
    transform-box: fill-box;
    transform-origin: center;
}
.wcc-landing .hero-aircraft.motion-ready .aircraft-propeller {
    animation: aircraft-propeller 3.8s linear infinite;
}
.wcc-landing .hero-aircraft.motion-paused .aircraft-propeller {
    animation-play-state: paused;
}
@keyframes aircraft-propeller {
    to { transform: rotate(360deg); }
}
@media(prefers-reduced-motion:reduce) {
    .wcc-landing .hero-aircraft.motion-ready .aircraft-propeller { animation: none; }
}
