/* ==========================================================================
   Adamas Digital — Components
   Loader · kicker · buttons · floating navbar · mobile overlay · footer
   ========================================================================== */

/* ---- Loader (only shows if load is slow) ---- */
.loader{position:fixed;inset:0;z-index:var(--z-top);display:grid;place-items:center;gap:1.4rem;background:var(--ink);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s var(--ease)}
body.loading .loader{opacity:1;visibility:visible}
body.loaded .loader{opacity:0;visibility:hidden}
.loader__box{position:relative;width:76px;height:76px;display:grid;place-items:center}
.loader__mark{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;font-family:var(--font-head);font-weight:var(--w-bold);font-size:1.5rem;color:var(--on-accent);background:linear-gradient(140deg,var(--latte),var(--accent-deep))}
.loader__ring{position:absolute;inset:0;border-radius:18px;border:2px solid rgba(255,255,255,.12);border-top-color:var(--latte);animation:spin .9s linear infinite}
.loader__word{font-family:var(--font-head);font-weight:var(--w-light);text-transform:uppercase;letter-spacing:.32em;font-size:.7rem;color:rgba(241,240,238,.55)}
@keyframes spin{to{transform:rotate(360deg)}}

.kicker{
  font-family:var(--font-head);font-weight:var(--w-med);
  text-transform:uppercase;letter-spacing:.28em;font-size:var(--fs-xs);
  color:var(--accent-deep);display:inline-flex;align-items:center;gap:.7rem;
}
.kicker::before{content:"";width:26px;height:1px;background:var(--accent)}

.btn{
  --_bg:var(--accent);--_fg:var(--on-accent);
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-btn);font-weight:var(--w-bold);font-size:var(--fs-sm);
  letter-spacing:.02em;line-height:1;padding:.85rem 1.6rem;border-radius:var(--r-pill);
  background:var(--_bg);color:var(--_fg);
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
  will-change:transform;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(162,130,95,.28)}
.btn:active{transform:translateY(0)}
.btn--primary{--_bg:var(--accent);--_fg:var(--on-accent)}
.btn--primary:hover{background:var(--accent-deep)}
.btn--ghost{--_bg:transparent;--_fg:var(--ink);border:1px solid var(--line-strong)}
.btn--ghost:hover{background:var(--ink);--_fg:var(--surface);border-color:var(--ink);box-shadow:none}
.btn--light{--_bg:var(--surface);--_fg:var(--ink);box-shadow:var(--shadow-sm)}
.btn--light:hover{box-shadow:0 12px 26px rgba(42,46,51,.16)}

/* ---- Shared brand lockup ---- */
.brand{display:inline-flex;align-items:center;gap:.7rem;flex:0 0 auto}
.brand__mark{
  width:46px;height:46px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;
  font-family:var(--font-head);font-weight:var(--w-bold);font-size:1.15rem;color:var(--on-accent);
  background:linear-gradient(140deg,var(--latte),var(--accent-deep));
  box-shadow:0 6px 16px rgba(162,130,95,.35);
}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__text b{font-family:var(--font-head);font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.05em;font-size:1.02rem;color:var(--mist)}
.brand__text > span{font-family:var(--font-body);font-weight:var(--w-med);text-transform:uppercase;letter-spacing:.24em;font-size:.62rem;color:var(--ocean-fog);margin-top:.15em}

/* ---- Floating navbar ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);padding-top:clamp(.7rem,1.8vw,1.15rem);transition:padding var(--dur) var(--ease)}
.site-header.is-scrolled{padding-top:clamp(.4rem,1vw,.7rem)}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:100%;
  padding:.7rem .7rem .7rem 1rem;background:var(--ink);
  border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);
  box-shadow:0 18px 44px rgba(42,46,51,.16);
}
.nav__links{display:flex;align-items:center;gap:.35rem;margin-inline:auto}
.nav__link{
  font-family:var(--font-head);font-weight:var(--w-med);text-transform:uppercase;letter-spacing:.12em;
  font-size:.78rem;color:rgba(241,240,238,.6);padding:.6rem 1.05rem;border-radius:var(--r-pill);border:1px solid transparent;
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.nav__link:hover{color:var(--mist)}
.nav__link.is-active{color:var(--mist);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13)}
.nav__cta{flex:0 0 auto}
.nav__toggle{
  display:none;width:46px;height:46px;flex:0 0 auto;border-radius:13px;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:background var(--dur) var(--ease);
}
.nav__toggle span{width:22px;height:2px;border-radius:2px;background:var(--mist);transition:.3s var(--ease)}
.nav__toggle:hover{background:rgba(255,255,255,.1)}

/* ---- Mobile fullscreen overlay ---- */
body.nav-open{overflow:hidden}
.mobile-menu{
  position:fixed;inset:0;z-index:var(--z-overlay);background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.5rem,6vw,3rem);gap:1.1rem;
  opacity:0;visibility:hidden;transform:scale(1.015);
  transition:opacity var(--dur) var(--ease),visibility var(--dur) var(--ease),transform var(--dur) var(--ease-out);
}
body.nav-open .mobile-menu{opacity:1;visibility:visible;transform:none}
.mobile-menu__close{
  position:absolute;top:clamp(1.1rem,4vw,1.6rem);right:clamp(1.1rem,4vw,1.6rem);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  color:var(--mist);font-size:1.15rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.mobile-menu__close:hover{background:rgba(255,255,255,.1);transform:rotate(90deg)}
.mobile-menu__mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-family:var(--font-head);font-weight:var(--w-bold);font-size:1.3rem;color:var(--on-accent);background:linear-gradient(140deg,var(--latte),var(--accent-deep));box-shadow:0 6px 16px rgba(162,130,95,.35);margin-bottom:.4rem}
.mobile-menu__links{display:flex;flex-direction:column;align-items:center;gap:.55rem}
.mobile-menu__link{
  min-width:160px;text-align:center;font-family:var(--font-head);font-weight:var(--w-med);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
  color:rgba(241,240,238,.55);padding:.62rem 1.6rem;border-radius:var(--r-pill);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.mobile-menu__link:hover,.mobile-menu__link.is-active{color:var(--mist);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);transform:translateY(-1px)}
