/* MarketAlong V10. One signature: the six-discipline gallery band directly under the headline.
   The open discipline takes the width, the others narrow to strips; text sits below the media, never on it. */
@font-face{font-family:"Manrope";font-weight:400 800;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2")}
:root{--white:#fff;--cloud:#F3F7FD;--ice:#E6F0FD;--pale:#B9D6FB;--sky:#5AA7F8;--electric:#0079FB;--cobalt:#0068E6;--deep:#0058C9;
  --ink:#0B2A66;--text:#253F72;--muted:#4A6595;--line:#D5E3F6;--font:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --out:cubic-bezier(.16,1,.3,1);--gut:60px;--max:1440px;--lift:0 1px 2px rgba(11,42,102,.10),0 22px 44px -22px rgba(11,42,102,.38)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:12px}
body{margin:0;background:#fff;color:var(--text);font:400 17px/1.6 var(--font);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--electric);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;background:var(--cobalt);color:#fff;padding:10px 16px;border-radius:8px;z-index:60}.skip:focus{top:12px}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;border-radius:10px;font-weight:600;font-size:15px;white-space:nowrap;transition:background-color .2s ease,box-shadow .2s ease,transform .16s var(--out)}
.btn .ar{transition:transform .25s var(--out)}.btn:active{transform:scale(.97)}
.btn-solid{background:var(--cobalt);color:#fff}.btn-line{color:var(--cobalt);box-shadow:inset 0 0 0 1.5px var(--cobalt);background:#fff}
.btn-lg{height:56px;padding:0 26px;font-size:16px}
@media (hover:hover) and (pointer:fine){.btn-solid:hover{background:var(--deep)}.btn-line:hover{background:var(--cloud)}.btn:hover .ar{transform:translateX(3px)}}

/* header + mega-menu */
.hd{position:relative;z-index:30;max-width:var(--max);margin:0 auto;height:92px;padding:0 var(--gut);display:flex;align-items:center;gap:32px}
.brand img{width:88px;height:auto}
.nav{display:flex;gap:2px;margin-inline:auto}
.nav a,.nav button{position:relative;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;font-size:15px;font-weight:500;color:var(--ink)}
.nav a::after,.nav button::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--out)}
.nav [aria-current]{color:var(--cobalt);font-weight:600}.nav [aria-current]::after,.nav [aria-expanded="true"]::after{transform:none}
@media (hover:hover){.nav a:hover::after,.nav button:hover::after{transform:none}}
.nav button svg{transition:transform .25s var(--out)}.nav [aria-expanded="true"] svg{transform:rotate(180deg)}
.hd-r{display:flex;align-items:center;gap:20px}.seo{font-weight:600;color:var(--cobalt);font-size:15px}
.burger{display:none;width:46px;height:46px;border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--line);position:relative}
.burger i{position:absolute;left:13px;right:13px;height:2px;background:var(--ink);transition:transform .25s var(--out)}.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.burger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mega{position:absolute;left:0;right:0;top:84px;padding:0 var(--gut)}
.mg-in{max-width:var(--max);margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 0 0 1px var(--line),0 30px 60px -28px rgba(11,42,102,.40);padding:28px 30px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px 36px}
@media (prefers-reduced-motion:no-preference){.mg-in{animation:mg .32s var(--out)}@keyframes mg{from{opacity:0;transform:translateY(-6px)}}}
.mg-h{font-size:14px;font-weight:700;color:var(--cobalt);margin-bottom:8px}
.mg-col li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink)}
.st{flex:none;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-radius:99px;padding:3px 9px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;align-self:center;white-space:nowrap}
.st.av,.av>div>.st{background:var(--cobalt);color:#fff;box-shadow:none}
.mg-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.mg-foot a{color:var(--cobalt);font-weight:700}
.mm{position:fixed;inset:76px 0 0;z-index:25;background:#fff;overflow:auto;padding:16px 20px 32px}
.mm nav>a,.mm summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:600;color:var(--ink);list-style:none;cursor:pointer}
.mm summary::-webkit-details-marker{display:none}.mm summary small{font-size:13px;color:var(--muted);font-weight:600}
.mm-h{margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt)}
.mm details ul{padding:4px 0 10px}.mm details li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:16px;color:var(--ink)}
.mm .mm-seo{color:var(--cobalt)}.mm .btn{margin-top:22px;width:100%;justify-content:center}

/* ============ HERO ============ */
.hero{max-width:var(--max);margin:0 auto;padding:8px var(--gut) 96px}
.top{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:56px;row-gap:22px;align-items:end}
.t-a{grid-column:1/-1}
.t-b{display:contents}

