.fp-shell{display:flex;min-height:100vh;flex-direction:column}.fp-main{flex:1}.fp-wrap{width:100%;max-width:var(--kv-width-wide);margin-inline:auto;padding-inline:var(--kv-gutter)}.fp-wrap--full{max-width:var(--kv-width-full)}.fp-wrap--text{max-width:calc(780px + var(--kv-gutter)*2)}
.fp-section{padding-block:clamp(4.5rem,8vw,8.5rem)}.fp-section--tight{padding-block:clamp(2.5rem,5vw,4.5rem)}.fp-section--deep{background:var(--kv-paper-2)}.fp-section--navy{background:var(--kv-ink-900);color:#fff}.fp-section--navy p{color:rgba(255,255,255,.7)}.fp-section--gold{background:var(--kv-prime);color:var(--kv-ink-950)}
.fp-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.fp-section__head h2{margin:0;max-width:12ch}.fp-section__head a{font-size:.8rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.fp-grid{display:grid;gap:1rem}.fp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.fp-grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Header */
.fp-header{position:sticky;top:0;z-index:50;background:rgba(246,243,235,.88);color:var(--kv-ink);border-bottom:1px solid rgba(16,35,29,.09);backdrop-filter:blur(18px);transition:background var(--kv-duration),color var(--kv-duration),box-shadow var(--kv-duration)}.fp-header--over{position:fixed;left:0;right:0;background:transparent;color:#fff;border-bottom-color:rgba(255,255,255,.12);backdrop-filter:none}.fp-header--over[data-scrolled="true"]{background:rgba(11,23,19,.92);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.fp-header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:78px}.fp-logo{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.fp-logo__stamp{font-family:var(--kv-font-display);font-size:1.12rem;letter-spacing:-.03em}.fp-logo__flag{padding:.3rem .5rem;border-radius:var(--kv-radius-pill);background:var(--kv-prime);color:var(--kv-ink-950);font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}
.fp-nav{display:flex;align-items:center;gap:1.25rem}.fp-nav ul{display:flex;align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none}.fp-nav a{font-size:.82rem;font-weight:600;text-decoration:none}.fp-header--over .fp-nav>ul a{color:rgba(255,255,255,.78)}.fp-header--over .fp-nav>ul a:hover{color:#fff}.fp-nav__toggle{display:none}

/* Hero */
.fp-hero{position:relative;overflow:hidden}.fp-hero--video{min-height:100svh;display:flex;align-items:flex-end;background:var(--kv-ink-950);color:#fff;padding:10.5rem 0 4.5rem}.fp-hero__media{position:absolute;inset:0;z-index:0}.fp-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,10,.92) 0%,rgba(4,14,10,.7) 42%,rgba(4,14,10,.14) 78%),linear-gradient(0deg,rgba(4,14,10,.74) 0%,transparent 48%)}.fp-hero__media img,.fp-hero__media video{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.02)}
.fp-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:clamp(3rem,7vw,8rem);align-items:end}.fp-hero__title{font-size:clamp(4rem,8.5vw,9.2rem);line-height:.84;letter-spacing:-.055em;max-width:8.4ch;margin:0 0 1.7rem}.fp-hero__title span{display:block}.fp-hero__title .fp-hero__gold{color:var(--kv-prime);font-style:italic}.fp-hero__lead{max-width:48ch;color:rgba(255,255,255,.73);font-size:clamp(1rem,1.1vw,1.15rem);margin-bottom:1.8rem}.fp-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}.fp-hero__stage{position:relative;display:flex;justify-content:flex-end;padding-bottom:1rem}.fp-hero__stage::before{content:"Kammarmusikabonnemanget";position:absolute;right:1rem;top:-2.3rem;font-family:var(--kv-font-mono);font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55)}.fp-hero__stage>*{width:min(410px,100%)}.fp-hero__scroll{position:absolute;right:var(--kv-gutter);bottom:2.25rem;z-index:2;margin:0;font-family:var(--kv-font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);writing-mode:vertical-rl}.fp-hero__scroll::after{content:"";display:inline-block;width:1px;height:46px;margin-top:.8rem;background:rgba(255,255,255,.35)}

/* discovery strip */
.fp-discovery{position:relative;z-index:4;margin-top:-1px;background:var(--kv-prime);color:var(--kv-ink-950)}.fp-discovery__inner{display:grid;grid-template-columns:1.1fr repeat(3,.72fr);min-height:128px}.fp-discovery__lead,.fp-discovery__item{padding:1.45rem 1.6rem;border-right:1px solid rgba(16,35,29,.18);display:flex;flex-direction:column;justify-content:center}.fp-discovery__lead{padding-left:0}.fp-discovery__item:last-child{border-right:0}.fp-discovery__kicker{font-family:var(--kv-font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.62}.fp-discovery__value{font-family:var(--kv-font-display);font-size:1.65rem;line-height:1.05;margin-top:.35rem}.fp-discovery__lead .fp-discovery__value{font-size:2.15rem}.fp-discovery__meta{font-size:.78rem;opacity:.65;margin-top:.25rem}

/* editorial intro */
.fp-intro{padding-block:clamp(5rem,10vw,10rem)}.fp-intro__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,9vw,10rem);align-items:start}.fp-intro__aside{position:sticky;top:120px}.fp-intro__headline{font-size:clamp(3rem,6vw,6.7rem);max-width:10ch;margin:0}.fp-intro__headline em{color:var(--kv-moss);font-weight:400}.fp-intro__copy{padding-top:1rem}.fp-intro__copy>p:first-child{font-size:var(--kv-text-lg);line-height:1.35;color:var(--kv-ink);max-width:40ch}.fp-intro__copy>p:not(:first-child){color:var(--kv-ink-soft)}

/* Feature image band */
.fp-feature-band{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--kv-ink-950);color:#fff}.fp-feature-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.fp-feature-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,15,.92) 0%,rgba(7,19,15,.58) 45%,rgba(7,19,15,.16) 80%),linear-gradient(0deg,rgba(7,19,15,.72),transparent 55%)}.fp-feature-band__inner{position:relative;z-index:1;padding-bottom:clamp(3rem,7vw,6rem)}.fp-feature-band__inner h2{font-size:clamp(3.3rem,7vw,7.4rem);max-width:9ch;color:#fff;margin-bottom:1.3rem}.fp-feature-band__inner p{max-width:48ch;color:rgba(255,255,255,.76)}

/* programme */
.fp-programme{border-top:var(--kv-border-firm)}.fp-programme__month{display:flex;align-items:baseline;gap:.7rem;padding:1.8rem 0 .7rem;margin:0;font-family:var(--kv-font-display);font-size:1.55rem}.fp-programme__month span{font-family:var(--kv-font-mono);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--kv-ink-soft)}

/* Journey section */
.fp-journey{background:var(--kv-ink-900);color:#fff;overflow:hidden}.fp-journey__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,8vw,9rem);align-items:center}.fp-journey h2{font-size:clamp(3rem,6vw,6rem);max-width:8ch}.fp-journey p{color:rgba(255,255,255,.7)}.fp-steps{display:grid;gap:0;margin:2.8rem 0 0;padding:0;list-style:none;counter-reset:steps}.fp-step{counter-increment:steps;position:relative;padding:1.15rem 0 1.15rem 3.5rem;border-top:1px solid rgba(255,255,255,.15)}.fp-step::before{content:"0" counter(steps);position:absolute;left:0;top:1.15rem;font-family:var(--kv-font-mono);font-size:.67rem;color:var(--kv-prime)}.fp-step h3{font-size:1.05rem;margin-bottom:.25rem}.fp-step p{font-size:.84rem;margin:0;max-width:40ch}

/* organizer CTA */
.fp-organizer-cta{background:var(--kv-prime);color:var(--kv-ink-950);padding-block:clamp(3.2rem,6vw,5.3rem)}.fp-organizer-cta__grid{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:end}.fp-organizer-cta h2{font-size:clamp(3rem,5vw,5.5rem);max-width:10ch;margin:0}.fp-organizer-cta p{margin-top:1rem;margin-bottom:0;max-width:52ch}.fp-organizer-cta__action{justify-self:end}

/* Footer */
.fp-footer{background:var(--kv-ink-950);color:#fff;padding:5rem 0 2rem}.fp-footer__top{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.14)}.fp-footer__brand{font-family:var(--kv-font-display);font-size:clamp(2.7rem,5vw,5rem);line-height:.95;max-width:8ch}.fp-footer__brand span{color:var(--kv-prime);font-style:italic}.fp-footer__tagline{color:rgba(255,255,255,.58);max-width:34ch}.fp-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:3rem 0}.fp-footer__title{font-family:var(--kv-font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;color:var(--kv-prime);margin-bottom:1rem}.fp-footer ul{margin:0;padding:0;list-style:none}.fp-footer li+li{margin-top:.55rem}.fp-footer a{color:rgba(255,255,255,.74);text-decoration:none;font-size:.88rem}.fp-footer a:hover{color:#fff}.fp-footer__base{display:flex;justify-content:space-between;gap:2rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.14);font-size:.72rem;color:rgba(255,255,255,.42)}.fp-footer__base p{margin:0}

/* Reveal */
.fp-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--kv-ease),transform .8s var(--kv-ease)}.fp-reveal[data-visible="true"]{opacity:1;transform:none}

@media(max-width:1040px){.fp-nav ul{gap:1rem}.fp-hero__grid,.fp-intro__grid,.fp-journey__grid{grid-template-columns:1fr}.fp-hero__stage{justify-content:flex-start;margin-top:2rem}.fp-hero__stage::before{left:0;right:auto}.fp-intro__aside{position:static}.fp-discovery__inner{grid-template-columns:repeat(2,1fr)}.fp-discovery__lead{padding-left:1.6rem}.fp-discovery__item{border-top:1px solid rgba(16,35,29,.18)}.fp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.fp-nav__toggle{display:inline-flex}.fp-nav__list{position:absolute;left:1rem;right:1rem;top:68px;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:.7rem;border-radius:18px;background:var(--kv-ink-950);box-shadow:var(--kv-shadow-lg);transform-origin:top;transition:opacity var(--kv-duration),transform var(--kv-duration)}.fp-nav__list:not([data-open="true"]){opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none}.fp-nav__list a{display:block;padding:.9rem 1rem;color:#fff!important;border-radius:10px}.fp-nav__list a:hover{background:rgba(255,255,255,.08)}.fp-nav>.fp-btn:not(.fp-nav__toggle){display:none}.fp-footer__top,.fp-organizer-cta__grid{grid-template-columns:1fr}.fp-organizer-cta__action{justify-self:start}.fp-footer__grid{grid-template-columns:repeat(2,1fr)}.fp-grid--3,.fp-grid--6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fp-header__inner{min-height:68px}.fp-logo__stamp{font-size:1rem}.fp-hero--video{min-height:92svh;padding-top:8rem;padding-bottom:2.5rem}.fp-hero__title{font-size:clamp(3.5rem,17vw,5.4rem)}.fp-hero__scroll{display:none}.fp-discovery__inner{grid-template-columns:1fr}.fp-discovery__lead,.fp-discovery__item{padding:1.1rem 0;border-right:0;border-top:1px solid rgba(16,35,29,.18)}.fp-discovery__lead{border-top:0}.fp-section__head{align-items:flex-start;flex-direction:column}.fp-grid--2,.fp-grid--3,.fp-grid--4,.fp-grid--6{grid-template-columns:1fr}.fp-footer__grid{grid-template-columns:1fr 1fr}.fp-footer__base{flex-direction:column}.fp-organizer-cta h2{font-size:3rem}}

/* Interior pages */
.fp-page-hero{padding:clamp(8rem,13vw,12rem) 0 clamp(3.5rem,7vw,6rem);background:var(--kv-paper-2);border-bottom:var(--kv-border)}.fp-page-hero__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,8rem);align-items:end}.fp-page-hero h1{font-size:clamp(3.5rem,7vw,7.8rem);max-width:10ch;margin:0}.fp-page-hero__meta{font-family:var(--kv-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kv-moss)}.fp-singular-media{margin-top:-1px}.fp-singular-media img{width:100%;max-height:72vh;object-fit:cover}.fp-content-shell{padding-block:clamp(4rem,8vw,7rem)}.fp-archive-hero{padding:clamp(8rem,13vw,11rem) 0 3rem}.fp-archive-hero h1{font-size:clamp(3.8rem,8vw,8rem);margin:0}.navigation.pagination{margin-top:4rem}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .8rem;border-radius:var(--kv-radius-pill);background:#fff;border:var(--kv-border);text-decoration:none}.page-numbers.current{background:var(--kv-ink-950);color:#fff;border-color:var(--kv-ink-950)}
@media(max-width:760px){.fp-page-hero__grid{grid-template-columns:1fr}.fp-page-hero{padding-top:7rem}}

/* 0.7.0 — editorial place statement */
.fp-place-statement{position:relative;padding-block:clamp(5rem,10vw,10rem);background:var(--kv-paper);overflow:hidden}
.fp-place-statement::before{content:"";position:absolute;left:max(1.25rem,calc((100vw - var(--kv-wrap))/2));top:0;width:1px;height:clamp(3rem,7vw,6rem);background:var(--kv-prime)}
.fp-place-statement__grid{display:grid;grid-template-columns:.34fr 1.2fr .52fr;gap:clamp(2rem,5vw,5rem);align-items:end}
.fp-place-statement blockquote{margin:0}
.fp-place-statement blockquote span,.fp-place-statement blockquote em{display:block;font-family:var(--kv-font-display);font-size:clamp(3.1rem,6.6vw,7.5rem);line-height:.93;letter-spacing:-.045em;font-weight:400}
.fp-place-statement blockquote em{color:var(--kv-moss);font-style:italic;margin-top:.08em}
.fp-place-statement__copy{max-width:31ch;margin:0 0 .55rem;color:var(--kv-ink-soft);font-size:.95rem}
@media(max-width:1040px){.fp-place-statement__grid{grid-template-columns:1fr}.fp-place-statement blockquote{max-width:900px}.fp-place-statement__copy{max-width:55ch}}

/* =========================================================
   0.8.0 — refinements requested after first live review
   ========================================================= */

/* Discovery: more rhythm, detail and an obvious next action. */
.fp-discovery{overflow:hidden}
.fp-discovery::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% -60%,rgba(255,255,255,.55),transparent 38%),linear-gradient(120deg,rgba(255,255,255,.08),transparent 45%);pointer-events:none}
.fp-discovery__inner{position:relative;min-height:180px}
.fp-discovery__lead,.fp-discovery__item{position:relative;padding-block:2.15rem;transition:background var(--kv-duration) var(--kv-ease),transform var(--kv-duration) var(--kv-ease)}
.fp-discovery__item:hover{background:rgba(255,255,255,.14)}
.fp-discovery__lead{padding-right:2.5rem}
.fp-discovery__index{position:absolute;right:1.4rem;top:1.1rem;font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.12em;opacity:.35}
.fp-discovery__icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:1rem;border:1px solid rgba(16,35,29,.24);border-radius:50%}
.fp-discovery__icon svg{width:19px;height:19px}
.fp-discovery__value{font-size:1.75rem;max-width:13ch}
.fp-discovery__lead .fp-discovery__value{font-size:clamp(2rem,2.5vw,2.8rem);max-width:13ch}
.fp-discovery__meta{max-width:27ch;line-height:1.45}
.fp-discovery__link{display:inline-flex;align-items:center;gap:.45rem;width:max-content;margin-top:1rem;font-size:.72rem;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(16,35,29,.45)}

/* Intro: brand-mark + three compact product promises. */
.fp-intro__aside{min-height:660px}
.fp-intro__mark{position:relative;width:178px;height:178px;margin-top:3.2rem;border:1px solid var(--kv-rule-strong);border-radius:50%;display:grid;place-items:center;color:var(--kv-ink-950)}
.fp-intro__mark::before,.fp-intro__mark::after{content:"";position:absolute;background:var(--kv-prime)}
.fp-intro__mark::before{width:62px;height:1px;right:-34px;top:50%}.fp-intro__mark::after{width:1px;height:62px;bottom:-30px;left:50%}
.fp-intro__mark span{font-family:var(--kv-font-display);font-size:3rem;letter-spacing:-.06em}.fp-intro__mark i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--kv-prime);right:22px;top:27px}.fp-intro__mark strong{position:absolute;bottom:26px;font-family:var(--kv-font-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.fp-intro__promises{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.5rem;border-top:var(--kv-border-firm);border-bottom:var(--kv-border-firm)}
.fp-intro__promise{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1.25rem 1rem 1.25rem 0}
.fp-intro__promise+.fp-intro__promise{padding-left:1rem;border-left:var(--kv-border)}
.fp-intro__promise-icon{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss);padding-top:.2rem}
.fp-intro__promise strong{display:block;font-size:.8rem;margin-bottom:.25rem}.fp-intro__promise small{display:block;font-size:.68rem;line-height:1.45;color:var(--kv-ink-soft)}
.fp-intro__actions{margin-top:2rem}

/* Impact band: more breathing room above the eyebrow and richer story/facts. */
.fp-feature-band{min-height:88vh;align-items:stretch}
.fp-feature-band::after{background:linear-gradient(90deg,rgba(7,19,15,.94) 0%,rgba(7,19,15,.78) 42%,rgba(7,19,15,.28) 78%),linear-gradient(0deg,rgba(7,19,15,.8),transparent 62%)}
.fp-feature-band__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.62fr);gap:clamp(4rem,9vw,9rem);align-items:end;padding-top:clamp(7rem,12vw,11rem);padding-bottom:clamp(4rem,7vw,7rem)}
.fp-feature-band__story .fp-eyebrow{color:var(--kv-prime);margin-bottom:1.8rem}
.fp-feature-band__inner h2{font-size:clamp(3.3rem,6.8vw,7.2rem);max-width:8.5ch;margin-bottom:1.6rem}
.fp-feature-band__inner h2 em{display:block;color:var(--kv-prime);font-weight:400}
.fp-feature-band__lead{font-size:1rem;line-height:1.65;max-width:52ch!important}
.fp-feature-band__actions{margin-top:2rem}
.fp-feature-band__facts{display:grid;align-self:end;border-top:1px solid rgba(255,255,255,.22)}
.fp-impact{display:grid;grid-template-columns:112px 1fr;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.fp-impact__number,.fp-impact__symbol{font-family:var(--kv-font-display);font-size:2.6rem;line-height:1;color:var(--kv-prime)}
.fp-impact strong{display:block;margin-bottom:.25rem;font-size:.85rem;color:#fff}.fp-impact small{display:block;font-size:.7rem;line-height:1.5;color:rgba(255,255,255,.58)}

/* Levels: explanatory bridge + less catalogue-like spacing. */
.fp-levels-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin:-.9rem 0 2.2rem;padding:1.25rem 0 1.4rem;border-top:var(--kv-border-firm);border-bottom:var(--kv-border)}
.fp-levels-intro p{margin:0;max-width:70ch;font-size:.9rem;color:var(--kv-ink-soft)}
.fp-levels-intro__note{max-width:28ch;font-family:var(--kv-font-mono);font-size:.58rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--kv-moss)}
.fp-levels-grid{gap:1.15rem}

/* Journey/map: let the map feel like a live network rather than a static illustration. */
.fp-journey__grid{grid-template-columns:.82fr 1.18fr}
.fp-journey .fp-hero__stage{min-height:720px;align-items:center}
.fp-journey .fp-hero__stage::before{content:"Klicka på en stad";top:0;right:0;color:var(--kv-prime)}

/* Organizer CTA: image + benefits + stronger composition. */
.fp-organizer-cta{position:relative;padding-block:clamp(5rem,8vw,8rem);overflow:hidden}
.fp-organizer-cta::before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(16,35,29,.15);border-radius:50%;right:-140px;top:-210px}
.fp-organizer-cta::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.16);left:4%;bottom:-70px}
.fp-organizer-cta__grid{position:relative;z-index:1;grid-template-columns:1.02fr .78fr .66fr;gap:clamp(2rem,4vw,4.5rem);align-items:stretch}
.fp-organizer-cta__copy{display:flex;flex-direction:column;justify-content:center}
.fp-organizer-cta__copy>p:not(.fp-eyebrow){font-size:.95rem;line-height:1.65}
.fp-organizer-cta__action{justify-self:start;margin-top:2rem}
.fp-organizer-cta__visual{position:relative;min-height:430px;margin:0;overflow:hidden;border-radius:30px;background:var(--kv-ink-900);box-shadow:0 25px 65px rgba(16,35,29,.15)}
.fp-organizer-cta__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.03)}
.fp-organizer-cta__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,19,15,.78),transparent 58%)}
.fp-organizer-cta__visual figcaption{position:absolute;left:1.35rem;right:1.35rem;bottom:1.35rem;z-index:1;color:#fff}.fp-organizer-cta__visual figcaption span{display:block;margin-bottom:.35rem;font-family:var(--kv-font-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kv-prime)}.fp-organizer-cta__visual figcaption strong{display:block;font-family:var(--kv-font-display);font-size:1.75rem;line-height:1.02;font-weight:400}
.fp-organizer-cta__benefits{display:grid;align-content:center;border-top:1px solid rgba(16,35,29,.22)}
.fp-organizer-benefit{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid rgba(16,35,29,.22)}
.fp-organizer-benefit>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(16,35,29,.28);border-radius:50%;font-family:var(--kv-font-mono);font-size:.8rem}
.fp-organizer-benefit strong{display:block;font-size:.82rem;margin-bottom:.3rem}.fp-organizer-benefit p{margin:0!important;font-size:.68rem!important;line-height:1.5!important;opacity:.7}

/* Footer CTA must remain dark text on lime. */
.fp-footer a.fp-btn,.fp-footer a.fp-btn:hover{color:var(--kv-ink-950)}

/* Interior page featured image now lives inside the page hero. */
.fp-page-hero{position:relative;isolation:isolate;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.fp-page-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,19,15,.84),rgba(7,19,15,.46) 56%,rgba(7,19,15,.24)),linear-gradient(0deg,rgba(7,19,15,.42),rgba(7,19,15,.05))}
.fp-page-hero--image{min-height:clamp(460px,58vh,680px);display:flex;align-items:flex-end;color:#fff;border-bottom:0}
.fp-page-hero--image .fp-page-hero__meta{color:var(--kv-prime)}
.fp-page-hero--image h1{color:#fff;text-shadow:0 3px 28px rgba(0,0,0,.18)}
.fp-page-hero--full{min-height:100svh;padding-top:clamp(9rem,16vh,13rem);padding-bottom:clamp(4rem,8vh,7rem);align-items:flex-end;background-attachment:scroll}
.fp-page-hero--full .fp-page-hero__grid{width:100%;grid-template-columns:.52fr 1.48fr}
.fp-page-hero--full h1{font-size:clamp(4.5rem,9vw,10rem);max-width:9ch}
.fp-page-hero__cue{position:absolute;right:var(--kv-gutter);bottom:2rem;font-family:var(--kv-font-mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);writing-mode:vertical-rl}
.fp-page-hero__cue::after{content:"";display:inline-block;width:1px;height:44px;margin-top:.7rem;background:rgba(255,255,255,.45)}
.fp--full-bleed-page-hero .fp-content-shell{padding-top:clamp(5rem,9vw,9rem)}

@media(max-width:1120px){
  .fp-organizer-cta__grid{grid-template-columns:1fr 1fr}.fp-organizer-cta__benefits{grid-column:1/-1;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(16,35,29,.22)}.fp-organizer-benefit{padding:1.25rem}.fp-organizer-benefit+.fp-organizer-benefit{border-left:1px solid rgba(16,35,29,.22)}
  .fp-map-card{right:0}
}
@media(max-width:1040px){
  .fp-intro__aside{min-height:auto}.fp-intro__mark{margin-top:2rem}
  .fp-feature-band__inner{grid-template-columns:1fr;align-content:end}.fp-feature-band__facts{max-width:650px}
  .fp-journey .fp-hero__stage{min-height:auto}
}
@media(max-width:860px){
  .fp-intro__promises{grid-template-columns:1fr}.fp-intro__promise+.fp-intro__promise{padding-left:0;border-left:0;border-top:var(--kv-border)}
  .fp-levels-intro{align-items:flex-start;flex-direction:column;gap:1rem}
  .fp-organizer-cta__grid{grid-template-columns:1fr}.fp-organizer-cta__visual{min-height:360px}.fp-organizer-cta__benefits{grid-column:auto;grid-template-columns:1fr}.fp-organizer-benefit{padding-inline:0}.fp-organizer-benefit+.fp-organizer-benefit{border-left:0}
  .fp-map-experience{min-height:760px}.fp-map-card{left:50%;right:auto;top:auto;bottom:0;width:min(420px,92%);transform:translateX(-50%)}
  .fp-page-hero--full .fp-page-hero__grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .fp-discovery__inner{padding-block:.5rem}.fp-discovery__lead,.fp-discovery__item{padding:1.5rem 0}.fp-discovery__icon{margin-bottom:.7rem}.fp-discovery__value{font-size:1.45rem}.fp-discovery__lead .fp-discovery__value{font-size:2rem}
  .fp-intro__mark{width:132px;height:132px}.fp-intro__mark span{font-size:2.35rem}
  .fp-feature-band{min-height:100svh}.fp-feature-band__inner{padding-top:7rem}.fp-impact{grid-template-columns:86px 1fr}.fp-impact__number,.fp-impact__symbol{font-size:2rem}
  .fp-map-experience{min-height:690px}.fp-map{height:580px}.fp-map__label{font-size:11px}.fp-map__city.is-active .fp-map__label{font-size:12px}.fp-map-card{bottom:-1rem}
  .fp-page-hero--image{min-height:440px}.fp-page-hero--full{min-height:92svh}.fp-page-hero--full h1{font-size:clamp(3.8rem,16vw,6rem)}.fp-page-hero__cue{display:none}
}

/* =========================================================
   0.9.0 — live review refinements
   ========================================================= */

/* Discovery — designed as a compact product manifesto rather than four text boxes. */
.fp-discovery{background:linear-gradient(105deg,#b9832f 0%,var(--kv-prime) 48%,#cda35f 100%)}
.fp-discovery::before{background:radial-gradient(circle at 18% -90%,rgba(255,255,255,.76),transparent 35%),radial-gradient(circle at 82% 180%,rgba(255,255,255,.36),transparent 36%)}
.fp-discovery__inner{grid-template-columns:1.32fr repeat(3,.78fr);min-height:220px}
.fp-discovery__lead,.fp-discovery__item{padding-block:2.45rem}
.fp-discovery__lead{padding-right:clamp(2rem,4vw,4rem)}
.fp-discovery__item{padding-inline:clamp(1.45rem,2vw,2rem)}
.fp-discovery__item::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--kv-ink-950);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--kv-ease)}
.fp-discovery__item:hover::after{transform:scaleX(1)}
.fp-discovery__topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}
.fp-discovery__number{font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.14em;color:rgba(16,35,29,.45)}
.fp-discovery__icon{position:relative;width:52px;height:52px;margin:0;border:1px solid rgba(16,35,29,.22);background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 7px rgba(255,255,255,.12)}
.fp-discovery__icon::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(16,35,29,.08);border-radius:50%;transform:scale(.9);opacity:0;transition:opacity var(--kv-duration),transform var(--kv-duration)}
.fp-discovery__item:hover .fp-discovery__icon::after{opacity:1;transform:scale(1)}
.fp-discovery__icon svg{width:25px;height:25px}
.fp-discovery__lead-mark{position:relative;width:60px;height:22px;margin-bottom:1.7rem}
.fp-discovery__lead-mark::before{content:"";position:absolute;left:0;top:10px;width:58px;height:1px;background:rgba(16,35,29,.28)}
.fp-discovery__lead-mark span{position:absolute;top:6px;width:9px;height:9px;border-radius:50%;background:var(--kv-ink-950);box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.fp-discovery__lead-mark span:nth-child(1){left:0}.fp-discovery__lead-mark span:nth-child(2){left:25px;background:transparent;border:1px solid var(--kv-ink-950);box-shadow:none}.fp-discovery__lead-mark span:nth-child(3){right:0;background:var(--kv-paper)}
.fp-discovery__value{font-size:clamp(1.55rem,1.85vw,2rem);max-width:12ch}
.fp-discovery__lead .fp-discovery__value{font-size:clamp(2.15rem,3vw,3.35rem);max-width:12ch}
.fp-discovery__meta{margin-top:.55rem;font-size:.76rem;line-height:1.55;max-width:28ch}
.fp-discovery__link{margin-top:1.35rem;padding-bottom:.28rem}

/* Intro — the previous FP-circle was decorative without adding meaning; it is intentionally removed. */
.fp-intro__aside{min-height:auto}
.fp-intro__aside::after{content:"";display:block;width:clamp(90px,9vw,145px);height:2px;margin-top:2.2rem;background:linear-gradient(90deg,var(--kv-moss) 0 58%,var(--kv-prime) 58% 100%)}

/* Vertical festival-film rail. */
.fp-reels{position:relative;overflow:hidden;padding-block:clamp(5.5rem,9vw,9rem);background:var(--kv-paper-2);color:var(--kv-ink-950)}
.fp-reels::before{content:"";position:absolute;inset:22% 0 0;background:radial-gradient(ellipse at 50% 45%,rgba(74,103,84,.14),transparent 55%);pointer-events:none}
.fp-reels__head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.fp-reels__head h2{margin:.25rem 0 .65rem;font-size:clamp(3rem,5.5vw,6rem);max-width:9ch}
.fp-reels__head p:not(.fp-eyebrow){margin:0;max-width:54ch;color:var(--kv-ink-soft)}
.fp-reels__controls{display:flex;gap:.55rem;padding-bottom:.35rem}
.fp-reels__nav{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(16,35,29,.2);border-radius:50%;background:rgba(255,255,255,.55);color:var(--kv-ink-950);font-size:1.15rem;cursor:pointer;transition:background var(--kv-duration),transform var(--kv-duration)}
.fp-reels__nav:hover{background:#fff;transform:translateY(-2px)}
.fp-reels__viewport{position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:1.5rem max(var(--kv-gutter),calc((100vw - var(--kv-width-wide))/2 + var(--kv-gutter))) 2.25rem}
.fp-reels__viewport::-webkit-scrollbar{display:none}
.fp-reels__track{display:flex;align-items:center;gap:clamp(1rem,1.7vw,1.6rem);width:max-content}
.fp-reel{width:clamp(220px,20vw,310px);scroll-snap-align:center;flex:none;opacity:.56;transform:scale(.9);filter:saturate(.72);transition:transform .5s var(--kv-ease),opacity .5s var(--kv-ease),filter .5s var(--kv-ease)}
.fp-reel.is-active{opacity:1;transform:scale(1.055);filter:saturate(1);z-index:3}
.fp-reel__media{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:28px;background:var(--kv-ink-950);box-shadow:0 24px 60px rgba(16,35,29,.14);cursor:pointer}
.fp-reel.is-active .fp-reel__media{box-shadow:0 34px 90px rgba(16,35,29,.24)}
.fp-reel__media video{display:block;width:100%;height:100%;object-fit:cover;background:var(--kv-ink-950)}
.fp-reel__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,15,12,.72),transparent 42%),linear-gradient(180deg,rgba(5,15,12,.18),transparent 28%);pointer-events:none}
.fp-reel__count{position:absolute;top:1.05rem;left:1.05rem;padding:.42rem .62rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(6,17,13,.26);backdrop-filter:blur(8px);font-family:var(--kv-font-mono);font-size:.54rem;letter-spacing:.1em;color:#fff}
.fp-reel__toggle{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(6,17,13,.62);color:#fff;cursor:pointer;backdrop-filter:blur(10px);transition:transform var(--kv-duration),background var(--kv-duration)}
.fp-reel__toggle:hover{transform:scale(1.06);background:rgba(6,17,13,.82)}
.fp-reel__pause{display:flex;gap:4px}.fp-reel__pause i{display:block;width:3px;height:14px;border-radius:2px;background:currentColor}.fp-reel__play{display:none;font-size:.82rem;margin-left:2px}
.fp-reel[data-paused="true"] .fp-reel__pause{display:none}.fp-reel[data-paused="true"] .fp-reel__play{display:block}
.fp-reel__label{position:absolute;left:1.15rem;right:1.15rem;bottom:1.15rem;margin:0!important;font-family:var(--kv-font-display);font-size:1.35rem;line-height:1.05;color:#fff!important}
.fp-reels__footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:.4rem}
.fp-reels__dots{display:flex;align-items:center;gap:.45rem}
.fp-reels__dots button{width:9px;height:4px;padding:0;border:0;border-radius:999px;background:rgba(16,35,29,.18);cursor:pointer;transition:width var(--kv-duration),background var(--kv-duration)}
.fp-reels__dots button.is-active{width:34px;background:var(--kv-ink-950)}
.fp-reels__hint{font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kv-ink-soft)}

/* Sweden map — islands are included and the detail card no longer blocks city labels. */
.fp-map-experience{width:min(720px,100%);min-height:700px;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:1.2rem;align-items:center}
.fp-map-experience__glow{left:37%;top:48%;width:62%}
.fp-map-experience__canvas{position:relative;z-index:1;min-width:0}
.fp-map{width:100%;height:min(72vh,690px);overflow:visible}
.fp-map__island{fill:rgba(217,243,106,.045);stroke:rgba(217,243,106,.76);stroke-width:1.15;vector-effect:non-scaling-stroke}
.fp-map__hit{fill:transparent;pointer-events:all}
.fp-map__city{pointer-events:all}
.fp-map__label{fill:var(--kv-prime);pointer-events:none}
.fp-map-card{position:relative;right:auto;top:auto;width:100%;padding:1.45rem;border-radius:24px;transform:none;align-self:center}
.fp-map-card::before{content:"";display:block;width:34px;height:3px;margin-bottom:1rem;background:var(--kv-prime);border-radius:99px}
.fp-map-card h3{font-size:clamp(1.7rem,2.3vw,2.35rem)}

@media(max-width:1040px){
  .fp-discovery__inner{grid-template-columns:repeat(2,1fr)}
  .fp-discovery__lead,.fp-discovery__item{padding-inline:1.6rem}
  .fp-reels__viewport{padding-inline:var(--kv-gutter)}
}
@media(max-width:860px){
  .fp-map-experience{grid-template-columns:1fr;min-height:840px}.fp-map-card{position:relative;left:auto;right:auto;bottom:auto;top:auto;width:min(430px,92%);margin:-2rem auto 0;transform:none}
  .fp-reels__head{align-items:flex-start;flex-direction:column}.fp-reels__controls{align-self:flex-end}
}
@media(max-width:640px){
  .fp-discovery__lead-mark{margin-bottom:1.1rem}.fp-discovery__topline{margin-bottom:1rem}.fp-discovery__icon{width:46px;height:46px}.fp-discovery__icon svg{width:22px;height:22px}
  .fp-reel{width:min(72vw,280px)}.fp-reels__viewport{padding-inline:14vw}.fp-reels__controls{display:none}.fp-reels__footer{justify-content:space-between}.fp-reels__hint{display:none}
  .fp-map-experience{min-height:760px}.fp-map{height:570px}.fp-map-card{margin-top:-2.8rem}
}

/* 0.9.2 — city names are part of the interactive map target, not decoration. */
.fp-map__label{
    pointer-events:all;
    cursor:pointer;
}

/* 0.9.2 — filmrail rebuilt to follow the supplied Fever reference closely.
   Full-bleed horizontal rail, no gaps between cards, a larger centered card,
   at most ~5 cards in the viewport and native touch/trackpad scrolling. */
.fp-reels{
    --kv-reel-width:clamp(250px,22vw,560px);
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(4.2rem,6vw,6.5rem) 0 clamp(4.5rem,6vw,6.8rem);
    background:#f1f3f3;
    color:#071c1d;
}
.fp-reels::before,
.fp-reels::after{display:none}
.fp-reels__backdrop{display:none}
.fp-reels__simple-head{
    position:relative;
    z-index:3;
    width:min(var(--kv-width-wide),100%);
    margin:0 auto clamp(1.7rem,2.8vw,2.8rem);
    padding-inline:var(--kv-gutter);
}
.fp-reels__simple-head h2{
    margin:0;
    font-family:var(--kv-font-text);
    font-size:clamp(1.3rem,1.55vw,1.65rem);
    line-height:1.15;
    font-weight:650;
    letter-spacing:-.03em;
}
.fp-reels__viewport{
    position:relative;
    z-index:2;
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    overflow-x:auto;
    overflow-y:hidden;
    padding:clamp(2.8rem,4.2vw,4.8rem) 0;
    scrollbar-width:none;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:50%;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    cursor:grab;
}
.fp-reels__viewport.is-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
    user-select:none;
}
.fp-reels__viewport::-webkit-scrollbar{display:none}
.fp-reels__track{
    display:flex;
    align-items:center;
    gap:0;
    width:max-content;
    min-width:100%;
    padding-inline:calc(50vw - (var(--kv-reel-width) / 2));
}
.fp-reel{
    position:relative;
    flex:0 0 var(--kv-reel-width);
    width:var(--kv-reel-width);
    min-width:var(--kv-reel-width);
    scroll-snap-align:center;
    scroll-snap-stop:always;
    opacity:1;
    filter:none;
    transform:scale(1);
    transform-origin:center;
    transition:transform .38s cubic-bezier(.2,.72,.25,1),filter .3s ease;
    z-index:1;
}
.fp-reel.is-active{
    transform:scale(1.12);
    z-index:5;
}
.fp-reel__media{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:9/13.2;
    border-radius:14px;
    background:#101616;
    box-shadow:none;
    cursor:pointer;
}
.fp-reel.is-active .fp-reel__media{
    box-shadow:0 24px 54px rgba(5,18,18,.18);
}
.fp-reel__media video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    background:#101616;
}
.fp-reel__shade{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(2,10,10,.02) 48%,rgba(2,10,10,.66) 100%);
}
.fp-reel__count{display:none}
.fp-reel__toggle{
    position:absolute;
    z-index:4;
    top:1.1rem;
    right:1.1rem;
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(4,16,17,.68);
    color:#fff;
    cursor:pointer;
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
    transition:background .18s ease,transform .18s ease;
}
.fp-reel:not(.is-active) .fp-reel__toggle{background:rgba(4,16,17,.58)}
.fp-reel__toggle:hover{background:rgba(4,16,17,.88);transform:scale(1.03)}
.fp-reel__pause{display:flex;align-items:center;justify-content:center;gap:5px}
.fp-reel__pause i{display:block;width:3px;height:19px;border-radius:2px;background:#fff}
.fp-reel__play{
    display:none;
    width:0;
    height:0;
    margin-left:5px;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    border-left:18px solid #fff;
}
.fp-reel[data-paused="true"] .fp-reel__pause{display:none}
.fp-reel[data-paused="true"] .fp-reel__play{display:block}
.fp-reel__label{
    position:absolute;
    z-index:3;
    left:1.35rem;
    right:1.25rem;
    bottom:1.25rem;
    margin:0;
    color:#fff;
    font-family:var(--kv-font-text);
    font-size:clamp(1.05rem,1.55vw,1.55rem);
    line-height:1.04;
    font-weight:760;
    letter-spacing:-.035em;
    text-shadow:0 1px 16px rgba(0,0,0,.2);
}
.fp-reels__dots{
    position:relative;
    z-index:3;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.35rem;
    margin-top:clamp(.45rem,1vw,1rem);
}
.fp-reels__dots button{
    width:31px;
    height:5px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#c7ced0;
    cursor:pointer;
    transition:background .18s ease,width .18s ease;
}
.fp-reels__dots button.is-active{
    width:37px;
    background:#082f35;
}

@media(max-width:1200px){
    .fp-reels{--kv-reel-width:clamp(240px,28vw,340px)}
}
@media(max-width:900px){
    .fp-reels{--kv-reel-width:min(43vw,310px)}
    .fp-reels__viewport{padding-block:3.3rem}
    .fp-reel{transform:scale(1)}
    .fp-reel.is-active{transform:scale(1.08)}
}
@media(max-width:600px){
    .fp-reels{
        --kv-reel-width:72vw;
        padding-top:3.6rem;
        padding-bottom:4.2rem;
    }
    .fp-reels__simple-head{margin-bottom:.65rem}
    .fp-reels__viewport{padding-block:2.8rem}
    .fp-reel{transform:scale(1)}
    .fp-reel.is-active{transform:scale(1.04)}
    .fp-reel__toggle{width:50px;height:50px;top:.9rem;right:.9rem}
    .fp-reel__label{left:1rem;right:1rem;bottom:1rem;font-size:1.1rem}
    .fp-reels__dots button{width:22px}
}


/* 0.9.3 — true circular Fever-style reel rail.
   The focused reel is largest; each neighbour steps down in size. */
.fp-reel{
    --kv-reel-scale:.74;
    transform:scale(var(--kv-reel-scale));
    transform-origin:center center;
    transition:transform .38s cubic-bezier(.2,.72,.25,1),filter .3s ease,opacity .3s ease;
}
.fp-reel.is-active{--kv-reel-scale:1.12}
.fp-reel.is-distance-1{--kv-reel-scale:.98}
.fp-reel.is-distance-2{--kv-reel-scale:.86}
.fp-reel.is-distance-3{--kv-reel-scale:.78}
.fp-reel.is-distance-far{--kv-reel-scale:.72}
.fp-reels__viewport.is-loop-jump .fp-reel{transition:none!important}

@media(max-width:900px){
    .fp-reel{--kv-reel-scale:.78}
    .fp-reel.is-active{--kv-reel-scale:1.08}
    .fp-reel.is-distance-1{--kv-reel-scale:.96}
    .fp-reel.is-distance-2{--kv-reel-scale:.86}
    .fp-reel.is-distance-3,.fp-reel.is-distance-far{--kv-reel-scale:.78}
}
@media(max-width:600px){
    .fp-reel{--kv-reel-scale:.84}
    .fp-reel.is-active{--kv-reel-scale:1.04}
    .fp-reel.is-distance-1{--kv-reel-scale:.94}
    .fp-reel.is-distance-2,.fp-reel.is-distance-3,.fp-reel.is-distance-far{--kv-reel-scale:.84}
}

/* 0.9.4 — robust seamless Fever-style infinite rail.
   Card widths are part of layout (not transform scale), so adjacent reels
   physically touch with zero whitespace while stepping down from the centre. */
.fp-reels{
    --kv-reel-active:23vw;
    --kv-reel-near:20vw;
    --kv-reel-mid:17vw;
    --kv-reel-far:15vw;
}
.fp-reels__viewport{
    scroll-snap-type:none;
    scroll-behavior:auto;
    overscroll-behavior-x:none;
}
.fp-reels__track{
    gap:0!important;
    padding-inline:0!important;
}
.fp-reel,
.fp-reel.is-active,
.fp-reel.is-distance-1,
.fp-reel.is-distance-2,
.fp-reel.is-distance-3,
.fp-reel.is-distance-far{
    transform:none!important;
    margin:0!important;
    min-width:0;
    transition:flex-basis .46s cubic-bezier(.22,.72,.2,1),width .46s cubic-bezier(.22,.72,.2,1),opacity .28s ease,filter .28s ease;
}
.fp-reel{
    flex:0 0 var(--kv-reel-far);
    width:var(--kv-reel-far);
}
.fp-reel.is-distance-3,
.fp-reel.is-distance-far{
    flex-basis:var(--kv-reel-far);
    width:var(--kv-reel-far);
}
.fp-reel.is-distance-2{
    flex-basis:var(--kv-reel-mid);
    width:var(--kv-reel-mid);
}
.fp-reel.is-distance-1{
    flex-basis:var(--kv-reel-near);
    width:var(--kv-reel-near);
}
.fp-reel.is-active{
    flex-basis:var(--kv-reel-active);
    width:var(--kv-reel-active);
}
.fp-reel__media{
    width:100%;
    border-radius:14px;
}
.fp-reels__viewport.is-dragging .fp-reel,
.fp-reels__viewport.is-loop-jump .fp-reel{
    transition:none!important;
}

@media(max-width:1200px){
    .fp-reels{
        --kv-reel-active:28vw;
        --kv-reel-near:23vw;
        --kv-reel-mid:19vw;
        --kv-reel-far:17vw;
    }
}
@media(max-width:900px){
    .fp-reels{
        --kv-reel-active:43vw;
        --kv-reel-near:34vw;
        --kv-reel-mid:28vw;
        --kv-reel-far:24vw;
    }
}
@media(max-width:600px){
    .fp-reels{
        --kv-reel-active:72vw;
        --kv-reel-near:58vw;
        --kv-reel-mid:48vw;
        --kv-reel-far:42vw;
    }
}


/* 0.9.5 — live position-driven reel sizing.
   Width is continuously recalculated in JS from each card's current distance
   to the viewport centre. This applies while dragging/scrolling, not only
   after a new card has snapped into focus. */
.fp-reel,
.fp-reel.is-active,
.fp-reel.is-distance-1,
.fp-reel.is-distance-2,
.fp-reel.is-distance-3,
.fp-reel.is-distance-far{
    flex:0 0 var(--kv-reel-live-width, var(--kv-reel-far))!important;
    width:var(--kv-reel-live-width, var(--kv-reel-far))!important;
    transition:width .12s linear,flex-basis .12s linear,filter .18s ease,opacity .18s ease!important;
}
.fp-reels__viewport.is-dragging .fp-reel{
    transition:width .045s linear,flex-basis .045s linear!important;
}
.fp-reel.is-visual-center .fp-reel__media{
    box-shadow:0 24px 54px rgba(5,18,18,.18);
}
.fp-reels__viewport.is-loop-jump .fp-reel{
    transition:none!important;
}

/* 0.9.6 — fast critically-damped release snap.
   Live sizing remains instantaneous while the rail settles so CSS width
   transitions cannot lag behind the JS geometry and create a pendulum effect. */
.fp-reels__viewport.is-settling .fp-reel,
.fp-reels__viewport.is-settling .fp-reel.is-active,
.fp-reels__viewport.is-settling .fp-reel.is-distance-1,
.fp-reels__viewport.is-settling .fp-reel.is-distance-2,
.fp-reels__viewport.is-settling .fp-reel.is-distance-3,
.fp-reels__viewport.is-settling .fp-reel.is-distance-far{
    transition:filter .1s linear,opacity .1s linear!important;
}


/* 0.9.9 — stable reel stage + subdued full-bleed background video.
   The stage has a fixed maximum-card height, so the pagination dots never
   move vertically while live reel widths morph during a swipe. */
.fp-reels{
    --kv-reels-card-ratio:1.4666667;
    background:#eef1f0;
}
.fp-reels__backdrop{
    display:block!important;
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
}
.fp-reels__backdrop-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:.24;
    filter:saturate(.72) contrast(.92) brightness(1.05);
    transform:scale(1.035);
}
.fp-reels__backdrop-wash{
    position:absolute;
    inset:0;
    background:rgba(238,241,240,.72);
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
}
.fp-reels__simple-head,
.fp-reels__viewport,
.fp-reels__dots{
    position:relative;
    z-index:2;
}
.fp-reels__viewport{
    box-sizing:border-box;
    height:calc((var(--kv-reel-active) * var(--kv-reels-card-ratio)) + clamp(5.5rem,7.5vw,8rem));
    padding-block:0!important;
    display:flex;
    align-items:center;
}
.fp-reels__track{
    align-items:center;
    height:100%;
}
.fp-reel{
    align-self:center;
}
.fp-reels__dots{
    margin-top:clamp(.7rem,1.1vw,1.1rem);
    min-height:8px;
    transform:none!important;
}
@media(max-width:1200px){
    .fp-reels__viewport{
        height:calc((var(--kv-reel-active) * var(--kv-reels-card-ratio)) + 6.25rem);
    }
}
@media(max-width:900px){
    .fp-reels__viewport{
        height:calc((var(--kv-reel-active) * var(--kv-reels-card-ratio)) + 5.5rem);
    }
}
@media(max-width:600px){
    .fp-reels__viewport{
        height:calc((var(--kv-reel-active) * var(--kv-reels-card-ratio)) + 4.5rem);
    }
    .fp-reels__backdrop-video{opacity:.19}
    .fp-reels__backdrop-wash{background:rgba(238,241,240,.78)}
}
@media(prefers-reduced-motion:reduce){
    .fp-reels__backdrop-video{display:none}
}

/* 0.9.9 — clearer backdrop video + more transparent reel controls */
.fp-reels__backdrop-video{
    opacity:.42;
    filter:saturate(.78) contrast(.94) brightness(1.02);
}
.fp-reels__backdrop-wash{
    background:rgba(238,241,240,.56);
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
}
.fp-reel__toggle,
.fp-reel:not(.is-active) .fp-reel__toggle{
    background:rgba(4,16,17,.42);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.fp-reel__toggle:hover{
    background:rgba(4,16,17,.56);
}
@media(max-width:860px){
    .fp-reels__backdrop-video{opacity:.34}
    .fp-reels__backdrop-wash{background:rgba(238,241,240,.62)}
}

/* Reel media state: inactive cards always show their explicit poster image.
   Only the centered/active card renders the video layer. */
.fp-reel__poster{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
    opacity:1;
    visibility:visible;
}
.fp-reel__media video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:1;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.fp-reel.is-active.has-video-ready .fp-reel__media video{
    opacity:1;
    visibility:visible;
}
.fp-reel.is-active.has-video-ready .fp-reel__poster{
    opacity:0;
    visibility:hidden;
}
.fp-reel__shade,
.fp-reel__toggle,
.fp-reel__label{
    z-index:2;
}

/* Inactive reels: keep the play control subtle until the reel becomes active. */
.fp-reel:not(.is-active) .fp-reel__toggle{
    opacity:.24;
}
.fp-reel:not(.is-active) .fp-reel__toggle:hover{
    opacity:.4;
}
.fp-reel.is-active .fp-reel__toggle{
    opacity:1;
}


/* Reel loading state: show the spinner for both inactive poster loading and active video buffering. */
.fp-reel[data-loading="true"] .fp-reel__pause,
.fp-reel[data-loading="true"] .fp-reel__play,
.fp-reel[data-poster-loading="true"] .fp-reel__pause,
.fp-reel[data-poster-loading="true"] .fp-reel__play,
.fp-reel[data-video-loading="true"] .fp-reel__pause,
.fp-reel[data-video-loading="true"] .fp-reel__play{
    display:none!important;
}
.fp-reel[data-loading="true"] .fp-reel__toggle::after,
.fp-reel[data-poster-loading="true"] .fp-reel__toggle::after,
.fp-reel[data-video-loading="true"] .fp-reel__toggle::after{
    content:"";
    display:block;
    width:20px;
    height:20px;
    border:2px solid rgba(255,255,255,.34);
    border-top-color:#fff;
    border-radius:50%;
    animation:fp-reel-spin .72s linear infinite;
}
.fp-reel.is-active[data-loading="true"] .fp-reel__poster{
    opacity:1;
    visibility:visible;
}
.fp-reel.is-active[data-loading="true"] .fp-reel__media video{
    opacity:0;
    visibility:hidden;
}
@keyframes fp-reel-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fp-reel[data-loading="true"] .fp-reel__toggle::after,
.fp-reel[data-poster-loading="true"] .fp-reel__toggle::after,
.fp-reel[data-video-loading="true"] .fp-reel__toggle::after{animation-duration:1.4s}}


/* Six persistent media players are kept off-screen and moved into the active reel. */
.fp-reels__video-pool{
    position:absolute;
    left:-10000px;
    top:0;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}
.fp-reels__video-pool video{
    width:1px!important;
    height:1px!important;
}

/* =========================================================
   2026-08-25 — mobile navigation + discovery alignment
   ========================================================= */

/* The three discovery cards share the same vertical rhythm.
   Because the grid cells are equal-height, identical internal minimums keep
   every icon on the same baseline while the tallest content still determines
   the overall row height. */
@media(min-width:1041px){
    .fp-discovery__item{
        justify-content:center;
    }
    .fp-discovery__topline{
        flex:0 0 auto;
        min-height:52px;
        margin-bottom:1.8rem;
    }
    .fp-discovery__kicker{
        display:block;
        min-height:1.15em;
    }
    .fp-discovery__item .fp-discovery__value{
        display:flex;
        align-items:flex-start;
        min-height:2.15em;
    }
    .fp-discovery__item .fp-discovery__meta{
        min-height:3.1em;
    }
}

/* Full-screen mobile menu. The existing button text remains available to
   assistive technology, while the visible control becomes a hamburger / close icon. */
@media(max-width:860px){
    .fp-header__inner{
        position:relative;
        z-index:1002;
    }
    .fp-logo{
        position:relative;
        z-index:1003;
    }
    .fp-nav{
        position:relative;
        z-index:1003;
    }
    .fp-nav__toggle{
        position:relative;
        z-index:1004;
        display:grid;
        place-items:center;
        width:44px;
        min-width:44px;
        height:44px;
        padding:0;
        border:0;
        border-radius:50%;
        background:transparent;
        color:currentColor;
        font-size:0;
        line-height:0;
        cursor:pointer;
        overflow:visible;
    }
    .fp-nav__toggle::before,
    .fp-nav__toggle::after{
        content:"";
        position:absolute;
        left:11px;
        width:22px;
        height:2px;
        border-radius:99px;
        background:currentColor;
        transform-origin:center;
        transition:top .24s var(--kv-ease),transform .24s var(--kv-ease),box-shadow .24s var(--kv-ease);
    }
    .fp-nav__toggle::before{
        top:14px;
        box-shadow:0 7px 0 currentColor;
    }
    .fp-nav__toggle::after{
        top:28px;
    }
    .fp-nav__toggle[aria-expanded="true"]{
        color:#fff;
    }
    .fp-nav__toggle[aria-expanded="true"]::before{
        top:21px;
        box-shadow:none;
        transform:rotate(45deg);
    }
    .fp-nav__toggle[aria-expanded="true"]::after{
        top:21px;
        transform:rotate(-45deg);
    }

    .fp-nav__list{
        position:fixed!important;
        inset:0!important;
        z-index:1001;
        width:100vw;
        height:100dvh;
        min-height:100vh;
        margin:0!important;
        padding:clamp(7.5rem,18vh,10rem) max(1.25rem,6vw) 2.5rem!important;
        border:0!important;
        border-radius:0!important;
        background:var(--kv-ink-950)!important;
        box-shadow:none!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        justify-content:center!important;
        gap:.35rem!important;
        overflow-y:auto;
        overscroll-behavior:contain;
        transform:none!important;
        transform-origin:center;
        transition:opacity .26s var(--kv-ease),visibility .26s var(--kv-ease)!important;
    }
    .fp-nav__list:not([data-open="true"]){
        opacity:0!important;
        visibility:hidden;
        pointer-events:none;
    }
    .fp-nav__list[data-open="true"]{
        opacity:1!important;
        visibility:visible;
        pointer-events:auto;
    }
    .fp-nav__list li{
        width:min(100%,720px);
        margin:0 auto!important;
        border-bottom:1px solid rgba(255,255,255,.12);
    }
    .fp-nav__list li:first-child{
        border-top:1px solid rgba(255,255,255,.12);
    }
    .fp-nav__list a{
        display:flex!important;
        align-items:center;
        justify-content:space-between;
        min-height:64px;
        padding:1rem .25rem!important;
        border-radius:0!important;
        color:#fff!important;
        font-size:clamp(1.15rem,5vw,1.55rem)!important;
        font-family:var(--kv-font-display);
        font-weight:500!important;
        letter-spacing:-.02em;
        background:transparent!important;
    }
    .fp-nav__list a::after{
        content:"↗";
        font-family:var(--kv-font-text);
        font-size:.9rem;
        opacity:.42;
        transition:transform .2s var(--kv-ease),opacity .2s var(--kv-ease);
    }
    .fp-nav__list a:hover::after,
    .fp-nav__list a:focus-visible::after{
        opacity:1;
        transform:translate(2px,-2px);
    }
    body:has(.fp-nav__list[data-open="true"]){
        overflow:hidden;
    }
}

/* 2026-08-25 — custom header logos.
   Keep uploaded SVG/PNG logos constrained to the header instead of rendering
   at their intrinsic dimensions. */
.fp-logo img,
.fp-logo .custom-logo{
    display:block;
    width:auto;
    height:auto;
    max-width:240px;
    max-height:48px;
    object-fit:contain;
}
@media(max-width:860px){
    .fp-logo img,
    .fp-logo .custom-logo{
        max-width:min(220px,68vw);
        max-height:44px;
    }
}

/* 2026-08-25 — mobile menu close icon + compact logo inside overlay */
@media(max-width:860px){
    /* Make the open-state control an unmistakable X. */
    .fp-nav__toggle[aria-expanded="true"]::before,
    .fp-nav__toggle[aria-expanded="true"]::after{
        top:50%;
        left:50%;
        width:24px;
        height:2px;
        box-shadow:none;
        background:#fff;
        transform-origin:50% 50%;
    }
    .fp-nav__toggle[aria-expanded="true"]::before{
        transform:translate(-50%,-50%) rotate(45deg);
    }
    .fp-nav__toggle[aria-expanded="true"]::after{
        transform:translate(-50%,-50%) rotate(-45deg);
    }

    /* The ordinary header logo becomes the compact logo at the top of the
       full-screen menu while it is open, so the exact selected custom logo
       is reused rather than duplicated with a hard-coded asset. */
    body:has(.fp-nav__list[data-open="true"]) .fp-logo{
        position:fixed;
        top:18px;
        left:max(20px,env(safe-area-inset-left));
        z-index:1005;
        margin:0;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-logo img,
    body:has(.fp-nav__list[data-open="true"]) .fp-logo .custom-logo{
        width:auto!important;
        height:auto!important;
        max-width:min(172px,55vw)!important;
        max-height:36px!important;
        object-fit:contain;
    }
}

/* 2026-08-25 — keep mobile close control fixed at the top-right */
@media(max-width:860px){
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle{
        position:fixed!important;
        top:14px;
        right:max(16px,env(safe-area-inset-right));
        left:auto!important;
        z-index:1006;
        margin:0!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::before,
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::after{
        content:"";
        position:absolute;
        top:50%!important;
        left:50%!important;
        width:24px!important;
        height:2px!important;
        border-radius:999px;
        background:#fff!important;
        box-shadow:none!important;
        transform-origin:center!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::before{
        transform:translate(-50%,-50%) rotate(45deg)!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::after{
        transform:translate(-50%,-50%) rotate(-45deg)!important;
    }
}

/* 2026-08-25 — robust mobile close X (single background, no pseudo-element collision) */
@media(max-width:860px){
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle,
    .fp-nav__toggle[aria-expanded="true"]{
        background-color:transparent!important;
        background-image:
            linear-gradient(45deg, transparent calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), transparent calc(50% + 1px)),
            linear-gradient(-45deg, transparent calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), transparent calc(50% + 1px))!important;
        background-size:24px 24px!important;
        background-position:center!important;
        background-repeat:no-repeat!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::before,
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle::after,
    .fp-nav__toggle[aria-expanded="true"]::before,
    .fp-nav__toggle[aria-expanded="true"]::after{
        display:none!important;
        content:none!important;
    }
}

/* 2026-08-25 — mobile menu: keep logo stable and match close icon to hamburger size */
@media(max-width:860px){
    body:has(.fp-nav__list[data-open="true"]) .fp-logo{
        top:12px;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-logo img,
    body:has(.fp-nav__list[data-open="true"]) .fp-logo .custom-logo{
        width:auto!important;
        height:auto!important;
        max-width:min(220px,68vw)!important;
        max-height:44px!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle,
    .fp-nav__toggle[aria-expanded="true"]{
        background-size:22px 22px!important;
    }
}

/* 2026-08-25 — visually smaller mobile close X */
@media(max-width:860px){
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle,
    .fp-nav__toggle[aria-expanded="true"]{
        background-size:16px 16px!important;
    }
}

/* 2026-08-25 — mobile menu only:
   keep the page/header logo choice untouched when the menu is closed,
   but always show the light/green Festivalpass logo inside the open overlay. */
@media(max-width:860px){
    body:has(.fp-nav__list[data-open="true"]) .fp-logo img,
    body:has(.fp-nav__list[data-open="true"]) .fp-logo .custom-logo,
    .fp-nav__toggle[aria-expanded="true"] ~ .fp-nav__list + .fp-logo img{
        content:url("/wp-content/themes/kv-all-inclusive/assets/logo/kv-logo-full.svg")!important;
    }

    /* Compensate for the scrollbar disappearing when body scrolling is locked,
       so the close control does not visually jump to the right. */
    body:has(.fp-nav__list[data-open="true"]) .fp-nav__toggle,
    .fp-nav__toggle[aria-expanded="true"]{
        right:max(30px,calc(env(safe-area-inset-right) + 22px))!important;
    }
}

/* ========================================================================== */
/* Skaffa abonnemang — dedicated subscription template                          */
/* ========================================================================== */
.fp-subscribe-hero{position:relative;isolation:isolate;min-height:min(760px,82vh);display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(217,243,106,.18),transparent 28%),linear-gradient(135deg,#0b1713,#183329);color:#fff}
.fp-subscribe-hero--image{background-position:center;background-size:cover}
.fp-subscribe-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,17,13,.92) 0%,rgba(4,17,13,.72) 43%,rgba(4,17,13,.23) 74%,rgba(4,17,13,.38) 100%),linear-gradient(0deg,rgba(4,17,13,.55),transparent 55%)}
.fp-subscribe-hero__inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);align-items:end;gap:clamp(3rem,8vw,8rem);padding-top:clamp(10rem,20vh,14rem);padding-bottom:clamp(3.5rem,8vh,6rem)}
.fp-subscribe-hero__copy{max-width:800px}.fp-subscribe-hero .fp-eyebrow{color:var(--kv-prime)}
.fp-subscribe-hero h1{max-width:9ch;font-size:clamp(4.7rem,8vw,9.8rem);line-height:.84;color:#fff;margin:0 0 1.5rem}.fp-subscribe-hero h1 em{font-weight:400;color:var(--kv-prime);font-style:italic}
.fp-subscribe-hero__lead{max-width:64ch;margin:0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.2vw,1.25rem)}
.fp-subscribe-hero__trust{display:flex;flex-wrap:wrap;gap:.75rem 1.7rem;margin-top:2.3rem;padding-top:1.35rem;border-top:1px solid rgba(255,255,255,.16)}
.fp-subscribe-hero__trust span{display:grid;gap:.05rem;font-size:.73rem;color:rgba(255,255,255,.56)}.fp-subscribe-hero__trust strong{color:#fff;font-size:.82rem;font-weight:600}
.fp-subscribe-hero__steps{align-self:end;border-top:1px solid rgba(255,255,255,.22)}.fp-subscribe-hero__steps span{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:58px;border-bottom:1px solid rgba(255,255,255,.15);font-size:.84rem;color:rgba(255,255,255,.78)}.fp-subscribe-hero__steps b{font-family:var(--kv-font-mono);font-size:.62rem;color:var(--kv-prime);letter-spacing:.08em}

.fp-subscribe{padding:clamp(5rem,9vw,9rem) 0 clamp(6rem,10vw,10rem);background:var(--kv-paper)}
.fp-subscribe__heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:5rem;align-items:end;margin-bottom:3.4rem;padding-bottom:2.2rem;border-bottom:var(--kv-border-firm)}
.fp-subscribe__heading h2{max-width:13ch;font-size:clamp(3.2rem,5.3vw,6rem)}.fp-subscribe__heading>p{justify-self:end;max-width:58ch;color:var(--kv-ink-soft);font-size:1rem}

.fp-subscribe-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:4.6rem}
.fp-subscribe-level{position:relative;display:flex;flex-direction:column;min-height:330px;overflow:hidden;border:1px solid var(--kv-rule);border-radius:24px;background:rgba(255,255,255,.84);color:var(--kv-ink-950);text-decoration:none;box-shadow:0 1px 0 rgba(11,23,19,.03);transition:transform .24s var(--kv-ease),border-color .24s var(--kv-ease),box-shadow .24s var(--kv-ease),background .24s var(--kv-ease)}
.fp-subscribe-level::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--kv-sage);opacity:.78}
.fp-subscribe-level:hover{color:var(--kv-ink-950);transform:translateY(-5px);box-shadow:0 22px 56px rgba(11,23,19,.1);border-color:rgba(16,35,29,.24)}
.fp-subscribe-level--featured{background:linear-gradient(145deg,#d8b273,var(--kv-prime));border-color:transparent}.fp-subscribe-level--featured::before{background:var(--kv-ink-950);opacity:1}
.fp-subscribe-level.is-selected{outline:2px solid var(--kv-ink-950);outline-offset:3px;box-shadow:0 24px 66px rgba(11,23,19,.12)}
.fp-subscribe-level__badge{position:absolute;z-index:2;top:.85rem;right:1rem;padding:.35rem .65rem;border-radius:999px;background:var(--kv-ink-950);color:#fff;font-family:var(--kv-font-mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.fp-subscribe-level__top{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.35rem;border-bottom:var(--kv-border);font-family:var(--kv-font-mono);font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;color:var(--kv-ink-soft)}
.fp-subscribe-level__check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--kv-rule);font-family:var(--kv-font-text);font-size:.72rem;opacity:.28}.fp-subscribe-level.is-selected .fp-subscribe-level__check{background:var(--kv-ink-950);border-color:var(--kv-ink-950);color:#fff;opacity:1}
.fp-subscribe-level__body{display:flex;flex-direction:column;flex:1;padding:1.45rem 1.35rem}.fp-subscribe-level__body h3{margin:0 0 .4rem;font-family:var(--kv-font-display);font-size:2rem;font-weight:400}.fp-subscribe-level__body>p{min-height:2.9em;margin:0 0 1.4rem;color:var(--kv-ink-soft);font-size:.82rem}.fp-subscribe-level__price{margin-top:auto;padding-top:1.2rem;border-top:var(--kv-border);display:flex;align-items:baseline;gap:.4rem}.fp-subscribe-level__price strong{font-size:2.6rem;line-height:1;letter-spacing:-.05em}.fp-subscribe-level__price span{font-family:var(--kv-font-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.fp-subscribe-level__body small{margin-top:.35rem;color:var(--kv-ink-soft);font-family:var(--kv-font-mono);font-size:.61rem}
.fp-subscribe-level__choose{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:.8rem 1.35rem;border-top:var(--kv-border);font-size:.78rem;font-weight:700}.fp-subscribe-level__choose i{font-style:normal;font-size:1rem}.fp-subscribe-level.is-selected .fp-subscribe-level__choose{background:var(--kv-ink-950);color:#fff}

.fp-subscribe-divider{display:flex;align-items:center;gap:1rem;margin-bottom:4.5rem;color:var(--kv-ink-faint);font-family:var(--kv-font-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}.fp-subscribe-divider::before,.fp-subscribe-divider::after{content:"";height:1px;flex:1;background:var(--kv-rule)}

.fp-subscribe-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(3rem,6vw,6rem);align-items:start;transition:opacity .25s var(--kv-ease)}
.fp-subscribe-checkout.is-awaiting-level .fp-subscribe-formwrap{opacity:.28;filter:grayscale(.5);pointer-events:none;user-select:none}
.fp-subscribe-formintro{margin-bottom:2.8rem}.fp-subscribe-formintro h2{max-width:10ch;font-size:clamp(3.3rem,5vw,5.8rem)}.fp-subscribe-formintro h2 em{font-weight:400;color:var(--kv-moss)}.fp-subscribe-formintro>p:last-child{max-width:62ch;color:var(--kv-ink-soft)}
.fp-subscribe-form{display:grid;gap:1rem}.fp-subscribe-form__section{padding:1.7rem;border:var(--kv-border);border-radius:22px;background:rgba(255,255,255,.72)}
.fp-subscribe-form__section-head{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:start;margin-bottom:1.5rem}.fp-subscribe-form__section-head>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--kv-paper-2);font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss)}.fp-subscribe-form__section-head h3{margin:0 0 .2rem;font-size:1.15rem}.fp-subscribe-form__section-head p{margin:0;color:var(--kv-ink-soft);font-size:.78rem}
.fp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fp-field{display:grid;gap:.45rem}.fp-field--wide{grid-column:1/-1}.fp-field>span{font-size:.77rem;font-weight:600}.fp-field input,.fp-field select{width:100%;height:58px;padding:0 1rem;border:1px solid rgba(16,35,29,.2);border-radius:12px;background:#fff;outline:none;transition:border-color .2s var(--kv-ease),box-shadow .2s var(--kv-ease)}.fp-field input:focus,.fp-field select:focus{border-color:var(--kv-moss);box-shadow:0 0 0 4px rgba(143,89,3,.12)}.fp-field input::placeholder{color:#98a098}.fp-field small{color:var(--kv-ink-faint);font-size:.68rem}
.fp-bankid-card{display:grid;grid-template-columns:52px 1fr auto;gap:1rem;align-items:center;padding:1.2rem;border-radius:16px;background:var(--kv-ink-950);color:#fff}.fp-bankid-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--kv-prime);color:var(--kv-ink-950)}.fp-bankid-card__icon svg{width:28px;height:28px}.fp-bankid-card strong{display:block;margin-bottom:.2rem}.fp-bankid-card p{margin:0;max-width:52ch;color:rgba(255,255,255,.62);font-size:.76rem}.fp-bankid-card__status{padding:.35rem .55rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-family:var(--kv-font-mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:var(--kv-prime);white-space:nowrap}
.fp-check{position:relative;display:grid;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;cursor:pointer}.fp-check+.fp-check{margin-top:1rem}.fp-check input{position:absolute;opacity:0;pointer-events:none}.fp-check>span{position:relative;width:22px;height:22px;margin-top:.1rem;border:1px solid rgba(16,35,29,.28);border-radius:6px;background:#fff}.fp-check input:checked+span{background:var(--kv-ink-950);border-color:var(--kv-ink-950)}.fp-check input:checked+span::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.7rem;font-weight:800}.fp-check input:focus-visible+span{outline:3px solid var(--kv-prime);outline-offset:2px}.fp-check em{font-style:normal;font-size:.78rem;color:var(--kv-ink-soft)}.fp-check em a{color:var(--kv-ink-950);font-weight:600}.fp-check em small{color:var(--kv-ink-faint)}.fp-check--optional{padding-top:1rem;border-top:var(--kv-border)}
.fp-subscribe-form__error{padding:1rem 1.1rem;border-radius:12px;background:var(--kv-danger-pale);color:var(--kv-danger);font-size:.8rem}
.fp-subscribe-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:84px;padding:1rem 1.35rem;border:0;border-radius:18px;background:var(--kv-prime);color:var(--kv-ink-950);cursor:pointer;text-align:left;transition:transform .2s var(--kv-ease),box-shadow .2s var(--kv-ease),background .2s var(--kv-ease)}.fp-subscribe-submit:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(11,23,19,.12);background:#a96c0b}.fp-subscribe-submit span{display:grid;gap:.1rem;font-size:1.05rem;font-weight:700}.fp-subscribe-submit small{font-family:var(--kv-font-mono);font-size:.55rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--kv-moss)}.fp-subscribe-submit i{font-style:normal;font-size:1.6rem}.fp-subscribe-form__secure{display:flex;gap:.55rem;align-items:flex-start;margin:.2rem 0 0;color:var(--kv-ink-faint);font-size:.68rem}.fp-subscribe-form__secure span{color:var(--kv-ok);font-size:.55rem;margin-top:.2rem}

.fp-subscribe-summary{position:sticky;top:110px;overflow:hidden;border-radius:28px;background:var(--kv-ink-950);color:#fff;box-shadow:var(--kv-shadow-lg)}
.fp-subscribe-summary__placeholder{min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;background:radial-gradient(circle at 72% 20%,rgba(217,243,106,.16),transparent 25%),linear-gradient(150deg,#10231d,#07110e)}.fp-subscribe-summary__placeholder>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--kv-prime);color:var(--kv-ink-950);font-family:var(--kv-font-mono);font-size:.58rem}.fp-subscribe-summary__placeholder h3{margin:1.4rem 0 .5rem;color:#fff;font-family:var(--kv-font-display);font-size:2.4rem;font-weight:400}.fp-subscribe-summary__placeholder p{color:rgba(255,255,255,.62);font-size:.82rem}.fp-subscribe-summary__placeholder a{margin-top:1rem;color:var(--kv-prime);font-size:.76rem;font-weight:700}
.fp-subscribe-summary__content{padding:1.3rem}.fp-subscribe-summary__head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .2rem 1rem}.fp-subscribe-summary__head p{margin:0;font-family:var(--kv-font-mono);font-size:.57rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kv-prime)}.fp-subscribe-summary__head span{font-size:.68rem;color:rgba(255,255,255,.48)}
.fp-subscribe-pass-mini{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px;overflow:hidden;min-height:260px;border-radius:20px;background:linear-gradient(145deg,#18352b,#0d1d18 68%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);isolation:isolate}.fp-subscribe-pass-mini::before{content:"";position:absolute;inset:-35% auto auto -12%;width:180px;height:180px;border-radius:50%;background:rgba(217,243,106,.12);filter:blur(6px)}.fp-subscribe-pass-mini::after{content:"";position:absolute;right:22%;top:-12%;width:1px;height:130%;background:rgba(255,255,255,.14);transform:rotate(7deg)}.fp-subscribe-pass-mini__body{position:relative;z-index:1;padding:1.5rem 1.4rem}.fp-subscribe-pass-mini__brand{margin:0 0 2rem;font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}.fp-subscribe-pass-mini__holder{margin:0 0 1.55rem;font-family:var(--kv-font-display);font-size:1.8rem;line-height:1.05;color:#fff}.fp-subscribe-pass-mini__rows{display:grid;gap:.55rem}.fp-subscribe-pass-mini__row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.5rem;margin:0;font-size:.68rem}.fp-subscribe-pass-mini__row span{color:rgba(255,255,255,.48)}.fp-subscribe-pass-mini__row b{min-width:0;font-weight:600;color:rgba(255,255,255,.9);overflow-wrap:anywhere}.fp-subscribe-pass-mini__stub{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.65rem;padding:1.3rem .6rem;background:rgba(255,255,255,.05)}.fp-subscribe-pass-mini__qr{width:38px;height:38px;border:5px solid #fff;background:repeating-linear-gradient(90deg,#fff 0 4px,transparent 4px 8px),repeating-linear-gradient(0deg,transparent 0 5px,#fff 5px 8px);opacity:.9}.fp-subscribe-pass-mini__number{font-family:var(--kv-font-mono);font-size:.5rem;writing-mode:vertical-rl;color:rgba(255,255,255,.62);letter-spacing:.08em}
.fp-subscribe-summary__price{padding:1.4rem .2rem;border-bottom:1px solid rgba(255,255,255,.12)}.fp-subscribe-summary__price>span{font-family:var(--kv-font-mono);font-size:.55rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.46)}.fp-subscribe-summary__price p{margin:.25rem 0 0}.fp-subscribe-summary__price strong{font-size:2.5rem;letter-spacing:-.05em}.fp-subscribe-summary__price small{display:block;margin-top:.15rem;color:rgba(255,255,255,.5);font-family:var(--kv-font-mono);font-size:.6rem}
.fp-subscribe-summary ul{list-style:none;padding:1.2rem .2rem;margin:0;border-bottom:1px solid rgba(255,255,255,.12)}.fp-subscribe-summary li{position:relative;padding-left:1.2rem;color:rgba(255,255,255,.66);font-size:.73rem}.fp-subscribe-summary li+li{margin-top:.55rem}.fp-subscribe-summary li::before{content:"✓";position:absolute;left:0;color:var(--kv-prime);font-weight:700}.fp-subscribe-summary__change{display:flex;justify-content:space-between;padding:1rem .2rem .2rem;color:var(--kv-prime);font-size:.72rem;font-weight:700}

.fp-subscribe-proof{padding:4.5rem 0;background:var(--kv-prime);color:var(--kv-ink-950)}.fp-subscribe-proof__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.fp-subscribe-proof__grid>div{padding:1rem 2.2rem;border-left:1px solid rgba(16,35,29,.2)}.fp-subscribe-proof__grid>div:first-child{border-left:0;padding-left:0}.fp-subscribe-proof__grid span{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss)}.fp-subscribe-proof__grid h3{margin:.65rem 0 .35rem;font-family:var(--kv-font-display);font-size:2rem;font-weight:400}.fp-subscribe-proof__grid p{margin:0;color:rgba(16,35,29,.68);font-size:.78rem}

@media(max-width:1050px){.fp-subscribe-hero__inner{grid-template-columns:1fr}.fp-subscribe-hero__steps{display:grid;grid-template-columns:repeat(3,1fr)}.fp-subscribe-hero__steps span{grid-template-columns:32px 1fr;border-right:1px solid rgba(255,255,255,.15)}.fp-subscribe__heading{grid-template-columns:1fr;gap:1.3rem}.fp-subscribe__heading>p{justify-self:start}.fp-subscribe-levels{grid-template-columns:repeat(2,1fr)}.fp-subscribe-checkout{grid-template-columns:1fr}.fp-subscribe-summary{position:relative;top:auto;max-width:620px}.fp-subscribe-formwrap{order:2}.fp-subscribe-summary{order:1}.fp-subscribe-checkout.is-awaiting-level .fp-subscribe-formwrap{display:none}}
@media(max-width:680px){.fp-subscribe-hero{min-height:720px}.fp-subscribe-hero__inner{padding-top:8.5rem;padding-bottom:2.2rem;gap:2.3rem}.fp-subscribe-hero h1{font-size:clamp(4rem,18vw,6rem)}.fp-subscribe-hero__lead{font-size:.94rem}.fp-subscribe-hero__trust{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.fp-subscribe-hero__steps{grid-template-columns:1fr}.fp-subscribe-hero__steps span{min-height:44px;border-right:0}.fp-subscribe{padding:4rem 0 5rem}.fp-subscribe__heading{margin-bottom:2rem}.fp-subscribe__heading h2{font-size:3rem}.fp-subscribe-levels{grid-template-columns:1fr;gap:.75rem}.fp-subscribe-level{min-height:0}.fp-subscribe-level__body{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.4rem 1rem}.fp-subscribe-level__body h3,.fp-subscribe-level__body>p{grid-column:1/-1}.fp-subscribe-level__body>p{min-height:0}.fp-subscribe-level__price{border:0;padding:0;margin-top:.7rem}.fp-subscribe-level__body small{align-self:end;margin:0 0 .2rem}.fp-subscribe-divider{margin-bottom:3rem}.fp-subscribe-formintro h2{font-size:3.3rem}.fp-subscribe-form__section{padding:1.2rem}.fp-subscribe-form__section-head{grid-template-columns:34px 1fr}.fp-form-grid{grid-template-columns:1fr}.fp-bankid-card{grid-template-columns:44px 1fr}.fp-bankid-card__icon{width:44px;height:44px}.fp-bankid-card__status{display:none}.fp-subscribe-submit{min-height:76px}.fp-subscribe-summary{border-radius:22px}.fp-subscribe-summary__placeholder{min-height:330px}.fp-subscribe-proof__grid{grid-template-columns:1fr}.fp-subscribe-proof__grid>div{padding:1.4rem 0;border-left:0;border-top:1px solid rgba(16,35,29,.2)}.fp-subscribe-proof__grid>div:first-child{border-top:0}.fp-subscribe-proof__grid h3{font-size:1.7rem}}

/* 2026-08-27 — Subscribe page refinements */
.fp-subscribe-summary__placeholder{
    justify-content:flex-start!important;
    align-items:flex-start!important;
}
.fp-subscribe-summary__placeholder > :first-child{
    margin-top:0!important;
}

/* 2026-08-27 — compact subscribe summary placeholder.
   Never let the placeholder reserve a large empty vertical area. */
.fp-subscribe-summary [hidden]{
    display:none!important;
}
.fp-subscribe-summary__placeholder{
    min-height:0!important;
    height:auto!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:0!important;
    padding:2rem!important;
}
.fp-subscribe-summary__placeholder > span{
    flex:0 0 auto;
}
.fp-subscribe-summary__placeholder h3{
    margin:1.35rem 0 .45rem!important;
}
.fp-subscribe-summary__placeholder p{
    margin:0!important;
}
.fp-subscribe-summary__placeholder a{
    margin-top:1.35rem!important;
}
@media(max-width:680px){
    .fp-subscribe-summary__placeholder{
        min-height:0!important;
        padding:1.5rem!important;
    }
}

/* ========================================================================== */
/* Så fungerar det — story flow                                               */
/* ========================================================================== */
.fp-how-hero{position:relative;isolation:isolate;min-height:min(830px,88svh);display:flex;align-items:flex-end;background-image:var(--kv-how-hero);background-size:cover;background-position:center 46%;color:#fff;overflow:hidden}.fp-how-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,13,.91) 0%,rgba(4,18,13,.7) 42%,rgba(4,18,13,.26) 72%,rgba(4,18,13,.2) 100%),linear-gradient(0deg,rgba(4,18,13,.68),rgba(4,18,13,.02) 58%)}.fp-how-hero__inner{width:100%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:clamp(3rem,8vw,9rem);align-items:end;padding-top:clamp(9rem,18vh,13rem);padding-bottom:clamp(4rem,8vh,6.5rem)}.fp-how-hero .fp-eyebrow{color:var(--kv-prime)}.fp-how-hero h1{max-width:9.5ch;margin:.8rem 0 1.5rem;font-size:clamp(4.4rem,8.6vw,9.2rem);line-height:.82;letter-spacing:-.055em;color:#fff}.fp-how-hero h1 em{display:block;color:var(--kv-prime);font-weight:400}.fp-how-hero__lead{max-width:720px;margin:0;color:rgba(255,255,255,.84);font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.65}.fp-how-hero__actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.25rem}.fp-how-textlink{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.2rem}.fp-how-hero__aside{align-self:end;border-left:1px solid rgba(255,255,255,.25);padding-left:2rem;padding-bottom:.45rem}.fp-how-hero__count{display:block;font-family:var(--kv-font-display);font-size:clamp(5rem,8vw,8.5rem);line-height:.7;color:var(--kv-prime)}.fp-how-hero__aside p{margin:1.4rem 0 0;font-family:var(--kv-font-mono);font-size:.68rem;line-height:1.65;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.64)}.fp-how-hero__aside strong{color:#fff;font-weight:600}

.fp-how-intro{padding:clamp(5.5rem,10vw,10rem) 0;background:var(--kv-paper)}.fp-how-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:end}.fp-how-intro h2{max-width:11ch;margin:.8rem 0 0;font-size:clamp(3.6rem,6.6vw,7rem);line-height:.9}.fp-how-intro h2 em{display:block;color:var(--kv-moss);font-weight:400}.fp-how-intro__copy{max-width:640px;padding-bottom:.35rem}.fp-how-intro__copy p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75;color:var(--kv-ink-700)}.fp-how-intro__copy p+p{margin-top:1.35rem}

.fp-how-flow{position:relative;background:var(--kv-paper)}.fp-how-flow__rail{position:sticky;top:50%;z-index:20;height:0;width:52px;margin-left:clamp(14px,2vw,34px);transform:translateY(-50%);pointer-events:none}.fp-how-flow__rail-line{position:absolute;left:25px;top:-156px;width:1px;height:312px;background:rgba(9,38,29,.18);overflow:hidden}.fp-how-flow__rail-line i{display:block;width:100%;height:var(--kv-how-progress,0%);background:var(--kv-prime);transition:height .12s linear}.fp-how-flow__dot{position:absolute;left:0;width:50px;height:50px;border-radius:50%;border:1px solid rgba(9,38,29,.18);background:var(--kv-paper);display:grid;place-items:center;font-family:var(--kv-font-mono);font-size:.55rem;color:var(--kv-moss);opacity:.45;transform:scale(.72);transition:opacity .35s ease,transform .35s ease,background .35s ease,color .35s ease;border-color .35s ease}.fp-how-flow__dot:nth-of-type(1){top:-151px}.fp-how-flow__dot:nth-of-type(2){top:-91px}.fp-how-flow__dot:nth-of-type(3){top:-31px}.fp-how-flow__dot:nth-of-type(4){top:29px}.fp-how-flow__dot:nth-of-type(5){top:89px}.fp-how-flow__dot:nth-of-type(6){top:149px}.fp-how-flow__dot.is-active{opacity:1;transform:scale(.92);background:var(--kv-prime);border-color:var(--kv-prime);color:var(--kv-ink-950)}

.fp-how-step{min-height:100svh;display:flex;align-items:center;padding:clamp(5.5rem,9vw,9rem) 0;border-top:1px solid rgba(9,38,29,.12);overflow:hidden}.fp-how-step__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(3rem,8vw,9rem);align-items:center}.fp-how-step__story{max-width:680px;padding-left:clamp(0rem,3vw,3rem)}.fp-how-step__number{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.fp-how-step__number span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--kv-ink-950);color:var(--kv-prime);font-family:var(--kv-font-mono);font-size:.6rem;letter-spacing:.08em}.fp-how-step__number i{width:70px;height:1px;background:currentColor;opacity:.25}.fp-how-step h2{max-width:10ch;margin:.7rem 0 1.5rem;font-size:clamp(3.8rem,6vw,6.8rem);line-height:.89}.fp-how-step__lead{max-width:620px;font-size:clamp(1.05rem,1.45vw,1.24rem);line-height:1.72;color:var(--kv-ink-700)}.fp-how-step__note{max-width:590px;margin:1.3rem 0 0;padding-left:1.25rem;border-left:2px solid var(--kv-prime);font-size:.94rem;line-height:1.65;color:var(--kv-ink-soft)}.fp-how-step__facts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.fp-how-step__facts span{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border:1px solid rgba(9,38,29,.15);border-radius:999px;font-size:.76rem;line-height:1.2}.fp-how-step__facts b{font-family:var(--kv-font-mono);font-size:.55rem;color:var(--kv-moss);font-weight:500}.fp-how-step__cta{display:inline-flex;gap:.8rem;align-items:center;margin-top:2rem;color:inherit;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.18rem}.fp-how-step__media{position:relative;min-height:min(68svh,760px);margin:0;border-radius:clamp(22px,2vw,36px);overflow:hidden;background:var(--kv-ink-950);box-shadow:0 30px 80px rgba(7,26,20,.16)}.fp-how-step__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}.fp-how-step.is-active .fp-how-step__media img{transform:scale(1.035)}.fp-how-step__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,13,.02),rgba(4,18,13,.3))}.fp-how-step__media-index{position:absolute;left:1.5rem;bottom:1.4rem;z-index:2;font-family:var(--kv-font-mono);font-size:.62rem;letter-spacing:.12em;color:#fff}.fp-how-step__media-rule{position:absolute;right:1.7rem;top:1.7rem;z-index:2;width:50px;height:1px;background:var(--kv-prime)}

.fp-how-step--dark{background:var(--kv-ink-950);color:#fff}.fp-how-step--dark .fp-eyebrow,.fp-how-step--dark .fp-how-step__number span{color:var(--kv-prime)}.fp-how-step--dark .fp-how-step__number span{background:var(--kv-prime);color:var(--kv-ink-950)}.fp-how-step--dark .fp-how-step__lead{color:rgba(255,255,255,.76)}.fp-how-step--dark .fp-how-step__note{color:rgba(255,255,255,.62)}.fp-how-step--dark .fp-how-step__facts span{border-color:rgba(255,255,255,.16)}.fp-how-step--dark .fp-how-step__facts b{color:var(--kv-prime)}.fp-how-step--lime{background:var(--kv-prime);color:var(--kv-ink-950)}.fp-how-step--lime .fp-how-step__number span{background:var(--kv-ink-950);color:var(--kv-prime)}.fp-how-step--lime .fp-how-step__note{border-color:var(--kv-ink-950)}.fp-how-step--paper{background:var(--kv-paper-2)}

.fp-how-account{padding:clamp(6rem,11vw,11rem) 0;background:var(--kv-paper);overflow:hidden}.fp-how-account__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,9vw,10rem);align-items:center}.fp-how-account__visual{display:grid;place-items:center}.fp-how-phone{width:min(390px,90%);padding:18px;border-radius:44px;background:#061c15;color:#fff;box-shadow:0 40px 110px rgba(7,26,20,.23);transform:rotate(-3deg)}.fp-how-phone__top{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 18px;font-family:var(--kv-font-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}.fp-how-phone__top span{width:8px;height:8px;border-radius:50%;background:var(--kv-prime)}.fp-how-phone__pass{padding:28px 24px;border-radius:26px;background:linear-gradient(135deg,#245f49,#0e3b2e);min-height:210px;position:relative;overflow:hidden}.fp-how-phone__pass::after{content:"";position:absolute;right:14%;top:-10%;width:1px;height:130%;background:rgba(255,255,255,.13);transform:rotate(8deg)}.fp-how-phone__pass small{font-family:var(--kv-font-mono);font-size:.52rem;letter-spacing:.11em;color:#fff}.fp-how-phone__pass strong{display:block;margin:2.3rem 0 2rem;font-family:var(--kv-font-display);font-size:2rem}.fp-how-phone__pass dl{display:grid;gap:.5rem;margin:0}.fp-how-phone__pass dl div{display:grid;grid-template-columns:70px 1fr;gap:1rem;font-size:.7rem}.fp-how-phone__pass dt{color:rgba(255,255,255,.5)}.fp-how-phone__pass dd{margin:0;font-weight:700}.fp-how-phone__booking{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.fp-how-phone__booking>span{font-family:var(--kv-font-mono);font-size:.52rem;color:var(--kv-prime)}.fp-how-phone__booking strong{display:block;font-size:.78rem}.fp-how-phone__booking small{display:block;margin-top:.25rem;font-size:.62rem;color:rgba(255,255,255,.55)}.fp-how-phone__booking>b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--kv-prime);color:var(--kv-ink-950);font-size:.7rem}.fp-how-account__copy h2{max-width:10ch;margin:.7rem 0 1.7rem;font-size:clamp(3.7rem,6vw,6.5rem);line-height:.9}.fp-how-account__copy h2 em{display:block;color:var(--kv-moss);font-weight:400}.fp-how-account__copy>p{max-width:610px;font-size:1.12rem;line-height:1.75;color:var(--kv-ink-700)}.fp-how-account__copy ul{list-style:none;margin:2.4rem 0 0;padding:0;border-top:1px solid rgba(9,38,29,.16)}.fp-how-account__copy li{display:grid;grid-template-columns:58px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(9,38,29,.16);font-weight:700}.fp-how-account__copy li span{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss)}

.fp-how-organizer{position:relative;isolation:isolate;min-height:720px;display:flex;align-items:center;color:#fff;overflow:hidden}.fp-how-organizer>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.fp-how-organizer__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,13,.94),rgba(4,18,13,.68) 52%,rgba(4,18,13,.34))}.fp-how-organizer__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(4rem,10vw,11rem);align-items:end}.fp-how-organizer .fp-eyebrow{color:var(--kv-prime)}.fp-how-organizer h2{max-width:9ch;margin:.7rem 0 0;font-size:clamp(4rem,7vw,7.5rem);line-height:.87;color:#fff}.fp-how-organizer h2 em{display:block;color:var(--kv-prime);font-weight:400}.fp-how-organizer__copy{padding-bottom:.8rem}.fp-how-organizer__copy p{max-width:620px;font-size:1.1rem;line-height:1.75;color:rgba(255,255,255,.78)}.fp-how-organizer__copy a{display:inline-flex;gap:.8rem;margin-top:1.5rem;color:#fff;text-decoration:none;font-weight:800;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:.2rem}

.fp-how-faq{padding:clamp(6rem,11vw,11rem) 0;background:var(--kv-paper-2)}.fp-how-faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(4rem,10vw,11rem);align-items:start}.fp-how-faq h2{margin:.7rem 0 0;font-size:clamp(3.8rem,6vw,6.4rem);line-height:.9}.fp-how-faq h2 em{display:block;color:var(--kv-moss);font-weight:400}.fp-how-faq__items{border-top:1px solid rgba(9,38,29,.18)}.fp-how-faq details{border-bottom:1px solid rgba(9,38,29,.18);padding:0}.fp-how-faq summary{cursor:pointer;list-style:none;padding:1.45rem 3.2rem 1.45rem 0;font-family:var(--kv-font-display);font-size:clamp(1.45rem,2vw,2rem);position:relative}.fp-how-faq summary::-webkit-details-marker{display:none}.fp-how-faq summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-family:var(--kv-font-text);font-size:1.2rem}.fp-how-faq details[open] summary::after{content:"−"}.fp-how-faq details p{max-width:720px;margin:-.25rem 0 1.6rem;color:var(--kv-ink-700);line-height:1.7}

.fp-how-final{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-prime)}.fp-how-final__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,11rem);align-items:end}.fp-how-final h2{margin:.7rem 0 0;font-size:clamp(4.4rem,7vw,7.8rem);line-height:.85}.fp-how-final h2 em{display:block;font-weight:400}.fp-how-final__action{max-width:620px;padding-bottom:.6rem}.fp-how-final__action p{font-size:1.15rem;line-height:1.7;margin:0 0 1.8rem}

[data-fp-flow-reveal]{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1)}[data-fp-flow-reveal].is-visible{opacity:1;transform:none}.fp-how-step__media[data-fp-flow-reveal]{transform:translateY(48px) scale(.965)}.fp-how-step__media[data-fp-flow-reveal].is-visible{transform:none}

@media(max-width:980px){.fp-how-flow__rail{display:none}.fp-how-step{min-height:0}.fp-how-step__grid,.fp-how-intro__grid,.fp-how-account__grid,.fp-how-organizer__inner,.fp-how-faq__grid,.fp-how-final__grid{grid-template-columns:1fr}.fp-how-step__grid{gap:2.5rem}.fp-how-step__story{padding-left:0}.fp-how-step__media{min-height:560px;order:-1}.fp-how-step:nth-child(even) .fp-how-step__media{order:-1}.fp-how-account__visual{order:2}.fp-how-organizer{min-height:760px}.fp-how-faq__grid{gap:3rem}}
@media(max-width:720px){.fp-how-hero{min-height:760px;background-position:61% center}.fp-how-hero__inner{grid-template-columns:1fr;padding-top:8rem;padding-bottom:3rem}.fp-how-hero__aside{display:none}.fp-how-hero h1{font-size:clamp(4rem,18vw,6rem)}.fp-how-hero__actions{align-items:flex-start;flex-direction:column}.fp-how-intro{padding-block:5rem}.fp-how-intro h2,.fp-how-step h2,.fp-how-account__copy h2,.fp-how-organizer h2,.fp-how-faq h2,.fp-how-final h2{font-size:clamp(3.3rem,15vw,5rem)}.fp-how-step{padding-block:4.5rem}.fp-how-step__media{min-height:440px;border-radius:22px}.fp-how-step__facts{gap:.45rem}.fp-how-step__facts span{font-size:.7rem}.fp-how-phone{width:min(330px,94%)}.fp-how-organizer{min-height:700px;padding-block:5rem}.fp-how-organizer__inner{gap:3rem}.fp-how-faq{padding-block:5rem}.fp-how-final{padding-block:5rem}}
@media(prefers-reduced-motion:reduce){[data-fp-flow-reveal]{opacity:1!important;transform:none!important;transition:none!important}.fp-how-step__media img{transition:none!important}}

/* 2026-08-27 — Så fungerar det: clearer sticky flow rail + visual intro */
.fp-how-intro__copy{
    max-width:680px;
}
.fp-how-intro__image{
    position:relative;
    margin:0 0 2rem;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:24px;
    background:var(--kv-ink-950);
    box-shadow:0 24px 64px rgba(7,26,20,.14);
}
.fp-how-intro__image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:saturate(.9) contrast(1.03);
}
.fp-how-intro__image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,18,13,0) 42%,rgba(4,18,13,.68) 100%);
    pointer-events:none;
}
.fp-how-intro__image figcaption{
    position:absolute;
    z-index:2;
    left:1.35rem;
    right:1.35rem;
    bottom:1.2rem;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    color:#fff;
}
.fp-how-intro__image figcaption span{
    font-family:var(--kv-font-mono);
    font-size:.56rem;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--kv-prime);
}
.fp-how-intro__image figcaption b{
    max-width:17ch;
    text-align:right;
    font-family:var(--kv-font-display);
    font-size:1.15rem;
    line-height:1.05;
}

/* The rail remains visually readable over paper, lime and dark sections. */
.fp-how-flow__rail{
    width:64px!important;
    height:388px!important;
    top:calc(50% - 194px)!important;
    margin-left:clamp(14px,2vw,34px)!important;
    margin-bottom:-388px!important;
    transform:none!important;
    padding:10px 7px!important;
    border:1px solid rgba(9,38,29,.14);
    border-radius:999px;
    background:rgba(247,244,235,.62);
    -webkit-backdrop-filter:blur(16px) saturate(1.15);
    backdrop-filter:blur(16px) saturate(1.15);
    box-shadow:0 14px 42px rgba(5,25,18,.16);
    overflow:hidden;
}
.fp-how-flow__rail-line{
    left:31px!important;
    top:35px!important;
    height:318px!important;
    background:rgba(9,38,29,.26)!important;
}
.fp-how-flow__rail-line i{
    background:var(--kv-ink-950)!important;
}
.fp-how-flow__dot{
    left:7px!important;
    width:48px!important;
    height:48px!important;
    opacity:.88!important;
    transform:scale(.78)!important;
    background:rgba(255,255,255,.9)!important;
    border-color:rgba(9,38,29,.28)!important;
    color:var(--kv-ink-950)!important;
    box-shadow:0 4px 16px rgba(7,26,20,.08);
}
.fp-how-flow__dot:nth-of-type(1){top:10px!important}
.fp-how-flow__dot:nth-of-type(2){top:70px!important}
.fp-how-flow__dot:nth-of-type(3){top:130px!important}
.fp-how-flow__dot:nth-of-type(4){top:190px!important}
.fp-how-flow__dot:nth-of-type(5){top:250px!important}
.fp-how-flow__dot:nth-of-type(6){top:310px!important}
.fp-how-flow__dot.is-active{
    opacity:1!important;
    transform:scale(.94)!important;
    background:var(--kv-prime)!important;
    border-color:var(--kv-ink-950)!important;
    color:var(--kv-ink-950)!important;
}

/* Stronger copy contrast throughout the journey. */
.fp-how-step__lead{
    color:var(--kv-ink-950)!important;
}
.fp-how-step__note{
    color:var(--kv-ink-700)!important;
}
.fp-how-step--dark .fp-how-step__lead{
    color:rgba(255,255,255,.9)!important;
}
.fp-how-step--dark .fp-how-step__note{
    color:rgba(255,255,255,.74)!important;
}
.fp-how-step--lime .fp-how-step__lead,
.fp-how-step--lime .fp-how-step__note{
    color:var(--kv-ink-950)!important;
}

@media(max-width:980px){
    /* On smaller screens the rail becomes a compact sticky navigator instead
       of disappearing completely. */
    .fp-how-flow__rail{
        display:flex!important;
        position:sticky!important;
        top:calc(var(--kv-header-height,72px) + 12px)!important;
        z-index:35!important;
        width:max-content!important;
        max-width:calc(100vw - 28px)!important;
        height:52px!important;
        margin:0 auto -52px!important;
        padding:5px 7px!important;
        border-radius:999px;
        align-items:center;
        gap:3px;
    }
    .fp-how-flow__rail-line{
        display:none!important;
    }
    .fp-how-flow__dot,
    .fp-how-flow__dot:nth-of-type(1),
    .fp-how-flow__dot:nth-of-type(2),
    .fp-how-flow__dot:nth-of-type(3),
    .fp-how-flow__dot:nth-of-type(4),
    .fp-how-flow__dot:nth-of-type(5),
    .fp-how-flow__dot:nth-of-type(6){
        position:relative!important;
        left:auto!important;
        top:auto!important;
        width:38px!important;
        height:38px!important;
        transform:scale(.84)!important;
        flex:0 0 auto;
    }
    .fp-how-flow__dot.is-active{
        transform:scale(1)!important;
    }
}
@media(max-width:720px){
    .fp-how-intro__image{
        margin-bottom:1.5rem;
        border-radius:18px;
    }
    .fp-how-intro__image figcaption b{
        display:none;
    }
}

/* ==========================================================================
   FÖR ARRANGÖRER — dedicated editorial landing page
   ========================================================================== */

.fp-org-hero{
    position:relative;
    min-height:min(860px,88vh);
    overflow:hidden;
    background:var(--kv-ink-950);
    color:#fff;
    isolation:isolate
}
.fp-org-hero__media,.fp-org-hero__veil{position:absolute;inset:0}
.fp-org-hero__media{
    z-index:-3;
    background-image:var(--kv-org-hero);
    background-size:cover;
    background-position:center 45%;
    transform:scale(1.025)
}
.fp-org-hero__veil{
    z-index:-2;
    background:
        linear-gradient(90deg,rgba(4,20,14,.94) 0%,rgba(4,20,14,.82) 39%,rgba(4,20,14,.34) 68%,rgba(4,20,14,.3) 100%),
        linear-gradient(180deg,rgba(3,15,11,.08),rgba(3,15,11,.66))
}
.fp-org-hero__inner{
    min-height:min(860px,88vh);
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(330px,.62fr);
    align-items:end;
    gap:clamp(3rem,7vw,8rem);
    padding-top:clamp(8rem,16vh,11rem);
    padding-bottom:clamp(4rem,8vh,6.5rem)
}
.fp-org-hero .fp-eyebrow{color:var(--kv-prime)}
.fp-org-hero__copy{max-width:820px}
.fp-org-hero h1{
    margin:.65rem 0 1.5rem;
    max-width:8.5ch;
    font-family:var(--kv-font-display);
    font-size:clamp(4.6rem,8.2vw,9rem);
    line-height:.79;
    letter-spacing:-.055em
}
.fp-org-hero h1 em{color:var(--kv-prime);font-weight:400}
.fp-org-hero__lead{
    max-width:680px;
    margin:0;
    font-size:clamp(1.05rem,1.3vw,1.28rem);
    line-height:1.65;
    color:rgba(255,255,255,.84)
}
.fp-org-hero__actions{
    display:flex;
    align-items:center;
    gap:1.25rem;
    flex-wrap:wrap;
    margin-top:2.25rem
}
.fp-org-textlink{
    color:#fff;
    font-weight:750;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.45);
    padding:.65rem 0
}
.fp-org-textlink:hover{border-color:var(--kv-prime);color:var(--kv-prime)}
.fp-org-hero__aside{
    align-self:end;
    border-top:1px solid rgba(255,255,255,.26)
}
.fp-org-hero__aside article{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:.2rem 1rem;
    padding:1.35rem 0;
    border-bottom:1px solid rgba(255,255,255,.18)
}
.fp-org-hero__aside article>span{
    grid-row:1/3;
    font-family:var(--kv-font-mono);
    font-size:.62rem;
    color:var(--kv-prime);
    letter-spacing:.08em
}
.fp-org-hero__aside strong{
    font-family:var(--kv-font-display);
    font-size:1.28rem;
    line-height:1.1
}
.fp-org-hero__aside p{
    margin:.15rem 0 0;
    color:rgba(255,255,255,.67);
    line-height:1.5;
    font-size:.88rem
}

/* Intro */
.fp-org-intro{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper)}
.fp-org-intro__grid{
    display:grid;
    grid-template-columns:minmax(260px,.72fr) minmax(0,1.25fr);
    gap:clamp(3rem,8vw,9rem);
    align-items:start
}
.fp-org-intro__headline{position:sticky;top:calc(var(--kv-header-height,76px) + 3rem)}
.fp-org-intro h2,.fp-org-model h2,.fp-org-flow h2,.fp-org-control h2,.fp-org-network h2,.fp-org-benefits h2,.fp-org-faq h2,.fp-org-final h2{
    margin:.8rem 0 0;
    font-family:var(--kv-font-display);
    font-size:clamp(3.5rem,6vw,7rem);
    line-height:.88;
    letter-spacing:-.045em
}
.fp-org-intro h2 em,.fp-org-model h2 em,.fp-org-flow h2 em,.fp-org-control h2 em,.fp-org-network h2 em,.fp-org-benefits h2 em,.fp-org-faq h2 em,.fp-org-final h2 em{font-weight:400;color:var(--kv-moss)}
.fp-org-intro__story{max-width:760px}
.fp-org-intro__image{
    position:relative;
    margin:0 0 2rem;
    min-height:470px;
    border-radius:30px;
    overflow:hidden;
    background:var(--kv-ink-950)
}
.fp-org-intro__image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.fp-org-intro__image:after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(4,20,14,0) 38%,rgba(4,20,14,.77) 100%)
}
.fp-org-intro__image figcaption{
    position:absolute;z-index:2;left:1.75rem;right:1.75rem;bottom:1.6rem;
    display:grid;gap:.2rem;color:#fff
}
.fp-org-intro__image figcaption span{
    color:var(--kv-prime);font-family:var(--kv-font-mono);font-size:.62rem;
    text-transform:uppercase;letter-spacing:.1em
}
.fp-org-intro__image figcaption b{font-family:var(--kv-font-display);font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1.04;max-width:20ch}
.fp-org-intro__story>p{font-size:1.08rem;line-height:1.75;color:var(--kv-ink-700);max-width:64ch}

/* Economy */
.fp-org-model{padding:clamp(6rem,10vw,9rem) 0;background:var(--kv-ink-950);color:#fff}
.fp-org-model__heading{
    display:grid;grid-template-columns:1fr .8fr;gap:clamp(2.5rem,7vw,8rem);align-items:end;margin-bottom:4rem
}
.fp-org-model h2 em{color:var(--kv-prime)}
.fp-org-model__heading>p{margin:0 0 .6rem;color:rgba(255,255,255,.72);line-height:1.7;font-size:1.05rem}
.fp-org-model .fp-eyebrow{color:var(--kv-prime)}
.fp-org-economy{border:1px solid rgba(255,255,255,.18);border-radius:32px;overflow:hidden;background:rgba(255,255,255,.025)}
.fp-org-economy__bar{display:flex;min-height:245px}
.fp-org-economy__bar>div{
    width:var(--share);padding:2.25rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden
}
.fp-org-economy__anchor{background:var(--kv-prime);color:var(--kv-ink-950)}
.fp-org-economy__platform{background:#17392d;color:#fff}
.fp-org-economy__bar span{
    position:absolute;right:1.8rem;top:1.5rem;font-family:var(--kv-font-display);
    font-size:clamp(3rem,5vw,5.5rem);line-height:1;opacity:.94
}
.fp-org-economy__bar strong{font-family:var(--kv-font-display);font-size:clamp(1.5rem,2vw,2.2rem)}
.fp-org-economy__bar small{margin-top:.35rem;font-size:.75rem;opacity:.68}
.fp-org-economy__notes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14)}
.fp-org-economy__notes article{padding:2rem;border-right:1px solid rgba(255,255,255,.14)}
.fp-org-economy__notes article:last-child{border-right:0}
.fp-org-num{display:inline-flex;margin-bottom:1.8rem;font-family:var(--kv-font-mono);font-size:.65rem;color:var(--kv-prime)}
.fp-org-economy__notes h3{margin:0 0 .65rem;font-family:var(--kv-font-display);font-size:1.5rem}
.fp-org-economy__notes p{margin:0;color:rgba(255,255,255,.65);line-height:1.6;font-size:.9rem}
.fp-org-economy__fine{
    margin:0;padding:1rem 2rem 1.2rem;border-top:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.55
}

/* Process */
.fp-org-flow{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-prime)}
.fp-org-flow__head{max-width:1000px;margin-bottom:4rem}
.fp-org-flow__head h2 em{color:var(--kv-ink-950)}
.fp-org-flow__steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(7,30,23,.35);border-left:1px solid rgba(7,30,23,.22)}
.fp-org-flow__step{
    min-height:430px;padding:1.6rem;position:relative;border-right:1px solid rgba(7,30,23,.22);border-bottom:1px solid rgba(7,30,23,.22)
}
.fp-org-flow__index{font-family:var(--kv-font-mono);font-size:.6rem;letter-spacing:.08em}
.fp-org-flow__icon{
    width:58px;height:58px;border:1px solid rgba(7,30,23,.35);border-radius:50%;
    display:grid;place-items:center;font-size:1.5rem;margin:3rem 0 4rem
}
.fp-org-flow__step h3{margin:.75rem 0 .7rem;font-family:var(--kv-font-display);font-size:clamp(1.7rem,2.2vw,2.3rem);line-height:1.02}
.fp-org-flow__step>p:last-child{margin:0;color:rgba(7,30,23,.68);line-height:1.6;font-size:.9rem}

/* Control/dashboard */
.fp-org-control{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper)}
.fp-org-control__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(4rem,8vw,9rem);align-items:center}
.fp-org-control__copy>p:not(.fp-eyebrow){font-size:1.02rem;line-height:1.75;color:var(--kv-ink-700);max-width:54ch}
.fp-org-checks{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--kv-line)}
.fp-org-checks li{display:grid;grid-template-columns:28px 1fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--kv-line);font-weight:650}
.fp-org-checks span{color:var(--kv-moss)}
.fp-org-dashboard{
    border-radius:30px;background:#071d16;color:#fff;overflow:hidden;
    box-shadow:0 42px 90px rgba(7,29,21,.22);transform:rotate(1deg)
}
.fp-org-dashboard__top{display:flex;align-items:center;gap:8px;padding:1.1rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.1)}
.fp-org-dashboard__top span{margin-right:auto;font-family:var(--kv-font-mono);font-size:.58rem;letter-spacing:.1em;color:var(--kv-prime)}
.fp-org-dashboard__top i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.fp-org-dashboard__stats{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.1)}
.fp-org-dashboard__stats article{padding:1.6rem;border-right:1px solid rgba(255,255,255,.1)}
.fp-org-dashboard__stats article:last-child{border-right:0}
.fp-org-dashboard__stats small,.fp-org-dashboard__event small{display:block;color:rgba(255,255,255,.48);font-family:var(--kv-font-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.08em}
.fp-org-dashboard__stats strong{display:block;margin:.65rem 0 .2rem;font-family:var(--kv-font-display);font-size:3.25rem;line-height:1}
.fp-org-dashboard__stats span{font-size:.72rem;color:var(--kv-prime)}
.fp-org-dashboard__event{display:grid;grid-template-columns:1fr .72fr;gap:1.5rem;padding:1.6rem;border-bottom:1px solid rgba(255,255,255,.1)}
.fp-org-dashboard__event h3{margin:.5rem 0 .25rem;font-family:var(--kv-font-display);font-size:1.6rem}
.fp-org-dashboard__event p{margin:0;color:rgba(255,255,255,.55);font-size:.78rem}
.fp-org-dashboard__capacity span{font-family:var(--kv-font-display);font-size:1.3rem}
.fp-org-dashboard__capacity span b{font-size:2.2rem}
.fp-org-dashboard__capacity i{display:block;height:5px;margin:.7rem 0;background:rgba(255,255,255,.12);border-radius:10px;overflow:hidden}
.fp-org-dashboard__capacity em{display:block;height:100%;background:var(--kv-prime);border-radius:10px}
.fp-org-dashboard__people{padding:.4rem 1.6rem 1.3rem}
.fp-org-dashboard__people>div{display:grid;grid-template-columns:38px 1fr 22px;gap:.8rem;align-items:center;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.fp-org-dashboard__people>div:last-child{border-bottom:0}
.fp-org-dashboard__people>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#174534;font-size:.62rem;color:var(--kv-prime)}
.fp-org-dashboard__people p{margin:0}
.fp-org-dashboard__people b{display:block;font-size:.78rem}
.fp-org-dashboard__people small{display:block;margin-top:.16rem;color:rgba(255,255,255,.45);font-size:.64rem}
.fp-org-dashboard__people i{font-style:normal;color:var(--kv-prime)}

/* Network */
.fp-org-network{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:#071d16;color:#fff;isolation:isolate}
.fp-org-network__image,.fp-org-network__overlay{position:absolute;inset:0}
.fp-org-network__image{z-index:-3}
.fp-org-network__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.fp-org-network__overlay{z-index:-2;background:linear-gradient(90deg,rgba(4,20,14,.94),rgba(4,20,14,.45) 65%),linear-gradient(0deg,rgba(4,20,14,.8),transparent 70%)}
.fp-org-network__inner{display:grid;grid-template-columns:1fr .9fr;gap:clamp(3rem,8vw,9rem);align-items:end;padding-top:8rem;padding-bottom:5rem}
.fp-org-network .fp-eyebrow{color:var(--kv-prime)}
.fp-org-network h2 em{color:var(--kv-prime)}
.fp-org-network__copy>p:last-child{max-width:56ch;color:rgba(255,255,255,.76);line-height:1.7}
.fp-org-network__facts{display:grid;grid-template-columns:repeat(3,1fr);align-self:end;border-top:1px solid rgba(255,255,255,.25)}
.fp-org-network__facts article{padding:1.4rem 1.1rem 0 0}
.fp-org-network__facts span{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-prime)}
.fp-org-network__facts strong{display:block;margin:1.5rem 0 .35rem;font-family:var(--kv-font-display);font-size:1.35rem}
.fp-org-network__facts p{margin:0;color:rgba(255,255,255,.62);font-size:.8rem;line-height:1.5}

/* Benefits */
.fp-org-benefits{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper)}
.fp-org-benefits__head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:4rem}
.fp-org-benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--kv-line);border-top:1px solid var(--kv-line)}
.fp-org-benefits__grid article{min-height:260px;padding:1.6rem;border-right:1px solid var(--kv-line);border-bottom:1px solid var(--kv-line)}
.fp-org-benefits__grid span{font-family:var(--kv-font-mono);font-size:.6rem;color:var(--kv-moss)}
.fp-org-benefits__grid h3{margin:3rem 0 .7rem;font-family:var(--kv-font-display);font-size:1.75rem}
.fp-org-benefits__grid p{margin:0;color:var(--kv-ink-700);font-size:.88rem;line-height:1.6}

/* FAQ */
.fp-org-faq{padding:clamp(6rem,10vw,9rem) 0;background:#e9e5da}
.fp-org-faq__grid{display:grid;grid-template-columns:.7fr 1.2fr;gap:clamp(3rem,8vw,9rem)}
.fp-org-faq__intro{position:sticky;top:calc(var(--kv-header-height,76px) + 3rem);align-self:start}
.fp-org-faq__intro>p:last-child{color:var(--kv-ink-700);line-height:1.7;max-width:44ch}
.fp-org-faq__items details{border-top:1px solid rgba(7,30,23,.24)}
.fp-org-faq__items details:last-child{border-bottom:1px solid rgba(7,30,23,.24)}
.fp-org-faq__items summary{list-style:none;cursor:pointer;padding:1.6rem 3rem 1.6rem 0;position:relative;font-family:var(--kv-font-display);font-size:clamp(1.25rem,1.7vw,1.65rem)}
.fp-org-faq__items summary::-webkit-details-marker{display:none}
.fp-org-faq__items summary:after{content:"+";position:absolute;right:.2rem;top:1.55rem;font-family:var(--kv-font-text);font-size:1.5rem}
.fp-org-faq__items details[open] summary:after{content:"−"}
.fp-org-faq__items details p{margin:-.5rem 0 1.7rem;max-width:65ch;color:var(--kv-ink-700);line-height:1.7}

/* Final CTA */
.fp-org-final{padding:clamp(6rem,10vw,9rem) 0;background:var(--kv-prime);color:var(--kv-ink-950)}
.fp-org-final__inner{display:grid;grid-template-columns:1.15fr .65fr;gap:clamp(3rem,8vw,9rem);align-items:end}
.fp-org-final h2 em{color:var(--kv-ink-950)}
.fp-org-final__copy>p:last-child{max-width:56ch;line-height:1.7;color:rgba(7,30,23,.72)}
.fp-org-final__action{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem}
.fp-org-final__action>span{font-family:var(--kv-font-mono);font-size:.6rem;letter-spacing:.1em}
.fp-org-final__action>a:last-child{color:var(--kv-ink-950);font-weight:750;text-decoration:none;border-bottom:1px solid rgba(7,30,23,.5);padding-bottom:.4rem}

/* Reveal stagger, using the theme's existing .fp-reveal observer. */
.fp-org-flow__step:nth-child(2),.fp-org-benefits__grid article:nth-child(2){transition-delay:.08s}
.fp-org-flow__step:nth-child(3),.fp-org-benefits__grid article:nth-child(3){transition-delay:.16s}
.fp-org-flow__step:nth-child(4),.fp-org-benefits__grid article:nth-child(4){transition-delay:.24s}
.fp-org-benefits__grid article:nth-child(5){transition-delay:.32s}
.fp-org-benefits__grid article:nth-child(6){transition-delay:.4s}

@media(max-width:1050px){
    .fp-org-hero__inner{grid-template-columns:1fr .5fr}
    .fp-org-flow__steps{grid-template-columns:repeat(2,1fr)}
    .fp-org-benefits__grid{grid-template-columns:repeat(2,1fr)}
    .fp-org-control__grid{grid-template-columns:1fr;gap:4rem}
    .fp-org-dashboard{max-width:760px}
}
@media(max-width:820px){
    .fp-org-hero,.fp-org-hero__inner{min-height:auto}
    .fp-org-hero__inner{grid-template-columns:1fr;padding-top:9rem;padding-bottom:4rem}
    .fp-org-hero h1{font-size:clamp(4rem,18vw,6.5rem)}
    .fp-org-hero__aside{max-width:620px}
    .fp-org-intro__grid,.fp-org-model__heading,.fp-org-network__inner,.fp-org-faq__grid,.fp-org-final__inner{grid-template-columns:1fr}
    .fp-org-intro__headline,.fp-org-faq__intro{position:relative;top:auto}
    .fp-org-intro__image{min-height:380px}
    .fp-org-economy__notes{grid-template-columns:1fr}
    .fp-org-economy__notes article{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
    .fp-org-network__facts{max-width:680px}
    .fp-org-benefits__head{grid-template-columns:1fr}
}
@media(max-width:620px){
    .fp-org-hero__actions{align-items:flex-start;flex-direction:column}
    .fp-org-hero__aside article{grid-template-columns:34px 1fr}
    .fp-org-economy{border-radius:22px}
    .fp-org-economy__bar{min-height:360px;flex-direction:column}
    .fp-org-economy__bar>div{width:100%;min-height:180px;padding:1.5rem}
    .fp-org-economy__bar span{font-size:3.2rem}
    .fp-org-flow__steps,.fp-org-benefits__grid{grid-template-columns:1fr}
    .fp-org-flow__step{min-height:330px}
    .fp-org-flow__icon{margin:2rem 0 3rem}
    .fp-org-dashboard{border-radius:20px;transform:none}
    .fp-org-dashboard__stats,.fp-org-dashboard__event{grid-template-columns:1fr}
    .fp-org-dashboard__stats article{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
    .fp-org-dashboard__event{gap:1.4rem}
    .fp-org-network{min-height:850px}
    .fp-org-network__facts{grid-template-columns:1fr}
    .fp-org-network__facts article{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0}
    .fp-org-benefits__grid article{min-height:220px}
    .fp-org-faq__items summary{font-size:1.35rem}
}

/* ==========================================================================
   VANLIGA FRÅGOR — searchable, editorial FAQ experience
   ========================================================================== */
.fp-faq-hero{padding:clamp(7rem,12vw,11rem) 0 clamp(5rem,8vw,8rem);background:var(--kv-paper);overflow:hidden}
.fp-faq-hero__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(3rem,8vw,9rem);align-items:end}
.fp-faq-hero__copy{padding-bottom:1rem}
.fp-faq-hero h1{margin:.7rem 0 1.5rem;font-family:var(--kv-font-display);font-size:clamp(5rem,9vw,10rem);line-height:.78;letter-spacing:-.055em;max-width:7ch}
.fp-faq-hero h1 em{font-weight:400;color:var(--kv-moss)}
.fp-faq-hero__copy>p:last-child{max-width:50ch;margin:0;color:var(--kv-ink-700);font-size:1.05rem;line-height:1.72}
.fp-faq-hero__visual{position:relative;min-height:560px;margin:0;border-radius:32px;overflow:hidden;background:var(--kv-ink-950);box-shadow:0 34px 84px rgba(6,26,19,.16)}
.fp-faq-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03)}
.fp-faq-hero__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,25,18,.03),rgba(6,25,18,.7))}
.fp-faq-hero__card{position:absolute;z-index:2;right:1.5rem;bottom:1.5rem;width:min(310px,calc(100% - 3rem));padding:1.5rem;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(7,29,22,.74);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#fff}
.fp-faq-hero__mark{width:44px;height:44px;display:grid;place-items:center;margin-bottom:2rem;border-radius:50%;background:var(--kv-prime);color:var(--kv-ink-950);font-family:var(--kv-font-display);font-size:1.4rem}
.fp-faq-hero__card p{margin:0 0 .25rem;color:rgba(255,255,255,.62);font-size:.78rem}
.fp-faq-hero__card strong{display:block;font-family:var(--kv-font-display);font-size:1.7rem;line-height:1.05}
.fp-faq-hero__card a{display:inline-block;margin-top:1.4rem;color:var(--kv-prime);font-weight:750;text-decoration:none;border-bottom:1px solid rgba(220,255,70,.5);padding-bottom:.28rem}

.fp-faq-main{padding:clamp(4.5rem,8vw,8rem) 0 clamp(7rem,11vw,11rem);background:#efebe1}
.fp-faq-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;padding-bottom:2rem;border-bottom:1px solid rgba(7,30,23,.18)}
.fp-faq-search label{display:block;margin-bottom:.7rem;font-family:var(--kv-font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kv-moss)}
.fp-faq-search__field{position:relative;max-width:760px}
.fp-faq-search__field svg{position:absolute;left:1.1rem;top:50%;width:21px;height:21px;transform:translateY(-50%);fill:none;stroke:currentColor;stroke-width:1.7;opacity:.55}
.fp-faq-search__field input{width:100%;height:62px;padding:0 3.4rem 0 3rem;border:1px solid rgba(7,30,23,.2);border-radius:999px;background:rgba(255,255,255,.75);font:600 1rem var(--kv-font-text);color:var(--kv-ink-950);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.fp-faq-search__field input:focus{border-color:var(--kv-moss);box-shadow:0 0 0 4px rgba(143,89,3,.12);background:#fff}
.fp-faq-search__field button{position:absolute;right:12px;top:50%;width:38px;height:38px;transform:translateY(-50%);border:0;border-radius:50%;background:var(--kv-ink-950);color:#fff;font-size:1.25rem;cursor:pointer}
.fp-faq-count{display:flex;align-items:baseline;gap:.35rem;padding-bottom:.55rem}
.fp-faq-count span{font-family:var(--kv-font-display);font-size:3rem;line-height:1}
.fp-faq-count small{font-family:var(--kv-font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kv-ink-700)}
.fp-faq-categories{display:flex;gap:.55rem;flex-wrap:wrap;padding:1.5rem 0 3rem}
.fp-faq-categories button{appearance:none;border:1px solid rgba(7,30,23,.2);border-radius:999px;background:transparent;color:var(--kv-ink-950);padding:.72rem 1rem;font:700 .78rem var(--kv-font-text);cursor:pointer;transition:.2s ease}
.fp-faq-categories button:hover,.fp-faq-categories button.is-active{background:var(--kv-ink-950);border-color:var(--kv-ink-950);color:var(--kv-prime-light)}
.fp-faq-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:clamp(3rem,7vw,8rem);align-items:start}
.fp-faq-aside{position:sticky;top:calc(var(--kv-header-height,76px) + 2.5rem)}
.fp-faq-aside h2{margin:.8rem 0 2rem;font-family:var(--kv-font-display);font-size:clamp(2.4rem,4vw,4.2rem);line-height:.92;letter-spacing:-.035em;max-width:10ch}
.fp-faq-aside ol{list-style:none;padding:0;margin:0 0 2rem;border-top:1px solid rgba(7,30,23,.2)}
.fp-faq-aside li{display:grid;grid-template-columns:40px 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid rgba(7,30,23,.16)}
.fp-faq-aside li>span{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss);padding-top:.15rem}
.fp-faq-aside li p{margin:0}.fp-faq-aside li strong{display:block;font-size:.9rem}.fp-faq-aside li small{display:block;margin-top:.2rem;color:var(--kv-ink-700);line-height:1.45;font-size:.72rem}
.fp-faq-aside>a{color:var(--kv-ink-950);font-weight:750;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.35rem}
.fp-faq-list{border-top:1px solid rgba(7,30,23,.22)}
.fp-faq-item{border-bottom:1px solid rgba(7,30,23,.22)}
.fp-faq-item[hidden]{display:none!important}
.fp-faq-item summary{display:grid;grid-template-columns:46px minmax(0,1fr) auto 34px;gap:1rem;align-items:center;min-height:94px;padding:1rem 0;list-style:none;cursor:pointer}
.fp-faq-item summary::-webkit-details-marker{display:none}
.fp-faq-item__num{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-moss)}
.fp-faq-item__question{font-family:var(--kv-font-display);font-size:clamp(1.35rem,2vw,2rem);line-height:1.08}
.fp-faq-item__category{padding:.45rem .65rem;border-radius:999px;background:rgba(7,30,23,.06);font-family:var(--kv-font-mono);font-size:.52rem;letter-spacing:.06em;text-transform:uppercase;color:var(--kv-ink-700);white-space:nowrap}
.fp-faq-item__toggle{position:relative;width:32px;height:32px;border:1px solid rgba(7,30,23,.25);border-radius:50%}
.fp-faq-item__toggle:before,.fp-faq-item__toggle:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:var(--kv-ink-950);transform:translate(-50%,-50%);transition:transform .22s ease}
.fp-faq-item__toggle:after{transform:translate(-50%,-50%) rotate(90deg)}
.fp-faq-item[open] .fp-faq-item__toggle{background:var(--kv-prime);border-color:var(--kv-prime)}
.fp-faq-item[open] .fp-faq-item__toggle:after{transform:translate(-50%,-50%) rotate(0)}
.fp-faq-item__answer{padding:0 4rem 2rem 62px;max-width:74ch;color:var(--kv-ink-700);font-size:.96rem;line-height:1.72}
.fp-faq-item__answer>*:first-child{margin-top:0}.fp-faq-item__answer>*:last-child{margin-bottom:0}
.fp-faq-empty{text-align:center;padding:5rem 1rem;border-bottom:1px solid rgba(7,30,23,.22)}
.fp-faq-empty>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 1.3rem;border-radius:50%;background:var(--kv-prime);font-family:var(--kv-font-display);font-size:1.7rem}
.fp-faq-empty h3{margin:0;font-family:var(--kv-font-display);font-size:2rem}.fp-faq-empty p{color:var(--kv-ink-700)}
.fp-faq-empty button{border:0;background:transparent;border-bottom:1px solid currentColor;padding:.35rem 0;font-weight:750;cursor:pointer}

.fp-faq-cta{padding:clamp(5rem,9vw,9rem) 0;background:var(--kv-ink-950);color:#fff}
.fp-faq-cta__inner{display:grid;grid-template-columns:1fr .65fr;gap:clamp(3rem,8vw,9rem);align-items:end}
.fp-faq-cta .fp-eyebrow{color:var(--kv-prime)}
.fp-faq-cta h2{margin:.8rem 0 1.2rem;font-family:var(--kv-font-display);font-size:clamp(4rem,7vw,7.5rem);line-height:.84;letter-spacing:-.045em}
.fp-faq-cta h2 em{font-weight:400;color:var(--kv-prime)}
.fp-faq-cta__copy>p:last-child{max-width:50ch;margin:0;color:rgba(255,255,255,.67);line-height:1.7}
.fp-faq-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}
.fp-faq-cta__actions>a:last-child{color:#fff;text-decoration:none;font-weight:750;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.35rem}

@media(max-width:900px){
  .fp-faq-hero__inner,.fp-faq-layout,.fp-faq-cta__inner{grid-template-columns:1fr}
  .fp-faq-hero__visual{min-height:440px}
  .fp-faq-aside{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
  .fp-faq-aside h2{max-width:12ch}.fp-faq-aside>a{justify-self:start}
}
@media(max-width:650px){
  .fp-faq-hero{padding-top:6rem}.fp-faq-hero h1{font-size:clamp(4rem,22vw,6rem)}
  .fp-faq-hero__visual{min-height:390px;border-radius:22px}.fp-faq-hero__card{right:1rem;bottom:1rem;width:calc(100% - 2rem)}
  .fp-faq-toolbar{grid-template-columns:1fr}.fp-faq-count{display:none}
  .fp-faq-categories{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}.fp-faq-categories::-webkit-scrollbar{display:none}
  .fp-faq-aside{grid-template-columns:1fr}.fp-faq-aside ol{display:grid;grid-template-columns:1fr 1fr}.fp-faq-aside li:nth-child(odd){border-right:1px solid rgba(7,30,23,.16);padding-right:.8rem}.fp-faq-aside li:nth-child(even){padding-left:.8rem}
  .fp-faq-item summary{grid-template-columns:34px minmax(0,1fr) 30px;gap:.7rem;min-height:84px}.fp-faq-item__category{display:none}.fp-faq-item__question{font-size:1.35rem}.fp-faq-item__answer{padding:0 1rem 1.5rem 41px}
}

/* ==========================================================================
   KONTAKT — full contact landing page
   ========================================================================== */

.fp-contact-hero{
    position:relative;
    min-height:720px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:var(--kv-ink-950);
    color:#fff;
    isolation:isolate
}
.fp-contact-hero__media,.fp-contact-hero__veil{position:absolute;inset:0}
.fp-contact-hero__media{
    z-index:-3;
    background-image:var(--kv-contact-hero);
    background-size:cover;
    background-position:center 52%;
    transform:scale(1.025)
}
.fp-contact-hero__veil{
    z-index:-2;
    background:
        linear-gradient(90deg,rgba(4,20,14,.95) 0%,rgba(4,20,14,.78) 42%,rgba(4,20,14,.28) 74%,rgba(4,20,14,.32) 100%),
        linear-gradient(180deg,rgba(4,20,14,.08),rgba(4,20,14,.72))
}
.fp-contact-hero__inner{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
    gap:clamp(3rem,8vw,8rem);
    align-items:end;
    padding-top:11rem;
    padding-bottom:4.5rem
}
.fp-contact-hero .fp-eyebrow{color:var(--kv-prime)}
.fp-contact-hero__copy h1{
    margin:.7rem 0 1.5rem;
    max-width:8ch;
    font-family:var(--kv-font-display);
    font-size:clamp(5rem,8.4vw,9rem);
    line-height:.8;
    letter-spacing:-.055em
}
.fp-contact-hero__copy h1 em{font-weight:400;color:var(--kv-prime)}
.fp-contact-hero__copy>p:last-child{
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:1.08rem;
    line-height:1.7
}
.fp-contact-hero__routes{border-top:1px solid rgba(255,255,255,.25)}
.fp-contact-hero__routes>a{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 28px;
    gap:.25rem 1rem;
    position:relative;
    padding:1.35rem 0;
    border-bottom:1px solid rgba(255,255,255,.18);
    color:#fff;
    text-decoration:none
}
.fp-contact-hero__routes>a>span{
    grid-row:1/3;
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    color:var(--kv-prime)
}
.fp-contact-hero__routes strong{
    font-family:var(--kv-font-display);
    font-size:1.3rem;
    line-height:1.1
}
.fp-contact-hero__routes small{
    color:rgba(255,255,255,.58);
    line-height:1.45
}
.fp-contact-hero__routes i{
    grid-column:3;
    grid-row:1/3;
    align-self:center;
    font-style:normal;
    color:var(--kv-prime);
    transition:transform .2s ease
}
.fp-contact-hero__routes>a:hover i{transform:translate(4px,-4px)}

/* Intro */
.fp-contact-intro{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper)}
.fp-contact-intro__grid{
    display:grid;
    grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);
    gap:clamp(3rem,8vw,9rem);
    align-items:start
}
.fp-contact-intro__headline{position:sticky;top:calc(var(--kv-header-height,76px) + 3rem)}
.fp-contact-intro h2,
.fp-contact-help h2,
.fp-contact-organizer h2{
    margin:.8rem 0 0;
    font-family:var(--kv-font-display);
    font-size:clamp(3.7rem,6vw,7rem);
    line-height:.88;
    letter-spacing:-.045em
}
.fp-contact-intro h2 em,.fp-contact-help h2 em{font-weight:400;color:var(--kv-green-600)}
.fp-contact-intro__lead{
    max-width:62ch;
    margin:0 0 2.5rem;
    color:var(--kv-ink-700);
    font-size:1.08rem;
    line-height:1.75
}
.fp-contact-shortcuts{border-top:1px solid var(--kv-line)}
.fp-contact-shortcuts article{
    display:grid;
    grid-template-columns:130px minmax(0,1fr) minmax(0,1fr) auto;
    gap:1.5rem;
    align-items:center;
    padding:1.5rem 0;
    border-bottom:1px solid var(--kv-line)
}
.fp-contact-shortcuts article>span{
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    letter-spacing:.08em;
    color:var(--kv-green-600)
}
.fp-contact-shortcuts h3{
    margin:0;
    font-family:var(--kv-font-display);
    font-size:1.5rem;
    line-height:1.05
}
.fp-contact-shortcuts p{
    margin:0;
    color:var(--kv-ink-700);
    font-size:.85rem;
    line-height:1.55
}
.fp-contact-shortcuts a{
    color:var(--kv-ink-950);
    font-weight:750;
    text-decoration:none;
    white-space:nowrap;
    border-bottom:1px solid currentColor;
    padding-bottom:.25rem
}

/* Form section */
.fp-contact-formsection{
    padding:clamp(6rem,10vw,10rem) 0;
    background:#e9e5da
}
.fp-contact-formsection__grid{
    display:grid;
    grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);
    gap:clamp(3rem,7vw,7rem);
    align-items:start
}
.fp-contact-card{
    position:sticky;
    top:calc(var(--kv-header-height,76px) + 2.5rem);
    padding:2rem;
    border-radius:28px;
    background:var(--kv-ink-950);
    color:#fff;
    box-shadow:0 28px 68px rgba(7,29,21,.15)
}
.fp-contact-card .fp-eyebrow{color:var(--kv-prime)}
.fp-contact-card h2{
    margin:.75rem 0 1rem;
    font-family:var(--kv-font-display);
    font-size:clamp(2.7rem,4vw,4rem);
    line-height:.92
}
.fp-contact-card>p{
    margin:0;
    color:rgba(255,255,255,.66);
    line-height:1.65
}
.fp-contact-card__details{
    margin-top:2rem;
    border-top:1px solid rgba(255,255,255,.16)
}
.fp-contact-card__details>div{
    padding:1.15rem 0;
    border-bottom:1px solid rgba(255,255,255,.12)
}
.fp-contact-card__details span{
    display:block;
    margin-bottom:.35rem;
    color:var(--kv-prime);
    font-family:var(--kv-font-mono);
    font-size:.55rem;
    letter-spacing:.08em
}
.fp-contact-card__details a,.fp-contact-card__details strong{
    color:#fff;
    text-decoration:none;
    font-size:.9rem
}
.fp-contact-card__note{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:.8rem;
    align-items:start;
    margin-top:1.5rem;
    padding:1rem;
    border-radius:16px;
    background:rgba(255,255,255,.06)
}
.fp-contact-card__note>span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--kv-prime);
    color:var(--kv-ink-950);
    font-family:var(--kv-font-display);
    font-weight:700
}
.fp-contact-card__note p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:.75rem;
    line-height:1.5
}
.fp-contact-formwrap{
    padding:clamp(1.5rem,3vw,2.5rem);
    border:1px solid rgba(7,30,23,.14);
    border-radius:30px;
    background:rgba(255,255,255,.72);
    box-shadow:0 28px 70px rgba(7,29,21,.07)
}
.fp-contact-form__heading{
    display:grid;
    grid-template-columns:1fr auto;
    gap:2rem;
    align-items:end;
    padding-bottom:2rem;
    border-bottom:1px solid rgba(7,30,23,.14)
}
.fp-contact-form__heading h2{
    margin:.55rem 0 0;
    max-width:16ch;
    font-family:var(--kv-font-display);
    font-size:clamp(2.3rem,3.5vw,3.7rem);
    line-height:.95
}
.fp-contact-form__heading>span{
    color:var(--kv-ink-700);
    font-size:.7rem
}
.fp-contact-topics{
    margin:2rem 0 0;
    padding:0;
    border:0
}
.fp-contact-topics legend,
.fp-contact-fields label>span,
.fp-contact-message>span{
    display:block;
    margin-bottom:.75rem;
    font-weight:750;
    font-size:.82rem
}
.fp-contact-topics__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem
}
.fp-contact-topics label{position:relative;cursor:pointer}
.fp-contact-topics input{
    position:absolute;
    opacity:0;
    pointer-events:none
}
.fp-contact-topics label>span{
    min-height:82px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1rem 1.1rem;
    border:1px solid rgba(7,30,23,.18);
    border-radius:16px;
    background:rgba(255,255,255,.7);
    transition:.18s ease
}
.fp-contact-topics label b{
    margin-bottom:.15rem;
    color:var(--kv-ink-950);
    font-size:.88rem
}
.fp-contact-topics label small{
    color:var(--kv-ink-700);
    font-size:.7rem;
    line-height:1.4
}
.fp-contact-topics input:checked+span{
    border-color:var(--kv-ink-950);
    background:var(--kv-prime);
    box-shadow:inset 0 0 0 1px var(--kv-ink-950)
}
.fp-contact-topics input:focus-visible+span{
    outline:3px solid rgba(143,89,3,.18);
    outline-offset:2px
}
.fp-contact-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    margin-top:2rem
}
.fp-contact-fields label,.fp-contact-message{display:block}
.fp-contact-fields input,.fp-contact-message textarea{
    width:100%;
    border:1px solid rgba(7,30,23,.18);
    border-radius:16px;
    background:#fff;
    color:var(--kv-ink-950);
    font:500 .95rem var(--kv-font-text);
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease
}
.fp-contact-fields input{height:58px;padding:0 1rem}
.fp-contact-message{margin-top:1rem}
.fp-contact-message textarea{
    min-height:190px;
    resize:vertical;
    padding:1rem;
    line-height:1.6
}
.fp-contact-fields input:focus,.fp-contact-message textarea:focus{
    border-color:var(--kv-green-600);
    box-shadow:0 0 0 4px rgba(143,89,3,.12)
}
.fp-contact-hp{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important
}
.fp-contact-form__footer{
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:center;
    margin-top:1.5rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(7,30,23,.14)
}
.fp-contact-form__footer p{
    max-width:56ch;
    margin:0;
    color:var(--kv-ink-700);
    font-size:.72rem;
    line-height:1.55
}
.fp-contact-form__footer p a{color:inherit}
.fp-contact-submit{
    flex:0 0 auto;
    min-height:52px;
    padding:0 1.2rem;
    border:0;
    border-radius:999px;
    background:var(--kv-ink-950);
    color:#fff;
    font:750 .85rem var(--kv-font-text);
    cursor:pointer
}
.fp-contact-submit span{color:var(--kv-prime);margin-left:.5rem}
.fp-contact-submit:hover{background:#133a2d}
.fp-contact-errors{
    margin-bottom:1.5rem;
    padding:1rem 1.2rem;
    border-left:4px solid #9b392f;
    border-radius:12px;
    background:#fff4f0;
    color:#61231d
}
.fp-contact-errors strong{display:block;margin-bottom:.4rem}
.fp-contact-errors ul{margin:.25rem 0 0;padding-left:1.2rem}
.fp-contact-success{
    display:grid;
    grid-template-columns:62px 1fr;
    gap:1.2rem;
    align-items:start;
    padding:clamp(2rem,5vw,4rem)
}
.fp-contact-success>span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--kv-prime);
    color:var(--kv-ink-950);
    font-size:1.5rem;
    font-weight:800
}
.fp-contact-success h2{
    margin:.5rem 0 .7rem;
    font-family:var(--kv-font-display);
    font-size:clamp(2.4rem,4vw,4rem);
    line-height:.95
}
.fp-contact-success p:last-child{color:var(--kv-ink-700)}

/* Quick help */
.fp-contact-help{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper)}
.fp-contact-help__heading{
    display:grid;
    grid-template-columns:1fr .72fr;
    gap:clamp(3rem,8vw,9rem);
    align-items:end;
    margin-bottom:4rem
}
.fp-contact-help__heading>p{
    margin:0 0 .6rem;
    color:var(--kv-ink-700);
    line-height:1.7
}
.fp-contact-help__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--kv-line);
    border-left:1px solid var(--kv-line)
}
.fp-contact-help__grid>a{
    min-height:330px;
    display:flex;
    flex-direction:column;
    position:relative;
    padding:1.5rem;
    border-right:1px solid var(--kv-line);
    border-bottom:1px solid var(--kv-line);
    color:var(--kv-ink-950);
    text-decoration:none;
    transition:background .2s ease,transform .2s ease
}
.fp-contact-help__grid>a:hover{background:var(--kv-prime)}
.fp-contact-help__grid>a>span{
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    color:var(--kv-green-600)
}
.fp-contact-help__grid h3{
    margin:auto 0 .7rem;
    font-family:var(--kv-font-display);
    font-size:1.75rem;
    line-height:1.02
}
.fp-contact-help__grid p{
    margin:0;
    color:var(--kv-ink-700);
    font-size:.82rem;
    line-height:1.55
}
.fp-contact-help__grid i{
    position:absolute;
    top:1.4rem;
    right:1.4rem;
    font-style:normal
}

/* Organizer CTA */
.fp-contact-organizer{
    padding:clamp(5rem,9vw,8rem) 0;
    background:var(--kv-prime);
    color:var(--kv-ink-950)
}
.fp-contact-organizer__inner{
    display:grid;
    grid-template-columns:1.1fr .65fr;
    gap:clamp(3rem,8vw,9rem);
    align-items:end
}
.fp-contact-organizer h2 em{font-weight:400;color:var(--kv-ink-950)}
.fp-contact-organizer__copy>p:last-child{
    max-width:56ch;
    color:rgba(7,30,23,.72);
    line-height:1.7
}
.fp-contact-organizer__action{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1.2rem
}
.fp-contact-organizer__action>a:last-child{
    color:var(--kv-ink-950);
    font-weight:750;
    text-decoration:none;
    border-bottom:1px solid rgba(7,30,23,.45);
    padding-bottom:.3rem
}

@media(max-width:1000px){
    .fp-contact-hero__inner{grid-template-columns:1fr .55fr}
    .fp-contact-help__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
    .fp-contact-hero{min-height:auto}
    .fp-contact-hero__inner,
    .fp-contact-intro__grid,
    .fp-contact-formsection__grid,
    .fp-contact-help__heading,
    .fp-contact-organizer__inner{
        grid-template-columns:1fr
    }
    .fp-contact-hero__inner{padding-top:9rem}
    .fp-contact-hero__copy h1{font-size:clamp(4.2rem,18vw,7rem)}
    .fp-contact-hero__routes{max-width:650px}
    .fp-contact-intro__headline,.fp-contact-card{position:relative;top:auto}
    .fp-contact-shortcuts article{
        grid-template-columns:110px minmax(0,1fr) auto
    }
    .fp-contact-shortcuts p{grid-column:2/4}
}
@media(max-width:620px){
    .fp-contact-hero__inner{padding-bottom:3rem}
    .fp-contact-hero__routes>a{grid-template-columns:32px minmax(0,1fr) 24px}
    .fp-contact-shortcuts article{
        grid-template-columns:1fr auto;
        gap:.5rem 1rem
    }
    .fp-contact-shortcuts article>span{grid-column:1/3}
    .fp-contact-shortcuts h3{grid-column:1}
    .fp-contact-shortcuts p{grid-column:1/3}
    .fp-contact-shortcuts a{grid-column:1/3;justify-self:start;margin-top:.4rem}
    .fp-contact-formwrap{padding:1.2rem;border-radius:22px}
    .fp-contact-form__heading{grid-template-columns:1fr}
    .fp-contact-form__heading>span{display:none}
    .fp-contact-topics__grid,.fp-contact-fields{grid-template-columns:1fr}
    .fp-contact-form__footer{align-items:flex-start;flex-direction:column}
    .fp-contact-submit{width:100%}
    .fp-contact-help__grid{grid-template-columns:1fr}
    .fp-contact-help__grid>a{min-height:250px}
}

/* 2026-08-27 — Contact page visual refinements */
.fp-contact-intro__visual{
    position:relative;
    margin:0 0 2.6rem;
    min-height:320px;
    overflow:hidden;
    border-radius:26px;
    background:var(--kv-ink-950);
    box-shadow:0 24px 60px rgba(7,29,21,.12)
}
.fp-contact-intro__visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.fp-contact-intro__visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(4,20,14,.02) 28%,rgba(4,20,14,.78) 100%),
        linear-gradient(90deg,rgba(4,20,14,.25),transparent 60%);
    pointer-events:none
}
.fp-contact-intro__visual figcaption{
    position:absolute;
    z-index:2;
    left:1.5rem;
    right:1.5rem;
    bottom:1.35rem;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.5rem;
    color:#fff
}
.fp-contact-intro__visual figcaption div{
    display:grid;
    gap:.4rem
}
.fp-contact-intro__visual figcaption span{
    color:var(--kv-prime);
    font-family:var(--kv-font-mono);
    font-size:.56rem;
    letter-spacing:.11em
}
.fp-contact-intro__visual figcaption strong{
    max-width:24ch;
    font-family:var(--kv-font-display);
    font-size:clamp(1.5rem,2.2vw,2.25rem);
    line-height:1.03
}
.fp-contact-intro__visual figcaption i{
    width:46px;
    height:46px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.5);
    border-radius:50%;
    font-style:normal;
    color:var(--kv-prime);
    backdrop-filter:blur(8px);
    background:rgba(7,29,21,.25)
}

/* Tighter relationship between contact card and the actual form. */
.fp-contact-formsection__grid{
    gap:clamp(1.5rem,2.5vw,2.4rem)!important
}

/* Quick help: make each card image-led instead of text-only. */
.fp-contact-help__grid>a{
    min-height:420px!important;
    padding:0 1.35rem 1.35rem!important;
    overflow:hidden;
    background:#fff
}
.fp-contact-help__media{
    position:relative;
    height:190px;
    margin:0 -1.35rem 1.2rem;
    overflow:hidden;
    background:var(--kv-ink-950)
}
.fp-contact-help__media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,20,14,.02),rgba(4,20,14,.34))
}
.fp-contact-help__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s cubic-bezier(.2,.7,.2,1)
}
.fp-contact-help__grid>a:hover .fp-contact-help__media img{
    transform:scale(1.045)
}
.fp-contact-help__grid>a>span{
    margin-top:.1rem
}
.fp-contact-help__grid h3{
    margin:auto 0 .7rem!important
}
.fp-contact-help__grid i{
    top:1rem!important;
    right:1rem!important;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(7,29,21,.78);
    color:#fff;
    backdrop-filter:blur(8px)
}
.fp-contact-help__grid>a:hover i{
    background:var(--kv-ink-950);
    color:var(--kv-prime)
}

/* Strong dark primary CTA on the lime organizer panel. */
.fp-contact-organizer__primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    min-height:58px;
    padding:0 1.5rem;
    border-radius:999px;
    background:var(--kv-ink-950);
    color:#fff!important;
    font-weight:800;
    text-decoration:none!important;
    border:1px solid var(--kv-ink-950)!important;
    box-shadow:0 10px 26px rgba(7,29,21,.14);
    transition:transform .2s ease,background .2s ease
}
.fp-contact-organizer__primary span{
    color:var(--kv-prime)
}
.fp-contact-organizer__primary:hover{
    transform:translateY(-2px);
    background:#133a2d
}

@media(max-width:620px){
    .fp-contact-intro__visual{
        min-height:260px;
        border-radius:20px
    }
    .fp-contact-intro__visual figcaption strong{
        font-size:1.45rem
    }
    .fp-contact-help__grid>a{
        min-height:390px!important
    }
}

/* =========================================================
   UPPTÄCK + DISCOVERY CATALOGS
   ========================================================= */
.fp-discover-page,.fp-catalog{background:var(--kv-paper);color:var(--kv-ink-950)}
.fp-discover-hero{padding:clamp(5rem,9vw,9rem) 0 clamp(4rem,7vw,7rem);overflow:hidden}
.fp-discover-hero__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,8rem);align-items:center}
.fp-discover-hero h1,.fp-catalog-hero h1{font-family:var(--kv-font-display);font-weight:400;letter-spacing:-.055em;line-height:.84;margin:.5rem 0 2rem;font-size:clamp(4.7rem,8vw,9rem)}
.fp-discover-hero h1 em,.fp-catalog-hero h1 em,.fp-discover-events h2 em,.fp-discover-places h2 em{font-weight:400;color:var(--kv-moss)}
.fp-discover-hero__lead{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.65;max-width:43rem;color:var(--kv-ink-soft)}
.fp-discover-hero__visual{position:relative;margin:0;min-height:clamp(480px,57vw,720px);overflow:hidden;border-radius:36px}
.fp-discover-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--kv-ease)}.fp-discover-hero__visual:hover img{transform:scale(1.025)}
.fp-discover-hero__visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,16,12,.8))}
.fp-discover-hero__visual figcaption{position:absolute;z-index:2;left:clamp(1.5rem,3vw,3rem);right:2rem;bottom:2rem;color:#fff}.fp-discover-hero__visual figcaption span{display:block;font:500 .6rem/1.2 var(--kv-font-mono);letter-spacing:.13em;color:var(--kv-prime);margin-bottom:.65rem}.fp-discover-hero__visual figcaption strong{display:block;font:400 clamp(2rem,3.2vw,3.6rem)/.98 var(--kv-font-display);max-width:10ch}
.fp-discover-nav{background:var(--kv-prime);border-block:1px solid rgba(16,35,29,.16)}.fp-discover-nav__grid{display:grid;grid-template-columns:repeat(4,1fr);padding-inline:var(--kv-gutter)}.fp-discover-nav a{position:relative;display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:1.8rem;color:inherit;text-decoration:none;border-left:1px solid rgba(16,35,29,.16);transition:background .25s ease}.fp-discover-nav a:last-child{border-right:1px solid rgba(16,35,29,.16)}.fp-discover-nav a:hover{background:rgba(255,255,255,.3)}.fp-discover-nav small{position:absolute;top:1.6rem;font-family:var(--kv-font-mono);font-size:.6rem}.fp-discover-nav strong{font:400 clamp(1.7rem,2.2vw,2.5rem)/1 var(--kv-font-display);margin-bottom:.55rem}.fp-discover-nav span{font-size:.7rem}
.fp-discover-sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,5rem)}.fp-discover-sectionhead h2,.fp-discover-places h2{font:400 clamp(3.5rem,6vw,7rem)/.88 var(--kv-font-display);letter-spacing:-.05em;margin:.5rem 0 0}.fp-discover-sectionhead>a{color:inherit;font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:.25rem}.fp-discover-sectionhead>p{max-width:34rem;font-size:1rem;line-height:1.7}
.fp-discover-cards{display:grid;grid-template-columns:1.35fr .65fr;gap:1.25rem}.fp-discover-card{display:block;color:inherit;text-decoration:none}.fp-discover-card__image{height:clamp(360px,42vw,650px);overflow:hidden;border-radius:30px;margin-bottom:1.4rem;background:var(--kv-paper-2)}.fp-discover-card:not(.fp-discover-card--wide) .fp-discover-card__image{height:clamp(300px,35vw,520px)}.fp-discover-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--kv-ease)}.fp-discover-card:hover img{transform:scale(1.035)}.fp-discover-card small,.fp-catalog-card small{font:500 .58rem/1 var(--kv-font-mono);letter-spacing:.12em;color:var(--kv-moss)}.fp-discover-card h3{font:400 clamp(2rem,3vw,3.5rem)/.95 var(--kv-font-display);margin:.6rem 0}.fp-discover-card p{max-width:34rem}.fp-discover-card>span,.fp-discover-people a>span{font-size:.72rem;font-weight:700;border-bottom:1px solid;padding-bottom:.2rem}
.fp-discover-events{background:var(--kv-ink-950);color:#fff}.fp-discover-events .fp-eyebrow{color:var(--kv-prime)}.fp-discover-events .fp-discover-sectionhead>p{color:rgba(255,255,255,.65)}.fp-discover-eventlinks{border-top:1px solid rgba(255,255,255,.18)}.fp-discover-eventlinks a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:1rem;min-height:120px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);transition:padding .3s var(--kv-ease),background .3s}.fp-discover-eventlinks a:hover{padding-inline:1rem;background:rgba(255,255,255,.035)}.fp-discover-eventlinks small{font-family:var(--kv-font-mono);color:var(--kv-prime)}.fp-discover-eventlinks strong{font:400 clamp(1.8rem,3vw,3.5rem)/1 var(--kv-font-display)}.fp-discover-eventlinks span{font-size:.72rem}
.fp-discover-places{background:var(--kv-prime)}.fp-discover-places__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);align-items:center}.fp-discover-places p:not(.fp-eyebrow){max-width:34rem;line-height:1.7}.fp-discover-places__image{position:relative;min-height:600px;border-radius:34px;overflow:hidden}.fp-discover-places__image img{position:absolute;width:100%;height:100%;object-fit:cover}.fp-discover-places__image span{position:absolute;left:1.5rem;bottom:1.5rem;background:var(--kv-ink-950);color:var(--kv-prime);padding:.8rem 1rem;border-radius:999px;font:500 .55rem/1 var(--kv-font-mono);letter-spacing:.12em}
.fp-discover-button{display:inline-flex;margin-top:1.5rem;padding:1rem 1.35rem;border-radius:999px;background:var(--kv-ink-950);color:#fff;text-decoration:none;font-weight:700;font-size:.78rem}.fp-discover-button--lime{background:var(--kv-prime);color:var(--kv-ink-950)}
.fp-discover-people{background:var(--kv-paper-2)}.fp-discover-people__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.fp-discover-people__grid a{color:inherit;text-decoration:none}.fp-discover-people__grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:24px;margin-bottom:1rem;filter:saturate(.88);transition:filter .3s,transform .4s var(--kv-ease)}.fp-discover-people__grid a:hover img{filter:saturate(1);transform:translateY(-5px)}.fp-discover-people__grid h3{font:400 clamp(1.6rem,2vw,2.2rem)/1 var(--kv-font-display);margin:.4rem 0 .8rem}
.fp-discover-final{padding:clamp(6rem,11vw,12rem) 0;background:var(--kv-ink-950);color:#fff;text-align:center}.fp-discover-final .fp-eyebrow{color:var(--kv-prime)}.fp-discover-final h2{font:400 clamp(4rem,8vw,9rem)/.86 var(--kv-font-display);letter-spacing:-.055em;margin:1rem auto 1.5rem;max-width:12ch}.fp-discover-final p{color:rgba(255,255,255,.62)}
.fp-catalog-hero{padding:clamp(6rem,10vw,11rem) 0 clamp(4rem,7vw,7rem);background:var(--kv-paper-2);border-bottom:1px solid rgba(16,35,29,.12)}.fp-catalog-hero h1{max-width:11ch}.fp-catalog-hero>div>p:last-child{max-width:50rem;font-size:1.05rem;line-height:1.7}.fp-catalog-tools{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(16,35,29,.18);font:500 .62rem/1 var(--kv-font-mono);letter-spacing:.08em;text-transform:uppercase}.fp-catalog-tools a{color:inherit;text-decoration:none}.fp-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,3vw,3.5rem) 1.25rem;margin-top:2rem}.fp-catalog-card{color:inherit;text-decoration:none}.fp-catalog-card__image{aspect-ratio:4/3;overflow:hidden;border-radius:22px;margin-bottom:1rem}.fp-catalog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--kv-ease)}.fp-catalog-card:hover img{transform:scale(1.035)}.fp-catalog-card h2{font:400 2rem/1 var(--kv-font-display);margin:.55rem 0}.fp-catalog-card p{color:var(--kv-ink-soft);line-height:1.55}.fp-catalog-card>span{font-size:.72rem;font-weight:700}.fp-catalog-empty{grid-column:1/-1;min-height:420px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:700px}.fp-catalog-empty>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--kv-prime);font-size:1.5rem}.fp-catalog-empty h2{font:400 clamp(3rem,5vw,5.5rem)/.9 var(--kv-font-display);margin:1.5rem 0 1rem}.fp-catalog-empty p{max-width:36rem;line-height:1.7}
@media(max-width:900px){.fp-discover-hero__grid,.fp-discover-places__grid{grid-template-columns:1fr}.fp-discover-hero__visual{min-height:560px}.fp-discover-nav__grid{grid-template-columns:repeat(2,1fr)}.fp-discover-cards{grid-template-columns:1fr}.fp-discover-people__grid{grid-template-columns:repeat(2,1fr)}.fp-catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.fp-discover-hero h1,.fp-catalog-hero h1{font-size:clamp(4rem,18vw,6.5rem)}.fp-discover-hero__visual{min-height:430px;border-radius:24px}.fp-discover-nav__grid{grid-template-columns:1fr}.fp-discover-nav a{min-height:130px;border-right:1px solid rgba(16,35,29,.16);border-bottom:1px solid rgba(16,35,29,.16)}.fp-discover-sectionhead{align-items:flex-start;flex-direction:column}.fp-discover-card__image,.fp-discover-card:not(.fp-discover-card--wide) .fp-discover-card__image{height:390px}.fp-discover-eventlinks a{grid-template-columns:42px 1fr}.fp-discover-eventlinks a span{grid-column:2}.fp-discover-places__image{min-height:430px}.fp-discover-people__grid{grid-template-columns:1fr 1fr}.fp-catalog-grid{grid-template-columns:1fr}}

/* =========================================================
   UPPTÄCK — richer closing journey
   ========================================================= */
.fp-discover-final{
    position:relative;
    overflow:hidden;
    background:#d9f65b!important;
    color:var(--kv-ink-950)!important;
    text-align:left!important;
    isolation:isolate
}
.fp-discover-final__glow{
    position:absolute;
    width:780px;
    height:780px;
    right:-260px;
    top:-350px;
    border-radius:50%;
    background:rgba(255,255,255,.48);
    filter:blur(90px);
    z-index:-1
}
.fp-discover-final .fp-eyebrow{color:var(--kv-green-700)!important}
.fp-discover-final__grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:clamp(3rem,8vw,9rem);
    align-items:center
}
.fp-discover-final h2{
    max-width:9.5ch!important;
    margin:1rem 0 1.5rem!important;
    color:var(--kv-ink-950)
}
.fp-discover-final__lead{
    max-width:54ch;
    color:rgba(7,30,23,.72)!important;
    font-size:1.05rem;
    line-height:1.7
}
.fp-discover-final__actions{
    display:flex;
    align-items:center;
    gap:1.4rem;
    flex-wrap:wrap;
    margin-top:2rem
}
.fp-discover-button--dark{
    background:var(--kv-ink-950)!important;
    color:#fff!important
}
.fp-discover-final__textlink{
    color:var(--kv-ink-950);
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(7,30,23,.5);
    padding-bottom:.3rem
}
.fp-discover-final__visual{
    border:1px solid rgba(7,30,23,.22);
    border-radius:30px;
    overflow:hidden;
    background:rgba(255,255,255,.23);
    backdrop-filter:blur(14px)
}
.fp-discover-final__visual>a{
    position:relative;
    display:grid;
    grid-template-columns:44px 1fr auto;
    gap:.25rem 1rem;
    align-items:center;
    min-height:112px;
    padding:1.25rem 1.4rem;
    color:var(--kv-ink-950);
    text-decoration:none;
    border-bottom:1px solid rgba(7,30,23,.18);
    transition:background .2s ease,padding .2s ease
}
.fp-discover-final__visual>a:not(.fp-discover-final__subscribe):hover{
    background:rgba(255,255,255,.42);
    padding-left:1.7rem
}
.fp-discover-final__visual>a>span{
    grid-row:1/3;
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    color:var(--kv-green-700)
}
.fp-discover-final__visual strong{
    font-family:var(--kv-font-display);
    font-size:1.55rem;
    line-height:1
}
.fp-discover-final__visual small{
    color:rgba(7,30,23,.65);
    font-size:.72rem
}
.fp-discover-final__subscribe{
    grid-template-columns:1fr auto!important;
    min-height:140px!important;
    background:var(--kv-ink-950);
    color:#fff!important;
    border-bottom:0!important
}
.fp-discover-final__subscribe>span{
    grid-row:auto!important;
    color:var(--kv-prime)!important
}
.fp-discover-final__subscribe strong{
    grid-column:1;
    font-size:2rem
}
.fp-discover-final__subscribe i{
    grid-column:2;
    grid-row:1/3;
    align-self:center;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--kv-prime);
    color:var(--kv-ink-950);
    font-style:normal
}

/* =========================================================
   ARTISTER — dedicated discovery page
   ========================================================= */
.fp-artists-page{background:var(--kv-paper);color:var(--kv-ink-950)}
.fp-artists-hero{padding:clamp(5rem,9vw,9rem) 0 clamp(5rem,8vw,8rem);overflow:hidden}
.fp-artists-hero__grid{
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:clamp(3rem,7vw,8rem);
    align-items:center
}
.fp-artists-hero__copy h1{
    margin:.65rem 0 1.7rem;
    max-width:8.5ch;
    font:400 clamp(4.7rem,8vw,9rem)/.84 var(--kv-font-display);
    letter-spacing:-.055em
}
.fp-artists-hero__copy h1 em{font-weight:400;color:var(--kv-moss)}
.fp-artists-hero__copy>p{
    max-width:40rem;
    color:var(--kv-ink-soft);
    font-size:1.06rem;
    line-height:1.7
}
.fp-artists-hero__actions{
    display:flex;
    gap:1.2rem;
    align-items:center;
    flex-wrap:wrap;
    margin-top:2rem
}
.fp-artists-textlink{
    color:var(--kv-ink-950);
    font-weight:750;
    text-decoration:none;
    border-bottom:1px solid;
    padding-bottom:.25rem
}
.fp-artists-hero__mosaic{
    min-height:660px;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:.8rem;
    transform:rotate(1deg)
}
.fp-artists-hero__portrait{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:var(--kv-paper-2);
    color:#fff;
    text-decoration:none
}
.fp-artists-hero__portrait--1{grid-row:1/3}
.fp-artists-hero__portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s var(--kv-ease),filter .3s ease;
    filter:saturate(.88)
}
.fp-artists-hero__portrait:hover img{transform:scale(1.035);filter:saturate(1)}
.fp-artists-hero__portrait:after{
    content:"";
    position:absolute;
    inset:55% 0 0;
    background:linear-gradient(transparent,rgba(4,20,14,.72))
}
.fp-artists-hero__portrait span{
    position:absolute;
    z-index:2;
    left:1rem;
    bottom:1rem;
    font:400 1.45rem/1 var(--kv-font-display)
}
.fp-artists-intro{
    padding:clamp(6rem,10vw,10rem) 0;
    background:var(--kv-prime)
}
.fp-artists-intro__grid{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:clamp(3rem,8vw,9rem)
}
.fp-artists-intro h2,
.fp-artists-catalog h2,
.fp-artists-final h2{
    margin:.7rem 0 0;
    font:400 clamp(3.6rem,6vw,7rem)/.88 var(--kv-font-display);
    letter-spacing:-.045em
}
.fp-artists-intro h2 em,
.fp-artists-catalog h2 em,
.fp-artists-final h2 em{font-weight:400;color:var(--kv-moss)}
.fp-artists-intro__copy>p{
    max-width:60ch;
    margin:0 0 2.5rem;
    font-size:1.06rem;
    line-height:1.75;
    color:rgba(7,30,23,.72)
}
.fp-artists-intro__routes{border-top:1px solid rgba(7,30,23,.24)}
.fp-artists-intro__routes a{
    display:grid;
    grid-template-columns:42px 1fr auto;
    gap:.4rem 1rem;
    align-items:center;
    padding:1.2rem 0;
    border-bottom:1px solid rgba(7,30,23,.22);
    color:var(--kv-ink-950);
    text-decoration:none
}
.fp-artists-intro__routes span{
    grid-row:1/3;
    font-family:var(--kv-font-mono);
    font-size:.58rem
}
.fp-artists-intro__routes strong{
    font:400 1.4rem/1 var(--kv-font-display)
}
.fp-artists-intro__routes small{font-size:.72rem}
.fp-artists-featured{
    padding:clamp(6rem,10vw,10rem) 0;
    background:var(--kv-paper-2)
}
.fp-artists-featured__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem
}
.fp-artists-featured__grid>a{
    color:var(--kv-ink-950);
    text-decoration:none
}
.fp-artists-featured__image{
    height:500px;
    border-radius:24px;
    overflow:hidden;
    margin-bottom:1rem
}
.fp-artists-featured__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.88);
    transition:transform .5s var(--kv-ease),filter .3s ease
}
.fp-artists-featured__grid>a:hover img{transform:scale(1.035);filter:saturate(1)}
.fp-artists-featured__grid>a>span{
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    color:var(--kv-moss)
}
.fp-artists-featured__grid h3{
    margin:.55rem 0 .35rem;
    font:400 clamp(1.7rem,2vw,2.3rem)/1 var(--kv-font-display)
}
.fp-artists-featured__grid small{color:var(--kv-ink-soft)}
.fp-artists-catalog{background:var(--kv-paper)}
.fp-artists-catalog__head{
    display:flex;
    justify-content:space-between;
    gap:3rem;
    align-items:end;
    padding-bottom:1.5rem;
    border-bottom:1px solid var(--kv-line)
}
.fp-artists-catalog__meta{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.8rem;
    font-family:var(--kv-font-mono);
    font-size:.6rem;
    text-transform:uppercase;
    letter-spacing:.08em
}
.fp-artists-catalog__meta a{color:inherit;text-decoration:none}
.fp-artists-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(2.5rem,4vw,4rem) 1rem;
    margin-top:2rem
}
.fp-artists-card{
    color:inherit;
    text-decoration:none
}
.fp-artists-card__image{
    aspect-ratio:3/4;
    overflow:hidden;
    border-radius:22px;
    background:var(--kv-paper-2);
    margin-bottom:1rem
}
.fp-artists-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--kv-ease)}
.fp-artists-card:hover img{transform:scale(1.035)}
.fp-artists-card__placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:var(--kv-ink-950);
    color:var(--kv-prime)
}
.fp-artists-card__placeholder span{
    font:400 7rem/1 var(--kv-font-display)
}
.fp-artists-card>small{
    font-family:var(--kv-font-mono);
    font-size:.56rem;
    letter-spacing:.1em;
    color:var(--kv-moss)
}
.fp-artists-card h3{
    margin:.5rem 0 .65rem;
    font:400 2rem/1 var(--kv-font-display)
}
.fp-artists-card p{
    color:var(--kv-ink-soft);
    line-height:1.55
}
.fp-artists-card>span{
    font-size:.72rem;
    font-weight:750;
    border-bottom:1px solid;
    padding-bottom:.2rem
}
.fp-artists-empty{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:clamp(3rem,8vw,8rem);
    min-height:520px;
    align-items:center
}
.fp-artists-empty__copy>span{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--kv-prime);
    margin-bottom:1.5rem
}
.fp-artists-empty__copy h3{
    margin:.7rem 0 1rem;
    max-width:14ch;
    font:400 clamp(2.6rem,4vw,4.8rem)/.92 var(--kv-font-display)
}
.fp-artists-empty__copy>p:last-child{
    max-width:48ch;
    color:var(--kv-ink-soft);
    line-height:1.65
}
.fp-artists-empty__visual{
    min-height:420px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.5rem;
    align-items:end
}
.fp-artists-empty__visual img{
    width:100%;
    height:85%;
    object-fit:cover;
    border-radius:20px
}
.fp-artists-empty__visual img:nth-child(2){height:100%}
.fp-artists-final{
    padding:clamp(6rem,10vw,10rem) 0;
    background:var(--kv-ink-950);
    color:#fff
}
.fp-artists-final__inner{
    display:grid;
    grid-template-columns:1.1fr .7fr;
    gap:clamp(3rem,8vw,9rem);
    align-items:end
}
.fp-artists-final h2 em{color:var(--kv-prime)}
.fp-artists-final__inner>div:last-child p{
    color:rgba(255,255,255,.68);
    line-height:1.7;
    max-width:46ch
}

@media(max-width:900px){
    .fp-discover-final__grid,
    .fp-artists-hero__grid,
    .fp-artists-intro__grid,
    .fp-artists-empty,
    .fp-artists-final__inner{grid-template-columns:1fr}
    .fp-artists-featured__grid{grid-template-columns:repeat(2,1fr)}
    .fp-artists-grid{grid-template-columns:repeat(2,1fr)}
    .fp-artists-hero__mosaic{min-height:600px}
}
@media(max-width:600px){
    .fp-discover-final__visual{border-radius:22px}
    .fp-discover-final__visual>a{grid-template-columns:34px 1fr;min-height:100px}
    .fp-discover-final__visual small{grid-column:2}
    .fp-artists-hero__copy h1{font-size:clamp(4.1rem,18vw,6.5rem)}
    .fp-artists-hero__mosaic{min-height:520px}
    .fp-artists-featured__grid,
    .fp-artists-grid{grid-template-columns:1fr 1fr}
    .fp-artists-featured__image{height:390px}
    .fp-artists-catalog__head{align-items:flex-start;flex-direction:column}
    .fp-artists-catalog__meta{align-items:flex-start}
    .fp-artists-empty__visual{min-height:330px}
}

/* 2026-08-27 — Artister: restore eyebrow size and add hero breathing room */
.fp-artists-page .fp-eyebrow{
    font-size:var(--kv-eyebrow-size, .62rem)!important;
    line-height:1.2!important;
    letter-spacing:.11em!important;
}
.fp-artists-hero__grid{
    column-gap:clamp(4.5rem,8vw,9rem)!important;
}
.fp-artists-hero__copy{
    padding-right:clamp(1rem,2.5vw,2.5rem);
}
.fp-artists-hero__copy h1{
    max-width:7.6ch!important;
}
@media(max-width:900px){
    .fp-artists-hero__copy{
        padding-right:0;
    }
    .fp-artists-hero__copy h1{
        max-width:8.5ch!important;
    }
}


/* Artister – något mindre hero-rubrik */
.fp-artists-hero__copy h1 {
    font-size: clamp(4.6rem, 6.2vw, 7.4rem) !important;
    line-height: 0.88 !important;
}

.fp-how-faq__more {
    margin-top: 32px;
}

.fp-how-faq__more .fp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.fp-how-faq__more .fp-btn span {
    transition: transform .25s ease;
}

.fp-how-faq__more .fp-btn:hover span {
    transform: translate(3px, -3px);
}

/* =========================================================
   ARTISTER — live catalogue / infinite scroll
   ========================================================= */
.fp-artists-page .fp-eyebrow{
    font-size:var(--kv-eyebrow-size,.62rem)!important;
    line-height:1.2!important;
    letter-spacing:.11em!important
}
.fp-artists-hero{
    padding:clamp(5.5rem,9vw,9rem) 0 clamp(5rem,8vw,8rem)
}
.fp-artists-hero__grid{
    grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr)!important;
    column-gap:clamp(5rem,9vw,10rem)!important
}
.fp-artists-hero__copy{padding-right:clamp(1rem,2vw,2rem)}
.fp-artists-hero__copy h1{
    max-width:8.2ch!important;
    margin:.7rem 0 1.6rem!important;
    font-size:clamp(4.4rem,5.7vw,7.1rem)!important;
    line-height:.87!important
}
.fp-artists-hero__stat{
    display:flex;
    align-items:baseline;
    gap:.7rem;
    margin-top:2.6rem;
    padding-top:1.1rem;
    border-top:1px solid var(--kv-line);
    max-width:320px
}
.fp-artists-hero__stat strong{
    font:400 2.8rem/1 var(--kv-font-display);
    color:var(--kv-moss)
}
.fp-artists-hero__stat span{
    color:var(--kv-ink-soft);
    font-size:.72rem
}
.fp-artists-hero__portrait>span{
    left:1.1rem!important;
    right:1.1rem;
    bottom:1.05rem!important;
    display:flex;
    flex-direction:column;
    gap:.15rem
}
.fp-artists-hero__portrait>span small{
    color:var(--kv-prime);
    font:700 .54rem/1.2 var(--kv-font-mono);
    text-transform:uppercase;
    letter-spacing:.08em
}
.fp-artists-hero__portrait>span b{
    color:#fff;
    font:400 1.5rem/1 var(--kv-font-display)
}
.fp-artists-hero__placeholder{
    width:100%;height:100%;display:grid;place-items:center;
    background:var(--kv-ink-950);color:var(--kv-prime);
    font:400 7rem/1 var(--kv-font-display)
}
.fp-artists-library{
    padding:clamp(6rem,10vw,10rem) 0;
    background:var(--kv-paper)
}
.fp-artists-library__head{
    display:grid;
    grid-template-columns:1fr minmax(300px,.7fr);
    gap:clamp(2rem,6vw,7rem);
    align-items:end;
    padding-bottom:2rem;
    border-bottom:1px solid var(--kv-line)
}
.fp-artists-library__head h2{
    margin:.7rem 0 0;
    font:400 clamp(3.5rem,5vw,6rem)/.9 var(--kv-font-display);
    letter-spacing:-.045em
}
.fp-artists-library__head h2 em{font-weight:400;color:var(--kv-moss)}
.fp-artists-library__tools{
    display:grid;
    gap:.8rem;
    justify-items:stretch
}
.fp-artists-search{
    position:relative;
    display:flex;
    align-items:center;
    width:100%;
    min-height:58px;
    padding:0 3rem 0 1rem;
    border:1px solid var(--kv-line);
    border-radius:999px;
    background:#fff
}
.fp-artists-search svg{
    width:18px;height:18px;margin-right:.7rem;
    fill:none;stroke:currentColor;stroke-width:1.7
}
.fp-artists-search input{
    width:100%;border:0;outline:0;background:transparent;
    color:var(--kv-ink-950);font:600 .9rem var(--kv-font-text)
}
.fp-artists-search button{
    position:absolute;right:.7rem;top:50%;transform:translateY(-50%);
    width:34px;height:34px;border:0;border-radius:50%;
    background:var(--kv-paper-2);cursor:pointer;font-size:1.2rem
}
.fp-artists-library__count{
    margin:0;padding-right:.4rem;text-align:right;
    color:var(--kv-ink-soft);font-size:.7rem
}
.fp-artists-library__count strong{color:var(--kv-ink-950)}
.fp-artists-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(2.6rem,4vw,4.5rem) clamp(.8rem,1.5vw,1.25rem)!important;
    margin-top:2.5rem!important
}
.fp-artist-card{
    display:flex;
    flex-direction:column;
    color:var(--kv-ink-950);
    text-decoration:none;
    min-width:0
}
.fp-artist-card__media{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    border-radius:22px;
    background:var(--kv-paper-2)
}
.fp-artist-card__image{
    width:100%;height:100%;display:block;object-fit:cover;
    filter:saturate(.9);
    transition:transform .48s var(--kv-ease),filter .3s ease
}
.fp-artist-card:hover .fp-artist-card__image{transform:scale(1.035);filter:saturate(1)}
.fp-artist-card__placeholder{
    width:100%;height:100%;display:grid;place-items:center;
    background:var(--kv-ink-950);color:var(--kv-prime)
}
.fp-artist-card__placeholder span{font:400 clamp(4rem,8vw,7rem)/1 var(--kv-font-display)}
.fp-artist-card__arrow{
    position:absolute;right:.8rem;top:.8rem;
    width:42px;height:42px;display:grid;place-items:center;
    border-radius:50%;background:rgba(6,28,20,.78);color:#fff;
    backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease
}
.fp-artist-card:hover .fp-artist-card__arrow{transform:translate(2px,-2px);background:var(--kv-prime);color:var(--kv-ink-950)}
.fp-artist-card__body{padding:.95rem .15rem 0}
.fp-artist-card__role{
    margin:0 0 .45rem;color:var(--kv-moss);
    font:700 .55rem/1.3 var(--kv-font-mono);
    text-transform:uppercase;letter-spacing:.09em
}
.fp-artist-card h3{
    margin:0 0 .65rem;
    font:400 clamp(1.6rem,1.9vw,2.05rem)/1 var(--kv-font-display)
}
.fp-artist-card__bio{
    margin:0 0 .9rem;
    color:var(--kv-ink-soft);
    font-size:.78rem;line-height:1.55;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden
}
.fp-artist-card__link{
    margin-top:auto;align-self:flex-start;
    font-size:.7rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:.18rem
}
.fp-artist-card__link i{font-style:normal;margin-left:.2rem}
.fp-artists-loading{
    min-height:100px;display:flex;align-items:center;justify-content:center;gap:.8rem;
    color:var(--kv-ink-soft);font-size:.75rem
}
.fp-artists-loading[hidden]{display:none!important}
.fp-artists-loading__spinner{
    width:24px;height:24px;border:2px solid rgba(7,30,23,.15);border-top-color:var(--kv-moss);
    border-radius:50%;animation:fp-artist-spin .7s linear infinite
}
@keyframes fp-artist-spin{to{transform:rotate(360deg)}}
.fp-artists-loading__retry{
    border:1px solid var(--kv-line);border-radius:999px;background:#fff;
    padding:.8rem 1.2rem;cursor:pointer;font-weight:750
}
.fp-artists-sentinel{height:1px}
.fp-artists-end{
    margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--kv-line);
    text-align:center;color:var(--kv-ink-soft);
    font:700 .55rem/1.3 var(--kv-font-mono);text-transform:uppercase;letter-spacing:.1em
}
.fp-artists-end[hidden]{display:none!important}
.fp-artists-noresults{
    margin-top:2.5rem;padding:clamp(3rem,7vw,6rem) 2rem;text-align:center;
    border:1px solid var(--kv-line);border-radius:28px;background:var(--kv-paper-2)
}
.fp-artists-noresults[hidden]{display:none!important}
.fp-artists-noresults>span{
    width:50px;height:50px;margin:0 auto 1.4rem;display:grid;place-items:center;
    border-radius:50%;background:var(--kv-prime);font-size:1.4rem
}
.fp-artists-noresults h3{
    max-width:18ch;margin:0 auto .7rem;font:400 clamp(2rem,3vw,3.2rem)/.95 var(--kv-font-display)
}
.fp-artists-noresults p{max-width:48ch;margin:0 auto;color:var(--kv-ink-soft);line-height:1.6}
.fp-artists-noresults button{
    margin-top:1.4rem;border:0;border-radius:999px;background:var(--kv-ink-950);color:#fff;
    padding:.85rem 1.2rem;font-weight:750;cursor:pointer
}

@media(max-width:1100px){
    .fp-artists-hero__grid{grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr)!important;column-gap:clamp(3rem,6vw,6rem)!important}
    .fp-artists-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
    .fp-artists-hero__grid,.fp-artists-library__head{grid-template-columns:1fr!important}
    .fp-artists-hero__copy{padding-right:0}
    .fp-artists-hero__copy h1{max-width:9ch!important;font-size:clamp(4rem,13vw,6.3rem)!important}
    .fp-artists-hero__mosaic{min-height:580px}
    .fp-artists-library__count{text-align:left}
}
@media(max-width:650px){
    .fp-artists-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2.4rem .75rem!important}
    .fp-artist-card__media{border-radius:17px}
    .fp-artist-card h3{font-size:1.45rem}
    .fp-artist-card__bio{display:none}
    .fp-artists-hero__mosaic{min-height:510px}
}

/* ==========================================================================
   SINGLE ARTIST
   ========================================================================== */

.fp-artist-single{background:var(--kv-paper);color:var(--kv-ink-950)}
.fp-artist-single__hero{padding:clamp(5rem,9vw,9rem) 0 clamp(5rem,8vw,8rem)}
.fp-artist-single__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(420px,1.05fr);
    gap:clamp(4rem,8vw,9rem);
    align-items:center
}
.fp-artist-single__back{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    margin-bottom:2.2rem;
    color:var(--kv-ink-950);
    font-weight:750;
    text-decoration:none;
    border-bottom:1px solid rgba(7,30,23,.28);
    padding-bottom:.3rem
}
.fp-artist-single__back span{transition:transform .2s ease}
.fp-artist-single__back:hover span{transform:translateX(-4px)}
.fp-artist-single__copy h1{
    max-width:8ch;
    margin:.7rem 0 1.6rem;
    font:400 clamp(4.3rem,7vw,8rem)/.84 var(--kv-font-display);
    letter-spacing:-.05em
}
.fp-artist-single__lead{
    max-width:38rem;
    margin:0;
    color:var(--kv-ink-soft);
    font-size:1.06rem;
    line-height:1.72
}
.fp-artist-single__links{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
    margin-top:2rem
}
.fp-artist-single__links a{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    min-height:44px;
    padding:0 1rem;
    border:1px solid var(--kv-line);
    border-radius:999px;
    color:var(--kv-ink-950);
    text-decoration:none;
    font-weight:750
}
.fp-artist-single__links a:hover{background:var(--kv-prime);border-color:var(--kv-prime)}
.fp-artist-single__portrait{
    position:relative;
    min-height:680px;
    overflow:hidden;
    border-radius:32px;
    background:var(--kv-ink-950);
    box-shadow:0 35px 90px rgba(7,29,21,.15)
}
.fp-artist-single__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.92)
}
.fp-artist-single__portrait:after{
    content:"";
    position:absolute;
    inset:48% 0 0;
    background:linear-gradient(transparent,rgba(4,20,14,.78))
}
.fp-artist-single__placeholder{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:var(--kv-ink-950);
    color:var(--kv-prime)
}
.fp-artist-single__placeholder span{font:400 12rem/1 var(--kv-font-display)}
.fp-artist-single__portrait-meta{
    position:absolute;
    z-index:2;
    left:1.5rem;
    right:1.5rem;
    bottom:1.4rem;
    display:grid;
    gap:.25rem;
    color:#fff
}
.fp-artist-single__portrait-meta>span{
    color:var(--kv-prime);
    font-family:var(--kv-font-mono);
    font-size:.56rem;
    letter-spacing:.1em
}
.fp-artist-single__portrait-meta strong{
    font:400 clamp(1.8rem,2.5vw,2.8rem)/1 var(--kv-font-display)
}
.fp-artist-single__portrait-meta small{color:rgba(255,255,255,.68)}

.fp-artist-single__body{
    padding:clamp(6rem,10vw,10rem) 0;
    background:#e9e5da
}
.fp-artist-single__body-grid{
    display:grid;
    grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);
    gap:clamp(4rem,8vw,10rem);
    align-items:start
}
.fp-artist-single__aside{
    position:sticky;
    top:calc(var(--kv-header-height,76px) + 3rem)
}
.fp-artist-single__facts{border-top:1px solid rgba(7,30,23,.22)}
.fp-artist-single__facts>div{
    padding:1.2rem 0;
    border-bottom:1px solid rgba(7,30,23,.18)
}
.fp-artist-single__facts span{
    display:block;
    margin-bottom:.35rem;
    color:var(--kv-moss);
    font-family:var(--kv-font-mono);
    font-size:.55rem;
    letter-spacing:.1em
}
.fp-artist-single__facts strong,.fp-artist-single__facts a{
    color:var(--kv-ink-950);
    font-size:.92rem;
    text-decoration:none
}
.fp-artist-single__bio h2{
    margin:.7rem 0 2rem;
    font:400 clamp(3.6rem,5.5vw,6.4rem)/.88 var(--kv-font-display);
    letter-spacing:-.045em
}
.fp-artist-single__bio h2 em{font-weight:400;color:var(--kv-moss)}
.fp-artist-single__prose{
    max-width:760px;
    color:var(--kv-ink-700);
    font-size:1.03rem;
    line-height:1.82
}
.fp-artist-single__prose>*:first-child{margin-top:0}
.fp-artist-single__prose p{margin:0 0 1.35rem}
.fp-artist-single__prose h2,
.fp-artist-single__prose h3{
    margin:2.2rem 0 .9rem;
    font-family:var(--kv-font-display);
    line-height:1.05;
    letter-spacing:-.02em
}
.fp-artist-single__prose ul,.fp-artist-single__prose ol{padding-left:1.3rem}
.fp-artist-single__prose a{color:var(--kv-moss);text-decoration-thickness:1px}
.fp-artist-single__empty{
    display:flex;
    gap:1rem;
    align-items:center;
    min-height:160px;
    padding:1.5rem;
    border:1px solid rgba(7,30,23,.16);
    border-radius:20px
}
.fp-artist-single__empty>span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--kv-prime)
}
.fp-artist-single__empty p{margin:0;color:var(--kv-ink-soft)}

.fp-artist-single__related{
    padding:clamp(6rem,10vw,10rem) 0;
    background:var(--kv-paper)
}
.fp-artist-single__related-head{
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:end;
    margin-bottom:3rem
}
.fp-artist-single__related-head h2{
    margin:.7rem 0 0;
    font:400 clamp(3.5rem,5.4vw,6rem)/.88 var(--kv-font-display);
    letter-spacing:-.045em
}
.fp-artist-single__related-head h2 em{font-weight:400;color:var(--kv-moss)}
.fp-artist-single__related-head>a{
    color:var(--kv-ink-950);
    font-weight:750;
    text-decoration:none;
    border-bottom:1px solid;
    padding-bottom:.3rem
}
.fp-artist-single__related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}
.fp-artist-single__related-card{color:var(--kv-ink-950);text-decoration:none}
.fp-artist-single__related-media{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
    border-radius:24px;
    margin-bottom:1rem;
    background:var(--kv-paper-2)
}
.fp-artist-single__related-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s var(--kv-ease)
}
.fp-artist-single__related-card:hover img{transform:scale(1.035)}
.fp-artist-single__related-media>span{
    position:absolute;
    top:1rem;
    right:1rem;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(7,29,21,.82);
    color:var(--kv-prime);
    backdrop-filter:blur(8px)
}
.fp-artist-single__related-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:var(--kv-ink-950);
    color:var(--kv-prime);
    font:400 7rem/1 var(--kv-font-display)
}
.fp-artist-single__related-card h3{
    margin:.45rem 0 0;
    font:400 clamp(1.7rem,2.1vw,2.35rem)/1 var(--kv-font-display)
}

.fp-artist-single__footer-cta{
    padding:clamp(6rem,10vw,9rem) 0;
    background:var(--kv-prime);
    color:var(--kv-ink-950)
}
.fp-artist-single__footer-cta-inner{
    display:grid;
    grid-template-columns:1.05fr .7fr;
    gap:clamp(3rem,8vw,9rem);
    align-items:end
}
.fp-artist-single__footer-cta h2{
    margin:.7rem 0 0;
    font:400 clamp(3.7rem,6vw,7rem)/.88 var(--kv-font-display);
    letter-spacing:-.045em
}
.fp-artist-single__footer-cta h2 em{font-weight:400}
.fp-artist-single__footer-cta-inner>div:last-child>p{
    margin:0 0 1.6rem;
    max-width:46ch;
    color:rgba(7,30,23,.72);
    line-height:1.7
}
.fp-artist-single__footer-actions{
    display:flex;
    gap:1rem;
    align-items:center;
    flex-wrap:wrap
}
.fp-artist-single__footer-actions a{
    color:var(--kv-ink-950);
    font-weight:800;
    text-decoration:none
}
.fp-artist-single__footer-actions a:not(.fp-artist-single__primary){
    border-bottom:1px solid rgba(7,30,23,.45);
    padding-bottom:.3rem
}
.fp-artist-single__primary{
    display:inline-flex;
    align-items:center;
    min-height:52px;
    padding:0 1.25rem;
    border-radius:999px;
    background:var(--kv-ink-950);
    color:#fff!important
}

@media(max-width:900px){
    .fp-artist-single__hero-grid,
    .fp-artist-single__body-grid,
    .fp-artist-single__footer-cta-inner{grid-template-columns:1fr}
    .fp-artist-single__portrait{min-height:620px}
    .fp-artist-single__aside{position:relative;top:auto}
}
@media(max-width:650px){
    .fp-artist-single__copy h1{font-size:clamp(3.8rem,17vw,6rem)}
    .fp-artist-single__portrait{min-height:500px;border-radius:24px}
    .fp-artist-single__related-head{align-items:flex-start;flex-direction:column}
    .fp-artist-single__related-grid{grid-template-columns:1fr}
    .fp-artist-single__related-media{aspect-ratio:4/4.7}
}

/* 2026-08-27 — Artist archive: imported bio cleanup companion, mobile overflow and hero spacing */
.fp-artists-page{
    width:100%;
    max-width:100%;
    overflow-x:clip;
}
.fp-artists-page .fp-wrap,
.fp-artists-page .fp-artists-hero__grid,
.fp-artists-page .fp-artists-hero__copy,
.fp-artists-page .fp-artists-hero__mosaic,
.fp-artists-page .fp-artists-grid,
.fp-artists-page .fp-artist-card{
    min-width:0;
    max-width:100%;
}
@media(min-width:1101px){
    .fp-artists-hero__grid{
        grid-template-columns:minmax(0,1fr) minmax(420px,500px)!important;
        column-gap:clamp(7rem,11vw,13rem)!important;
    }
    .fp-artists-hero__mosaic{
        width:100%;
        max-width:500px;
        min-height:570px;
        justify-self:end;
        transform:rotate(.35deg);
    }
    .fp-artists-hero__copy{
        padding-right:0;
    }
    .fp-artists-hero__copy h1{
        max-width:7.2ch!important;
        font-size:clamp(4.1rem,5.15vw,6.35rem)!important;
    }
}
@media(max-width:650px){
    .fp-artists-page{
        overflow-x:hidden;
    }
    .fp-artists-hero,
    .fp-artists-intro,
    .fp-artists-library,
    .fp-artists-final{
        width:100%;
        max-width:100vw;
        overflow-x:hidden;
    }
    .fp-artists-hero__mosaic{
        width:100%;
        max-width:100%;
        transform:none;
    }
    .fp-artists-grid{
        width:100%;
        max-width:100%;
    }
    .fp-artist-card,
    .fp-artist-card__body,
    .fp-artist-card h3{
        min-width:0;
        max-width:100%;
        overflow-wrap:anywhere;
    }
}

/* 2026-08-27 — Artist hero centered composition, safe full-stylesheet recovery */
@media (min-width: 1101px) {
    .fp-artists-hero {
        padding-top: clamp(4.5rem, 6.5vw, 7rem) !important;
        padding-bottom: clamp(4.5rem, 6.5vw, 7rem) !important;
    }

    .fp-artists-hero__grid {
        width: min(100% - 64px, 1240px) !important;
        margin-inline: auto !important;
        grid-template-columns: minmax(0, 560px) minmax(0, 560px) !important;
        justify-content: center !important;
        column-gap: clamp(4rem, 5.5vw, 6rem) !important;
        align-items: center !important;
    }

    .fp-artists-hero__copy {
        width: 100% !important;
        max-width: 560px !important;
        justify-self: end !important;
        padding-right: 0 !important;
    }

    .fp-artists-hero__copy h1 {
        max-width: 7.35ch !important;
        font-size: clamp(4.2rem, 5.25vw, 6.45rem) !important;
        line-height: .87 !important;
    }

    .fp-artists-hero__copy > p {
        max-width: 34rem !important;
    }

    .fp-artists-hero__mosaic {
        width: 100% !important;
        max-width: 560px !important;
        min-height: 590px !important;
        justify-self: start !important;
        transform: rotate(.3deg) !important;
    }
}

@media (min-width: 851px) and (max-width: 1100px) {
    .fp-artists-hero__grid {
        width: min(100% - 48px, 980px) !important;
        margin-inline: auto !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        justify-content: center !important;
        column-gap: clamp(2.5rem, 4vw, 4rem) !important;
    }

    .fp-artists-hero__copy h1 {
        max-width: 7.5ch !important;
        font-size: clamp(4rem, 6.6vw, 5.7rem) !important;
    }

    .fp-artists-hero__mosaic {
        width: 100% !important;
        max-width: 500px !important;
        min-height: 530px !important;
        justify-self: start !important;
    }
}

/* 2026-08-27 — Artister: use the same centered content grid below the hero */
@media (min-width:1101px) {
    .fp-artists-page .fp-artists-intro > .fp-wrap,
    .fp-artists-page .fp-artists-library > .fp-wrap,
    .fp-artists-page .fp-artists-final > .fp-wrap,
    .fp-artists-page .fp-artists-featured > .fp-wrap,
    .fp-artists-page .fp-artists-catalog > .fp-wrap {
        width: min(100% - 64px, 1240px) !important;
        max-width: 1240px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .fp-artists-intro__grid {
        grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
        gap: clamp(3.5rem, 6vw, 6rem) !important;
    }

    .fp-artists-library__head {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr) !important;
        gap: clamp(3rem, 5vw, 5rem) !important;
    }

    .fp-artists-final__inner {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .72fr) !important;
        gap: clamp(3.5rem, 6vw, 6rem) !important;
    }
}

@media (min-width:851px) and (max-width:1100px) {
    .fp-artists-page .fp-artists-intro > .fp-wrap,
    .fp-artists-page .fp-artists-library > .fp-wrap,
    .fp-artists-page .fp-artists-final > .fp-wrap,
    .fp-artists-page .fp-artists-featured > .fp-wrap,
    .fp-artists-page .fp-artists-catalog > .fp-wrap {
        width: min(100% - 48px, 980px) !important;
        max-width: 980px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }
}

/* 2026-08-27 — Artister: exakt samma wrapperbredd som Upptäck
   Återanvänd temats ordinarie .fp-wrap: 1380px + standard gutter. */
@media (min-width: 851px) {
    .fp-artists-page .fp-artists-hero > .fp-wrap,
    .fp-artists-page .fp-artists-intro > .fp-wrap,
    .fp-artists-page .fp-artists-library > .fp-wrap,
    .fp-artists-page .fp-artists-final > .fp-wrap,
    .fp-artists-page .fp-artists-featured > .fp-wrap,
    .fp-artists-page .fp-artists-catalog > .fp-wrap {
        width: 100% !important;
        max-width: var(--kv-width-wide) !important;
        margin-inline: auto !important;
        padding-inline: var(--kv-gutter) !important;
    }
}

@media (min-width: 1101px) {
    .fp-artists-hero__grid {
        grid-template-columns: minmax(0, .92fr) minmax(520px, .88fr) !important;
        column-gap: clamp(4rem, 6vw, 7rem) !important;
        justify-content: initial !important;
    }

    .fp-artists-hero__copy {
        max-width: 620px !important;
        justify-self: start !important;
    }

    .fp-artists-hero__mosaic {
        width: 100% !important;
        max-width: 560px !important;
        justify-self: end !important;
    }
}

@media (min-width: 851px) and (max-width: 1100px) {
    .fp-artists-hero__grid {
        grid-template-columns: minmax(0, .9fr) minmax(430px, .95fr) !important;
        column-gap: clamp(2.5rem, 4vw, 4rem) !important;
        justify-content: initial !important;
    }
}

/* =========================================================
   2026-08-27 — huvudnavigation med undermenyer
   ========================================================= */

/* Desktop: WordPress .sub-menu as a compact dark-green dropdown. */
@media(min-width:861px){
    .fp-nav__list > li{
        position:relative;
    }

    .fp-nav__list > li.menu-item-has-children > a{
        display:inline-flex;
        align-items:center;
        gap:.42rem;
    }

    .fp-nav__list > li.menu-item-has-children > a::after{
        content:"";
        width:6px;
        height:6px;
        margin-top:-3px;
        border-right:1.5px solid currentColor;
        border-bottom:1.5px solid currentColor;
        transform:rotate(45deg);
        opacity:.6;
        transition:transform .2s var(--kv-ease),opacity .2s var(--kv-ease);
    }

    .fp-nav__list > li.menu-item-has-children:hover > a::after,
    .fp-nav__list > li.menu-item-has-children:focus-within > a::after{
        transform:translateY(2px) rotate(45deg);
        opacity:1;
    }

    /* Override the generic .fp-nav ul flex rule for nested menus. */
    .fp-nav__list .sub-menu{
        position:absolute;
        top:calc(100% + 16px);
        left:50%;
        z-index:100;
        display:grid!important;
        align-items:stretch!important;
        gap:0!important;
        width:max-content;
        min-width:220px;
        max-width:320px;
        margin:0!important;
        padding:.55rem!important;
        list-style:none;
        border:1px solid rgba(255,255,255,.09);
        border-radius:16px;
        background:rgba(7,29,22,.97);
        box-shadow:0 24px 70px rgba(4,20,14,.24);
        backdrop-filter:blur(18px);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate(-50%,8px);
        transition:
            opacity .18s var(--kv-ease),
            visibility .18s var(--kv-ease),
            transform .18s var(--kv-ease);
    }

    /* Invisible bridge removes the hover gap between parent and dropdown. */
    .fp-nav__list .sub-menu::before{
        content:"";
        position:absolute;
        left:0;
        right:0;
        top:-18px;
        height:18px;
    }

    .fp-nav__list > li:hover > .sub-menu,
    .fp-nav__list > li:focus-within > .sub-menu{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translate(-50%,0);
    }

    .fp-nav__list .sub-menu li{
        display:block;
        width:100%;
        margin:0!important;
        padding:0!important;
    }

    .fp-nav__list .sub-menu a{
        display:flex!important;
        align-items:center;
        justify-content:space-between;
        gap:1rem;
        width:100%;
        min-height:44px;
        padding:.72rem .8rem!important;
        border-radius:10px;
        color:rgba(255,255,255,.78)!important;
        font-size:.78rem!important;
        font-weight:650!important;
        white-space:nowrap;
        transition:
            background .16s ease,
            color .16s ease,
            padding .16s ease;
    }

    .fp-nav__list .sub-menu a::after{
        content:"↗";
        flex:0 0 auto;
        color:var(--kv-prime);
        font-size:.72rem;
        opacity:.5;
        transition:opacity .16s ease,transform .16s ease;
    }

    .fp-nav__list .sub-menu a:hover,
    .fp-nav__list .sub-menu a:focus-visible{
        padding-left:1rem!important;
        background:rgba(255,255,255,.08);
        color:#fff!important;
        outline:none;
    }

    .fp-nav__list .sub-menu a:hover::after,
    .fp-nav__list .sub-menu a:focus-visible::after{
        opacity:1;
        transform:translate(2px,-2px);
    }

    .fp-nav__list .sub-menu .current-menu-item > a,
    .fp-nav__list .sub-menu .current_page_item > a{
        background:var(--kv-prime);
        color:var(--kv-ink-950)!important;
    }

    .fp-nav__list .sub-menu .current-menu-item > a::after,
    .fp-nav__list .sub-menu .current_page_item > a::after{
        color:var(--kv-ink-950);
        opacity:1;
    }

    /* Keep dropdown inside viewport for the rightmost menu items. */
    .fp-nav__list > li:last-child > .sub-menu,
    .fp-nav__list > li:nth-last-child(2) > .sub-menu{
        left:auto;
        right:0;
        transform:translateY(8px);
    }

    .fp-nav__list > li:last-child:hover > .sub-menu,
    .fp-nav__list > li:last-child:focus-within > .sub-menu,
    .fp-nav__list > li:nth-last-child(2):hover > .sub-menu,
    .fp-nav__list > li:nth-last-child(2):focus-within > .sub-menu{
        transform:translateY(0);
    }
}

/* Mobile: children are part of the full-screen menu instead of a hover popup. */
@media(max-width:860px){
    .fp-nav__list > li.menu-item-has-children{
        padding-bottom:.45rem;
    }

    .fp-nav__list > li.menu-item-has-children > a::after{
        content:"↓";
        opacity:.5;
        transform:none;
    }

    .fp-nav__list .sub-menu{
        position:static!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:0!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        height:auto!important;
        margin:0!important;
        padding:0 0 .5rem 1rem!important;
        border:0!important;
        border-left:1px solid rgba(217,255,89,.34)!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:none!important;
    }

    .fp-nav__list .sub-menu li,
    .fp-nav__list .sub-menu li:first-child{
        width:100%;
        margin:0!important;
        border:0!important;
    }

    .fp-nav__list .sub-menu a{
        min-height:46px!important;
        padding:.7rem .75rem!important;
        color:rgba(255,255,255,.68)!important;
        font-family:var(--kv-font-text)!important;
        font-size:.94rem!important;
        font-weight:600!important;
        letter-spacing:0!important;
    }

    .fp-nav__list .sub-menu a::after{
        content:"↗"!important;
        font-size:.7rem!important;
        opacity:.4;
    }

    .fp-nav__list .sub-menu .current-menu-item > a,
    .fp-nav__list .sub-menu .current_page_item > a{
        color:var(--kv-prime)!important;
    }
}

/* ==========================================================================
   2026-08-27 — Startsida: mobile discovery cards
   Final mobile override must sit after the later desktop/tablet discovery
   declarations so the 2-column rule cannot win on narrow screens.
   ========================================================================== */
@media(max-width:700px){
    .fp-discovery{
        padding-block:.8rem;
    }

    .fp-discovery .fp-wrap{
        width:100%;
        padding-inline:14px;
    }

    .fp-discovery__inner{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:.65rem !important;
        min-height:0 !important;
        padding-block:0 !important;
    }

    .fp-discovery__lead,
    .fp-discovery__item{
        min-width:0;
        min-height:0;
        padding:1.2rem 1.25rem !important;
        border:1px solid rgba(16,35,29,.14) !important;
        border-radius:18px;
        background:rgba(255,255,255,.16);
        justify-content:center;
    }

    .fp-discovery__lead{
        padding-block:1.35rem !important;
    }

    .fp-discovery__item{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-rows:auto auto auto;
        column-gap:1rem;
        align-items:center;
    }

    .fp-discovery__item .fp-discovery__topline{
        grid-column:1 / -1;
        min-height:0 !important;
        margin-bottom:.65rem !important;
    }

    .fp-discovery__item .fp-discovery__icon{
        grid-column:2;
        grid-row:2 / span 2;
        align-self:center;
        margin:0 !important;
    }

    .fp-discovery__item .fp-discovery__kicker{
        min-height:0 !important;
    }

    .fp-discovery__item .fp-discovery__value{
        grid-column:1;
        min-height:0 !important;
        margin-top:.2rem;
        font-size:1.65rem !important;
        line-height:1 !important;
    }

    .fp-discovery__item .fp-discovery__meta{
        grid-column:1;
        min-height:0 !important;
        max-width:28ch;
        margin-top:.5rem;
        font-size:.78rem;
        line-height:1.45;
    }

    .fp-discovery__lead .fp-discovery__value{
        font-size:clamp(2rem,10vw,2.75rem) !important;
        line-height:.98;
    }
}

/* Discovery cards are full native links */
.fp-discovery__item{
    color:inherit;
    text-decoration:none;
    cursor:pointer;
}
.fp-discovery__item:visited{color:inherit}
.fp-discovery__item:focus-visible{
    outline:3px solid var(--kv-ink-950);
    outline-offset:-3px;
}



/* ==========================================================================
   2026-08-27 — Startsida: hide the Festivalpass card in the mobile hero
   Only targets the hero-stage inside the actual front-page hero; the map
   stage further down the page remains untouched.
   ========================================================================== */
@media(max-width:700px){
    body.home .fp-hero--video .fp-hero__grid > .fp-hero__stage{
        display:none!important;
    }
}

/* ==========================================================================
   2026-08-27 — Mobile navigation: closed overlay must be completely inert
   Some nested submenu rules explicitly set pointer-events/visibility back to
   active, which allowed invisible links to still receive taps/hover.
   ========================================================================== */
@media(max-width:860px){
    .fp-nav__list:not([data-open="true"]),
    .fp-nav__list:not([data-open="true"]) *{
        visibility:hidden!important;
        pointer-events:none!important;
    }

    .fp-nav__list[data-open="true"],
    .fp-nav__list[data-open="true"] *{
        visibility:visible!important;
    }

    .fp-nav__list[data-open="true"] a,
    .fp-nav__list[data-open="true"] button,
    .fp-nav__list[data-open="true"] .sub-menu{
        pointer-events:auto!important;
    }
}



/* ==========================================================================
   2026-08-28 — Skaffa abonnemang: compact BankID checkout
   ========================================================================== */

/* Placeholder holder name: deliberately unreadable until BankID verification. */
.fp-subscribe-pass-mini__holder--masked{
    display:inline-block;
    filter:blur(7px);
    opacity:.82;
    user-select:none;
    pointer-events:none;
}

/* The BankID SDK trigger uses a normal button element, styled like the former
   "Identifiering med BankID" information card. */
.fp-bankid-signin{
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:1rem;
    align-items:center;
    width:100%;
    min-height:92px;
    padding:1.15rem 1.25rem;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:var(--kv-ink-950);
    color:#fff;
    text-align:left;
    cursor:pointer;
    box-shadow:none;
    transition:
        transform .2s var(--kv-ease),
        box-shadow .2s var(--kv-ease),
        background .2s ease;
}

.fp-bankid-signin:hover{
    transform:translateY(-2px);
    background:#0b2b22;
    box-shadow:0 16px 40px rgba(11,23,19,.14);
}

.fp-bankid-signin:focus-visible{
    outline:3px solid var(--kv-prime);
    outline-offset:3px;
}

.fp-bankid-signin__icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:14px;
    background:var(--kv-prime);
    color:var(--kv-ink-950);
}

.fp-bankid-signin__icon svg{
    width:28px;
    height:28px;
}

.fp-bankid-signin__logo{
    display:block;
    width:32px;
    height:32px;
    object-fit:contain;
}

.fp-bankid-signin__copy{
    display:grid;
    gap:.25rem;
    min-width:0;
}

.fp-bankid-signin__copy strong{
    font-size:1rem;
    line-height:1.15;
    color:#fff;
}

.fp-bankid-signin__copy small{
    max-width:54ch;
    font-size:.74rem;
    line-height:1.5;
    color:rgba(255,255,255,.62);
}

.fp-bankid-signin__status{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .68rem;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    font-family:var(--kv-font-mono);
    font-size:.52rem;
    font-weight:500;
    line-height:1;
    letter-spacing:.075em;
    text-transform:uppercase;
    color:var(--kv-prime);
    white-space:nowrap;
}

.fp-bankid-signin__status i{
    font-style:normal;
    font-size:.72rem;
}

@media(max-width:680px){
    .fp-subscribe-pass-mini__holder--masked{
        filter:blur(6px);
    }

    .fp-bankid-signin{
        grid-template-columns:44px minmax(0,1fr);
        min-height:0;
        padding:1rem;
        border-radius:16px;
    }

    .fp-bankid-signin__icon{
        width:44px;
        height:44px;
        border-radius:12px;
    }

    .fp-bankid-signin__icon svg{
        width:24px;
        height:24px;
    }

    .fp-bankid-signin__logo{
        width:28px;
        height:28px;
    }

    .fp-bankid-signin__status{
        grid-column:2;
        justify-self:start;
        margin-top:.25rem;
    }
}



/* ==========================================================================
   2026-08-28 — Disabled BankID state before valid e-mail + phone
   ========================================================================== */
.fp-bankid-signin:disabled,
.fp-bankid-signin.is-disabled{
    cursor:not-allowed;
    opacity:.5;
    transform:none !important;
    box-shadow:none !important;
    filter:saturate(.55);
}

.fp-bankid-signin:disabled:hover,
.fp-bankid-signin.is-disabled:hover{
    background:var(--kv-ink-950);
}

.fp-bankid-signin:disabled .fp-bankid-signin__status,
.fp-bankid-signin.is-disabled .fp-bankid-signin__status{
    color:rgba(255,255,255,.48);
    border-color:rgba(255,255,255,.1);
}



/* 2026-08-28 — BankID requires accepted terms as well */
.fp-bankid-signin[disabled]{
    pointer-events:none;
}


/* ==========================================================================\n   RESTORED — Om Kammarmusikabonnemanget styles\n   Recovered on top of the user's current theme without replacing newer CSS.\n   ========================================================================== */\n.fp-about-page{background:var(--kv-paper);color:var(--kv-ink-950);overflow-x:clip}
.fp-about-page h1,.fp-about-page h2,.fp-about-page h3{font-family:var(--kv-font-display);font-weight:400;letter-spacing:-.045em}
.fp-about-page h2 em,.fp-about-page h1 em{color:var(--kv-moss);font-weight:400}
.fp-about-hero{position:relative;isolation:isolate;min-height:min(850px,90svh);display:flex;align-items:flex-end;background-image:var(--kv-about-hero);background-size:cover;background-position:center;color:#fff;overflow:hidden}
.fp-about-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,12,.93) 0%,rgba(3,17,12,.72) 43%,rgba(3,17,12,.2) 76%),linear-gradient(0deg,rgba(3,17,12,.64),rgba(3,17,12,.03) 62%)}
.fp-about-hero__inner{width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:clamp(3rem,8vw,9rem);align-items:end;padding-top:clamp(10rem,18vh,14rem);padding-bottom:clamp(4rem,8vh,6.5rem)}
.fp-about-hero .fp-eyebrow{color:var(--kv-prime)}
.fp-about-hero h1{max-width:8.8ch;margin:.8rem 0 1.55rem;font-size:clamp(4.6rem,9vw,9.5rem);line-height:.82;letter-spacing:-.06em;color:#fff}
.fp-about-hero h1 em{display:block;color:var(--kv-prime)}
.fp-about-hero__lead{max-width:770px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(1.05rem,1.45vw,1.32rem);line-height:1.65}
.fp-about-hero__actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.3rem}
.fp-about-textlink{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.2rem}
.fp-about-hero__aside{border-left:1px solid rgba(255,255,255,.25);padding:0 0 .35rem 2rem}
.fp-about-hero__aside>span{display:block;color:var(--kv-prime);font:500 .59rem/1.3 var(--kv-font-mono);letter-spacing:.13em}
.fp-about-hero__aside strong{display:block;margin:.8rem 0 1rem;font:400 clamp(2.6rem,4vw,4.4rem)/.92 var(--kv-font-display);letter-spacing:-.04em;color:#fff}
.fp-about-hero__aside p{max-width:280px;margin:0;color:rgba(255,255,255,.65);line-height:1.6}

.fp-about-intro{padding:clamp(6rem,10vw,10rem) 0}
.fp-about-intro__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,.78fr);gap:clamp(4rem,10vw,10rem);align-items:start}
.fp-about-intro h2{max-width:8.5ch;margin:.8rem 0 0;font-size:clamp(4rem,7vw,7.6rem);line-height:.88}
.fp-about-intro__copy{max-width:710px;padding-top:1.8rem}
.fp-about-intro__copy p{margin:0 0 1.25rem;color:var(--kv-ink-soft);font-size:1rem;line-height:1.82}
.fp-about-intro__copy .fp-about-intro__lead{color:var(--kv-ink-950);font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.55}

.fp-about-picture-story{padding:0 0 clamp(7rem,11vw,11rem)}
.fp-about-picture-story__grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.fp-about-picture-story__media{position:relative;min-height:650px;margin:0;overflow:hidden;border-radius:32px;background:var(--kv-ink-950)}
.fp-about-picture-story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fp-about-picture-story__media:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,17,12,.8))}
.fp-about-picture-story__media figcaption{position:absolute;z-index:2;left:2rem;right:2rem;bottom:2rem;color:#fff}
.fp-about-picture-story__media figcaption span{display:block;margin-bottom:.55rem;color:var(--kv-prime);font:500 .57rem/1.2 var(--kv-font-mono);letter-spacing:.12em}
.fp-about-picture-story__media figcaption strong{display:block;max-width:10ch;font:400 clamp(2.8rem,4.4vw,5rem)/.9 var(--kv-font-display);letter-spacing:-.04em}
.fp-about-picture-story__copy h2{max-width:8.5ch;margin:.8rem 0 1.6rem;font-size:clamp(3.3rem,5.3vw,5.9rem);line-height:.9}
.fp-about-picture-story__copy>p:not(.fp-eyebrow){color:var(--kv-ink-soft);line-height:1.78;margin:0 0 1.15rem}

.fp-about-principles{padding:clamp(6rem,10vw,10rem) 0;background:var(--kv-paper-2)}
.fp-about-sectionhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:4rem;align-items:end;margin-bottom:3.5rem}
.fp-about-sectionhead h2{max-width:8ch;margin:.7rem 0 0;font-size:clamp(3.5rem,6vw,6.5rem);line-height:.88}
.fp-about-sectionhead>p{max-width:540px;margin:0;color:var(--kv-ink-soft);line-height:1.75}
.fp-about-principles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.fp-about-principle{position:relative;min-height:510px;display:flex;flex-direction:column;padding:1.6rem;border-radius:26px;overflow:hidden;color:var(--kv-ink-950)}
.fp-about-principle>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;font:500 .55rem/1 var(--kv-font-mono)}
.fp-about-principle small{margin-top:auto;font:500 .56rem/1.3 var(--kv-font-mono);letter-spacing:.12em}
.fp-about-principle h3{max-width:10ch;margin:.75rem 0 .8rem;font-size:clamp(2.2rem,3.2vw,3.5rem);line-height:.92}
.fp-about-principle p{max-width:34ch;margin:0 0 1.5rem;line-height:1.65}
.fp-about-principle a{align-self:flex-start;color:inherit;text-decoration:none;font-weight:700;border-bottom:1px solid;padding-bottom:.2rem}
.fp-about-principle--dark{background:var(--kv-ink-950);color:#fff}.fp-about-principle--dark>span,.fp-about-principle--dark small{color:var(--kv-prime)}
.fp-about-principle--lime{background:var(--kv-prime)}
.fp-about-principle--image{isolation:isolate;color:#fff;background-image:var(--kv-about-card-image);background-size:cover;background-position:center}
.fp-about-principle--image:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(3,17,12,.88),rgba(3,17,12,.08) 70%)}
.fp-about-principle--image>span,.fp-about-principle--image small{color:var(--kv-prime)}

.fp-about-flow{padding:clamp(7rem,11vw,11rem) 0;background:var(--kv-prime)}
.fp-about-flow__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(4rem,9vw,9rem);align-items:start}
.fp-about-flow__title{position:sticky;top:120px}
.fp-about-flow__title h2{max-width:8ch;margin:.8rem 0 0;font-size:clamp(3.7rem,6.6vw,7rem);line-height:.88}
.fp-about-flow__steps{border-top:1px solid rgba(3,17,12,.2)}
.fp-about-flow__step{display:grid;grid-template-columns:64px 1fr;gap:1.5rem;padding:2.1rem 0;border-bottom:1px solid rgba(3,17,12,.2)}
.fp-about-flow__step>b{font:500 .58rem/1 var(--kv-font-mono)}
.fp-about-flow__step small{font:500 .57rem/1.3 var(--kv-font-mono);letter-spacing:.12em}
.fp-about-flow__step h3{margin:.4rem 0 .55rem;font-size:clamp(2rem,3vw,3.2rem);line-height:.95}
.fp-about-flow__step p{max-width:46ch;margin:0;color:rgba(3,17,12,.68);line-height:1.65}

.fp-about-not{padding:clamp(7rem,11vw,11rem) 0;background:var(--kv-paper)}
.fp-about-not__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.05fr);gap:clamp(4rem,9vw,9rem)}
.fp-about-not__copy h2{max-width:8.7ch;margin:.8rem 0 1.5rem;font-size:clamp(3.4rem,5.7vw,6.2rem);line-height:.9}
.fp-about-not__copy>p:not(.fp-eyebrow){max-width:540px;color:var(--kv-ink-soft);line-height:1.75}
.fp-about-not__list{border-top:1px solid rgba(16,35,29,.18)}
.fp-about-not__list>div{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.55rem 0;border-bottom:1px solid rgba(16,35,29,.18)}
.fp-about-not__list span{font:500 .55rem/1 var(--kv-font-mono);color:var(--kv-moss)}
.fp-about-not__list p{margin:0;color:var(--kv-ink-soft);line-height:1.65}.fp-about-not__list strong{color:var(--kv-ink-950)}

.fp-about-network{position:relative;isolation:isolate;min-height:760px;display:flex;align-items:flex-end;padding:clamp(6rem,10vw,9rem) 0;color:#fff;overflow:hidden}
.fp-about-network>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.fp-about-network__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,12,.93),rgba(3,17,12,.42) 65%,rgba(3,17,12,.18)),linear-gradient(0deg,rgba(3,17,12,.72),transparent 60%)}
.fp-about-network__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);gap:clamp(4rem,9vw,9rem);align-items:end}
.fp-about-network .fp-eyebrow{color:var(--kv-prime)}
.fp-about-network h2{max-width:8ch;margin:.8rem 0 0;font-size:clamp(4rem,7.2vw,7.8rem);line-height:.86;color:#fff}.fp-about-network h2 em{color:var(--kv-prime)}
.fp-about-network__copy p{margin:0 0 1rem;color:rgba(255,255,255,.82);line-height:1.72}
.fp-about-network__links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.fp-about-network__links a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.72rem 1rem;font-weight:700}.fp-about-network__links a:hover{background:var(--kv-prime);border-color:var(--kv-prime);color:var(--kv-ink-950)}

.fp-about-company{padding:clamp(7rem,11vw,11rem) 0;background:var(--kv-paper-2)}
.fp-about-company__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.75fr);gap:clamp(4rem,10vw,10rem);align-items:start}
.fp-about-company h2{max-width:8.5ch;margin:.8rem 0 0;font-size:clamp(3.5rem,6vw,6.5rem);line-height:.89}
.fp-about-company__copy{padding-top:1.5rem}.fp-about-company__copy p{color:var(--kv-ink-soft);line-height:1.8;margin:0 0 1.2rem}.fp-about-company__copy a{display:inline-block;margin-top:1rem;color:inherit;text-decoration:none;font-weight:700;border-bottom:1px solid;padding-bottom:.2rem}

.fp-about-final{padding:clamp(7rem,11vw,10rem) 0;background:var(--kv-ink-950);color:#fff}
.fp-about-final__inner{text-align:center;display:flex;flex-direction:column;align-items:center}.fp-about-final .fp-eyebrow{color:var(--kv-prime)}
.fp-about-final h2{max-width:10ch;margin:.8rem auto 1.5rem;font-size:clamp(4rem,7.5vw,8rem);line-height:.85;color:#fff}.fp-about-final h2 em{color:var(--kv-prime)}
.fp-about-final__inner>p:not(.fp-eyebrow){max-width:650px;margin:0;color:rgba(255,255,255,.72);font-size:1.08rem;line-height:1.7}.fp-about-final__actions{display:flex;align-items:center;gap:1.4rem;margin-top:2rem}.fp-about-final__actions>a{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.2rem}

@media(max-width:960px){
.fp-about-hero__inner,.fp-about-intro__grid,.fp-about-picture-story__grid,.fp-about-flow__grid,.fp-about-not__grid,.fp-about-network__inner,.fp-about-company__grid{grid-template-columns:1fr}
.fp-about-hero__aside{display:none}.fp-about-intro__copy{padding-top:0}.fp-about-picture-story__media{min-height:560px}.fp-about-principles__grid{grid-template-columns:1fr 1fr}.fp-about-principle:last-child{grid-column:1/-1}.fp-about-sectionhead{grid-template-columns:1fr;gap:1.5rem}.fp-about-flow__title{position:static}.fp-about-network__copy{max-width:680px}
}
@media(max-width:700px){
.fp-about-hero{min-height:760px;background-position:58% center}.fp-about-hero__inner{padding-top:8rem;padding-bottom:3rem}.fp-about-hero h1{font-size:clamp(4rem,18vw,6rem)}.fp-about-hero__actions{align-items:flex-start;flex-direction:column}.fp-about-intro,.fp-about-principles,.fp-about-flow,.fp-about-not,.fp-about-company,.fp-about-final{padding-block:5rem}.fp-about-intro h2,.fp-about-picture-story__copy h2,.fp-about-sectionhead h2,.fp-about-flow__title h2,.fp-about-not__copy h2,.fp-about-company h2,.fp-about-final h2{font-size:clamp(3.3rem,15vw,5rem)}.fp-about-picture-story{padding-bottom:5rem}.fp-about-picture-story__media{min-height:440px;border-radius:22px}.fp-about-picture-story__media figcaption{left:1.2rem;right:1.2rem;bottom:1.2rem}.fp-about-principles__grid{grid-template-columns:1fr}.fp-about-principle,.fp-about-principle:last-child{grid-column:auto;min-height:420px;border-radius:20px}.fp-about-flow__step{grid-template-columns:44px 1fr;gap:.8rem}.fp-about-network{min-height:700px;padding-block:5rem}.fp-about-network h2{font-size:clamp(3.5rem,16vw,5.5rem)}.fp-about-final__actions{align-items:center;flex-direction:column}
}



/* ==========================================================================
   2026-08-27 — Om Kammarmusikabonnemanget: refined editorial typography and panels
   ========================================================================== */

.fp-about-intro__grid,
.fp-about-picture-story__grid,
.fp-about-flow__grid,
.fp-about-network__inner,
.fp-about-company__grid{
    min-width:0;
}

.fp-about-intro__grid > *,
.fp-about-picture-story__grid > *,
.fp-about-flow__grid > *,
.fp-about-network__inner > *,
.fp-about-company__grid > *{
    min-width:0;
}

/* Intro: fewer awkward one-word lines */
.fp-about-intro h2{
    max-width:11.5ch;
    font-size:clamp(3.6rem,5.6vw,6.15rem);
    line-height:.91;
    letter-spacing:-.052em;
}

/* Why we exist: preserve drama without turning the title into a word stack */
.fp-about-picture-story__copy h2{
    max-width:12ch;
    font-size:clamp(3rem,4.35vw,4.8rem);
    line-height:.94;
    letter-spacing:-.047em;
}

/* Flow: title must remain inside its own column at every desktop width */
.fp-about-flow__grid{
    grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);
    gap:clamp(3rem,7vw,7rem);
}
.fp-about-flow__title{
    min-width:0;
}
.fp-about-flow__title h2{
    width:100%;
    max-width:9.5ch;
    font-size:clamp(3rem,4.55vw,5.15rem);
    line-height:.91;
    letter-spacing:-.052em;
    overflow-wrap:normal;
}

/* Network copy: readable glass card over photography */
.fp-about-network__copy{
    max-width:610px;
    padding:clamp(1.4rem,2.5vw,2.1rem);
    border:1px solid rgba(255,255,255,.48);
    border-radius:26px;
    background:rgba(249,247,239,.88);
    color:var(--kv-ink-950);
    box-shadow:0 22px 55px rgba(3,17,12,.18);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
}
.fp-about-network__copy p{
    color:rgba(16,35,29,.78);
}
.fp-about-network__links{
    margin-top:1.5rem;
}
.fp-about-network__links a{
    color:var(--kv-ink-950);
    border-color:rgba(16,35,29,.25);
    background:rgba(255,255,255,.42);
}
.fp-about-network__links a:hover{
    color:var(--kv-ink-950);
    background:var(--kv-prime);
    border-color:var(--kv-prime);
}

/* Company image above the Funäs Music AB copy */
.fp-about-company__copy{
    padding-top:0;
}
.fp-about-company__media{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    margin:0 0 1.8rem;
    overflow:hidden;
    border-radius:26px;
    background:var(--kv-ink-950);
}
.fp-about-company__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

/* Tablet */
@media(max-width:1100px){
    .fp-about-intro h2{
        max-width:12ch;
        font-size:clamp(3.5rem,7vw,5.6rem);
    }
    .fp-about-picture-story__copy h2{
        max-width:12ch;
        font-size:clamp(3rem,6.4vw,4.6rem);
    }
    .fp-about-flow__grid{
        grid-template-columns:1fr;
    }
    .fp-about-flow__title h2{
        max-width:11ch;
        font-size:clamp(3.4rem,7vw,5.4rem);
    }
}

/* Mobile */
@media(max-width:700px){
    .fp-about-intro h2,
    .fp-about-picture-story__copy h2,
    .fp-about-flow__title h2{
        max-width:100%;
        font-size:clamp(3rem,13vw,4.25rem);
        line-height:.93;
    }

    .fp-about-network__copy{
        padding:1.25rem;
        border-radius:20px;
        background:rgba(249,247,239,.93);
    }

    .fp-about-company__media{
        margin-bottom:1.35rem;
        border-radius:20px;
        aspect-ratio:4/3;
    }
}



/* ==========================================================================
   2026-08-27 — Om Kammarmusikabonnemanget: final CTA refinement
   ========================================================================== */

.fp-about-final{
    position:relative;
    overflow:hidden;
    background:#17372f;
    color:#fff;
}

.fp-about-final::before{
    content:"";
    position:absolute;
    inset:auto -12% -55% auto;
    width:52vw;
    aspect-ratio:1;
    border:1px solid rgba(215,247,83,.16);
    border-radius:50%;
    pointer-events:none;
}

.fp-about-final::after{
    content:"";
    position:absolute;
    width:18rem;
    height:18rem;
    left:-7rem;
    top:-8rem;
    border-radius:50%;
    background:rgba(215,247,83,.055);
    pointer-events:none;
}

.fp-about-final__inner{
    position:relative;
    z-index:1;
}

.fp-about-final h2{
    width:min(100%, 850px);
    max-width:850px;
    margin-inline:auto;
    font-size:clamp(3.6rem,6vw,6.7rem);
    line-height:.88;
    letter-spacing:-.055em;
    text-wrap:balance;
}

.fp-about-final h2 em{
    display:inline;
    color:var(--kv-prime);
}

.fp-about-final__lead{
    max-width:650px;
    margin-left:auto;
    margin-right:auto;
}

.fp-about-final__actions{
    align-items:center;
    justify-content:center;
}

.fp-about-final .fp-btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    padding:0 1.6rem;
    line-height:1;
    text-align:center;
}

.fp-about-final .fp-btn--lime,
.fp-about-final .fp-btn--lime:visited{
    color:var(--kv-ink-950);
    background:var(--kv-prime);
}

.fp-about-final .fp-btn--lime:hover{
    color:var(--kv-ink-950);
    background:#e1ff68;
}

.fp-about-final .fp-text-link,
.fp-about-final .fp-text-link:visited{
    color:#fff;
}

@media(max-width:700px){
    .fp-about-final{
        padding-top:5.5rem;
        padding-bottom:5.5rem;
    }

    .fp-about-final h2{
        max-width:9ch;
        font-size:clamp(3.2rem,15vw,4.7rem);
        line-height:.9;
    }

    .fp-about-final__actions{
        width:100%;
        flex-direction:column;
        gap:1rem;
    }

    .fp-about-final .fp-btn{
        min-width:210px;
    }
}



/* ==========================================================================
   2026-08-27 — Om Kammarmusikabonnemanget: final CTA + flow column balance
   ========================================================================== */

/* Keep the flow copy and steps clearly separated on desktop */
.fp-about-flow__grid{
    grid-template-columns:minmax(320px,.78fr) minmax(520px,1fr) !important;
    gap:clamp(5rem,8vw,9rem) !important;
    align-items:start;
}

.fp-about-flow__title{
    max-width:520px;
}

.fp-about-flow__title h2{
    max-width:8.5ch !important;
    font-size:clamp(3.2rem,4.5vw,5rem) !important;
    line-height:.92 !important;
}

.fp-about-flow__steps{
    width:min(100%,760px);
    justify-self:end;
    margin-left:auto;
}

/* Final CTA */
.fp-about-final h2{
    width:min(100%,1100px) !important;
    max-width:1100px !important;
    margin-inline:auto;
    font-size:clamp(3.3rem,5vw,5.9rem) !important;
    line-height:.94 !important;
    letter-spacing:-.05em !important;
    text-wrap:balance;
}

.fp-about-final h2 span,
.fp-about-final h2 em{
    display:inline !important;
}

.fp-about-final h2 em{
    white-space:nowrap;
}

.fp-about-final__lead{
    max-width:760px !important;
    font-size:clamp(1rem,1.3vw,1.15rem);
    line-height:1.65;
}

/* Force dark green text on the lime CTA, including nested elements */
.fp-about-final a.fp-btn.fp-btn--lime,
.fp-about-final a.fp-btn.fp-btn--lime:link,
.fp-about-final a.fp-btn.fp-btn--lime:visited,
.fp-about-final a.fp-btn.fp-btn--lime:hover,
.fp-about-final a.fp-btn.fp-btn--lime:active,
.fp-about-final a.fp-btn.fp-btn--lime *,
.fp-about-final a.fp-btn.fp-btn--lime:hover *{
    color:var(--kv-ink-950) !important;
}

.fp-about-final a.fp-btn.fp-btn--lime{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
}

/* Tablet/mobile: stack before the title can collide with steps */
@media(max-width:1180px){
    .fp-about-flow__grid{
        grid-template-columns:1fr !important;
        gap:3.5rem !important;
    }

    .fp-about-flow__title{
        max-width:700px;
    }

    .fp-about-flow__title h2{
        max-width:11ch !important;
    }

    .fp-about-flow__steps{
        width:100%;
        max-width:760px;
        justify-self:start;
        margin-left:0;
    }
}

@media(max-width:760px){
    .fp-about-final h2{
        max-width:9.5ch !important;
        font-size:clamp(3rem,13vw,4.4rem) !important;
        line-height:.92 !important;
    }

    .fp-about-final h2 em{
        white-space:normal;
    }

    .fp-about-final__lead{
        max-width:34ch !important;
        font-size:.98rem;
        line-height:1.6;
    }
}



/* 2026-08-27 — final hard override: lime CTA must use dark text */
.fp-about-final .fp-about-final__actions .fp-btn.fp-btn--lime,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime:link,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime:visited,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime:hover,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime:focus,
.fp-about-final .fp-about-final__actions a.fp-btn.fp-btn--lime:active {
    color: #06231b !important;
    -webkit-text-fill-color: #06231b !important;
}

.fp-about-final .fp-about-final__actions .fp-btn.fp-btn--lime::before,
.fp-about-final .fp-about-final__actions .fp-btn.fp-btn--lime::after {
    color: #06231b !important;
    -webkit-text-fill-color: #06231b !important;
}

.fp-about-final .fp-about-final__actions .fp-btn.fp-btn--lime * {
    color: #06231b !important;
    -webkit-text-fill-color: #06231b !important;
}



/* ==========================================================================
   2026-08-27 — Om Kammarmusikabonnemanget: correct selector for primary CTA
   The button component renders only .fp-btn (no .fp-btn--lime class).
   ========================================================================== */
.fp-about-final__actions > .fp-btn,
.fp-about-final__actions > a.fp-btn,
.fp-about-final__actions > a.fp-btn:link,
.fp-about-final__actions > a.fp-btn:visited,
.fp-about-final__actions > a.fp-btn:hover,
.fp-about-final__actions > a.fp-btn:focus,
.fp-about-final__actions > a.fp-btn:active{
    color:#06231b !important;
    -webkit-text-fill-color:#06231b !important;
    background:var(--kv-prime) !important;
    border-color:var(--kv-prime) !important;
}

.fp-about-final__actions > .fp-btn::before,
.fp-about-final__actions > .fp-btn::after,
.fp-about-final__actions > .fp-btn *{
    color:#06231b !important;
    -webkit-text-fill-color:#06231b !important;
}

/* ==========================================================================
   2026-08-28 — Skaffa abonnemang: BankID verification states
   ========================================================================== */
.fp-bankid-signin.is-verifying{
    cursor:progress;
    opacity:.82;
    filter:none;
    transform:none !important;
    box-shadow:none !important;
}

.fp-bankid-signin.is-verified{
    cursor:default;
    opacity:1;
    filter:none;
    background:#123d31;
    border-color:rgba(207,243,92,.34);
    transform:none !important;
}

.fp-bankid-signin.is-verified .fp-bankid-signin__status{
    color:var(--kv-prime);
    border-color:rgba(207,243,92,.26);
}

.fp-subscribe-pass-mini__holder[data-fp-pass-holder]:not(.fp-subscribe-pass-mini__holder--masked){
    filter:none;
    opacity:1;
    user-select:text;
    pointer-events:auto;
}


/* Skaffa abonnemang — verified/collapsed state + Stripe */
.fp-subscribe-form__section-head[type="button"]{width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;align-items:center}
.fp-subscribe-form__section-head .fp-section-chevron{margin-left:auto;width:2rem;height:2rem;border:1px solid rgba(18,34,25,.14);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:1.15rem;line-height:1;transition:transform .2s ease}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron{transform:rotate(-90deg)}
.fp-subscribe-form__section.is-collapsed>.fp-form-grid{display:none!important}
.fp-form-grid--consents{display:grid;gap:.85rem}
.fp-bankid-verified-strip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.85rem;border:1px solid rgba(65,90,44,.16);border-radius:12px;background:rgba(241,246,232,.72)}
.fp-bankid-verified-strip[hidden]{display:none!important}
.fp-bankid-verified-strip__icon{width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;background:var(--kv-moss);color:#fff;font-size:.78rem;font-weight:700;flex:0 0 auto}
.fp-bankid-verified-strip div{display:flex;align-items:baseline;gap:.6rem;min-width:0}
.fp-bankid-verified-strip strong{font-size:.82rem;font-weight:700;color:var(--kv-ink-950)}
.fp-bankid-verified-strip small{font-size:.72rem;color:var(--kv-ink-soft)}
.fp-subscribe-form__section--stripe{margin-top:.9rem}
.fp-subscribe-form__section-head--static{cursor:default}
.fp-stripe-checkout{padding-top:1rem;min-height:90px}
.fp-stripe-checkout__loading{font-size:.82rem;color:var(--kv-ink-soft);padding:.5rem 0}
.fp-stripe-checkout__error{padding:.85rem 1rem;border-radius:10px;background:#fff3f1;color:#8a2e22;font-size:.82rem}
#fp-stripe-embedded-checkout{width:100%}
.fp-check input[disabled]+span{opacity:.72}
.fp-check input[disabled]~em{opacity:.72}
@media(max-width:700px){.fp-bankid-verified-strip div{display:block}.fp-bankid-verified-strip small{display:block;margin-top:.12rem}}

/* 2026-08-28 — definitive BankID + Stripe UI state fixes */
.fp-subscribe-form__section.is-collapsed > [data-fp-section-body]{display:none!important}
.fp-subscribe-form__section-body--consents{display:block}
.fp-subscribe-form__section-body--consents .fp-check + .fp-check{margin-top:1rem}
.fp-subscribe-form__section-head[type="button"]{gap:0}
.fp-subscribe-form__section-head[type="button"] > div{min-width:0}
.fp-subscribe-form__section-head[type="button"] .fp-section-chevron{flex:0 0 2rem}
.fp-bankid-verified-strip{margin-top:0}


/* BankID verified state: never show the old BankID CTA/message below the verified strip. */
.fp-bankid-signin[hidden],
.fp-subscribe-form__secure[hidden]{
    display:none!important;
}


/* Festivalpass subscribe UI polish + Stripe checkout fix companion */
.fp-bankid-verified-strip__icon{
    width:1.65rem;
    height:1.65rem;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#4f7566;
    color:#fff;
    flex:0 0 1.65rem;
    font-size:0;
}
.fp-bankid-verified-strip__icon svg{width:1rem;height:1rem;display:block}

.fp-subscribe-form__section-head,
.fp-subscribe-form__section-head[type="button"]{
    gap:1rem;
}
.fp-subscribe-form__section-head>span{
    flex:0 0 36px;
    margin-right:.15rem;
}
.fp-subscribe-form__section-head[type="button"]>div{
    flex:1 1 auto;
}
.fp-subscribe-form__section.is-collapsed>.fp-subscribe-form__section-head{
    margin-bottom:0;
}
.fp-subscribe-form__section.is-collapsed{}

.fp-section-chevron{
    color:var(--kv-ink-950);
}
.fp-section-chevron svg{
    width:1rem;
    height:1rem;
    display:block;
    transition:transform .2s ease;
}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron{
    transform:none;
}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron svg{
    transform:rotate(-90deg);
}

@media(max-width:680px){
    .fp-subscribe-form__section-head,
    .fp-subscribe-form__section-head[type="button"]{gap:.8rem}
    .fp-subscribe-form__section-head>span{flex-basis:34px;margin-right:.05rem}
}

/* 2026-08-28 — Stripe payment section: clean white canvas */
.fp-subscribe-form__section--stripe{
    background:#fff;
}
.fp-subscribe-form__section--stripe .fp-stripe-checkout,
.fp-subscribe-form__section--stripe #fp-stripe-embedded-checkout{
    background:#fff;
}

/* 2026-08-28 — Mobile navigation: submenus collapsed by default */
@media(max-width:860px){
    .fp-nav__list[data-open="true"] > li.menu-item-has-children > .sub-menu{
        display:none!important;
    }

    .fp-nav__list[data-open="true"] > li.menu-item-has-children.is-submenu-open > .sub-menu{
        display:grid!important;
    }

    .fp-nav__list > li.menu-item-has-children > a::after{
        content:"↓"!important;
        display:inline-block;
        transition:transform .18s ease;
    }

    .fp-nav__list > li.menu-item-has-children.is-submenu-open > a::after{
        transform:rotate(180deg)!important;
    }
}

/* 2026-08-28 — Mobile navigation: anchor menu content to the top.
   Submenus can expand without re-centering/jumping the whole menu. */
@media(max-width:860px){
    .fp-nav__list{
        justify-content:flex-start!important;
        align-content:flex-start!important;
        scroll-behavior:auto!important;
    }
    .fp-nav__list[data-open="true"]{
        justify-content:flex-start!important;
    }
}
\n\n/* 2026-08-28: tighter mobile hero starts + render initial viewport content immediately. */
@media (max-width: 820px) {
    .fp-org-hero__inner {
        padding-top: 6.5rem;
    }
}

@media (max-width: 720px) {
    .fp-how-hero__inner {
        padding-top: 6.5rem;
    }
}

@media (max-width: 680px) {
    .fp-subscribe-hero__inner {
        padding-top: 6.5rem;
    }
}

@media (max-width: 650px) {
    .fp-faq-hero {
        padding-top: 4rem;
    }
}

/* 2026-08-28 — Header bridge between desktop and mobile navigation.
   Keep the desktop menu on one line down to the 860px mobile breakpoint by
   letting only the logo give up width as the viewport narrows. */
@media (min-width:861px) and (max-width:960px){
    .fp-header__inner{
        gap:1rem;
    }
    .fp-logo{
        flex:0 1 auto;
        min-width:0;
    }
    .fp-logo img,
    .fp-logo .custom-logo{
        width:auto;
        max-width:clamp(155px, calc(100vw - 700px), 220px);
        max-height:44px;
    }
    .fp-nav{
        flex:0 0 auto;
    }
}

/* 2026-08-28 — Mobile/sub-tablet horizontal overflow guard.
   Inner pages contain a few full-bleed/decorative elements that can extend by
   a scrollbar width at the 860px breakpoint. Keep the document viewport fixed
   without changing the intentional horizontal scrollers themselves. */
@media (max-width:860px){
    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    #page,
    .site,
    .site-main,
    main{
        width:100%;
        max-width:100%;
        min-width:0;
        overflow-x:clip;
    }

    .fp-wrap{
        min-width:0;
        max-width:100%;
    }

    img,
    video,
    iframe,
    svg{
        max-width:100%;
    }
}

/* 2026-08-28 — Keep the mobile header sticky on inner pages.
   #page/.site must not become overflow containers, otherwise position:sticky
   on the regular (non-overlay) header stops sticking. The document and main
   content still clip horizontal overflow, so the mobile overflow fix remains. */
@media (max-width:860px){
    #page,
    .site{
        overflow-x:visible!important;
        overflow-y:visible!important;
    }

    .fp-header{
        position:sticky!important;
        top:0!important;
        z-index:1000!important;
    }

    .fp-header--over{
        position:fixed!important;
        left:0;
        right:0;
    }
}

/* 2026-08-28 — definitive mobile inner-page fixed header + WP menu CTA bridge. */
@media (max-width:860px){
    /* Sticky can be defeated by transformed/overflow ancestors on inner templates.
       Use a fixed header on inner pages and reserve the same space in the document. */
    body:not(.home) .fp-header:not(.fp-header--over){
        position:fixed!important;
        top:0!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        z-index:1100!important;
    }

    body:not(.home) .fp-header:not(.fp-header--over) + main,
    body:not(.home) .fp-header:not(.fp-header--over) + .site-main,
    body:not(.home) .fp-header:not(.fp-header--over) + #primary,
    body:not(.home) .fp-header:not(.fp-header--over) + #content{
        padding-top:69px!important;
    }

    /* If the theme wraps the content in #page/.site instead of placing main
       directly after the header, reserve header height on the page itself. */
    body:not(.home):has(> #page .fp-header:not(.fp-header--over)) #page,
    body:not(.home):has(> .site .fp-header:not(.fp-header--over)) .site{
        padding-top:69px;
    }

    /* A WordPress menu CSS class is applied to the <li>, not the <a>.
       Neutralise button styling on the list item and style its link instead. */
    .fp-nav__list > li.fp-btn{
        width:min(100%,720px)!important;
        margin:.7rem auto 0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .fp-nav__list > li.fp-btn > a,
    .fp-nav__list > li.fp-btn > a:link,
    .fp-nav__list > li.fp-btn > a:visited{
        width:auto!important;
        min-height:52px!important;
        margin:0!important;
        padding:.78rem 1.25rem!important;
        border:0!important;
        border-radius:999px!important;
        background:var(--kv-prime)!important;
        color:#fff!important;
        font-family:var(--kv-font-text)!important;
        font-size:1rem!important;
        font-weight:700!important;
        line-height:1.1!important;
        letter-spacing:-.01em!important;
        box-shadow:none!important;
    }

    .fp-nav__list > li.fp-btn > a:hover,
    .fp-nav__list > li.fp-btn > a:focus-visible,
    .fp-nav__list > li.fp-btn > a:active{
        background:var(--kv-prime)!important;
        color:#fff!important;
    }

    .fp-nav__list > li.fp-btn > a::after{
        color:#fff!important;
        opacity:1!important;
    }
}

@media (min-width:861px){
    /* Same WP-menu class bridge on desktop: the <li> is only a wrapper,
       while the actual anchor becomes the compact header CTA. */
    .fp-nav__list > li.fp-btn{
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .fp-nav__list > li.fp-btn > a,
    .fp-nav__list > li.fp-btn > a:link,
    .fp-nav__list > li.fp-btn > a:visited{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:44px!important;
        padding:.72rem 1.15rem!important;
        border-radius:999px!important;
        background:var(--kv-prime)!important;
        color:#fff!important;
        font-weight:700!important;
        line-height:1!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }

    .fp-nav__list > li.fp-btn > a:hover,
    .fp-nav__list > li.fp-btn > a:focus-visible,
    .fp-nav__list > li.fp-btn > a:active{
        background:var(--kv-prime)!important;
        color:#fff!important;
    }
}

/* 2026-08-28 — WP menu CTA final alignment: keep the arrow inside the anchor. */
.fp-nav__list > li.fp-btn::before,
.fp-nav__list > li.fp-btn::after{
    content:none!important;
    display:none!important;
}

.fp-nav__list > li.fp-btn > a{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.7rem!important;
}

.fp-nav__list > li.fp-btn > a::after{
    content:""!important;
    display:block!important;
    flex:0 0 auto!important;
    width:7px!important;
    height:7px!important;
    margin:0 0 0 .1rem!important;
    border-top:1.7px solid currentColor!important;
    border-right:1.7px solid currentColor!important;
    transform:rotate(45deg)!important;
    opacity:1!important;
    background:none!important;
}

@media (max-width:860px){
    .fp-nav__list > li.fp-btn{
        width:100%!important;
        max-width:none!important;
        margin:1rem 0 0!important;
        align-self:stretch!important;
    }

    .fp-nav__list > li.fp-btn > a,
    .fp-nav__list > li.fp-btn > a:link,
    .fp-nav__list > li.fp-btn > a:visited{
        display:flex!important;
        width:100%!important;
        max-width:none!important;
        min-height:54px!important;
        box-sizing:border-box!important;
        padding:.9rem 1.25rem!important;
    }
}

/* BankID CTA: official logo directly on dark background, white variant. */
.fp-bankid-signin__icon{
    background:transparent;
    border-radius:0;
    color:#fff;
}

.fp-bankid-signin__logo{
    width:44px;
    height:44px;
    filter:brightness(0) invert(1);
}

@media(max-width:680px){
    .fp-bankid-signin__icon{
        background:transparent;
        border-radius:0;
    }

    .fp-bankid-signin__logo{
        width:38px;
        height:38px;
    }
}

/* 2026-08-28 — BankID verified check + polished SVG section chevrons */
.fp-bankid-verified-strip__icon{
    position:relative;
    font-size:0!important;
}
.fp-bankid-verified-strip__icon > *{
    display:none!important;
}
.fp-bankid-verified-strip__icon::before{
    content:"";
    width:14px;
    height:14px;
    display:block;
    background:center/14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fp-section-chevron{
    width:2rem!important;
    height:2rem!important;
    flex:0 0 2rem!important;
    display:grid!important;
    place-items:center!important;
    font-size:0!important;
    line-height:0!important;
    transform:none!important;
    transition:border-color .18s ease, background-color .18s ease!important;
}
.fp-section-chevron > *{
    display:none!important;
}
.fp-section-chevron::before{
    content:"";
    width:15px;
    height:15px;
    display:block;
    background:center/15px 15px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 9.5L12 15l5.5-5.5' stroke='%230b2118' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    transition:transform .2s ease;
}
/* Expanded section points upward; collapsed section points downward. */
.fp-subscribe-form__section:not(.is-collapsed) .fp-section-chevron::before{
    transform:rotate(180deg);
}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron::before{
    transform:none;
}
.fp-subscribe-form__section-head[type="button"]:hover .fp-section-chevron{
    border-color:rgba(18,34,25,.28)!important;
    background:rgba(18,34,25,.035)!important;
}

/* 2026-08-28 — Match verified BankID strip + section controls to approved design. */
.fp-bankid-verified-strip{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    min-height:70px!important;
    padding:10px 20px 10px 14px!important;
}

.fp-bankid-verified-strip__icon{
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#315e4d!important;
    color:#fff!important;
    font-size:0!important;
}

.fp-bankid-verified-strip__icon::before{
    content:""!important;
    display:block!important;
    width:32px!important;
    height:32px!important;
    background:#fff!important;
    -webkit-mask:url("../images/bankid_logo.svg") center/contain no-repeat!important;
    mask:url("../images/bankid_logo.svg") center/contain no-repeat!important;
}

.fp-bankid-verified-strip::after{
    content:"";
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin-left:auto;
    background:center/22px 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' stroke='%231b6b4d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fp-section-chevron{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    border-radius:50%!important;
    border:1px solid rgba(18,34,25,.18)!important;
    background:#fff!important;
    box-shadow:none!important;
}

.fp-section-chevron::before{
    width:20px!important;
    height:20px!important;
    background:center/20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 9L12 14.5 17.5 9' stroke='%230b2118' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}

.fp-subscribe-form__section-head[type="button"]:hover .fp-section-chevron{
    border-color:rgba(18,34,25,.34)!important;
    background:#fafaf7!important;
}

@media(max-width:680px){
    .fp-bankid-verified-strip{
        min-height:64px!important;
        padding:8px 14px 8px 10px!important;
        gap:11px!important;
    }
    .fp-bankid-verified-strip__icon{
        width:44px!important;
        height:44px!important;
        flex-basis:44px!important;
    }
    .fp-bankid-verified-strip__icon::before{
        width:29px!important;
        height:29px!important;
    }
    .fp-bankid-verified-strip::after{
        width:20px;
        height:20px;
        flex-basis:20px;
        background-size:20px 20px;
    }
    .fp-section-chevron{
        width:40px!important;
        height:40px!important;
        flex-basis:40px!important;
    }
}

/* 2026-08-28 — Final BankID verified mark + chevron alignment. */
.fp-bankid-verified-strip__icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    border-radius:0!important;
    background:transparent!important;
    color:#183E4F!important;
}
.fp-bankid-verified-strip__icon::before{
    width:27px!important;
    height:27px!important;
    background:#183E4F!important;
    -webkit-mask:url("../images/bankid_logo.svg") center/contain no-repeat!important;
    mask:url("../images/bankid_logo.svg") center/contain no-repeat!important;
}

/* Optical centering: the chevron artwork itself sits slightly high in its SVG viewBox. */
.fp-section-chevron::before{
    transform:translateY(1.5px)!important;
    transform-origin:center!important;
}
.fp-subscribe-form__section:not(.is-collapsed) .fp-section-chevron::before{
    transform:translateY(1.5px) rotate(180deg)!important;
}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron::before{
    transform:translateY(1.5px)!important;
}

@media(max-width:680px){
    .fp-bankid-verified-strip__icon{
        width:32px!important;
        height:32px!important;
        flex-basis:32px!important;
    }
    .fp-bankid-verified-strip__icon::before{
        width:24px!important;
        height:24px!important;
    }
}

/* 2026-08-28 — Visually center section chevrons inside their circular controls. */
.fp-section-chevron::before{
    width:20px!important;
    height:20px!important;
    background:center/20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 10.25L12 15.75 17.5 10.25' stroke='%230b2118' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    transform-origin:50% 50%!important;
}
.fp-subscribe-form__section.is-collapsed .fp-section-chevron::before{
    transform:none!important;
}
.fp-subscribe-form__section:not(.is-collapsed) .fp-section-chevron::before{
    transform:rotate(180deg)!important;
}

/* 2026-08-28 — Remove circular ring around section chevrons; keep arrow size and hit area. */
.fp-section-chevron{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.fp-subscribe-form__section-head[type="button"]:hover .fp-section-chevron,
.fp-subscribe-form__section-head[type="button"]:focus-visible .fp-section-chevron{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

/* ========================================================================== 
   Organizer archive + single
   ========================================================================== */
.fp-organizers-page,
.fp-organizer-single{background:var(--kv-paper);color:var(--kv-ink)}

.fp-organizers-page__hero{padding:clamp(7rem,11vw,11rem) 0 clamp(4rem,7vw,7rem);background:var(--kv-paper-2);border-bottom:1px solid rgba(16,35,29,.12)}
.fp-organizers-page__hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:clamp(2.5rem,7vw,8rem);align-items:end}
.fp-organizers-page__hero h1{margin:0;font:400 clamp(4rem,7.4vw,8.2rem)/.86 var(--kv-font-display);letter-spacing:-.055em;max-width:10ch}
.fp-organizers-page__hero h1 em{color:var(--kv-moss);font-style:italic}
.fp-organizers-page__lead{max-width:38rem;margin:0 0 .55rem;font:400 clamp(1rem,1.25vw,1.2rem)/1.7 var(--kv-font-text);color:var(--kv-ink-soft)}
.fp-organizers-page__listing{padding:clamp(4rem,7vw,7.5rem) 0 clamp(6rem,10vw,11rem)}
.fp-organizers-page__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(16,35,29,.16)}
.fp-organizers-page__head .fp-eyebrow{margin:0}
.fp-organizers-page__head>span{font:500 .62rem/1 var(--kv-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--kv-ink-soft)}
.fp-organizers-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,6vw,6rem) 1.5rem;margin-top:2rem}
.fp-organizer-card{display:block;color:inherit;text-decoration:none;min-width:0}
.fp-organizer-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,var(--kv-ink-950),var(--kv-moss));margin-bottom:1.4rem}
.fp-organizer-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--kv-ease),filter .35s ease;filter:saturate(.9)}
.fp-organizer-card:hover .fp-organizer-card__media img{transform:scale(1.035);filter:saturate(1)}
.fp-organizer-card__media>span{position:absolute;right:1rem;bottom:1rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--kv-prime);color:var(--kv-ink-950);font-size:1rem;font-weight:700;transition:transform .25s var(--kv-ease)}
.fp-organizer-card:hover .fp-organizer-card__media>span{transform:translate(3px,-3px)}
.fp-organizer-card__meta small{display:block;font:500 .58rem/1 var(--kv-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kv-moss)}
.fp-organizer-card__meta h2{margin:.65rem 0 .8rem;font:400 clamp(2.2rem,3.2vw,3.6rem)/.94 var(--kv-font-display);letter-spacing:-.04em}
.fp-organizer-card__meta p{max-width:42rem;margin:0;color:var(--kv-ink-soft);font:400 .94rem/1.65 var(--kv-font-text)}
.fp-organizers-page__empty{padding:6rem 0}
.fp-organizers-page__empty h2{font:400 clamp(2.8rem,5vw,5rem)/.92 var(--kv-font-display)}

.fp-organizer-single__hero{position:relative;min-height:clamp(560px,72vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(105deg,#0a261d 0%,#27483d 55%,#d8d8d1 100%);color:#fff}
.fp-organizer-single__hero-media,.fp-organizer-single__hero-shade{position:absolute;inset:0}
.fp-organizer-single__hero-media{background-image:var(--kv-organizer-hero);background-size:cover;background-position:center}
.fp-organizer-single__hero:not(.has-image) .fp-organizer-single__hero-media{display:none}
.fp-organizer-single__hero-shade{background:linear-gradient(90deg,rgba(5,30,22,.94) 0%,rgba(5,30,22,.72) 42%,rgba(5,30,22,.16) 75%,rgba(5,30,22,.05) 100%)}
.fp-organizer-single__hero:not(.has-image) .fp-organizer-single__hero-shade{background:linear-gradient(100deg,rgba(5,30,22,.9),rgba(26,61,49,.44),rgba(255,255,255,.25))}
.fp-organizer-single__hero-inner{position:relative;z-index:2;width:100%;padding-top:clamp(7rem,10vw,10rem);padding-bottom:clamp(3.5rem,6vw,6rem)}
.fp-organizer-single__back{position:absolute;top:clamp(5rem,8vw,7rem);left:0;color:rgba(255,255,255,.75);font:600 .75rem/1 var(--kv-font-text);text-decoration:none}
.fp-organizer-single__back:hover{color:#fff}
.fp-organizer-single__hero-copy{max-width:min(900px,76%)}
.fp-organizer-single__hero .fp-eyebrow{color:var(--kv-prime)}
.fp-organizer-single__hero h1{margin:0;font:400 clamp(4.3rem,8.2vw,9rem)/.84 var(--kv-font-display);letter-spacing:-.055em;max-width:9.5ch;color:#fff}
.fp-organizer-single__lead{max-width:48rem;margin:1.6rem 0 0;color:rgba(255,255,255,.76);font:400 clamp(1rem,1.2vw,1.18rem)/1.65 var(--kv-font-text)}
.fp-organizer-single__hero-logo{position:absolute;right:0;bottom:clamp(3.5rem,6vw,6rem);display:grid;place-items:center;width:clamp(150px,18vw,240px);min-height:110px;padding:1.5rem;border-radius:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.fp-organizer-single__hero-logo img{display:block;max-width:100%;max-height:105px;object-fit:contain}

.fp-organizer-single__content{padding:clamp(4.5rem,8vw,8rem) 0 clamp(6rem,10vw,11rem)}
.fp-organizer-single__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(3rem,8vw,9rem);align-items:start}
.fp-organizer-single__about>.fp-eyebrow{margin-bottom:2.2rem}
.fp-organizer-single__prose{max-width:760px;font:400 clamp(1rem,1.12vw,1.12rem)/1.82 var(--kv-font-text);color:var(--kv-ink)}
.fp-organizer-single__prose>*:first-child{margin-top:0}
.fp-organizer-single__prose h2,.fp-organizer-single__prose h3{font-family:var(--kv-font-display);font-weight:400;letter-spacing:-.035em;line-height:.98;margin-top:2.6rem}
.fp-organizer-single__prose h2{font-size:clamp(2.3rem,4vw,4.5rem)}
.fp-organizer-single__prose h3{font-size:clamp(1.8rem,2.8vw,2.8rem)}
.fp-organizer-single__prose p{margin:0 0 1.35rem}
.fp-organizer-single__prose a{color:var(--kv-moss);text-decoration-thickness:1px;text-underline-offset:3px}
.fp-organizer-single__fallback-copy{font:400 clamp(1.15rem,1.5vw,1.4rem)/1.7 var(--kv-font-text);color:var(--kv-ink-soft);max-width:40rem}
.fp-organizer-single__aside{position:sticky;top:110px}
.fp-organizer-single__info-card{padding:clamp(1.6rem,2.7vw,2.3rem);border:1px solid rgba(16,35,29,.14);border-radius:22px;background:#fff;box-shadow:0 20px 60px rgba(16,35,29,.05)}
.fp-organizer-single__info-card>.fp-eyebrow{margin-bottom:1.5rem}
.fp-organizer-single__facts{margin:0}
.fp-organizer-single__facts>div{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(0,1.3fr);gap:1rem;padding:.95rem 0;border-top:1px solid rgba(16,35,29,.1)}
.fp-organizer-single__facts dt{font:500 .56rem/1.35 var(--kv-font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--kv-ink-soft)}
.fp-organizer-single__facts dd{margin:0;font:600 .85rem/1.5 var(--kv-font-text);overflow-wrap:anywhere}
.fp-organizer-single__facts dd small{display:block;margin-top:.2rem;font-weight:400;color:var(--kv-ink-soft)}
.fp-organizer-single__facts a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(16,35,29,.25)}
.fp-organizer-single__website{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:1rem 1.15rem;border-radius:999px;background:var(--kv-prime);color:var(--kv-ink-950);font:700 .78rem/1 var(--kv-font-text);text-decoration:none}
.fp-organizer-single__info-empty{margin:0;color:var(--kv-ink-soft);font-size:.9rem;line-height:1.6}
.fp-organizer-single__cta{padding:clamp(5rem,9vw,9rem) 0;background:var(--kv-ink-950);color:#fff}
.fp-organizer-single__cta .fp-eyebrow{color:var(--kv-prime)}
.fp-organizer-single__cta-inner{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}
.fp-organizer-single__cta h2{margin:0;font:400 clamp(3.4rem,6vw,7rem)/.88 var(--kv-font-display);letter-spacing:-.05em;color:#fff}
.fp-organizer-single__cta h2 em{color:var(--kv-prime);font-style:italic}
.fp-organizer-single__cta a{color:#fff;font:700 .8rem/1 var(--kv-font-text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.35rem}

@media(max-width:860px){
  .fp-organizers-page__hero{padding-top:clamp(4rem,12vw,6rem)}
  .fp-organizers-page__hero-grid,.fp-organizer-single__grid{grid-template-columns:1fr}
  .fp-organizers-page__hero h1{font-size:clamp(3.6rem,14vw,6.3rem)}
  .fp-organizers-page__grid{grid-template-columns:1fr}
  .fp-organizer-single__hero{min-height:610px}
  .fp-organizer-single__hero-inner{padding-top:7rem;padding-bottom:3rem}
  .fp-organizer-single__back{top:4.3rem}
  .fp-organizer-single__hero-copy{max-width:100%}
  .fp-organizer-single__hero h1{font-size:clamp(3.8rem,14vw,6.5rem);max-width:10ch}
  .fp-organizer-single__hero-logo{position:static;width:min(190px,50vw);min-height:80px;margin-top:2rem;padding:1rem}
  .fp-organizer-single__aside{position:static;order:-1}
  .fp-organizer-single__cta-inner{grid-template-columns:1fr;align-items:start}
}

@media(max-width:560px){
  .fp-organizers-page__hero-grid{gap:1.5rem}
  .fp-organizers-page__listing{padding-top:3rem}
  .fp-organizers-page__head{align-items:center}
  .fp-organizer-card__media{border-radius:20px}
  .fp-organizer-single__hero{min-height:560px}
  .fp-organizer-single__hero-shade{background:linear-gradient(180deg,rgba(5,30,22,.35),rgba(5,30,22,.9) 78%)}
  .fp-organizer-single__hero-inner{padding-top:6rem;padding-bottom:2.5rem}
  .fp-organizer-single__back{top:3.3rem;left:var(--kv-gutter);font-size:.7rem}
  .fp-organizer-single__hero h1{font-size:clamp(3.15rem,12vw,4.2rem);max-width:100%}
  .fp-organizer-single__lead{font-size:.98rem}
  .fp-organizer-single__content{padding-top:3.5rem}
  .fp-organizer-single__facts>div{grid-template-columns:1fr;gap:.35rem}
  .fp-organizer-single__info-card{border-radius:18px}
}

/* Kammarmusikabonnemanget – startsida */
.kv-home-hero{min-height:100svh;padding-top:10rem}.kv-home-hero .fp-hero__media::after{background:linear-gradient(90deg,rgba(4,14,10,.9) 0%,rgba(4,14,10,.68) 48%,rgba(4,14,10,.22) 100%),linear-gradient(0deg,rgba(4,14,10,.72) 0%,transparent 52%)}.kv-home-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:clamp(3rem,8vw,9rem);align-items:end}.kv-home-hero__copy{padding-bottom:1rem}.kv-home-hero__eyebrow{color:#fff}.kv-home-hero h1{max-width:10ch;margin:0 0 1.3rem;color:#fff;font-size:clamp(4rem,8.5vw,9rem);line-height:.87;letter-spacing:-.055em}.kv-home-hero__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1rem;margin:0 0 1.25rem;color:#fff}.kv-home-hero__price strong{font-family:var(--kv-font-display);font-size:clamp(2rem,4vw,4.2rem);font-weight:400;color:var(--kv-prime-soft)}.kv-home-hero__price span{font-size:1rem;color:rgba(255,255,255,.72)}.kv-home-hero .fp-hero__lead{max-width:52ch;font-size:clamp(1.08rem,1.4vw,1.35rem);line-height:1.5}.kv-home-hero__card{align-self:end;margin-bottom:1rem;padding:clamp(1.6rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.3);border-radius:var(--kv-radius-lg);background:rgba(8,20,16,.72);color:#fff;backdrop-filter:blur(14px)}.kv-home-hero__card>span{display:block;margin-bottom:1.4rem;font-family:var(--kv-font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kv-prime-soft)}.kv-home-hero__card>span.kv-home-hero__brand{line-height:1.35}.kv-home-hero__brand>small{display:block;margin-top:.28rem;font:inherit;font-size:.92em;letter-spacing:.12em;color:var(--kv-prime-light)}.kv-home-hero__card strong{display:block;font-family:var(--kv-font-display);font-size:clamp(2rem,3vw,3.4rem);line-height:1.03;font-weight:400}.kv-home-hero__card p{margin:1.6rem 0 .25rem;font-family:var(--kv-font-display);font-size:2.4rem;color:var(--kv-prime-soft)}.kv-home-hero__card small{color:rgba(255,255,255,.68);font-size:.85rem}.kv-home-hero__card .kv-home-hero__brand>small{margin-top:.28rem;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--kv-prime-light)}
.kv-home-steps{background:var(--kv-prime);color:#fff}.kv-home-steps__grid{display:grid;grid-template-columns:repeat(3,1fr)}.kv-home-step{display:grid;grid-template-columns:46px 1fr;gap:1rem;padding:2rem clamp(1.25rem,2.4vw,2.4rem);border-right:1px solid rgba(255,255,255,.22)}.kv-home-step:first-child{padding-left:0}.kv-home-step:last-child{border-right:0}.kv-home-step>span{font-family:var(--kv-font-mono);font-size:.65rem;letter-spacing:.1em;opacity:.72}.kv-home-step strong{display:block;margin-bottom:.25rem;font-size:1.05rem}.kv-home-step p{margin:0;color:rgba(255,255,255,.76);font-size:.86rem}
.kv-home-midvinter__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(3rem,7vw,8rem);align-items:center}.kv-home-midvinter__image{margin:0;min-height:560px;overflow:hidden;border-radius:var(--kv-radius-xl)}.kv-home-midvinter__image img{width:100%;height:100%;min-height:560px;object-fit:cover}.kv-home-midvinter__copy h2{max-width:8ch;font-size:clamp(3.6rem,6vw,6.8rem);line-height:.9}.kv-home-lead{font-size:clamp(1.08rem,1.3vw,1.3rem);max-width:46ch}.kv-home-checks{display:grid;gap:.75rem;margin:2rem 0 2.3rem;padding:0;list-style:none}.kv-home-checks li{position:relative;padding-left:2rem;font-weight:600}.kv-home-checks li::before{content:"✓";position:absolute;left:0;color:var(--kv-prime)}
.kv-home-offer{padding-block:clamp(4rem,8vw,8rem);background:var(--kv-prime);color:#fff}.kv-home-offer__grid{display:grid;grid-template-columns:1.1fr .55fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:center}.kv-home-offer .fp-eyebrow{color:var(--kv-prime-soft)}.kv-home-offer h2{margin:0;font-size:clamp(3.4rem,6vw,6.5rem);line-height:.9}.kv-home-offer h2 em{font-weight:400;color:var(--kv-prime-soft)}.kv-home-offer__price strong{display:block;font-family:var(--kv-font-display);font-size:clamp(5rem,8vw,9rem);line-height:.75;font-weight:400}.kv-home-offer__price span{display:block;margin-top:1rem;font-size:1.35rem;font-weight:700}.kv-home-offer__price small{display:block;margin-top:.35rem;color:rgba(255,255,255,.72)}.kv-home-offer__copy p{margin:0 0 1.8rem;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.6}.kv-home-section-head h2{max-width:12ch}.kv-home-simple__grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:end}.kv-home-simple h2{max-width:8ch;font-size:clamp(3.8rem,7vw,7rem);line-height:.9}.kv-home-simple p{max-width:48ch;font-size:1.15rem;line-height:1.6}.kv-home-simple .fp-eyebrow{color:var(--kv-prime-soft)}
@media(max-width:900px){.kv-home-hero{padding-top:8.5rem}.kv-home-hero__inner,.kv-home-midvinter__grid,.kv-home-offer__grid,.kv-home-simple__grid{grid-template-columns:1fr}.kv-home-hero__card{max-width:500px}.kv-home-steps__grid{grid-template-columns:1fr}.kv-home-step,.kv-home-step:first-child{padding:1.35rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.kv-home-step:last-child{border-bottom:0}.kv-home-midvinter__image,.kv-home-midvinter__image img{min-height:380px}.kv-home-offer__grid{gap:2.5rem}.kv-home-offer__price strong{font-size:6rem}}
@media(max-width:600px){.kv-home-hero{min-height:auto;padding:8rem 0 3rem}.kv-home-hero h1{max-width:100%;font-size:clamp(3.2rem,15vw,5.2rem)}.kv-home-hero__price{display:block}.kv-home-hero__price strong,.kv-home-hero__price span{display:block}.kv-home-hero__card{padding:1.4rem}.kv-home-hero__card strong{font-size:2.2rem}.kv-home-midvinter__copy h2,.kv-home-offer h2,.kv-home-simple h2{font-size:clamp(3rem,13vw,4.5rem)}.kv-home-midvinter__image,.kv-home-midvinter__image img{min-height:300px;border-radius:var(--kv-radius-lg)}}

/* 2026-08-31 — Home clarity adjustments */
.fp-eyebrow{font-size:.56rem!important}
.kv-home-offer__price .kv-home-offer__from{display:block;margin:0 0 .7rem;color:#fff;font-family:var(--kv-font-mono);font-size:.72rem;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase}
.kv-home-offer__copy .fp-btn,.kv-home-offer__copy .fp-btn:hover,.kv-home-offer__copy .fp-btn:focus{background:var(--kv-prime-light);border-color:var(--kv-prime-light);color:#000}
.kv-home-simple__content{align-self:end}
.kv-home-simple__image{margin:0 0 2rem;overflow:hidden;border-radius:var(--kv-radius-lg);aspect-ratio:16/8.5}
.kv-home-simple__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.fp-footer a.fp-btn,.fp-footer a.fp-btn:hover,.fp-footer a.fp-btn:focus{color:#fff}
.fp-footer__title{color:var(--kv-prime-light)}
@media(max-width:600px){.kv-home-simple__image{margin-bottom:1.5rem;aspect-ratio:16/10}}

/* 2026-09-01 — Homepage front rebuilt around the selected-concert flow.
   Goal: make the visitor understand immediately that the concert is included,
   show availability first, and keep the Kammarmusikabonnemanget purchase choice visible
   in the first viewport. */
.kv-home-hero--ola{
    min-height:100svh;
    padding:0!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:var(--kv-ink-950);
    color:#fff;
}
.kv-home-hero--ola .fp-hero__media::after{
    background:
        linear-gradient(90deg,rgba(3,14,10,.94) 0%,rgba(3,14,10,.76) 45%,rgba(3,14,10,.42) 72%,rgba(3,14,10,.3) 100%),
        linear-gradient(0deg,rgba(3,14,10,.88) 0%,rgba(3,14,10,.12) 58%);
}
.kv-home-hero--ola .kv-home-hero__inner{
    width:100%;
    flex:1;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(370px,.72fr);
    gap:clamp(2.4rem,5.5vw,6rem);
    align-items:center;
    padding-top:clamp(7rem,12vh,9rem);
    padding-bottom:clamp(2rem,4vh,3.5rem);
}
.kv-home-hero--ola .kv-home-hero__copy{padding:0;min-width:0}
.kv-home-hero__eyebrow-row{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1rem;margin-bottom:1.2rem}
.kv-home-hero--ola .kv-home-hero__eyebrow{margin:0;color:rgba(255,255,255,.9)}
.kv-home-hero--ola .kv-live-badge{margin:0;background:rgba(10,35,24,.82);border-color:rgba(251,215,157,.32);box-shadow:0 0 22px rgba(251,215,157,.08)}
.kv-home-hero--ola h1{
    max-width:9.6ch;
    margin:0;
    font-size:clamp(4rem,6.4vw,7.7rem);
    line-height:.88;
    letter-spacing:-.055em;
    color:#fff;
}
.kv-home-hero__actionline{
    margin:.28rem 0 .9rem;
    font:400 clamp(2.2rem,3.3vw,4.1rem)/1 var(--kv-font-display);
    letter-spacing:-.035em;
    color:var(--kv-prime-light);
}
.kv-home-hero--ola .fp-hero__lead{
    max-width:37rem;
    margin:0;
    font-size:clamp(1rem,1.18vw,1.2rem);
    line-height:1.48;
    color:rgba(255,255,255,.86);
}
.kv-home-hero--ola .fp-hero__lead strong{color:var(--kv-prime-light)}
.kv-home-hero__benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    max-width:48rem;
    margin:1.55rem 0 1.65rem;
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
}
.kv-home-hero__benefit{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.65rem;
    align-items:center;
    padding:1rem 1rem 1rem 0;
}
.kv-home-hero__benefit+.kv-home-hero__benefit{padding-left:1rem;border-left:1px solid rgba(255,255,255,.14)}
.kv-home-hero__benefit-icon,.kv-home-hero__plan-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid var(--kv-prime);
    border-radius:50%;
    color:var(--kv-prime-light);
}
.kv-home-hero__benefit-icon svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kv-home-hero__benefit p{margin:0;font-size:.78rem;line-height:1.45;color:rgba(255,255,255,.76)}
.kv-home-hero__actions{margin-top:0!important;gap:.75rem}
.kv-home-hero__actions .fp-btn{min-height:54px}
.kv-home-hero__trust{margin:1rem 0 0;font-size:.74rem;color:rgba(255,255,255,.58)}
.kv-home-hero__trust span{display:inline-block;margin-right:.45rem;color:var(--kv-prime-light)}

.kv-home-hero--ola .kv-home-hero__card--purchase{
    align-self:center;
    width:100%;
    max-width:490px;
    margin:0;
    padding:clamp(1.7rem,2.6vw,2.5rem);
    border:1px solid rgba(255,255,255,.26);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(15,35,29,.94),rgba(7,20,16,.94));
    box-shadow:0 22px 70px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);
    backdrop-filter:blur(14px);
}
.kv-home-hero--ola .kv-home-hero__card--purchase>.kv-home-hero__brand{
    margin:0 0 .8rem;
    font-family:var(--kv-font-mono);
    font-size:.62rem;
    font-weight:600;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--kv-prime-light);
}
.kv-home-hero__card--purchase h2{
    margin:0;
    padding-bottom:1rem;
    border-bottom:1px solid var(--kv-prime);
    font:400 clamp(1.8rem,2.3vw,2.6rem)/1.03 var(--kv-font-display);
    letter-spacing:-.035em;
    color:#fff;
}
.kv-home-hero--ola .kv-home-hero__card-lead{
    margin:1rem 0 1.2rem;
    font:400 .85rem/1.52 var(--kv-font-text);
    color:rgba(255,255,255,.72);
}
.kv-home-hero__plans{display:grid;gap:.3rem}
.kv-home-hero__plan{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.9rem;align-items:center}
.kv-home-hero__plan-icon{width:44px;height:44px;font-size:1.25rem}
.kv-home-hero__plan strong{display:block;font:600 clamp(1.5rem,2vw,2rem)/1.1 var(--kv-font-text);letter-spacing:-.025em;color:#fff}
.kv-home-hero__plan strong small{font:500 .72em/1 var(--kv-font-text);color:rgba(255,255,255,.92)}
.kv-home-hero--ola .kv-home-hero__plan p{margin:.2rem 0 0;font:400 .76rem/1.35 var(--kv-font-text);color:rgba(255,255,255,.6)}
.kv-home-hero__or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin:.2rem 0;color:rgba(255,255,255,.66);font-size:.75rem}
.kv-home-hero__or::before,.kv-home-hero__or::after{content:"";height:1px;background:rgba(255,255,255,.2)}
.kv-home-hero__card--purchase>.fp-btn{display:flex;width:100%;justify-content:center;margin-top:1.25rem;background:var(--kv-prime);border-color:var(--kv-prime);color:#fff}
.kv-home-hero__card--purchase>.fp-btn:hover,.kv-home-hero__card--purchase>.fp-btn:focus{color:#fff}
.kv-home-hero--ola .kv-home-hero__card-note{margin:.55rem 0 0;text-align:center;font:400 .7rem/1.4 var(--kv-font-text);color:rgba(255,255,255,.58)}

.kv-home-hero__facts{
    position:relative;
    z-index:2;
    width:100%;
    border-top:1px solid rgba(255,255,255,.18);
    background:rgba(3,15,11,.74);
    backdrop-filter:blur(10px);
}
.kv-home-hero__facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.kv-home-hero__facts-grid>div{display:grid;grid-template-columns:48px 1fr;gap:.9rem;align-items:center;padding:1rem 1.6rem;border-left:1px solid rgba(255,255,255,.12)}
.kv-home-hero__facts-grid>div:first-child{padding-left:0;border-left:0}
.kv-home-hero__facts-grid>div>span{font-size:2rem;line-height:1;color:var(--kv-prime-light)}
.kv-home-hero__facts-grid p{margin:0}
.kv-home-hero__facts-grid strong,.kv-home-hero__facts-grid small{display:block}
.kv-home-hero__facts-grid strong{font-size:.92rem;color:#fff}
.kv-home-hero__facts-grid small{margin-top:.15rem;font-size:.7rem;color:rgba(255,255,255,.58)}

@media(max-width:1100px){
    .kv-home-hero--ola{min-height:auto}
    .kv-home-hero--ola .kv-home-hero__inner{grid-template-columns:1fr;align-items:start;padding-top:8.5rem}
    .kv-home-hero--ola .kv-home-hero__card--purchase{max-width:680px;justify-self:start}
    .kv-home-hero__benefits{max-width:680px}
}
@media(max-width:760px){
    .kv-home-hero--ola .kv-home-hero__inner{padding-top:7.2rem;padding-bottom:2rem;gap:2rem}
    .kv-home-hero--ola h1{font-size:clamp(3.4rem,16vw,5.6rem)}
    .kv-home-hero__actionline{font-size:clamp(2rem,10vw,3rem)}
    .kv-home-hero__benefits{grid-template-columns:1fr;margin-block:1.3rem}
    .kv-home-hero__benefit{padding:.85rem 0}
    .kv-home-hero__benefit+.kv-home-hero__benefit{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
    .kv-home-hero__actions{display:grid;grid-template-columns:1fr}
    .kv-home-hero__actions .fp-btn{width:100%;justify-content:center}
    .kv-home-hero__facts-grid{grid-template-columns:1fr}
    .kv-home-hero__facts-grid>div,.kv-home-hero__facts-grid>div:first-child{padding:.9rem 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
    .kv-home-hero__facts-grid>div:first-child{border-top:0}
}

/* Skaffa abonnemang — Ola-flödet ------------------------------------------- */
.fp-subscribe-hero--kv{
    min-height:auto;
    align-items:stretch;
    background:
        radial-gradient(circle at 78% 20%,rgba(143,89,3,.26),transparent 30%),
        linear-gradient(135deg,#081812 0%,#102820 56%,#07110e 100%);
}
.fp-subscribe-hero--kv.fp-subscribe-hero--image{
    background-position:center;
    background-size:cover;
}
.fp-subscribe-hero--kv .fp-subscribe-hero__shade{
    background:
        linear-gradient(90deg,rgba(4,17,13,.95) 0%,rgba(4,17,13,.82) 46%,rgba(4,17,13,.64) 100%),
        linear-gradient(0deg,rgba(4,17,13,.62),transparent 55%);
}
.fp-subscribe-hero__inner--kv{
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);
    align-items:center;
    min-height:610px;
    gap:clamp(3rem,7vw,7rem);
    padding-top:clamp(4.75rem,7vw,6.25rem);
    padding-bottom:clamp(3rem,5vw,4.5rem);
}
.fp-subscribe-hero--kv .fp-subscribe-hero__copy{max-width:760px}
.fp-subscribe-hero--kv .fp-eyebrow{color:var(--kv-prime-light)}
.fp-subscribe-hero--kv h1{
    max-width:9.7ch;
    margin:.7rem 0 1.45rem;
    font-size:clamp(4.1rem,6.3vw,7.2rem);
    line-height:.88;
}
.fp-subscribe-hero--kv h1 em{color:var(--kv-prime-light)}
.fp-subscribe-hero--kv .fp-subscribe-hero__lead{
    max-width:58ch;
    font-size:clamp(1rem,1.15vw,1.16rem);
    line-height:1.62;
}
.fp-subscribe-hero__price-callout{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:.3rem .75rem;
    width:max-content;
    max-width:100%;
    margin:2rem 0 1.4rem;
    padding:1rem 1.15rem;
    border:1px solid rgba(251,215,157,.24);
    border-radius:18px;
    background:rgba(6,22,16,.55);
    box-shadow:inset 0 1px rgba(255,255,255,.04);
    backdrop-filter:blur(10px);
}
.fp-subscribe-hero__price-callout>span{
    width:100%;
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--kv-prime-light);
}
.fp-subscribe-hero__price-callout strong{
    font:400 clamp(2.6rem,4vw,4.4rem)/.95 var(--kv-font-display);
    letter-spacing:-.045em;
    color:#fff;
}
.fp-subscribe-hero__price-callout strong small{
    font:600 .34em/1 var(--kv-font-text);
    letter-spacing:0;
}
.fp-subscribe-hero__price-callout p{
    margin:0;
    font-size:.78rem;
    color:rgba(255,255,255,.62);
}
.fp-subscribe-hero__cta{
    display:inline-flex;
    min-width:180px;
    justify-content:center;
    color:#fff!important;
}
.fp-subscribe-hero__promise{
    padding:clamp(1.7rem,2.8vw,2.5rem);
    border:1px solid rgba(251,215,157,.2);
    border-radius:28px;
    background:linear-gradient(145deg,rgba(15,35,29,.93),rgba(7,20,16,.94));
    box-shadow:0 26px 80px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);
    backdrop-filter:blur(14px);
}
.fp-subscribe-hero__promise h2{
    margin:.65rem 0 1rem;
    font:400 clamp(2.15rem,3vw,3.3rem)/1.02 var(--kv-font-display);
    letter-spacing:-.035em;
    color:#fff;
}
.fp-subscribe-hero__promise>p:not(.fp-eyebrow){
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:.9rem;
    line-height:1.6;
}
.fp-subscribe-hero__promise ul{
    display:grid;
    gap:.75rem;
    margin:1.6rem 0 0;
    padding:1.3rem 0 0;
    list-style:none;
    border-top:1px solid rgba(255,255,255,.12);
}
.fp-subscribe-hero__promise li{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:.65rem;
    align-items:start;
    font-size:.82rem;
    line-height:1.45;
    color:rgba(255,255,255,.86);
}
.fp-subscribe-hero__promise li>span{
    color:var(--kv-prime-light);
    font-weight:800;
}
.fp-subscribe-hero__trust--kv{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.6rem;
    margin-top:1.5rem;
    padding-top:1.2rem;
}
.fp-subscribe-hero__trust--kv span{font-size:.66rem}
.fp-subscribe-hero__trust--kv strong{font-size:.76rem}

.fp-subscribe__heading--kv{align-items:center}
.fp-subscribe__heading--kv h2 em{
    font-weight:400;
    font-style:italic;
    color:var(--kv-prime);
}
.fp-subscribe__heading-copy{
    justify-self:end;
    max-width:58ch;
}
.fp-subscribe__heading-copy>p{
    margin:0;
    color:var(--kv-ink-soft);
}
.fp-subscribe__heading-note{
    margin-top:1rem!important;
    padding:1rem 1.1rem;
    border-left:3px solid var(--kv-prime);
    background:rgba(143,89,3,.06);
    color:var(--kv-ink-950)!important;
    font-size:.82rem;
}

.fp-subscribe-levels{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.15rem;
}
.fp-subscribe-level{
    min-height:450px;
    border-radius:26px;
}
.fp-subscribe-level--featured{background:rgba(255,255,255,.84);border-color:var(--kv-rule)}
.fp-subscribe-level--featured::before{background:var(--kv-sage);opacity:.78}
.fp-subscribe-level__body>p{min-height:3.8em}
.fp-subscribe-level__benefits{
    display:grid;
    gap:.55rem;
    margin:1.2rem 0 0;
    padding:1rem 0 0;
    list-style:none;
    border-top:var(--kv-border);
}
.fp-subscribe-level__benefits li{
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:.45rem;
    color:var(--kv-ink-soft);
    font-size:.74rem;
    line-height:1.42;
}
.fp-subscribe-level__benefits li span{
    color:var(--kv-prime);
    font-weight:800;
}
.fp-subscribe-level__note{
    margin:auto 0 0!important;
    padding-top:1rem;
    color:var(--kv-ink-faint)!important;
    font-family:var(--kv-font-mono);
    font-size:.58rem!important;
    line-height:1.5;
}
.fp-subscribe-level.is-selected{
    outline-color:var(--kv-prime);
    box-shadow:0 26px 72px rgba(11,23,19,.12);
}
.fp-subscribe-level.is-selected .fp-subscribe-level__choose{
    background:var(--kv-prime);
    color:#fff;
}
.fp-subscribe-level.is-selected .fp-subscribe-level__check{
    background:var(--kv-prime);
    border-color:var(--kv-prime);
    color:#fff;
}
.fp-subscribe-level__choose{color:var(--kv-ink-950)}
.fp-subscribe-level__choose:hover{color:var(--kv-ink-950)}

.fp-subscribe-availability{
    display:grid;
    grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
    gap:clamp(2rem,5vw,5rem);
    align-items:start;
    margin:0 0 4.6rem;
    padding:clamp(1.6rem,3vw,2.6rem);
    border-radius:30px;
    background:var(--kv-ink-950);
    color:#fff;
    box-shadow:var(--kv-shadow-lg);
}
.fp-subscribe-availability__intro h2{
    max-width:12ch;
    margin:.6rem 0 1rem;
    font-size:clamp(2.25rem,3.6vw,4rem);
    color:#fff;
}
.fp-subscribe-availability__intro>p:not(.fp-eyebrow){
    max-width:48ch;
    margin:0 0 1.4rem;
    color:rgba(255,255,255,.66);
    font-size:.84rem;
    line-height:1.58;
}
.fp-subscribe-availability .fp-eyebrow{color:var(--kv-prime-light)}
.fp-subscribe-availability .fp-btn--ghost{
    border-color:rgba(255,255,255,.28);
    color:#fff;
}
.fp-subscribe-availability__list{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:rgba(255,255,255,.035);
}
.fp-subscribe-availability__row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.2rem;
    align-items:center;
    min-height:96px;
    padding:1.15rem 1.2rem;
}
.fp-subscribe-availability__row+.fp-subscribe-availability__row{
    border-top:1px solid rgba(255,255,255,.1);
}
.fp-subscribe-availability__row div{min-width:0}
.fp-subscribe-availability__row small,
.fp-subscribe-availability__row strong{display:block}
.fp-subscribe-availability__row small{
    margin-bottom:.28rem;
    color:var(--kv-prime-light);
    font-family:var(--kv-font-mono);
    font-size:.56rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.fp-subscribe-availability__row strong{
    overflow-wrap:anywhere;
    color:#fff;
    font-size:.88rem;
    font-weight:600;
}

.fp-subscribe-formintro h2 em{color:var(--kv-prime)}
.fp-subscribe-submit{
    background:var(--kv-prime);
    color:#fff;
}
.fp-subscribe-submit small{color:rgba(255,255,255,.72)}
.fp-subscribe-summary__placeholder>span{background:var(--kv-prime-light);color:var(--kv-ink-950)}
.fp-subscribe-summary__placeholder a,
.fp-subscribe-summary__head p{color:var(--kv-prime-light)}
.fp-subscribe-proof--kv{
    background:var(--kv-prime-light);
}
.fp-subscribe-proof--kv .fp-subscribe-proof__grid span{color:var(--kv-prime)}
.fp-subscribe-proof--kv .fp-subscribe-proof__grid>div{
    border-color:rgba(16,35,29,.16);
}

@media(max-width:1050px){
    .fp-subscribe-hero__inner--kv{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:9rem;
    }
    .fp-subscribe-hero__promise{max-width:720px}
    .fp-subscribe__heading-copy{justify-self:start}
    .fp-subscribe-availability{grid-template-columns:1fr}
}

@media(max-width:760px){
    .fp-subscribe-hero--kv{min-height:auto}
    .fp-subscribe-hero__inner--kv{
        padding-top:7.7rem;
        padding-bottom:2.5rem;
        gap:1.5rem;
    }
    .fp-subscribe-hero--kv h1{
        max-width:10ch;
        font-size:clamp(3.35rem,15vw,5rem);
    }
    .fp-subscribe-hero__price-callout{margin:1.4rem 0 1rem}
    .fp-subscribe-hero__cta{width:100%}
    .fp-subscribe-hero__promise{padding:1.35rem;border-radius:22px}
    .fp-subscribe-hero__promise h2{font-size:2rem}
    .fp-subscribe-hero__trust--kv{grid-template-columns:1fr 1fr}
    .fp-subscribe-levels{grid-template-columns:1fr}
    .fp-subscribe-level{min-height:0}
    .fp-subscribe-level__body{
        display:flex;
        align-items:stretch;
    }
    .fp-subscribe-level__body>p{min-height:0}
    .fp-subscribe-level__benefits{width:100%}
    .fp-subscribe-availability{
        margin-bottom:3rem;
        padding:1.1rem;
        border-radius:22px;
    }
    .fp-subscribe-availability__row{
        grid-template-columns:1fr;
        gap:.7rem;
        min-height:0;
        padding:1rem;
    }
    .fp-subscribe-availability__row .kv-live-badge{justify-self:start}
}


/* Subscription form section title */
.fp-subscribe-formintro__title{font-size:1.35rem;line-height:1.3;margin:.65rem 0 .7rem}

/* 2026-09-01 — BankID CTA: alltid aktiv + tydlig inline-validering */
.fp-bankid-signin{
    min-height:76px;
    grid-template-columns:46px minmax(0,1fr) auto;
    padding:1rem 1.15rem;
    border-radius:16px;
    background:var(--kv-prime);
    color:#fff;
    box-shadow:0 10px 28px rgba(143,89,3,.18);
}
.fp-bankid-signin:hover{
    background:#a36708;
    box-shadow:0 14px 34px rgba(143,89,3,.24);
}
.fp-bankid-signin__icon{
    width:46px;
    height:46px;
    border-radius:12px;
    background:#fff;
}
.fp-bankid-signin__copy strong{font-size:1.08rem}
.fp-bankid-signin__copy small{color:rgba(255,255,255,.82)}
.fp-bankid-signin__status{
    border-color:rgba(255,255,255,.38);
    color:#fff;
}
.fp-bankid-signin:disabled,
.fp-bankid-signin.is-disabled{
    opacity:1;
    filter:none;
}

.fp-field input.is-invalid,
.fp-field.is-invalid input{
    border-color:#b42318 !important;
    background:#fff8f7;
    box-shadow:0 0 0 4px rgba(180,35,24,.09) !important;
}
.fp-field.is-invalid>span{color:#9f1d14}
.fp-check.is-invalid{
    padding:.85rem .95rem;
    margin-left:-.95rem;
    margin-right:-.95rem;
    border:1px solid rgba(180,35,24,.3);
    border-radius:14px;
    background:#fff8f7;
}
.fp-check.is-invalid em{color:#7f1d16}
.fp-check.is-invalid>span{
    border-color:#b42318 !important;
    box-shadow:0 0 0 3px rgba(180,35,24,.08);
}
.fp-subscribe-form__error{
    padding:1rem 1.15rem;
    border:1px solid rgba(180,35,24,.2);
    border-radius:16px;
    background:#fff4f2;
    color:#851b14;
    font-size:.82rem;
    font-weight:600;
    line-height:1.5;
    box-shadow:0 10px 28px rgba(127,29,22,.07);
}
.fp-subscribe-form__error::before{
    content:'Kontrollera uppgifterna';
    display:block;
    margin-bottom:.25rem;
    font-family:var(--kv-font-mono);
    font-size:.58rem;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:#b42318;
}

@media(max-width:680px){
    .fp-bankid-signin{
        grid-template-columns:42px minmax(0,1fr);
        min-height:72px;
        padding:.9rem 1rem;
    }
    .fp-bankid-signin__icon{width:42px;height:42px}
    .fp-bankid-signin__status{grid-column:2;margin-top:.15rem}
}


/* 2026-09-01 — Stegvis, diskret formulärvalidering */
.fp-subscribe-form__secure{list-style:none!important}
.fp-subscribe-form__secure>span[aria-hidden="true"]{display:none!important}
.fp-subscribe-form__error--inline{
    width:max-content;
    max-width:min(100%,420px);
    margin:.45rem 0 .15rem;
    padding:.65rem .85rem;
    border-radius:11px;
    font-size:.76rem;
    font-weight:600;
    line-height:1.4;
    box-shadow:none;
}
.fp-subscribe-form__error--inline::before{display:none!important;content:none!important}
.fp-subscribe-form__error:not(.fp-subscribe-form__error--inline)::before{display:none!important;content:none!important}

/* 2026-09-01 — BankID-logga + nättare stegvis validering */
.fp-bankid-signin__icon{
    background:transparent!important;
    border-radius:0!important;
}
.fp-bankid-signin__logo{
    display:block;
    width:44px;
    height:44px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}

.fp-subscribe-form__error--inline{
    width:max-content;
    max-width:min(100%,380px);
    margin:.22rem 0 0;
    padding:.42rem .62rem;
    border-radius:9px;
    font-size:.72rem;
    font-weight:400;
    line-height:1.35;
    box-shadow:none;
}

@media(max-width:680px){
    .fp-bankid-signin__logo{
        width:38px;
        height:38px;
    }
}


/* 2026-09-01 — Product rename: keep the ordinary KV mark in the header even
   when the previous KV + All Inclusive asset is still selected in Customizer. */
.kv-home-hero--ola .kv-home-hero__card--purchase>.kv-home-hero__brand{
    font-size:.66rem;
    line-height:1.25;
    letter-spacing:.1em;
}

/* 2026-09-01 — Cohesion/readability pass: Kammarmusikabonnemanget */

/* Startsida: ren produktetikett utan glow/skugga. */
.kv-home-hero--ola .kv-home-hero__card--purchase > .kv-home-hero__brand{
    text-shadow:none!important;
    filter:none!important;
    opacity:1!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

/* Nivåkort: visa tydligt hur många extra personer som ingår. */
.fp-subscribe-level__guest-badge{
    position:absolute;
    z-index:3;
    top:.8rem;
    left:1rem;
    display:inline-grid;
    place-items:center;
    min-width:2.25rem;
    height:2.25rem;
    padding:0 .55rem;
    border-radius:999px;
    border:1px solid rgba(143,89,3,.22);
    background:var(--kv-prime-light);
    color:var(--kv-ink-950);
    font-family:var(--kv-font-mono);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.04em;
    box-shadow:0 6px 18px rgba(11,23,19,.08);
}
.fp-subscribe-level:has(.fp-subscribe-level__guest-badge) .fp-subscribe-level__top{
    padding-top:3.65rem;
}

/* Hero-CTA har en enda, tydlig nedåtpil. */
.fp-subscribe-hero__cta::after{
    content:"↓"!important;
    transform:none!important;
}
.fp-subscribe-hero__cta:hover::after,
.fp-subscribe-hero__cta:focus::after{
    transform:translateY(2px)!important;
}

/* Så fungerar det: klickbar och tydlig steg-navigation. */
.fp-how-flow__rail{
    pointer-events:auto!important;
}
.fp-how-flow__dot{
    cursor:pointer;
}
.fp-how-flow__dot:focus-visible{
    outline:3px solid var(--kv-prime-light);
    outline-offset:2px;
}
.fp-how-flow__dot.is-active{
    color:#fff!important;
}

/* En konsekvent eyebrow-palett: brun på ljust, ljus på brunt, vit på mörkt. */
.fp-how-hero .fp-eyebrow,
.fp-how-step--dark .fp-eyebrow,
.fp-how-organizer .fp-eyebrow,
.fp-discover-events .fp-eyebrow,
.fp-discover-final .fp-eyebrow,
.fp-about-final .fp-eyebrow{
    color:#fff!important;
}
.fp-how-step--lime .fp-eyebrow,
.fp-how-final .fp-eyebrow,
.kv-home-offer .fp-eyebrow,
.fp-discover-places .fp-eyebrow{
    color:var(--kv-prime-light)!important;
}

/* Bruna steg: maximera kontrast utan att byta designriktning. */
.fp-how-step--lime h2{
    color:var(--kv-ink-950)!important;
}
.fp-how-step--lime h2 em{
    color:var(--kv-prime-light)!important;
    font-style:italic;
    overflow-wrap:anywhere;
}
.fp-how-step--lime .fp-how-step__facts span{
    border-color:rgba(255,255,255,.38)!important;
    color:#fff!important;
    background:rgba(11,23,19,.08);
}
.fp-how-step--lime .fp-how-step__facts b{
    color:var(--kv-prime-light)!important;
}
.fp-how-step--lime .fp-how-step__cta{
    color:var(--kv-ink-950)!important;
}
.fp-how-step--lime .fp-how-step__cta:hover,
.fp-how-step--lime .fp-how-step__cta:focus{
    color:#fff!important;
}

/* Stegnummer: vit text oavsett mörk/brun bakgrund. */
.fp-how-step__number span,
.fp-how-step--dark .fp-how-step__number span,
.fp-how-step--lime .fp-how-step__number span{
    color:#fff!important;
}
.fp-how-step--dark .fp-how-step__number span{
    background:var(--kv-prime)!important;
}
.fp-how-step--lime .fp-how-step__number span,
.fp-how-step--paper .fp-how-step__number span{
    background:var(--kv-ink-950)!important;
}
.fp-how-step--dark .fp-how-step__facts b{
    color:#fff!important;
}

/* Länkar på brun bakgrund får vit hover/focus. */
.fp-how-step--lime a:hover,
.fp-how-step--lime a:focus,
.fp-how-final a:hover,
.fp-how-final a:focus,
.kv-home-offer a:hover,
.kv-home-offer a:focus,
.fp-discover-places a:hover,
.fp-discover-places a:focus{
    color:#fff!important;
}

/* Slut-CTA: ljusbrun knapp med svart text för hög läsbarhet. */
.fp-how-final .fp-btn{
    background:var(--kv-prime-light)!important;
    border-color:var(--kv-prime-light)!important;
    color:var(--kv-ink-950)!important;
}
.fp-how-final .fp-btn::after{
    color:var(--kv-ink-950)!important;
}
.fp-how-final .fp-btn:hover,
.fp-how-final .fp-btn:focus{
    background:#fff!important;
    border-color:#fff!important;
    color:var(--kv-ink-950)!important;
}

/* Små generella kontrastjusteringar för en mer sammanhållen palett. */
.fp-section--navy .fp-eyebrow,
.fp-section--dark .fp-eyebrow,
[class*="--dark"] > .fp-wrap .fp-eyebrow{
    color:#fff;
}
.fp-btn--primary,
.fp-nav__list > li.fp-btn > a{
    color:#fff!important;
}

@media(max-width:760px){
    .fp-subscribe-level__guest-badge{
        top:.7rem;
        left:.85rem;
        min-width:2.1rem;
        height:2.1rem;
    }
    .fp-subscribe-level:has(.fp-subscribe-level__guest-badge) .fp-subscribe-level__top{
        padding-top:3.45rem;
    }
}

/* 2026-09-01 — Tydligare vänförmån på abonnemangsnivåerna */
.fp-subscribe-level__guest-badge{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:.48rem;
    width:2.35rem;
    min-width:2.35rem;
    max-width:2.35rem;
    height:2.35rem;
    padding:0 .62rem;
    overflow:hidden;
    white-space:nowrap;
    transition:max-width .24s var(--kv-ease),width .24s var(--kv-ease),box-shadow .24s var(--kv-ease),transform .24s var(--kv-ease);
}
.fp-subscribe-level__guest-icon{display:grid;place-items:center;flex:0 0 1.08rem;width:1.08rem;height:1.08rem}
.fp-subscribe-level__guest-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fp-subscribe-level__guest-copy{display:flex;flex-direction:column;justify-content:center;gap:.05rem;opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease}
.fp-subscribe-level__guest-copy strong{font-family:var(--kv-font-text);font-size:.73rem;line-height:1.15;font-weight:700;letter-spacing:0;text-transform:none}
.fp-subscribe-level__guest-copy small{margin:0!important;color:var(--kv-ink-950)!important;font-family:var(--kv-font-text)!important;font-size:.62rem!important;line-height:1.2;letter-spacing:0!important;text-transform:none;opacity:.72}
.fp-subscribe-level:hover .fp-subscribe-level__guest-badge,
.fp-subscribe-level:focus-visible .fp-subscribe-level__guest-badge{
    width:12.5rem;
    max-width:12.5rem;
    box-shadow:0 10px 26px rgba(11,23,19,.12);
}
.fp-subscribe-level:hover .fp-subscribe-level__guest-copy,
.fp-subscribe-level:focus-visible .fp-subscribe-level__guest-copy{opacity:1;transform:none}

/* Undertexterna i nivåkort ska vara lugna, tydliga och använda vanlig brödtext. */
.fp-subscribe-level__note{
    margin-top:.9rem!important;
    padding-top:.85rem!important;
    border-top:1px solid rgba(16,35,29,.1);
    color:var(--kv-ink-soft)!important;
    font-family:var(--kv-font-text)!important;
    font-size:.76rem!important;
    font-weight:400!important;
    line-height:1.5!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

@media(max-width:760px){
    .fp-subscribe-level__guest-badge{width:auto;max-width:none;min-width:0;padding:.42rem .65rem;height:auto;overflow:visible}
    .fp-subscribe-level__guest-copy{opacity:1;transform:none}
    .fp-subscribe-level__guest-copy small{display:none}
    .fp-subscribe-level:hover .fp-subscribe-level__guest-badge,
    .fp-subscribe-level:focus-visible .fp-subscribe-level__guest-badge{width:auto;max-width:none}
}

/* Så fungerar det – bättre balans och kontrast på bruna steg. */
@media (min-width:981px){
    .fp-how-step--lime .fp-how-step__grid{
        grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
        gap:clamp(2.75rem,5vw,6rem);
    }
    .fp-how-step--lime .fp-how-step__media{
        min-height:min(61svh,660px);
        width:min(100%,520px);
        justify-self:end;
    }
    .fp-how-step--lime .fp-how-step__story{
        max-width:760px;
    }
}

/* Rubriker på brun bakgrund ska alltid vara rena och tydliga i vitt. */
.fp-how-step--lime h2,
.fp-how-step--lime h2 em,
.fp-how-final h2,
.fp-how-final h2 em{
    color:#fff!important;
}

/* 2026-09-01 — Så fungerar det: lighter brown accents in account visual */
.fp-how-account__visual .fp-how-phone__top span,
.fp-how-account__visual .fp-how-phone__booking > b {
    background: var(--kv-prime-light);
}
.fp-how-account__visual .fp-how-phone__booking > span {
    color: var(--kv-prime-light);
}

/* 2026-09-01 — Brown theme contrast polish
   Use the light brown accent whenever an accent sits on photography or dark surfaces. */
.fp-hero__title .fp-hero__gold,
.kv-home-hero h1 em,
.kv-home-hero__card > span,
.kv-home-hero__card p,
.fp-subscribe-hero h1 em,
.fp-how-hero h1 em,
.fp-how-hero .fp-eyebrow,
.fp-how-hero__count,
.fp-how-organizer h2 em,
.fp-how-organizer .fp-eyebrow,
.fp-org-hero h1 em,
.fp-contact-hero__copy h1 em,
.fp-about-hero h1 em,
.fp-about-network h2 em,
.fp-about-final h2 em,
.fp-organizer-single__cta h2 em,
.fp-page-hero--image h1 em,
.fp-page-hero--image .fp-page-hero__meta,
.fp-feature-band--image h2 em,
.fp-feature-band--image .fp-eyebrow {
    color: var(--kv-prime-light) !important;
}

/* Image-backed organizer section: keep the accent readable against the photograph. */
.fp-how-organizer h2 em {
    color: var(--kv-prime-light) !important;
}

/* Dark surfaces use the same light-brown accent for a coherent visual language. */
.fp-section--navy h1 em,
.fp-section--navy h2 em,
.fp-section--navy h3 em,
.fp-section--navy .fp-eyebrow,
.fp-how-step--dark h2 em,
.fp-how-step--dark .fp-eyebrow,
.fp-organizer-single__cta .fp-eyebrow,
.fp-about-final .fp-eyebrow {
    color: var(--kv-prime-light) !important;
}

/* Footer accent — e.g. “Hela Sverige.” */
.fp-footer__brand span {
    color: var(--kv-prime-light) !important;
}


/* 2026-09-01 — global KV logo + eyebrow standard. */
.fp-eyebrow{font-size:.66rem!important}
.kv-home-hero__eyebrow-row,
.kv-home-hero__eyebrow-row .fp-eyebrow,
.kv-home-hero--ola .kv-home-hero__eyebrow{color:var(--kv-prime-light)!important}
.fp-logo{width:auto!important;overflow:visible!important;flex:0 0 auto!important}
.fp-logo__plain{display:block;width:auto!important;height:48px!important;max-width:100%!important;max-height:48px!important;object-fit:contain}
.fp-header--over .fp-logo__plain{filter:brightness(0) invert(1)}
.fp-header:not(.fp-header--over) .fp-logo__plain{filter:brightness(0)}
@media(max-width:860px){.fp-logo__plain{height:44px!important;max-height:44px!important}}


/* 2026-09-01 — /boka/: visa hela platssaldoboxen vid ankarlänk och komprimera nivåerna. */
#kv-current-availability{
    scroll-margin-top:calc(var(--kv-header-height, 78px) + 22px);
}

@media (min-width:981px){
    .fp-subscribe-levels{
        gap:.85rem;
        margin-bottom:3.6rem;
    }
    .fp-subscribe-level{
        min-height:365px;
        border-radius:22px;
    }
    .fp-subscribe-level__top{
        padding:1rem 1.15rem;
    }
    .fp-subscribe-level:has(.fp-subscribe-level__guest-badge) .fp-subscribe-level__top{
        padding-top:3.15rem;
    }
    .fp-subscribe-level__body{
        padding:1.1rem 1.15rem;
    }
    .fp-subscribe-level__body h3{
        margin-bottom:.25rem;
        font-size:1.8rem;
    }
    .fp-subscribe-level__body>p{
        min-height:auto;
        margin-bottom:.85rem;
        font-size:.9rem;
        line-height:1.45;
    }
    .fp-subscribe-level__price{
        padding-top:.85rem;
    }
    .fp-subscribe-level__price strong{
        font-size:2.35rem;
    }
    .fp-subscribe-level__body small{
        font-size:.68rem;
    }
    .fp-subscribe-level__benefits{
        gap:.35rem;
        margin-top:.8rem;
        padding-top:.75rem;
    }
    .fp-subscribe-level__benefits li{
        font-size:.82rem;
        line-height:1.4;
    }
    .fp-subscribe-level__note{
        margin-top:.65rem!important;
        padding-top:.65rem!important;
        font-size:.82rem!important;
        line-height:1.42!important;
    }
    .fp-subscribe-level__choose{
        min-height:46px;
        padding:.65rem 1.15rem;
        font-size:.8rem;
    }
}

@media (max-width:980px){
    #kv-current-availability{
        scroll-margin-top:calc(var(--kv-header-height, 68px) + 16px);
    }
}

/* UPPTÄCK — cohesive Kammarmusikabonnemanget redesign, 2026-09-01 */
.kv-discover{background:var(--kv-paper);color:var(--kv-ink-950)}
.kv-discover .fp-eyebrow{font-size:.66rem;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:var(--kv-prime)}
.kv-discover h1,.kv-discover h2,.kv-discover h3{font-family:var(--kv-font-display);font-weight:400;letter-spacing:-.045em}
.kv-discover h1 em,.kv-discover h2 em{font-weight:400;color:var(--kv-prime);font-style:italic}
.kv-discover-textlink{display:inline-flex;align-items:center;gap:.4rem;color:var(--kv-ink-950);font-size:.8rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.18rem}
.kv-discover-textlink:hover,.kv-discover-textlink:focus-visible{color:var(--kv-prime)}
.kv-discover-hero{padding:clamp(4.5rem,7vw,7rem) 0 clamp(4rem,6vw,6rem)}
.kv-discover-hero__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(3rem,6vw,7rem)}
.kv-discover-hero__copy{max-width:610px}.kv-discover-hero h1{margin:.8rem 0 1.7rem;font-size:clamp(4.2rem,6.6vw,7.6rem);line-height:.86}
.kv-discover-hero__lead{max-width:36rem;margin:0;color:var(--kv-ink-soft);font:400 clamp(1rem,1.15vw,1.18rem)/1.62 var(--kv-font-text)}
.kv-discover-hero__actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:2rem}
.kv-discover-hero__media{position:relative;margin:0;overflow:hidden;border-radius:32px;aspect-ratio:1.02/1;background:var(--kv-paper-2);box-shadow:0 24px 70px rgba(11,23,19,.13)}
.kv-discover-hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
.kv-discover-how{padding:clamp(4rem,6vw,6rem) 0;background:#fff;border-block:1px solid var(--kv-rule)}
.kv-discover-sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:clamp(2.2rem,4vw,4rem)}
.kv-discover-sectionhead--compact{margin-bottom:2rem}.kv-discover-sectionhead h2{margin:.5rem 0 0;font-size:clamp(2.6rem,4vw,4.8rem);line-height:.95}
.kv-discover-sectionhead__aside{max-width:31rem}.kv-discover-sectionhead__aside p{margin:0 0 1rem;color:var(--kv-ink-soft);line-height:1.6}
.kv-discover-how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.kv-discover-how__card{position:relative;display:grid;grid-template-rows:auto 1fr auto auto;min-height:280px;padding:1.6rem;border:1px solid var(--kv-rule);border-radius:24px;background:var(--kv-paper);color:var(--kv-ink-950);text-decoration:none;transition:transform .28s var(--kv-ease),border-color .28s,box-shadow .28s}
.kv-discover-how__card:hover{transform:translateY(-4px);border-color:rgba(143,89,3,.35);box-shadow:var(--kv-shadow-sm);color:var(--kv-ink-950)}
.kv-discover-how__number{position:absolute;top:1.35rem;left:1.35rem;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--kv-prime);color:#fff;font:600 .58rem/1 var(--kv-font-mono)}
.kv-discover-how__icon{justify-self:center;align-self:center;font:400 3rem/1 var(--kv-font-display);color:var(--kv-prime)}
.kv-discover-how__card strong{display:block;margin-top:1.2rem;font:400 clamp(1.7rem,2.2vw,2.35rem)/1 var(--kv-font-display)}
.kv-discover-how__card p{margin:.65rem 0 0;color:var(--kv-ink-soft);font-size:.88rem;line-height:1.55}
.kv-discover-festivals{background:var(--kv-paper)}.kv-discover-festival-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.kv-discover-festival-card{display:block;color:var(--kv-ink-950);text-decoration:none;min-width:0}.kv-discover-festival-card:hover{color:var(--kv-ink-950)}
.kv-discover-festival-card__image{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:4/3;background:var(--kv-paper-2);margin-bottom:1rem}
.kv-discover-festival-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--kv-ease)}.kv-discover-festival-card:hover img{transform:scale(1.035)}
.kv-discover-festival-card .kv-live-badge{position:absolute;z-index:2;top:1rem;left:1rem;margin:0}.kv-discover-festival-card__arrow{position:absolute;right:1rem;bottom:1rem;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(11,23,19,.88);color:var(--kv-prime-light);font-size:1rem}
.kv-discover-festival-card h3{margin:.45rem 0 .85rem;font-size:clamp(2rem,2.8vw,3.1rem);line-height:.98}.kv-discover-festival-card__link{display:inline-block;font-size:.75rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.kv-discover-closing{padding:clamp(4.8rem,7vw,7.5rem) 0;background:var(--kv-ink-950);color:#fff}.kv-discover-closing .fp-eyebrow{color:var(--kv-prime-light)}
.kv-discover-closing__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(3rem,6vw,7rem);align-items:center}.kv-discover-closing__intro h2{margin:.65rem 0 1.2rem;font-size:clamp(3.6rem,5.8vw,6.6rem);line-height:.88;color:#fff}.kv-discover-closing__intro h2 em{color:var(--kv-prime-light)}
.kv-discover-closing__intro>p:not(.fp-eyebrow){max-width:30rem;color:rgba(255,255,255,.68);line-height:1.6}.kv-discover-closing__intro .fp-btn{margin-top:1.4rem;background:var(--kv-prime);border-color:var(--kv-prime);color:#fff}
.kv-discover-closing__facts{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.14)}.kv-discover-closing__facts>div{min-height:220px;padding:1.2rem 1.7rem;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:center}
.kv-discover-closing__facts span{display:block;margin-bottom:1rem;color:var(--kv-prime-light);font-size:2.4rem;line-height:1}.kv-discover-closing__facts strong{font:400 clamp(1.55rem,2vw,2.1rem)/1 var(--kv-font-display);color:#fff}.kv-discover-closing__facts p{margin:.8rem 0 0;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.55}
@media(max-width:980px){.kv-discover-hero__grid,.kv-discover-closing__grid{grid-template-columns:1fr}.kv-discover-hero__media{max-width:720px;aspect-ratio:4/3}.kv-discover-how__grid,.kv-discover-festival-grid{grid-template-columns:1fr 1fr}.kv-discover-how__card:last-child,.kv-discover-festival-card:last-child{grid-column:1/-1}.kv-discover-closing__facts{border-left:0;border-top:1px solid rgba(255,255,255,.14)}}
@media(max-width:680px){.kv-discover-hero{padding-top:3.5rem}.kv-discover-hero__grid{gap:2.2rem}.kv-discover-hero h1{font-size:clamp(3.7rem,17vw,5.6rem)}.kv-discover-hero__media{aspect-ratio:4/5;border-radius:24px}.kv-discover-hero__actions{align-items:flex-start;flex-direction:column}.kv-discover-sectionhead{align-items:flex-start;flex-direction:column;gap:1.4rem}.kv-discover-how__grid,.kv-discover-festival-grid{grid-template-columns:1fr}.kv-discover-how__card:last-child,.kv-discover-festival-card:last-child{grid-column:auto}.kv-discover-how__card{min-height:235px}.kv-discover-closing__facts{grid-template-columns:1fr}.kv-discover-closing__facts>div{min-height:0;padding:1.35rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}


/* 2026-09-01 — canonical KV logo. Never crop the artwork. */
.fp-logo{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
}
.fp-logo .fp-logo__image{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    height:54px!important;
    max-width:150px!important;
    max-height:54px!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:invert(1);
}
.fp-header--over .fp-logo .fp-logo__image{filter:none}
@media(max-width:860px){
    .fp-logo .fp-logo__image{
        width:auto!important;
        height:46px!important;
        max-width:128px!important;
        max-height:46px!important;
        object-fit:contain!important;
    }
    body:has(.fp-nav__list[data-open="true"]) .fp-logo .fp-logo__image{filter:none}
}

/* 2026-09-01 — Upptäck finishing pass + Ola mobile homepage flow.
   Additive overrides only: no unrelated component rules are removed. */
.kv-discover-how__grid{gap:1.15rem}
.kv-discover-how__card{
    display:flex;
    min-height:330px;
    flex-direction:column;
    justify-content:space-between;
    padding:1.45rem 1.5rem 1.35rem;
    overflow:hidden;
    border-color:rgba(17,31,26,.13);
    background:linear-gradient(145deg,#fbf8f1 0%,#f4ede1 100%);
    box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.kv-discover-how__card::after{
    content:"";
    position:absolute;
    right:-58px;
    top:-62px;
    width:175px;
    height:175px;
    border:1px solid rgba(143,89,3,.12);
    border-radius:50%;
    pointer-events:none;
}
.kv-discover-how__card:hover{
    transform:translateY(-5px);
    border-color:rgba(143,89,3,.38);
    box-shadow:0 18px 42px rgba(31,24,13,.08);
}
.kv-discover-how__top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.kv-discover-how__number{position:static;width:34px;height:34px;background:var(--kv-prime);color:#fff}
.kv-discover-how__icon{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border:1px solid rgba(143,89,3,.2);
    border-radius:18px;
    background:rgba(255,255,255,.58);
    color:var(--kv-prime);
    font-size:0;
}
.kv-discover-how__icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kv-discover-how__body{position:relative;z-index:1;margin-top:2.8rem}
.kv-discover-how__kicker{display:block;margin-bottom:.55rem;font:600 .58rem/1 var(--kv-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kv-prime)}
.kv-discover-how__card strong{margin:0;max-width:12ch;font-size:clamp(2rem,2.45vw,2.7rem);line-height:.96}
.kv-discover-how__card p{max-width:30rem;margin:.85rem 0 0;font-size:.9rem;line-height:1.6;color:var(--kv-ink-soft)}
.kv-discover-how__link{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-top:1.7rem;padding-top:1rem;border-top:1px solid rgba(17,31,26,.12);font-size:.72rem;font-weight:700;color:var(--kv-ink-950)}
.kv-discover-how__link b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--kv-ink-950);color:var(--kv-prime-light);font-weight:400;transition:transform .25s var(--kv-ease)}
.kv-discover-how__card:hover .kv-discover-how__link b{transform:translate(2px,-2px)}

.kv-discover-festivals .kv-discover-sectionhead{align-items:stretch}
.kv-discover-festivals .kv-discover-sectionhead>div:first-child{align-self:flex-end;padding-bottom:.35rem}
.kv-discover-sectionhead__aside{width:min(100%,34rem);max-width:34rem}
.kv-discover-sectionhead__visual{position:relative;margin:0 0 1.35rem;aspect-ratio:16/7;overflow:hidden;border-radius:22px;background:var(--kv-paper-2);box-shadow:0 14px 35px rgba(20,25,21,.09)}
.kv-discover-sectionhead__visual::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,18,13,.72))}
.kv-discover-sectionhead__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.kv-discover-sectionhead__visual figcaption{position:absolute;z-index:1;left:1rem;right:1rem;bottom:.9rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;color:#fff}
.kv-discover-sectionhead__visual figcaption span{font:600 .55rem/1 var(--kv-font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--kv-prime-light)}
.kv-discover-sectionhead__visual figcaption strong{font-size:.72rem;letter-spacing:.02em;color:#fff}

.kv-discover-closing{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#5c3908 0%,#714708 56%,#5a3707 100%);
}
.kv-discover-closing::before{content:"";position:absolute;inset:auto auto -220px -130px;width:520px;height:520px;border-radius:50%;background:rgba(251,215,157,.08);filter:blur(2px)}
.kv-discover-closing__grid{position:relative;z-index:1;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:clamp(4rem,8vw,9rem);align-items:center}
.kv-discover-closing__intro{padding-right:clamp(0rem,2vw,2rem)}
.kv-discover-closing__intro h2{max-width:7.5ch}
.kv-discover-closing__intro>p:not(.fp-eyebrow){color:rgba(255,255,255,.78)}
.kv-discover-closing__intro .fp-btn{background:var(--kv-prime-light);border-color:var(--kv-prime-light);color:var(--kv-ink-950)}
.kv-discover-closing__intro .fp-btn:hover,.kv-discover-closing__intro .fp-btn:focus-visible{background:#fff;border-color:#fff;color:var(--kv-ink-950)}
.kv-discover-closing__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border:0}
.kv-discover-closing__facts>div{min-height:245px;padding:1.6rem;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(26,17,4,.16);box-shadow:inset 0 1px rgba(255,255,255,.04);justify-content:flex-start}
.kv-discover-closing__facts span{display:grid;place-items:center;width:48px;height:48px;margin:0 0 auto;border:1px solid rgba(251,215,157,.45);border-radius:50%;font-size:1.55rem;color:var(--kv-prime-light)}
.kv-discover-closing__facts strong{margin-top:2.1rem;font-size:clamp(1.65rem,2.1vw,2.25rem);line-height:.98}
.kv-discover-closing__facts p{color:rgba(255,255,255,.72);font-size:.84rem}

@media(max-width:980px){
    .kv-discover-festivals .kv-discover-sectionhead>div:first-child{align-self:auto;padding-bottom:0}
    .kv-discover-sectionhead__aside{max-width:none}
    .kv-discover-closing__grid{gap:3rem}
    .kv-discover-closing__facts{border-top:0}
}
@media(max-width:680px){
    .kv-discover-how__card{min-height:300px;padding:1.3rem}
    .kv-discover-how__body{margin-top:2.2rem}
    .kv-discover-sectionhead__visual{aspect-ratio:16/9;border-radius:18px}
    .kv-discover-closing{padding-block:4.5rem}
    .kv-discover-closing__grid{gap:2.5rem}
    .kv-discover-closing__facts{gap:.75rem}
    .kv-discover-closing__facts>div{min-height:0;padding:1.35rem;border:1px solid rgba(255,255,255,.16)}
    .kv-discover-closing__facts strong{margin-top:1.35rem}
}

/* Ola: mobile homepage hierarchy. Keep desktop untouched. */
@media(max-width:760px){
    .kv-home-hero--ola .kv-home-hero__inner{display:grid;grid-template-columns:1fr;gap:0;padding-top:7.2rem;padding-bottom:2rem}
    .kv-home-hero--ola .kv-home-hero__copy{display:contents}
    .kv-home-hero--ola .kv-home-hero__eyebrow-row{order:1;margin:0 0 .8rem}
    .kv-home-hero--ola h1{order:2;max-width:100%;margin:0;font-size:clamp(4.9rem,22vw,6.9rem);line-height:.82;letter-spacing:-.06em}
    .kv-home-hero--ola .kv-home-hero__actionline{order:3;margin:.55rem 0 1rem;font-size:clamp(2.35rem,10.8vw,3.5rem);line-height:.95}
    .kv-home-hero--ola .fp-hero__lead{order:4;margin:0 0 1.6rem;max-width:34rem;font-size:1rem;line-height:1.48}
    .kv-home-hero--ola .kv-home-hero__card--purchase{order:5;width:100%;max-width:none;margin:0 0 1.35rem;justify-self:stretch}
    .kv-home-hero--ola .kv-home-hero__actions{order:6;display:grid;grid-template-columns:1fr;gap:.65rem;width:100%;margin:0!important}
    .kv-home-hero--ola .kv-home-hero__trust{order:7;margin:.85rem 0 0}
    .kv-home-hero--ola .kv-home-hero__benefits{order:8;width:100%;max-width:none;margin:1.35rem 0 0}
}
@media(min-width:560px) and (max-width:760px){
    .kv-home-hero--ola .kv-home-hero__actions{grid-template-columns:1fr 1fr}
    .kv-home-hero--ola .kv-home-hero__actions .fp-btn{padding-inline:1rem;font-size:.74rem}
}

/* 2026-09-01 — Homepage title: keep Ola's plural headline on exactly two lines. */
.kv-home-hero--ola h1 > span{display:block}
.kv-home-hero--ola h1 > span:first-child{white-space:nowrap}
@media(max-width:600px){
    .kv-home-hero--ola h1{font-size:clamp(3.15rem,14vw,4.65rem)!important;line-height:.86!important}
}

/* 2026-09-01 — Concert selection in the availability panel. */
.fp-subscribe-availability__row{
    position:relative;
    grid-template-columns:42px minmax(0,1fr) auto;
    cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease;
}
.fp-subscribe-availability__row:hover{background:rgba(255,255,255,.035)}
.fp-subscribe-availability__input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}
.fp-subscribe-availability__check{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    align-self:center;
    border:1.5px solid rgba(251,215,157,.5);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    color:var(--kv-ink-950);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fp-subscribe-availability__check svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.72);transition:opacity .14s ease,transform .14s ease}
.fp-subscribe-availability__input:checked + .fp-subscribe-availability__check{
    background:var(--kv-prime-light);
    border-color:var(--kv-prime-light);
    box-shadow:0 0 0 4px rgba(251,215,157,.09);
}
.fp-subscribe-availability__input:checked + .fp-subscribe-availability__check svg{opacity:1;transform:scale(1)}
.fp-subscribe-availability__input:focus-visible + .fp-subscribe-availability__check{outline:2px solid #fff;outline-offset:3px}
.fp-subscribe-availability__row:has(.fp-subscribe-availability__input:checked){background:rgba(251,215,157,.055)}
.fp-subscribe-availability__copy{min-width:0}
@media(max-width:680px){
    .fp-subscribe-availability__row{
        grid-template-columns:38px minmax(0,1fr);
        gap:.7rem .8rem;
    }
    .fp-subscribe-availability__check{width:32px;height:32px}
    .fp-subscribe-availability__row .kv-live-badge{grid-column:2;justify-self:start}
}

/* Existing subscriber BankID login — /boka/ */
.fp-existing-member{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.fp-existing-member__copy{
    display:grid;
    gap:.18rem;
    min-width:0;
}
.fp-existing-member__copy strong{
    font-size:.84rem;
    line-height:1.3;
    font-weight:700;
}
.fp-existing-member__copy span{
    font-size:.72rem;
    line-height:1.45;
}
.fp-existing-member__bankid{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    min-height:48px;
    padding:.55rem .9rem .55rem .62rem;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    background:#fff;
    color:var(--kv-ink-950)!important;
    font-size:.78rem;
    line-height:1;
    font-weight:750;
    text-decoration:none!important;
    white-space:nowrap;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fp-existing-member__bankid:hover,
.fp-existing-member__bankid:focus-visible{
    color:var(--kv-ink-950)!important;
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.42);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.fp-existing-member__bankid-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:50%;
    background:var(--kv-ink-950);
}
.fp-existing-member__bankid-icon img{
    display:block;
    width:21px;
    height:21px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}
.fp-existing-member__arrow{
    font-size:.9rem;
    line-height:1;
}
.fp-existing-member--hero{
    max-width:650px;
    margin-top:1.25rem;
    padding-top:1.1rem;
    border-top:1px solid rgba(255,255,255,.16);
    color:#fff;
}
.fp-existing-member--hero .fp-existing-member__copy span{
    color:rgba(255,255,255,.68);
}
.fp-existing-member--inline{
    margin-top:1.35rem;
    padding:1rem 1.05rem;
    border:1px solid rgba(16,35,29,.13);
    border-radius:16px;
    background:rgba(241,229,208,.42);
    color:var(--kv-ink-950);
}
.fp-existing-member--inline .fp-existing-member__copy span{
    color:var(--kv-ink-soft);
}
.fp-existing-member--inline .fp-existing-member__bankid{
    border-color:rgba(16,35,29,.15);
    background:var(--kv-ink-950);
    color:#fff!important;
}
.fp-existing-member--inline .fp-existing-member__bankid:hover,
.fp-existing-member--inline .fp-existing-member__bankid:focus-visible{
    color:#fff!important;
    border-color:rgba(16,35,29,.28);
    box-shadow:0 9px 24px rgba(16,35,29,.14);
}
.fp-existing-member--inline .fp-existing-member__bankid-icon{
    background:#fff;
}
.fp-existing-member--inline .fp-existing-member__bankid-icon img{
    filter:brightness(0);
}
.fp-existing-member__bankid--compact{
    min-height:44px;
    padding-top:.4rem;
    padding-bottom:.4rem;
}
.fp-existing-member__bankid--compact .fp-existing-member__bankid-icon{
    width:31px;
    height:31px;
    flex-basis:31px;
}
.fp-existing-member__bankid--compact .fp-existing-member__bankid-icon img{
    width:19px;
    height:19px;
}
@media(max-width:760px){
    .fp-existing-member--hero,
    .fp-existing-member--inline{
        align-items:flex-start;
        flex-direction:column;
    }
    .fp-existing-member__bankid{
        width:100%;
    }
    .fp-existing-member--hero{
        margin-top:1rem;
    }
}

/* Existing subscriber BankID login — functional button state */
.fp-existing-member{flex-wrap:wrap}
.fp-existing-member__bankid{
    appearance:none;
    -webkit-appearance:none;
    font-family:inherit;
    cursor:pointer;
}
.fp-existing-member__bankid:disabled,
.fp-existing-member__bankid.is-loading{
    cursor:wait;
    opacity:.72;
    transform:none;
}
.fp-existing-member__error{
    flex:0 0 100%;
    margin:.15rem 0 0;
    font-size:.68rem;
    line-height:1.45;
    font-weight:650;
}
.fp-existing-member--hero .fp-existing-member__error{color:var(--kv-prime-light)}
.fp-existing-member--inline .fp-existing-member__error{color:#8b2f24}

/* 2026-09-01 — Ola: konsertval före nivåboxarna + valfritt antal platser per konsert. */
.fp-subscribe-availability{
    margin:clamp(2rem,4vw,3.4rem) 0 clamp(2.4rem,4.8vw,4.2rem);
}
.fp-subscribe-availability__level-limit{
    display:inline-grid;
    grid-template-columns:auto auto;
    gap:.12rem .55rem;
    align-items:baseline;
    margin-top:.35rem;
    padding:.78rem .9rem;
    border:1px solid rgba(251,215,157,.28);
    border-radius:14px;
    background:rgba(251,215,157,.07);
}
.fp-subscribe-availability__level-limit>span{
    color:var(--kv-prime-light);
    font-family:var(--kv-font-mono);
    font-size:.54rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.fp-subscribe-availability__level-limit>strong{color:#fff;font-size:.82rem}
.fp-subscribe-availability__level-limit>small{
    grid-column:1/-1;
    color:rgba(255,255,255,.67);
    font-size:.68rem;
}
.fp-subscribe-availability__level-limit b{color:var(--kv-prime-light)}

.fp-subscribe-availability__row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem 1rem;
    cursor:default;
}
.fp-subscribe-availability__select{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.9rem;
    align-items:center;
    min-width:0;
    cursor:pointer;
}
.fp-subscribe-availability__row:hover{background:rgba(255,255,255,.035)}
.fp-subscribe-availability__row:has(.fp-subscribe-availability__input:checked){
    background:linear-gradient(90deg,rgba(251,215,157,.075),rgba(251,215,157,.025));
}
.fp-subscribe-availability__quantity{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.8rem;
    padding-top:.72rem;
    margin-top:.08rem;
    border-top:1px solid rgba(255,255,255,.08);
}
.fp-subscribe-availability__quantity[hidden]{display:none!important}
.fp-subscribe-availability__quantity-label{
    color:rgba(255,255,255,.62);
    font-size:.68rem;
    font-weight:600;
}
.fp-subscribe-availability__quantity-options{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    padding:.24rem;
    border:1px solid rgba(251,215,157,.25);
    border-radius:999px;
    background:rgba(0,0,0,.12);
}
.fp-subscribe-availability__quantity-options button{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#fff;
    font:700 .75rem/1 var(--kv-font-sans);
    cursor:pointer;
    transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.fp-subscribe-availability__quantity-options button:hover:not(:disabled){
    background:rgba(251,215,157,.13);
    color:var(--kv-prime-light);
}
.fp-subscribe-availability__quantity-options button.is-selected{
    background:var(--kv-prime-light);
    color:var(--kv-ink-950);
    box-shadow:0 3px 14px rgba(0,0,0,.16);
}
.fp-subscribe-availability__quantity-options button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fp-subscribe-availability__quantity-options button[hidden]{display:none!important}

@media(max-width:680px){
    .fp-subscribe-availability__row{
        grid-template-columns:1fr;
        gap:.7rem;
        padding:1rem;
    }
    .fp-subscribe-availability__select{grid-template-columns:38px minmax(0,1fr);gap:.7rem .8rem}
    .fp-subscribe-availability__row .kv-live-badge{grid-column:1;justify-self:start;margin-left:46px}
    .fp-subscribe-availability__quantity{
        grid-column:1;
        justify-content:space-between;
        gap:.65rem;
        margin-left:46px;
    }
    .fp-subscribe-availability__quantity-options button{width:32px;height:32px}
    .fp-subscribe-availability__level-limit{display:grid;width:100%;grid-template-columns:auto 1fr}
}

/* 2026-09-02: Midvinter-first communication */
.kv-home-hero__bonus,
.fp-subscribe-hero__bonus{
    display:grid;
    gap:.22rem;
    margin-top:1rem;
    padding:.9rem 1rem;
    border:1px solid rgba(251,215,157,.38);
    border-radius:16px;
    background:rgba(251,215,157,.10);
}
.kv-home-hero__bonus strong,
.fp-subscribe-hero__bonus strong{
    color:var(--kv-prime-light);
    font-size:.68rem;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.kv-home-hero__bonus span,
.fp-subscribe-hero__bonus span{color:#fff;line-height:1.45}
.kv-home-hero--ola .kv-home-hero__card--purchase .kv-home-hero__bonus span{color:inherit}
.kv-home-hero--ola h1{max-width:950px}
.kv-home-hero--ola .kv-home-hero__actionline small{font-size:.5em;font-weight:500;letter-spacing:-.01em}
@media (max-width:767px){
    .kv-home-hero--ola h1{font-size:clamp(2.85rem,12.8vw,4.25rem)!important;line-height:.88!important}
    .kv-home-hero--ola h1>span:first-child{white-space:normal}
    .kv-home-hero--ola .kv-home-hero__actionline{font-size:clamp(2rem,9.5vw,3rem)}
    .fp-subscribe-hero__bonus{margin-top:.85rem}
}

/* 2026-09-02: Keep Midvinter hero headline clear of purchase card on desktop */
@media (min-width:768px){
    .kv-home-hero--ola h1{
        max-width:12ch;
        font-size:clamp(4rem,5.55vw,6.15rem)!important;
        line-height:.88!important;
        letter-spacing:-.05em;
    }
    .kv-home-hero--ola h1>span:first-child{white-space:normal}
}

/* 2026-09-02: Boka hero headline width + stronger Kammarmusikabonnemanget eyebrow */
.kv-home-hero--ola .kv-home-hero__eyebrow,
.fp-subscribe-hero--kv > .fp-wrap .fp-subscribe-hero__copy > .fp-eyebrow{
    font-size:.78rem!important;
    line-height:1.2;
    letter-spacing:.12em;
}

@media (min-width:1060px){
    .fp-subscribe-hero--kv .fp-subscribe-hero__copy{
        max-width:650px;
    }
    .fp-subscribe-hero--kv h1{
        max-width:8.2ch;
        font-size:clamp(3.75rem,4.8vw,5.75rem)!important;
        line-height:.9!important;
        letter-spacing:-.05em;
    }
}

@media (max-width:760px){
    .kv-home-hero--ola .kv-home-hero__eyebrow,
    .fp-subscribe-hero--kv > .fp-wrap .fp-subscribe-hero__copy > .fp-eyebrow{
        font-size:.9rem!important;
        line-height:1.2;
        letter-spacing:.11em;
    }
}

/* 2026-09-02 — Festival-specific /boka/ entry: Midvinter first impression. */
.fp-subscribe-hero--local{position:relative;overflow:hidden;background:var(--kv-prime,#8f5903);color:#fff}
.fp-subscribe-hero--local:before{content:"";position:absolute;inset:auto -9rem -12rem auto;width:32rem;height:32rem;border:1px solid rgba(251,215,157,.25);border-radius:50%;box-shadow:0 0 0 4rem rgba(251,215,157,.045),0 0 0 8rem rgba(251,215,157,.035);pointer-events:none}
.fp-subscribe-local__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:clamp(3rem,7vw,8rem);align-items:center;min-height:720px;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}
.fp-subscribe-local__festival{margin:0 0 1.35rem;text-transform:uppercase;font-size:.88rem;font-weight:800;letter-spacing:.17em;color:var(--kv-prime-light,#fbd79d)}
.fp-subscribe-hero--local h1{max-width:10ch!important;margin:0;font-size:clamp(4.4rem,6.1vw,7rem)!important;line-height:.87!important;letter-spacing:-.055em;color:#fff}
.fp-subscribe-hero--local h1 em{font-style:normal;color:var(--kv-prime-light,#fbd79d)}
.fp-subscribe-local__through{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;margin:2rem 0 .55rem;font-size:1rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.78)}
.fp-subscribe-local__through strong{font-size:1.18rem;color:#fff}
.fp-subscribe-local__price{display:flex;align-items:baseline;gap:1.2rem;margin:.3rem 0 1.2rem}.fp-subscribe-local__price strong{font-size:clamp(2.7rem,4vw,4.25rem);line-height:1;color:#fff}.fp-subscribe-local__price strong small{font-size:.95rem;font-weight:700}.fp-subscribe-local__price>span{font-size:1.05rem;color:var(--kv-prime-light,#fbd79d)}
.fp-subscribe-local__lead{max-width:570px;margin:0 0 1.3rem;font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.5;color:#fff}
.fp-subscribe-local__bonus{display:flex;gap:.7rem;max-width:620px;margin:0 0 1.8rem;padding:1rem 1.1rem;border-left:3px solid var(--kv-prime-light,#fbd79d);background:rgba(0,0,0,.12)}.fp-subscribe-local__bonus strong{text-transform:uppercase;letter-spacing:.08em;color:var(--kv-prime-light,#fbd79d);white-space:nowrap}.fp-subscribe-local__bonus span{color:#fff}
.fp-subscribe-local__cta{background:#fff!important;color:var(--kv-prime,#8f5903)!important}
.fp-subscribe-local__aside{position:relative;padding:clamp(2rem,3.5vw,3.2rem);border:1px solid rgba(251,215,157,.45);background:rgba(20,30,23,.82);backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.fp-subscribe-local__stamp{display:inline-block;margin-bottom:1.4rem;padding:.55rem .75rem;border:1px solid var(--kv-prime-light,#fbd79d);font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--kv-prime-light,#fbd79d)}
.fp-subscribe-local__aside>p{margin:0 0 .7rem;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.65)}
.fp-subscribe-local__aside h2{margin:0 0 1.8rem;font-size:clamp(2.15rem,3vw,3.35rem);line-height:.98;letter-spacing:-.045em;color:#fff}.fp-subscribe-local__aside h2 em{font-style:normal;color:var(--kv-prime-light,#fbd79d)}
.fp-subscribe-local__aside ul{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}.fp-subscribe-local__aside li{display:flex;gap:.7rem;align-items:flex-start;color:#fff}.fp-subscribe-local__aside li span{color:var(--kv-prime-light,#fbd79d);font-weight:900}
@media(max-width:900px){.fp-subscribe-local__inner{grid-template-columns:1fr;min-height:auto;gap:2.5rem}.fp-subscribe-local__aside{max-width:620px}.fp-subscribe-hero--local h1{font-size:clamp(3.7rem,10vw,6rem)!important}}
@media(max-width:600px){.fp-subscribe-local__inner{padding-top:4.5rem;padding-bottom:4rem}.fp-subscribe-hero--local h1{max-width:9ch!important;font-size:clamp(3.15rem,15vw,4.65rem)!important}.fp-subscribe-local__festival{font-size:.76rem}.fp-subscribe-local__through{margin-top:1.55rem}.fp-subscribe-local__price{display:block}.fp-subscribe-local__price>span{display:block;margin-top:.45rem}.fp-subscribe-local__bonus{display:block}.fp-subscribe-local__bonus strong{display:block;margin-bottom:.35rem}.fp-subscribe-local__aside{padding:1.6rem}}

/* 2026-09-02 — Ola: larger subscription eyebrow + two-line mobile hero title. */
@media (max-width: 760px){
    .kv-home-hero--ola .kv-home-hero__eyebrow{
        font-size:1.28rem!important;
        line-height:1.08!important;
        letter-spacing:.08em!important;
        white-space:nowrap;
    }

    .kv-home-hero--ola h1{
        max-width:none!important;
        font-size:clamp(1.95rem,8.55vw,2.75rem)!important;
        line-height:.92!important;
        letter-spacing:-.055em!important;
    }

    .kv-home-hero--ola h1 > span{
        display:block;
        white-space:nowrap!important;
    }
}

/* 2026-09-02 — Ola: stronger desktop eyebrow + exactly two hero title rows. */
@media (min-width: 761px){
    .kv-home-hero--ola .kv-home-hero__eyebrow{
        font-size:1.05rem!important;
        line-height:1.08!important;
        letter-spacing:.09em!important;
    }

    .kv-home-hero--ola h1{
        max-width:none!important;
        font-size:clamp(3.15rem,3.45vw,3.75rem)!important;
        line-height:.9!important;
        letter-spacing:-.05em!important;
    }

    .kv-home-hero--ola h1 > span{
        display:block;
        white-space:nowrap!important;
    }
}


/* 2026-09-02 — /boka/: larger subscription eyebrow + controlled two-line hero title. */
.fp-subscribe-hero--kv > .fp-wrap .fp-subscribe-hero__copy > .fp-eyebrow{
    font-size:1.05rem!important;
    line-height:1.08!important;
    letter-spacing:.09em!important;
}
.fp-subscribe-hero--kv h1{
    max-width:none!important;
    font-size:clamp(3.05rem,3.4vw,3.7rem)!important;
    line-height:.91!important;
    letter-spacing:-.05em!important;
}
.fp-subscribe-hero--kv h1 > span{
    display:block;
    white-space:nowrap!important;
}
@media (max-width:760px){
    .fp-subscribe-hero--kv > .fp-wrap .fp-subscribe-hero__copy > .fp-eyebrow{
        font-size:1.28rem!important;
        line-height:1.08!important;
        letter-spacing:.08em!important;
        white-space:nowrap;
    }
    .fp-subscribe-hero--kv h1{
        font-size:clamp(1.9rem,8.2vw,2.7rem)!important;
        line-height:.93!important;
    }
    .fp-subscribe-hero--kv h1 > span{
        white-space:normal!important;
    }
}

/* 2026-09-02 — /boka/ desktop: use more of the available hero width while preserving two lines. */
@media (min-width:1060px){
    .fp-subscribe-hero--kv h1{
        font-size:clamp(3.55rem,3.95vw,4.35rem)!important;
        line-height:.9!important;
    }
}

/* ========================================================================== 
   2026-09-02 — BankID-identitet i headern
   ========================================================================== */
.fp-bankid-header-status{
    display:flex;
    align-items:center;
    gap:.55rem;
    min-width:0;
    margin-left:auto;
    margin-right:1rem;
    padding:.42rem .48rem .42rem .58rem;
    border:1px solid rgba(143,89,3,.22);
    border-radius:999px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 24px rgba(8,29,22,.06);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.fp-bankid-header-status[hidden]{display:none!important}
.fp-bankid-header-status__check{
    display:grid;
    place-items:center;
    flex:0 0 1.75rem;
    width:1.75rem;
    height:1.75rem;
    border-radius:50%;
    background:#0d3a2c;
    color:#fff;
    font-size:.8rem;
    font-weight:800;
}
.fp-bankid-header-status__copy{
    display:flex;
    flex-direction:column;
    min-width:0;
    line-height:1.08;
}
.fp-bankid-header-status__copy small{
    margin-bottom:.13rem;
    color:#786c58;
    font-size:.55rem;
    font-weight:700;
    letter-spacing:.055em;
    text-transform:uppercase;
    white-space:nowrap;
}
.fp-bankid-header-status__copy strong{
    max-width:13rem;
    overflow:hidden;
    color:#10231d;
    font-size:.74rem;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fp-bankid-header-status__logout{
    appearance:none;
    display:grid;
    place-items:center;
    width:2rem;
    height:2rem;
    flex:0 0 2rem;
    border:0;
    border-left:1px solid rgba(143,89,3,.18);
    background:transparent;
    color:#8f5903;
    cursor:pointer;
    padding:.3rem .15rem .3rem .45rem;
}
.fp-bankid-header-status__logout svg{
    width:1rem;
    height:1rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.fp-bankid-header-status__logout:hover,
.fp-bankid-header-status__logout:focus-visible{
    color:#5f3900;
}
.fp-bankid-header-status__logout.is-loading svg{opacity:.4}
.fp-bankid-header-status__logout:disabled{cursor:wait;opacity:.55}

.fp-header--over .fp-bankid-header-status{
    border-color:rgba(255,255,255,.22);
    background:rgba(6,28,21,.58);
    box-shadow:none;
}
.fp-header--over .fp-bankid-header-status__check{background:#fbd79d;color:#17352b}
.fp-header--over .fp-bankid-header-status__copy small{color:rgba(255,255,255,.65)}
.fp-header--over .fp-bankid-header-status__copy strong{color:#fff}
.fp-header--over .fp-bankid-header-status__logout{
    border-left-color:rgba(255,255,255,.18);
    color:#fbd79d;
}

@media (max-width:900px){
    .fp-bankid-header-status{
        margin-left:auto;
        margin-right:.45rem;
        gap:.4rem;
        padding:.34rem .38rem;
    }
    .fp-bankid-header-status__check{
        flex-basis:1.55rem;
        width:1.55rem;
        height:1.55rem;
        font-size:.7rem;
    }
    .fp-bankid-header-status__copy small{display:none}
    .fp-bankid-header-status__copy strong{
        max-width:8rem;
        font-size:.68rem;
    }
    .fp-bankid-header-status__logout{
        width:1.85rem;
        height:1.85rem;
        flex-basis:1.85rem;
        padding:.28rem .12rem .28rem .4rem;
    }
}

@media (max-width:560px){
    .fp-bankid-header-status__copy strong{max-width:5.5rem}
    .fp-bankid-header-status__logout{padding:.26rem .1rem .26rem .38rem}
}

/* 2026-09-02 — Homepage: clarify annual price and match /boka/ title emphasis. */
.kv-home-hero--ola h1 .kv-home-hero__title-accent{
    color:var(--kv-prime-light,#fbd79d)!important;
    font-style:italic;
}
.kv-home-hero--ola .kv-home-hero__actionline .kv-home-hero__price-period{
    font-size:.5em;
    font-weight:600;
    letter-spacing:-.01em;
}

/* 2026-09-03 — /boka/: Midvinter summary card matches homepage purchase card. */
.fp-subscribe-hero--midvinter .fp-subscribe-local__aside{
    box-sizing:border-box;
    width:100%;
    max-width:490px;
    min-width:0;
    justify-self:end;
    overflow:hidden;
    padding:clamp(1.7rem,2.6vw,2.5rem);
    border:1px solid rgba(255,255,255,.26);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(15,35,29,.94),rgba(7,20,16,.94));
    box-shadow:0 22px 70px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);
    backdrop-filter:blur(14px);
}
.fp-subscribe-hero--midvinter .fp-subscribe-local__aside h2{
    max-width:100%;
    margin:0 0 1.25rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--kv-prime);
    font:400 clamp(1.8rem,2.3vw,2.6rem)/1.03 var(--kv-font-display);
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
}
.fp-subscribe-hero--midvinter .fp-subscribe-local__aside h2 em{
    font-style:italic;
    color:var(--kv-prime-light,#fbd79d);
}
.fp-subscribe-hero--midvinter .fp-subscribe-local__aside ul{
    min-width:0;
}
.fp-subscribe-hero--midvinter .fp-subscribe-local__aside li{
    min-width:0;
    line-height:1.4;
}
@media(max-width:900px){
    .fp-subscribe-hero--midvinter .fp-subscribe-local__aside{
        justify-self:start;
        max-width:490px;
    }
}
@media(max-width:600px){
    .fp-subscribe-hero--midvinter .fp-subscribe-local__aside{
        max-width:none;
        padding:1.4rem;
        border-radius:22px;
    }
    .fp-subscribe-hero--midvinter .fp-subscribe-local__aside h2{
        font-size:clamp(1.9rem,9vw,2.5rem);
    }
}

/* 2026-09-03 — /boka/: kompaktare nivåkort på mobil för mindre scroll. */
@media (max-width:680px){
    .fp-subscribe-levels{gap:.55rem!important}
    .fp-subscribe-level{border-radius:18px!important}
    .fp-subscribe-level__top{padding:.68rem .9rem!important;min-height:44px}
    .fp-subscribe-level:has(.fp-subscribe-level__guest-badge) .fp-subscribe-level__top{padding-top:2.45rem!important}
    .fp-subscribe-level__guest-badge{top:.55rem!important;left:.75rem!important;padding:.3rem .55rem!important}
    .fp-subscribe-level__body{padding:.8rem .9rem!important;gap:.2rem .75rem!important}
    .fp-subscribe-level__body h3{margin:0 0 .1rem!important;font-size:1.55rem!important;line-height:1!important}
    .fp-subscribe-level__body>p{margin:0 0 .45rem!important;font-size:.76rem!important;line-height:1.35!important}
    .fp-subscribe-level__price{margin-top:.25rem!important}
    .fp-subscribe-level__price strong{font-size:2rem!important}
    .fp-subscribe-level__body small{font-size:.56rem!important}
    .fp-subscribe-level__benefits{grid-column:1/-1;gap:.2rem!important;margin-top:.45rem!important;padding-top:.45rem!important}
    .fp-subscribe-level__benefits li{grid-template-columns:15px minmax(0,1fr)!important;gap:.3rem!important;font-size:.7rem!important;line-height:1.3!important}
    .fp-subscribe-level__note{grid-column:1/-1;margin-top:.4rem!important;padding-top:.4rem!important;font-size:.68rem!important;line-height:1.3!important}
    .fp-subscribe-level__choose{min-height:40px!important;padding:.5rem .9rem!important;font-size:.74rem!important}
}

/* 2026-09-03 — /boka/: bred vald nivå-rad + byt nivå. */
@media (min-width: 761px){
    .fp-subscribe-availability__level-limit{
        display:grid;
        width:100%;
        box-sizing:border-box;
        grid-template-columns:auto minmax(0,1fr) auto;
        column-gap:.7rem;
        align-items:center;
    }
    .fp-subscribe-availability__level-limit>small{
        grid-column:1 / 3;
    }
}
.fp-subscribe-availability__change-level{
    grid-column:3;
    grid-row:1 / 3;
    align-self:center;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    min-height:34px;
    padding:.5rem .72rem;
    border:1px solid rgba(251,215,157,.34);
    border-radius:999px;
    background:rgba(251,215,157,.08);
    color:var(--kv-prime-light);
    font:700 .62rem/1 var(--kv-font-sans);
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.fp-subscribe-availability__change-level:hover{
    background:rgba(251,215,157,.14);
    border-color:rgba(251,215,157,.58);
    transform:translateY(-1px);
}
@media (max-width:760px){
    .fp-subscribe-availability__level-limit{
        grid-template-columns:auto 1fr auto;
    }
    .fp-subscribe-availability__level-limit>small{grid-column:1 / 3}
    .fp-subscribe-availability__change-level{
        grid-column:3;
        grid-row:1 / 3;
        padding:.45rem .62rem;
        font-size:.58rem;
    }
}

/* Ola 2026-09-03: local Midvinter message belongs on the front page. */
.kv-home-local-hero{min-height:min(760px,calc(100vh - 72px));display:flex;align-items:center;background-size:cover;background-position:center}
.kv-home-local-hero .fp-subscribe-local__inner{width:100%}
.fp-subscribe-level__thanks{margin:.7rem 0 0;padding-top:.7rem;border-top:1px solid rgba(143,89,3,.16);font-size:.82rem;line-height:1.45;color:var(--kv-prime,#8f5903)}
@media(max-width:760px){
  .kv-home-local-hero{min-height:auto;padding-top:3rem;padding-bottom:3rem}
  .fp-subscribe-level__thanks{margin-top:.45rem;padding-top:.45rem;font-size:.76rem;line-height:1.35}
}

/* 2026-09-03 — Startsida: större Midvinterfestivalen 2027-eyebrow. */
.kv-home-local-hero .fp-subscribe-local__festival{
    font-size:1.12rem!important;
    line-height:1.15;
    letter-spacing:.15em;
}
@media(max-width:600px){
    .kv-home-local-hero .fp-subscribe-local__festival{
        font-size:.98rem!important;
        line-height:1.2;
        letter-spacing:.13em;
    }
}


/* 2026-09-03 — Ola SMS: front hero typography + compact CTA. */
.kv-home-local-hero .fp-subscribe-local__festival{
    font-size:1.18rem!important;
    line-height:1.12!important;
    letter-spacing:.09em!important;
}
.kv-home-local-hero .fp-subscribe-local__date{
    white-space:nowrap!important;
}
.kv-home-local-hero .fp-subscribe-local__date em{
    white-space:nowrap!important;
}
@media(max-width:600px){
    .kv-home-local-hero .fp-subscribe-local__festival{
        font-size:1.18rem!important;
        line-height:1.12!important;
        letter-spacing:.09em!important;
    }
    .kv-home-local-hero h1{
        max-width:none!important;
    }
    .kv-home-local-hero h1 > span{
        display:block;
    }
    .kv-home-local-hero .fp-subscribe-local__date{
        font-size:.92em;
    }
}

/* 2026-09-03 — Premium layout for ordinary WordPress pages (page.php). */
.kv-standard-page{
    background:var(--fp-paper, #f5f0e7);
    color:var(--fp-ink-950, #07130f);
}
.kv-standard-page__hero{
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:flex-end;
    min-height:clamp(300px,35vw,440px);
    padding:clamp(7.25rem,10vw,9.5rem) 0 clamp(3.25rem,5vw,5rem);
    overflow:hidden;
    border-bottom:1px solid rgba(7,19,15,.12);
    background:
        radial-gradient(circle at 82% 22%,rgba(143,89,3,.08),transparent 26%),
        linear-gradient(135deg,#f3ecdf 0%,#f7f3eb 58%,#eee5d6 100%);
}
.kv-standard-page__hero::after{
    content:"";
    position:absolute;
    right:clamp(1rem,5vw,5rem);
    bottom:-9rem;
    z-index:-1;
    width:clamp(210px,28vw,430px);
    aspect-ratio:1;
    border:1px solid rgba(143,89,3,.18);
    border-radius:50%;
    pointer-events:none;
}
.kv-standard-page__hero--image{
    min-height:clamp(430px,57vw,680px);
    color:#fff;
    border-bottom:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.kv-standard-page__hero-shade{
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(5,20,15,.88) 0%,rgba(5,20,15,.62) 48%,rgba(5,20,15,.22) 100%),linear-gradient(0deg,rgba(5,20,15,.35),transparent 55%);
}
.kv-standard-page__hero-inner{
    display:grid;
    grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);
    gap:clamp(2rem,7vw,8rem);
    align-items:end;
    width:100%;
}
.kv-standard-page__eyebrow-wrap{
    display:flex;
    align-items:center;
    gap:1rem;
    padding-bottom:.85rem;
}
.kv-standard-page__eyebrow{
    flex:0 0 auto;
    font-family:var(--fp-font-mono);
    font-size:.69rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--kv-prime,#8f5903);
}
.kv-standard-page__eyebrow-line{
    display:block;
    width:min(85px,5vw);
    height:1px;
    background:currentColor;
    opacity:.32;
}
.kv-standard-page__hero--image .kv-standard-page__eyebrow{color:var(--kv-prime-light,#fbd79d)}
.kv-standard-page__hero h1{
    margin:0;
    max-width:18ch;
    font-size:clamp(3.8rem,5.5vw,6.4rem);
    line-height:.9;
    letter-spacing:-.05em;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}
.kv-standard-page__hero--image h1{color:#fff;text-shadow:0 4px 34px rgba(0,0,0,.15)}
.kv-standard-page__body{
    position:relative;
    background:#fffdf8;
    padding:clamp(4.25rem,8vw,8rem) 0 clamp(5.5rem,10vw,10rem);
}
.kv-standard-page__body-grid{
    display:grid;
    grid-template-columns:minmax(90px,.32fr) minmax(0,1.68fr);
    gap:clamp(2.25rem,6vw,7rem);
    max-width:1180px;
}
.kv-standard-page__rail{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1.25rem;
    padding-top:.4rem;
}
.kv-standard-page__rail-mark{
    font-family:var(--fp-font-serif);
    font-size:clamp(2.3rem,3.5vw,3.5rem);
    line-height:1;
    letter-spacing:-.06em;
    color:var(--kv-prime,#8f5903);
    opacity:.22;
}
.kv-standard-page__rail-line{
    display:block;
    width:1px;
    min-height:120px;
    background:linear-gradient(to bottom,rgba(143,89,3,.38),rgba(143,89,3,0));
}
.kv-standard-page__content{
    width:100%;
    max-width:840px;
    margin:0;
    font-size:clamp(1.05rem,1.25vw,1.18rem);
    line-height:1.75;
    color:#26332e;
}
.kv-standard-page__content > :first-child{margin-top:0}
.kv-standard-page__content > p:first-child{
    font-size:clamp(1.2rem,1.75vw,1.5rem);
    line-height:1.55;
    color:var(--fp-ink-950,#07130f);
}
.kv-standard-page__content h2,
.kv-standard-page__content h3,
.kv-standard-page__content h4{
    color:var(--fp-ink-950,#07130f);
    text-wrap:balance;
}
.kv-standard-page__content h2{
    margin:clamp(3.6rem,7vw,6rem) 0 1.25rem;
    padding-top:clamp(1rem,2vw,2rem);
    font-size:clamp(2.35rem,4.2vw,4.2rem);
    line-height:.98;
    letter-spacing:-.045em;
}
.kv-standard-page__content h3{
    margin:3rem 0 .85rem;
    font-size:clamp(1.65rem,2.6vw,2.5rem);
    line-height:1.05;
    letter-spacing:-.035em;
}
.kv-standard-page__content h4{margin:2.2rem 0 .65rem;font-size:1.2rem}
.kv-standard-page__content a{
    color:var(--kv-prime,#8f5903);
    text-decoration-thickness:1px;
    text-underline-offset:.18em;
}
.kv-standard-page__content a:hover{color:#5f3900}
.kv-standard-page__content ul,
.kv-standard-page__content ol{
    padding-left:1.35rem;
    margin:1.35rem 0 2rem;
}
.kv-standard-page__content li{padding-left:.3rem;margin:.5rem 0}
.kv-standard-page__content li::marker{color:var(--kv-prime,#8f5903)}
.kv-standard-page__content blockquote{
    position:relative;
    margin:clamp(2.5rem,5vw,4rem) 0;
    padding:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,3vw,2.5rem);
    border:1px solid rgba(143,89,3,.22);
    border-left:4px solid var(--kv-prime,#8f5903);
    border-radius:18px;
    background:#f7f0e4;
    color:var(--fp-ink-950,#07130f);
}
.kv-standard-page__content blockquote p{margin:0;font-family:var(--fp-font-serif);font-size:clamp(1.45rem,2.3vw,2.1rem);line-height:1.2}
.kv-standard-page__content hr{
    margin:clamp(3rem,6vw,5rem) 0;
    border:0;
    border-top:1px solid rgba(7,19,15,.14);
}
.kv-standard-page__content table{
    width:100%;
    margin:2rem 0 3rem;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid rgba(7,19,15,.14);
    border-radius:14px;
    background:#fff;
}
.kv-standard-page__content th,
.kv-standard-page__content td{padding:.95rem 1rem;text-align:left;border-bottom:1px solid rgba(7,19,15,.1)}
.kv-standard-page__content th{background:#f2eadc;color:var(--fp-ink-950,#07130f);font-weight:700}
.kv-standard-page__content tr:last-child td{border-bottom:0}
.kv-standard-page__content .wp-block-button__link{
    display:inline-flex;
    align-items:center;
    min-height:48px;
    padding:.8rem 1.25rem;
    border-radius:999px;
    background:var(--kv-prime,#8f5903);
    color:#fff;
    text-decoration:none;
}
.kv-standard-page__content .wp-block-image{margin:clamp(2.5rem,5vw,4rem) 0}
.kv-standard-page__content .wp-block-image img{border-radius:18px}
.kv-standard-page__pagination{display:flex;gap:.5rem;margin-top:3rem}

@media(max-width:760px){
    .kv-standard-page__hero{min-height:280px;padding:7.25rem 0 2.75rem}
    .kv-standard-page__hero--image{min-height:430px}
    .kv-standard-page__hero-inner{grid-template-columns:1fr;gap:1.4rem}
    .kv-standard-page__eyebrow-wrap{padding-bottom:0}
    .kv-standard-page__eyebrow-line{width:42px}
    .kv-standard-page__hero h1{font-size:clamp(3.15rem,13vw,4.9rem);max-width:15ch;overflow-wrap:normal;word-break:normal;hyphens:none}
    .kv-standard-page__body{padding:3.5rem 0 5rem}
    .kv-standard-page__body-grid{grid-template-columns:1fr;gap:0}
    .kv-standard-page__rail{display:none}
    .kv-standard-page__content{font-size:1rem;line-height:1.7}
    .kv-standard-page__content > p:first-child{font-size:1.15rem}
    .kv-standard-page__content h2{margin-top:3.25rem;font-size:clamp(2.2rem,11vw,3.2rem)}
}

/* =========================================================
   KONTAKT 2026 — editorial KV redesign
   ========================================================= */
.kv-contact{background:var(--kv-paper);color:var(--kv-ink-950)}
.kv-contact .fp-eyebrow{color:var(--kv-prime);font-size:.66rem;letter-spacing:.12em}
.kv-contact-hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:var(--kv-ink-950);color:#fff}
.kv-contact-hero__media,.kv-contact-hero__veil{position:absolute;inset:0}
.kv-contact-hero__media{background-image:var(--kv-contact-hero);background-size:cover;background-position:center 42%;filter:saturate(.45) contrast(1.05)}
.kv-contact-hero__veil{background:linear-gradient(90deg,rgba(5,18,14,.96) 0%,rgba(5,18,14,.79) 43%,rgba(5,18,14,.30) 76%,rgba(5,18,14,.18) 100%),linear-gradient(0deg,rgba(5,18,14,.58),transparent 50%)}
.kv-contact-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,.72fr);gap:clamp(4rem,8vw,9rem);align-items:end;padding-top:11rem;padding-bottom:5rem}
.kv-contact-hero__copy h1{margin:.75rem 0 1.3rem;max-width:7ch;font-family:var(--kv-font-display);font-size:clamp(4.8rem,8.2vw,8.8rem);line-height:.83;letter-spacing:-.055em;font-weight:400}
.kv-contact-hero__copy h1 em{display:block;color:var(--kv-prime);font-weight:400}
.kv-contact-hero__lead{max-width:51ch;margin:0 0 2rem;color:rgba(255,255,255,.75);font-size:1.03rem;line-height:1.7}
.kv-contact-btn{display:inline-flex;align-items:center;gap:.8rem;min-height:50px;padding:0 1.25rem;border-radius:999px;text-decoration:none;font-weight:750;font-size:.85rem}
.kv-contact-btn--light{background:#fff;color:var(--kv-ink-950)}
.kv-contact-btn span{color:var(--kv-prime);font-size:1rem}
.kv-contact-routes{border-top:1px solid rgba(255,255,255,.22)}
.kv-contact-routes>a{display:grid;grid-template-columns:32px 1fr 24px;gap:1rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;transition:padding .22s ease,background .22s ease}
.kv-contact-routes>a:hover{padding-left:.75rem;padding-right:.5rem;background:rgba(255,255,255,.05)}
.kv-contact-routes__index{font-family:var(--kv-font-mono);font-size:.58rem;color:var(--kv-prime)}
.kv-contact-routes strong{display:block;font-family:var(--kv-font-display);font-size:1.28rem;line-height:1.05;font-weight:400}
.kv-contact-routes small{display:block;margin-top:.3rem;color:rgba(255,255,255,.57);font-size:.72rem;line-height:1.45}
.kv-contact-routes i{font-style:normal;color:var(--kv-prime);transition:transform .2s ease}.kv-contact-routes>a:hover i{transform:translate(3px,-3px)}

.kv-contact-formsection{position:relative;padding:clamp(5rem,9vw,9rem) 0;background:var(--kv-paper-2)}
.kv-contact-formsection::before{content:"";position:absolute;left:max(var(--kv-gutter),calc((100vw - var(--kv-width-wide))/2 + var(--kv-gutter)));top:0;width:1px;height:72px;background:var(--kv-prime)}
.kv-contact-formsection__grid{display:grid;grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.kv-contact-aside{position:sticky;top:110px;padding-top:1.25rem}
.kv-contact-aside h2{max-width:8ch;margin:.65rem 0 1.2rem;font-family:var(--kv-font-display);font-size:clamp(3rem,5.2vw,5.4rem);line-height:.92;letter-spacing:-.045em;font-weight:400}
.kv-contact-aside>p:not(.fp-eyebrow){max-width:38ch;color:var(--kv-ink-soft);line-height:1.7}
.kv-contact-details{margin:2.5rem 0 0;border-top:var(--kv-border-firm)}
.kv-contact-details>div{padding:1rem 0;border-bottom:var(--kv-border)}
.kv-contact-details dt{margin-bottom:.3rem;font-family:var(--kv-font-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kv-prime)}
.kv-contact-details dd{margin:0;font-weight:700;font-size:.88rem}.kv-contact-details a{color:inherit;text-decoration:none}
.kv-contact-security{display:grid;grid-template-columns:32px 1fr;gap:.75rem;margin-top:1.4rem;padding:1rem;border-radius:16px;background:rgba(143,89,3,.08);border:1px solid rgba(143,89,3,.18)}
.kv-contact-security>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--kv-prime);color:#fff;font-family:var(--kv-font-display)}
.kv-contact-security p{margin:0;color:var(--kv-ink-soft);font-size:.74rem;line-height:1.5}
.kv-contact-formcard{padding:clamp(1.5rem,3vw,2.6rem);border:1px solid rgba(16,35,29,.13);border-radius:28px;background:rgba(255,255,255,.74);box-shadow:0 24px 70px rgba(16,35,29,.08);backdrop-filter:blur(12px)}
.kv-contact-form__head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding-bottom:1.8rem;border-bottom:var(--kv-border)}
.kv-contact-form__head h2{margin:.4rem 0 0;font-family:var(--kv-font-display);font-size:clamp(2.4rem,3.6vw,4rem);line-height:.95;font-weight:400}.kv-contact-form__head small{color:var(--kv-ink-soft)}
.kv-contact-topics{margin:1.8rem 0 0;padding:0;border:0}.kv-contact-topics legend,.kv-contact-fields label>span,.kv-contact-message>span{display:block;margin-bottom:.65rem;font-size:.78rem;font-weight:750}
.kv-contact-topics__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.kv-contact-topics label{position:relative;cursor:pointer}.kv-contact-topics input{position:absolute;opacity:0;pointer-events:none}
.kv-contact-topics label>span{display:flex;min-height:72px;flex-direction:column;justify-content:center;padding:.85rem 1rem;border:1px solid rgba(16,35,29,.16);border-radius:14px;background:#fff;transition:.18s ease}.kv-contact-topics label b{font-size:.84rem}.kv-contact-topics label small{margin-top:.15rem;color:var(--kv-ink-soft);font-size:.68rem}
.kv-contact-topics input:checked+span{border-color:var(--kv-prime);background:var(--kv-prime-soft);box-shadow:inset 0 0 0 1px var(--kv-prime)}
.kv-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.8rem}.kv-contact-fields input,.kv-contact-message textarea{width:100%;border:1px solid rgba(16,35,29,.16);border-radius:14px;background:#fff;color:var(--kv-ink-950);font:500 .92rem var(--kv-font-text);outline:none;transition:.18s ease}.kv-contact-fields input{height:54px;padding:0 .95rem}.kv-contact-message{display:block;margin-top:1rem}.kv-contact-message textarea{min-height:170px;padding:.95rem;resize:vertical;line-height:1.55}.kv-contact-fields input:focus,.kv-contact-message textarea:focus{border-color:var(--kv-prime);box-shadow:0 0 0 4px rgba(143,89,3,.10)}
.kv-contact-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.kv-contact-form__footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:1.4rem;padding-top:1.4rem;border-top:var(--kv-border)}.kv-contact-form__footer p{max-width:56ch;margin:0;color:var(--kv-ink-soft);font-size:.7rem;line-height:1.55}.kv-contact-form__footer p a{color:inherit}.kv-contact-form__footer button{flex:0 0 auto;min-height:50px;padding:0 1.15rem;border:0;border-radius:999px;background:var(--kv-ink-950);color:#fff;font-weight:750;cursor:pointer}.kv-contact-form__footer button span{margin-left:.45rem;color:var(--kv-prime)}
.kv-contact-errors{margin-bottom:1.3rem;padding:1rem 1.1rem;border-left:4px solid #9b392f;border-radius:12px;background:#fff4f0;color:#61231d}.kv-contact-errors ul{margin:.4rem 0 0;padding-left:1.2rem}
.kv-contact-success{padding:clamp(2rem,5vw,4rem)}.kv-contact-success>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:1.5rem;border-radius:50%;background:var(--kv-prime);color:#fff;font-size:1.3rem;font-weight:800}.kv-contact-success h2{margin:.55rem 0 .7rem;font-family:var(--kv-font-display);font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:.94;font-weight:400}.kv-contact-success p:last-child{color:var(--kv-ink-soft)}

.kv-contact-help{padding:clamp(5rem,9vw,9rem) 0;background:var(--kv-paper)}.kv-contact-help__head{display:grid;grid-template-columns:1fr .65fr;gap:clamp(3rem,8vw,9rem);align-items:end;margin-bottom:3rem}.kv-contact-help__head h2{margin:.55rem 0 0;font-family:var(--kv-font-display);font-size:clamp(3rem,5.5vw,5.7rem);line-height:.92;letter-spacing:-.045em;font-weight:400}.kv-contact-help__head h2 em{color:var(--kv-prime);font-weight:400}.kv-contact-help__head>p{max-width:42ch;margin:0;color:var(--kv-ink-soft);line-height:1.7}
.kv-contact-help__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--kv-border-firm);border-left:var(--kv-border-firm)}.kv-contact-help__grid>a{position:relative;min-height:285px;display:flex;flex-direction:column;padding:1.35rem;border-right:var(--kv-border-firm);border-bottom:var(--kv-border-firm);color:var(--kv-ink-950);text-decoration:none;transition:.2s ease}.kv-contact-help__grid>a:hover{background:var(--kv-prime-soft)}.kv-contact-help__grid>a>span{font-family:var(--kv-font-mono);font-size:.56rem;color:var(--kv-prime)}.kv-contact-help__grid h3{margin:auto 0 .7rem;font-family:var(--kv-font-display);font-size:1.7rem;line-height:1.03;font-weight:400}.kv-contact-help__grid p{margin:0;color:var(--kv-ink-soft);font-size:.8rem;line-height:1.5}.kv-contact-help__grid i{position:absolute;top:1.2rem;right:1.2rem;font-style:normal;color:var(--kv-prime)}
.kv-contact-cta{padding:clamp(4rem,7vw,6rem) 0;background:var(--kv-prime);color:var(--kv-ink-950)}.kv-contact-cta__inner{display:grid;grid-template-columns:1.1fr .6fr;gap:clamp(3rem,8vw,8rem);align-items:end}.kv-contact-cta .fp-eyebrow{color:rgba(16,35,29,.64)}.kv-contact-cta h2{margin:.5rem 0 0;max-width:11ch;font-family:var(--kv-font-display);font-size:clamp(3rem,5.2vw,5.5rem);line-height:.93;letter-spacing:-.045em;font-weight:400}.kv-contact-cta h2 em{font-weight:400}.kv-contact-cta__inner>div:last-child p{max-width:44ch;line-height:1.65}.kv-contact-cta__inner a{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;color:var(--kv-ink-950);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem}

@media(max-width:980px){.kv-contact-hero__grid{grid-template-columns:1fr .7fr}.kv-contact-help__grid{grid-template-columns:repeat(2,1fr)}.kv-contact-formsection__grid{grid-template-columns:1fr}.kv-contact-aside{position:static;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}.kv-contact-aside .fp-eyebrow,.kv-contact-aside h2{grid-column:1}.kv-contact-aside>p:not(.fp-eyebrow){grid-column:1}.kv-contact-details,.kv-contact-security{grid-column:2;grid-row:1 / span 3;margin-top:1.25rem}.kv-contact-security{grid-row:4}}
@media(max-width:760px){.kv-contact-hero{min-height:auto}.kv-contact-hero__grid{display:block;padding-top:8.5rem;padding-bottom:2.5rem}.kv-contact-hero__copy h1{font-size:clamp(4.2rem,20vw,6.2rem)}.kv-contact-routes{margin-top:3rem}.kv-contact-formsection,.kv-contact-help{padding:4.5rem 0}.kv-contact-formsection__grid{gap:2rem}.kv-contact-aside{display:block}.kv-contact-aside h2{font-size:3.3rem}.kv-contact-details{margin-top:2rem}.kv-contact-security{margin-top:1rem}.kv-contact-formcard{padding:1.15rem;border-radius:20px}.kv-contact-form__head{display:block}.kv-contact-form__head small{display:block;margin-top:.65rem}.kv-contact-topics__grid,.kv-contact-fields{grid-template-columns:1fr}.kv-contact-form__footer{display:block}.kv-contact-form__footer button{width:100%;margin-top:1rem}.kv-contact-help__head,.kv-contact-cta__inner{grid-template-columns:1fr}.kv-contact-help__grid{grid-template-columns:1fr}.kv-contact-help__grid>a{min-height:210px}.kv-contact-cta__inner{gap:1.5rem}.kv-contact-cta h2{font-size:3.4rem}}

/* Kontakt – richer help cards + organizer CTA */
.kv-contact-help__grid>a{overflow:hidden}
.kv-contact-help__number{position:relative;z-index:2}
.kv-contact-help__icon{display:grid;place-items:center;width:54px;height:54px;margin:1.7rem 0 1rem;border:1px solid rgba(143,89,3,.32);border-radius:50%;background:rgba(143,89,3,.07);color:var(--kv-prime);transition:transform .22s ease,background .22s ease,color .22s ease}
.kv-contact-help__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.kv-contact-help__grid>a::before{content:"";position:absolute;right:-54px;bottom:-64px;width:150px;height:150px;border:1px solid rgba(143,89,3,.13);border-radius:50%;transition:transform .28s ease,background .28s ease}
.kv-contact-help__grid>a:hover .kv-contact-help__icon{transform:translateY(-3px);background:var(--kv-prime);color:#fff}
.kv-contact-help__grid>a:hover::before{transform:scale(1.12);background:rgba(143,89,3,.04)}
.kv-contact-help__grid h3{margin-top:auto}

.kv-contact-cta{background:var(--kv-prime);color:#fff}
.kv-contact-cta .fp-eyebrow{color:rgba(255,255,255,.68)}
.kv-contact-cta h2{color:#fff}
.kv-contact-cta h2 em{color:var(--kv-prime-light)}
.kv-contact-cta__inner{align-items:center}
.kv-contact-cta__content{min-width:0}
.kv-contact-cta__image{position:relative;overflow:hidden;margin:0 0 1.4rem;border-radius:22px;aspect-ratio:16/8;border:1px solid rgba(255,255,255,.22);background:var(--kv-ink-950)}
.kv-contact-cta__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,14,.42),rgba(5,18,14,.05))}
.kv-contact-cta__image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.04)}
.kv-contact-cta__image>span{position:absolute;left:1rem;bottom:.85rem;z-index:2;color:#fff;font:400 1.6rem/1 var(--kv-font-display);letter-spacing:-.04em}
.kv-contact-cta__content>p{color:rgba(255,255,255,.84)}
.kv-contact-cta__inner a{color:#fff;border-color:rgba(255,255,255,.62)}
.kv-contact-cta__inner a span{color:var(--kv-prime-light)}
@media(max-width:760px){.kv-contact-help__icon{width:48px;height:48px;margin-top:1.25rem}.kv-contact-cta__image{aspect-ratio:16/9;border-radius:18px}}


.fp-subscribe-availability__row{
    cursor:pointer;
    padding:1.15rem 1.2rem;
    align-content:start;
}
.fp-subscribe-availability__row:has(.fp-subscribe-availability__input:checked){padding:1.15rem 1.2rem}
.fp-subscribe-form__section[data-fp-collapsible-section]{cursor:pointer}
.fp-subscribe-form__section[data-fp-collapsible-section] input,
.fp-subscribe-form__section[data-fp-collapsible-section] textarea,
.fp-subscribe-form__section[data-fp-collapsible-section] select,
.fp-subscribe-form__section[data-fp-collapsible-section] a,
.fp-subscribe-form__section[data-fp-collapsible-section] label,
.fp-subscribe-form__section[data-fp-collapsible-section] button{cursor:auto}
.fp-subscribe-form__section-head[type="button"]{cursor:pointer!important}
.fp-subscribe-form__success{padding:1rem 1.1rem;border:1px solid rgba(79,117,102,.28);border-radius:14px;background:rgba(79,117,102,.1);font-size:.82rem;line-height:1.5}
.fp-subscribe-form__success[hidden],.fp-subscribe-form__error[hidden]{display:none!important}
.fp-subscribe-checkout--subscriber{grid-template-columns:1fr}
.fp-subscribe-form--booking{max-width:760px}
@media(max-width:680px){
    .fp-subscribe-availability__row,
    .fp-subscribe-availability__row:has(.fp-subscribe-availability__input:checked){padding:1rem}
}
