:root{
  --ink:#0D1411; --green:#1A4D3A; --green-dk:#0D3628; --green-lt:#EAF0EC;
  --gold:#B8902E; --gold-lt:#FAF4E6; --white:#FFFFFF; --paper:#F6F7F5;
  --border:#E0E4DF; --muted:#6B7A6A; --soft:#8A9488; --sage:#9DCFBC;
  --serif:'Playfair Display',serif; --sans:'Inter',sans-serif; --mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
#services{scroll-margin-top:90px;}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0;margin:0;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}
[data-lang]{display:none !important;}
[data-lang].active{display:block !important;}
span[data-lang].active{display:inline !important;}

/* Semantiske headings beholder de eksisterende komponenters typografi. */
.semantic-heading{font-size:inherit;font-weight:inherit;}
#main-content{scroll-margin-top:84px;}
.skip-link{position:fixed;top:8px;left:16px;z-index:200;padding:12px 18px;background:var(--white);color:var(--green);transform:translateY(-200%);}
.skip-link:focus{transform:translateY(0);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--white);
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* ============ HEADER ============ */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:var(--green);
  border-bottom:0px solid var(--green-dk);
  transition:background 0.3s;
}
.site-header::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--green) 0%,var(--gold) 100%);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:74px;}
.brand-lockup{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand-logo{width:42px; height:42px; flex-shrink:0;}
.brand-text{font-family:var(--serif); font-size:18px; font-weight:700; color:var(--white); white-space:nowrap;}
.brand-text em{font-style:italic; font-weight:400; color:var(--sage);}

.main-nav{display:flex; align-items:center; gap:34px;}
.nav-link{font-size:13px; font-weight:500; color:rgba(255,255,255,0.7); text-decoration:none; letter-spacing:0.01em; position:relative; padding:4px 0;}
.nav-link:hover{color:var(--white);}
.nav-link::after{content:''; position:absolute; bottom:-2px; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform 0.25s ease;}
.nav-link:hover::after,.nav-link.section-active::after{transform:scaleX(1);}

.header-actions{display:flex; align-items:center; gap:18px;}
.lang-toggle{
  display:flex; align-items:center; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2);
  border-radius:20px; padding:3px; gap:2px;
}
.lang-btn{
  font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.04em;
  padding:5px 12px; border-radius:16px; color:rgba(255,255,255,0.7); transition:all 0.2s;
}
.lang-btn.active{background:var(--sage); color:var(--ink);}
.cta-btn{
  font-size:12.5px; font-weight:600; color:var(--green); background:var(--white);
  padding:10px 20px; border-radius:4px; letter-spacing:0.02em; white-space:nowrap;
  text-decoration:none; transition:background 0.2s;
}
.cta-btn:hover{background:var(--paper);}

.mobile-toggle{position:relative; display:none; width:34px; height:34px; flex-shrink:0;}
.mobile-toggle .bar{
  position:absolute; left:6px; right:6px; height:2px; background:var(--white); border-radius:1px;
  transition:transform 0.25s ease, opacity 0.25s ease;
}
.mobile-toggle .bar:nth-child(1){top:11px;}
.mobile-toggle .bar:nth-child(2){top:16px;}
.mobile-toggle .bar:nth-child(3){top:21px;}
.mobile-toggle.open .bar:nth-child(1){transform:translateY(5px) rotate(45deg);}
.mobile-toggle.open .bar:nth-child(2){opacity:0;}
.mobile-toggle.open .bar:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

.mobile-nav{
  display:none; visibility:hidden; flex-direction:column; background:var(--white); border-bottom:1px solid var(--border);
  max-height:0; overflow:hidden; transition:max-height 0.3s ease;
}
.mobile-nav.open{visibility:visible;max-height:480px;max-height:min(480px,calc(100vh - 74px));overflow-y:auto;}
.mobile-nav-link{
  padding:16px 32px; font-size:14.5px; font-weight:500; color:var(--ink); text-decoration:none;
  border-bottom:1px solid var(--border);
}
.mobile-nav-link:active{background:var(--paper);}

/* ============ HERO ============ */
.hero{position:relative; overflow:hidden; padding-top:77px; background:#1c3a2a;}
.hero-inner{
  --hero-midline-offset:clamp(24px,3vw,52px);
  display:grid; grid-template-columns:1fr 1fr; align-items:stretch; position:relative;
}
.hero-left{
  background:#1c3a2a; display:flex; flex-direction:column; justify-content:center;
  padding-top:56px; padding-bottom:56px; padding-right:56px;
  padding-left:max(32px, calc((100vw - 1180px) / 2 + 32px));
}
.hero-eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:0.22em; color:var(--gold);
  margin-bottom:20px; text-transform:uppercase;
}
.hero-h1{
  font-family:var(--serif); font-weight:700; color:var(--white);
  font-size:clamp(30px,3.6vw,46px); line-height:1.14; letter-spacing:-0.01em; margin-bottom:22px;
}
.hero-h1 em{font-style:italic; font-weight:400; color:var(--sage);}
.hero-desc{font-size:16.5px; color:rgba(255,255,255,0.82); max-width:480px; margin-bottom:32px; font-weight:300; line-height:1.7;}
.hero-actions{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}

