/* smisco-biz-home — smisco.biz site · build b2.1F7koe
   Part of the smisco house style (dark #0a0c11 + gold #ffd166, Syne / Familjen Grotesk / IBM Plex Mono).
   Styles the SITE-LEVEL pages: the front-door portal (index.php) and the site's
   legal pages (privacy.html, terms.html), which share the same chrome + tokens. */

:root{
  --bg:#0a0c11; --bg2:#0e121a; --panel:#12161f; --raised:#171c28;
  --ink:#e9ecf2; --dim:#9aa6b8; --faint:#5e6a7c;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.05);
  --gold:#ffd166; --gold2:#f6b73c; --cool:#5fb0ff;
  --maxw:1100px;
  --display:"Syne","Familjen Grotesk",ui-sans-serif,system-ui,sans-serif;
  --body:"Familjen Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; min-height:100vh; display:flex; flex-direction:column;
  background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.65; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
/* atmosphere: faint dot grid + two soft glows (gold + cool) */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 540px at 82% -10%, rgba(255,209,102,.10), transparent 60%),
    radial-gradient(820px 620px at 2% 0%, rgba(95,176,255,.09), transparent 60%),
    radial-gradient(rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:auto, auto, 30px 30px;
}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; position:relative; z-index:1}
a{color:inherit; text-decoration:none}
.mono{font-family:var(--mono)}
::selection{background:rgba(255,209,102,.28); color:#fff}

/* ---- topbar ---- */
.topbar{
  position:sticky; top:0; z-index:30; backdrop-filter:blur(10px);
  background:linear-gradient(to bottom, rgba(10,12,17,.86), rgba(10,12,17,.5));
  border-bottom:1px solid var(--line2);
}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; height:62px}
.brand{display:flex; align-items:center; gap:11px; font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:-.01em}
.brand svg{display:block; flex:none}
.brand .dot{color:var(--gold)}
.topnav{display:flex; gap:24px; font-family:var(--mono); font-size:13px; color:var(--dim)}
.topnav a{transition:color .16s ease}
.topnav a:hover{color:var(--ink)}
.topnav .gh:hover{color:var(--gold)}
@media(max-width:520px){.topnav a:not(.gh){display:none}}

/* ---- masthead ---- */
main{flex:1 0 auto}
.masthead{padding:clamp(54px,9vw,120px) 0 clamp(26px,5vw,52px); max-width:46ch}
.eyebrow{
  font-family:var(--mono); font-size:12.5px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); margin:0 0 20px; display:flex; align-items:center; gap:11px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--gold); opacity:.6}
.masthead h1{font-family:var(--display); font-weight:800; font-size:clamp(44px,8vw,86px); line-height:1; letter-spacing:-.03em; margin:0}
.masthead h1 .g{color:var(--gold)}
.masthead .lede{color:var(--dim); font-size:clamp(16px,1.4vw,19px); margin:22px 0 0; max-width:40ch}

/* ---- doors ---- */
.doors{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:18px;
  padding:clamp(26px,4vw,42px) 0 clamp(56px,8vw,96px);
}
.door{
  position:relative; display:flex; flex-direction:column; gap:12px; min-height:172px;
  background:linear-gradient(180deg, var(--raised), var(--panel));
  border:1px solid var(--line); border-radius:18px; padding:22px 22px 20px;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.door:hover{transform:translateY(-4px); border-color:rgba(255,209,102,.55); box-shadow:0 26px 60px -34px rgba(0,0,0,.85)}
.door:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
.door__head{display:flex; align-items:baseline; justify-content:space-between; gap:12px}
.door__name{font-family:var(--display); font-weight:800; font-size:23px; letter-spacing:-.01em}
.door__slug{font-family:var(--mono); font-size:12px; color:var(--faint); letter-spacing:.04em}
.door__desc{color:var(--dim); font-size:14.5px; line-height:1.55; margin:0; flex:1}
.door__go{font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; color:var(--gold); display:inline-flex; align-items:center; gap:8px; margin-top:auto}
.door__go .ar{transition:transform .18s ease}
.door:hover .door__go .ar{transform:translateX(4px)}
.door--soon{opacity:.55}
.door--soon:hover{transform:none; border-color:var(--line); box-shadow:none}
.door--soon .door__go{color:var(--faint)}
.doors__empty{grid-column:1/-1; color:var(--faint); font-family:var(--mono); font-size:14px}

/* ---- footer ---- */
footer{flex-shrink:0; border-top:1px solid var(--line2); padding:30px 0 46px; position:relative; z-index:1}
.foot{display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; justify-content:space-between; font-family:var(--mono); font-size:13px; color:var(--faint)}
.foot a{color:var(--dim)}
.foot a:hover{color:var(--gold)}
.foot .v{color:var(--gold)}

/* ---- document / legal pages (privacy.html, terms.html) ---- */
.doc{max-width:72ch; padding:clamp(40px,7vw,84px) 0 clamp(48px,8vw,90px)}
.doc .eyebrow{margin-bottom:18px}
.doc h1{font-family:var(--display); font-weight:800; font-size:clamp(34px,5.5vw,56px); line-height:1.04; letter-spacing:-.025em; margin:0}
.doc .updated{font-family:var(--mono); font-size:12.5px; color:var(--faint); letter-spacing:.04em; margin:16px 0 0}
.doc h2{font-family:var(--display); font-weight:700; font-size:21px; letter-spacing:-.01em; margin:42px 0 12px; color:var(--ink)}
.doc p{color:var(--dim); margin:0 0 16px}
.doc ul{color:var(--dim); margin:0 0 16px; padding-left:22px}
.doc li{margin:0 0 8px}
.doc strong{color:var(--ink); font-weight:600}
.doc a{color:var(--ink); border-bottom:1px solid var(--line); transition:color .16s ease, border-color .16s ease}
.doc a:hover{color:var(--gold); border-color:var(--gold)}
.doc .back{display:inline-flex; align-items:center; gap:8px; margin-top:38px; border:0; font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; color:var(--gold)}
.doc .back .ar{transition:transform .18s ease}
.doc .back:hover{color:var(--gold)}
.doc .back:hover .ar{transform:translateX(-4px)}

/* ---- reveal on load ---- */
.rise{opacity:0; transform:translateY(16px); animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.04s} .d2{animation-delay:.11s} .d3{animation-delay:.18s}
.doors .door{opacity:0; transform:translateY(16px); animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1; transform:none}}
@media(prefers-reduced-motion:reduce){
  .rise, .doors .door{animation:none; opacity:1; transform:none}
  html{scroll-behavior:auto}
}
