/* ══════════════════════════════════════════════════════════
   GRUPO ALCONORT — BASE
   Paleta e tipografia conforme brandbook. Logo antigo.
   ══════════════════════════════════════════════════════════ */
:root{
  --navy:#324766;   /* ÚNICO azul da marca */
  --ink:#373737;    /* grafite */
  --silver:#B1B1B3; /* o metal da marca — SÓ filetes e fundo escuro */
  --meta:#525A6B;   /* texto pequeno sobre fundo claro (5.65:1) */
  --wash:#E8E8E8;   /* fundo dominante */
  --white:#FEFEFE;
  --line:rgba(50,71,102,.14);
  --linew:rgba(254,254,254,.16);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Montserrat',sans-serif;background:var(--wash);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--navy);color:#fff}
body.locked{overflow:hidden}

.d1{font-family:'Michroma',sans-serif;font-size:clamp(26px,4.9vw,78px);line-height:1.12;letter-spacing:-.01em}
.d2{font-family:'Michroma',sans-serif;font-size:clamp(20px,3.2vw,50px);line-height:1.2}
.d3{font-family:'Michroma',sans-serif;font-size:clamp(16px,2vw,30px);line-height:1.32}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--meta)}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;flex:none;opacity:.6}
.lead{font-size:clamp(14px,1.05vw,17px);line-height:2;font-weight:300;color:#5A5A5E;max-width:48ch}
.lead b{color:var(--navy);font-weight:600}
.on-dark .lead{color:rgba(254,254,254,.72)}
.on-dark .lead b{color:#fff}

.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(22px,6vw,110px)}
.r-line{display:block;overflow:hidden;padding-bottom:.08em}
.r-line>span{display:block;transform:translateY(112%)}
.r-fade{opacity:0;transform:translateY(28px)}

/* preloader */
#pre{position:fixed;inset:0;background:var(--ink);z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:opacity .9s var(--ease),visibility .9s}
#pre img{width:min(300px,62vw);opacity:0;animation:preIn 1.1s var(--ease) forwards .1s}
#pre .bar{width:min(300px,62vw);height:1px;background:rgba(254,254,254,.14);overflow:hidden}
#pre .bar i{display:block;height:100%;width:0;background:var(--silver);transition:width .35s linear}
#pre.done{opacity:0;visibility:hidden}
@keyframes preIn{to{opacity:1}}

/* nav + menu */
#nav{position:fixed;top:0;left:0;right:0;z-index:300;padding:16px clamp(22px,4vw,60px);display:flex;justify-content:space-between;align-items:center;transition:padding .5s var(--ease)}
#nav .brand img{height:96px;width:auto;transition:height .5s var(--ease)}
body.light-nav #nav .brand img{height:80px}
#burger{width:46px;height:46px;border:1px solid var(--linew);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:.35s var(--ease);z-index:2}
#burger i{width:16px;height:1px;background:#fff;display:block;transition:.35s var(--ease)}
body.light-nav #burger{border-color:var(--line)}
body.light-nav #burger i{background:var(--navy)}
body.menu-open #burger{border-color:var(--linew)}
body.menu-open #burger i{background:#fff}
body.menu-open #burger i:nth-child(1){transform:translateY(3px) rotate(45deg)}
body.menu-open #burger i:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
#burger:hover{transform:scale(1.06)}
#menu{position:fixed;inset:0;background:var(--ink);z-index:250;display:flex;align-items:center;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease);visibility:hidden}
body.menu-open #menu{clip-path:inset(0 0 0% 0);visibility:visible}
#menu .in{width:100%;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}
@media(max-width:900px){#menu .in{grid-template-columns:1fr}}
#menu a{display:flex;gap:20px;align-items:baseline;font-family:'Michroma';font-size:clamp(13px,1.8vw,26px);color:#fff;padding:7px 0;transition:.35s var(--ease)}
#menu a .n{font-size:10px;color:var(--meta);letter-spacing:.2em}
#menu a:hover{color:var(--meta);transform:translateX(12px)}
#menu .side{border-left:1px solid var(--linew);padding-left:44px;color:rgba(254,254,254,.65);font-size:12px;line-height:2.2}
#menu .side b{color:#fff;font-weight:500}
@media(max-width:900px){#menu .side{display:none}}

#cur{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid var(--silver);border-radius:50%;pointer-events:none;z-index:900;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s;opacity:0;mix-blend-mode:difference}
@media(pointer:coarse){#cur{display:none}}

/* motor do mergulho (T1) */
.dive-sec{position:relative}
.stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--ink)}
.layer{position:absolute;inset:0;overflow:hidden}
.layer img{width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:50% 50%}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* modo estático — se um CDN cair, o conteúdo ainda aparece */
.no-anim .r-line>span{transform:none!important}
.no-anim .r-fade{opacity:1!important;transform:none!important}
.no-anim #pins .pin,.no-anim #vista .eyebrow,.no-anim #hbar,.no-anim #names{opacity:1!important}
.no-anim .dive-sec,.no-anim #pilares,.no-anim #cd,.no-anim #corte{height:100vh!important}
.no-anim #mergulho .t2,.no-anim #corte .render{display:none}
.no-anim .sys-pic,.no-anim .proj{clip-path:none!important}
