/* Självhostad Inter — utan detta renderas sajten i systemtypsnitt.
   700-deklarationen täcker 700–950 (designens tunga vikter). */
@font-face { font-family:Inter; src:url(/fonts/inter-400.woff2) format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Inter; src:url(/fonts/inter-500.woff2) format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Inter; src:url(/fonts/inter-600.woff2) format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:Inter; src:url(/fonts/inter-700.woff2) format("woff2"); font-weight:700 950; font-style:normal; font-display:swap; }

:root {
  --ink:#102d2f;
  --ink-2:#183b3d;
  --paper:#f4f1e9;
  --paper-2:#e9e5dc;
  --white:#fffdf8;
  --acid:#d7ee8d;
  --violet:#625fc2;
  --sky:#b9dfe7;
  --coral:#e69787;
  --muted:#65716f;
  --line:rgba(16,45,47,.18);
  --shell:min(1380px,92vw);
  --shadow:0 25px 70px rgba(16,45,47,.13);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:18px; line-height:1.55; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
img,svg { max-width:100%; }
h1,h2,h3,p { text-wrap:pretty; }
h1,h2,h3 { margin-top:0; line-height:.96; letter-spacing:-.045em; }
h1 { max-width:1050px; margin-bottom:1.5rem; font-size:clamp(3.8rem,8vw,8.5rem); }
h2 { font-size:clamp(2.6rem,5.4vw,5.8rem); }
h3 { font-size:clamp(1.45rem,2.4vw,2.5rem); }
p { margin-top:0; }
em { color:var(--acid); font-style:normal; }
ul { padding-left:1.2rem; }
.shell { width:var(--shell); margin-inline:auto; }
.sr-only,.honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; z-index:1000; top:1rem; left:1rem; padding:.7rem 1rem; color:var(--ink); background:var(--acid); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--violet); outline-offset:4px; }

.site-header { position:sticky; z-index:100; top:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; min-height:84px; padding:0 3vw; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--paper) 92%,transparent); backdrop-filter:blur(18px); }
.brand { display:inline-flex; gap:.75rem; align-items:center; font-weight:850; letter-spacing:-.03em; white-space:nowrap; }
.brand-mark { display:grid; grid-template-columns:repeat(3,5px); gap:3px; align-items:end; width:24px; height:26px; transform:skew(-16deg); }
.brand-mark i { width:5px; background:currentColor; }
.brand-mark i:nth-child(1){height:14px}.brand-mark i:nth-child(2){height:26px}.brand-mark i:nth-child(3){height:20px}
.main-nav { display:flex; gap:clamp(.8rem,2vw,2.1rem); justify-content:center; padding-inline:1.5rem; }
.main-nav a { position:relative; font-size:.84rem; font-weight:750; }
.main-nav a::after { position:absolute; right:0; bottom:-.45rem; left:0; height:2px; background:currentColor; transform:scaleX(0); content:""; transition:transform .18s ease; }
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after,.main-nav a:focus-visible::after { transform:scaleX(1); }
.menu-button { display:none; width:46px; height:46px; padding:12px; border:0; background:transparent; }
.menu-button>span { display:block; width:24px; height:2px; margin:6px auto; background:var(--ink); transition:transform .18s ease; }
.button { display:inline-flex; gap:.8rem; align-items:center; justify-content:center; min-height:50px; padding:.78rem 1.15rem; border:1px solid var(--ink); color:var(--white); background:var(--ink); font-size:.82rem; font-weight:850; transition:transform .18s ease,background .18s ease; }
.button:hover { transform:translateY(-3px); }
.button--acid { color:var(--ink); background:var(--acid); }
.button--ghost { color:inherit; background:transparent; border-color:currentColor; }
.header-cta { color:var(--white); background:var(--ink); }
.button-row,.section-action { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; margin-top:2rem; }

