@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#080911;--panel:#10121d;--line:#292b3a;--white:#f5f6fa;--muted:#a4a7b8;--cyan:#12e6ef;--pink:#f52cda}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:84px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1240px)/2));background:rgba(8,9,17,.9);border-bottom:1px solid #ffffff12;backdrop-filter:blur(18px)}.brand{display:flex;gap:7px;align-items:center;font:800 19px Outfit,Arial,sans-serif;letter-spacing:1.8px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:2px solid var(--cyan);border-right-color:var(--pink);border-radius:50%;font-size:13px;box-shadow:0 0 16px #12e6ef44}.header nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:700}.header nav a:hover,footer a:hover{color:var(--cyan)}.nav-cta{border:1px solid #3c3f53;border-radius:7px;padding:11px 17px}.menu{display:none;background:none;border:0;color:white;font-size:26px}.hero{min-height:850px;position:relative;overflow:hidden;display:flex;justify-content:center;text-align:center;padding:80px 20px 110px;background:radial-gradient(ellipse at 50% 35%,#142037 0%,#0b0d19 45%,#080911 80%)}.glow{position:absolute;border-radius:50%;filter:blur(110px);opacity:.17;pointer-events:none}.glow-a{background:var(--cyan);width:370px;height:370px;top:100px;left:15%}.glow-b{background:var(--pink);width:330px;height:330px;right:12%;top:170px}.hero-content{position:relative;z-index:1;max-width:850px}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--cyan)}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:#cbd1e0;border:1px solid #343a50;border-radius:30px;padding:8px 18px;letter-spacing:2px}.dot{height:7px;width:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.hero-logo{width:min(310px,68vw);height:auto;display:block;margin:18px auto -6px;filter:drop-shadow(0 0 30px #12e6ef16)}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.1}h1{font-size:clamp(45px,6vw,79px);letter-spacing:-2.7px;margin:8px 0 22px;font-weight:800}h1 em{font-style:normal;color:var(--cyan)}h1 em:last-child{color:var(--pink)}.hero p{font-size:18px;color:#b7bdcd;max-width:610px;margin:0 auto 30px}.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:16px 23px;border-radius:8px;font-weight:800;font-size:14px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px)}.primary{background:linear-gradient(110deg,#1ee8e9,#13a9db);color:#061019;box-shadow:0 8px 30px #12e6ef22}.secondary{border:1px solid #44475a;background:#161824}.scroll-note{position:absolute;bottom:30px;color:#81879b;font-size:10px;letter-spacing:2px;font-weight:800;display:flex;flex-direction:column;gap:10px}.scroll-note span{font-size:20px;color:var(--cyan)}.section{padding:115px max(5%,calc((100vw - 1200px)/2));scroll-margin-top:80px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.section-heading>div{max-width:650px}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px;margin:0 0 7px}h2{font-size:clamp(37px,4.5vw,60px);letter-spacing:-1.7px;margin:18px 0 0}h2 span{color:var(--cyan)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;background:linear-gradient(150deg,#171a28,#0e101a);border:1px solid var(--line);border-radius:14px;padding:34px;min-height:355px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#27cbd4;transform:translateY(-4px)}.service-icon{font-size:34px;font-weight:800;line-height:1}.cyan{color:var(--cyan)}.pink{color:var(--pink)}.blue{color:#5888ff}.service-number{position:absolute;right:29px;top:27px;color:#555a6f;font:700 13px Outfit}.service-card h3{font-size:26px;margin:29px 0 8px}.service-card p{font-size:14px;color:var(--muted);margin:0 0 30px}.service-card a{margin-top:auto;font-size:13px;font-weight:800;color:var(--cyan)}.service-card a span{padding-left:7px}.about{background:#0d101b;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.about-art{height:410px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#152d42,#101523 48%,#0b0f19 70%);border:1px solid #242a3a;border-radius:16px;overflow:hidden}.orb{width:265px;height:265px;border-radius:50%;border:12px solid #18d7ed;border-right-color:#ed26d6;border-bottom-color:#d528e6;box-shadow:0 0 50px #0cdbe944,inset 0 0 40px #0cdbe944;display:grid;place-items:center;transform:rotate(-15deg)}.orb-inner{transform:rotate(15deg);font:900 85px Outfit;letter-spacing:-7px;text-align:center;line-height:.8;text-shadow:0 0 24px #1ac6ee77}.orb-inner span{display:block;font-size:19px;letter-spacing:6px;margin-top:15px;color:#a3ebf5}.art-caption{position:absolute;bottom:20px;left:24px;font-size:11px;letter-spacing:3px;color:#9aa9bc}.about-copy p{color:var(--muted);max-width:520px}.about-copy h2 span{color:var(--pink)}.text-link{display:inline-block;color:var(--cyan);font-weight:800;margin-top:15px}.projects{background:#090b13}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.project-card{padding:0 0 10px}.project-art{height:300px;display:grid;place-items:center;border:1px solid #30354c;border-radius:12px;margin-bottom:24px;overflow:hidden}.p1 .project-art{background:radial-gradient(circle at 55% 55%,#204d6c,#111a32 48%,#11131e 85%)}.p2 .project-art{background:radial-gradient(circle at 50% 55%,#61204e,#29142e 48%,#11131e 85%)}.project-art span{font-size:140px;color:#a8ffff;text-shadow:0 0 45px #00eaffaa}.p2 .project-art span{color:#ffa1f6;text-shadow:0 0 45px #ff00d4aa}.project-label{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--cyan)}.project-card h3{font-size:28px;margin:8px 0}.project-card p,.project-footnote{color:var(--muted);font-size:14px}.project-footnote{margin-top:32px}.contact{text-align:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 110%,#182744,#0b0d17 65%)}.contact h2 span{color:var(--pink)}.contact p{color:var(--muted);font-size:18px}.contact-button{margin-top:20px}.contact-small{margin-top:36px;font-size:12px;color:#858a9c}footer{border-top:1px solid #242638;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 5%;font-size:12px;color:#9ca0b1}footer .brand{color:white}footer>a:last-child{font-size:13px}@media(max-width:800px){.header{height:72px;padding:0 5%}.menu{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#111421;padding:20px 5%;flex-direction:column;align-items:stretch;gap:17px}.header nav.open{display:flex}.hero{min-height:760px;padding-top:70px}.hero-logo{width:min(270px,65vw)}.section{padding:75px 6%}.section-heading{display:block}.section-heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.about{grid-template-columns:1fr;gap:45px}.about-art{height:330px}.orb{transform:scale(.82) rotate(-15deg)}.project-grid{grid-template-columns:1fr}.project-art{height:250px}footer{flex-direction:column;text-align:center}h1{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card{transition:none}}