.hero-tagline{
  grid-column:2; grid-row:1; align-self:start; justify-self:start; z-index:3;
  margin:clamp(56px,7vw,92px) 24px 0 var(--hero-midline-offset);
  color:var(--white); font-family:var(--serif); font-style:italic;
  font-size:clamp(20px,1.75vw,27px); line-height:1.22; pointer-events:none;
}
.hero-tagline-accessible{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.hero-tagline-prefix{display:block; color:rgba(255,255,255,0.76); font-weight:400;}
.hero-tagline-result{display:flex; align-items:baseline; gap:0.24em; white-space:nowrap;}
.hero-tagline-result strong{font-weight:700;}
.hero-tagline-marked{position:relative; display:inline-block;}
.hero-tagline-word{display:inline-block; font-weight:400; transition:opacity 350ms ease;}
.hero-tagline-word.is-changing{opacity:0;}
.hero-tagline-underline{
  position:absolute; left:-2%; bottom:-0.18em; width:104%; height:0.3em;
  overflow:visible; pointer-events:none;
}
.hero-tagline-underline path{
  fill:none; stroke:var(--gold); stroke-width:2.5; stroke-linecap:round;
}

.hero-photo-contact{
  position:absolute; top:0; bottom:0; left:0; z-index:2;
  width:-moz-fit-content; width:fit-content; max-width:calc(45% - 40px);
  padding:24px 28px; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  text-align:left;
}
.hero-namecard{
  font-size:13px; color:rgba(255,255,255,0.82); font-weight:300;
  display:flex; flex-direction:column; align-items:flex-start;
}
.hero-namecard-line{display:flex; flex-direction:column; align-items:flex-start;}
.hero-namecard-name{font-family:var(--serif); color:var(--white); font-weight:700; font-size:22px;}
.hero-namecard-title{font-size:15.5px;color:var(--sage); font-weight:300;}
.hero-namecard-linkedin, .hero-namecard-linkedin:visited{
  margin-top:20px; color:var(--white); text-decoration:none; display:inline-flex; align-items:center; gap:8px;
}
.hero-namecard-linkedin:hover{text-decoration:underline;}
.hero-namecard-more, .hero-namecard-more:visited{
  margin-top:10px; color:rgba(255,255,255,0.7); text-decoration:none; font-size:12.5px; font-weight:400;
}
.hero-namecard-more:hover{color:var(--white); text-decoration:underline;}
.hero-contact-line{
  margin-top:10px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; font-size:13px; color:rgba(255,255,255,0.82); font-weight:300;
}
.hero-contact-link, .hero-contact-link:visited{
  color:var(--white); text-decoration:none; display:inline-flex; align-items:center; gap:8px;
}
.hero-contact-link:hover{text-decoration:underline;}
.hero-icon-badge{
  width:22px; height:22px; border-radius:50%; background:var(--sage);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}
.hero-contact-icon{width:12px; height:12px; flex-shrink:0; color:var(--green-dk);}
.btn-primary{
  background:var(--gold); color:var(--white); font-size:14px; font-weight:700;
  padding:16px 32px; border-radius:4px; text-decoration:none; letter-spacing:0.02em; transition:background 0.2s;
  display:inline-block;
}
.btn-primary:hover{background:#9a7d26;}
.btn-secondary{
  font-size:13.5px; font-weight:600; color:var(--green); text-decoration:underline;
  text-underline-offset:4px; letter-spacing:0.02em;
}

.hero-photo{position:relative; grid-column:2; grid-row:1; overflow:hidden; background:#1c3a2a; height:100%;}
.hero-photo img{
  position:absolute; top:0; bottom:0; right:0;
  width:auto; height:100%; max-width:100%;
  object-fit:contain; object-position:right center; display:block;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 18%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 18%);
}
@media (min-width:801px){
  .hero-photo-contact{
    left:0; right:0; width:auto; max-width:none; justify-content:flex-end;
    padding-left:var(--hero-midline-offset); padding-right:0; padding-bottom:40px;
  }
  .hero-namecard-title[data-lang="da"] br{display:none;}
  .hero-namecard, .hero-contact-line{font-size:15.5px;}
}

.trust-strip{background:var(--paper); border-top:1px solid var(--border);}
.trust-strip .container{
  display:grid; grid-template-columns:1fr 1fr; align-items:start;
  column-gap:48px; row-gap:12px; padding-top:18px; padding-bottom:18px;
}
.trust-strip-item{
  font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px;
}
.trust-strip-item::before{content:'✓'; color:var(--green); font-weight:700;}
@media (min-width:801px){
  .trust-strip-item-nowrap{white-space:nowrap;}
}

@media (max-width:800px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-tagline{
    grid-column:1; grid-row:auto; order:2; justify-self:stretch; min-width:0;
    margin:0; padding:0 24px 40px; font-size:clamp(22px,6.2vw,26px);
  }
  .hero-photo{grid-column:1; grid-row:auto; order:3; min-height:320px;}
  .hero-photo-contact{max-width:calc(100% - 48px);}
  .hero-left{order:1; padding-left:24px; padding-right:24px; padding-top:40px; padding-bottom:40px;}
  .trust-strip .container{grid-template-columns:1fr; row-gap:10px;}
}

@media (max-width:420px){
  .hero-tagline{font-size:22px;}
}

.hero-stats{display:flex; flex-direction:column; gap:14px;}
.stat-card{
  background:var(--paper); border:1px solid var(--border); border-radius:8px; padding:22px 24px;
  display:flex; align-items:center; gap:18px; position:relative; overflow:hidden;
}
.stat-card::before{content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold); opacity:0.6;}
.stat-card.featured{background:var(--green); border-color:var(--green);}
.stat-card.featured::before{opacity:0.9;}
.stat-num{font-family:var(--serif); font-size:36px; font-weight:700; color:var(--green); width:62px; flex-shrink:0; line-height:1;}
.stat-card.featured .stat-num{color:var(--white);}
.stat-title{font-size:13px; font-weight:600; color:var(--ink); margin-bottom:3px;}
.stat-card.featured .stat-title{color:var(--white);}
.stat-sub{font-size:11.5px; color:var(--soft); line-height:1.5;}
.stat-card.featured .stat-sub{color:rgba(255,255,255,0.65);}

/* ============ SECTION SHARED ============ */
.section{padding:72px 0;}
.section-alt{background:var(--paper);}
.section-eyebrow{
  font-family:var(--mono); font-size:14px; letter-spacing:0.22em; color:var(--gold);
  text-transform:uppercase; margin-bottom:16px;
}
.section-title{
  font-family:var(--serif); font-weight:700; color:var(--ink);
  font-size:clamp(30px,3.6vw,42px); line-height:1.12; margin-bottom:16px;
}
.section-title em{font-style:italic; font-weight:400; color:var(--green);}
.section-lede{font-size:16px; color:var(--muted); /* max-width:600px; */ line-height:1.75; font-weight:300;}
.section-head{margin-bottom:56px;}

/* ============ ABOUT ============ */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;}
.about-copy p{font-size:15.5px; color:var(--muted); line-height:1.85; margin-bottom:18px; font-weight:300;}
.about-copy strong{color:var(--ink); font-weight:600;}
.about-copy ul{margin:0 0 18px; padding-left:20px;}
.about-copy li{font-size:15.5px; color:var(--muted); line-height:1.85; font-weight:300; margin-bottom:8px;}
.approach-grid{margin:10px 0 28px;}
.approach-grid .svc-tag{margin-bottom:10px;}
.cred-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.cred-col-title{
  font-family:var(--mono); font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
}
.cred-item{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:16px 0; border-bottom:1px solid var(--border);
}
.cred-item:last-child{border-bottom:none;}
.cred-item-title{font-family:var(--serif); font-weight:700; font-size:16px; color:var(--ink); margin-bottom:4px;}
.cred-item-org{font-size:13.5px; color:var(--soft); font-weight:300;}
.cred-item-year{font-family:var(--mono); font-size:13px; color:var(--muted); flex-shrink:0;}
@media (max-width:900px){
  .cred-grid{grid-template-columns:1fr; gap:8px;}
  .cred-col{margin-bottom:32px;}
  .cred-col:last-child{margin-bottom:0;}
}
.principles-grid{display:grid; grid-template-columns:1fr 1fr; column-gap:14px; row-gap:40px;}
.principle{
  background:var(--white); border:1px solid var(--border); border-radius:8px; padding:34px 20px 20px;
  position:relative; overflow:visible;
}
.principle::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--green); border-radius:8px 8px 0 0;}
.principle-icon{
  width:48px; height:48px; border-radius:50%; background:var(--green); display:flex; align-items:center;
  justify-content:center; margin:-56px auto 6px; box-shadow:0 4px 10px rgba(13,20,17,0.15);
  position:relative; z-index:1;
}
.principle-icon svg{width:22px; height:22px; stroke:#fff; fill:none; stroke-width:1.6;}
.principle-num{font-family:var(--mono); font-size:10px; color:var(--gold); margin-bottom:8px;}
.principle-title{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--ink); margin-bottom:6px;}
.principle-desc{font-size:14px; color:var(--soft); line-height:1.55;}

