:root{
  --dark:#171717;
  --dark-2:#242424;
  --accent:#d81f26;        /* merkerødt fra flyeren, hvit tekst */
  --accent-2:#ef3b42;      /* lysere rødt, hover */
  --accent-deep:#b3141a;   /* dypt rødt — tekst på hvitt */
  --accent-light:#ff9a9d;  /* lys rød — tekst på mørkt bilde */
  --tint:#fdecec;          /* myk rød flate */
  --tint-border:#f6cccd;
  --star:#f5a524;
  --light:#f6f5f4;
  --muted:#9aa4b2;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Segoe UI',Arial,sans-serif;
  background:var(--light);
  color:#1c2430;
  line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}

/* Header */
header{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  background:transparent;
  padding:16px 0;
  transition:background .3s, backdrop-filter .3s;
}
/* Gjennomsiktig over heroen; solid når man har scrollet forbi den.
   Undersider har ingen full hero, så de får .solid fra start. */
header.scrolled, header.solid{
  background:rgba(23,23,23,0.94);
  backdrop-filter:blur(6px);
}
header .container{display:flex;justify-content:space-between;align-items:center;gap:18px;}
.brand{display:flex;align-items:center;gap:10px;min-width:0;}
.brand svg{flex:0 0 auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));}
.logo{
  color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:.5px;line-height:1;white-space:nowrap;
  text-shadow:0 1px 3px rgba(0,0,0,.5),0 2px 14px rgba(0,0,0,.45);
}
.logo span{color:var(--accent-light);display:block;font-size:.6rem;font-weight:700;letter-spacing:3px;margin-top:2px;}
nav ul{list-style:none;display:flex;gap:30px;}
nav a{color:#fff;font-weight:600;font-size:.95rem;transition:color .2s;text-shadow:0 1px 3px rgba(0,0,0,.5);}
nav a:hover{color:var(--accent-light);}
nav a.active{color:var(--accent-light);}
.nav-cta{
  background:var(--accent);
  color:#fff !important;
  padding:10px 20px;
  border-radius:6px;
  font-weight:700;
  white-space:nowrap;
  text-shadow:none;
}
.nav-cta:hover{background:var(--accent-2);}

/* Hero (forside) */
.hero{
  position:relative;
  background:#171717;
  height:100vh;
  min-height:600px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
}
.hero-video-wrap{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-video-wrap video, .hero-video-wrap img{width:100%;height:100%;object-fit:cover;border:0;}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(15,15,15,.55) 0%, rgba(15,15,15,.38) 45%, rgba(15,15,15,.72) 100%);
  z-index:1;
}
.hero-content{position:relative;z-index:2;max-width:760px;margin:0 24px;padding:0 12px;}
.hero-tag{
  display:inline-block;
  background:rgba(216,31,38,0.30);
  border:1px solid var(--accent-light);
  color:#ffd0d2;
  text-shadow:0 1px 3px rgba(0,0,0,.5);
  padding:6px 16px;border-radius:30px;
  font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:24px;
}
.hero-content h1{
  font-size:3rem;font-weight:800;line-height:1.15;margin-bottom:20px;
  text-shadow:0 1px 3px rgba(0,0,0,.5),0 2px 18px rgba(0,0,0,.4);
}
.hero-content h1 em{font-style:normal;color:var(--accent-light);}
.hero-content p{
  font-size:1.15rem;color:#f2f2f2;max-width:580px;margin:0 auto 36px;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:15px 32px;border-radius:6px;
  font-weight:700;font-size:1rem;transition:transform .2s, box-shadow .2s, background .2s;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(216,31,38,.4);}
.btn-primary:hover{background:var(--accent-2);transform:translateY(-2px);}
.btn-outline{border:1.5px solid rgba(255,255,255,.65);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}

