/* Akreo — Swiss design system for Elementor (global helpers) */
:root{--ak-ink:#0A0908;--ak-ink-soft:#1C1A17;--ak-paper:#FAFAF7;--ak-paper-2:#F1EFE8;--ak-line:#E3DFD5;--ak-line-strong:#CFC9BB;--ak-muted:#6B6358;--ak-accent:#DB4623;--ak-accent-ink:#B53A1D;--ak-on-dark:#FAFAF7;--ak-on-dark-muted:#948C7F;--ak-line-dark:#2A2724;--ak-display:'Space Grotesk',system-ui,sans-serif;--ak-sans:'DM Sans',-apple-system,system-ui,sans-serif;--ak-mono:'JetBrains Mono',ui-monospace,monospace;}

/* Kicker / eyebrow */
.ak-kicker{font-family:var(--ak-mono)!important;font-size:12px!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--ak-accent-ink)!important;display:inline-flex;align-items:center;gap:10px;}
.ak-kicker:before{content:'';width:24px;height:1px;background:currentColor;display:inline-block;}
.ak-kicker-light{color:var(--ak-accent)!important;}

/* Mono label */
.ak-mono{font-family:var(--ak-mono)!important;text-transform:uppercase;letter-spacing:.1em;}

/* Marquee (CSS only) */
.ak-marquee{overflow:hidden!important;width:100%;max-width:1280px;margin-left:auto!important;margin-right:auto!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.ak-marquee-track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;gap:56px;animation:ak-marquee 32s linear infinite;}
@keyframes ak-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Scroll reveal */
.ak-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.ak-reveal.ak-in{opacity:1;transform:none;}

/* Service-grid hairline frame helper */
.ak-frame{border-top:1px solid var(--ak-line);border-left:1px solid var(--ak-line);}
.ak-frame-cell{border-right:1px solid var(--ak-line);border-bottom:1px solid var(--ak-line);position:relative;transition:background .32s ease;}
.ak-frame-cell:hover{background:var(--ak-paper-2);}
.ak-frame-cell:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ak-accent);transform:scaleY(0);transform-origin:top;transition:transform .32s cubic-bezier(.22,1,.36,1);}
.ak-frame-cell:hover:before{transform:scaleY(1);}

/* Magnetic cursor (fine pointer only) */
.ak-cursor-dot,.ak-cursor-ring{display:none;}
@media (pointer:fine){
.ak-cursor-dot,.ak-cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:99999;mix-blend-mode:difference;display:block;}
.ak-cursor-dot{width:7px;height:7px;background:#fff;transform:translate(-50%,-50%);}
.ak-cursor-ring{width:38px;height:38px;border:1px solid rgba(255,255,255,.6);transform:translate(-50%,-50%);transition:width .24s ease,height .24s ease,border-color .24s ease,background .24s ease;}
.ak-cursor-ring.ak-hover{width:60px;height:60px;border-color:var(--ak-accent);background:rgba(219,70,35,.1);}
body.ak-cursor-on{cursor:none;}
body.ak-cursor-on a,body.ak-cursor-on button{cursor:none;}
}

@media (prefers-reduced-motion:reduce){
.ak-reveal{opacity:1!important;transform:none!important;}
.ak-marquee-track{animation:none!important;}
.ak-cursor-dot,.ak-cursor-ring{display:none!important;}
body.ak-cursor-on{cursor:auto;}
}

/* Header / Footer (XPRO templates) */
.ak-header{background:var(--ak-paper);border-bottom:1px solid var(--ak-line);}
.ak-logo *{font-family:var(--ak-display)!important;font-weight:700!important;font-size:22px!important;letter-spacing:-.04em!important;color:var(--ak-ink)!important;line-height:1!important;}
.ak-navcta a,.ak-navcta .elementor-button,.ak-navcta button{background:var(--ak-ink)!important;color:var(--ak-paper)!important;padding:11px 20px!important;border-radius:100px!important;font-family:var(--ak-sans)!important;font-weight:600!important;font-size:14px!important;border:none!important;text-decoration:none!important;display:inline-block!important;}
.ak-navcta a:hover,.ak-navcta .elementor-button:hover,.ak-navcta button:hover{background:var(--ak-accent)!important;}
.ak-footer a{color:var(--ak-on-dark-muted)!important;text-decoration:none;}
.ak-footer a:hover{color:var(--ak-accent)!important;}
.ak-footcol-title *{font-family:var(--ak-mono)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:var(--ak-on-dark)!important;}
.ak-footbrand *{font-family:var(--ak-display)!important;font-weight:700!important;font-size:24px!important;letter-spacing:-.04em!important;color:var(--ak-on-dark)!important;}