.hero { position:relative; overflow:hidden; padding:clamp(5rem,9vw,9rem) 0; }
.hero::before { position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 85% 25%,rgba(98,95,194,.24),transparent 30%); background-size:58px 58px,58px 58px,auto; content:""; }
.hero--dark { color:var(--white); background:var(--ink); }
.hero--acid { color:var(--ink); background:var(--acid); }
.hero--soft { background:var(--paper-2); }
.hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.hero-copy .lead { max-width:780px; color:inherit; opacity:.72; font-size:clamp(1.05rem,1.7vw,1.35rem); }
.eyebrow { margin:0 0 1.25rem; font-size:.66rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.hero-signal { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:.8rem; align-items:center; padding:2rem; color:var(--ink); background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.hero-signal span { padding:1.4rem .8rem; background:var(--paper-2); font-size:.64rem; font-weight:950; text-align:center; }
.hero-signal span:nth-of-type(2){color:var(--white);background:var(--violet)}.hero-signal span:nth-of-type(3){background:var(--acid)}
.hero-signal i { color:var(--violet); font-style:normal; }

.section { padding:clamp(5rem,9vw,9rem) 0; }
.section--dark { color:var(--white); background:var(--ink); }
.section--soft { background:var(--paper-2); }
.section--sky { background:var(--sky); }
.section-head { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.section-head h2 { margin-bottom:0; }
.section-head .lead { max-width:680px; margin:0; color:var(--muted); }
.section--dark .section-head .lead { color:rgba(255,255,255,.64); }
.reveal { opacity:0; transform:translateY(25px); transition:opacity .55s ease,transform .55s ease; }
.reveal.is-visible { opacity:1; transform:none; }
/* Det som redan syns vid första målningen tonas aldrig in. Hjältesektionens
   demoruta låg på opacity 0 tills site-v2.js hunnit köra (~0,9 s), medan
   rubriken bredvid målades direkt — halva hjälten syntes, resten dök upp en
   sekund senare. Inget fel i JS:en; innehållet var gömt i väntan på den. */
.hero .reveal { opacity:1; transform:none; }
/* Utan JS finns ingen som tar bort döljandet. Då ska sidan visas, inte vara
   tom — samma skydd som style.css redan har för de äldre sidorna. */
@media (scripting: none) { .reveal { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; } }

.trust-strip { padding:1.2rem 0; color:var(--ink); background:var(--acid); border-block:1px solid var(--ink); }
.trust-strip .shell { display:flex; gap:1.5rem; align-items:center; justify-content:space-between; font-size:.63rem; font-weight:950; letter-spacing:.08em; }
.trust-strip a { text-decoration:underline; text-underline-offset:4px; }
.product-demo { overflow:hidden; color:var(--ink); background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.product-demo>header,.product-demo>footer { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; background:var(--white); border-bottom:1px solid var(--line); font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.product-demo>footer { border-top:1px solid var(--line); border-bottom:0; }
.demo-flow { display:grid; grid-template-columns:1fr 50px 1fr; gap:1rem; align-items:center; padding:1.4rem; }
.demo-flow article { min-height:310px; padding:1.5rem; background:var(--white); border:1px solid var(--line); }
.demo-flow article:first-child { background:var(--paper-2); }
.demo-flow small { color:var(--violet); font-size:.57rem; font-weight:950; letter-spacing:.1em; }
.demo-flow h3 { margin-top:5rem; }
.demo-flow>i { color:var(--violet); font-style:normal; font-size:1.5rem; text-align:center; }
.demo-answer { border-top:5px solid var(--acid)!important; }
.demo-answer li { margin:.5rem 0; }

.question-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.question-grid article { display:flex; flex-direction:column; min-height:280px; padding:1.3rem; background:var(--white); }
.question-grid article:nth-child(2){background:var(--acid)}.question-grid article:nth-child(3){background:var(--sky)}.question-grid article:nth-child(4){background:color-mix(in srgb,var(--coral) 35%,var(--white))}
.question-grid span,.process-grid span,.scenario-card>span,.story-grid span,.principle-grid span { color:var(--violet); font-size:.68rem; font-weight:950; }
.question-grid h3 { margin:auto 0 0; }
.product-pair { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; }
.product-pair--three { grid-template-columns:repeat(3,1fr); }
.product-card { display:flex; flex-direction:column; min-height:540px; padding:clamp(1.4rem,3vw,2.4rem); border:1px solid rgba(255,255,255,.18); }
.product-card--acid { color:var(--ink); background:var(--acid); }.product-card--violet { color:var(--white); background:var(--violet); }.product-card--sky { color:var(--ink); background:var(--sky); }
.product-card>span { font-size:.62rem; font-weight:950; letter-spacing:.1em; }.product-card h3 { margin:auto 0 1rem; font-size:clamp(3rem,5vw,5.4rem); }.product-card p { max-width:600px; opacity:.72; }.product-card>b { margin-top:1.4rem; font-size:.72rem; }

.scenario-grid,.evidence-grid,.package-grid,.module-grid,.process-grid,.metric-grid,.principle-grid,.use-grid,.audience-grid,.case-template,.story-grid { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.scenario-grid,.evidence-grid,.package-grid,.metric-grid { grid-template-columns:repeat(3,1fr); }
.scenario-card,.evidence-grid article,.module-grid article,.process-grid article,.metric-grid article,.principle-grid article,.use-grid article,.case-template article,.story-grid article { padding:1.4rem; background:var(--white); }
.scenario-card { display:flex; flex-direction:column; min-height:400px; }.scenario-card small { margin:.8rem 0; color:var(--violet); font-weight:850; }.scenario-card h3 { margin:auto 0 1rem; }.scenario-card a { margin-top:1rem; font-weight:850; }
.evidence { background:var(--white); }.evidence-grid article { min-height:330px; }.evidence-grid span { color:var(--violet); font-size:.58rem; font-weight:950; }.evidence-grid h3 { margin:5rem 0 1rem; }
.process-grid { grid-template-columns:repeat(4,1fr); }.process-grid article { min-height:300px; }.process-grid h3 { margin:5rem 0 1rem; }.process-grid p { color:var(--muted); }
.metric-grid { grid-template-columns:repeat(3,1fr); background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.15); }.metric-grid article { min-height:230px; color:var(--white); background:var(--ink-2); }.metric-grid p { color:rgba(255,255,255,.6); }
.module-grid { grid-template-columns:repeat(4,1fr); }.module-grid article { min-height:250px; }.module-grid h3 { margin:4rem 0 0; }
.tag-grid { display:flex; flex-wrap:wrap; gap:.7rem; }.tag-grid span { padding:.9rem 1rem; color:var(--ink); background:var(--white); font-weight:800; }.tag-grid small { display:block; color:var(--violet); font-size:.52rem; }

.package-grid--four { grid-template-columns:repeat(4,1fr); }
.package-card { display:flex; flex-direction:column; min-height:540px; padding:1.5rem; background:var(--white); }
.package-card--highlight { color:var(--white); background:var(--ink); }
.package-card>span { color:var(--violet); font-size:.58rem; font-weight:950; letter-spacing:.1em; }.package-card--highlight>span { color:var(--acid); }
.package-card h3 { margin:4rem 0 1rem; }.package-card>b { padding:.7rem; color:var(--ink); background:var(--acid); font-size:.62rem; }.package-card ul { margin:2rem 0; }.package-card li { margin:.65rem 0; }.package-card .button { margin-top:auto; }

.feature-link { display:block; min-height:500px; padding:clamp(1.5rem,4vw,3.5rem); color:var(--white); background:var(--ink); border-top:8px solid var(--acid); }.feature-link>span { color:var(--acid); font-size:.64rem; font-weight:950; letter-spacing:.1em; }.feature-link h2 { max-width:900px; margin:8rem 0 1rem; }.feature-link p { max-width:680px; color:rgba(255,255,255,.66); }.feature-link>b { display:block; margin-top:2rem; }
.audience-grid { grid-template-columns:repeat(2,1fr); margin-top:1rem; }.audience-grid a { min-height:270px; padding:1.5rem; background:var(--white); }.audience-grid h3 { margin:4rem 0 1rem; }.audience-grid p { color:var(--muted); }
.use-grid { grid-template-columns:repeat(4,1fr); }.use-grid article { min-height:250px; }.use-grid h3 { margin:3.5rem 0 1rem; }.use-grid p { color:var(--muted); }
.scope-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.15); }.scope-grid>div { min-height:320px; padding:1.5rem; background:var(--ink-2); }.scope-grid b { color:var(--acid); font-size:.62rem; letter-spacing:.1em; }.scope-grid li { margin:.7rem 0; color:rgba(255,255,255,.7); }

.detailed-scenarios { display:grid; gap:2rem; }.scenario-detail { scroll-margin-top:110px; padding:clamp(1.3rem,3vw,2.5rem); background:var(--white); border:1px solid var(--line); }.scenario-detail>header { display:grid; grid-template-columns:90px 1fr; gap:1rem; margin-bottom:2rem; }.scenario-detail>header>span { color:var(--violet); font-size:2rem; font-weight:950; }.scenario-detail small { color:var(--violet); font-size:.58rem; font-weight:950; }.scenario-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }.scenario-detail-grid>div { padding:1.3rem; background:var(--paper); }.scenario-detail-grid b { display:block; margin:1rem 0 .6rem; font-size:.58rem; letter-spacing:.1em; }.scenario-detail-grid p,.scenario-detail-grid li { color:var(--muted); }
.story-grid { grid-template-columns:repeat(5,1fr); }.story-grid article { min-height:290px; }.story-grid h3 { margin:5rem 0 1rem; }.demo-story .product-demo { margin-top:2rem; }
.principle-grid { grid-template-columns:repeat(4,1fr); }.principle-grid article { min-height:330px; }.principle-grid h3 { margin:5rem 0 1rem; }.principle-grid p { color:var(--muted); }

.form-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.conversion-form { padding:clamp(1.2rem,3vw,2rem); background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.conversion-form header { margin:-2rem -2rem 1.5rem; padding:1.4rem 2rem; color:var(--white); background:var(--ink); }.conversion-form header span { color:var(--acid); font-size:.58rem; font-weight:950; }.conversion-form header h2 { margin:.7rem 0; font-size:2.5rem; }.conversion-form header p { margin:0; color:rgba(255,255,255,.6); font-size:.8rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.conversion-form label { display:grid; gap:.45rem; margin-bottom:1rem; font-size:.74rem; font-weight:850; }.conversion-form input,.conversion-form select,.conversion-form textarea { width:100%; padding:.85rem; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:0; }.conversion-form textarea { min-height:150px; resize:vertical; }.conversion-form [aria-invalid="true"] { border-color:#b73e30; box-shadow:0 0 0 2px rgba(183,62,48,.14); }.conversion-form label small,.conversion-form>small { min-height:1rem; color:#9b2e23; font-size:.62rem; }.consent { display:flex!important; grid-template-columns:22px 1fr; align-items:start; }.consent input { width:20px; margin-top:.2rem; }.consent a { text-decoration:underline; }.form-status { min-height:1.5rem; margin-bottom:.8rem; font-weight:800; }.backend-note { margin:1rem 0 0; color:var(--muted); font-size:.66rem; }.contact-details { display:grid; gap:1rem; padding-top:2rem; border-top:1px solid var(--line); }.contact-details a { font-weight:850; }

.article-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.article-card { min-height:430px; padding:1.6rem; background:var(--white); }.article-card:first-child { grid-column:1/-1; color:var(--ink); background:var(--sky); }.article-card>span { color:var(--violet); font-size:.58rem; font-weight:950; }.article-card h2 { margin:6rem 0 1rem; font-size:clamp(2.2rem,4vw,4.4rem); }.article-card p { max-width:760px; color:var(--muted); }.article-card b { display:block; margin-top:2rem; }
.article-layout { display:grid; grid-template-columns:250px 1fr; gap:clamp(2rem,7vw,7rem); align-items:start; }.article-layout>aside { position:sticky; top:110px; display:grid; gap:.7rem; }.article-layout>aside b { color:var(--violet); font-size:.58rem; }.article-layout>aside p { color:var(--muted); font-size:.8rem; }.article-layout>aside a { font-weight:800; }.article-body { max-width:820px; }.article-body section { margin-bottom:4rem; }.article-body h2 { font-size:clamp(2.2rem,4vw,4rem); }.article-body p { font-size:1.15rem; }.notice { margin:3rem 0; padding:1.5rem; background:var(--acid); border-left:5px solid var(--violet); }.notice p { margin:.6rem 0 0; }
.case-template { grid-template-columns:repeat(3,1fr); }.case-template article { min-height:230px; }.case-template span { color:var(--violet); font-size:.58rem; font-weight:950; }.case-template h3 { margin:3rem 0 1rem; }.case-template p { color:var(--muted); font-size:.7rem; }
.legal { max-width:900px; }.legal h2 { margin-top:4rem; font-size:2.5rem; }.legal p { font-size:1.08rem; }

.faq { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); }.faq summary { display:grid; grid-template-columns:60px 1fr auto; gap:1rem; align-items:center; padding:1.3rem 0; cursor:pointer; list-style:none; font-size:1.2rem; font-weight:800; }.faq summary::-webkit-details-marker{display:none}.faq summary span { color:var(--violet); font-size:.65rem; }.faq summary b { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; transition:transform .18s ease; }.faq details[open] summary b { transform:rotate(45deg); }.faq details>p { max-width:850px; margin:0 0 1.5rem 76px; color:var(--muted); }
.final-cta { padding:clamp(5rem,10vw,10rem) 0; color:var(--white); background:var(--violet); text-align:center; }.final-cta .shell { display:flex; flex-direction:column; align-items:center; }.final-cta h2 { max-width:1050px; }.final-cta p:not(.eyebrow) { max-width:720px; color:rgba(255,255,255,.7); }

.site-footer { padding:5rem 4vw 2rem; color:var(--white); background:var(--ink); }.footer-brand { display:flex; justify-content:space-between; gap:2rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.15); }.footer-brand p { color:rgba(255,255,255,.6); }.footer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; padding:3rem 0; }.footer-grid>div { display:grid; gap:.7rem; align-content:start; }.footer-grid b { margin-bottom:.5rem; color:var(--acid); font-size:.65rem; letter-spacing:.1em; }.footer-grid a,.footer-grid span { color:rgba(255,255,255,.68); font-size:.82rem; }.footer-grid a:hover { color:var(--white); }.footer-bottom { display:flex; justify-content:space-between; gap:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.5); font-size:.72rem; }.footer-bottom div { display:flex; gap:1rem; }

@media(max-width:1100px){
  .site-header { grid-template-columns:1fr auto; min-height:70px; padding-inline:1.2rem; }.menu-button{display:block}.header-cta{display:none}.main-nav{position:fixed;z-index:-1;inset:70px 0 0;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:2rem 1.2rem;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-1rem);transition:.18s ease}.main-nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.35rem}.menu-open .main-nav{z-index:1;opacity:1;visibility:visible;transform:none}.menu-open .menu-button>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-button>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .hero-grid,.section-head,.form-layout { grid-template-columns:1fr; }.hero-grid { gap:3rem; }.hero-copy{max-width:900px}.product-demo{max-width:900px}.question-grid{grid-template-columns:repeat(3,1fr)}.product-pair,.product-pair--three{grid-template-columns:1fr 1fr}.package-grid--four,.module-grid,.use-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.principle-grid{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:720px){
  body{font-size:16px}h1{font-size:clamp(3.2rem,15vw,5rem)}h2{font-size:clamp(2.4rem,12vw,4rem)}.hero{padding:4.5rem 0}.section{padding:4.5rem 0}.button-row,.section-action{align-items:stretch;flex-direction:column}.button{width:100%}.hero-signal,.demo-flow{grid-template-columns:1fr}.hero-signal i,.demo-flow>i{transform:rotate(90deg)}.trust-strip .shell{align-items:flex-start;flex-direction:column}.question-grid,.product-pair,.product-pair--three,.scenario-grid,.evidence-grid,.package-grid,.package-grid--four,.module-grid,.process-grid,.metric-grid,.principle-grid,.use-grid,.audience-grid,.case-template,.story-grid,.scenario-detail-grid,.scope-grid,.article-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.question-grid article{min-height:170px}.product-card{min-height:420px}.scenario-card{min-height:320px}.package-card{min-height:480px}.article-card:first-child{grid-column:auto}.article-card{min-height:360px}.article-card h2{margin-top:4rem}.scenario-detail>header{grid-template-columns:50px 1fr}.article-layout{grid-template-columns:1fr}.article-layout>aside{position:static}.faq summary{grid-template-columns:38px 1fr auto;font-size:1rem}.faq details>p{margin-left:54px}.conversion-form header{margin:-1.2rem -1.2rem 1.2rem;padding:1.2rem}.footer-brand,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom div{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== Startsida förbättrad: interaktiv Klartext-demo + produktflöde ===== */
[hidden] { display:none!important; }
@keyframes kx-fade-up { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes kx-spin { to { transform:rotate(360deg); } }
.eyebrow--acid { color:var(--acid); }
.eyebrow--violet { color:var(--violet); }
.hero--home h1 { font-size:clamp(3.4rem,5.5vw,6rem); }
.hero--home .hero-copy .lead { max-width:680px; font-size:clamp(1.05rem,1.6vw,1.3rem); }

.kx-demo { position:relative; color:var(--ink); background:var(--paper); border:1px solid var(--line); box-shadow:0 25px 70px rgba(16,45,47,.3); }
.kx-demo>header,.kx-demo>footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.6rem 1rem; padding:.9rem 1.2rem; background:var(--white); border-bottom:1px solid var(--line); }
.kx-demo>footer { border-top:1px solid var(--line); border-bottom:0; }
.kx-demo>header>span,.kx-demo>footer>span { font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.kx-demo>header>span { color:var(--muted); }
.kx-tabs { display:flex; flex-wrap:wrap; gap:.4rem; }
.kx-pill { padding:.45rem .8rem; color:var(--ink); background:var(--white); border:1px solid rgba(16,45,47,.3); font-size:.68rem; font-weight:850; }
.kx-pill[aria-pressed="true"] { color:var(--white); background:var(--ink); }
.kx-flow { display:grid; grid-template-columns:1fr 50px 1fr; gap:1rem; align-items:stretch; padding:1.4rem; }
.kx-flow>i { align-self:center; color:var(--violet); font-style:normal; font-size:1.5rem; text-align:center; }
.kx-before,.kx-after { display:flex; flex-direction:column; min-height:290px; padding:1.5rem; border:1px solid var(--line); }
.kx-before { background:var(--paper-2); }
.kx-after { background:var(--white); border-top:5px solid var(--acid); }
.kx-demo small,.try-done small { color:var(--violet); font-size:.57rem; font-weight:950; letter-spacing:.1em; }
.kx-before h3 { margin:1.1rem 0 .8rem; font-size:1.55rem; line-height:1.02; letter-spacing:-.03em; }
.kx-before p { margin:0 0 .8rem; color:var(--muted); font-size:.85rem; line-height:1.5; }
.kx-before .kx-before-2 { margin:auto 0 0; opacity:.75; }
.kx-answer { display:flex; flex:1; flex-direction:column; animation:kx-fade-up .45s ease both; }
.kx-answer h3 { margin:.9rem 0 .6rem; font-size:1.45rem; line-height:1.02; letter-spacing:-.03em; }
.kx-answer>p { margin:0 0 1rem; color:var(--muted); font-size:.85rem; line-height:1.5; }
.kx-dates { display:grid; gap:.5rem; margin-bottom:1rem; }
.kx-dates>div { display:flex; gap:.7rem; align-items:baseline; font-size:.8rem; }
.kx-dates b { flex:none; min-width:78px; padding:.2rem .5rem; background:var(--acid); font-size:.7rem; }
.kx-ask { display:flex; gap:.6rem; align-items:center; margin-top:auto; padding:.55rem .7rem; background:var(--paper); border:1px solid rgba(16,45,47,.25); }
.kx-ask>span { flex:1; color:var(--muted); font-size:.78rem; }
.kx-ask>b { flex:none; padding:.4rem .7rem; color:var(--white); background:var(--ink); font-size:.62rem; font-weight:850; }

.product-card ul { margin:1.2rem 0 0; padding-left:1.2rem; font-size:.9rem; opacity:.85; }
.product-card li { margin:.4rem 0; }

.flow-panel { color:var(--ink); background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.flow-panel>header,.flow-panel>footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 1rem; padding:1rem 1.4rem; font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.flow-panel>header { border-bottom:1px solid var(--line); }
.flow-panel>header span { color:var(--muted); }
.flow-panel>footer { border-top:1px solid var(--line); }
.flow-steps { display:grid; grid-template-columns:1fr 56px 1fr 56px 1fr; align-items:stretch; padding:1.6rem; }
.flow-steps>i { align-self:center; justify-self:center; color:var(--violet); font-style:normal; font-size:1.8rem; }
.flow-step { display:flex; flex-direction:column; min-height:320px; padding:1.7rem; border:1px solid var(--line); }
.flow-step--acid { background:var(--acid); }
.flow-step--paper { background:var(--paper); }
.flow-step--violet { color:var(--white); background:var(--violet); }
.flow-step-head { display:flex; justify-content:space-between; align-items:baseline; }
.flow-num { font-size:3.2rem; font-weight:800; letter-spacing:-.05em; line-height:1; }
.flow-tag { font-size:.58rem; font-weight:950; letter-spacing:.1em; }
.flow-step--paper .flow-num,.flow-step--paper .flow-tag { color:var(--violet); }
.flow-step--violet .flow-tag { color:var(--acid); }
.flow-step h3 { margin:auto 0 .8rem; font-size:2.1rem; line-height:.98; letter-spacing:-.045em; }
.flow-step p { margin:0; font-size:.95rem; opacity:.75; }
.flow-step--paper p { color:var(--muted); opacity:1; }
.flow-step--violet p { opacity:.8; }
.flow-example { display:flex; gap:1.2rem; align-items:baseline; padding:1.1rem 1.4rem; background:var(--paper); border-top:1px solid var(--line); }
.flow-example>span { flex:none; color:var(--violet); font-size:.58rem; font-weight:950; letter-spacing:.1em; }
.flow-example p { margin:0; color:var(--muted); font-size:.85rem; }

.try-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.try-grid h2 { margin-bottom:1.5rem; }
.try-grid .lead { max-width:620px; margin:0; color:var(--muted); font-size:1.2rem; }
.try-docs { display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.5rem; }
.try-doc { width:200px; padding:1rem; text-align:left; color:var(--ink); background:var(--white); border:1px solid var(--line); box-shadow:0 8px 24px rgba(16,45,47,.1); cursor:grab; transition:transform .18s ease; }
.try-doc:hover { transform:translateY(-3px); }
.try-doc>span { display:block; color:var(--violet); font-size:.52rem; font-weight:950; letter-spacing:.1em; }
.try-doc>b { display:block; margin:.5rem 0 .4rem; font-size:.85rem; }
.try-doc>p { margin:0; color:var(--muted); font-size:.66rem; line-height:1.45; }
.try-hint { margin:.9rem 0 0; color:var(--muted); font-size:.68rem; font-weight:700; }
.try-panel { align-self:start; padding:2rem; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.try-panel-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.6rem 1rem; font-size:.58rem; letter-spacing:.05em; }
.try-panel-head span:first-child { color:var(--violet); font-weight:950; letter-spacing:.1em; }
.try-panel-head span:last-child { color:var(--muted); font-weight:900; }
.try-drop { display:flex; flex-direction:column; justify-content:center; min-height:230px; margin-top:1.2rem; padding:1.4rem; background:var(--paper); border:2px dashed rgba(16,45,47,.35); transition:background .15s ease,border-color .15s ease; }
.try-drop.is-hover { background:#eef3d8; border-color:var(--violet); }
.try-drop.is-active { border-color:var(--ink); }
.try-idle,.try-reading { text-align:center; color:var(--muted); }
.try-idle b,.try-reading b { display:block; font-size:1rem; color:var(--ink); }
.try-idle p,.try-reading p { margin:.4rem 0 0; font-size:.8rem; }
.try-glyph { margin-bottom:.6rem; font-size:2rem; }
.try-spinner { display:inline-block; width:34px; height:34px; margin-bottom:.8rem; border:3px solid rgba(16,45,47,.15); border-top-color:var(--violet); border-radius:50%; animation:kx-spin 1s linear infinite; }
.try-done { display:flex; flex-direction:column; animation:kx-fade-up .45s ease both; }
.try-done h3 { margin:.7rem 0 .6rem; font-size:1.5rem; line-height:1.02; letter-spacing:-.03em; }
.try-done>p { margin:0 0 1rem; color:var(--muted); font-size:.85rem; line-height:1.5; }
.try-done .kx-ask { margin-top:0; background:var(--white); }
.try-reset { align-self:flex-start; margin-top:1.2rem; padding:0; color:var(--violet); background:none; border:0; font-size:.72rem; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.try-note { margin:1.2rem 0 0; color:var(--muted); font-size:.62rem; font-weight:700; }

@media(max-width:1100px){
  .kx-demo { max-width:900px; }
  .try-grid { grid-template-columns:1fr; }
  .flow-steps { grid-template-columns:1fr; }
  .flow-steps>i { padding:.5rem 0; transform:rotate(90deg); }
}
@media(max-width:720px){
  .kx-flow { grid-template-columns:1fr; }
  .kx-flow>i { transform:rotate(90deg); }
  .kx-before,.kx-after { min-height:0; }
  .flow-step { min-height:0; }
  .flow-step h3 { margin-top:2rem; }
  .flow-example { flex-direction:column; gap:.5rem; }
  .try-doc { width:100%; cursor:pointer; }
  .try-panel { padding:1.2rem; }
}

/* ===== Produktsidor förbättrade: Klartext + Avenue Portal ===== */
.product-pair--three .product-card { min-height:460px; }
.product-pair--three .product-card h3 { font-size:clamp(2.2rem,2.6vw,3.4rem); }
.product-card--violet>span { color:var(--acid); }

.ap-demo>header .ap-kicker { color:var(--violet); font-weight:950; letter-spacing:.1em; }
.ap-muted { color:var(--muted); }
.ap-body { display:flex; flex-direction:column; min-height:380px; padding:1.4rem; }
.ap-crumbs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; }
.ap-crumbs span { padding:.3rem .7rem; color:var(--muted); background:var(--white); border:1px solid rgba(16,45,47,.25); font-size:.62rem; font-weight:900; letter-spacing:.06em; }
.ap-crumbs span.is-active { color:var(--white); background:var(--ink); }
.ap-step { display:flex; flex:1; flex-direction:column; animation:kx-fade-up .4s ease both; }
.ap-step>h3 { margin:0 0 .4rem; font-size:1.5rem; line-height:1.05; letter-spacing:-.03em; }
.ap-step>p { margin:0 0 1.2rem; color:var(--muted); font-size:.88rem; }
.ap-choices { display:grid; gap:.6rem; }
.ap-choice { display:flex; gap:1rem; justify-content:space-between; align-items:center; padding:.9rem 1.1rem; text-align:left; color:var(--ink); background:var(--white); border:1px solid rgba(16,45,47,.25); font-size:.9rem; font-weight:700; transition:border-color .15s ease,background .15s ease; }
.ap-choice:hover { background:#fbfaf5; border-color:var(--violet); }
.ap-choice>span { color:var(--violet); }
.ap-result { padding:1.3rem; background:var(--white); border:1px solid var(--line); border-top:5px solid var(--acid); }
.ap-result h4 { margin:.6rem 0 .5rem; font-size:1.25rem; line-height:1.05; letter-spacing:-.03em; }
.ap-result p { margin:0; color:var(--muted); font-size:.85rem; line-height:1.5; }
.ap-result>b { display:inline-flex; gap:.6rem; align-items:center; margin-top:1rem; padding:.6rem .9rem; color:var(--white); background:var(--ink); font-size:.68rem; font-weight:850; }
.ap-demo .try-reset { align-self:flex-start; margin-top:1.1rem; }

.ap-compare { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:stretch; }
.ap-compare>div { display:flex; flex-direction:column; }
.ap-badge { align-self:flex-start; margin-bottom:.8rem; padding:.4rem .8rem; font-size:.62rem; font-weight:950; letter-spacing:.1em; }
.ap-badge--old { color:var(--muted); background:var(--paper-2); border:1px solid rgba(16,45,47,.25); }
.ap-badge--new { background:var(--acid); border:1px solid var(--ink); }
.ap-browser { flex:1; background:var(--white); border:1px solid var(--line); }
.ap-browser--old { opacity:.75; box-shadow:0 15px 45px rgba(16,45,47,.1); }
.ap-browser--new { box-shadow:0 25px 70px rgba(16,45,47,.16); }
.ap-chrome { display:flex; gap:.4rem; align-items:center; padding:.7rem 1rem; background:var(--paper-2); border-bottom:1px solid rgba(16,45,47,.15); }
.ap-chrome i { width:9px; height:9px; background:#c9c4b8; border-radius:50%; }
.ap-chrome span { margin-left:.6rem; padding:.2rem .8rem; color:var(--muted); background:var(--white); border:1px solid rgba(16,45,47,.15); font-size:.62rem; }
.ap-page { padding:1.6rem; }
.ap-page>b { display:block; margin-bottom:1rem; font-size:1rem; }
.ap-linklist { display:grid; grid-template-columns:1fr 1fr; gap:.45rem .9rem; color:#4a5a58; font-size:.72rem; }
.ap-linklist span { text-decoration:underline; }
.ap-callout { margin-top:1.4rem; padding:.8rem 1rem; color:var(--muted); background:var(--paper); border:1px solid var(--line); font-size:.75rem; }
.ap-ask { display:flex; gap:.6rem; align-items:center; padding:.9rem 1.1rem; background:var(--white); border:2px solid var(--ink); }
.ap-ask>span { flex:1; font-size:.85rem; }
.ap-caret { display:inline-block; width:2px; height:1em; margin-left:2px; background:var(--violet); vertical-align:text-bottom; }
.ap-ask>b { flex:none; padding:.5rem .9rem; color:var(--white); background:var(--ink); font-size:.65rem; font-weight:850; }
.ap-reply { margin-top:1rem; padding:1.1rem 1.2rem; background:var(--paper); border:1px solid var(--line); border-top:5px solid var(--acid); }
.ap-reply small { color:var(--violet); font-size:.55rem; font-weight:950; letter-spacing:.1em; }
.ap-reply p { margin:.5rem 0 .8rem; font-size:.82rem; line-height:1.5; }
.ap-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.ap-chips span { padding:.45rem .8rem; background:var(--white); border:1px solid rgba(16,45,47,.3); font-size:.7rem; font-weight:750; }
.ap-fine { margin:1rem 0 0; color:var(--muted); font-size:.68rem; font-weight:700; }
.ap-caption { margin:.9rem 0 0; color:var(--muted); font-size:.85rem; }

.flow-steps--combo .flow-step { min-height:280px; }
.flow-steps--combo .flow-step h3 { font-size:1.9rem; }

@media(max-width:1100px){
  .ap-compare { grid-template-columns:1fr; }
}
@media(max-width:720px){
  .ap-body { min-height:0; }
  .ap-linklist { grid-template-columns:1fr; }
  .flow-steps--combo .flow-step { min-height:0; }
  .flow-steps--combo .flow-step h3 { margin-top:2rem; }
}

/* ===== Innehållssidor förbättrade: Kundcase, Insikter, Om oss, Kontakt ===== */
.fact-list { display:grid; gap:.8rem; }
.fact-list>* { display:flex; gap:1rem; align-items:baseline; padding:1.1rem 1.4rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); }
.fact-list b { flex:none; color:var(--acid); }
.fact-list .fact-num { font-size:2rem; letter-spacing:-.04em; }
.fact-list .fact-tag { min-width:90px; font-size:.62rem; font-weight:950; letter-spacing:.1em; }
.fact-list span { font-size:.92rem; opacity:.75; }

.case-panel { background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.case-panel>header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 1rem; padding:1rem 1.4rem; border-bottom:1px solid var(--line); font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.case-panel>header span { color:var(--muted); }
.case-body { display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; padding:2.4rem; }
.case-body--flip { grid-template-columns:.95fr 1.05fr; }
.case-body h2 { margin:0 0 1.2rem; font-size:clamp(2.2rem,3.6vw,3.25rem); }
.case-body .lead { margin:0 0 1.5rem; color:var(--muted); font-size:1.1rem; }
.case-tags { display:grid; gap:.6rem; }
.case-tags>div { display:flex; gap:.8rem; align-items:baseline; font-size:.92rem; }
.case-tags b { flex:none; min-width:110px; padding:.25rem .6rem; background:var(--acid); font-size:.72rem; font-weight:900; }
.case-tags span { color:var(--muted); }
.case-side { padding:1.6rem; background:var(--paper); border:1px solid var(--line); }
.case-side>small,.ap-result>small,.cf-success small { color:var(--violet); font-size:.57rem; font-weight:950; letter-spacing:.1em; }
.case-steps { display:grid; gap:.7rem; margin-top:1rem; }
.case-steps>div { display:flex; gap:.8rem; align-items:center; padding:.8rem 1rem; background:var(--white); border:1px solid var(--line); font-size:.85rem; }
.case-steps b { flex:none; color:var(--violet); }
.case-steps>div.is-final { color:var(--white); background:var(--ink); }
.case-steps .is-final b { color:var(--acid); }
.case-stack { display:grid; gap:.7rem; margin-top:1rem; }
.case-stack>div { padding:1rem; border:1px solid var(--line); font-size:.85rem; }
.case-stack b { display:block; margin-bottom:.3rem; font-size:.62rem; letter-spacing:.08em; }
.case-stack .st-in { background:var(--paper-2); }
.case-stack .st-in b { color:var(--violet); }
.case-stack .st-kx { background:var(--acid); }
.case-stack .st-ap { color:var(--white); background:var(--violet); }
.case-stack .st-ap b { color:var(--acid); }
.case-side .ap-result { margin-top:1rem; }
.case-list { display:grid; gap:5rem; }

.ins-head { padding:clamp(4.5rem,8vw,6rem) 0 3.5rem; }
.ins-head h1 { max-width:1100px; }
.ins-head em { color:var(--violet); }
.ins-head .lead { max-width:720px; margin:0; color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.3rem); }
.ins-featured { display:grid; grid-template-columns:1.05fr .95fr; color:var(--white); background:var(--ink); border:1px solid var(--line); box-shadow:0 25px 70px rgba(16,45,47,.2); }
.ins-featured-copy { display:flex; flex-direction:column; padding:3rem; }
.ins-flags { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.ins-flags b { padding:.35rem .7rem; color:var(--ink); background:var(--acid); font-size:.58rem; font-weight:950; letter-spacing:.1em; }
.ins-flags span { font-size:.62rem; font-weight:900; letter-spacing:.08em; opacity:.6; }
.ins-featured h2 { margin:auto 0 1rem; font-size:clamp(2.2rem,3.6vw,3.25rem); }
.ins-featured-copy>p { margin:0; opacity:.7; font-size:1.1rem; }
.ins-featured-copy>b { margin-top:1.6rem; color:var(--acid); font-size:.72rem; }
.ins-featured-art { display:grid; place-items:center; min-height:420px; padding:3rem; background:var(--violet); background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:58px 58px; }
.ins-quote { width:min(360px,80%); padding:1.8rem; color:var(--ink); background:var(--white); border-top:8px solid var(--acid); box-shadow:0 25px 70px rgba(16,45,47,.3); transform:rotate(-2deg); }
.ins-quote small { color:var(--violet); font-size:.55rem; font-weight:950; letter-spacing:.1em; }
.ins-quote .q { margin:.8rem 0 0; font-size:1.05rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; }
.ins-quote .a { margin:.8rem 0 0; color:var(--muted); font-size:.8rem; }
.ins-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:1.5rem; }
.ins-card { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); box-shadow:0 15px 45px rgba(16,45,47,.08); transition:box-shadow .18s ease; }
.ins-card:hover { box-shadow:0 25px 70px rgba(16,45,47,.15); }
.ins-tile { display:grid; place-items:center; height:180px; }
.ins-tile b { font-size:clamp(2.2rem,2.6vw,3.4rem); letter-spacing:-.05em; }
.ins-tile--acid { background:var(--acid); }
.ins-tile--sky { background:var(--sky); }
.ins-tile--coral { background:#f6ddd5; }
.ins-tile--violet { color:var(--white); background:var(--violet); }
.ins-tile--paper { background:var(--paper-2); }
.ins-tile--ink { color:var(--acid); background:var(--ink); }
.ins-card-body { display:flex; flex:1; flex-direction:column; padding:1.6rem; }
.ins-card-body>span { color:var(--muted); font-size:.6rem; font-weight:900; letter-spacing:.08em; }
.ins-card h3 { margin:.8rem 0 .6rem; font-size:1.6rem; line-height:1.02; letter-spacing:-.035em; }
.ins-card p { margin:0 0 1rem; color:var(--muted); font-size:.9rem; }
.ins-card-body>b { margin-top:auto; color:var(--violet); font-size:.72rem; }
.news-band .shell { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center; }
.news-band h2 { margin-bottom:1rem; }
.news-band .lead { max-width:600px; margin:0; }
.news-cta { display:flex; gap:.6rem; align-items:stretch; }
.news-cta>span { flex:1; display:flex; align-items:center; min-height:56px; padding:0 1.2rem; color:var(--muted); background:var(--white); border:1px solid var(--line); font-size:.9rem; }
.news-cta>a { display:inline-flex; align-items:center; padding:0 1.4rem; color:var(--ink); background:var(--acid); font-size:.82rem; font-weight:850; }

.quote-card { padding:2.4rem; color:var(--white); background:var(--ink); background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:58px 58px; }
.quote-card small { color:var(--acid); font-size:.6rem; font-weight:950; letter-spacing:.12em; }
.quote-card p { margin:1.2rem 0 0; font-size:1.9rem; font-weight:800; line-height:1.15; letter-spacing:-.03em; }
.about-split { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:start; }
.about-split h2 { margin-bottom:1.5rem; }
.about-split .lead { margin:0 0 1.2rem; color:var(--muted); font-size:1.15rem; max-width:none; }
.principle-dark { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.15); }
.principle-dark article { display:flex; flex-direction:column; min-height:340px; padding:1.7rem; background:var(--ink); }
.principle-dark article:first-child { color:var(--ink); background:var(--acid); }
.principle-dark article:last-child { background:var(--violet); }
.principle-dark span { color:var(--acid); font-size:.68rem; font-weight:950; }
.principle-dark article:first-child span { color:inherit; }
.principle-dark h3 { margin:auto 0 .8rem; font-size:1.9rem; line-height:.98; letter-spacing:-.045em; }
.principle-dark p { margin:0; font-size:.92rem; opacity:.75; }
.product-pair--even { grid-template-columns:1fr 1fr; }
.product-pair--even .product-card { min-height:340px; }
.product-pair--even .product-card h3 { font-size:clamp(2.4rem,3vw,3.4rem); }
.contact-rows { display:grid; gap:.8rem; }
.contact-rows a { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.4rem 1rem; padding:1.3rem 1.5rem; background:var(--white); border:1px solid var(--line); }
.contact-rows a>span { color:var(--violet); font-size:.62rem; font-weight:950; letter-spacing:.1em; }
.contact-rows a>b { font-size:1.1rem; letter-spacing:-.02em; }
.contact-rows a.is-dark { color:var(--white); background:var(--ink); }
.contact-rows a.is-dark>span { color:var(--acid); }

.contact-hero h1 { font-size:clamp(3rem,4.8vw,5.2rem); }
.contact-hero .hero-grid { align-items:start; }
.contact-card { color:var(--ink); background:var(--white); border:1px solid var(--line); box-shadow:0 25px 70px rgba(16,45,47,.3); }
.contact-card>header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 1rem; padding:1rem 1.6rem; border-bottom:1px solid var(--line); }
.contact-card>header span:first-child { color:var(--violet); font-size:.58rem; font-weight:950; letter-spacing:.1em; }
.contact-card>header span:last-child { color:var(--muted); font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.cf-fields { display:grid; gap:1.3rem; padding:1.8rem 1.6rem; }
.cf-label { display:block; margin-bottom:.5rem; font-size:.68rem; font-weight:950; letter-spacing:.08em; }
.cf-fields input:not([type=checkbox]),.cf-fields textarea { width:100%; padding:.85rem 1rem; color:var(--ink); background:var(--paper); border:1px solid rgba(16,45,47,.3); border-radius:0; font-size:.9rem; }
.cf-fields textarea { min-height:130px; resize:vertical; }
.cf-fields [aria-invalid="true"] { border-color:#b73e30; box-shadow:0 0 0 2px rgba(183,62,48,.14); }
.cf-fields label small { display:block; min-height:1rem; color:#9b2e23; font-size:.62rem; }
.cf-two { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cf-topics { display:flex; flex-wrap:wrap; gap:.5rem; }
.cf-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; }
.cf-note { max-width:220px; color:var(--muted); font-size:.66rem; font-weight:700; text-align:right; }
.cf-success { display:flex; flex-direction:column; justify-content:center; padding:1.8rem 1.6rem; animation:kx-fade-up .45s ease both; }
.cf-success-inner { padding:2rem; background:var(--paper); border:1px solid var(--line); border-top:6px solid var(--acid); }
.cf-success h3 { margin:.8rem 0 .6rem; font-size:1.8rem; line-height:1.02; letter-spacing:-.03em; }
.cf-success p { margin:0; color:var(--muted); font-size:.95rem; line-height:1.5; }
.cf-success .kx-dates { margin:1.3rem 0 0; }
.cf-success .try-reset { align-self:flex-start; margin-top:1.2rem; }

@media(max-width:1100px){
  .case-body,.case-body--flip,.ins-featured,.about-split,.news-band .shell { grid-template-columns:1fr; }
  .case-body--flip>.case-side { order:2; }
  .ins-grid,.principle-dark { grid-template-columns:repeat(2,1fr); }
  .ins-featured-art { min-height:320px; }
}
@media(max-width:720px){
  .case-body,.case-body--flip { padding:1.3rem; gap:2rem; }
  .case-list { gap:2.5rem; }
  .ins-grid,.principle-dark,.product-pair--even,.cf-two { grid-template-columns:1fr; }
  .ins-featured-copy { padding:1.5rem; }
  .news-cta { flex-direction:column; }
  .news-cta>a { justify-content:center; min-height:52px; }
  .principle-dark article { min-height:0; }
  .principle-dark h3 { margin-top:2rem; }
  .fact-list .fact-tag { min-width:0; }
  .cf-note { max-width:none; text-align:left; }
}

/* ===== För verksamheter förbättrad: segmentväljare + veckoplan ===== */
.seg-picker { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; margin-bottom:2rem; }
.seg-btn { display:flex; flex-direction:column; min-height:150px; padding:1.3rem; text-align:left; color:var(--ink); background:var(--white); border:1px solid rgba(16,45,47,.25); transition:background .15s ease,color .15s ease,border-color .15s ease; }
.seg-btn>span { font-size:.58rem; font-weight:950; letter-spacing:.1em; opacity:.7; }
.seg-btn>b { display:block; margin-top:auto; padding-top:2.6rem; font-size:1.5rem; line-height:1; letter-spacing:-.035em; }
.seg-btn[aria-pressed="true"] { color:var(--white); background:var(--ink); border-color:var(--ink); }
.flow-steps--seg { animation:kx-fade-up .4s ease both; }
.flow-steps--seg .flow-step { min-height:300px; }
.flow-steps--seg .flow-step h3 { font-size:1.8rem; }
.flow-step--soft { background:var(--paper-2); }
.flow-step--soft .flow-tag { color:var(--violet); }
.flow-step--soft p { color:var(--muted); opacity:1; }
.week-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.week-grid article { display:flex; flex-direction:column; min-height:300px; padding:1.5rem; background:var(--white); }
.week-grid article:last-child { color:var(--white); background:var(--ink); }
.week-grid span { color:var(--violet); font-size:.68rem; font-weight:950; }
.week-grid article:last-child span { color:var(--acid); }
.week-grid h3 { margin:auto 0 .8rem; font-size:1.9rem; line-height:.98; letter-spacing:-.045em; }
.week-grid p { margin:0; color:var(--muted); font-size:.92rem; }
.week-grid article:last-child p { color:inherit; opacity:.75; }
@media(max-width:1100px){
  .seg-picker { grid-template-columns:repeat(2,1fr); }
  .week-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:720px){
  .seg-picker,.week-grid { grid-template-columns:1fr; }
  .seg-btn { min-height:0; }
  .seg-btn>b { padding-top:1.2rem; }
  .week-grid article { min-height:0; }
  .week-grid h3 { margin-top:2rem; }
}

/* ===== Pilot-sida i nya stilen + Hem i nav ===== */
.week-grid--five { grid-template-columns:repeat(5,1fr); }
@media(max-width:1100px){ .week-grid--five { grid-template-columns:repeat(2,1fr); } }
@media(max-width:720px){ .week-grid--five { grid-template-columns:1fr; } }
/* Skydd: långa svenska sammansättningar i rubriker får brytas på mobil i stället för att skapa sidledes-scroll. */
@media(max-width:720px){ h1,h2,h3 { overflow-wrap:anywhere; } }