/* ============ SERVICES — GRC TRIANGLE ============ */
.grc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); column-gap:22px; row-gap:36px; margin-bottom:72px;
  position:relative; padding-top:4px;
}
.grc-grid::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--green) 0%, var(--gold) 100%); border-radius:2px;}
.grc-card{
  background:var(--white); border:1px solid var(--border); border-radius:0 0 10px 10px; padding:46px 30px 34px;
  position:relative; overflow:visible;
}
.grc-icon{
  width:52px; height:52px; border-radius:50%; background:var(--green); display:flex; align-items:center;
  justify-content:center; margin:-70px auto 22px; box-shadow:0 4px 10px rgba(13,20,17,0.15);
  position:relative; z-index:1;
}
.grc-icon svg{width:24px; height:24px; stroke:#fff; fill:none; stroke-width:1.6; color:#fff;}
.grc-title{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--green); margin-bottom:0px;}
.grc-tag{font-family:var(--serif); font-style:italic; font-weight:400; font-size:18px; color:var(--gold); margin-bottom:18px;}
.grc-desc{font-size:14px; color:var(--muted); line-height:1.75; font-weight:300;}

.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.svc-card{background:var(--paper); border:1px solid var(--border); border-radius:8px; padding:22px 22px; display:flex; flex-direction:column;}
.svc-more{
  margin-top:auto; align-self:flex-end; font-size:14px; font-weight:600;
  color:var(--white); background:var(--green); text-decoration:none; letter-spacing:0.02em;
  padding:8px 16px; border-radius:4px; transition:background 0.2s;
}
.svc-more:hover{background:var(--green-dk);}
.svc-tag{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--green); margin-bottom:0px;}
.svc-title{font-family:var(--serif); font-style:italic; font-size:18px; color:var(--gold); margin-bottom:10px;}
.svc-desc{font-size:14px; color:var(--muted); line-height:1.75; font-weight:300;}

