/* ============================================================
   GOSENOS – startsidan (kräver gosenos.css)
   ============================================================ */



/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(253,251,248,.93);backdrop-filter:blur(8px);border-bottom:1px solid #efe4e0}

.nav{display:flex;align-items:center;gap:28px;padding:10px 0;position:relative}

.logo{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none}

.logo .imgs{position:relative;width:52px;height:52px;flex:none;transition:width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1)}

header.big .logo .imgs{width:180px;height:180px}

.logo .imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .3s ease;filter:drop-shadow(0 3px 8px rgba(142,62,64,.18))}

.logo img.logo-stor{opacity:0}
            /* stora runda loggan – syns i toppläget */
header.big .logo img.logo-stor{opacity:1}

.logo img.logo-liten{opacity:1;padding:5px}
 /* symbol-loggan – syns när sidan scrollats */
header.big .logo img.logo-liten{opacity:0}

.logo>span:not(.imgs){transition:opacity .25s ease,transform .25s ease}

header.big .logo>span:not(.imgs){opacity:0;transform:translateX(-10px);pointer-events:none}

@media(max-width:840px){header.big .logo .imgs{width:108px;height:108px}}

.logo small{display:block;font-family:var(--body);font-weight:600;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--nos)}

.nav nav{margin-left:auto;display:flex;gap:22px}

.nav nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink);opacity:.85}

.nav nav a:hover{color:var(--nos);opacity:1}

.menu-btn{display:none;margin-left:auto;background:none;border:none;cursor:pointer;width:46px;height:46px;border-radius:12px;place-items:center}

.menu-btn:hover{background:var(--rosa)}

.menu-btn span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px;margin:2.6px 0;transition:transform .25s ease,opacity .2s ease}

.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7.6px) rotate(45deg)}

.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}

.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.6px) rotate(-45deg)}

@media(max-width:840px){
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--kritvit);border-bottom:1px solid #efe4e0;box-shadow:0 16px 30px rgba(38,33,31,.1);padding:8px 0}
  .nav nav.open{display:flex}
  .nav nav a{padding:14px 24px;border-bottom:1px solid #f5ebe7;font-size:1.02rem}
  .nav nav a:last-child{border-bottom:none}
  .menu-btn{display:grid}
}

@media(max-width:480px){.nav .btn{display:none}}


/* ---------- Hero ---------- */
.hero{position:relative;padding:64px 0 0}

.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}

.hero h1{font-size:clamp(2.4rem,5.4vw,3.9rem);margin:.35em 0 .45em}

.hero h1 em{font-style:italic;color:var(--nos)}

.hero p.lead{font-size:1.13rem;max-width:46ch;color:#4c4340}

.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}

