:root{--green:#006b63;--bright:#009b72;--mint:#ecfff7;--ink:#11221f;--line:#d9e4e1;--shadow:0 18px 40px rgba(15,23,42,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#dcebe7 url("assets/pumps-in-the-sky.jpg") center/cover fixed no-repeat;line-height:1.55}
body:before{content:"";position:fixed;inset:0;background:rgba(236,255,247,.84);z-index:-1}
body.group-page{background:#06182d}
body.group-page:before{display:none}
body.course-page{background:#071827 url("assets/alle-skal-trygt-hjem.png") center/100% 100vh fixed no-repeat}
body.course-page:before{background:rgba(5,25,39,.34)}
body.course-page .back{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}
a:focus-visible{outline:3px solid #ffca3a;outline-offset:3px}
.shell{max-width:1160px;margin:auto;padding:32px 18px 42px}
.hero,.panel,.resource,.about{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(3px)}
.hero{padding:36px;border-radius:26px;margin-bottom:26px}
.hero h1{font-size:clamp(2.1rem,5vw,3.2rem);margin:0 0 12px;line-height:1.08}
.hero p{max-width:820px;font-size:1.08rem;margin:7px 0}
.eyebrow{color:var(--green);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.82rem;margin:0 0 10px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-grid,.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.menu-card,.resource{display:block;color:inherit;text-decoration:none;border-radius:22px;padding:25px;transition:.15s ease}
.menu-card{background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:var(--shadow);min-height:155px}
.menu-card:hover,.resource:hover{transform:translateY(-3px);box-shadow:0 22px 45px rgba(15,23,42,.18)}
.menu-card h2,.resource h2,.resource h3{margin:0 0 8px;line-height:1.25}.menu-card p,.resource p{margin:0}
.event-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:24px;margin-top:20px;padding:30px;border-radius:24px;background:linear-gradient(135deg,rgba(0,107,99,.98),rgba(0,155,114,.95));color:#fff;text-decoration:none;box-shadow:var(--shadow);align-items:center}
.event-card h2{font-size:1.8rem;margin:0 0 8px}.event-card p{margin:0}.event-action{justify-self:end;background:#fff;color:var(--green);font-weight:800;padding:13px 18px;border-radius:13px}
.section-title{color:var(--green);font-size:.92rem;letter-spacing:.09em;text-transform:uppercase;margin:34px 0 13px}
.feedback,.about{border-radius:20px;padding:25px;margin-top:22px}.feedback{background:rgba(0,107,99,.96);color:#fff;box-shadow:var(--shadow)}.feedback-tab{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:17px 21px;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.feedback-tab p{margin:0;font-weight:700}.feedback h2,.about h2{margin-top:0}.button{display:inline-block;background:#fff;color:var(--green);text-decoration:none;font-weight:800;padding:11px 16px;border-radius:12px}.button-green{background:var(--bright);color:#fff}.back{display:inline-block;margin-bottom:18px;color:var(--green);font-weight:800;text-decoration:none}.panel{border-radius:24px;padding:30px}.resource{min-height:138px}.tag{display:inline-block;background:#d7eee9;color:#245c56;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.small{font-size:.9rem;color:#5b6865}.media-grid img,.media-grid video{display:block;width:100%;border-radius:14px;background:#111}.media-grid img{height:210px;object-fit:cover}.wide-image{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line);margin-top:14px}.download-list{display:grid;gap:12px}.download-list a{display:block;padding:15px 17px;border-radius:14px;background:var(--mint);border:1px solid #81b9ad;color:var(--green);font-weight:800;text-decoration:none}.updated{text-align:right;color:#4f5f5b;font-size:.88rem;margin:22px 2px 0}
.process-banner{display:block;width:100%;height:auto;margin:0 0 22px;border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:var(--shadow);background:#fff}
.group-stage{position:relative;width:100%;height:100vh;height:100svh;min-height:0;background:url("assets/styret-betongpumpegruppa-clean.png") center/100% 100% no-repeat;overflow:hidden}.group-page .back{position:absolute;z-index:2;top:14px;left:50%;transform:translateX(-50%);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.group-menu{position:absolute;z-index:1;top:clamp(115px,16vh,170px);left:50%;transform:translateX(-50%);width:min(1380px,calc(100% - 64px));padding:28px 32px;background:rgba(255,255,255,.97);border:2px solid #fff;color:var(--ink);box-shadow:0 22px 55px rgba(0,0,0,.35)}.group-menu p{margin:0;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.5}.group-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.group-links a{display:block;padding:15px 18px;border-radius:13px;background:var(--mint);border:1px solid #81b9ad;color:var(--green);font-size:1.03rem;font-weight:800;text-align:center;text-decoration:none}.group-links a:hover{background:#d9f6eb}.board-label{position:absolute;z-index:1;left:50%;bottom:12.7%;transform:translateX(-50%);margin:0;padding:4px 12px;border-radius:999px;background:rgba(3,24,42,.82);color:#fff;font-size:clamp(.72rem,1.05vw,.98rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
@media(min-width:701px){body.group-page{overflow:hidden}}
@media(max-width:900px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-menu{width:calc(100% - 36px)}}@media(max-width:700px){body{background-attachment:scroll}body.course-page{background-size:contain;background-position:center top}.shell{padding:16px 10px 30px}.hero,.panel{padding:23px}.menu-grid{grid-template-columns:1fr}.event-card{grid-template-columns:1fr}.event-action{justify-self:start}.menu-card{min-height:auto}.media-grid img{height:180px}.feedback-tab{align-items:flex-start;flex-direction:column}.group-stage{aspect-ratio:auto;min-height:860px;background-position:center top}.group-page .back{top:14px;font-size:.9rem}.group-menu{top:52px;width:calc(100% - 24px);padding:18px}.group-menu p{font-size:.92rem}.group-links{grid-template-columns:1fr;gap:8px}.group-links a{padding:10px}.board-label{bottom:10%;font-size:.72rem}}