.mobile-menu__socials{display:flex;gap:.7rem;margin-top:.3rem}
.mobile-menu__social{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:rgba(241,240,238,.65);font-size:.9rem;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.mobile-menu__social:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:translateY(-2px)}
.mobile-menu__cta{position:absolute;left:clamp(1.5rem,7vw,3.5rem);right:clamp(1.5rem,7vw,3.5rem);bottom:clamp(1.6rem,5vw,2.6rem);--_bg:var(--accent);--_fg:var(--on-accent);width:auto;padding:1rem;font-size:.9rem;border-radius:var(--r-md)}
.mobile-menu__close{width:46px;height:46px}

/* ---- Footer (light) ---- */
[data-parallax]{will-change:transform}
.site-footer{position:relative;overflow:hidden;background:var(--linen);color:var(--ink);padding-top:var(--sp-9);margin-top:var(--sp-10)}
.footer__glow{position:absolute;top:-140px;right:-90px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(190,158,130,.30),transparent 68%);pointer-events:none;z-index:0}
.footer__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1.1fr;gap:2.4rem;padding-bottom:var(--sp-7)}
.footer__brand{max-width:34ch}
.footer__logo{margin-bottom:1.1rem}
.footer__logo .brand__text b{color:var(--ink)}
.footer__logo .brand__text > span{color:var(--ink-faint)}
.footer__tag{color:var(--ink-muted);font-size:var(--fs-sm);line-height:1.6;margin-bottom:1.5rem}

.footer__subscribe{max-width:320px}
.footer__sub-label{display:block;font-family:var(--font-head);font-weight:var(--w-med);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--ink);margin-bottom:.8rem}
.footer__sub-row{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--line-strong);padding-bottom:.55rem;margin-bottom:1.1rem;transition:border-color var(--dur) var(--ease)}
.footer__sub-row:focus-within{border-color:var(--accent-deep)}
.footer__sub-icon{color:var(--accent-deep);font-size:.9rem}
.footer__sub-input{flex:1;background:none;border:none;outline:none;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink)}
.footer__sub-input::placeholder{color:var(--ink-faint)}
.footer__sub-btn{--_bg:var(--ink);--_fg:var(--mist);border-radius:var(--r-sm);padding:.8rem 1.9rem;font-size:.8rem}
.footer__sub-btn:hover{--_bg:#1e2226;box-shadow:0 12px 26px rgba(42,46,51,.22)}
.footer__sub-btn:disabled{opacity:.7;cursor:default;transform:none}

.footer__heading{font-family:var(--font-head);font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:var(--ink);margin-bottom:1.3rem}
.footer__link{display:flex;align-items:center;gap:.55rem;color:var(--ink-muted);font-size:var(--fs-sm);padding-block:.42rem;transition:color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.footer__link i{color:var(--accent-deep);width:16px;font-size:.85rem}
.footer__link:not(.footer__link--static):hover{color:var(--ink);transform:translateX(4px)}
.footer__link--static{cursor:default}

.footer__socials{display:flex;gap:.6rem;margin-top:1.1rem}
.footer__social{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--mist);background:var(--ink);border:1px solid var(--ink);transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}
.footer__social:hover{background:var(--accent-deep);transform:translateY(-3px)}

.footer__bottom-wrap{position:relative;z-index:1;background:rgba(115,120,131,.1);border-top:1px solid var(--line)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-block:1.3rem;color:var(--ink-muted);font-size:var(--fs-xs)}
.footer__bottom-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer__bottom-links a{color:var(--ink-muted);transition:color var(--dur) var(--ease)}
.footer__bottom-links a:hover{color:var(--accent-deep)}

/* ---- Responsive ---- */
@media(max-width:940px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:flex}
  .nav{padding:.6rem .6rem .6rem .85rem}
}
@media(max-width:1000px){
  .footer__grid{grid-template-columns:1fr 1fr 1fr;gap:2rem}
  .footer__brand{grid-column:1/-1;max-width:none}
}
@media(max-width:640px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__bottom{justify-content:center;text-align:center}
}
@media(max-width:420px){.footer__grid{grid-template-columns:1fr}}