h1{font-size:76px;line-height:1.02;letter-spacing:-.035em;font-weight:600;color:var(--ink)}
h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}h1 .ln>span{display:block}
.sub{font-size:18px;line-height:1.55;color:var(--text);max-width:54ch}
.cta{display:flex;gap:12px;flex-wrap:nowrap}

/* ============ GALLERY (signature) ============ */
.gallery{margin-top:34px}
.g-row{display:flex;gap:10px;height:420px}
.g-item{flex:1 1 0;min-width:0;transition:flex-grow .75s var(--out)}
.g-item.open{flex-grow:6.2}
.g-row.quiet .g-item{transition:none}
.g-btn{display:flex;flex-direction:column;width:100%;height:100%;text-align:left;cursor:pointer}
.media{position:relative;flex:none;height:calc(100% - 58px);border-radius:14px;overflow:hidden;background:var(--ice);box-shadow:inset 0 0 0 1px rgba(11,42,102,.06)}
.media img{position:absolute;top:0;left:50%;height:100%;width:820px;max-width:none;object-fit:cover;transform:translateX(-50%) scale(1.04);transition:transform 1.1s var(--out)}
.g-item.open .media img{transform:translateX(-50%) scale(1)}
.g-item[data-c="c1"] .media img{object-position:50% 38%}
.g-item[data-c="c3"] .media img{object-position:55% 50%}
.g-item[data-c="c6"] .media img{object-position:40% 50%}
.lab{display:flex;flex-direction:column;gap:1px;padding:10px 2px 0;height:58px;overflow:hidden}
.lab b{font-size:13.5px;line-height:1.25;font-weight:700;color:var(--ink);transition:color .25s ease}
.lab small{font-size:12.5px;color:var(--muted);display:none}
.g-item.open .lab small{display:block}
.g-item.open .lab b{color:var(--cobalt)}
@media (hover:hover){.g-item:not(.open) .g-btn:hover .media{box-shadow:inset 0 0 0 2px var(--cobalt)}.g-item:not(.open) .g-btn:hover .lab b{color:var(--cobalt)}}