.status{display:inline-flex;align-items:center;gap:10px;margin-top:26px;background:#fff;border:1.5px solid #efdeda;border-radius:999px;padding:9px 18px 9px 12px;font-weight:600;font-size:.92rem;box-shadow:0 3px 14px rgba(38,33,31,.06)}

.status .dot{width:11px;height:11px;border-radius:50%;background:#bdb3ac;flex:none}

.status.open .dot{background:#4CAF50;box-shadow:0 0 0 4px rgba(76,175,80,.18)}

.status.closed .dot{background:var(--nos);box-shadow:0 0 0 4px rgba(185,83,85,.16)}

.hero-art{position:relative}

.hero-art svg{width:100%;height:auto}

.hero-video{position:relative;z-index:2;margin:60px auto -78px}

.hero-video .frame{border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:#000;border:6px solid #fff;box-shadow:0 22px 50px rgba(38,33,31,.22)}

.hero-video iframe{width:100%;height:100%;border:0;display:block}

.hero-band{background:var(--nos);color:#fff;padding:96px 0 20px}

.hero-band .wrap{display:flex;flex-wrap:wrap;gap:10px 38px;justify-content:center;font-weight:600;font-size:.95rem}

.hero-band span{display:flex;align-items:center;gap:9px;opacity:.97}

.hero-band svg{width:17px;height:17px;flex:none}

@media(max-width:840px){.hero .wrap{grid-template-columns:1fr}.hero-art{display:none}}


/* ---------- Avlång video ovanför röda bandet ---------- */
.hero-video{margin-top:56px}

.hero-video .frame{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;box-shadow:0 18px 44px rgba(142,62,64,.22);background:linear-gradient(135deg,var(--rosa),var(--rosamork))}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent}
.video-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--nosmork);font-weight:600;padding:20px}
.video-fallback svg{width:64px;height:64px;margin:0 auto 12px;transform:rotate(180deg)}
.video-fallback small{display:block;font-weight:500;color:#97877f;margin-top:6px}



.hero-video figcaption{text-align:center;font-size:.85rem;color:#97877f;margin-top:12px;font-weight:600}

.hero .hero-band{margin-top:34px}

@media(max-width:760px){.hero-video .frame{border-radius:20px}}


/* ---------- Utfällbart intresseanmälan-formulär ---------- */
.formwrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease;background:var(--rosa)}

.formwrap.open{grid-template-rows:1fr}

.formwrap>div{overflow:hidden}

.formcard{max-width:880px;margin:64px auto;background:#fff;border:1px solid #f0e0dc;border-radius:var(--radius);padding:42px 44px;box-shadow:0 10px 34px rgba(142,62,64,.1);position:relative}

.formcard h2{margin-top:0}

.formcard .close{position:absolute;top:18px;right:18px;background:var(--rosa);border:none;width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer;color:var(--nosmork);font-weight:700}

.formcard .close:hover{background:var(--rosamork)}

fieldset{border:none;margin:30px 0 0;padding:26px 0 0;border-top:1.5px dashed #ecd5d1}

fieldset:first-of-type{border-top:none;padding-top:0}

legend{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--nosmork);padding-right:14px;display:flex;align-items:center;gap:10px}

legend svg{width:22px;height:22px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}

.grid3{display:grid;grid-template-columns:2fr 1fr 2fr;gap:18px;margin-top:16px}

.formfoot{margin-top:32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}

.formfoot .gdpr{font-size:.82rem;color:#97877f;max-width:38ch}

@media(max-width:680px){.formcard{padding:32px 22px;margin:44px 16px}.grid2,.grid3{grid-template-columns:1fr}}


/* ---------- Sections ---------- */
section{padding:84px 0}

.center{text-align:center}

.intro{max-width:62ch;margin:0 auto;color:#4c4340}


/* ---------- Dagen: tasspår-tidslinje ---------- */


.stops{position:relative;display:flex;flex-direction:column;gap:54px;margin-top:54px}

.stop{display:flex;align-items:center;gap:28px;opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}

.stop.visible{opacity:1;transform:none}

.stop:nth-child(even){flex-direction:row-reverse;text-align:right}

.stop:nth-child(even) .card{margin-left:auto}

.stop .spacer{flex:1}

.card{background:#fff;border-radius:var(--radius);padding:26px 30px;max-width:430px;box-shadow:0 6px 24px rgba(142,62,64,.08);border:1px solid #f0e0dc}

.card .time{display:inline-block;background:var(--ink);color:var(--kritvit);font-weight:700;font-size:.82rem;letter-spacing:.06em;padding:5px 14px;border-radius:999px;margin-bottom:12px}

.card h3{font-size:1.3rem;margin-bottom:8px}

.card p{font-size:.98rem;color:#4c4340}

.paw-mid{flex:none;width:58px;height:58px;border-radius:50%;background:var(--nos);display:grid;place-items:center;box-shadow:0 4px 14px rgba(142,62,64,.35)}

.paw-mid svg{width:30px;height:30px;transform:rotate(180deg)}

.stop:nth-child(odd) .paw-mid svg{transform:rotate(165deg)}

.stop:nth-child(even) .paw-mid svg{transform:rotate(195deg)}

@media(max-width:760px){
  .stop,.stop:nth-child(even){flex-direction:row;text-align:left}
  .stop .spacer{display:none}
  .stop:nth-child(even) .card{margin-left:0}
  .paw-mid{width:46px;height:46px}.paw-mid svg{width:24px}
}


/* ---------- Platser ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}

.plan{background:#fff;border:1px solid #f0e0dc;border-radius:var(--radius);padding:34px 30px;position:relative;transition:transform .18s ease,box-shadow .18s ease}

.plan:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(142,62,64,.13)}

.plan h3{font-size:1.45rem;margin:14px 0 10px}

.plan p{font-size:.97rem;color:#4c4340}

.plan .tagchip{position:absolute;top:-14px;right:22px;background:var(--nos);color:#fff;font-weight:700;font-size:.78rem;padding:6px 14px;border-radius:999px;box-shadow:0 4px 12px rgba(142,62,64,.3)}

.plan .icon{width:52px;height:52px;border-radius:14px;background:var(--rosa);display:grid;place-items:center}

.plan .icon svg{width:28px;height:28px}

.plan a{display:inline-block;margin-top:16px;font-weight:700;color:var(--nos);text-decoration:none}

.plan a:hover{text-decoration:underline;color:var(--nosmork)}

@media(max-width:840px){.plans{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}


/* ---------- Förtroende ---------- */
.trust{background:var(--ink);color:var(--kritvit);border-radius:36px;margin:0 24px;position:relative;overflow:hidden}

.trust::after{content:"";position:absolute;right:-90px;bottom:-90px;width:340px;height:340px;background:url(LOGO_B64) center/contain no-repeat;opacity:.07;pointer-events:none}

.trust-inner{max-width:1140px;margin:0 auto;padding:84px 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center;position:relative}

.trust h2{color:var(--kritvit)}

.trust h2 em{font-style:italic;color:var(--nosljus)}

.trust p{color:#e6dcd6;max-width:50ch}

.trust ul{list-style:none;margin-top:22px;display:grid;gap:14px}

.trust li{display:flex;gap:12px;align-items:flex-start;font-weight:500}

.trust li svg{width:22px;height:22px;flex:none;margin-top:3px}

.team{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.member{background:rgba(253,251,248,.07);border:1px solid rgba(253,251,248,.16);border-radius:18px;padding:22px;text-align:center}

.member .ph{width:84px;height:84px;border-radius:50%;margin:0 auto 12px;background:var(--rosa);display:grid;place-items:center;font-family:var(--display);font-size:1.6rem;color:var(--nosmork);font-weight:700}

.member strong{display:block;font-size:1.02rem}

.member span{font-size:.85rem;opacity:.75}

@media(max-width:840px){.trust-inner{grid-template-columns:1fr}}


/* ---------- Nyheter & brev ---------- */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch}

.news,.letter{border-radius:var(--radius);padding:38px 36px}

.news{background:#fff;border:1px solid #f0e0dc}

.news .date{font-size:.85rem;color:#97877f;font-weight:600}

.news h3{font-size:1.5rem;margin:8px 0 12px}

.news p{color:#4c4340;font-size:.98rem}

.letter{background:var(--rosa);display:flex;flex-direction:column;justify-content:center}

.letter h3{font-size:1.5rem;margin-bottom:10px}

.letter form{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}

.letter input{flex:1;min-width:180px;border:1.5px solid #e3c7c2;border-radius:999px;padding:12px 18px;font:inherit;background:#fff}

@media(max-width:840px){.split{grid-template-columns:1fr}}


/* ---------- Kontakt ---------- */
.kontakt{background:linear-gradient(180deg,var(--kritvit),var(--rosa))}

.kontaktinfo{background:#fff;border:1px solid #f0e0dc;border-radius:var(--radius);padding:38px 36px}

.kontaktinfo ul{list-style:none;display:grid;gap:18px;margin-top:20px}

.kontaktinfo li{display:flex;gap:14px;align-items:flex-start}

.kontaktinfo li svg{width:22px;height:22px;flex:none;margin-top:3px}

.kontaktinfo li strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--nos)}

.kontaktform{background:#fff;border:1px solid #f0e0dc;border-radius:var(--radius);padding:38px 36px}


/* ---------- Login-modal ---------- */
.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(38,33,31,.55);z-index:100;padding:20px}

.modal .btn{width:100%;justify-content:center;font-size:1.02rem;padding:14px}

.modal .links{margin-top:18px;font-size:.88rem}

.modal .links a{color:var(--nos);font-weight:600;text-decoration:none}

.modal .links a:hover{text-decoration:underline}

.modal .close{position:absolute;top:16px;right:16px;background:var(--rosa);border:none;width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer;color:var(--nosmork);font-weight:700}

.modal .close:hover{background:var(--rosamork)}


/* ---------- CTA & footer ---------- */
.bigcta{text-align:center;background:linear-gradient(180deg,var(--kritvit),var(--rosamork))}

.bigcta h2{font-size:clamp(2rem,4.6vw,3rem)}

footer{background:var(--nosmork);color:#F3DEDC;padding:46px 0;font-size:.9rem}

footer .wrap{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}

footer a{color:#fff}

footer .flogo{display:flex;align-items:center;gap:12px}

footer .flogo img{width:46px;height:46px;background:#fff;border-radius:50%}



/* ---------- Skickat-grafik (kontakt) ---------- */
.sentanim{display:none;text-align:center;padding:36px 10px;position:relative}

.sentanim.show{display:block}

.sentanim .badge{width:130px;height:130px;margin:0 auto 20px;position:relative;animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}

.sentanim .ring{width:130px;height:130px}

.sentanim .ring circle{fill:var(--rosa);stroke:var(--nos);stroke-width:4;stroke-dasharray:378;stroke-dashoffset:378;animation:draw 1s .25s ease-out forwards}

.sentanim .ring path.check{fill:none;stroke:var(--nos);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:90;stroke-dashoffset:90;animation:draw .55s .8s ease-out forwards}

.sentanim .heart{position:absolute;width:22px;height:22px;opacity:0;animation:floatup 1.6s ease-out forwards}

.sentanim .heart:nth-of-type(2){left:6px;top:30px;animation-delay:1s}

.sentanim .heart:nth-of-type(3){right:2px;top:14px;width:16px;animation-delay:1.25s}

.sentanim .heart:nth-of-type(4){right:22px;bottom:4px;width:13px;animation-delay:1.45s}

.sentanim h3{font-size:1.5rem;animation:fadeup .5s 1s both}

.sentanim p{color:#4c4340;animation:fadeup .5s 1.2s both}

@keyframes draw{to{stroke-dashoffset:0}}

@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.12)}100%{transform:scale(1)}}

@keyframes floatup{0%{opacity:0;transform:translateY(10px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translateY(-54px) scale(1.15)}}

@keyframes fadeup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}


/* ---------- Filbilagor (jobbansökan) ---------- */
.filelist{display:flex;flex-direction:column;gap:8px;margin-top:10px}



/* ---------- Öppettidspanel (klickbar statusknapp) ---------- */
.statuswrap{position:relative;display:inline-block}

.status{cursor:pointer;font-family:inherit}

.status .chev{width:14px;height:14px;transition:transform .2s ease;flex:none}

.status[aria-expanded="true"] .chev{transform:rotate(180deg)}

.status:hover{border-color:var(--nos)}

.status-panel{position:absolute;top:calc(100% + 12px);left:0;width:min(340px,86vw);background:#fff;border:1px solid #f0e0dc;border-radius:18px;box-shadow:0 18px 44px rgba(38,33,31,.16);padding:22px 24px;z-index:60;display:none;text-align:left;max-height:min(70vh,560px);overflow-y:auto}

.status-panel.open{display:block}

.status-panel h4{font-family:var(--display);font-size:1.05rem;color:var(--nosmork);margin-bottom:10px;display:flex;align-items:center;gap:8px}

.status-panel h4 svg{width:17px;height:17px}

.status-panel .rad{display:flex;justify-content:space-between;gap:14px;font-size:.9rem;padding:6px 0;border-bottom:1px dashed #f0e0dc}

.status-panel .rad:last-child{border-bottom:none}

.status-panel .rad.idag{font-weight:700;color:var(--nosmork)}

.status-panel .rad span:last-child{font-weight:600}

.status-panel .tillf{margin-top:18px}

.status-panel .tillf .rad span:last-child{color:var(--nos)}

.status-panel .obs{font-size:.78rem;color:#97877f;margin-top:12px}

@media(max-width:840px){.status-panel{left:50%;transform:translateX(-50%)}}


/* ---------- Klickbara platskort + detaljpanel ---------- */
.plan{cursor:pointer}

.plan .lasmer{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;color:var(--nos);font-size:.95rem}

.plan .lasmer svg{width:15px;height:15px;transition:transform .2s ease}

.plan.aktiv{border-color:var(--nos);box-shadow:0 14px 34px rgba(142,62,64,.16)}

.plan.aktiv .lasmer svg{transform:rotate(180deg)}

.plan-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}

.plan-detail.open{grid-template-rows:1fr}

.plan-detail>div{overflow:hidden}

.plan-detail .inner{margin-top:26px;background:var(--rosa);border-radius:var(--radius);padding:36px 40px;text-align:left;position:relative}

.plan-detail .inner h3{font-size:1.6rem;margin-bottom:12px}

.plan-detail .inner p{color:#4c4340;max-width:62ch}

.plan-detail .inner ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}

.plan-detail .inner li{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.97rem}

.plan-detail .inner li svg{width:19px;height:19px;flex:none;margin-top:3px}

.plan-detail .stang{position:absolute;top:16px;right:16px;background:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;color:var(--nosmork);font-weight:700}

.plan-detail .stang:hover{background:var(--rosamork)}

.plan-detail .cta{margin-top:24px}

@media(max-width:680px){.plan-detail .inner{padding:28px 22px}}



/* ---------- Flockmodal (teamet & hundarna) ---------- */
.member.klick{cursor:pointer;font:inherit;color:inherit;width:100%;transition:transform .15s ease,background .15s ease}

.member.klick:hover{background:rgba(253,251,248,.15);transform:translateY(-3px)}

.flockgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:18px 14px;margin-top:24px;max-height:min(56vh,520px);overflow-y:auto;padding:4px}

.fmedlem{text-align:center}

.fmedlem .fbild{width:82px;height:82px;border-radius:50%;overflow:hidden;background:var(--rosa);margin:0 auto 8px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--nosmork)}

.fmedlem .fbild svg{width:100%;height:100%}

.fmedlem strong{display:block;font-size:.92rem;line-height:1.3}

.fmedlem span{font-size:.78rem;color:#97877f}


@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .stop{opacity:1;transform:none}
}

/* ---------- Bildgalleri ---------- */
.galleri-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.galleri-grid figure{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;margin:0;background:linear-gradient(135deg,var(--rosa),var(--rosamork));cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.galleri-grid figure::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%20fill='%23B95355'%20opacity='.35'%3E%3Cellipse%20cx='20'%20cy='14'%20rx='9'%20ry='8'/%3E%3Cellipse%20cx='8'%20cy='24'%20rx='4'%20ry='5'/%3E%3Cellipse%20cx='16'%20cy='30'%20rx='4'%20ry='5'/%3E%3Cellipse%20cx='24'%20cy='30'%20rx='4'%20ry='5'/%3E%3Cellipse%20cx='32'%20cy='24'%20rx='4'%20ry='5'/%3E%3C/svg%3E") center/34% no-repeat}
.galleri-grid img{position:relative;width:100%;height:100%;object-fit:cover;display:block}
.galleri-grid figure:hover{transform:scale(1.03);box-shadow:0 12px 30px rgba(142,62,64,.22)}
.galleri-grid figure:nth-child(1),.galleri-grid figure:nth-child(6){grid-row:span 2;aspect-ratio:auto}
@media(max-width:760px){.galleri-grid{grid-template-columns:repeat(2,1fr)}}

/* Lightbox för galleriet */
.lightbox{position:fixed;inset:0;background:rgba(38,33,31,.88);display:none;place-items:center;z-index:120;padding:28px}
.lightbox.open{display:grid}
.lb-inner{width:100%;max-width:760px;text-align:center}
.lb-bild{border-radius:22px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.lb-bild img{width:100%;height:auto;display:block}
.lb-rad{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}
.lb-rad button,.lb-stang{width:46px;height:46px;border-radius:50%;border:none;background:rgba(253,251,248,.14);color:#fff;font-size:1.2rem;cursor:pointer;font-weight:700;transition:background .15s ease}
.lb-rad button:hover,.lb-stang:hover{background:rgba(253,251,248,.28)}
.lb-rad .raknare{color:#F3DEDC;font-weight:700;font-size:.95rem;min-width:54px}
.lb-stang{position:absolute;top:20px;right:24px}

/* ---------- Teknisk plattform ---------- */
.teknik{background:var(--ink);color:var(--kritvit)}
.teknik h2{color:var(--kritvit)}
.teknik-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;text-align:left}
.tcard{background:rgba(253,251,248,.06);border:1px solid rgba(253,251,248,.14);border-radius:var(--radius);padding:32px 28px;transition:transform .16s ease,background .16s ease}
.tcard:hover{transform:translateY(-4px);background:rgba(253,251,248,.1)}
.ticon{width:56px;height:56px;border-radius:16px;background:var(--rosa);display:grid;place-items:center;margin-bottom:18px}
.ticon svg{width:30px;height:30px}
.tcard h3{color:var(--kritvit);font-size:1.25rem;margin-bottom:10px}
.tcard p{color:#e6dcd6;font-size:.96rem}
@media(max-width:840px){.teknik-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

/* ---------- Personuppgiftspolicy-modal ---------- */
.gdprbox{max-width:680px;text-align:left;max-height:90vh;display:flex;flex-direction:column}
.gdprbox h2{margin-bottom:4px;text-align:left}
.gdprbox .updated{font-size:.82rem;color:#97877f;font-weight:600;margin-bottom:18px}
.gdprbox .gdprtext{overflow-y:auto;padding-right:12px;border-top:1px solid #f0e0dc;border-bottom:1px solid #f0e0dc;padding-top:18px;padding-bottom:18px;margin-bottom:18px;flex:1;min-height:0}
.gdprbox .gdprtext h3{font-family:var(--display);font-size:1.05rem;color:var(--nosmork);margin:18px 0 6px}
.gdprbox .gdprtext p{font-size:.92rem;color:#4c4340;margin-bottom:10px}
.gdprbox .gdprtext ul{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:8px}
.gdprbox .gdprtext li{font-size:.92rem;color:#4c4340;padding-left:24px;position:relative}
.gdprbox .gdprtext li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--nosljus)}
.gdprbox .gdprtext a{color:var(--nos);font-weight:700}
.gdpr-knappar{text-align:right}

/* ---------- Levande bakgrund: "Så här ser en dag ut hos oss" ---------- */
.day{position:relative;overflow:hidden;background:var(--rosa)}
.day>.wrap{position:relative;z-index:3}
.day-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.day-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.day-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--kritvit) 0%,rgba(247,233,231,.84) 12%,rgba(247,233,231,.84) 88%,var(--kritvit) 100%)}
.day-anim{position:absolute;inset:0;z-index:2;overflow:hidden}
.day-anim .sv{position:absolute;bottom:-90px;width:calc(46px * var(--s,1));opacity:0;animation:svava var(--t,18s) linear infinite;animation-delay:var(--d,0s)}
.day-anim .sv svg{width:100%;height:auto;display:block}
@keyframes svava{
  0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0}
  10%{opacity:var(--o,.4)}
  45%{transform:translateY(-46vh) translateX(26px) rotate(14deg)}
  85%{opacity:var(--o,.4)}
  100%{transform:translateY(-108vh) translateX(-14px) rotate(-10deg);opacity:0}
}