/*
Theme Name: Arvinge
Theme URI: https://arvinge.se/
Author: Arvinge
Description: Responsivt WordPress-tema för Arvinge.
Version: 0.5.36
Requires PHP: 7.4
Text Domain: arvinge
*/

:root{
  --vh:9px;--rise:0px;--heroY:0px;
  --canvas:#171721;--surface:#161620;--raised:#272735;--border:#32323B;
  --ink:#F4F5F9;--body:#EDEDF3;--neutral:#C3C3CC;--soft:#AFB2CE;
  --primary:#5266EB;--primary-hover:#4056E9;
  --gut:clamp(20px,5.7vw,82px);--max:1120px;--ease:cubic-bezier(.22,.7,.2,1)
}
*{box-sizing:border-box}
html,body{margin:0;background:#171721}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
button,input{font-family:inherit}
::selection{background:var(--primary);color:#ffffff}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.wrap{max-width:calc(var(--max) + 2 * var(--gut));margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Navigering */
.nav{position:fixed;z-index:50;top:0;left:0;right:0;opacity:0;animation:navin .9s var(--ease) .15s forwards;transition:background .35s,box-shadow .35s}
.nav.scrolled{background:rgba(23,23,33,.82);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:rgba(86,86,118,.1) 0 0 6px 0,0 1px 0 rgba(255,255,255,.04)}
@keyframes navin{to{opacity:1}}
.navlinks{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:4px;font-size:15px;font-weight:420}
.navlinks a{padding:9px 14px;border-radius:999px;color:#E2E3EA;transition:background .2s,color .2s}
.navlinks a:hover{background:rgba(175,178,206,.14);color:#ffffff}
.navlogin{width:40px;height:40px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#EDEDF3;background:rgba(175,178,206,.16);box-shadow:inset 0 0 0 1px rgba(175,178,206,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s,color .2s}
.navlogin:hover{background:rgba(175,178,206,.28);color:#ffffff}
.navbar{position:relative;height:72px;display:flex;align-items:center;justify-content:space-between}
.navr{display:flex;align-items:center;gap:10px}
.nav.mopen{background:#171721;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.navburger{display:none;position:relative;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:999px;background:rgba(175,178,206,.16);box-shadow:inset 0 0 0 1px rgba(175,178,206,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#F4F5F9;cursor:pointer}
.navburger .bl{position:absolute;left:14px;right:14px;height:1.6px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.navburger .bl:first-child{top:18.5px}
.navburger .bl:last-child{top:24px}
.navburger.on .bl:first-child,.navburger.on .bl:last-child{top:21.2px}
.navburger.on .bl:first-child{transform:rotate(45deg)}
.navburger.on .bl:last-child{transform:rotate(-45deg)}
.mmenu{display:none}

/* Knappar */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;background:var(--primary);color:#ffffff;font-size:16px;font-weight:480;white-space:nowrap;border:0;cursor:pointer;transition:background .2s,box-shadow .2s,color .2s}
.btn:hover{background:var(--primary-hover);color:#ffffff}
.btn.secondary{background:rgba(175,178,206,.2);color:#F4F5F9;box-shadow:inset 0 0 0 1px rgba(175,178,206,.36);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn.secondary:hover{background:rgba(175,178,206,.3);color:#ffffff}
.btn.ghost{background:transparent;color:#F4F5F9}
.btn.ghost:hover{background:rgba(175,178,206,.14);color:#ffffff}
.btn.sm{height:40px;padding:0 18px;font-size:15px}
.btn.lg{height:52px;padding:0 28px}
.tlink{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:480;color:#F4F5F9}
.tlink svg{transition:transform .25s var(--ease)}
.tlink:hover svg{transform:translateX(3px)}
.ibtn{width:48px;height:48px;flex:none;border-radius:999px;border:0;background:rgba(175,178,206,.2);box-shadow:inset 0 0 0 1px rgba(175,178,206,.36);color:#EDEDF3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.ibtn:hover{background:rgba(175,178,206,.32)}

/* Intoningar */
.fade-up{opacity:0;transform:translateY(14px)}
.ready .fade-up{animation:fu .9s var(--ease) forwards}
@keyframes fu{to{opacity:1;transform:none}}

/* Typografi */
.h1 .ln{display:block}
.h2{margin:0;font-weight:480;font-size:clamp(32px,3.5vw,52px);line-height:1.08;letter-spacing:-.015em;color:#F4F5F9}
.h2 em{font-style:italic;font-weight:360}
.lead{margin:0;font-size:18px;font-weight:360;line-height:1.5;color:#C3C3CC;max-width:30em}
.shead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:64px}
.label{margin:0;font-size:12px;font-weight:480;letter-spacing:.24px;color:#AFB2CE}

/* Hero med skärgårdsbild */
.hero-bg{position:absolute;inset:0;overflow:hidden;animation:heroin 2.6s var(--ease) both}
@keyframes heroin{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}
.hero-img{position:absolute;left:0;right:0;top:-20%;width:100%;height:120%;object-fit:cover;object-position:50% 50%;filter:brightness(.86);transform:translate3d(0,var(--heroY),0);will-change:transform}
.btn.glass{background:rgba(23,23,33,.38);color:#ffffff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn.glass:hover{background:rgba(23,23,33,.55);color:#ffffff}
.logorow{display:flex;justify-content:space-between;align-items:center;gap:28px;max-width:1080px;margin:0 auto;font-size:16px;opacity:.82}
.logorow img{display:block;width:auto;max-width:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lgroup{display:contents}
.lgroup.dup{display:none}
@keyframes marq{to{transform:translate3d(-50%,0,0)}}

/* Case: ett i taget, väljs med flikar – ingen låst scroll */
.cases-sec{padding:120px 0 150px}
.ctabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:28px}
.ctab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 0 6px;border:0;background:none;color:#F4F5F9;text-align:left;cursor:pointer;opacity:.5;transition:opacity .3s}
.ctab:hover,.ctab.on{opacity:1}
.cbar{position:relative;display:block;align-self:stretch;height:2px;margin-bottom:16px;border-radius:2px;background:#32323B;overflow:hidden}
.cbar::after{content:"";position:absolute;inset:0;background:#F4F5F9;transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.ctab.on .cbar::after{transform:scaleX(1)}
.cnum{font-size:13px;font-weight:480;color:#AFB2CE;font-variant-numeric:tabular-nums}
.cname{font-size:20px;font-weight:480;line-height:1.25}
.csub{font-size:14px;font-weight:360;color:#AFB2CE}
.ccase{border-radius:16px;overflow:hidden;background:#272735;animation:ccin .6s var(--ease)}
@keyframes ccin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ccmedia{position:relative}
.ccimg{position:relative;aspect-ratio:2 / 1;overflow:hidden;background:#121216}
.ccimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ccbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;padding:clamp(32px,3.6vw,52px)}
.cctext{display:flex;flex-direction:column;padding-top:30px}
.ccclient{margin:0;font-size:15px;font-weight:420;color:#AFB2CE}
.cchead h3{margin:12px 0 0;font-weight:480;font-size:clamp(28px,2.6vw,38px);line-height:1.1;letter-spacing:-.015em;color:#F4F5F9}
.ccdesc{margin:0;font-size:18px;font-weight:360;line-height:1.55;color:#C3C3CC;max-width:28em}
.ccfoot{padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* Teamet */
.team-sec{padding:170px 0 0}
.team4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tmpic{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 5;margin-bottom:20px;border-radius:16px;overflow:hidden;background:radial-gradient(80% 60% at 50% 32%,rgba(175,178,206,.1),transparent 70%),#272735}
.tmpic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.tmn{margin:0;font-size:19px;font-weight:480;color:#F4F5F9}
.person-name-image{display:inline-block;width:auto;height:.76em;vertical-align:-.03em}
.tmr{margin:4px 0 0;font-size:15px;font-weight:360;line-height:1.45;color:#AFB2CE}
.ph{color:#8f92ab}

/* Avatarer i CTA-kortet */
.astack{display:flex;justify-content:center;margin-bottom:28px}
.astack span{width:44px;height:44px;margin-left:-10px;border-radius:999px;overflow:hidden;background:#32323B;box-shadow:0 0 0 2px #1d1f35}
.astack img{width:100%;height:100%;object-fit:cover;display:block}
.astack span:first-child{margin-left:0}

/* Statement */
.stmt{position:absolute;top:calc(var(--vh) * 41.5);left:0;right:0;margin:0;text-align:center;font-weight:420;font-size:clamp(20px,2.8vw,42px);line-height:1.16;letter-spacing:-.02em;white-space:nowrap;color:#F4F5F9;transform:translateY(var(--rise));will-change:transform}
.ln{display:block}
.static .statement{height:calc(var(--vh) * 100) !important}

/* Ikon i cirkel (Forum-korten) */
.ticon{width:48px;height:48px;border-radius:999px;background:#32323B;color:#F4F5F9;display:flex;align-items:center;justify-content:center}

/* Vad vill ni uppnå? */
.goals{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:stretch}
.goal-list{display:flex;flex-direction:column;gap:6px;justify-content:center}
.goal{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 26px;border:0;border-radius:999px;background:transparent;color:#AFB2CE;font-size:19px;font-weight:420;text-align:left;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.goal:hover{background:rgba(175,178,206,.08);color:#F4F5F9}
.goal.on{background:#272735;color:#F4F5F9;box-shadow:inset 0 0 0 1px #32323B}
.goal svg{flex:none;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .35s var(--ease)}
.goal.on svg{opacity:1;transform:none;color:#F4F5F9}
.goal-panel{background:#272735;border-radius:16px;padding:clamp(28px,3.4vw,48px);min-height:520px;display:flex}
.gp{display:flex;flex-direction:column;width:100%;animation:gpin .55s var(--ease)}
@keyframes gpin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gp h3{margin:0 0 16px;font-weight:480;font-size:clamp(28px,2.6vw,33px);line-height:1.12;letter-spacing:-.01em;color:#F4F5F9}
.gp p.txt{margin:0;font-size:18px;font-weight:360;line-height:1.5;color:#C3C3CC;max-width:30em}
.caps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:18px 0 0;padding:0;list-style:none}
.cap{display:flex;align-items:center;gap:12px;min-height:26px;font-size:15px;font-weight:420;color:#7d8098}
.ck{width:22px;height:22px;flex:none;border-radius:999px;box-shadow:inset 0 0 0 1.5px #44445a;display:flex;align-items:center;justify-content:center;color:transparent}
.cap.on{color:#F4F5F9}
.cap.on .ck{background:#F4F5F9;box-shadow:none;color:#171721}
.goal-acc{display:none}

/* Vad vill ni uppnå? – ljust tema som tonas in när sektionen är i fokus (Mercurys ljusa palett) */
.goals-sec{--s-bg:#171721;--s-ink:#F4F5F9;--s-body:#C3C3CC;--s-soft:#AFB2CE;--s-dim:#7d8098;--s-raised:#272735;--s-line:#3a3a46;--s-ring:#44445a;--s-hover:rgba(175,178,206,.08);position:relative;min-height:calc(var(--vh) * 100);display:flex;align-items:center;padding:140px 0;background-color:var(--s-bg);transition:background-color .7s var(--ease)}
.goals-sec.light{--s-bg:#F9F9FE;--s-ink:#14151C;--s-body:#4a4b55;--s-soft:#6A6B71;--s-dim:#8a8b93;--s-raised:#EFEFF4;--s-line:#D6D6DA;--s-ring:#C3C3CC;--s-hover:rgba(20,21,28,.05)}
.goals-sec > .wrap{width:100%}
.goals-sec .h2{color:var(--s-ink);transition:color .7s var(--ease)}
.goals-sec .lead{color:var(--s-body);transition:color .7s var(--ease)}
.goals-sec .goal{color:var(--s-soft);transition:background-color .7s var(--ease),color .7s var(--ease),box-shadow .7s var(--ease)}
.goals-sec .goal:hover{background:var(--s-hover);color:var(--s-ink)}
.goals-sec .goal.on{background:var(--s-raised);color:var(--s-ink);box-shadow:inset 0 0 0 1px var(--s-line)}
.goals-sec .goal.on svg{color:var(--s-ink)}
.goals-sec .goal-panel{background:var(--s-raised);transition:background-color .7s var(--ease)}
.goals-sec .gp h3{color:var(--s-ink);transition:color .7s var(--ease)}
.goals-sec .gp p.txt{color:var(--s-body);transition:color .7s var(--ease)}
.goals-sec .label{color:var(--s-soft)}
.goals-sec .cap{color:var(--s-dim);transition:color .7s var(--ease)}
.goals-sec .ck{box-shadow:inset 0 0 0 1.5px var(--s-ring)}
.goals-sec .cap.on{color:var(--s-ink)}
.goals-sec .cap.on .ck{background:var(--s-ink);box-shadow:none;color:var(--s-bg)}
.goals-sec .tlink{color:var(--s-ink)}

/* Forum: bild, text och format i ett och samma kort */
.forum-sec{padding:160px 0 0}
.fx{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:720px;border-radius:16px;overflow:hidden;background:#161620}
.fx-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 74% 38%,rgba(175,178,206,.1),transparent 70%),#161620}
.fx-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 50%}
.fx-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,20,.88) 0%,rgba(12,12,20,.64) 38%,rgba(12,12,20,0) 72%)}
.fx-main{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:56px;max-width:620px;padding:clamp(36px,4.4vw,64px)}
.fx-h{font-size:clamp(32px,3.5vw,52px);line-height:1.08}
.fx-h .l{display:block}
.fx-body p{margin:0 0 28px;max-width:28em;font-size:18px;font-weight:360;line-height:1.55;color:#E2E3EA}
.fx-body b{font-weight:480;color:#F4F5F9}
.fx-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.12);background:rgba(16,16,24,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.fx-strip li + li{border-left:1px solid rgba(255,255,255,.1)}
.fx-strip a{height:100%;min-height:92px;display:flex;align-items:center;gap:14px;padding:20px 24px;color:#F4F5F9;font-size:16px;font-weight:480;line-height:1.3;transition:background .25s}
.fx-strip a:hover{background:rgba(255,255,255,.06)}
.fx-strip .ticon{flex:none;width:40px;height:40px;background:rgba(255,255,255,.1);transition:background .25s,color .25s}
.fx-strip a:hover .ticon{background:#F4F5F9;color:#171721}
.fx-strip .fname{flex:1;min-width:0}
.fx-strip .farr{flex:none;color:#AFB2CE;transition:transform .25s var(--ease),color .25s}
.fx-strip a:hover .farr{color:#F4F5F9;transform:translateX(3px)}

/* Omdömen: diffusa glaskort */
.rev-sec{position:relative;padding:170px 0 0;overflow:hidden}
.rev-glow{position:absolute;left:50%;top:58%;width:min(1100px,92vw);height:520px;transform:translate(-50%,-50%);background:radial-gradient(40% 50% at 30% 50%,rgba(82,102,235,.30),transparent 70%),radial-gradient(38% 46% at 72% 46%,rgba(69,85,191,.24),transparent 70%),radial-gradient(30% 40% at 52% 70%,rgba(55,67,144,.22),transparent 70%);filter:blur(40px);pointer-events:none;animation:rglow 18s ease-in-out infinite alternate}
@keyframes rglow{from{transform:translate(-52%,-50%) scale(1)}to{transform:translate(-48%,-52%) scale(1.06)}}
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.rev{position:relative;margin:0;display:flex;flex-direction:column;gap:24px;min-height:360px;padding:32px;border-radius:16px;background:rgba(39,39,53,.42);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.06),0 24px 60px -30px rgba(0,0,0,.6)}
.rev:nth-child(2){margin-top:48px}
.rq{flex:none;color:#AFB2CE}
.rev blockquote{flex:1;margin:0;font-size:18px;font-weight:400;line-height:1.55;color:#EDEDF3}
.rev figcaption{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.rav{width:44px;height:44px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);font-size:14px;font-weight:480;color:#EDEDF3}
.rn{display:block;font-size:15px;font-weight:480;color:#F4F5F9}
.rc{display:block;margin-top:1px;font-size:14px;font-weight:360;color:#AFB2CE}
.ph-card blockquote,.ph-card .rn,.ph-card .rc{color:#8f92ab}
.ph-card{box-shadow:inset 0 0 0 1px rgba(175,178,206,.22),0 24px 60px -30px rgba(0,0,0,.6);border:1px dashed rgba(175,178,206,.28)}

/* CTA-kort med animerad glöd i Mercurys blå */
@property --c5-x1{syntax:'<percentage>';inherits:false;initial-value:10%}
@property --c5-y1{syntax:'<percentage>';inherits:false;initial-value:10%}
@property --c5-x2{syntax:'<percentage>';inherits:false;initial-value:90%}
@property --c5-y2{syntax:'<percentage>';inherits:false;initial-value:10%}
@property --c5-x3{syntax:'<percentage>';inherits:false;initial-value:10%}
@property --c5-y3{syntax:'<percentage>';inherits:false;initial-value:90%}
@property --c5-x4{syntax:'<percentage>';inherits:false;initial-value:90%}
@property --c5-y4{syntax:'<percentage>';inherits:false;initial-value:90%}
@property --c5-x5{syntax:'<percentage>';inherits:false;initial-value:50%}
@property --c5-y5{syntax:'<percentage>';inherits:false;initial-value:50%}
@property --c5-s1{syntax:'<percentage>';inherits:false;initial-value:55%}
@property --c5-s2{syntax:'<percentage>';inherits:false;initial-value:55%}
@property --c5-s3{syntax:'<percentage>';inherits:false;initial-value:55%}
@property --c5-s4{syntax:'<percentage>';inherits:false;initial-value:55%}
@property --c5-s5{syntax:'<percentage>';inherits:false;initial-value:65%}
.c5-animated-gradient{position:relative;overflow:hidden;isolation:isolate;background-color:#181a2b}
.c5-animated-gradient::before{content:"";position:absolute;inset:-25%;z-index:-1;pointer-events:none;filter:blur(56px);background-image:radial-gradient(circle at var(--c5-x1) var(--c5-y1),rgba(82,102,235,.85) 0%,transparent var(--c5-s1)),radial-gradient(circle at var(--c5-x3) var(--c5-y3),rgba(20,20,30,.95) 0%,transparent var(--c5-s3)),radial-gradient(circle at var(--c5-x2) var(--c5-y2),rgba(55,67,144,.9) 0%,transparent var(--c5-s2)),radial-gradient(circle at var(--c5-x4) var(--c5-y4),rgba(69,85,191,.75) 0%,transparent var(--c5-s4)),radial-gradient(circle at var(--c5-x5) var(--c5-y5),rgba(31,35,61,.9) 0%,transparent var(--c5-s5)),linear-gradient(135deg,#202446 0%,#191a2c 55%,#1c2140 100%);animation:c5-blob1 16s ease-in-out infinite,c5-blob2 19s ease-in-out infinite,c5-blob3 17.5s ease-in-out infinite,c5-blob4 21s ease-in-out infinite,c5-blob5 13s ease-in-out infinite,c5-size1 11s ease-in-out infinite,c5-size2 13.5s ease-in-out infinite,c5-size3 12s ease-in-out infinite,c5-size4 14.5s ease-in-out infinite,c5-size5 10s ease-in-out infinite}
@keyframes c5-blob1{0%,100%{--c5-x1:5%;--c5-y1:5%}25%{--c5-x1:45%;--c5-y1:20%}50%{--c5-x1:30%;--c5-y1:55%}75%{--c5-x1:0%;--c5-y1:30%}}
@keyframes c5-blob2{0%,100%{--c5-x2:95%;--c5-y2:5%}33%{--c5-x2:55%;--c5-y2:35%}66%{--c5-x2:80%;--c5-y2:65%}}
@keyframes c5-blob3{0%,100%{--c5-x3:5%;--c5-y3:95%}40%{--c5-x3:45%;--c5-y3:65%}70%{--c5-x3:25%;--c5-y3:100%}}
@keyframes c5-blob4{0%,100%{--c5-x4:95%;--c5-y4:95%}30%{--c5-x4:60%;--c5-y4:70%}60%{--c5-x4:100%;--c5-y4:50%}}
@keyframes c5-blob5{0%,100%{--c5-x5:50%;--c5-y5:50%}25%{--c5-x5:70%;--c5-y5:30%}50%{--c5-x5:40%;--c5-y5:70%}75%{--c5-x5:30%;--c5-y5:40%}}
@keyframes c5-size1{0%,100%{--c5-s1:30%}50%{--c5-s1:48%}}
@keyframes c5-size2{0%,100%{--c5-s2:32%}50%{--c5-s2:50%}}
@keyframes c5-size3{0%,100%{--c5-s3:34%}50%{--c5-s3:52%}}
@keyframes c5-size4{0%,100%{--c5-s4:28%}50%{--c5-s4:46%}}
@keyframes c5-size5{0%,100%{--c5-s5:38%}50%{--c5-s5:56%}}
.btn.light{background:#ffffff;color:#171721}
.btn.light:hover{background:#EDEDF3;color:#171721}
.ctafaq{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}

/* FAQ */
.faq-item{border-top:1px solid #32323B}
.faq-item:last-child{border-bottom:1px solid #32323B}
.faq-q{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:0;cursor:pointer;text-align:left;font-size:17px;font-weight:420;color:#F4F5F9}
.faq-q svg{flex:none;color:#AFB2CE;transition:transform .3s var(--ease)}
.faq-q:hover svg{color:#F4F5F9}

/* Footer */
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:40px;margin-bottom:50px}
.flink{color:#AFB2CE;font-size:15px;transition:color .2s}
.flink:hover{color:#F4F5F9}
.finput::placeholder{color:#8f92ab}
.finput:hover{border-color:#4a4a57 !important}
.finput:focus{outline:2px solid var(--primary);outline-offset:0}

/* Surfplatta: målen blir ett dragspel där svaret öppnar sig under valet */
/* Intoning när en sektion kommer in i bild: rubriken bokstav för bokstav, resten glider in efter */
.ln{display:block}
.rvl{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease) .3s,transform 1s var(--ease) .3s}
.rvin .rvl{opacity:1;transform:none}
.rvl.d2{transition-delay:.45s}
.rvl.d3{transition-delay:.6s}
.rvl.d4{transition-delay:.75s}
.static .rvl{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion: reduce){.rvl{opacity:1;transform:none;transition:none}}

.goals-sec .lead.rvl{transition:opacity .9s var(--ease) .3s,transform 1s var(--ease) .3s,color .7s var(--ease)}

@media (max-width: 1000px){
  .goals{grid-template-columns:1fr;gap:0}
  .goal-panel{display:none}
  .goal-acc{display:block;padding:6px 0 14px}
  .goal-acc .gp{background:var(--s-raised);border-radius:16px;padding:26px 24px 28px;transition:background-color .7s var(--ease)}
  .goal-acc .gp > div{padding-top:28px !important}
  .goal{min-height:58px;padding:14px 22px;border-radius:16px}
  .goal svg{opacity:.5;transform:rotate(90deg)}
  .goal.on svg{opacity:1;transform:rotate(-90deg)}
  .ccbody{grid-template-columns:1fr;gap:0}
  .cctext{padding-top:16px}
  .team4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-strip li:nth-child(3){border-left:0}
  .fx-strip li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .revs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rev:nth-child(2){margin-top:0}
}
@media (max-width: 900px){
  .shead{grid-template-columns:1fr;gap:20px;margin-bottom:44px}
  .ctafaq{grid-template-columns:1fr;gap:56px}
  .fgrid{grid-template-columns:1fr 1fr}
}
/* Mobil */
@media (max-width: 820px){
  /* Navigering och helskärmsmeny */
  .navlinks{display:none}
  .navbar{height:64px}
  .navlogo{height:26px !important}
  .navlogin{display:none}
  .navburger{display:block}
  .nav.mopen .navr .btn{opacity:0;pointer-events:none}
  .mmenu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:49;padding:88px var(--gut) calc(24px + env(safe-area-inset-bottom));background:#171721;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s linear .3s}
  .mmenu.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease),visibility 0s}
  .mlinks{display:flex;flex-direction:column}
  .mlinks a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;border-bottom:1px solid #32323B;font-size:28px;font-weight:480;letter-spacing:-.015em;color:#F4F5F9}
  .mlinks a svg{flex:none;color:#AFB2CE}
  .mmenu.open .mlinks a{animation:mi .55s var(--ease) both}
  .mmenu.open .mlinks a:nth-child(2){animation-delay:.04s}
  .mmenu.open .mlinks a:nth-child(3){animation-delay:.08s}
  .mmenu.open .mlinks a:nth-child(4){animation-delay:.12s}
  .mmenu.open .mlinks a:nth-child(5){animation-delay:.16s}
  @keyframes mi{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .mfoot{margin-top:auto;padding-top:36px;display:flex;flex-direction:column;gap:10px}
  .mfoot .btn{width:100%}
  .mtel{display:block;margin-top:12px;text-align:center;font-size:15px;color:#AFB2CE}

  /* Hero: innehållet flödar, logotyperna glider förbi längst ned */
  .hero{height:auto !important;min-height:max(600px,calc(var(--vh) * 100)) !important;padding:124px var(--gut) 0 !important}
  /* Rubriken balanseras på tre rader på alla vanliga telefonbredder – inget ord ensamt på sista raden */
  .hero .h1{font-size:clamp(27px,8.6vw,40px) !important;text-wrap:balance}
  .h1 .ln{display:inline}
  .hero-lead{margin-top:18px !important;font-size:17px !important}
  .hctas{width:100%;max-width:420px;flex-wrap:nowrap !important;margin-top:28px !important}
  .hctas .btn{flex:1 1 0;min-width:0;padding:0 16px}
  .hero-logos{position:relative !important;left:auto !important;right:auto !important;bottom:auto !important;align-self:stretch;margin:auto calc(-1 * var(--gut)) 0;padding:52px 0 26px}
  .hero-logos > p{margin-bottom:18px !important;font-size:13px !important}
  .logomask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
  .logorow{justify-content:flex-start;gap:0;width:max-content;max-width:none;margin:0;font-size:13px;animation:marq 34s linear infinite}
  .lgroup,.lgroup.dup{display:flex;align-items:center;gap:44px;padding-right:44px}

  /* Case: flikarna blir kompakta, citatet hamnar under bilden */
  .cases-sec{padding:104px 0 112px}
  .ctabs{display:flex;gap:6px;margin:0 calc(-1 * var(--gut)) 18px;padding:0 var(--gut);overflow-x:auto;scrollbar-width:none}
  .ctabs::-webkit-scrollbar{display:none}
  .ctab{flex:none;flex-direction:row;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;opacity:1;color:#AFB2CE;box-shadow:inset 0 0 0 1px #32323B;transition:background .25s,color .25s,box-shadow .25s}
  .ctab.on{background:#F4F5F9;color:#171721;box-shadow:none}
  .ctab .cbar,.ctab .cnum,.ctab .csub{display:none}
  .ctab .cname{font-size:15px}
  .ccimg{aspect-ratio:16 / 10}
  .ccbody{padding:24px 22px 28px;gap:32px}
  .cchead h3{font-size:26px}
  .gp h3{font-size:26px}

  /* Statement */
  .stmt{left:var(--gut);right:var(--gut);top:50%;max-width:none;margin:0;white-space:normal;font-size:clamp(25px,6.8vw,32px);line-height:1.18;transform:translateY(calc(-50% + var(--rise)))}
  .stmt .ln{display:inline}

  /* Sektionsluft, citat, CTA och footer */
  .goals-sec{padding:104px 0}
  .forum-sec{padding-top:112px}
  .fx{min-height:0}
  .fx-bg{position:relative;inset:auto;z-index:0;aspect-ratio:4 / 3}
  .fx-scrim{background:linear-gradient(180deg,rgba(22,22,32,0) 55%,#161620 100%)}
  .fx-bg img{object-position:62% 50%}
  .fx-h{font-size:29px}
  .fx-main{max-width:none;gap:20px;padding:6px 22px 26px}
  .fx-body p{font-size:16px;margin-bottom:22px}
  .fx-body .btn{width:100%}
  #omdomen{padding-top:120px !important}
  #kontakt{padding:120px 0 96px !important}
  .rev-sec{padding-top:112px}
  .revs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:4px var(--gut) 12px;scroll-padding:0 var(--gut)}
  .revs::-webkit-scrollbar{display:none}
  .revs::after{content:"";flex:0 0 1px}
  .rev{flex:0 0 min(84%,420px);min-height:340px;padding:26px 24px;scroll-snap-align:start}
  .rev:nth-child(2){margin-top:0}
  .rev blockquote{font-size:17px}
  .team-sec{padding-top:120px}
  .ctacard{padding:64px 24px !important;min-height:420px !important}
  footer{padding-top:64px !important}
}
@media (max-width: 560px){
  .fx-strip{grid-template-columns:1fr}
  .fx-strip li + li{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .fx-strip a{min-height:68px;padding:14px 22px}
}
@media (max-width: 480px){
  .lead{font-size:17px}
  .caps{grid-template-columns:1fr;gap:12px}
  .goal-acc .btn{width:100%}
  .ccfoot .btn{width:100%}
  .team4{gap:24px 14px}
  .tmpic{margin-bottom:14px}
  .tmn{font-size:17px}
  .tmr{font-size:14px}
  .fgrid{grid-template-columns:1fr 1fr;gap:40px 24px}
  .fgrid > div:first-child,.fgrid > div:last-child{grid-column:1 / -1}
  .fbottom{flex-direction:column;gap:8px;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
  .fade-up{opacity:1;transform:none}
  .ready .fade-up{animation:none}
  .nav{animation:none;opacity:1}
  .hero-bg{animation:none}
  .case{transition:none}
  .gp,.ccase,.rev-glow{animation:none}
  .cbar::after{transition:none}
  .c5-animated-gradient::before{animation:none}
  .mmenu.open .mlinks a{animation:none}
}
@media (prefers-reduced-motion: reduce) and (max-width: 820px){
  .logomask{-webkit-mask-image:none;mask-image:none}
  .logorow{width:auto;display:block;animation:none}
  .lgroup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 14px;justify-items:center;padding:0 var(--gut);font-size:11px}
  .lgroup.dup{display:none}
}
/* Rubriker på mobil */
@media (max-width: 820px){
  h1 .ln,h2 .ln,h3 .ln,.stmt .ln{display:inline !important}
  /* Vanlig radbrytning; de två sista orden i varje rubrik hålls ihop i texten. Startsidans h1 balanseras. */
  .hero > .h1{text-wrap:balance !important}
  /* Något mindre mellanrubriker så att långa ord (kommunikationsbyrån, kommunikationen) får sällskap på raden */
  h2.h2{font-size:clamp(26px,7.4vw,32px) !important}
  h2.fx-h{font-size:clamp(23px,6.4vw,29px) !important}
  .cchead h3{font-size:clamp(22px,6.2vw,26px) !important}
}
/* Herovideo */
.hero-video{opacity:0;transition:opacity 1.4s var(--ease);pointer-events:none}
.static .hero-video{display:none}
@media (prefers-reduced-motion: reduce){.hero-video{display:none}}

/* WordPress components built from the desktop and mobile design references. */
body{font-family:'Inter Tight',system-ui,sans-serif;color:#f4f5f9;-webkit-font-smoothing:antialiased}
:root{--vh:1svh}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/inter-tight-latin.woff2') format('woff2')}
main{overflow:visible}
[hidden]{display:none!important}
.skip-link:focus{position:fixed;z-index:100;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:12px;background:#fff;color:#171721}
.navlogo{height:30px;width:auto;display:block}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#171721;display:flex;flex-direction:column;align-items:center;text-align:center;padding:max(168px,19svh) var(--gut) 0}
.hero-bg{inset:0;pointer-events:none}
.hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(10,12,20,.55),rgba(10,12,20,.25) 50%,transparent 70%),linear-gradient(transparent 75%,#171721)}
.hero .h1{position:relative;margin:0;font-weight:480;font-size:clamp(34px,5vw,78px);line-height:1.04;letter-spacing:-.02em;text-shadow:0 2px 30px rgba(10,10,20,.25)}
.hero .h1 em,.h2 em,.stmt em{font-style:normal;font-weight:inherit;color:inherit}
.hero-lead{position:relative;margin:24px auto 0;max-width:32em;font-size:clamp(17px,1.3vw,20px);line-height:1.5;color:#ededf3}
.hctas{position:relative;margin-top:34px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.hero-logos{position:absolute;left:var(--gut);right:var(--gut);bottom:4svh}
.hero-logos>p{margin:0 0 22px;font-size:14px;color:#c3c3cc}
.lgroup img{max-width:130px;max-height:36px;width:auto;height:auto;object-fit:contain}
.statement{position:relative;z-index:2;height:306svh;background:#171721;pointer-events:none}
.statement>div{position:sticky;top:0;height:100svh;display:grid;place-items:center}
.stmt{position:static;width:100%;max-width:1480px;transform:translateY(var(--rise));white-space:normal;padding:0 var(--gut);font-size:clamp(20px,2.8vw,42px)}
.goal-content{width:100%}.goal-bottom{margin-top:auto;padding-top:40px}.cap-list{color:var(--s-ink);margin:0 0 30px}
.goal-panel .gp{display:flex;flex-direction:column;width:100%}
.goals-sec{min-height:100svh}.goals-sec.light{background:#f9f9fe}
.rev-sec .revs{grid-template-columns:repeat(3,minmax(0,1fr))}
.rev-sec::before{content:'';position:absolute;left:50%;top:58%;width:min(1100px,92vw);height:520px;transform:translate(-50%,-50%);background:radial-gradient(40% 50% at 30% 50%,rgba(82,102,235,.30),transparent 70%),radial-gradient(38% 46% at 72% 46%,rgba(69,85,191,.24),transparent 70%);filter:blur(40px);pointer-events:none}
.rev::before{content:'“';display:block;height:22px;color:#afb2ce;font-family:Georgia,serif;font-size:62px;line-height:.72;font-weight:700}
.ctacard{border-radius:16px;padding:80px 40px;min-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(175,178,206,.14)}
.ctacard .h2{text-wrap:balance}
.ctacard>p{font-size:18px;line-height:1.55;color:#e2e3ea}.contact-sec{padding:170px 0 140px}
.faq h3{font-size:24px;font-weight:480;margin:0 0 20px}.faq-q{list-style:none}.faq-q::-webkit-details-marker{display:none}.faq-item>p{margin:0;padding:0 32px 22px 0;color:#c3c3cc;line-height:1.55}.faq-item[open] .faq-q span{transform:rotate(180deg)}
.site-footer{background:#171721;border-top:1px solid #32323b;padding:80px 0 20px}.site-footer .fgrid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.site-footer h3{font-size:15px;margin:0 0 8px}.site-footer p{font-size:15px;line-height:1.5;color:#afb2ce;margin:0;max-width:250px}.site-footer a:not(.btn){font-size:15px;color:#afb2ce}.site-footer a:hover{color:#fff}.site-footer .fbottom{border-top:1px solid #32323b;margin-top:70px;padding:25px 0 10px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#afb2ce}.basic-page{padding-top:150px;padding-bottom:100px;min-height:70vh}

/* Editorial layout for individual WordPress posts. */
.arvinge-article{min-height:75vh;padding:152px 0 120px;background:#171721;color:#f4f5f9}
.article-shell{max-width:1200px}
.article-header{max-width:860px;margin:0 auto 64px}
.article-back,.article-end a{display:inline-flex;align-items:center;gap:8px;color:#afb2ce;text-decoration:none;font-size:15px}
.article-back:hover,.article-end a:hover{color:#fff}
.article-meta{display:flex;flex-wrap:wrap;gap:9px;margin:52px 0 20px;color:#afb2ce;font-size:14px}
.article-header h1{max-width:900px;margin:0;font-family:'Inter Tight',system-ui,sans-serif;font-size:clamp(40px,6vw,80px);font-weight:500;letter-spacing:-.035em;line-height:1.06}
.article-intro{max-width:760px;margin:28px 0 0;color:#c3c3cc;font-size:clamp(19px,2vw,24px);line-height:1.5}
.article-author{display:flex;align-items:center;gap:12px;margin-top:36px;color:#c3c3cc;font-size:15px}
.article-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
.article-cover{margin:0 0 64px;overflow:hidden;border-radius:16px;background:#272735}
.article-cover img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}
.article-content{max-width:760px;margin:0 auto;color:#e4e4ea;font-size:clamp(17px,1.5vw,20px);line-height:1.75}
.article-content>*{margin:0 0 1.4em}
.article-content h2,.article-content h3,.article-content h4{margin:1.8em 0 .65em;color:#f4f5f9;font-family:'Inter Tight',system-ui,sans-serif;font-weight:550;line-height:1.18;letter-spacing:-.02em}
.article-content h2{font-size:clamp(30px,3vw,42px)}
.article-content h3{font-size:clamp(24px,2.4vw,32px)}
.article-content h4{font-size:22px}
.article-content a{color:#a9b4ff;text-decoration:underline;text-underline-offset:3px}
.article-content ul,.article-content ol{padding-left:1.4em}
.article-content li{padding-left:.2em;margin-bottom:.5em}
.article-content blockquote{margin:2em 0;padding:10px 0 10px 28px;border-left:3px solid #5266eb;color:#f4f5f9;font-size:1.25em;line-height:1.5}
.article-content img,.article-content video{max-width:100%;height:auto;border-radius:12px}
.article-content figure{margin:2em 0}
.article-content figcaption{margin-top:8px;color:#afb2ce;font-size:14px;text-align:center}
.article-content hr{border:0;border-top:1px solid #32323b;margin:2.5em 0}
.article-content .wp-block-button__link{display:inline-block;padding:13px 22px;border-radius:9px;background:#5266eb;color:#fff;text-decoration:none}
.article-end{display:flex;justify-content:space-between;gap:24px;max-width:760px;margin:80px auto 0;padding-top:24px;border-top:1px solid #32323b}
@media(max-width:820px){.arvinge-article{padding:112px 0 80px}.article-header{margin-bottom:40px}.article-meta{margin-top:36px}.article-header h1{font-size:clamp(36px,10vw,54px)}.article-cover{margin-bottom:40px}.article-content{font-size:17px}.article-end{margin-top:56px}}
@media(max-width:820px){.rev-sec .revs{grid-template-columns:none}}
.analysis-form{display:flex;gap:10px;width:100%}.analysis-form .finput{flex:1;min-width:0;height:44px;border:1px solid #32323b;background:#161620;color:#f4f5f9;padding:0 14px;border-radius:4px;font-size:16px}.analysis-form .btn{height:44px;padding:0 18px}
.goal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:32px}.goal-panel .goal-content{width:100%}
.goal-panel .goal-content{display:flex;flex:1}.goal-panel .gp{flex:1}.goal-arrow{opacity:0}.goal.on .goal-arrow{opacity:1}
.stmt.is-animated .stmt-char{opacity:0}.reveal-char{opacity:0;filter:blur(7px)}.reveal-char.revealing{animation:arvinge-reveal .85s var(--ease) both}@keyframes arvinge-reveal{0%{opacity:0;filter:blur(7px)}45%{opacity:1;filter:blur(2px);color:#afb2ce}100%{opacity:1;filter:none;color:inherit}}
@media(prefers-reduced-motion:reduce){.stmt-char,.reveal-char{opacity:1!important;filter:none!important;animation:none!important}}
@media(max-width:820px){.navburger{display:block}.mmenu:not([hidden]){display:flex}.navlinks{display:none}.hero{min-height:700px;padding-top:max(145px,18svh)}.hero .h1{font-size:clamp(35px,7vw,58px)}.hero .h1 br{display:none}.stmt br{display:none}.goals{grid-template-columns:1fr}.goal-panel{min-height:360px}.rev-sec .revs{grid-template-columns:1fr}.site-footer .fbottom{flex-direction:column}.contact-sec{padding:90px 0}}
@media(max-width:560px){.hero{min-height:660px}.hero .h1{font-size:clamp(33px,9vw,44px)}.hero-lead{font-size:17px}.hero-logos{bottom:35px}.hctas .btn{height:46px;padding:0 18px;font-size:15px}.stmt{line-height:1.25}.ctacard{padding:50px 25px;min-height:390px}.site-footer{padding-top:60px}.navlogo{height:25px}}
@media(max-width:1000px){.goal-panel{display:flex}}
@media(max-width:820px){.mmenu:not([hidden]){visibility:visible;opacity:1}.hero{min-height:100svh!important}}
@media(max-width:1000px){.goal-panel{display:none}.goal-acc{display:block}.goal-acc .gp{display:flex;flex-direction:column;background:var(--s-raised);border-radius:16px;padding:26px 24px 28px}.goal-acc .goal-bottom{padding-top:28px}}
@media(max-width:820px){.fx-h br,.ctacard .h2 br{display:none}.rev-sec .revs{grid-template-columns:none}.goal-item{width:100%}.goal-acc .gp{min-height:0}.site-footer .fgrid{gap:42px}}
@media(max-width:1000px){.goal-arrow{opacity:1}.goal.on .goal-arrow{font-size:0}.goal.on .goal-arrow::after{content:'↑';font-size:18px}.ctacard .h2{max-width:min(100%,18ch)}}

/* Even line breaks for titles; avoid short orphaned words in longer copy. */
body{text-wrap:pretty}
:is(h1,h2,h3,h4,h5,h6,.ftitle,.ptitle,.cname,.faq-q){text-wrap:balance}