.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.case-card{background:var(--paper); border:1px solid var(--border); border-radius:8px; padding:22px 22px; display:flex; flex-direction:column;}
.case-sector{
  font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:var(--gold);
  text-transform:uppercase; margin-bottom:14px;
}
.case-title{font-family:var(--serif); font-size:19px; font-weight:700; color:var(--ink); line-height:1.3; margin-bottom:10px;}
.case-desc{font-size:14px; color:var(--muted); line-height:1.75; font-weight:300;}

.blog-post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:32px;}
.blog-post-card{
  background:var(--paper); border:1px solid var(--border); border-radius:8px; padding:22px 22px;
  display:flex; flex-direction:column; text-decoration:none; transition:border-color 0.2s, transform 0.2s;
}
.blog-post-card:hover{border-color:var(--green); transform:translateY(-2px);}
.blog-post-date{font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:var(--gold); text-transform:uppercase; margin-bottom:14px;}
.blog-post-title{font-family:var(--serif); font-size:19px; font-weight:700; color:var(--ink); line-height:1.3; margin-bottom:10px;}
.blog-post-desc{font-size:14px; color:var(--muted); line-height:1.75; font-weight:300; margin-bottom:14px;}
.blog-post-more{font-size:13.5px; font-weight:600; color:var(--green); margin-top:auto;}
@media(max-width:900px){
  .blog-post-grid{grid-template-columns:1fr;}
}