/* Floating pill header (match demo) */
.xpro-theme-builder-header{position:fixed!important;top:0;left:0;right:0;z-index:1000;padding:16px 16px 0!important;background:transparent!important;border:none!important;box-shadow:none!important;}
.xpro-theme-builder-header .xpro-theme-builder-header-nav{max-width:1296px;margin:0 auto;}
.xpro-theme-builder-header .ak-header{border-radius:100px!important;background:rgba(250,250,247,0.72)!important;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid transparent!important;padding:12px 24px!important;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;}
.xpro-theme-builder-header.ak-scrolled .ak-header{background:rgba(250,250,247,0.92)!important;border-color:var(--ak-line)!important;box-shadow:0 6px 24px rgba(10,9,8,0.06)!important;}
.xpro-theme-builder-header .ak-header > .e-con-inner{max-width:100%!important;width:100%!important;}
@media (max-width:600px){.xpro-theme-builder-header{padding:10px 10px 0!important;}.xpro-theme-builder-header .ak-header{padding:10px 16px!important;}}

/* Logo monogram (viewfinder mark) before the Akreo wordmark */
.ak-logo{display:inline-flex!important;align-items:center;gap:10px;}
.ak-logo::before{content:"";flex:0 0 auto;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3E%3Cpath%20d='M6%2015V6H15M33%206H42V15M42%2033V42H33M15%2042H6V33'%20stroke='%230A0908'%20stroke-width='3'/%3E%3Ccircle%20cx='24'%20cy='24'%20r='3.8'%20fill='%23DB4623'/%3E%3C/svg%3E") no-repeat center/contain;}
.ak-footbrand{display:inline-flex!important;align-items:center;gap:10px;}
.ak-footbrand::before{content:"";flex:0 0 auto;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3E%3Cpath%20d='M6%2015V6H15M33%206H42V15M42%2033V42H33M15%2042H6V33'%20stroke='%23FAFAF7'%20stroke-width='3'/%3E%3Ccircle%20cx='24'%20cy='24'%20r='3.8'%20fill='%23DB4623'/%3E%3C/svg%3E") no-repeat center/contain;}

/* Dark-section red radial glow (match demo) */
.ak-glow-final{background:radial-gradient(680px circle at 10% 125%, rgba(219,70,35,0.22), transparent 60%), #0A0908 !important;}
.ak-glow-approach{background:radial-gradient(620px circle at 94% -25%, rgba(219,70,35,0.18), transparent 64%), #0A0908 !important;}

/* Smooth anchor scrolling offset for the fixed header */
html{scroll-behavior:smooth;scroll-padding-top:104px;}

/* ===== Article (single post) reading layout ===== */
.ak-article-back a{font-family:var(--ak-mono)!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.1em;color:var(--ak-muted)!important;text-decoration:none;}
.ak-article-back a:hover{color:var(--ak-accent)!important;}
.ak-prose p{font-size:19px;line-height:1.75;margin-bottom:26px;color:var(--ak-ink-soft);}
.ak-prose > p:first-of-type{font-size:22px;line-height:1.6;color:var(--ak-ink);margin-bottom:32px;}
.ak-prose h2{font-family:var(--ak-display);font-weight:600;font-size:30px;letter-spacing:-.025em;line-height:1.1;margin:54px 0 18px;color:var(--ak-ink);}
.ak-prose h3{font-family:var(--ak-display);font-weight:600;font-size:22px;letter-spacing:-.02em;margin:38px 0 14px;color:var(--ak-ink);}
.ak-prose ul,.ak-prose ol{margin:0 0 26px;padding-left:1.3em;}
.ak-prose li{font-size:18px;line-height:1.7;margin-bottom:10px;color:var(--ak-ink-soft);}
.ak-prose li::marker{color:var(--ak-accent);}
.ak-prose strong{font-weight:600;color:var(--ak-ink);}
.ak-prose a{color:var(--ak-accent-ink);text-decoration:underline;text-underline-offset:3px;}
.ak-prose a:hover{color:var(--ak-accent);}
.ak-prose blockquote{font-family:var(--ak-display);font-weight:500;font-size:24px;line-height:1.4;letter-spacing:-.02em;border-left:2px solid var(--ak-accent);padding-left:26px;margin:38px 0;color:var(--ak-ink);}
.ak-prose blockquote p{font-size:24px;color:var(--ak-ink);}
.ak-prose hr{border:none;border-top:1px solid var(--ak-line);margin:48px 0;}
.ak-art-cat .xpro-taxonomy-wrapper,.ak-art-cat a{font-family:var(--ak-mono)!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.14em;color:var(--ak-accent-ink)!important;text-decoration:none;}
.ak-bio .pic{width:60px;height:60px;border-radius:50%;background:linear-gradient(150deg,#26221D,#0A0908);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:var(--ak-display);font-weight:700;color:#FAFAF7;font-size:20px;}
/* index rows */
.ak-art-row{transition:color .18s ease;}
.ak-art-row:hover .ak-art-title,.ak-art-row:hover .ak-art-title *{color:var(--ak-accent)!important;}

.ak-narrow{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;width:100%;}
.ak-art-h1,.ak-art-h1 *{font-family:var(--ak-display)!important;font-weight:600!important;font-size:clamp(34px,5vw,54px)!important;line-height:1.05!important;letter-spacing:-.03em!important;color:var(--ak-ink)!important;}

/* ===== Insikter dynamic post grid (xpro-post-grid) ===== */
.ak-postgrid .xpro-post-grid-item{background:transparent!important;border:none!important;border-top:2px solid var(--ak-ink)!important;border-radius:0!important;padding:22px 0 0!important;box-shadow:none!important;}
.ak-postgrid .xpro-post-grid-content{padding:0!important;background:transparent!important;}
.ak-postgrid .xpro-post-grid-meta-list{list-style:none!important;margin:0 0 14px!important;padding:0!important;display:flex;gap:16px;font-family:var(--ak-mono)!important;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ak-muted)!important;}
.ak-postgrid .xpro-post-grid-meta-list li,.ak-postgrid .xpro-post-grid-meta-list a{color:var(--ak-accent-ink)!important;text-decoration:none;}
.ak-postgrid .xpro-post-grid-title{font-family:var(--ak-display)!important;font-weight:600!important;font-size:24px!important;line-height:1.12!important;letter-spacing:-.02em!important;margin:0 0 12px!important;}
.ak-postgrid .xpro-post-grid-title,.ak-postgrid .xpro-post-grid-title a{color:var(--ak-ink)!important;}
.ak-postgrid .xpro-post-grid-item:hover .xpro-post-grid-title,.ak-postgrid .xpro-post-grid-item:hover .xpro-post-grid-title a{color:var(--ak-accent)!important;}
.ak-postgrid .xpro-post-grid-excerpt{font-size:14.5px!important;line-height:1.55!important;color:var(--ak-muted)!important;margin:0 0 16px!important;}
.ak-postgrid .xpro-post-grid-btn{font-family:var(--ak-mono)!important;font-size:11.5px!important;text-transform:uppercase;letter-spacing:.1em;color:var(--ak-accent-ink)!important;background:none!important;border:none!important;padding:0!important;}
.ak-postgrid .xpro-post-grid-btn:hover{color:var(--ak-accent)!important;}
.ak-postgrid .xpro-post-grid-pagination,.ak-postgrid .cbp-pagination,.ak-postgrid .xpro-pagination{margin-top:48px;font-family:var(--ak-mono);}

/* ===== WPForms (Kontakt) brand styling ===== */
.ak-form .wpforms-field-label{font-family:var(--ak-sans)!important;font-weight:600!important;font-size:14px!important;color:var(--ak-ink-soft)!important;margin-bottom:8px;}
.ak-form .wpforms-field{padding:0 0 18px 0!important;}
.ak-form input[type=text],.ak-form input[type=email],.ak-form textarea,.ak-form .wpforms-field-large{width:100%!important;max-width:100%!important;background:#FFFFFF!important;border:1px solid var(--ak-line-strong)!important;border-radius:4px!important;padding:13px 15px!important;font-family:var(--ak-sans)!important;font-size:16px!important;color:var(--ak-ink)!important;box-shadow:none!important;}
.ak-form textarea{min-height:140px;}
.ak-form input:focus,.ak-form textarea:focus{outline:none!important;border-color:var(--ak-accent)!important;}
.ak-form .wpforms-required-label{color:var(--ak-accent)!important;}
.ak-form .wpforms-submit{background:var(--ak-ink)!important;color:var(--ak-paper)!important;border:none!important;border-radius:100px!important;padding:15px 32px!important;font-family:var(--ak-sans)!important;font-weight:600!important;font-size:15px!important;cursor:pointer;transition:background .18s ease;}
.ak-form .wpforms-submit:hover{background:var(--ak-accent)!important;}
.ak-form .wpforms-confirmation-container-full{background:var(--ak-paper-2)!important;border:1px solid var(--ak-line)!important;border-radius:4px;padding:20px 24px;font-family:var(--ak-sans);color:var(--ak-ink);}

/* ===== Client logos (Betrott av) ===== */
.ak-clientlogo{display:flex!important;justify-content:center;align-items:center;}
.ak-clientlogo img{height:42px!important;width:auto!important;max-width:180px!important;object-fit:contain!important;filter:grayscale(100%);opacity:.55;transition:opacity .3s ease,filter .3s ease;}
.ak-clientlogo:hover img{opacity:1;filter:grayscale(0%);}

.ak-art-meta{font-family:var(--ak-mono)!important;font-size:12.5px!important;text-transform:uppercase;letter-spacing:.1em;color:var(--ak-muted)!important;}
.ak-art-cat{margin-bottom:2px;}

/* Consistent page background across all pages/posts (match menu + homepage) */
html, body, .site, #page, .site-content, #content, .ast-container, .ast-container-fluid, .ast-separate-container{background-color:#FAFAF7!important;}
.ast-separate-container .ast-article-single{background-color:transparent!important;box-shadow:none!important;}

/* Hero headline word-stagger on load */
.ak-word{display:inline-block;opacity:0;transform:translateY(0.5em);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
.ak-word.ak-word-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.ak-word{opacity:1!important;transform:none!important;}}
