/*
Theme Name: Sundsvall Studio
Theme URI: https://sundsvall.studio/
Author: Sundsvall Studio
Description: Ultra-minimal one-page WordPress theme with a large hero video.
Version: 1.0.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sundsvall-studio
*/

:root{
  --bg:#0b0c10;
  --fg:#eef0f6;
  --muted:rgba(238,240,246,.72);
  --line:rgba(238,240,246,.12);
  --soft:rgba(238,240,246,.06);
  --max:1120px;
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.9}

.wrap{max-width:var(--max); margin:0 auto; padding:0 22px}

/* Top bar */
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:50;
  background: linear-gradient(to bottom, rgba(11,12,16,.78), rgba(11,12,16,0));
  pointer-events:none;
}
.topbar__inner{
  height:72px;
  display:flex; align-items:center; justify-content:space-between;
  pointer-events:auto;
}
.logo{display:flex; align-items:center; gap:10px}
.logo__dot{
  width:10px; height:10px; border-radius:999px;
  background: radial-gradient(circle at 30% 30%, #fff, rgba(255,255,255,.08));
  box-shadow: 0 0 0 1px rgba(255,255,255,.10);
}
.logo__text{font-weight:600; letter-spacing:.01em}

.nav{display:flex; align-items:center; gap:16px}
.nav a{font-size:13px; color:var(--muted)}
.nav a:hover{color:var(--fg)}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  background:var(--fg);
  color:var(--bg);
  border:1px solid rgba(255,255,255,.10);
  font-weight:600;
}
.btn--ghost{
  background:transparent;
  color:var(--fg);
  border-color: var(--line);
}
.btn--sm{padding:9px 12px; font-size:12px}

/* Hero */
.hero{
  min-height: 92svh;
  display:grid;
  align-items:end;
  position:relative;
  padding: 120px 0 46px;
  overflow:hidden;
}
.hero__media{position:absolute; inset:0}
.hero__video, .hero__poster{
  width:100%; height:100%;
  object-fit:cover;
  filter: contrast(1.06) saturate(.92);
}
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 480px at 25% 20%, rgba(255,255,255,.10), rgba(255,255,255,0) 60%),
    linear-gradient(to bottom, rgba(11,12,16,.25), rgba(11,12,16,.78) 55%, rgba(11,12,16,1));
}
.hero__content{position:relative; z-index:2}
.kicker{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: rgba(238,240,246,.70);
}
h1{
  margin:0 0 14px;
  font-size: 56px;
  line-height: 1.03;
  letter-spacing: -.03em;
}
.lead{
  margin:0;
  max-width: 720px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.meta{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}
.chip{
  font-size:13px;
  color: rgba(238,240,246,.78);
  border:1px solid rgba(238,240,246,.18);
  background: rgba(11,12,16,.26);
  padding:7px 10px;
  border-radius:999px;
  backdrop-filter: blur(10px);
}

/* Sections */
.section{padding:72px 0; border-top:1px solid var(--soft)}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
.section__head h2{margin:0; font-size:22px; letter-spacing:-.02em}
.section__head p{margin:0; max-width:520px; color:var(--muted); line-height:1.6}

/* Minimal lists */
.minicol{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:22px;
  align-items:start;
}
.list{
  margin:0;
  padding:0;
  list-style:none;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.02);
  overflow:hidden;
}
.list li{
  padding:14px 16px;
  border-top:1px solid rgba(238,240,246,.10);
  color: rgba(238,240,246,.82);
}
.list li:first-child{border-top:none}
.list .label{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(238,240,246,.55);
  margin-bottom:6px;
}
.list .value{display:block; font-weight:560; letter-spacing:-.01em}

/* Contact */
.contactBox{
  border:1px solid var(--line);
  background: rgba(255,255,255,.02);
  border-radius: var(--radius);
  padding:18px;
}
.contactMail{display:block; font-size:18px; font-weight:650; letter-spacing:-.01em}
.contactMeta{margin-top:10px; display:flex; gap:12px; flex-wrap:wrap; color: rgba(238,240,246,.62); font-size:13px}

/* Footer */
.footer{padding:26px 0; border-top:1px solid var(--soft)}
.footer__inner{display:flex; justify-content:space-between; align-items:center; gap:14px; color: rgba(238,240,246,.55); font-size:12px}
.footer__links{display:flex; gap:14px}
.footer__links a{color: rgba(238,240,246,.55)}

/* WP content hygiene */
.site{
  padding-top: 72px; /* offset topbar */
}
.screen-reader-text{position:absolute; left:-9999px}

/* Motion preferences */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero__video{display:none}
}

/* Responsive */
@media (max-width: 980px){
  h1{font-size:44px}
  .section__head{flex-direction:column; align-items:flex-start}
  .minicol{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .nav a{display:none}
  .nav a.btn{display:inline-flex}
  .hero{padding: 110px 0 40px}
}


/* v1.0.2: hero video is NOT covered by text */
.hero{
  min-height: 78svh;
  display:block;
  position:relative;
  padding:0;
  overflow:hidden;
}
.hero__content{display:none !important;}
.hero__overlay{display:none !important;}
.hero__media{position:relative; height:78svh; }
.hero__video, .hero__poster{height:78svh;}
/* Intro section (text below the video) */
.intro{padding: 34px 0 18px;}
.intro .kicker{margin:0 0 10px;}
.intro h1{margin:0 0 12px;}
.intro .lead{margin:0; max-width:720px;}
@media (max-width: 980px){
  .hero__media{height:62svh;}
  .hero__video, .hero__poster{height:62svh;}
}


/* v1.0.3: stronger intro typography (stopping power) */
.intro h1{
  font-size: 84px;
  line-height: .95;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.intro .lead{
  font-size: 18px;
  color: rgba(238,240,246,.78);
  max-width: 760px;
}
@media (max-width: 980px){
  .intro h1{font-size: 56px; line-height: 1.0;}
}
@media (max-width: 520px){
  .intro h1{font-size: 46px; line-height: 1.02;}
}


/* v1.0.4: signature line under intro */
.signature{
  margin-top: 14px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(238,240,246,.55);
}


/* v1.0.5: make SUNDSVALL feel more present (without touching the video) */
.logo__text{
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
@media (max-width: 520px){
  .logo__text{font-size: 13px;}
}

/* topbar slightly more solid so the brand always reads */
.topbar{
  background: linear-gradient(to bottom, rgba(11,12,16,.92), rgba(11,12,16,.15), rgba(11,12,16,0));
}

/* signature becomes a real stamp */
.signature{
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .22em;
  color: rgba(238,240,246,.78);
}


/* v1.0.6: big subtle SUNDSVALL watermark behind intro (not on the video) */
.intro{
  position: relative;
  overflow: hidden;
}
.intro .wrap{
  position: relative;
  z-index: 2;
}
.intro__watermark{
  position:absolute;
  left: -0.02em;
  top: -0.42em;
  z-index: 1;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  line-height: 1;
  font-size: min(18vw, 220px);
  color: rgba(238,240,246,.055);
  filter: blur(.1px);
}
@media (max-width: 980px){
  .intro__watermark{
    top: -0.30em;
    font-size: min(22vw, 180px);
  }
}
@media (max-width: 520px){
  .intro__watermark{
    top: -0.24em;
    font-size: 96px;
    letter-spacing: .08em;
  }
}