/* ============ METHOD / WORKING METHOD ============ */
.mid-cta-section{padding:0 0 32px;}
.mid-cta{
  background:var(--green); border-radius:14px; padding:32px; display:flex; align-items:center;
  justify-content:space-between; gap:24px; flex-wrap:wrap; position:relative; overflow:hidden;
}
.mid-cta::before{
  content:''; position:absolute; top:-100px; right:-60px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(184,144,46,0.18) 0%, transparent 70%);
}
.mid-cta-copy{position:relative; z-index:1;}
.mid-cta-text{font-family:var(--serif); font-size:22px; font-weight:700; color:var(--white); margin-bottom:10px;}
.mid-cta-desc{font-size:14px; color:rgba(255,255,255,0.6); max-width:420px;}
.mid-cta-btn{
  flex-shrink:0; background:var(--gold); color:var(--white); font-size:13.5px; font-weight:700;
  padding:14px 30px; border-radius:4px; text-decoration:none; white-space:nowrap;
  transition:background 0.2s; position:relative; z-index:1;
}
.mid-cta-btn:hover{background:#9a7d26;}
@media(max-width:600px){
  .mid-cta{flex-direction:column; align-items:flex-start; text-align:left; padding:36px 28px;}
}

.method-section{background:var(--paper); position:relative; overflow:hidden;}

.method-track{position:relative; margin-top:64px;}
.method-line{position:absolute; top:24px; left:5%; right:5%; height:2px; background:var(--green);}
.method-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;}
.method-step{text-align:center;}
.method-dot{
  width:48px; height:48px; border-radius:50%; background:var(--green); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px;
  font-weight:700; margin:0 auto 22px; position:relative; z-index:2; border:4px solid var(--paper);
}
.method-step-title{font-family:var(--serif); font-size:17px; font-weight:700; color:var(--ink); margin-bottom:10px;}
.method-step-desc{font-size:14px; color:var(--muted); line-height:1.65;}

/* ============ BLOG TEASER ============ */
.blog-teaser{
  background:var(--green); border-radius:14px; padding:56px 56px; display:flex; align-items:center;
  justify-content:space-between; gap:40px; position:relative; overflow:hidden;
}
.blog-teaser::before{
  content:''; position:absolute; top:-100px; right:-60px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(184,144,46,0.18) 0%, transparent 70%);
}
.blog-teaser-eyebrow{font-family:var(--mono); font-size:14px; letter-spacing:0.18em; color:var(--gold); text-transform:uppercase; margin-bottom:14px;}
.blog-teaser-title{font-family:var(--serif); font-size:28px; font-weight:700; color:var(--white); margin-bottom:10px; max-width:480px;}
.blog-teaser-title em{font-style:italic; font-weight:400; color:var(--sage);}
.blog-teaser-desc{font-size:14px; color:rgba(255,255,255,0.6); max-width:420px;}
.blog-teaser-btn{
  flex-shrink:0; background:var(--white); color:var(--green); font-size:13.5px; font-weight:700;
  padding:14px 30px; border-radius:4px; text-decoration:none; white-space:nowrap; transition:transform 0.2s;
}
.blog-teaser-btn:hover{transform:translateX(3px);}

/* ============ CONTACT ============ */
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px;}
.contact-info-card{background:var(--paper); border:1px solid var(--border); border-radius:10px; padding:36px 32px; height:fit-content;}
.contact-info-title{font-family:var(--serif); font-size:19px; font-weight:700; color:var(--ink); margin-bottom:18px;}
.contact-detail{display:flex; gap:14px; margin-bottom:20px; align-items:flex-start;}
.contact-detail-icon{
  width:36px; height:36px; border-radius:8px; background:var(--green-lt); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.contact-detail-icon svg{width:17px; height:17px; stroke:var(--green); fill:none; stroke-width:1.8;}
.contact-detail-label{font-size:10.5px; color:var(--soft); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:3px;}
.contact-detail-value{font-size:14px; color:var(--ink); font-weight:500;}
.contact-rule{width:36px; height:2px; background:var(--gold); margin:24px 0;}
.contact-tagline{font-family:var(--serif); font-style:italic; font-size:14px; color:var(--green);}

.form-card{background:var(--white); border:1px solid var(--border); border-radius:10px; padding:40px 40px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:7px;}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:6px; font-family:var(--sans);
  font-size:14px; color:var(--ink); background:var(--paper); transition:border-color 0.2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none; border-color:var(--green); background:var(--white);
}

