*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#f1ece4;color:#10262c;font-family:Figtree,ui-sans-serif,system-ui,sans-serif;font-size:18px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,p{margin:0;font-weight:400}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img,video{display:block;max-width:none}
:root{--dark:#123a40;--serif:Marcellus,Georgia,serif;--hdr:73px}
@media (min-width:1300px){:root{--hdr:86px}}

.container{padding-left:20px;padding-right:20px;width:100%;max-width:1920px;margin-left:auto;margin-right:auto}
@media (min-width:1024px){.container{padding-left:100px;padding-right:100px}}
@media (min-width:1280px){.container{padding-left:140px;padding-right:140px}}
.sep{display:block;width:40px;border-top:2px solid #1f6f73}
.sep.w{border-color:#fff}
.t50,.t70,.t30,.clipbox h2,.foot h2{font-family:var(--serif)}
.t50{font-size:30px;line-height:1.05;text-transform:uppercase;letter-spacing:.02em}
.t70{font-size:35px;line-height:1;text-transform:uppercase}
.t30{font-size:25px;line-height:1;text-transform:uppercase}
@media (min-width:768px){.t50{font-size:35px}.t70{font-size:55px}.t30{font-size:26px}}
@media (min-width:1024px){.t50{font-size:50px}.t70{font-size:70px}.t30{font-size:30px}}
.pre{white-space:pre-line}

#wrap{position:fixed;inset:0;overflow:hidden}
#content{position:relative;will-change:transform}
#mainBg{position:absolute;left:0;right:0;top:0;height:100%;z-index:-1;background:url(../assets/bg.webp) 50% 0/cover repeat-y;will-change:transform}
body.no-smooth #wrap{position:static;overflow:visible}

.hdr{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--hdr);padding:28px 20px 20px;color:#fff;transition:background-color .4s,color .4s}
@media (min-width:1300px){.hdr{padding:28px 52px 20px}}
.hdr.solid,.hdr.light{background:rgba(241,236,228,.93);color:var(--dark)}
.hdr nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:25px}
@media (min-width:1300px){.hdr nav{height:38px}}
.logo{display:block;width:200px;line-height:0}
@media (min-width:1024px){.logo{width:235px}}
.logo-slot,.biglogo-slot{display:block}
.logo svg{width:100%;height:auto;display:block}
.logo svg path,.logo svg g{fill:currentColor}
.menu-btn{font-size:18px;line-height:25.2px;text-transform:capitalize}
.hdr .logo{order:2;margin-left:auto;transition:opacity .4s}
.hdr .pill-m{position:absolute;right:20px;top:21px;opacity:0;pointer-events:none;transition:opacity .4s}
.hdr.solid .logo.m-fade{opacity:0}
.hdr.solid .pill-m{opacity:1;pointer-events:auto}
.pill{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 24px;border:1px solid currentColor;border-radius:999px;font-size:14px;line-height:20px;white-space:nowrap;text-transform:capitalize}
.links{display:none}
@media (min-width:1300px){
  .menu-btn,.hdr .pill-m{display:none}
  .hdr .logo{order:0;margin-left:0}
  .hdr.solid .logo.m-fade{opacity:1}
  .links{display:flex;align-items:center;gap:20px}
  .links .nl{display:flex;gap:20px}
}
.nl a{position:relative;font-size:14px;line-height:20px;text-transform:capitalize}
@media (min-width:1920px){
  :root{--hdr:89px}
  .hdr .logo{width:295px}
  .hdr nav{height:41px}
  .links .nl{gap:32px}
  .links .nl a{font-size:20px;line-height:29px}
  .links > .pill{font-size:16px;height:41px}
}
.nl a.on::before{content:"";position:absolute;left:50%;bottom:-5px;width:50%;height:1px;background:currentColor;transform:translateX(-50%)}
.nl.has-on a:not(.on){opacity:.5}
.ar{font-size:14px;line-height:20px}

.drawer{position:fixed;inset:0;z-index:60;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.drawer.open{opacity:1;visibility:visible;transition:opacity .35s}
.drawer .x{position:absolute;right:40px;top:40px;width:32px;height:32px;transform:rotate(90deg);opacity:0;transition:transform .5s .15s,opacity .5s .15s}
.drawer.open .x{transform:none;opacity:1}
.drawer .x svg{width:32px;height:32px}
.drawer nav{display:flex;flex-direction:column;align-items:center;gap:20px}
.drawer nav a,.drawer .pill,.drawer .ar{font-size:14px;line-height:20px;opacity:0;transform:translateY(20px);transition:opacity .45s,transform .45s}
.drawer .pill{margin-top:0;height:38px}
.drawer .ar{margin-top:20px}
.drawer.open nav a,.drawer.open .pill,.drawer.open .ar{opacity:1;transform:none}

#intro{position:fixed;inset:0;z-index:100;background:#0d2f35 url(../assets/intro.jpg) center/cover;display:flex;align-items:center;justify-content:center}
#intro .cutbox{width:83.333%;max-width:700px;overflow:hidden;line-height:0;color:#e9e2d6}
#intro .cutbox svg{width:100%;height:auto}
#intro .cutbox path{fill:currentColor}
#intro .logo-letter{transform:translateY(110%)}
#intro.go{transition:transform 1.3s cubic-bezier(.65,0,.35,1),opacity 1.3s cubic-bezier(.65,0,.35,1);transform:translateY(-102%);opacity:0}
#intro.gone{display:none}

.hero{position:relative;height:100vh;width:100%;overflow:hidden;color:#fff}
.hero > video,.hero > img.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,30,34,.5) 0%,rgba(8,30,34,.08) 38%,rgba(8,30,34,.12) 60%,rgba(8,30,34,.62) 100%)}
@media (max-width:1023px){.hero::after{background:linear-gradient(180deg,rgba(8,30,34,.45) 0%,rgba(8,30,34,.5) 45%,rgba(8,30,34,.62) 100%)}}
.hero .inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:calc(69px + 6.1vw)}
@media (min-width:1024px){.hero .inner{justify-content:space-between;padding-top:170px;padding-bottom:50px}}
.hero h1{max-width:none}
@media (min-width:1024px){.hero h1{max-width:600px}}
.hero .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px}
.hero .txt{max-width:none}
@media (min-width:1024px){.hero .txt{max-width:600px}}
.hero .txt p{padding-top:20px}
.hero .ctrls{display:flex;gap:20px}
.cbtn{position:relative;width:56px;height:56px;border:1px solid #fff;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff}
.cbtn svg{width:20px;height:20px;transition:opacity .3s}
.cbtn svg.alt{position:absolute;opacity:0}
.cbtn.on svg.alt{opacity:1}
.cbtn.on svg.main{opacity:0}
.hero-el{opacity:0;transform:translateY(50px)}
.hero-el.in{opacity:1;transform:none;transition:opacity 1.5s cubic-bezier(.33,1,.68,1),transform 1.5s cubic-bezier(.33,1,.68,1)}

.clipbox{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}
.clipbox .w{position:relative;width:fit-content;max-width:1100px}
.clipbox .sep{position:absolute;top:-40px;left:0}
.clipbox h2{font-size:20px;line-height:28px;color:#fff}
@media (min-width:1024px){.clipbox h2{font-size:50px;line-height:1}}
.clipbox h2.dark{position:absolute;inset:0;color:var(--dark);opacity:0}

.vwrap{padding-bottom:40px}
@media (min-width:1024px){.vwrap{padding-top:80px}.heads{min-height:70px}}
.vslider{position:relative}
.vslider .wi{height:22px;padding-bottom:20px}
.vslider .wi .sep{width:0;transition:width 1s cubic-bezier(.33,1,.68,1)}
.vslider.in .wi .sep{width:40px}
.fi{opacity:0;transform:translateY(50px)}
.vslider.in .fi{opacity:1;transform:none;transition:opacity 1.2s cubic-bezier(.33,1,.68,1),transform 1.2s cubic-bezier(.33,1,.68,1)}
.vslider.in .fi.d2{transition-delay:.15s}
.vhead{display:flex;flex-direction:column}
.heads{position:relative}
.shead{display:grid;grid-template-columns:1fr;row-gap:20px}
.shead + .shead,.shead.abs{position:absolute;left:0;top:0;width:100%;opacity:0}
@media (min-width:1024px){.shead{grid-template-columns:1fr 1fr;column-gap:80px}}
.counter{margin-top:81px;display:flex}
@media (min-width:1024px){.vhead{display:block}.counter{margin-top:40px;margin-left:50%;}}
.counter .bar{position:relative;height:2px;width:80px;background:#cfc8bd}
.counter .bar i{position:absolute;left:0;top:0;height:100%;width:0;background:#1f6f73}
.vimgs{position:relative;margin-top:40px;aspect-ratio:16/9}
@media (min-width:640px){.vimgs{aspect-ratio:auto;height:calc((100vw - 40px)*.3655)}}
@media (min-width:1024px){.vimgs{margin:80px 20px 0;height:410px}}
.vimgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vimgs img + img{opacity:0}

.eternal{position:relative}
.eternal .head{display:flex;flex-direction:column;align-items:center;padding-top:80px}
@media (min-width:1024px){.eternal .head{padding-top:170px}}
.eternal .head .sep{padding-bottom:40px;border-top-width:2px;height:42px}
.eternal .head h2{text-align:center}
@media (min-width:1024px){.eternal .head h2{max-width:900px}}
.hs{position:relative;height:100vh;overflow:hidden;margin-top:40px;color:#fff}
@media (min-width:1024px){.hs{margin-top:160px}}
.hs .imgs{position:absolute;left:0;right:0;top:0;height:50%}
@media (min-width:1024px){.hs .imgs{height:100%}}
.hs .imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs .imgs.bl{top:auto;bottom:0;overflow:hidden}
.hs .imgs.bl img{filter:blur(24px)}
@media (max-width:1023px){.hs .imgs img{object-position:100% 50%}}
@media (min-width:1024px){.hs .imgs.bl{display:none}}
.hs .panel{position:absolute;left:0;right:0;bottom:0;height:50%;z-index:10;padding:20px;display:flex;flex-direction:column;overflow:hidden}
.hs .veil{position:absolute;left:0;right:0;bottom:0;height:50%;z-index:8;background:rgba(10,44,50,.34);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px)}
@media (min-width:1024px){.hs .panel,.hs .veil{width:50%;height:100%;right:auto}.hs .panel{padding:48px}}
.hs .ttl{position:relative;height:40px}
.hs .ttl h3{position:absolute;left:0;top:0;white-space:nowrap}
.hs .ttl h3 + h3{opacity:0;transform:translateX(-80px)}
.hs .panel .sep{margin-bottom:auto}
.hs .txts{position:relative;margin-bottom:auto}
.hs .st{top:0;left:0;width:100%}
.hs .st + .st{position:absolute;opacity:0;transform:translateX(80px)}
.hs .st .h{font-weight:600;text-transform:capitalize;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hs .st .d{font-size:14px;line-height:20px;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:1024px){.hs .st .h,.hs .st .d{margin-bottom:40px}}
.hs .st .ls{display:flex;flex-wrap:wrap;gap:12px}
.slink{font-size:14px;line-height:28px;text-decoration:underline;text-underline-offset:3px;text-transform:capitalize}
@media (min-width:1024px){.slink{font-size:18px}}
.hs .arrows{display:flex;gap:20px}
.hs .arrows button{width:40px;height:40px}
@media (min-width:1024px){.hs .arrows button{width:64px;height:64px}}
.hs .arrows svg{width:100%;height:100%;display:block}
.hs .arrows .nx svg{transform:rotate(180deg)}

.full{margin-top:160px}
.full .top{display:flex;flex-wrap:wrap;column-gap:40px;row-gap:40px}
.full .top h2{flex:1 1 100%}
.full .top h2 .sep{padding-bottom:40px;height:42px;margin-bottom:0}
.full .top .tx{flex:1 1 100%}
@media (min-width:1024px){.full .top{flex-wrap:nowrap;align-items:flex-end}.full .top h2,.full .top .tx{flex:0 0 calc(50% - 20px)}}
.full .tx a{display:inline-block;margin-top:20px;font-weight:600;text-transform:capitalize;text-decoration:underline;text-underline-offset:4px}
.full .imgbox{position:relative;margin:32px auto 0;padding:0 20px;overflow:hidden}
@media (min-width:1024px){.full .imgbox{margin-top:64px;overflow:visible}}
.full .imgbox .clip{position:relative;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.4s cubic-bezier(.65,0,.35,1)}
.full .imgbox img{width:100%;height:auto;aspect-ratio:1400/613;object-fit:cover;transform:scale(1.05);transition:transform 1.8s cubic-bezier(.33,1,.68,1)}
.full.in .imgbox .clip{clip-path:inset(0 0 0 0)}
.full.in .imgbox img{transform:none}
.up{opacity:0;transform:translateY(30px)}
.in .up,.up.in{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}
.in .up.d2{transition-delay:.15s}
.fade{opacity:0;transform:translateY(50px)}
.fade.in{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}
.addr{margin-top:40px;text-align:center;padding:0 20px}
.biglogo{max-width:800px;margin:0 auto;padding:0 20px;position:relative;line-height:0;color:#8fa9a6}
.biglogo.pt{padding-top:128px}
.biglogo svg{width:100%;height:auto}
.biglogo path{fill:currentColor}

.foot{position:relative}
.foot .mid{display:flex;flex-direction:column;align-items:center;text-align:center;padding:80px 20px 0}
.foot h2{font-size:35px;line-height:1;text-transform:uppercase;text-wrap:balance}
@media (min-width:768px){.foot h2{font-size:55px}}
@media (min-width:1024px){.foot h2{font-size:70px;font-weight:300;max-width:500px}}
.foot .mid p{margin-top:40px}
.cbtn-dark{display:block;margin-top:40px;background:var(--dark);color:#fff;font-size:19px;line-height:25.2px;padding:20px 0;width:264px;text-align:center;white-space:nowrap}
@media (min-width:1024px){.cbtn-dark{padding:25px 0;width:344px}}
.foot .fl{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;column-gap:12px;row-gap:12px;font-size:16px}
@media (min-width:768px){.foot .fl{column-gap:32px;row-gap:32px}}
.foot .fl a{position:relative;font-size:14px;line-height:20px;color:var(--dark);text-transform:capitalize}
.foot .fl a.on::before{content:"";position:absolute;left:50%;bottom:-4px;width:50%;height:1px;background:currentColor;transform:translateX(-50%)}
.foot .fl.has-on a:not(.on){opacity:.8}
.foot .bar{margin-top:40px;border-top:1px solid #bfb5a6;padding:20px;display:flex;flex-direction:column;align-items:center;gap:20px}
.foot .bar p{font-size:12px;line-height:16px}
.foot .bar button{font-size:18px;line-height:25.2px;text-transform:capitalize}
@media (min-width:1024px){.foot .fl{margin-top:40px}.foot .bar{margin-top:96px;flex-direction:row;justify-content:space-between;align-items:center}.foot .bar p{font-size:20px;line-height:28px}}