.scroll-cue{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;
  color:#fff;font-size:.8rem;text-shadow:0 1px 4px rgba(0,0,0,.6);
  display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.8;
}
.scroll-cue .dot{width:1px;height:34px;background:linear-gradient(#fff,transparent);}

/* Page hero (undersider) */
.page-hero{
  background:linear-gradient(120deg,#1d1d1d,#2c2c2c);
  color:#fff;padding:150px 0 70px;text-align:center;position:relative;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;
  background:radial-gradient(circle,rgba(216,31,38,.35),transparent 70%);
}
.page-hero .container{position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--accent-light);}
.page-hero h1{font-size:2.6rem;font-weight:800;margin-bottom:14px;}
.page-hero p{color:#d7d7d7;max-width:620px;margin:0 auto;font-size:1.08rem;}

/* Reviews strip */
.reviews-strip{background:#fff;border-bottom:1px solid #e7e9ed;padding:20px 0;text-align:center;}
.reviews-strip .container{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.reviews-stars{color:var(--star);font-size:1.1rem;letter-spacing:2px;}
.reviews-text{color:#5a6472;font-size:.95rem;}
.reviews-text strong{color:#101820;}

/* Trust bar */
.trust-bar{background:#fff;border-bottom:1px solid #e7e9ed;padding:22px 0;}
.trust-bar .container{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:10px;color:#3d4652;font-weight:600;font-size:.95rem;}
.trust-item .ic{color:var(--accent-deep);font-size:1.15rem;}

/* Section generic */
section{padding:100px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.eyebrow{
  color:var(--accent-deep);font-weight:700;font-size:.85rem;letter-spacing:1.5px;
  text-transform:uppercase;margin-bottom:12px;display:block;
}
.section-head h2{font-size:2.2rem;font-weight:800;color:#101820;margin-bottom:16px;}
.section-head p{color:#5a6472;font-size:1.05rem;}

/* About */
.about{background:#fff;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-text h2{font-size:2rem;font-weight:800;margin-bottom:20px;color:#101820;}
.about-text p{color:#5a6472;margin-bottom:16px;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}
.stat{background:var(--tint);color:#101820;padding:24px;border-radius:10px;border:1px solid var(--tint-border);}
.stat .num{font-size:1.7rem;font-weight:800;color:var(--accent-deep);}
.stat .label{font-size:.85rem;color:#5a6472;margin-top:4px;}
.about-visual{
  background:linear-gradient(135deg,#fdecec,#fbe0e1);
  border-radius:16px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;border:1px solid var(--tint-border);
}
.about-visual-img{width:100%;height:100%;object-fit:cover;display:block;}
.about-visual.logo-frame .about-visual-img{object-fit:contain;padding:40px;}

/* Services */
.services{background:var(--light);color:#1c2430;}
.services .section-head h2{color:#101820;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.service-grid.four{grid-template-columns:repeat(2,1fr);}
.service-card{
  background:#fff;border:1px solid #e7e9ed;border-radius:14px;padding:34px 28px;
  box-shadow:0 4px 18px rgba(20,25,35,.05);transition:transform .25s, border-color .25s, box-shadow .25s;
}
.service-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 10px 26px rgba(216,31,38,.16);}
.service-icon{
  width:54px;height:54px;border-radius:12px;background:var(--tint);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:1.5rem;
}
.service-card h3{font-size:1.25rem;margin-bottom:12px;color:#101820;}
.service-card p{color:#5a6472;font-size:.95rem;margin-bottom:18px;}
.service-card ul{list-style:none;color:#3d4652;font-size:.9rem;}
.service-card li{padding:4px 0;padding-left:20px;position:relative;}
.service-card li::before{content:"✓";position:absolute;left:0;color:var(--accent-deep);font-weight:700;}

/* Why us */
.why{background:#fff;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.why-item{text-align:center;padding:20px;}
.why-icon{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--tint);
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;
}
.why-item h4{font-size:1.05rem;margin-bottom:8px;color:#101820;}
.why-item p{font-size:.9rem;color:#5a6472;}

/* CTA banner */
.cta-banner{background:linear-gradient(120deg, var(--accent-deep), var(--accent-2));color:#fff;text-align:center;padding:70px 0;}
.cta-banner h2{font-size:2rem;font-weight:800;margin-bottom:14px;}
.cta-banner p{margin-bottom:30px;font-size:1.05rem;opacity:.92;}
.cta-banner .btn-primary{background:#171717;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.cta-banner .btn-primary:hover{background:#2c2c2c;}

/* Contact */
.contact{background:#fff;color:#1c2430;}
.contact .section-head h2{color:#101820;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.contact-info{display:flex;flex-direction:column;gap:22px;}
.contact-row{display:flex;gap:16px;align-items:flex-start;}
.contact-row .ic{
  width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:var(--tint);
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;
}
.contact-row h4{font-size:.95rem;color:#5a6472;margin-bottom:4px;font-weight:600;}
.contact-row p, .contact-row a{font-size:1.05rem;font-weight:600;color:#101820;}
.contact-form{background:var(--light);border-radius:14px;padding:32px;border:1px solid #e7e9ed;}
.contact-form input, .contact-form textarea{
  width:100%;background:#fff;border:1px solid #d8dce2;color:#1c2430;padding:13px 14px;
  border-radius:8px;margin-bottom:16px;font-size:.95rem;font-family:inherit;
}
.contact-form textarea{resize:vertical;min-height:110px;}
.contact-form button{width:100%;border:none;cursor:pointer;}

/* Footer */
footer{background:#171717;color:#b7bcc3;padding:52px 0 30px;font-size:.9rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:34px;}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:14px;}
.footer-col a{display:block;color:#b7bcc3;padding:4px 0;transition:color .2s;}
.footer-col a:hover{color:var(--accent-light);}
.footer-brand .logo{color:#fff;}
.footer-brand p{margin-top:12px;max-width:300px;color:#9aa1a9;}
.footer-bottom{border-top:1px solid #2c2c2c;padding-top:22px;text-align:center;color:#8b9199;font-size:.82rem;}
.footer-bottom strong{color:#fff;}

@media (max-width:900px){
  nav ul{display:none;}
  .about-grid, .contact-grid{grid-template-columns:1fr;}
  .service-grid, .service-grid.four{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .hero-content h1{font-size:2.1rem;}
  .page-hero h1{font-size:2rem;}
  .hero{height:auto;min-height:100vh;padding:120px 0 64px;}
  .scroll-cue{display:none;}
}
@media (max-width:600px){
  section{padding:70px 0;}
  .about-stats{grid-template-columns:1fr;gap:16px;}
  .stat .num{font-size:1.45rem;line-height:1.25;}
  .trust-bar .container{gap:16px 26px;}
  .page-hero{padding:130px 0 56px;}
}
@media (max-width:400px){
  .why-grid{grid-template-columns:1fr;gap:18px;}
  .logo{font-size:1rem;}
}