.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{
  outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--white);
}
.form-group textarea{resize:vertical; min-height:100px;}
.form-submit{
  width:100%; background:var(--green); color:var(--white); font-size:14px; font-weight:700;
  padding:15px; border-radius:6px; letter-spacing:0.02em; transition:background 0.2s; margin-top:6px;
}
.form-submit:hover{background:var(--green-dk);}
.form-submit:disabled{opacity:0.6; cursor:not-allowed;}
.form-note{margin-top:12px; font-size:12px; color:var(--muted); text-align:center;}
.form-status{margin-top:14px; font-size:13px; padding:12px 14px; border-radius:6px;}
.form-status:not(.show){position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.form-status.show{display:block;}
.form-status.success{background:var(--green-lt); color:var(--green-dk);}
.form-status.error{background:#FDF0EB; color:#B83A10;}
.hp-field{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}

/* ============ FOOTER ============ */
.site-footer{background:var(--green); padding:60px 0 32px; border-top:3px solid var(--gold);}
.footer-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:40px; flex-wrap:wrap; gap:30px;}
.footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.footer-brand-text{font-family:var(--serif); font-size:19px; font-weight:700; color:#EEF2F0;}
.footer-brand-text em{font-style:italic; font-weight:400; color:var(--sage);}
.footer-tagline{font-family:var(--serif); font-style:italic; font-size:14px; color:var(--gold);}
.footer-cols{display:flex; gap:56px;}
.footer-col-title{font-family:var(--mono); font-size:10px; letter-spacing:0.14em; color:var(--gold); text-transform:uppercase; margin-bottom:14px;}
.footer-link{display:block; font-size:13px; color:rgba(238,242,240,0.55); text-decoration:none; margin-bottom:9px;}
.footer-link:hover{color:var(--white);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08); padding-top:24px; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:12px;
}
.footer-legal{font-family:var(--mono); font-size:13px; color:white; letter-spacing:0.02em;}
.footer-registration-num{font-family:var(--mono); font-size:13px; color:white; letter-spacing:0.02em; font-weight:300;}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .main-nav{display:none;}
  .mobile-toggle{display:block;}
  .mobile-nav{display:flex;}
  .cta-btn.cta-btn{display:none !important;}
  .about-grid{grid-template-columns:1fr; gap:48px;}
  .grc-grid{grid-template-columns:1fr; padding-top:0;}
  .grc-grid::before{display:none;}
  .grc-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--green);}
  .svc-grid{grid-template-columns:1fr 1fr;}
  .case-grid{grid-template-columns:1fr 1fr;}
  .method-steps{grid-template-columns:1fr; gap:0;}
  .method-line{display:none;}
  .method-track::before{
    content:''; position:absolute; top:24px; bottom:24px; left:23px; width:2px; background:var(--green);
  }
  .method-step{
    display:grid; grid-template-columns:48px 1fr; grid-template-rows:auto auto;
    column-gap:20px; row-gap:6px; text-align:left; padding-bottom:36px;
  }
  .method-step:last-child{padding-bottom:0;}
  .method-dot{grid-column:1; grid-row:1/3; margin:0;}
  .method-step-title{grid-column:2; grid-row:1;}
  .method-step-desc{grid-column:2; grid-row:2;}
  .contact-grid{grid-template-columns:1fr; gap:40px;}
  .blog-teaser{flex-direction:column; text-align:center; padding:40px 28px;}
  .footer-top{flex-direction:column;}
  .footer-cols{gap:36px;}
}
/* ============ SERVICE DETAIL PAGES ============ */
.svc-hero{
  background:var(--white); padding:120px 0 60px; position:relative; overflow:hidden;
}
.svc-hero::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--green) 0%,var(--gold) 100%);
}
.svc-hero::after{
  content:''; position:absolute; top:-120px; right:-80px; width:360px; height:360px;
  border-radius:50%; background:radial-gradient(circle,rgba(184,144,46,0.12) 0%,transparent 70%);
  pointer-events:none;
}
.svc-breadcrumb{
  font-family:var(--mono); font-size:14px; letter-spacing:0.16em; color:var(--gold);
  text-transform:uppercase; margin-bottom:24px; text-decoration:none; display:inline-block;
  transition:color 0.2s; position:relative; z-index:1;
}
.svc-breadcrumb:hover{color:var(--sage);}
.svc-hero-title{
  font-family:var(--serif); font-weight:700; color:var(--green); position:relative; z-index:1;
  font-size:clamp(32px,4.2vw,52px); line-height:1.08; margin-bottom:10px;
}
.svc-hero-subtitle{
  font-family:var(--serif); font-style:italic; color:var(--gold); position:relative; z-index:1;
  font-size:clamp(17px,1.8vw,22px); line-height:1.4; margin-bottom:0;
}
.svc-hero-rule{width:46px; height:2px; background:var(--gold); border-radius:2px; margin:20px 0 0; position:relative; z-index:1;display:none;}
.svc-hero-head{display:flex; align-items:center; gap:22px; position:relative; z-index:1;}
.svc-hero-wrap{position:relative;}
.svc-hero-photo-float{position:absolute; top:158px; left:0; right:0; z-index:2; pointer-events:none;}
.svc-hero-photo-float .container{display:flex; justify-content:flex-end;}
.svc-hero-avatar{position:relative; flex-shrink:0; pointer-events:auto;}
.svc-hero-avatar img{
  display:block; width:150px; height:150px; border-radius:50%; object-fit:cover; object-position:50% 15%;
  border:3px solid var(--gold); box-shadow:0 12px 32px rgba(13,20,17,0.16);
}
.svc-hero-avatar-badge{
  position:absolute; width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; transition:background 0.2s;
  border:2px solid var(--white); box-shadow:0 2px 8px rgba(13,20,17,0.18);
}
.svc-hero-avatar-linkedin{background:var(--green); bottom:2px; left:-6px;}
.svc-hero-avatar-linkedin:hover{background:var(--green-dk);}
.svc-hero-avatar-email{background:var(--gold); bottom:2px; right:-6px;}
.svc-hero-avatar-email:hover{background:#9c7a26;}
.svc-hero-avatar-badge svg{width:14px; height:14px; color:var(--white);}
@media (max-width:600px){
  .svc-hero-photo-float{position:static; margin-top:-40px;}
  .svc-hero-photo-float .container{justify-content:center;}
  .svc-hero-avatar img{width:110px; height:110px;}
}

.svc-challenge-card{margin-top:40px; margin-bottom:32px;}
.svc-challenge-label{
  font-family:var(--serif); font-size:21px; font-weight:700; color:var(--green); margin-bottom:16px;
}
.svc-challenge-text{font-size:15.5px; color:var(--muted); line-height:1.8; font-weight:300;}
.svc-triggers{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.svc-trigger{
  font-size:12.5px; font-weight:500; color:var(--ink); background:var(--paper);
  border:1px solid var(--border); border-radius:20px; padding:6px 14px; white-space:nowrap;
}
.svc-help-cta{
  position:absolute; bottom:28px; left:28px; right:28px;
  padding-top:20px; text-align:center;
}
.svc-body-grid > .svc-section-card{padding-bottom:88px;}
.svc-cta-btn{
  display:inline-block;
  background:var(--green); color:#fff;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  padding:10px 24px; border-radius:6px;
  text-decoration:none; letter-spacing:0.02em; white-space:nowrap;
  transition:background 0.18s;
}
.svc-cta-btn:hover{background:var(--green-dk);}

.svc-body-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:36px; align-items:stretch; padding-top:40px;}
.svc-right-col{display:flex; flex-direction:column; gap:72px;}

.svc-section-card{
  background:var(--white); border:1px solid var(--border); border-radius:10px;
  padding:40px 28px 28px; position:relative; overflow:visible;
}
.svc-section-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--green); border-radius:10px 10px 0 0;
}
.svc-card-icon{
  width:52px; height:52px; border-radius:50%; background:var(--green);
  display:flex; align-items:center; justify-content:center;
  margin:-68px auto 20px; box-shadow:0 4px 10px rgba(13,20,17,0.15);
  position:relative; z-index:1;
}
.svc-card-icon svg{width:24px; height:24px; stroke:#fff; fill:none; stroke-width:1.6;}
.svc-section-card.card-gold::before{background:linear-gradient(90deg,var(--green),var(--gold));}
.svc-section-card.card-gold .svc-card-icon{background:var(--gold);}

.svc-help-title{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--green); margin-bottom:20px; text-align:center;}
.svc-help-title em{font-style:italic; font-weight:400;}
.svc-help-bullets{list-style:none; padding:0; margin:0;}
.svc-help-bullets li{
  font-size:14.5px; color:var(--muted); line-height:1.8; font-weight:300;
  padding-left:22px; margin-bottom:18px; position:relative;
}
.svc-help-bullets li::before{
  content:''; position:absolute; left:0; top:9px;
  width:8px; height:8px; border-radius:50%; background:var(--green);
}