/* designed material (Leads, Engagement): large, readable sheets on the ice surface */
.art{position:absolute;top:0;width:700px;height:calc(100% / var(--s,1));left:50%;transform:translateX(-50%) scale(var(--s,1));transform-origin:50% 0;pointer-events:none}
.art .sheet,.art .ex{opacity:0;transition:opacity .4s ease}
.g-item.open .art .sheet,.g-item.open .art .ex{opacity:1;transition-delay:.25s}
.art .ex{color:#fff;text-shadow:0 1px 2px rgba(11,42,102,.6)}
.sheet{position:absolute;background:#fff;border-radius:12px;box-shadow:var(--lift);padding:20px 22px;color:var(--ink)}
.sheet .k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt);margin-bottom:10px}
.sheet .bar{display:flex;gap:5px;margin:-6px 0 14px}.sheet .bar i{width:8px;height:8px;border-radius:50%;background:var(--pale)}
.sheet .h{font-size:26px;line-height:1.08;letter-spacing:-.025em;font-weight:700}
.sheet .t{font-size:14px;line-height:1.5;color:var(--text);margin-top:10px}
.sheet .b{display:inline-block;margin-top:14px;background:var(--cobalt);color:#fff;font-size:13px;font-weight:700;border-radius:8px;padding:9px 14px}
.s-page{left:24px;top:40px;width:300px}
.s-form{left:252px;top:96px;width:250px}
.s-form label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-top:8px}.s-form label span{display:block;margin-top:4px;font-size:14px;font-weight:600;color:var(--ink);border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--line);padding:7px 10px}
.s-form .ok{margin-top:12px;font-size:12px;color:var(--cobalt);font-weight:700}
.s-lead{left:452px;top:58px;width:226px}
.s-lead dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:13.5px}.s-lead dt{color:var(--muted);font-weight:600}.s-lead dd{color:var(--ink)}
.s-mail{left:24px;top:48px;width:300px}.s-mail .sub{font-size:20px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.s-chat{left:300px;top:140px;width:230px;background:#F7FAFF}
.s-chat .m{font-size:13.5px;line-height:1.35;padding:8px 11px;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(11,42,102,.12);margin-top:8px;max-width:86%}
.s-chat .out{margin-left:auto;background:var(--cobalt);color:#fff}
.s-plan{left:478px;top:52px;width:200px}.s-plan li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:14px;font-weight:600}.s-plan li b{color:var(--cobalt)}
.art .ex{position:absolute;right:16px;bottom:12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* detail row: text for the open discipline, fixed height so nothing jumps */
.detail{display:grid;margin-top:22px;min-height:150px}
.d-pane{grid-area:1/1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr) auto;gap:40px;align-items:start;padding-top:22px;border-top:1px solid var(--line)}
.d-k{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt)}
.d-h{margin-top:10px;font-size:40px;line-height:1.08;letter-spacing:-.03em;font-weight:600;color:var(--ink);text-wrap:balance}
.d-b p{font-size:17px;line-height:1.55}.d-b .d-st{margin-top:10px;font-size:15px;font-weight:700;color:var(--cobalt)}
.d-c{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding-top:4px}

/* drawer: every product, readable */
.drawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--out)}
.drawer.open{grid-template-rows:1fr}
.dr-in{overflow:hidden}
.dr-pane{padding:30px 0 6px}
.dr-h{font-size:15px;font-weight:700;color:var(--muted);margin-bottom:12px}
.dr-pane ul{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.dr-pane li{padding:16px 0;border-top:1px solid var(--line)}
.dr-pane li>div{display:flex;justify-content:space-between;gap:16px;align-items:center}
.dr-pane b{font-size:19px;font-weight:600;color:var(--ink)}
.dr-pane li p{margin-top:6px;font-size:16px;line-height:1.5}
.credits{margin-top:28px;font-size:12px;color:var(--muted)}

/* entrance (only when motion is welcome) */
@media (prefers-reduced-motion:no-preference){

  h1 .ln>span{animation:line .9s var(--out) both}h1 .ln:nth-child(2)>span{animation-delay:.08s}
  .t-b{animation:rise .8s var(--out) .22s both}
  .g-item{animation:rise .9s var(--out) both;animation-delay:calc(.3s + var(--i) * 60ms)}
  @keyframes line{from{transform:translateY(105%)}}
  @keyframes rise{from{opacity:0;transform:translateY(22px)}}
  @keyframes fade{from{opacity:0}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ============ responsive ============ */
@media (max-width:1240px){h1{font-size:64px}.top{grid-template-columns:minmax(0,1fr) 360px;gap:40px}}
@media (max-width:1100px){
  :root{--gut:40px}
  .t-b{display:block}.cta{margin-top:20px;flex-wrap:wrap}
  .nav,.seo,.hd-r>.btn{display:none}.burger{display:block}.hd{justify-content:space-between}.mega{display:none!important}
  .top{grid-template-columns:1fr;gap:22px}.t-b{max-width:620px}
  .g-row{height:380px}
  .d-pane{grid-template-columns:1fr 1fr;gap:20px 32px}.d-c{grid-column:1/-1;flex-direction:row}
}
@media (max-width:760px){
  :root{--gut:20px}
  .hd{height:76px}.brand img{width:68px}
  h1{font-size:42px;line-height:1.05}.sub{font-size:16.5px}
  .cta{flex-direction:column}.cta .btn{width:100%;justify-content:center}
  .gallery{margin-top:32px}
  .g-row{flex-direction:column;height:auto;gap:8px}
  .g-item{flex:none;animation-delay:calc(.2s + var(--i) * 40ms)}
  .g-btn{flex-direction:row;align-items:center;gap:14px;height:auto}
  .media{flex:none;width:88px;height:64px;border-radius:10px;transition:width .5s var(--out),height .5s var(--out)}
  .media img{width:120%}
  .art .sheet{display:none}.g-item.open .art .sheet{display:block}
  .lab{padding:0;min-height:0;height:auto}.lab small{display:block}
  .g-item.open .g-btn{flex-direction:column;align-items:stretch;gap:12px}
  .g-item.open .media{width:100%;height:auto;aspect-ratio:4/3.1}
  .g-item.open .media img{width:100%;left:0;transform:none}
  .detail{min-height:0;margin-top:18px}
  .d-pane{grid-template-columns:1fr;gap:14px}.d-h{font-size:30px}.d-c{flex-direction:column}
  .dr-pane ul{grid-template-columns:1fr}.dr-pane b{font-size:17px}.dr-pane li p{font-size:15px}
}

/* mega-menu product links and active product */
.mg-col li a{color:inherit;text-decoration:none}.mg-col li a:hover{color:var(--cobalt);text-decoration:underline;text-underline-offset:4px}
.mg-col.cur .mg-h::after{content:" · current";font-weight:600;color:var(--muted)}
.mg-col li.cur,.mm li.cur{color:var(--cobalt)}.mg-col li.cur a,.mm li.cur a{color:var(--cobalt);font-weight:700}
.mm details li a{color:inherit}
.nav button.on{color:var(--cobalt);font-weight:600}.nav button.on::after{transform:none}
