:root{color-scheme:light;--warm-white: #f9f6f1;--sand: #efe5d6;--sage: #8aa194;--sage-dark: #5f786b;--soft-red: #6fbf9a;--ink: #2a2a2a;--shadow: 0 22px 48px rgba(41, 33, 23, .12);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--glow: rgba(111, 191, 154, .2);--image-tone: sepia(.035) saturate(.94) contrast(1.04) brightness(1.02);--image-warm-overlay: linear-gradient( 140deg, rgba(255, 232, 202, .16), rgba(111, 191, 154, .06) )}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(212,236,222,.7),transparent 55%),radial-gradient(circle at 15% 75%,rgba(198,224,212,.6),transparent 50%),linear-gradient(160deg,var(--warm-white),var(--sand));min-height:100vh;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}img{max-width:100%;display:block}.app-shell{min-height:100vh;display:flex;flex-direction:column}.background-orbit{position:fixed;top:-20%;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 15%,rgba(111,191,154,.2),transparent 45%),radial-gradient(circle at 20% 35%,rgba(95,120,107,.22),transparent 50%),radial-gradient(circle at 80% 70%,rgba(156,204,185,.18),transparent 55%);z-index:-1;pointer-events:none;animation:orbitShift 22s ease-in-out infinite}.background-orbit:before,.background-orbit:after{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;opacity:.6;filter:blur(0px)}.background-orbit:before{background:conic-gradient(from 120deg,#6fbf9a2e,#5f786b14,#aadcc82e,#6fbf9a1f);animation:spinSlow 40s linear infinite;mix-blend-mode:screen}.background-orbit:after{background:radial-gradient(circle at 30% 40%,rgba(111,191,154,.22),transparent 45%),radial-gradient(circle at 65% 60%,rgba(95,120,107,.2),transparent 55%);animation:floatDrift 16s ease-in-out infinite alternate}.main-content{flex:1;padding-top:20px}.container{width:min(1120px,92vw);margin:0 auto}.skip-link{position:absolute;left:-999px;top:12px;background:#fff;padding:12px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow);z-index:999}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f9f6f1b8;border-bottom:1px solid rgba(138,161,148,.2);transition:box-shadow .3s ease,background .3s ease}.site-header.is-scrolled{background:#f9f6f1eb;box-shadow:0 16px 30px #281e1414}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px}.logo{display:flex;align-items:center;gap:14px;font-weight:600;font-family:Cormorant Garamond,serif;font-size:1.25rem}.logo img{width:clamp(140px,18vw,220px);height:auto;border-radius:0;box-shadow:none;object-fit:contain}.logo-tagline{display:block;font-family:Manrope,sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-dark)}.site-nav{display:flex;align-items:center;gap:20px}.nav-link{font-weight:500;position:relative;padding-bottom:4px}.nav-link:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--soft-red);transition:width .3s ease}.nav-link:hover:after,.nav-link.is-active:after{width:100%}.menu-toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;padding:0}.menu-toggle span{width:26px;height:2px;background:var(--ink)}.hero{padding:80px 0 40px}.hero-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:42px;align-items:center}.hero-content h1{font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,4vw,3.6rem);margin:12px 0 16px}.hero-kicker{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-dark);margin:0}.hero-subtitle{font-size:1.05rem;line-height:1.7;max-width:520px}.hero-media{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);position:relative;background:linear-gradient(140deg,#f9f6f1e6,#efe5d6d9)}.hero-media:after{content:none}.hero-media img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4 / 3}.hero-glow{min-height:320px;border-radius:var(--radius-xl);background:radial-gradient(circle at 20% 20%,rgba(111,191,154,.4),transparent 55%),radial-gradient(circle at 70% 20%,rgba(138,161,148,.35),transparent 60%),linear-gradient(140deg,#f9f6f1e6,#efe5d6d9);box-shadow:var(--shadow)}.section{padding:60px 0}.section.section-tight{padding-top:0}.section-header h2{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3vw,2.6rem);margin-bottom:8px}.section-header p{max-width:560px;line-height:1.7}.section-center{text-align:center}.section-center .section-header{margin-left:auto;margin-right:auto}.services-grid{margin-top:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;align-items:stretch}.service-categories{margin-top:24px;display:grid;gap:24px}.service-category{padding:22px;border-radius:var(--radius-lg);background:#ffffffbf;box-shadow:var(--shadow)}.service-category h3{margin-top:0;font-family:Cormorant Garamond,serif}.service-category ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.service-category li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(138,161,148,.2);padding-bottom:8px}.service-card{border-radius:var(--radius-lg);background:#ffffffb8;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;height:100%;border:1px solid rgba(255,255,255,.62);transition:transform .45s ease,box-shadow .45s ease}.service-card--link{position:relative;text-decoration:none;color:inherit}.service-card--link:after{content:"↗";position:absolute;top:14px;right:14px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#fffc;box-shadow:0 8px 16px #261e141f;color:var(--sage-dark);font-size:.85rem;opacity:.85;transition:transform .2s ease,opacity .2s ease}.service-card--link:hover:after{transform:translateY(-2px);opacity:1}.service-card--link:focus-visible{outline:2px solid var(--soft-red);outline-offset:4px}.service-card__media{width:100%;aspect-ratio:5 / 4;background:linear-gradient(150deg,#f9f6f1f0,#efe5d6d6);position:relative;overflow:hidden}.service-card__media.is-placeholder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(111,191,154,.2),transparent 55%);pointer-events:none}.service-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.service-card__content{padding:18px 20px 22px;display:grid;gap:10px;flex:1}.service-card h3{margin:0;font-family:Cormorant Garamond,serif;font-size:1.4rem}.service-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px #261e1429}.service-card:hover .service-card__media img{transform:scale(1.035)}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.split-layout--reverse .split-media{order:2}.split-layout--reverse .split-content{order:1}.split-media img{width:100%;height:auto;display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow);object-fit:cover;filter:var(--image-tone)}.split-media{position:relative}.split-media:has(>img):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:var(--image-warm-overlay);pointer-events:none}.idrottsnutrition .split-media:has(>img):after{width:75%;left:50%;transform:translate(-50%)}.kurs-page .split-media:has(>img):after,.kostradgivning-page .split-media:has(>img):after,.friskvardsmassage-page .split-media:has(>img):after,.ljusterapi-page .split-media:has(>img):after{width:100%;left:0;transform:none}.split-media{display:flex;justify-content:center;align-items:center}.idrottsnutrition .split-media img{width:75%}.split-subtitle{margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:clamp(1.35rem,2vw,1.7rem);color:var(--sage-dark)}.idrottsnutrition .split-content{display:grid;gap:14px}.idrottsnutrition .split-content p{margin:0;font-size:1rem;line-height:1.7}.idrottsnutrition .lead{font-size:1rem;line-height:1.7;font-weight:600}.idrottsnutrition .stack{gap:12px}.idrottsnutrition .inline-link{margin-top:0}.kurs-page .split-media img{width:100%;max-width:520px}.kostradgivning-page .split-media img{width:100%;max-width:440px}.friskvardsmassage-page .split-media img{width:100%;max-width:560px}.ljusterapi-page .split-media img{width:100%;max-width:520px}.content-eyebrow{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,1.8vw,1.45rem);color:var(--ink)}.course-list{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.65}.course-leaders{display:grid;gap:16px;max-width:360px;padding:22px;border-radius:var(--radius-md);background:#ffffffb8;box-shadow:var(--shadow);box-sizing:border-box}.course-leaders img{width:150px;border-radius:50%;justify-self:center}.course-leaders p{margin:0;line-height:1.7;font-style:italic}.service-side-stack{display:grid;gap:18px;width:100%;justify-items:center}.treatment-note{display:grid;gap:14px;padding:22px;border-radius:var(--radius-md);background:#ffffffb8;box-shadow:var(--shadow)}.treatment-note h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.35rem,2vw,1.7rem);color:var(--sage-dark)}.trust-line{padding:14px 16px;border-left:3px solid var(--soft-red);border-radius:var(--radius-md);background:#ffffffad;color:var(--sage-dark);font-weight:600}.course-testimonials{margin-top:44px;display:grid;gap:18px}.course-testimonials h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.45rem,2.2vw,1.9rem);color:var(--sage-dark)}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.testimonial-grid blockquote{margin:0;padding:18px 20px;border-left:3px solid var(--soft-red);border-radius:var(--radius-md);background:#ffffffb8;box-shadow:var(--shadow);font-style:italic;line-height:1.65}.section-cta{margin-top:32px}.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:999px;font-weight:600;border:1px solid transparent;background:linear-gradient(120deg,var(--soft-red),#a6ddc4);color:#fff;box-shadow:0 18px 32px #6fbf9a4d;transition:transform .3s ease,box-shadow .3s ease,filter .3s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 24px 36px #6fbf9a59;filter:brightness(1.03)}.cta-button.ghost{background:transparent;color:var(--ink);border-color:#8aa19466;box-shadow:none}.stack{display:grid;gap:18px}.text-card{padding:20px;border-radius:var(--radius-md);background:#ffffffb3;box-shadow:var(--shadow)}.text-card h3{margin-top:0;font-family:Cormorant Garamond,serif}.text-card p{white-space:pre-line}.text-card li+li{margin-top:10px}.lead{font-size:1.1rem;line-height:1.8}.quote{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.gallery-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.gallery-card{border:none;padding:0;background:none;text-align:left;cursor:pointer;position:relative}.gallery-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);box-shadow:var(--shadow);filter:var(--image-tone);transition:transform .55s ease,filter .55s ease}.gallery-card:after{content:"";position:absolute;inset:0 0 auto;aspect-ratio:4 / 3;border-radius:var(--radius-md);background:var(--image-warm-overlay);pointer-events:none}.gallery-card span{display:block;margin-top:8px;font-size:.9rem;color:var(--sage-dark)}.gallery-card:hover img{transform:scale(1.025);filter:saturate(.98) contrast(1.06) brightness(1.04)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#141210d9;display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;z-index:100}.lightbox-content{max-width:800px;text-align:center;color:#fff}.lightbox-content img{border-radius:var(--radius-md);max-height:70vh}.lightbox-close,.lightbox-nav{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:10px 16px;border-radius:999px;cursor:pointer}.contact-card{padding:28px;border-radius:var(--radius-lg);background:#ffffffd1;box-shadow:var(--shadow);display:grid;gap:10px;justify-items:center}.contact-card--stacked{padding:18px;justify-items:start;text-align:left}.contact-logo{width:clamp(120px,16vw,160px);height:auto;justify-self:center}.contact-card--stacked .cta-button{justify-self:center}.contact-intro{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:18px;align-items:start}.contact-side{display:grid;gap:18px}.contact-copy{align-self:start}.contact-photo{width:100%;max-width:260px;justify-self:center}.contact-photo img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 18px 36px #261e142e;background:#ffffffd1;filter:var(--image-tone)}.contact-social{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0}.placeholder-card{padding:24px;border-radius:var(--radius-lg);background:#ffffffb3;text-align:center;border:1px dashed rgba(138,161,148,.6);color:var(--sage-dark);margin-top:24px}.booking-link{margin-top:24px;padding:24px;border-radius:var(--radius-lg);overflow:hidden;background:#ffffffb3;box-shadow:var(--shadow)}.booking-link p{margin:0 0 20px;line-height:1.7}.site-footer{padding:40px 0 60px;border-top:1px solid rgba(138,161,148,.2);background:#f9f6f1b3}.footer-inner{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.footer-inner>*{height:100%}.footer-title{font-family:Cormorant Garamond,serif;margin:0 0 6px}.footer-tagline{margin:0;color:var(--sage-dark)}.footer-contact,.footer-social{display:grid;gap:4px}.footer-social .social-link{line-height:1.2;padding:0}.footer-social{display:flex;flex-direction:column;gap:2px;margin-top:0;height:100%;justify-content:center}.footer-social .social-link{margin:0;line-height:1.15}.footer-badges{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}.footer-badge{width:clamp(120px,12vw,160px);height:auto}.footer-badge--primary{width:clamp(120px,12vw,160px)}.footer-badge-link{display:inline-flex;width:fit-content;border-radius:6px;transition:opacity .2s ease,transform .2s ease}.footer-badge-link:hover{opacity:.82;transform:translateY(-1px)}.footer-benefits{display:grid;gap:7px}.footer-benefits-label{color:var(--sage-dark);font-size:.78rem;font-weight:600;letter-spacing:.02em}.footer-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.footer-badge-row .footer-badge{max-height:34px;width:clamp(90px,9vw,118px);object-fit:contain}.footer-badge-row .footer-badge--epassi{width:clamp(78px,7.6vw,100px)}.social-link{display:inline-flex;align-items:center;gap:10px;font-weight:500;border-radius:6px;transition:color .2s ease,opacity .2s ease,transform .2s ease}.social-link:hover,.social-link:focus-visible{color:var(--sage-dark);opacity:.82;transform:translateY(-1px)}.social-icon{display:inline-flex;width:20px;height:20px;color:var(--sage-dark)}.social-icon svg{width:100%;height:100%;fill:currentColor}.loading-screen{min-height:40vh;display:grid;place-items:center;gap:12px;color:var(--sage-dark)}.loading-dot{width:38px;height:38px;border-radius:50%;border:2px solid rgba(138,161,148,.4);border-top-color:var(--soft-red);animation:spin 1.2s linear infinite}.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.not-found{padding:80px 0;text-align:center}.inline-link{display:inline-block;margin-top:16px;color:var(--sage-dark);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;transition:color .2s ease,background-size .25s ease}.inline-link:hover,.inline-link:focus-visible{color:var(--ink);background-size:100% 2px}:focus-visible{outline:2px solid var(--soft-red);outline-offset:3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbitShift{0%{transform:translate3d(-2%,-2%,0) scale(1)}50%{transform:translate3d(2%,1%,0) scale(1.03)}to{transform:translate3d(-2%,-1%,0) scale(1)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes floatDrift{0%{transform:translate3d(-2%,1%,0)}to{transform:translate3d(2%,-1%,0)}}@media (max-width: 1024px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.services-grid{grid-template-columns:1fr}}@media (max-width: 720px){.contact-intro{grid-template-columns:1fr}}@media (max-width: 900px){.split-layout,.testimonial-grid{grid-template-columns:1fr}.kurs-page .service-side-stack,.kurs-page .course-leaders,.kurs-page .treatment-note,.kurs-page .trust-line,.kurs-page .testimonial-grid blockquote{width:100%;max-width:100%;box-sizing:border-box}.kurs-page .course-leaders,.kurs-page .treatment-note,.kurs-page .testimonial-grid blockquote{padding-left:18px;padding-right:18px}.split-layout--reverse .split-media,.split-layout--reverse .split-content{order:initial}.menu-toggle{display:flex}.site-nav{position:absolute;top:76px;right:4vw;flex-direction:column;background:#f9f6f1fa;padding:16px;border-radius:var(--radius-md);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}}.service-card[data-image="/kurser.png"] .service-card__media img{object-position:left center}.service-card[data-image="/massage.jpg"] .service-card__media img,.service-card[data-image="/rödljus.jpg"] .service-card__media img{object-position:center center}.service-card[data-image="/kostrådgivning.jpg"] .service-card__media img{object-position:center 58%}.service-card[data-image="/idrottsnutrition.jpg"] .service-card__media img{object-position:center 45%}.service-card[data-image="/boka.png"] .service-card__media img{object-position:center center}.service-card[data-image="/boka.png"] .service-card__media{background:#fff}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto}.reveal,.service-card,.cta-button,.gallery-card img,.background-orbit,.background-orbit:before,.background-orbit:after{transition:none;animation:none}}