.svc-del-title{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--green); margin-bottom:16px; text-align:center;}
.svc-del-list{list-style:none; padding:0; margin:0;}
.svc-del-list li{
  font-size:14px; font-weight:600; color:var(--ink); padding-left:28px;
  margin-bottom:12px; position:relative; line-height:1.4;
}
.svc-del-list li::before{
  content:'✓'; position:absolute; left:0; color:var(--green); font-weight:700; font-size:15px; line-height:1.3;
}

.svc-val-title{font-family:var(--serif); font-size:21px; font-weight:700; color:var(--gold); margin-bottom:12px; text-align:center;}
.svc-val-text{font-size:14px; color:var(--muted); line-height:1.75; font-weight:300;}

.svc-why-box{
  margin-top:56px; background:var(--green); border-radius:14px; padding:52px 56px;
  position:relative; overflow:hidden;
}
.svc-why-box::before{
  content:''; position:absolute; top:-80px; right:-60px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle,rgba(184,144,46,0.18) 0%,transparent 70%); pointer-events:none;
}
.svc-why-inner{display:flex; gap:40px; align-items:flex-start; position:relative;}
.svc-why-label{
  font-family:var(--serif); font-size:21px; font-weight:700; color:var(--white);
  white-space:nowrap; flex-shrink:0; min-width:200px; padding-top:2px;
}
.svc-why-label em{font-style:italic; font-weight:400; color:var(--sage);}
.svc-why-divider{width:2px; background:var(--gold); align-self:stretch; flex-shrink:0; border-radius:2px; opacity:0.6;}
.svc-why-text{
  font-family:var(--serif); font-style:italic; font-size:16px; color:rgba(255,255,255,0.8); line-height:1.75;
}

