.cpm-mega-menu,
.cpm-mega-menu *{box-sizing:border-box}
.cpm-mega-menu{
    --cpm-header-height:96px;
    --cpm-menu-width:1680px;
    --cpm-header-bg:#2f4143;
    --cpm-logo-bg:#d71120;
    --cpm-panel-bg:#071116;
    --cpm-panel-overlay:rgba(5,13,17,.80);
    --cpm-menu-text:#fff;
    --cpm-menu-muted:#aeb7ba;
    --cpm-menu-line:rgba(255,255,255,.2);
    --cpm-menu-accent:#d71120;
    --cpm-active-bg:rgba(215,17,32,.92);
    --cpm-menu-reveal:720ms;
    --cpm-image-speed:560ms;
    --cpm-wave-base:.94;
    --cpm-wave-peak:1.055;
    --cpm-wave-radius:270px;
    --cpm-wave-lift:8px;
    --cpm-wave-smoothing:.16;
    --cpm-parallax:10px;
    position:relative;
    z-index:9990;
    width:100%;
    color:var(--cpm-menu-text);
    font-family:inherit;
}
.cpm-mega-menu.is-sticky{position:sticky;top:0}
.cpm-mega-menu.is-overlay{margin-bottom:calc(var(--cpm-header-height) * -1)}
.cpm-mega-menu button,
.cpm-mega-menu dialog,
.cpm-menu-trigger{font:inherit}
.cpm-mega-menu button{appearance:none;border:0}
.cpm-mega-menu a{text-decoration:none}

