/* ===== SHARED STYLES — formningsvaerkstedet ===== */
:root{
  --clay-bg:#FAF6F0;
  --clay-bg-deep:#F2EBE0;
  --ink:#3A332C;
  --ink-soft:#6b6258;
  --terracotta:#B5651D;
  --terracotta-deep:#9a5318;
  --sage:#6B7560;
  --white:#FFFFFF;
  --line: rgba(58,51,44,0.14);
  --serif: 'Fraunces', serif;
  --sans: 'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--clay-bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(250,246,240,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1180px;margin:0 auto;}
.logo{font-family:var(--serif);font-weight:560;font-size:1.4rem;letter-spacing:-0.01em;color:var(--ink);display:flex;align-items:center;gap:10px;}
.logo span{color:var(--ink);}
.logo-icon{width:34px;height:auto;display:block;}
.nav-links{display:none!important;}
.nav-links a{padding:4px 0;color:var(--ink-soft);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-links a.active{color:var(--ink);border-bottom:2px solid var(--terracotta);padding-bottom:2px;}
.nav-cta{background:var(--ink);color:var(--clay-bg)!important;padding:11px 22px;border-radius:3px;font-weight:600;font-size:0.88rem;border-bottom:none!important;}
.nav-cta:hover{background:var(--terracotta);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:3px;font-weight:600;font-size:0.95rem;transition:all .2s;cursor:pointer;}
.btn-primary{background:var(--terracotta);color:var(--white);}
.btn-primary:hover{background:var(--terracotta-deep);transform:translateY(-1px);}
.btn-ghost{border:1.5px solid var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--clay-bg);}
.btn-sm{padding:10px 18px;font-size:0.88rem;}

/* PAGE HERO */
.page-hero{padding:72px 0 56px;background:var(--clay-bg-deep);}
.page-hero .eyebrow{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--terracotta-deep);font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.page-hero .eyebrow::before{content:"";width:28px;height:1px;background:var(--terracotta-deep);}
.page-hero h1{font-family:var(--serif);font-weight:560;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.1;letter-spacing:-0.015em;margin-bottom:20px;}
.page-hero h1 em{font-style:italic;font-weight:450;color:var(--terracotta);}
.page-hero .lede{font-size:1.08rem;color:var(--ink-soft);max-width:560px;}

/* SECTIONS */
section{padding:80px 0;}
.section-eyebrow{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--sage);font-weight:600;margin-bottom:10px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;flex-wrap:wrap;}
h2{font-family:var(--serif);font-weight:560;font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-0.01em;}
h3{font-family:var(--serif);font-weight:560;}
.section-sub{color:var(--ink-soft);max-width:440px;font-size:0.98rem;}

/* DIVIDER */
.divider{width:100%;height:14px;overflow:hidden;}
.divider svg{width:100%;height:100%;display:block;}

/* CTA BAND */
.cta-band{background:var(--terracotta);color:var(--white);text-align:center;padding:72px 0;}
.cta-band h2{color:var(--white);margin-bottom:14px;}
.cta-band p{color:rgba(255,255,255,0.85);max-width:480px;margin:0 auto 32px;font-size:1.02rem;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-band .btn-ghost{border-color:var(--white);color:var(--white);}
.cta-band .btn-ghost:hover{background:var(--white);color:var(--terracotta);}
.cta-band .btn-primary{background:var(--ink);}
.cta-band .btn-primary:hover{background:#262119;}

/* FOOTER */
footer{padding:64px 0 36px;background:var(--clay-bg-deep);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.foot-logo{font-family:var(--serif);font-weight:560;font-size:1.3rem;margin-bottom:14px;}
.foot-logo span{color:var(--terracotta);}
.foot-desc{color:var(--ink-soft);font-size:0.88rem;max-width:260px;}
.foot-col h5{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-soft);margin-bottom:16px;font-weight:600;}
.foot-col a,.foot-col p{display:block;font-size:0.9rem;color:var(--ink);margin-bottom:10px;}
.foot-col a:hover{color:var(--terracotta);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--line);font-size:0.82rem;color:var(--ink-soft);flex-wrap:wrap;gap:12px;}

/* RESPONSIVE */
@media(max-width:880px){
  .nav-links{display:none;}
  section{padding:52px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;row-gap:32px;}
}
@media(max-width:520px){
  .wrap{padding:0 20px;}
  .nav{padding:16px 20px;}
  .foot-grid{grid-template-columns:1fr;}
}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}

/* HAMBURGER MENU */
.nav-toggle{
  display:flex;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:4px;
  background:none;
  border:none;
}
.nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--ink);
  border-radius:2px;
  transition:all .2s;
}
.mobile-menu{
  display:none;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:var(--clay-bg);
  z-index:100;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:32px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-family:var(--serif);
  font-size:1.8rem;
  font-weight:560;
  color:var(--ink);
  text-decoration:none;
}
.mobile-menu a:hover{color:var(--terracotta);}
.mobile-menu .close-btn{
  position:absolute;
  top:20px;right:24px;
  font-size:2rem;
  background:none;
  border:none;
  cursor:pointer;
  color:var(--ink);
  line-height:1;
}
@media(max-width:880px){
  .nav-toggle{display:flex;}
  .nav-links{display:none!important;}
}
