.window-main .site-header{
    background:#fff;
}
.window-main .hero{
    background:#29483c;
    color:#fbfcf7;
}
.window-main .hero-inner{
    display:grid;
    grid-template-columns:38% 62%;
    max-width:none;
    min-height:clamp(620px,calc(90svh - 96px),820px);
    padding:0;
    gap:0;
}
.window-main .hero-copy{
    grid-column:1;
    grid-row:1;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:50px clamp(28px,4vw,76px);
    color:#fbfcf7;
}
.window-main .hero-kicker{
    font-size:12px;
    letter-spacing:.03em;
    color:#c0d0bf;
    margin-bottom:32px;
}
.window-main .hero-copy h1{
    font-size:clamp(38px,3.5vw,66px);
    font-weight:500;
    line-height:1.24;
    letter-spacing:-.055em;
    max-width:470px;
}
.window-main .hero-copy h1 br{
    display:block;
}
.window-main .hero-copy h1 em::after{
    display:none;
}
.window-main .hero-copy p{
    color:#d2ddd1;
    font-size:15px;
    line-height:1.9;
    margin:26px 0 30px;
    max-width:350px;
}
.window-main .hero-cta{
    background:#e3ebce;
    color:#264235;
    border-radius:0;
    padding:17px 22px;
    font-weight:600;
    font-size:14px;
}
.window-main .hero-cta:hover{
    background:#f1f5e4;
}
.window-main .hero-visual{
    grid-column:2;
    grid-row:1;
    padding:0;
    background:#d4d8ca;
    align-self:stretch;
    perspective:1500px;
}
.window-main .hero-visual .hero-frame{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    box-shadow:none;
    border-radius:0;
    overflow:hidden;
    transform:none;
    transform-style:preserve-3d;
}
.window-main .hero-visual{
    position:relative;
}
.window-main .hero-visual #hero-image,
.window-main .hero-incoming{
    object-fit:cover;
    object-position:center;
    backface-visibility:hidden;
}
.window-main .hero-frame::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(0deg,rgba(24,42,32,.6),transparent 38%);
    pointer-events:none;
}
.window-main .hero-dots{
    display:none;
}
.window-main .hero-film-link{
    position:static;
    display:flex;
    align-items:center;
    max-width:none;
    width:100%;
    gap:16px;
    margin:44px 0 0;
    border-top:1px solid #ffffff28;
    padding-top:24px;
    color:#f6f8ef;
}
.window-main .film-mini{
    width:112px;
    aspect-ratio:16 / 9;
    display:block;
    position:relative;
    flex-shrink:0;
    overflow:hidden;
}
.window-main .film-mini img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.window-main .film-mini>span{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    padding:3px 10px;
    border-radius:5px;
    background:#c4352e;
    color:white;
    font-size:12px;
}
.window-main .hero-film-link small,
.window-main .hero-film-link strong{
    display:block;
}
.window-main .hero-film-link small{
    color:#bfccba;
    font-size:11px;
    margin-bottom:7px;
    font-weight:400;
}
.window-main .hero-film-link strong{
    font-size:13px;
    font-weight:500;
    line-height:1.5;
}
.window-main .hero-film-link>svg{
    width:18px;
    margin-left:auto;
}
.window-main .panorama-journey{
    position:absolute;
    z-index:4;
    right:40px;
    bottom:24px;
    width:min(500px,calc(62% - 80px));
    display:grid;
    grid-template-columns:1fr auto;
    gap:22px 12px;
    align-items:center;
    padding:100px 0 0;
    color:#fff;
}
.window-main .hero-photo-caption{
    grid-row:2;
    margin:0;
    padding:0;
    font-size:12px;
    min-width:0;
    text-shadow:0 1px 4px #000;
}
.window-main .hero-progress{
    grid-column:1 / -1;
    grid-row:1;
    position:relative;
    inset:auto;
    width:calc(100% - 76px);
    margin:0 54px 0 22px;
    background:#ffffff60;
}
.window-main .hero-progress i{
    background:#f0f5dc;
}
.window-main .hero-controls{
    grid-row:2;
}
.window-main .hero-controls button{
    color:#fff;
    border-color:#ffffff70;
    background:#182a3226;
}
.window-main .hero-controls button:hover{
    background:#182a3280;
}
@media(max-width:1100px){
    .window-main .hero-inner{
        grid-template-columns:42% 58%;
    }
    .window-main .hero-copy{
        padding:38px 28px;
    }
    .window-main .hero-copy h1{
        font-size:42px;
    }
    .window-main .hero-film-link{
        gap:12px;
    }
    .window-main .film-mini{
        width:90px;
    }
    .window-main .hero-film-link>svg{
        display:none;
    }
    .window-main .panorama-journey{
        right:24px;
        width:calc(58% - 48px);
    }
}
@media(max-width:600px){
    .window-main .hero-inner{
        display:flex;
        flex-direction:column;
        min-height:0;
    }
    .window-main .hero-copy{
        padding:30px 24px;
    }
    .window-main .hero-kicker{
        margin-bottom:18px;
        font-size:11px;
    }
    .window-main .hero-copy h1{
        font-size:35px;
    }
    .window-main .hero-copy p{
        margin:18px 0 22px;
        font-size:13px;
    }
    .window-main .hero-film-link{
        margin-top:26px;
        padding-top:18px;
    }
    .window-main .film-mini{
        width:96px;
    }
    .window-main .hero-visual{
        height:430px;
    }
    .window-main .panorama-journey{
        width:calc(100% - 48px);
        right:24px;
        bottom:18px;
        gap:20px 8px;
    }
    .window-main .hero-photo-caption{
        font-size:10px;
    }
    .window-main .hero-controls{
        gap:3px;
    }
}
@media(prefers-reduced-motion:reduce){
    .window-main .panorama-journey{
        padding-top:0;
    }
}
.window-main .panorama-links{
    display:grid;
    grid-template-columns:1.1fr 1fr 1fr 1fr;
    gap:0;
    min-height:110px;
    padding:22px max(4vw,24px);
    background:#f6f7f2;
    color:#304637;
    border-bottom:1px solid #dfe5da;
}
.window-main .welcome-identity{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
}
.window-main .welcome-identity>span{
    font-weight:700;
    font-size:16px;
}
.window-main .welcome-identity small{
    font-size:12px;
    color:#65705f;
}
.window-main .panorama-links>a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:8px 28px;
    border-left:1px solid #d8dfd3;
    min-height:60px;
}
.window-main .panorama-links>a>span{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.window-main .panorama-links small{
    color:#65705f;
    font-size:12px;
    font-weight:400;
}
.window-main .panorama-links strong{
    font-size:15px;
    font-weight:600;
}
.window-main .panorama-links>a:hover{
    background:#e9eee4;
}
@media(max-width:900px){
    .window-main .panorama-links{
        grid-template-columns:repeat(3,1fr);
        padding:18px 24px;
    }
    .window-main .welcome-identity{
        display:none;
    }
    .window-main .panorama-links>a{
        padding:8px 14px;
    }
    .window-main .panorama-links>a:first-of-type{
        border-left:0;
    }
}
@media(max-width:600px){
    .window-main .panorama-links{
        min-height:90px;
        padding:12px;
    }
    .window-main .panorama-links>a{
        padding:6px 10px;
        min-height:54px;
    }
    .window-main .panorama-links small{
        font-size:10px;
    }
    .window-main .panorama-links strong{
        font-size:12px;
        word-break:keep-all;
    }
    .window-main .panorama-links svg{
        display:none;
    }
}


/* Home news uses native disclosure controls, including keyboard support. */
.news-accordion details{
    border-bottom:1px solid var(--line);
}
.news-accordion details:first-child{
    border-top:1px solid var(--line);
}
.news-accordion summary{
    display:flex;
    align-items:center;
    gap:24px;
    padding:27px 0;
    cursor:pointer;
    list-style:none;
}
.news-accordion summary::-webkit-details-marker{
    display:none;
}
.news-accordion summary:focus-visible{
    outline:2px solid var(--navy);
    outline-offset:5px;
}
.news-accordion .news-category{
    flex-shrink:0;
    color:var(--muted);
    font-size:12px;
}
.news-accordion .news-toggle{
    position:relative;
    width:16px;
    height:16px;
    flex-shrink:0;
}
.news-accordion .news-toggle::before,.news-accordion .news-toggle::after{
    content:'';
    position:absolute;
    background:currentColor;
    inset:7px 1px;
}
.news-accordion .news-toggle::after{
    transform:rotate(90deg);
    transition:transform .2s ease;
}
.news-accordion details[data-expanded="true"] .news-toggle::after{
    transform:rotate(0);
}
.news-accordion .news-answer{
    padding:0 40px 28px 48px;
    color:var(--muted);
    font-size:15px;
    line-height:1.8;
}
.news-accordion .news-answer p{
    margin:0;
}
.news-accordion .news-answer a{
    display:inline-flex;
    gap:10px;
    margin-top:16px;
    padding:0;
    border:0;
    color:var(--navy);
    font-size:13px;
    font-weight:600;
}
@media(max-width:600px){
    .news-accordion summary{
        gap:14px;
        padding-block:22px;
    }
    .news-accordion .news-answer{
        padding:0 0 24px 38px;
    }
}
@media(prefers-reduced-motion:reduce){
    .news-accordion .news-toggle::after{
        transition:none;
    }
}

.news-accordion details{
    box-sizing:border-box;
}

/* Keep small labels readable without changing the established layout. */
.window-main .brand small{
    white-space:nowrap;
    flex-shrink:0;
}
.window-main .photo-caption h3{
    overflow-wrap:anywhere;
    word-break:keep-all;
}
.window-main .photo-wrap .badge:nth-of-type(2){
    top:46px;
}
.news-accordion .news-answer p{
    white-space:pre-line;
    overflow-wrap:anywhere;
}
.home-empty{
    color:var(--muted);
    padding:32px 0;
    line-height:1.7;
}
.window-main .brand small{
    width:auto;
}
.adoption-status{
    display:block;
    margin-top:7px;
    font-size:12px;
    font-weight:500;
    color:#506b58;
}
