
:root{
    --red:#c61c24;
    --ink:#080a0d;
    --soft:#d8dde4;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body.xrpm-holding{
    margin:0;
    min-height:100vh;
    overflow-x:hidden;
    background:var(--ink);
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
}
.holding-shell{position:relative;min-height:100vh;isolation:isolate}
.bg-stack,.bg-slide,.bg-overlay{position:absolute;inset:0}
.bg-stack{position:fixed;z-index:-2;background:#090b0f;overflow:hidden}
.bg-slide{
    opacity:0;
    background-position:center center;
    background-size:cover;
    transform:scale(1.025);
    transition:opacity 1.6s ease, transform 9s ease;
}
.bg-slide.is-active{opacity:1;transform:scale(1.075)}
.bg-overlay{
    z-index:2;
    background:
        linear-gradient(90deg,rgba(5,8,12,.93) 0%,rgba(5,8,12,.82) 34%,rgba(5,8,12,.38) 64%,rgba(5,8,12,.56) 100%),
        linear-gradient(0deg,rgba(5,8,12,.9) 0%,rgba(5,8,12,.08) 58%,rgba(5,8,12,.48) 100%);
}
.page-frame{
    min-height:100vh;
    padding:clamp(28px,4.2vw,74px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,42vw);
    grid-template-rows:auto 1fr auto;
    gap:24px;
    position:relative;
}
.page-frame:before{
    content:"";
    position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--red);
}
.brand{grid-column:1/3;display:flex;align-items:flex-start}
.brand-logo{
    display:block;
    width:clamp(165px,15vw,255px);
    height:auto;
    background:#fff;
    border-radius:14px;
    box-shadow:0 16px 50px rgba(0,0,0,.22);
}
.brand-logo.custom{background:transparent;border-radius:0;box-shadow:none}
.brand-logo.custom img{width:clamp(165px,15vw,255px);height:auto}
.hero-copy{
    align-self:center;
    max-width:800px;
    padding:60px 0 90px;
}
.eyebrow{
    margin-bottom:18px;
    color:#e7e9ec;
    font-size:clamp(12px,1.1vw,18px);
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
h1{
    margin:0;
    font-size:clamp(78px,10vw,168px);
    line-height:.82;
    letter-spacing:-.055em;
    font-weight:900;
    text-shadow:0 12px 40px rgba(0,0,0,.35);
}
.rule{width:210px;max-width:42vw;height:7px;background:var(--red);margin:34px 0 36px}
h2{
    margin:0 0 14px;
    max-width:720px;
    font-size:clamp(28px,3.5vw,58px);
    line-height:1.02;
    letter-spacing:-.03em;
}
.hero-copy p{
    margin:0;
    max-width:620px;
    color:var(--soft);
    font-size:clamp(18px,1.55vw,27px);
    line-height:1.4;
}
.contact-btn{
    display:inline-flex;
    margin-top:30px;
    padding:14px 20px;
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:13px;
    font-weight:700;
    backdrop-filter:blur(10px);
    background:rgba(255,255,255,.08);
    transition:.2s ease;
}
.contact-btn:hover,.contact-btn:focus{background:var(--red);border-color:var(--red)}
.history-strip{
    align-self:end;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding-bottom:58px;
}
.history-thumb{
    aspect-ratio:16/10;
    background-size:cover;
    background-position:center;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    box-shadow:0 14px 34px rgba(0,0,0,.27);
}
.history-thumb:nth-child(4){grid-column:2}
footer{
    grid-column:1/3;
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.66);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
@media (max-width:900px){
    .page-frame{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding:28px 26px}
    .brand{grid-column:1}
    .hero-copy{padding:70px 0 34px}
    .history-strip{grid-template-columns:repeat(3,1fr);padding:0 0 22px}
    .history-thumb:nth-child(4){grid-column:auto}
    .history-thumb:nth-child(n+4){display:none}
    footer{grid-column:1;flex-direction:column;gap:7px}
    .bg-overlay{
        background:
            linear-gradient(90deg,rgba(5,8,12,.92),rgba(5,8,12,.58)),
            linear-gradient(0deg,rgba(5,8,12,.86),rgba(5,8,12,.14) 60%,rgba(5,8,12,.5));
    }
}
@media (max-width:520px){
    .page-frame{padding:22px 20px 24px}
    .brand-logo{width:145px}
    .hero-copy{padding-top:54px}
    h1{font-size:76px}
    .history-strip{grid-template-columns:repeat(2,1fr)}
    .history-thumb:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){
    .bg-slide{transition:none;transform:none!important}
}
