/* ─────────────────────────────────────────────
   Twins on Ice — style.css (Main Manifest)
   ───────────────────────────────────────────── */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Mono:ital,wght@0,300;0,400;1,300&display=swap');

/* Partials */
@import url('assets/css/navbar.css');
@import url('assets/css/hero.css');
@import url('assets/css/sections.css');
@import url('assets/css/pages.css');
@import url('assets/css/footer.css');
@import url('assets/css/components.css');
@import url('assets/css/utilities.css');
@import url('assets/css/responsive.css');

/* ─────────────────────────────────────────────
   Root Variables & Reset
   ───────────────────────────────────────────── */

:root {
  --ink:        #0a0d14;
  --surface:    #f4f3f0;
  --card:       #ffffff;
  --ice:        #b8d8e8;
  --ice-dark:   #6fa8c4;
  --accent:     #1a3a52;
  --muted:      #8a8f99;
  --border:     rgba(10, 13, 20, 0.08);
  --glass-bg:   rgba(244, 243, 240, 0.72);
  --glass-bdr:  rgba(255,255,255,0.55);
  --radius:     1rem;
  --radius-sm:  0.5rem;
  --nav-h:      60px;
  --transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; height: 100%; }
body {
  font-family: 'DM Mono', monospace;
  font-weight: 300;
  background: var(--surface);
  color: var(--ink);
  line-height: 1.7;
  overflow-x: hidden;
  min-height: 100%;
}
img { display: block; max-width: 100%; }
a  { color: inherit; text-decoration: none; }

/* ─────────────────────────────────────────────
   Preloader
   ───────────────────────────────────────────── */

#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#preloader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }

.preloader-snowflake {
  width: 72px;
  height: 72px;
  animation: snowSpin 2.4s linear infinite;
}
.preloader-snowflake svg {
  width: 100%;
  height: 100%;
  stroke: var(--ice);
  fill: none;
  stroke-width: 1.2;
  stroke-linecap: round;
}

.preloader-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 300;
  letter-spacing: 0.35em;
  color: var(--ice);
  text-transform: uppercase;
  animation: fadeInOut 2.4s ease infinite;
}

.preloader-bar {
  width: 180px;
  height: 1px;
  background: rgba(184,216,232,0.2);
  border-radius: 2px;
  overflow: hidden;
}
.preloader-bar-inner {
  height: 100%;
  background: var(--ice);
  width: 0%;
  animation: barLoad 1.8s ease forwards;
}

@keyframes snowSpin {
  0%   { transform: rotate(0deg) scale(1); }
  50%  { transform: rotate(180deg) scale(1.08); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes fadeInOut {
  0%, 100% { opacity: 0.4; }
  50%       { opacity: 1; }
}
@keyframes barLoad {
  0%   { width: 0%; }
  100% { width: 100%; }
}