/* Kallt & Klart — stilmall
   Palett och typografi delas med retreatprogrammet. */

:root{
  --natt:#16283c;
  --hav:#1f3550;
  --ben:#f4efe6;
  --kort:#fffdf9;
  --guld:#d9a45b;
  --blek:#a8bacd;
  --black:#22303d;
  --linje:#e3dccd;
}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}

body{
  font-family:'Lato',system-ui,sans-serif;
  background:var(--ben);
  color:var(--black);
  line-height:1.65;
  font-size:17px;
}

h1,h2,h3,.serif{font-family:'EB Garamond',Georgia,serif;font-weight:500}

a{color:var(--hav)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--guld);outline-offset:2px;border-radius:2px;
}

/* ---------- Header ---------- */
header{
  background:var(--natt);
  color:var(--ben);
  padding:0 1.25rem;
}
.nav{
  max-width:960px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 0;gap:1rem;flex-wrap:wrap;
}
.logo{
  font-family:'EB Garamond',serif;
  letter-spacing:.28em;
  font-size:1.05rem;
  color:var(--ben);
  text-decoration:none;
  white-space:nowrap;
}
.logo .moon{color:var(--guld)}
nav ul{list-style:none;display:flex;gap:1.4rem;flex-wrap:wrap}
nav a{
  color:var(--blek);text-decoration:none;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.12em;
}
nav a:hover,nav a[aria-current="page"]{color:var(--guld)}

/* ---------- Hero (startsidan) ---------- */
.hero{
  background:var(--natt);
  color:var(--ben);
  text-align:center;
  padding:3.5rem 1.25rem 5rem;
  position:relative;
}
.hero h1{
  font-size:clamp(2.2rem,6vw,3.4rem);
  letter-spacing:.18em;
  margin:.8rem 0 .4rem;
}
.hero .tagline{
  color:var(--blek);
  font-size:1.05rem;
  letter-spacing:.04em;
}
.hero .crescent{width:44px;height:44px;display:inline-block}

.vag{display:block;width:100%;height:36px;background:var(--natt)}
.vag svg{display:block;width:100%;height:36px}

/* ---------- Innehåll ---------- */
main{max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 4rem}
.smal{max-width:680px;margin-left:auto;margin-right:auto}

.intro{
  font-family:'EB Garamond',serif;
  font-size:1.25rem;
  font-style:italic;
  text-align:center;
  color:var(--hav);
  margin:0 auto 2.5rem;
  max-width:600px;
}
.sign{display:block;font-style:normal;margin-top:.6rem;letter-spacing:.14em;font-size:.95rem}

.kortrad{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:2rem}
.valkort{
  background:var(--kort);
  border:1px solid var(--linje);
  border-radius:10px;
  padding:1.5rem 1.2rem;
  text-align:center;
  text-decoration:none;
  color:var(--black);
  transition:transform .15s ease;
}
.valkort:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion: reduce){.valkort{transition:none}.valkort:hover{transform:none}}
.valkort h3{font-size:1.15rem;margin-bottom:.35rem;color:var(--natt)}
.valkort p{font-size:.9rem;color:#5a6a79}
.valkort .m{color:var(--guld);font-size:1.3rem;display:block;margin-bottom:.4rem}

h2.rubrik{
  text-align:center;
  font-size:1.9rem;
  color:var(--natt);
  margin-bottom:.4rem;
}
.underrubrik{text-align:center;color:#6b7a89;margin-bottom:2.2rem;font-size:.95rem;letter-spacing:.06em}

/* ---------- Om oss ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;margin-top:2rem}
.person{
  background:var(--kort);
  border:1px solid var(--linje);
  border-radius:10px;
  overflow:hidden;
  text-align:center;
}
.person img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.person .pad{padding:1.4rem 1.3rem 1.6rem}
.person h3{font-size:1.35rem;color:var(--natt)}
.person .roll{
  text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;
  color:var(--guld);margin:.3rem 0 .8rem;
}
.person p{font-size:.95rem;text-align:left}
.byline{font-size:.75rem;color:#8b97a3;margin-top:.9rem;text-align:center}

/* ---------- Retreat ---------- */
.slutsalt{
  display:inline-block;
  background:var(--guld);
  color:var(--natt);
  font-weight:700;
  letter-spacing:.2em;
  font-size:.8rem;
  padding:.35rem 1rem;
  border-radius:3px;
  text-transform:uppercase;
}
.programlista{margin:1.8rem 0;border-top:1px solid var(--linje)}
.programlista li{
  list-style:none;
  display:flex;gap:1.1rem;
  padding:.85rem 0;
  border-bottom:1px solid var(--linje);
}
.programlista .tid{
  font-family:'Lato',sans-serif;font-weight:700;
  color:var(--hav);min-width:5.5rem;font-size:.9rem;padding-top:.15rem;
}
.dagrubrik{
  font-family:'EB Garamond',serif;
  color:var(--natt);
  font-size:1.25rem;
  margin:2rem 0 .5rem;
}

/* ---------- Gästbok ---------- */
.inlagg{border-top:1px solid var(--linje);margin-top:1.5rem}
.inlagg article{padding:1.3rem 0;border-bottom:1px solid var(--linje)}
.inlagg .vem{
  display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.35rem;
}
.inlagg .namn{font-weight:700;color:var(--natt)}
.inlagg .nar{font-size:.8rem;color:#8b97a3}
.inlagg .moonmark{color:var(--guld);margin-right:.15rem}
.inlagg p{font-size:.98rem}

.gform{
  background:var(--kort);
  border:1px solid var(--linje);
  border-radius:10px;
  padding:1.6rem;
  margin-top:2.5rem;
}
.gform h3{color:var(--natt);margin-bottom:1rem}
.gform label{display:block;font-size:.85rem;letter-spacing:.06em;margin:.9rem 0 .3rem}
.gform input,.gform textarea{
  width:100%;
  border:1px solid #cfc6b4;
  border-radius:6px;
  padding:.6rem .7rem;
  font:inherit;
  background:#fff;
}
.gform textarea{min-height:110px;resize:vertical}
.gform button{
  margin-top:1.1rem;
  background:var(--natt);
  color:var(--ben);
  border:0;border-radius:6px;
  padding:.7rem 1.5rem;
  font:inherit;letter-spacing:.08em;
  cursor:pointer;
}
.gform button:hover{background:var(--hav)}
.tack{
  display:none;
  margin-top:1rem;
  color:var(--hav);
  font-style:italic;
  font-family:'EB Garamond',serif;
  font-size:1.05rem;
}

/* ---------- Kontakt ---------- */
.kontaktkort{
  background:var(--kort);
  border:1px solid var(--linje);
  border-radius:10px;
  padding:2rem;
  margin-top:1.5rem;
}
.kontaktkort dt{
  text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;
  color:var(--guld);margin-top:1.2rem;
}
.kontaktkort dt:first-child{margin-top:0}
.kontaktkort dd{font-size:1.05rem;margin-top:.15rem}

/* ---------- Footer ---------- */
footer{
  background:var(--natt);
  color:var(--blek);
  text-align:center;
  padding:2.2rem 1.25rem;
  font-size:.85rem;
  letter-spacing:.05em;
}
footer .moon{color:var(--guld)}
footer a{color:var(--blek)}
