/* Cubica classic replica — base styles */
@font-face{font-family:'Jost';font-weight:300;font-display:swap;src:url(/fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:300;font-display:swap;src:url(/fonts/nunito-sans-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/fonts/nunito-sans-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:300;font-display:swap;src:url(/fonts/montserrat-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/montserrat-latin-300-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Ace Sans';font-weight:400;font-display:swap;src:url(/fonts/ace-sans-free.woff2) format('woff2')}

:root{
  --br:'Jost',system-ui,sans-serif;          /* stands in for Brandon Grotesque Light */
  --al:'Nunito Sans',system-ui,sans-serif;   /* stands in for Avenir Light */
  --ah:'Nunito Sans',system-ui,sans-serif;
  --go:'Montserrat',system-ui,sans-serif;    /* stands in for Gotham Light */
  --ace:'Ace Sans','Jost',sans-serif;
  --hdr:54px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html{overflow-x:hidden}
body{margin:0;background:#fff;color:#000;font-family:var(--go);font-weight:300;overflow-x:hidden}
main{overflow-x:clip}
img,video{display:block;max-width:none}
a{color:inherit}
h1,h2,h3,h4,h5,h6,p,ul{margin:0;font-weight:300}
ul{padding-left:1.2em;list-style-position:inside}
[class^="t-"],[class*=" t-"]{font-weight:300;overflow-wrap:break-word}
.t-T30,.t-T21,.t-ACE{text-transform:uppercase}
.sp{user-select:none}

/* header */
.hd{position:fixed;top:0;left:0;right:0;height:var(--hdr);background:#fff;z-index:50}
.hin{position:relative;height:100%;max-width:1594px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
@media (min-width:1800px){.hin{transform:translateX(96px)}}
.lg img{width:143px;height:22px;object-fit:contain}
.lb{position:absolute;left:50%;top:6px;transform:translateX(-50%);width:508px;height:40px;overflow:hidden}
@media (min-width:1800px){.lb{transform:translateX(calc(-50% - 96px))}}
.labsimg{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.mn{display:flex}
.mn a{font-family:var(--br);font-size:19px;line-height:32px;text-decoration:none;padding:0 6px;color:#000}
.mn a.on{color:#a3a3a3}
.mn a:hover{color:#a3a3a3}
.burger{display:none}
main{padding-top:var(--hdr)}

/* sections */
.s{position:relative;width:100%;overflow:visible}
.s.vh{height:calc(100vh - var(--hdr))!important;min-height:420px;overflow:hidden}
.col{position:relative;width:980px;height:100%;margin:0 auto}
.it{position:absolute}
.it.fb{left:calc(490px - 50vw);width:100vw}
.s.vh .it.fb{top:0!important;height:100%!important}
.im img,.vd video{width:100%;height:100%;object-fit:cover}
.yv iframe{width:100%;height:100%;border:0;display:block}
.fx{background-image:var(--bg);background-size:cover;background-position:center;background-attachment:fixed}
@media (min-width:1400px){.fx{background-image:var(--bg2,var(--bg))}}
.band{border-top:4px solid #fff;border-bottom:4px solid #fff}
.cover{position:absolute;inset:0;z-index:2}
.tx a{text-decoration:underline}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font:inherit}
.btn.box{background:#fff;border:2px solid #000;font-family:var(--al);font-size:15px;letter-spacing:.5px;color:#000;transition:background .2s,color .2s}
.btn.box:hover{background:#000;color:#fff}
.btn.plain{font-family:var(--ah);font-weight:800;font-size:12px;color:#fff;justify-content:flex-start}
.nav-arrow{width:39px;height:39px;border-radius:7px;display:flex;align-items:center;justify-content:center}
.nav-arrow svg{width:39px;height:39px;fill:none;stroke:#000;stroke-width:1.6}
.nav-arrow:hover{background:#f1f1f1}
.soc img{width:100%;height:100%;object-fit:contain}

/* hero banner with title overlay */
.hero{overflow:hidden}
.hero > img{width:100%;height:100%;object-fit:cover}
.hero-t{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%}
.navs{display:contents}

/* KIKK strip */
.talks{display:flex;justify-content:space-between;padding:0 10px}

/* gallery */
.gal{left:calc(490px - 50vw);width:100vw;overflow:hidden}
.gal .track{display:flex;gap:10px;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gal .track::-webkit-scrollbar{display:none}
.gal .slide{flex:0 0 auto;height:100%;aspect-ratio:825/1100;scroll-snap-align:start}
.gal .slide img{width:100%;height:100%;object-fit:cover}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.85);font-size:30px;line-height:1;cursor:pointer}
.gp{left:20px}.gn{right:20px}

/* form */
.form{display:flex;flex-direction:column;gap:22px;padding:0 59px}
.form label{display:flex;flex-direction:column;font-family:var(--br);font-size:13px;letter-spacing:.65px;color:#000}
.form input,.form textarea{border:0;border-bottom:1px solid #000;padding:10px 2px;font:300 16px var(--go);background:transparent;outline:none}
.form textarea{resize:vertical;min-height:90px}
.form button{align-self:center;min-width:142px;height:40px;background:#000;color:#fff;border:0;font:300 15px var(--al);letter-spacing:.5px;cursor:pointer}
.form .ok{text-align:center;font-family:var(--go);font-size:15px}
.hp{display:none}

/* footer */
.ft{height:93px;background:#f1f1f1;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(241,241,241,.15)}
.t-ACE{font-family:var(--ace);font-size:15px;line-height:21px;letter-spacing:3px;text-align:center}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:100;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lbin{width:min(90vw,1400px);aspect-ratio:16/9}
.lbin iframe{width:100%;height:100%;border:0}
.lbx{position:absolute;top:16px;right:24px;font-size:42px;color:#fff;background:none;border:0;cursor:pointer}

/* ---------- small screens: stack everything in reading order ---------- */
@media (max-width:1099px){
  :root{--hdr:56px}
  .hin{padding:0 16px}
  .lb{display:none}
  .burger{display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:10px;cursor:pointer}
  .burger span{display:block;width:26px;height:1.5px;background:#000}
  .mn{position:fixed;top:var(--hdr);left:0;right:0;flex-direction:column;background:#fff;padding:12px 16px 20px;gap:6px;border-bottom:1px solid #eee;display:none}
  .mn.open{display:flex}
  .hd .mn a.pfl{display:block}
  .hd:has(.pfl) .mn{position:static;display:flex;padding:0;border:0;background:none;flex-direction:row}
  .s{height:auto!important}
  .s:not(.vh):not(.band):not(.talkstrip){padding:28px 0}
  .s.vh{height:62vh!important;min-height:0}
  .s.band{height:52vw!important}
  .col{width:auto;height:auto;margin:0 16px;display:flex;flex-direction:column;gap:18px}
  .s.vh .col{height:100%}
  .it{position:relative!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;margin:0!important}
  .it.fb,.it.wd,.gal{margin:0 -16px!important}
  .s.vh .it.fb{position:absolute!important;inset:0;height:100%!important;margin:0 -16px!important}
  .im img{height:auto;aspect-ratio:var(--ar,16/9)}
  .it.im.cl{max-width:min(var(--w,100%),100%);align-self:center}
  .it.im.cl img{width:100%}
  .vd video{height:auto;aspect-ratio:16/9}
  .yv iframe{aspect-ratio:16/9;height:auto}
  .fx{background-attachment:scroll}
  .gal{height:auto!important}
  .gal .slide{width:78vw;height:auto}
  .gal .track{padding:0 16px}
  .gnav{display:none}
  .btn.box,.btn.plain{align-self:center;padding:10px 22px}
  .navs{display:flex;justify-content:center;gap:6px}
  .navs .nav-arrow{display:inline-flex}
  .hero{aspect-ratio:2.2}
  .hero > img{position:absolute;inset:0;height:100%!important}
  .hero-t{position:absolute;inset:0;transform:none;width:auto;margin:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
  .hero-t .it{position:static!important}
  .t-T30{font-size:22px!important;letter-spacing:4px!important}
  .t-T21{font-size:15px!important;letter-spacing:3px!important}
  .soc{width:31px!important;height:31px!important}
  .pf .col{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 20px}
  .pf .im{width:200px!important;height:44px!important}
  .pf .im img{height:100%!important;aspect-ratio:auto;object-fit:cover}
  .pf .tx{flex-basis:100%}
  .pf .tx p{text-align:center!important}
  .talks{padding:0}
  .form{padding:0}
  .t-H56,.t-H56w{font-size:36px!important;line-height:1.2!important}
  .t-H72w{font-size:40px!important;line-height:1.2!important}
  .t-H44w{font-size:30px!important;line-height:1.3!important}
  .t-H40{font-size:28px!important;line-height:1.3!important}
  .t-H28,.t-H28w,.t-H28wh{font-size:22px!important;line-height:1.4!important}
  .t-G18,.t-G18w,.t-G18wh,.t-G18b,.t-A18{font-size:16px!important}
  .tx p,.tx h2,.tx h6,.tx li{text-align:left}
  .tx [style*="text-align:center"]{text-align:center!important}
  .sp{display:none}
}

.t-H44w{font-family:var(--br);font-size:44px;line-height:60.5px;letter-spacing:0px;color:#fff}
.t-H28{font-family:var(--br);font-size:28px;line-height:38.5px;letter-spacing:0px;color:#000}
.t-H28w{font-family:var(--br);font-size:28px;line-height:38.5px;letter-spacing:0px;color:#fff}
.t-H28wh{font-family:var(--br);font-size:28px;line-height:38.5px;letter-spacing:0px;color:#fff}
.t-H28wh .m{background:#000;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.t-H56{font-family:var(--br);font-size:56px;line-height:normal;letter-spacing:0px;color:#000}
.t-H56w{font-family:var(--br);font-size:56px;line-height:normal;letter-spacing:0px;color:#fff}
.t-H40{font-family:var(--br);font-size:40px;line-height:54px;letter-spacing:0px;color:#000}
.t-H72w{font-family:var(--br);font-size:72px;line-height:90px;letter-spacing:0px;color:#fff}
.t-H14{font-family:var(--br);font-size:14px;line-height:19.25px;letter-spacing:0px;color:#000}
.t-H14w{font-family:var(--br);font-size:14px;line-height:19.25px;letter-spacing:0px;color:#fff}
.t-H21{font-family:var(--br);font-size:21px;line-height:28.875px;letter-spacing:0px;color:#000}
.t-B25w{font-family:var(--br);font-size:25px;line-height:35px;letter-spacing:0px;color:#fff}
.t-G18{font-family:var(--go);font-size:18px;line-height:normal;letter-spacing:0.9px;color:#000}
.t-G18w{font-family:var(--go);font-size:18px;line-height:normal;letter-spacing:0.9px;color:#fff}
.t-G18wh{font-family:var(--go);font-size:18px;line-height:normal;letter-spacing:0.9px;color:#fff}
.t-G18wh .m{background:#000;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.t-G18b{font-family:var(--go);font-size:18px;line-height:normal;letter-spacing:0.9px;color:#000;font-weight:600}
.t-G15g{font-family:var(--go);font-size:15px;line-height:normal;letter-spacing:0.75px;color:#808080}
.t-G15gi{font-family:var(--go);font-size:15px;line-height:25.2px;letter-spacing:0.9px;color:#808080;font-style:italic}
.t-G15u{font-family:var(--go);font-size:15px;line-height:25.5px;letter-spacing:3px;color:#000;text-decoration:underline}
.t-G15t{font-family:var(--go);font-size:15px;line-height:25.5px;letter-spacing:3px;color:#000}
.t-G16{font-family:var(--go);font-size:16px;line-height:27.2px;letter-spacing:0px;color:#000}
.t-G16s{font-family:var(--go);font-size:16px;line-height:normal;letter-spacing:0.8px;color:#000}
.t-G11{font-family:var(--go);font-size:11px;line-height:20.68px;letter-spacing:1.1px;color:#000}
.t-A18{font-family:var(--al);font-size:18px;line-height:25.2px;letter-spacing:0px;color:#000}
.t-T30{font-family:var(--ace);font-size:30px;line-height:normal;letter-spacing:6px;color:#fff}
.t-T21{font-family:var(--ace);font-size:21px;line-height:normal;letter-spacing:4.2px;color:#fff}