.svc-cta-bar{padding:72px 0; text-align:center;}
.svc-cta-bar-desc{font-size:17px; color:var(--muted); margin-bottom:28px; font-weight:300;}
.svc-cta-actions{display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap;}

@media (max-width:900px){
  .svc-body-grid{grid-template-columns:1fr; padding-top:40px; align-items:start;}
  .svc-right-col{gap:72px;}
  .svc-why-box{padding:36px 28px;}
  .svc-why-inner{flex-direction:column; gap:20px;}
  .svc-why-divider{width:46px; height:2px; align-self:auto;}
  .svc-why-label{white-space:normal; min-width:auto;}
}

/* ============ RESPONSIVE (continued) ============ */
@media (max-width:600px){
  .container{padding:0 20px;}
  .section{padding:72px 0;}
  .mid-cta-section{padding:0 0 32px;}
  .form-row{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:1fr;}
  .case-grid{grid-template-columns:1fr;}
  .principles-grid{grid-template-columns:1fr;}
  .method-steps{grid-template-columns:1fr;}
  .footer-cols{flex-direction:column; gap:24px;}
  .form-card{padding:28px 22px;}
  .contact-info-card{padding:28px 22px;}
  .grc-card{padding:26px 22px;}
  .grc-icon{margin:-50px auto 22px;}
  .blog-teaser{padding:36px 22px;}
  .hero-actions{flex-direction:column; align-items:stretch; gap:14px;}
  .btn-primary, .btn-secondary{text-align:center;}
  .header-inner{height:64px;}
  .hero{padding-top:64px;}
}

@media print {
  /* Header: statisk på alle sider */
  .site-header{position:static !important; box-shadow:none !important;}
  /* Tagline i header — kun på undersider */
  body.page-home .print-header-tagline{display:none !important;}
  body:not(.page-home) .print-header-tagline{
    display:block !important;
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:var(--gold); margin-left:auto;
  }
  /* Nav og knapper skjules kun på undersider (ikke forsiden) */
  body:not(.page-home) .main-nav,
  body:not(.page-home) .mobile-nav,
  body:not(.page-home) .mobile-toggle,
  body:not(.page-home) .lang-toggle,
  body:not(.page-home) [data-lang].active.cta-btn,
  body:not(.page-home) .cta-btn{display:none !important;}
  .hero{padding-top:0 !important;}
  .svc-hero{padding-top:24px !important;}
  .svc-hero::after{display:none !important;}
  .svc-hero-photo-float{top:24px !important;}
  .section-alt{padding:22px 0 !important;}

  /* Sideskift */
  section{break-before:page;}
  section:first-of-type{break-before:auto;}
  #metode{break-before:auto;}
  .svc-hero + section, .svc-cta-bar{break-before:auto;}
  .svc-section-card, .svc-body-grid, .svc-why-box, .svc-cta-bar{break-inside:avoid;}

  /* Skjul unødvendige elementer */
  [data-lang].active.btn-secondary, .svc-cta-actions .btn-secondary{display:none !important;}
  [data-lang].active.svc-breadcrumb, .svc-breadcrumb{display:none !important;}
  section#kontakt, #kontakt{display:none !important;}
  .svc-cta-bar{display:none !important;}
  .svc-help-cta{display:none !important;}

  /* Skjul stor footer og vis print-footer kun på undersider */
  body:not(.page-home) .site-footer{display:none !important;}
  .site-footer{break-before:page;}
  body:not(.page-home) .print-footer{
    display:block !important;
    margin-top:32px;
    background:var(--green); padding:10px 24px;
  }
  .print-footer-inner{
    display:flex; align-items:center;
    font-family:'Inter',sans-serif; font-size:11px; color:rgba(255,255,255,0.85);
  }
  .print-footer-brand{font-weight:600; color:#fff; flex:0 0 50%;}
  .print-footer-contact{flex:0 0 50%; display:flex; justify-content:space-between; align-items:center;}
  .print-footer-item{display:inline-flex; align-items:center; gap:5px;}
  .print-footer-icon{width:11px; height:11px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}
}
@media screen{.print-footer{display:none;}
.print-header-tagline{display:none;}}