.cpm-mega-header{
    position:relative;
    z-index:3;
    height:var(--cpm-header-height);
    background:var(--cpm-header-bg);
    color:var(--cpm-menu-text);
}
.cpm-mega-header__inner{
    display:flex;
    align-items:stretch;
    width:100%;
    max-width:var(--cpm-menu-width);
    height:100%;
    margin:0 auto;
}
.cpm-mega-header__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:220px;
    padding:0 28px;
    background:var(--cpm-logo-bg);
    color:#fff;
    overflow:hidden;
}
.cpm-mega-header__logo img{display:block;width:168px;max-height:72%;object-fit:contain}
.cpm-mega-header__logo span{font-weight:800;line-height:1.1}
.cpm-mega-header__nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(16px,2vw,38px);
    min-width:0;
    flex:1;
    padding:0 28px;
}
.cpm-mega-header__nav a,
.cpm-mega-header__nav button{
    position:relative;
    padding:12px 0;
    background:none;
    color:inherit;
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
}
.cpm-mega-header__nav a:after,
.cpm-mega-header__nav button:after{
    content:"";
    position:absolute;
    right:0;bottom:5px;left:0;
    height:2px;
    background:var(--cpm-menu-accent);
    transform:scaleX(0);
    transform-origin:right;
    transition:transform .32s ease;
}
.cpm-mega-header__nav a:hover:after,
.cpm-mega-header__nav button:hover:after,
.cpm-mega-header__nav a[aria-current="page"]:after{transform:scaleX(1);transform-origin:left}
.cpm-mega-header__actions{display:flex;align-items:center;gap:12px;padding-left:12px}
.cpm-mega-header__cta,
.cpm-mega-header__toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-height:54px;
    padding:0 24px;
    color:#fff!important;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .3s ease,color .3s ease;
}
.cpm-mega-header__cta{background:#071116}
.cpm-mega-header__cta em{font-style:normal;color:var(--cpm-menu-accent);font-size:15px}
.cpm-grid-icon{display:grid;grid-template-columns:repeat(2,4px);gap:3px}
.cpm-grid-icon b{width:4px;height:4px;background:var(--cpm-menu-accent)}
.cpm-mega-header__toggle{align-self:stretch;min-height:100%;background:rgba(255,255,255,.07)}
.cpm-mega-header__toggle>i,
.cpm-menu-trigger>i{position:relative;display:block;width:26px;height:16px}
.cpm-mega-header__toggle>i b,
.cpm-menu-trigger>i b{position:absolute;right:0;width:100%;height:2px;background:currentColor;transition:transform .35s ease,width .35s ease}
.cpm-mega-header__toggle>i b:first-child,
.cpm-menu-trigger>i b:first-child{top:2px}
.cpm-mega-header__toggle>i b:last-child,
.cpm-menu-trigger>i b:last-child{right:6px;bottom:2px;width:70%}
.cpm-mega-header__toggle:hover>i b:last-child,
.cpm-menu-trigger:hover>i b:last-child{right:0;width:100%}

html.cpm-menu-open,
html.cpm-menu-open body{overflow:hidden!important}
.cpm-mega-dialog{
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:none;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--cpm-menu-text);
    overflow:hidden;
}
.cpm-mega-dialog::backdrop{background:rgba(0,0,0,.22);backdrop-filter:blur(3px)}
.cpm-mega-dialog__stage{
    position:relative;
    width:100%;
    height:100%;
    background:var(--cpm-panel-bg);
    opacity:0;
    transform:translateY(-4%);
    clip-path:inset(0 0 100% 0);
    transition:opacity calc(var(--cpm-menu-reveal) * .55) ease,transform var(--cpm-menu-reveal) cubic-bezier(.2,.75,.2,1),clip-path var(--cpm-menu-reveal) cubic-bezier(.2,.75,.2,1);
    overflow:hidden;
}
.cpm-mega-dialog.is-visible .cpm-mega-dialog__stage{opacity:1;transform:none;clip-path:inset(0)}
.cpm-mega-dialog.is-closing .cpm-mega-dialog__stage{opacity:0;transform:translateY(-2%);clip-path:inset(0 0 100% 0)}
.cpm-mega-dialog__background{position:absolute;inset:0;overflow:hidden;background:var(--cpm-panel-bg)}
.cpm-mega-dialog__background>span{
    position:absolute;
    inset:-2%;
    background-position:center;
    background-size:cover;
    opacity:0;
    transform:translate3d(var(--cpm-bg-x,0),var(--cpm-bg-y,0),0) scale(1.045);
    transition:opacity var(--cpm-image-speed) ease,transform .25s ease-out;
    will-change:opacity,transform;
}
.cpm-mega-dialog__background>span.is-active{opacity:.74}
.cpm-mega-dialog__background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cpm-panel-bg) 0%,var(--cpm-panel-overlay) 38%,var(--cpm-panel-overlay) 100%)}
.cpm-mega-dialog__background>i{
    position:absolute;
    z-index:1;
    inset:0;
    opacity:0;
    background:radial-gradient(circle 310px at var(--cpm-pointer-x,50%) var(--cpm-pointer-y,50%),rgba(255,255,255,.10),transparent 72%);
    transition:opacity .3s ease;
}
.cpm-mega-menu.has-glow .cpm-mega-dialog__background>i{opacity:1}
.cpm-mega-dialog__content{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    width:min(100%,var(--cpm-menu-width));
    height:100%;
    margin:0 auto;
    padding:40px 46px 34px;
}
.cpm-mega-dialog__grid{
    display:grid;
    grid-template-columns:minmax(220px,.72fr) minmax(310px,1fr) minmax(360px,1.18fr);
    gap:46px;
    min-height:0;
    flex:1;
    padding-top:clamp(42px,7vh,92px);
}
.cpm-mega-dialog__close{
    position:absolute;
    z-index:5;
    top:24px;
    right:clamp(20px,3vw,54px);
    display:flex;
    align-items:center;
    gap:15px;
    padding:12px 0 12px 18px;
    background:none;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    cursor:pointer;
}
.cpm-mega-dialog__close i{position:relative;width:24px;height:24px}
.cpm-mega-dialog__close i:before,
.cpm-mega-dialog__close i:after{content:"";position:absolute;top:11px;left:1px;width:23px;height:2px;background:#fff;transform:rotate(45deg)}
.cpm-mega-dialog__close i:after{transform:rotate(-45deg)}

.cpm-mega-intro{align-self:center;max-width:390px}
.cpm-mega-kicker,
.cpm-mega-primary small,
.cpm-mega-child small{
    display:block;
    color:var(--cpm-menu-muted);
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.cpm-mega-kicker:before{content:"";display:inline-block;width:32px;height:3px;margin-right:14px;vertical-align:middle;background:var(--cpm-menu-accent)}
.cpm-mega-intro h2{margin:24px 0 22px;color:#fff;font-size:clamp(34px,3.3vw,68px);font-weight:900;line-height:.92;letter-spacing:-.055em;text-transform:uppercase}
.cpm-mega-intro p{max-width:330px;margin:0;color:var(--cpm-menu-muted);font-size:14px;line-height:1.7}
.cpm-mega-intro__line{width:46px;height:4px;margin-top:38px;background:var(--cpm-menu-accent)}

.cpm-mega-primary{min-width:0;min-height:0;align-self:center}
.cpm-mega-primary__list{display:flex;flex-direction:column;justify-content:center;min-height:0;max-height:72vh;padding:18px 0;overflow:visible}
.cpm-mega-primary__item{
    --cpm-row-height:88px;
    --cpm-row-scale:var(--cpm-wave-base);
    --cpm-row-y:0px;
    position:relative;
    min-height:var(--cpm-row-height);
    border-top:1px solid var(--cpm-menu-line);
    padding:12px 8px;
    transform:translate3d(0,var(--cpm-row-y),0) scale(var(--cpm-row-scale));
    transform-origin:center;
    will-change:transform;
}
.cpm-mega-primary__item:last-child{border-bottom:1px solid var(--cpm-menu-line)}
.cpm-mega-primary__item:before{
    content:"";
    position:absolute;
    inset:7px 0;
    background:var(--cpm-item-accent,var(--cpm-active-bg));
    opacity:0;
    transform:scaleX(.92);
    transition:opacity .25s ease,transform .35s cubic-bezier(.2,.75,.2,1);
}
.cpm-mega-primary__item.is-active:before,
.cpm-mega-primary__item:hover:before{opacity:1;transform:scaleX(1)}
.cpm-mega-primary__trigger{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto auto;
    align-items:center;
    gap:14px;
    width:100%;
    height:100%;
    padding:0 14px;
    background:none;
    color:#fff;
    text-align:left;
    cursor:pointer;
}
.cpm-mega-number{color:rgba(255,255,255,.66);font-size:9px;font-weight:700;letter-spacing:.08em}
.cpm-mega-primary__text{display:block;min-width:0}
.cpm-mega-primary__title{display:block;font-size:clamp(20px,1.65vw,34px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:-.045em}
.cpm-mega-primary small{margin-bottom:6px;color:rgba(255,255,255,.64)}
.cpm-mega-badge{padding:5px 8px;border:1px solid rgba(255,255,255,.5);font-size:8px;font-weight:800;letter-spacing:.12em}
.cpm-mega-arrow{font-size:18px;color:var(--cpm-menu-accent);transition:transform .3s ease,color .3s ease}
.cpm-mega-primary__item.is-active .cpm-mega-arrow,
.cpm-mega-primary__item:hover .cpm-mega-arrow{color:#fff;transform:translate(3px,-3px)}

.cpm-mega-details{position:relative;min-width:0;min-height:0;align-self:stretch;overflow:hidden;border-left:1px solid var(--cpm-menu-line)}
.cpm-mega-detail{position:absolute;inset:0 0 0 clamp(24px,3vw,56px);display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(28px);transition:opacity .34s ease,transform .48s cubic-bezier(.2,.75,.2,1),visibility 0s linear .48s}
.cpm-mega-detail.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:.08s,0s,0s}
.cpm-mega-detail__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 0 18px;border-bottom:1px solid var(--cpm-menu-line)}
.cpm-mega-detail__header span{display:block;color:var(--cpm-menu-muted);font-size:9px;letter-spacing:.12em}
.cpm-mega-detail__header h3{margin:7px 0 0;color:#fff;font-size:clamp(22px,2vw,38px);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:-.04em}
.cpm-mega-detail__header>a{color:#fff;font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.cpm-mega-detail__header>a b{margin-left:8px;color:var(--cpm-menu-accent)}
.cpm-mega-detail__summary{max-width:580px;margin:16px 0 10px;color:var(--cpm-menu-muted);font-size:13px;line-height:1.6}
.cpm-mega-children{min-height:0;padding:8px 8px 8px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--cpm-menu-accent) transparent}
.cpm-mega-child{
    --cpm-row-scale:var(--cpm-wave-base);
    --cpm-row-y:0px;
    position:relative;
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto auto;
    align-items:center;
    gap:14px;
    min-height:74px;
    padding:13px 14px;
    border-bottom:1px solid var(--cpm-menu-line);
    color:#fff!important;
    transform:translate3d(0,var(--cpm-row-y),0) scale(var(--cpm-row-scale));
    transform-origin:center;
    transition:background .3s ease;
    will-change:transform;
}
.cpm-mega-child:before{content:"";position:absolute;inset:5px 0;background:var(--cpm-item-accent,var(--cpm-menu-accent));opacity:0;transform:scaleX(.94);transition:opacity .25s ease,transform .35s ease}
.cpm-mega-child:hover:before,
.cpm-mega-child:focus:before{opacity:.88;transform:scaleX(1)}
.cpm-mega-child>*{position:relative;z-index:1}
.cpm-mega-child__body{display:block;min-width:0}
.cpm-mega-child__title{display:block;font-size:clamp(15px,1.15vw,22px);font-weight:800;line-height:1.14;text-transform:uppercase;letter-spacing:-.025em}
.cpm-mega-child__copy{display:block;max-width:480px;margin-top:7px;color:var(--cpm-menu-muted);font-size:11px;line-height:1.45;transition:color .25s ease}
.cpm-mega-child:hover .cpm-mega-child__copy{color:#fff}
.cpm-mega-child:hover .cpm-mega-arrow{color:#fff;transform:translate(3px,-3px)}
.cpm-mega-child.is-featured{background:rgba(255,255,255,.06)}

.cpm-mega-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding-top:22px;border-top:1px solid var(--cpm-menu-line);font-size:10px;letter-spacing:.1em}
.cpm-mega-contact strong{color:#fff}
.cpm-mega-contact>div{display:flex;gap:24px}
.cpm-mega-contact a{color:var(--cpm-menu-muted)}
.cpm-mega-contact a:hover{color:#fff}

.cpm-menu-trigger-wrap{display:flex}
.cpm-menu-trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 22px;
    border:0;
    color:#fff;
    background:#071116;
    cursor:pointer;
    transition:background .3s ease,color .3s ease,transform .3s ease;
}
.cpm-menu-trigger:hover{background:#d71120;transform:translateY(-2px)}
.cpm-menu-trigger span{display:block;text-align:left}
.cpm-menu-trigger small{display:block;margin-bottom:4px;font-size:8px;letter-spacing:.16em;opacity:.68}
.cpm-menu-trigger strong{font-size:11px;letter-spacing:.08em}

@media(max-width:1280px){
    .cpm-mega-header__logo{min-width:180px;padding:0 22px}
    .cpm-mega-header__nav{gap:18px;padding:0 18px}
    .cpm-mega-dialog__grid{grid-template-columns:minmax(190px,.62fr) minmax(290px,.9fr) minmax(340px,1.15fr)}
}
@media(max-width:1100px){
    .cpm-mega-header__nav{display:none}
    .cpm-mega-header__actions{margin-left:auto}
    .cpm-mega-dialog__grid{grid-template-columns:minmax(220px,.7fr) minmax(290px,.9fr) minmax(330px,1fr);gap:28px}
    .cpm-mega-intro h2{font-size:38px}
    .cpm-mega-detail{left:24px}
}
@media(max-width:767px){
    .cpm-mega-menu{--cpm-wave-base:1!important;--cpm-wave-peak:1!important;--cpm-wave-lift:0px!important}
    .cpm-mega-header__logo{min-width:0;padding:0 16px}
    .cpm-mega-header__cta{display:none}
    .cpm-mega-header__actions{padding-left:0}
    .cpm-mega-header__toggle{padding-left:18px!important;padding-right:18px!important}
    .cpm-mega-dialog{overflow-y:auto}
    .cpm-mega-dialog__stage{height:auto;min-height:100dvh;overflow:visible}
    .cpm-mega-dialog__content{height:auto;min-height:100dvh;padding:20px 18px}
    .cpm-mega-dialog__grid{display:block;padding-top:58px}
    .cpm-mega-dialog__close{position:fixed;top:13px;right:18px}
    .cpm-mega-intro{max-width:none;margin-bottom:28px;padding-right:65px}
    .cpm-mega-intro h2{margin:15px 0 12px;font-size:30px}
    .cpm-mega-intro p{display:none}
    .cpm-mega-intro__line{display:none}
    .cpm-mega-primary__list{max-height:none;padding:0}
    .cpm-mega-primary__item{min-height:var(--cpm-row-height);transform:none!important}
    .cpm-mega-primary__trigger{grid-template-columns:27px minmax(0,1fr) auto auto;padding:0 8px}
    .cpm-mega-primary__title{font-size:22px}
    .cpm-mega-details{margin-top:26px;padding:0;border-left:0;overflow:visible}
    .cpm-mega-detail{position:relative;inset:auto;display:none;padding:0;transform:none}
    .cpm-mega-detail.is-active{display:flex}
    .cpm-mega-detail__header{align-items:flex-start}
    .cpm-mega-detail__header h3{font-size:24px}
    .cpm-mega-detail__summary{font-size:12px}
    .cpm-mega-children{overflow:visible;padding-right:0}
    .cpm-mega-child{grid-template-columns:25px minmax(0,1fr) auto;min-height:68px;padding:12px 8px;transform:none!important}
    .cpm-mega-child .cpm-mega-badge{display:none}
    .cpm-mega-child__copy{display:none}
    .cpm-mega-contact{align-items:flex-start;flex-direction:column;margin-top:32px}
    .cpm-mega-contact>div{flex-direction:column;gap:8px}
    .cpm-mega-dialog__background:after{background:var(--cpm-panel-overlay)}
}
@media(hover:none),(prefers-reduced-motion:reduce){
    .cpm-mega-primary__item,
    .cpm-mega-child{transform:none!important}
    .cpm-mega-dialog__stage,
    .cpm-mega-dialog__background>span,
    .cpm-mega-detail{transition-duration:.01ms!important}
}