.brand-logo{display:block;width:158px;max-height:67px;height:auto;object-fit:contain}.header .brand,footer .brand{flex-shrink:0}.hero-logo{mix-blend-mode:normal}.about-logo{display:block;width:min(290px,78%);height:auto;object-fit:contain;filter:drop-shadow(0 0 24px #10ddf52a)}@media(max-width:800px){.brand-logo{width:128px}}

/* Undersidor */
.header nav a[aria-current="page"] {color:#fff;text-decoration:underline;text-decoration-color:#19dcf4;text-underline-offset:8px}
.subhero {min-height:390px;position:relative;overflow:hidden;display:flex;align-items:center;padding:135px max(6vw,24px) 75px;background:radial-gradient(ellipse at 75% 40%,rgba(230,30,210,.12),transparent 45%),#080911}
.subhero-inner{position:relative;z-index:2;width:min(1100px,100%);margin:auto}
.subhero h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.07;margin:18px 0 22px;letter-spacing:-.045em}
.subhero h1 em{font-style:normal;color:#18d9f1}
.subhero p{max-width:700px;color:#c6c8d6;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.7}
.subcontent{max-width:1200px;margin:auto;padding:65px 24px 110px}
.detail-grid,.project-detail-list,.contact-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.detail-panel{background:linear-gradient(145deg,rgba(23,29,48,.92),rgba(13,15,28,.97));border:1px solid rgba(88,130,164,.3);border-radius:20px;padding:34px;box-shadow:0 12px 45px rgba(0,0,0,.16)}
.detail-panel h2,.about-detail h2{font-size:clamp(1.35rem,2.2vw,1.9rem);margin:0 0 16px;color:#fff}
.detail-panel p,.about-detail p{line-height:1.8;color:#c7c9d5;margin:0 0 16px}
.project-tag{display:block;font-size:.75rem;letter-spacing:.14em;color:#36dcef;font-weight:700;margin-bottom:18px}
.sub-cta{text-align:center;border:1px solid rgba(244,42,223,.25);border-radius:24px;background:radial-gradient(ellipse at center,rgba(174,32,173,.13),transparent 75%),#0c0e19;padding:54px 24px;margin-top:42px}
.sub-cta h2{font-size:clamp(1.5rem,3vw,2.4rem);margin:0 0 14px}.sub-cta p{color:#c7c9d5;margin-bottom:28px}
.subnote{font-size:.9rem;color:#a7a9b8;line-height:1.7;margin-top:25px}
.about-detail{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:55px}.about-detail img{width:100%;max-width:360px;justify-self:center;filter:drop-shadow(0 0 30px rgba(27,211,245,.15))}
.contact-detail .btn{margin:16px 0}
@media(max-width:720px){.detail-grid,.project-detail-list,.contact-detail,.about-detail{grid-template-columns:1fr}.subhero{min-height:340px;padding-top:125px}.subcontent{padding:42px 18px 70px}.detail-panel{padding:25px}.about-detail img{max-width:250px}}

/* V5: portfolio and artist pages */
.portfolio-content {max-width:1180px;margin:0 auto;padding:70px 28px 100px}
.portfolio-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin:28px 0}
.portfolio-tile {display:block;overflow:hidden;border:1px solid rgba(130,171,218,.24);border-radius:18px;background:#101321;color:#f5f6ff;text-decoration:none;transition:transform .2s,border-color .2s}
.portfolio-tile:hover {transform:translateY(-4px);border-color:#34d9ed}
.portfolio-art {height:210px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.portfolio-art span {font-size:clamp(64px,9vw,112px);font-weight:900;letter-spacing:-.07em;color:#fff;text-shadow:0 0 35px rgba(255,255,255,.25)}
.cyan-art {background:radial-gradient(circle at 20% 20%,#126a91,#0a1535 55%,#060912)}
.pink-art {background:radial-gradient(circle at 80% 20%,#91349e,#29113e 55%,#070a17)}
.blue-art {background:radial-gradient(circle at 30% 20%,#234dcb,#101c50 55%,#080b16)}
.portfolio-info {padding:24px}.portfolio-info h2,.portfolio-info h3 {margin:10px 0}.portfolio-info p {color:#b6c2d4;line-height:1.6}
.tile-more {display:inline-block;margin-top:16px;color:#58e9f2;font-weight:700}
.feature-panel {display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:36px;align-items:center;margin:28px 0 32px}
.feature-panel h2 {font-size:clamp(28px,4vw,42px);margin:12px 0}.feature-panel p {line-height:1.8;color:#c1c8d8}
.feature-art {height:340px;border-radius:18px;border:1px solid rgba(255,255,255,.12)}
.media-placeholder {margin:28px 0;border:1px dashed rgba(118,181,209,.4);border-radius:14px;padding:30px;color:#a9b9ce;text-align:center;background:rgba(16,26,46,.4)}
.chapter-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.chapter-grid>div {border:1px solid #33405a;border-radius:12px;padding:18px;color:#65d9ef}.chapter-grid strong,.chapter-grid small {display:block;color:#fff;margin-top:8px}.chapter-grid small {color:#b5c2d4}
@media(max-width:750px){.feature-panel{grid-template-columns:1fr}.chapter-grid{grid-template-columns:repeat(2,1fr)}.portfolio-content{padding:45px 20px 75px}}

/* Artistlogotyper: originalemblem på transparent bakgrund */
.portfolio-art:has(.artist-logo) {display:flex; align-items:center;justify-content:center;overflow:hidden; padding:22px;background:radial-gradient(circle at 50% 42%,#17283d 0%,#0c111d 60%,#080b13 100%);}
.portfolio-art .artist-logo {position:relative;display:block;width:100%;height:100%;max-height:260px;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.38));}
.feature-art .artist-logo {max-height:340px;}

/* Artistpresentationer – version 7 */
.band-members{margin:2.2rem 0}.band-members h2{margin-bottom:1rem}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.member-grid>div{padding:18px;border:1px solid rgba(127,174,217,.24);background:rgba(13,23,39,.72);border-radius:12px}.member-grid strong,.member-grid span{display:block}.member-grid span{color:#aab8c8;margin-top:6px;font-size:.92rem}@media(max-width:750px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:470px){.member-grid{grid-template-columns:1fr}}

/* V8 – utvalt musiksläpp på BvJ:s artistsida */
.featured-release{margin:44px 0 22px;padding:24px;display:grid;grid-template-columns:minmax(200px,330px) 1fr;gap:34px;align-items:center;border:1px solid rgba(94,192,230,.3);border-radius:22px;background:linear-gradient(120deg,rgba(19,41,65,.7),rgba(24,14,38,.8));box-shadow:0 12px 45px rgba(0,0,0,.2)}
.release-art{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:16px;background:radial-gradient(circle at center,#263749,#070a12 75%)}
.release-art img{width:94%;height:94%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.release-art-caption{position:absolute;bottom:9px;left:10px;right:10px;text-align:center;font-size:10px;letter-spacing:.12em;color:#d8e4f4;background:rgba(0,0,0,.55);padding:5px}
.release-info h2{margin:12px 0 4px;font-size:clamp(27px,4vw,42px)}
.release-artist{font-weight:700;color:#83d9f8}.release-info p{line-height:1.65}.release-note{font-size:12px;opacity:.75;margin-top:15px}
@media(max-width:700px){.featured-release{grid-template-columns:1fr;padding:17px;gap:17px}.release-art{max-width:360px;width:100%;margin:auto}}

/* Artist releases v9 */
.artist-release-art {display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 38%,#24324b 0%,#0b101d 65%,#070a12 100%);}
.artist-release-art img {width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.45));}
.release-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.release-art img {display:block;}

/* Artist discographies */
.music-discography{margin:3rem 0}.music-discography>h2{margin-bottom:1.5rem}.discography-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem}.discography-card{background:rgba(18,23,42,.85);border:1px solid rgba(96,190,234,.24);border-radius:20px;padding:1.5rem}.discography-card h3{font-size:1.5rem;margin:.8rem 0}.discography-card ol{padding-left:1.5rem;line-height:1.9;margin:1rem 0 1.5rem}.discography-card li small{float:right;opacity:.7;margin-left:1rem}.discography-card .btn{display:inline-block}.music-discography .release-note{font-size:.85rem;opacity:.75;margin-top:1rem}

/* DJ G:son diskografi */
.discography{margin:38px 0 52px}.discography>h2{font-size:clamp(27px,4vw,40px)}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}.album-card{overflow:hidden;border:1px solid rgba(94,192,230,.3);border-radius:20px;background:linear-gradient(130deg,rgba(19,41,65,.72),rgba(24,14,38,.85));padding:22px}.album-card>img{width:100%;max-height:230px;object-fit:contain;margin-bottom:12px}.album-card h3{font-size:28px;margin:10px 0}.album-card ol{padding-left:24px;line-height:1.9;margin-bottom:24px}.album-card li{padding-right:4px}.album-card li span{float:right;opacity:.75;margin-left:12px}.album-card .btn{display:inline-block}@media(max-width:760px){.album-grid{grid-template-columns:1fr}.album-card{padding:17px}}

/* v15: DJ G:son – balanserade logotypstorlekar */
.feature-panel:has(img[src*="dj-gson"]) .feature-art .artist-logo {
  width: min(100%, 230px);
  height: 230px;
  max-height: 230px;
  object-fit: contain;
}
.featured-release:has(img[src*="dj-gson"]) .artist-release-art img {
  width: min(75%, 190px);
  height: 190px;
  object-fit: contain;
}
.discography .album-card > img[src*="dj-gson"] {
  display: block;
  width: 150px;
  height: 150px;
  max-width: 100%;
  max-height: 150px;
  margin: 0 auto 18px;
  object-fit: contain;
}
@media(max-width:600px){
  .feature-panel:has(img[src*="dj-gson"]) .feature-art .artist-logo {width:180px;height:180px}
  .featured-release:has(img[src*="dj-gson"]) .artist-release-art img {width:150px;height:150px}
  .discography .album-card > img[src*="dj-gson"] {width:130px;height:130px}
}
