/* MARCIN KALETKA — independent static portfolio. All sections readable without JS. */
:root{--ink:#17191a;--black:#18191b;--paper:#fff;--white:#fff;--muted:#6b6d6f;--line:#dedede;--line-dark:#3b3b3d;--wide:1320px;--pad:clamp(22px,5.2vw,92px);--navh:78px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--navh)}body{margin:0;min-width:320px}body.menu-open{overflow:hidden}img{max-width:100%;display:block}button,input,textarea{font:inherit}a{color:inherit}button{cursor:pointer}::selection{background:#b9b6b0;color:#111}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;background:#fff;color:#111;padding:13px 16px}.skip-link:focus{top:8px}a:focus-visible,button:focus-visible{outline:3px solid #a39888;outline-offset:5px}
.topbar{position:absolute;top:0;left:0;right:0;z-index:30;height:var(--navh);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.20)}.topbar.is-fixed{position:fixed;background:rgba(16,17,18,.97);backdrop-filter:blur(12px);box-shadow:0 5px 25px rgba(0,0,0,.08)}.logo{color:#fff;font-size:15px;letter-spacing:.17em;white-space:nowrap;text-decoration:none;font-weight:600}.mainnav{display:flex;align-items:center;gap:clamp(16px,2vw,32px)}.mainnav a{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.83);text-decoration:none;text-transform:uppercase;transition:color .2s}.mainnav a:hover,.mainnav a[aria-current=page]{color:#fff}.header-controls{display:flex;align-items:center;gap:27px}.languages{display:flex;align-items:center;gap:6px;white-space:nowrap}.languages button{padding:6px 1px;border:0;background:transparent;color:#aaa;font-size:11px;letter-spacing:.1em}.languages button[aria-pressed=true]{color:#fff;font-weight:700}.languages span{opacity:.4}.nav-toggle{display:none;background:none;border:0;color:white;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.hero{position:relative;background:#111;min-height:730px;height:100svh;max-height:1100px;overflow:hidden;color:#fff;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 49%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.45) 39%,rgba(0,0,0,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 27%,transparent 73%,rgba(0,0,0,.24))}.hero-inner{padding:calc(var(--navh) + 40px) var(--pad) 55px;max-width:var(--wide);margin:auto;min-height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:600}.hero-kicker{opacity:.91;margin:0 0 27px}.hero h1{font-size:clamp(62px,8.5vw,142px);font-weight:300;line-height:.92;letter-spacing:-.065em;margin:0 0 32px;text-transform:uppercase;max-width:750px}.hero h1 span{display:block}.hero-role{font-size:clamp(12px,1.05vw,16px);letter-spacing:.21em;text-transform:uppercase;line-height:1.9;margin:0;opacity:.9}.hero-down{position:absolute;bottom:34px;left:var(--pad);display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.18em;text-decoration:none;text-transform:uppercase}.hero-down .arrow-down{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.50);border-radius:50%;width:37px;height:37px;font-size:20px}
.wrap{width:min(calc(100% - 2 * var(--pad)),var(--wide));margin:0 auto}.section{padding:clamp(86px,9vw,150px) 0;scroll-margin-top:var(--navh)}.section-dark{background:var(--black);color:var(--white)}.section-light{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px}.section-topline{display:flex;align-items:center;gap:18px;color:var(--muted);margin-bottom:22px}.section-dark .section-topline{color:#aaa}.small-line{height:1px;width:30px;background:currentColor}.section-title{font-size:clamp(38px,5.1vw,76px);line-height:1.03;font-weight:300;letter-spacing:-.055em;margin:0}.intro-note{font-size:14px;line-height:1.85;color:var(--muted);max-width:380px;margin:0}.section-dark .intro-note{color:#b6b5b2}.subtle-link{display:inline-flex;gap:20px;align-items:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:13px 0 9px;border-bottom:1px solid currentColor;transition:gap .2s}.subtle-link:hover{gap:29px}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,38px)}.album{display:flex;flex-direction:column;gap:13px;min-width:0;text-decoration:none}.album-art{aspect-ratio:1/1;background:#e7e5e0;color:#74736f;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #dedcd7;padding:20px;position:relative;overflow:hidden}.album-art:before,.album-art:after{content:"";position:absolute;inset:12px;border:1px solid rgba(0,0,0,.06);pointer-events:none}.album-art:after{inset:25px}.album-art .placeholder-mark{font-family:Georgia,serif;font-size:clamp(24px,2.5vw,43px);line-height:1.05;letter-spacing:-.04em;word-break:break-word;color:#44413d}.album-art .placeholder-caption{font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-top:16px;color:#908d88}.album:nth-child(2) .album-art{background:#d9d6d0}.album:nth-child(3) .album-art{background:#eae8e4}.album:nth-child(4) .album-art{background:#d7d6d3}.album-title{font-size:19px;letter-spacing:-.03em;font-weight:500;margin:0}.album-artist{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.album-grid+.section-action{margin-top:58px}
.services{padding:64px 0;background:var(--paper);border-block:1px solid var(--line)}.services-inner{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:30px;align-items:start}.services-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.service{font-size:15px;font-weight:400;line-height:1.5;max-width:200px;padding-left:22px;border-left:1px solid var(--line)}.service small{display:block;font-size:12px;line-height:1.7;color:#777;margin-top:8px}
.bio-grid{display:grid;grid-template-columns:1.1fr .78fr;gap:clamp(55px,8vw,140px);align-items:center}.bio-copy{max-width:690px}.bio-title{margin-bottom:42px}.bio-copy p{font-size:clamp(15px,1.4vw,18px);font-weight:400;line-height:1.92;color:#444;margin:0 0 23px}.bio-photo{align-self:center;aspect-ratio:3/4;background:#333;overflow:hidden}.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1)}.photo-credit{font-size:10px;color:#777;margin-top:11px;letter-spacing:.06em}
.project-section{background:var(--black);color:#fff}.project-list{border-top:1px solid var(--line-dark)}.project-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:50px;padding:42px 0 44px;border-bottom:1px solid var(--line-dark)}.project-heading{font-weight:300;line-height:1.1;font-size:clamp(28px,3.3vw,49px);letter-spacing:-.045em;margin:0 0 12px}.project-sub{font-size:12px;color:#aaa;letter-spacing:.06em;margin:0}.project-meta{font-size:14px;color:#d1d1d1;line-height:1.95;margin:0;white-space:pre-line}.project-empty{color:#aaa;font-size:14px;line-height:1.8;margin:0}
.gallery-section{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.28fr .72fr .72fr;gap:15px;align-items:stretch}.gallery-photo{position:relative;background:#ddd;border:0;padding:0;overflow:hidden;min-height:360px}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.gallery-photo:hover img{transform:scale(1.045)}.gallery-photo:nth-child(1) img{object-position:65% center}.gallery-photo:nth-child(2) img{object-position:center 15%}.gallery-photo:nth-child(3) img{object-position:center 18%}.gallery-photo:after{content:'↗';position:absolute;right:13px;bottom:12px;color:#fff;font-size:20px;text-shadow:0 2px 6px #000}
.contact-section{padding-bottom:0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.contact-text{font-size:clamp(15px,1.6vw,20px);line-height:1.65;color:#bdbdbd;max-width:450px}.social-links{display:flex;flex-direction:column;gap:24px;margin-top:20px}.social-links a{font-size:clamp(20px,2.2vw,31px);letter-spacing:-.025em;text-decoration:none;border-bottom:1px solid var(--line-dark);padding-bottom:18px;display:flex;align-items:center;justify-content:space-between}.social-links a:hover{color:#bdb9b2}.footer{margin-top:110px;padding:25px 0;display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line-dark);font-size:11px;color:#8e8e8e;letter-spacing:.08em}
.page-hero{padding:calc(var(--navh) + 110px) 0 85px;background:var(--black);color:#fff;min-height:390px}.page-hero .section-topline{color:#aaa}.page-hero h1{font-size:clamp(60px,9vw,126px);font-weight:300;letter-spacing:-.065em;line-height:1;margin:0 0 28px}.page-hero p{font-size:15px;color:#c8c8c8;max-width:600px;line-height:1.7;margin:0}.page-content{min-height:55vh}.records-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}.record-row{padding:30px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px minmax(0,1fr);gap:25px;align-items:center}.record-thumb{aspect-ratio:1;background:#e6e4e0;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.1em;color:#75716c;text-align:center;padding:12px}.record-title{font-size:24px;margin:0 0 8px;font-weight:400}.record-artist{font-size:14px;color:#777;margin:0}.notice{border-left:2px solid #aaa;padding:6px 0 6px 22px;margin:55px 0 0;color:#696968;font-size:13px;line-height:1.8;max-width:750px}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.media-placeholder{min-height:260px;background:#e8e6e2;display:flex;flex-direction:column;justify-content:space-between;padding:28px}.media-placeholder span{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#797671}.media-placeholder p{font-family:Georgia,serif;font-size:28px;max-width:300px;font-weight:400;margin:10px 0 0;color:#3c3a36}.media-placeholder a{font-size:12px;align-self:flex-start;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.media-placeholder a:hover{opacity:.65}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,8,8,.95);padding:50px;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:min(95vw,1400px);max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:25px;color:#fff;border:1px solid #888;background:transparent;padding:9px 14px;font-size:14px}
@media(max-width:1100px){.mainnav{gap:16px}.mainnav a{font-size:10px}.logo{font-size:13px}.header-controls{gap:13px}.services-inner{grid-template-columns:repeat(4,1fr)}.services-label{grid-column:1/-1;margin-bottom:8px}.bio-grid{gap:55px}}
@media(max-width:820px){:root{--navh:70px;--pad:clamp(20px,5vw,44px)}.topbar{position:absolute}.nav-toggle{display:block}.mainnav{position:fixed;top:var(--navh);left:0;right:0;bottom:0;background:#151617;display:none;flex-direction:column;align-items:flex-start;padding:50px var(--pad);gap:26px;overflow:auto}.menu-open .mainnav{display:flex}.mainnav a{font-size:19px}.hero{min-height:610px;height:92svh}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}.hero h1{font-size:clamp(58px,11vw,95px)}.section-head{align-items:start;flex-direction:column;margin-bottom:43px;gap:20px}.album-grid{grid-template-columns:repeat(2,1fr);gap:38px 24px}.album-art .placeholder-mark{font-size:35px}.services-inner{grid-template-columns:repeat(2,1fr)}.bio-grid{grid-template-columns:1fr;gap:46px}.bio-photo{width:min(100%,490px);aspect-ratio:4/5}.project-card{gap:20px}.gallery-grid{grid-template-columns:1.4fr 1fr;grid-auto-rows:290px}.gallery-photo{min-height:0}.gallery-photo:nth-child(1){grid-row:span 2}.gallery-photo:nth-child(3){grid-column:2}.contact-layout{gap:40px}.records-list{gap:0 30px}.record-row{grid-template-columns:74px 1fr;gap:15px}.record-title{font-size:19px}}
@media(max-width:570px){:root{--navh:66px}.logo{font-size:11px;letter-spacing:.1em}.header-controls{gap:19px}.hero{min-height:620px;height:95svh}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.17) 95%),linear-gradient(0deg,rgba(0,0,0,.44),transparent 70%)}.hero-inner{justify-content:flex-end;padding-bottom:125px}.hero h1{font-size:clamp(57px,15.3vw,86px);margin-bottom:20px}.hero-role{font-size:10px;letter-spacing:.16em}.hero-kicker{font-size:10px;margin-bottom:18px}.hero-down{bottom:24px}.section{padding:75px 0}.section-title{font-size:45px}.album-grid{gap:29px 13px}.album-art{padding:12px}.album-art .placeholder-mark{font-size:clamp(19px,5.7vw,29px)}.album-art .placeholder-caption{font-size:8px}.album-title{font-size:16px}.album-artist{font-size:12px}.services{padding:44px 0}.services-inner{gap:25px 12px}.service{padding-left:13px;font-size:13px}.bio-copy p{font-size:15px}.project-card{grid-template-columns:1fr;gap:18px;padding:30px 0}.project-heading{font-size:32px}.project-meta{font-size:13px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:9px}.gallery-photo:nth-child(1){grid-column:1/-1;grid-row:auto;height:235px}.gallery-photo:nth-child(3){grid-column:auto}.contact-layout{grid-template-columns:1fr;gap:33px}.social-links{margin-top:0}.footer{margin-top:72px;flex-direction:column;gap:9px}.page-hero{padding:calc(var(--navh) + 80px) 0 65px;min-height:330px}.page-hero h1{font-size:54px}.records-list,.media-grid{grid-template-columns:1fr}.record-row{grid-template-columns:95px 1fr}.lightbox{padding:10px}.lightbox-close{right:14px;top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::after,*::before{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== v2: corrected hero, album artwork, visual projects, photo mosaic and private contact form ===== */
.hero{background:var(--black)}
.hero-image{top:108px;height:calc(100% - 108px);object-position:62% 53%}
.hero-shade{background:linear-gradient(180deg,var(--black) 0%,var(--black) 5%,rgba(24,25,27,.89) 12%,rgba(24,25,27,.38) 28%,transparent 43%),linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.43) 38%,rgba(0,0,0,.05) 82%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 29%)}
.album-art{padding:0;border:0;background:#efeeea!important;aspect-ratio:1}
.album-art::before,.album-art::after{display:none}
.album-art img{width:100%;height:100%;object-fit:contain;transition:none}
.album:hover .album-art img{transform:none}
.record-thumb{padding:0;background:#eae8e4;overflow:hidden;border:1px solid #eceae6}
.record-thumb img{width:100%;height:100%;object-fit:contain}
.bio-section{transition:background-color .3s ease,color .3s ease}
.bio-theme-switch{display:flex;align-items:center;gap:12px;margin:0 0 34px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.bio-theme-caption{opacity:.6;margin-right:6px}
.bio-theme-switch button{padding:6px 1px;border:0;border-bottom:1px solid transparent;background:transparent;color:inherit;opacity:.55;letter-spacing:.11em;text-transform:uppercase}
.bio-theme-switch button[aria-pressed=true]{border-color:currentColor;opacity:1}
.bio-section[data-bio-theme=dark]{background:#08090a;color:#f5f5f5}
.bio-section[data-bio-theme=dark] .bio-copy p{color:#cecece}
.bio-section[data-bio-theme=dark] .photo-credit{color:#9c9c9c}
.bio-section[data-bio-theme=dark] .bio-photo{background:#08090a;overflow:visible;aspect-ratio:auto;height:620px}
.bio-section[data-bio-theme=dark] .bio-photo img{object-fit:contain;object-position:center bottom;filter:grayscale(1);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent,#000 11%,#000 83%,transparent);}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.8vw,42px)}
.project-visual{height:auto;aspect-ratio:1.28;position:relative;overflow:hidden;background:#242424}
.project-visual img{height:100%;width:100%;object-fit:contain;background:#1c1c1c;transition:transform .5s ease}
.project-tile:hover .project-visual img{transform:scale(1.02)}
.project-preview-flag{position:absolute;left:12px;bottom:12px;background:rgba(8,8,8,.8);padding:7px 9px;font-size:9px;color:#d6d4d1;letter-spacing:.07em;text-transform:uppercase}
.project-info{padding:22px 3px 8px}
.project-info h3{font-size:clamp(21px,2.1vw,29px);font-weight:400;letter-spacing:-.03em;margin:0 0 10px;line-height:1.2}
.project-info .project-line{font-size:12px;line-height:1.8;color:#b1b1b1;margin:14px 0 0}
.project-info .project-sub{font-size:13px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(125px,15vw,210px);gap:10px}
.gallery-photo{min-height:0!important;grid-column:auto!important;grid-row:auto!important;height:100%;width:100%}
.gallery-photo.gallery-wide{grid-column:span 2!important;grid-row:span 2!important}
.gallery-photo.gallery-portrait{grid-row:span 2!important}
.gallery-photo.gallery-small{grid-row:span 1!important}
.gallery-photo.gallery-crop img{object-position:70% 45%;transform:scale(1.75)}
.gallery-photo.gallery-crop:hover img{transform:scale(1.85)}
.gallery-photo.gallery-crop-portrait img{object-position:45% 70%;transform:scale(1.6)}
.gallery-photo.gallery-crop-portrait:hover img{transform:scale(1.7)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px 10%;align-items:start}
.contact-form-block{grid-column:2;grid-row:1/span 2}
.contact-form-block h3{font-size:clamp(24px,2.5vw,36px);font-weight:300;line-height:1.15;margin:6px 0 34px;letter-spacing:-.03em}
.contact-socials{grid-column:1;grid-row:2;gap:11px;margin-top:8px}
.contact-socials a{font-size:16px;padding-bottom:13px}
.contact-form{max-width:610px}
.field-group{margin-bottom:19px;display:flex;flex-direction:column;gap:8px}
.field-group label{font-size:12px;color:#d8d8d8;letter-spacing:.04em}
.field-group input,.field-group textarea{background:rgba(255,255,255,.04);color:#fff;border:1px solid #686868;outline:none;border-radius:0;padding:14px 16px;width:100%;font-size:15px;line-height:1.5;resize:vertical}
.field-group input:focus,.field-group textarea:focus{border-color:#fff;box-shadow:0 0 0 1px #fff}
.field-group input::placeholder,.field-group textarea::placeholder{color:#777}
.send-btn{background:#f5f3ef;color:#171717;border:1px solid #f5f3ef;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:45px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;min-width:220px;transition:background .15s}
.send-btn[disabled]{cursor:wait;opacity:.5}
.form-status{font-size:12px;line-height:1.5;color:#bcbab5;max-width:440px;margin:19px 0 0}
.form-status.error{color:#f3b9a9}
.form-status.success{color:#bddeb9}
.form-privacy{font-size:11px;line-height:1.5;color:#8e8e8e;max-width:440px}
.form-trap{position:absolute;left:-9999px;opacity:0;pointer-events:none}
@media(max-width:1100px){.project-gallery{gap:20px}.project-visual{aspect-ratio:1.07}}
@media(max-width:820px){.hero-image{top:97px;height:calc(100% - 97px);object-position:64% center}.hero-shade{background:linear-gradient(180deg,var(--black) 0%,var(--black) 8%,rgba(24,25,27,.7) 18%,transparent 38%),linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 42%)}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:170px}.gallery-photo.gallery-wide{grid-column:span 2!important}.gallery-photo.gallery-portrait{grid-row:span 2!important}.bio-section[data-bio-theme=dark] .bio-photo{height:560px}.contact-layout{grid-template-columns:1fr 1fr;gap:35px}.contact-form-block{grid-column:2}}
@media(max-width:570px){.hero-image{top:80px;height:calc(100% - 80px);object-position:64% 45%}.hero-shade{background:linear-gradient(180deg,var(--black) 0%,rgba(24,25,27,.95) 9%,rgba(24,25,27,.55) 20%,transparent 37%),linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 70%)}.bio-theme-switch{margin-bottom:25px}.bio-section[data-bio-theme=dark] .bio-photo{height:475px}.project-gallery{grid-template-columns:1fr;gap:35px}.project-visual{aspect-ratio:1.4}.project-info{padding-top:16px}.project-info h3{font-size:26px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:120px;gap:6px}.gallery-photo.gallery-wide{grid-column:span 2!important;grid-row:span 2!important}.gallery-photo.gallery-portrait{grid-row:span 2!important}.gallery-photo.gallery-crop-portrait{grid-column:span 2!important}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-form-block{grid-column:1;grid-row:2}.contact-socials{grid-column:1;grid-row:3}.contact-form-block h3{font-size:28px}.send-btn{width:100%}}

/* v3: keep the original top edge; extra monitor width becomes black space.
   The photo scales to the available height, never to viewport width. */
.hero{background:var(--black);--photo-top:calc(var(--navh) + 32px)}
.hero-photo{position:absolute;inset:var(--photo-top) 0 0;z-index:-3;overflow:hidden}
.hero .hero-image{position:absolute;inset:0 0 auto auto;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:right top;z-index:auto;
-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 7%,#000);-webkit-mask-composite:source-in;
mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 7%,#000);mask-composite:intersect}
.hero-shade{background:linear-gradient(90deg,rgba(24,25,27,.86),rgba(24,25,27,.45) 36%,transparent 68%),linear-gradient(0deg,rgba(24,25,27,.6),transparent 28%)}
.bio-section{background:#fff;color:var(--ink)}
@media(min-width:1600px){.hero-inner{max-width:1600px}.hero h1{font-size:clamp(110px,7vw,142px)}}
@media(max-width:820px){.hero{--photo-top:calc(var(--navh) + 24px)}.hero .hero-image{max-width:none;right:auto;left:62%;transform:translateX(-62%)}.hero-shade{background:linear-gradient(90deg,rgba(24,25,27,.6),transparent 80%),linear-gradient(0deg,var(--black),rgba(24,25,27,.65) 28%,transparent 65%)}.hero-inner{justify-content:flex-end;padding-bottom:125px}.hero h1{font-size:clamp(58px,10vw,85px)}}
@media(max-width:570px){.hero{--photo-top:calc(var(--navh) + 22px)}.hero .hero-image{left:65%;transform:translateX(-65%)}.hero h1{font-size:clamp(57px,15.3vw,86px)}}

/* Larger desktop portrait; the top stays below the navigation.
   Only the lower edge may extend past the hero, preserving the entire head. */
@media(min-width:821px){
 .hero .hero-image{height:118%;max-width:none}
 .hero-shade{background:linear-gradient(90deg,rgba(24,25,27,.75),rgba(24,25,27,.32) 32%,transparent 65%),linear-gradient(0deg,rgba(24,25,27,.6),transparent 28%)}
}

/* A single white surface for albums, services, biography and contact. */
.contact-section{background:var(--paper);color:var(--ink)}
.contact-section .section-topline{color:var(--muted)}
.contact-section .contact-text{color:#555}
.contact-section .social-links a,.contact-section .footer{border-color:var(--line)}
.contact-section .social-links a:hover{color:#555}
.contact-section .field-group label{font-size:14px;font-weight:400;letter-spacing:.01em;color:#737373}
.contact-section .field-group input,.contact-section .field-group textarea{background:#f8f8f8;color:var(--ink);border-color:#c1c1c1;padding:10px 12px;font-size:16px}
.contact-section .field-group input:focus,.contact-section .field-group textarea:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.contact-section .field-group input::placeholder,.contact-section .field-group textarea::placeholder{color:#707070}
.contact-section .form-status,.contact-section .form-privacy,.contact-section .footer{color:#626262}
.contact-section .form-status.error{color:#a33122}
.contact-section .form-status.success{color:#28643b}


/* Shared home typography and section proportions. */
:root{--home-heading:clamp(28px,2.5vw,36px);--home-card-title:clamp(20px,1.65vw,24px);--home-body:clamp(16px,1.4vw,18px)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:-1;pointer-events:none;background:linear-gradient(transparent,var(--black))}
.services{background:var(--black);color:#f3f3f3;padding:34px 0 42px;border:0}
.services-inner{grid-template-columns:.65fr repeat(4,1fr);gap:24px}
.services-label{font-size:12px;letter-spacing:.14em;color:#aaa;padding-top:4px}
.service{font-size:16px;line-height:1.55;border-left-color:#363636;padding-left:18px;max-width:240px}
.service small{font-size:13px;color:#aaa;line-height:1.6;margin-top:7px}
#latest .compact-label,#bio .compact-label,#projects .section-title,#contact .section-title{font-size:var(--home-heading);font-weight:400;line-height:1.15;letter-spacing:-.035em;text-transform:none;color:inherit;margin:0}
.releases-section{padding:60px 0 40px}
.releases-section>.wrap{max-width:1200px}
#latest .compact-label{margin-bottom:32px}
.releases-section .album-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.releases-section .album{gap:10px}
.releases-section .album-art{max-width:240px;width:100%;align-self:flex-start}
.releases-section .album-title,.project-info h3{font-size:var(--home-card-title);font-weight:400;line-height:1.25;letter-spacing:-.025em}
.releases-section .album-title{margin-top:6px}
.releases-section .album-artist{font-size:14px;line-height:1.6}
.album-action{font-size:11px;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border:1px solid #bcbcbc;padding:12px 14px;align-self:flex-start;margin-top:6px;line-height:1.3}
.album-action:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.releases-section .section-action{margin-top:30px}
.releases-section .subtle-link{font-size:11px;padding:9px 0}
.bio-section{padding:40px 0 80px}
.bio-section>.wrap{max-width:var(--wide);border-top:1px solid var(--line);padding-top:60px}
.bio-grid{grid-template-columns:1.1fr .78fr;gap:clamp(55px,8vw,140px)}
.bio-copy{max-width:690px}
#bio .compact-label{margin-bottom:30px}
.bio-copy p{font-size:var(--home-body);line-height:1.9;margin-bottom:22px}
.bio-copy p:last-child{margin-bottom:0}
.bio-photo{width:100%;aspect-ratio:3/4}
.contact-section .contact-text{font-size:var(--home-body);line-height:1.8}
.contact-form-block h3{font-size:var(--home-card-title);line-height:1.25;letter-spacing:-.025em}
.project-section .intro-note{font-size:16px;color:#b6b6b6}
.project-section .project-line,.project-section .project-sub{font-size:14px;line-height:1.8}
@media(max-width:1100px){.services-inner{grid-template-columns:repeat(4,1fr)}.services-label{grid-column:1/-1;margin:0}.bio-grid{gap:55px}}
@media(max-width:820px){.services-inner{grid-template-columns:repeat(2,1fr);gap:24px}.releases-section .album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.bio-grid{grid-template-columns:1fr;gap:40px}.bio-section figure{width:min(100%,450px);justify-self:center}}
@media(max-width:570px){.services{padding:28px 0 34px}.service{font-size:15px;padding-left:12px}.service small{font-size:12px}.releases-section{padding:44px 0 26px}.releases-section .album-grid{gap:30px 18px}.releases-section .album-art{max-width:100%}.album-action{font-size:10px;padding:11px 9px;letter-spacing:.05em}.releases-section .album-artist{font-size:13px}.bio-section{padding:26px 0 56px}.bio-section>.wrap{padding-top:36px}.bio-grid{gap:32px}.bio-section figure{width:min(100%,380px)}.bio-copy p{font-size:16px;line-height:1.85}.bio-photo{aspect-ratio:3/4}}

/* One navigation offset; manual section links align the actual content. */
.section{scroll-margin-top:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.releases-section .album-art{background:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.12);overflow:hidden}
.releases-section .album-art::before,.releases-section .album-art::after{display:none}
.album-options{position:relative;align-self:flex-start;margin-top:6px}
.album-options summary{display:block;list-style:none;cursor:pointer;margin-top:0;font-family:inherit}
.album-options summary::-webkit-details-marker{display:none}
.album-options-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:5;min-width:100%;background:#fff;border:1px solid #ddd;box-shadow:0 5px 18px #0002;padding:6px}
.album-options-menu a{display:block;padding:10px 12px;font-size:13px;text-decoration:none;white-space:nowrap}
.album-options-menu a:hover{background:#eee}
.discography-page .topbar{background:var(--black)}
.disc-banner{width:min(1100px,calc(100% - 2 * var(--pad)));margin:calc(var(--navh) + 64px) auto 0}
.disc-banner img{width:100%;height:auto;display:block}
.disc-catalog{position:relative;background:#fff;width:min(790px,calc(100% - 2 * var(--pad)));margin:-85px auto 0;padding:58px 40px 85px}
.disc-catalog h1{font-size:var(--home-heading);font-weight:400;letter-spacing:-.035em;line-height:1.2;text-align:center;margin:0 0 40px}
.disc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;max-width:660px;margin:auto}
.disc-cover{display:block;aspect-ratio:1;background:#fff;box-shadow:0 3px 12px #0001}
.disc-cover img{display:block;width:100%;height:100%;object-fit:contain}
.disc-cover:hover{transform:none}
.discography-page .footer{margin-top:0}
@media(max-width:820px){.disc-banner{margin-top:calc(var(--navh) + 28px)}.disc-catalog{margin-top:-40px;padding:36px 24px 60px}.disc-grid{gap:24px}}
@media(max-width:570px){.disc-banner{width:calc(100% - 32px)}.disc-catalog{width:calc(100% - 32px);margin-top:0;padding:30px 0 50px}.disc-catalog h1{margin-bottom:28px}.disc-grid{gap:14px}}

/* Leave enough room to align the last section below the fixed navigation. */
.contact-section{min-height:calc(100svh - var(--navh) - 24px + clamp(86px,9vw,150px))}
@media(max-width:570px){.contact-section{min-height:calc(100svh - var(--navh) - 24px + 75px)}}

/* Paper composition: measured reference colors, with a responsive outer margin. */
:root{--surround:#f3f3f1;--sheet:#fff;--frame:clamp(18px,3.5vw,50px);background:var(--surround)}
html{background:var(--surround)}
body{position:relative;display:flow-root;margin:0 var(--frame);min-width:0;background:var(--sheet)}
.topbar.is-fixed{left:var(--frame);right:var(--frame)}
.hero{height:100svh}
@media(max-width:820px){.mainnav{left:var(--frame);right:var(--frame)}}
@media(max-width:570px){:root{--frame:10px}.hero{height:95svh}}
@media(max-width:360px){:root{--frame:0px}}

/* A light masthead in normal page flow; it leaves the screen while scrolling. */
:root{--masthead:142px}
html{scroll-padding-top:24px}
.topbar,.topbar.is-fixed,.discography-page .topbar{position:relative;inset:auto;height:var(--masthead);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#fff;color:var(--ink);border:0;box-shadow:none;backdrop-filter:none;padding:28px var(--pad)}
.logo{color:var(--ink);font-size:22px;letter-spacing:.16em;font-weight:500}
.mainnav{gap:clamp(18px,2.2vw,32px)}
.mainnav a{color:#454545;font-size:11px;letter-spacing:.1em}
.mainnav a:hover,.mainnav a[aria-current=page]{color:#000}
.header-controls{position:absolute;right:var(--pad);top:30px}
.languages button{color:#767676}.languages button[aria-pressed=true]{color:#17191a}
.nav-toggle{color:var(--ink)}
.hero{height:calc(100svh - var(--masthead));min-height:600px}
.hero-photo{inset:0}
.hero .hero-image{-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent)}
.hero-inner{padding:48px var(--pad) 90px}
.page-hero{padding:64px 0;min-height:0}
.disc-banner{margin-top:24px}
.contact-section{min-height:calc(100svh - 24px + clamp(86px,9vw,150px))}
@media(max-width:1100px){.logo{font-size:20px}.mainnav{gap:20px}.mainnav a{font-size:10px}}
@media(max-width:820px){
 :root{--masthead:84px}
 .topbar,.topbar.is-fixed{height:var(--masthead);flex-direction:row;justify-content:space-between;gap:16px;padding:20px var(--pad)}
 .logo{font-size:15px;letter-spacing:.1em}
 .header-controls{position:static;gap:20px}
 .mainnav{position:absolute;inset:100% 0 auto;height:calc(100svh - var(--masthead));background:#fff;padding:32px var(--pad);gap:26px;box-shadow:0 15px 20px #0001}
 .mainnav a{font-size:19px}
 .hero{min-height:610px}
 .hero-inner{justify-content:flex-end;padding-bottom:125px}
 .disc-banner{margin-top:12px}
}
@media(max-width:570px){.logo{font-size:12px}.header-controls{gap:14px}.hero{min-height:620px}.hero-inner{padding-top:32px}.contact-section{min-height:calc(100svh - 24px + 75px)}}


/* Quiet sans-serif navigation, with a small name beside the menu. */
:root{--masthead:100px}
.topbar,.topbar.is-fixed,.discography-page .topbar{flex-direction:row;justify-content:space-between;gap:24px;padding:24px clamp(22px,3.2vw,46px)}
.logo{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;letter-spacing:.12em;line-height:1.4;color:#555}
.mainnav{gap:24px}
.mainnav a{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;letter-spacing:.07em;line-height:1.5;color:#393939}
.header-controls{position:static;gap:16px}
.languages button{font-size:11px;font-weight:400}
@media (width > 1150px) {
  .topbar, .topbar.is-fixed, .discography-page .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
    column-gap: 16px;
  }
  .topbar .logo { justify-self: start; }
  .topbar .header-controls { justify-self: end; }
}
@media (1150px < width <= 1250px) {
  .mainnav { gap: 18px; }
  .mainnav a { font-size: 13px; }
}
@media(max-width:1150px){
 :root{--masthead:84px}
 .nav-toggle{display:block}
 .topbar,.topbar.is-fixed,.discography-page .topbar{gap:16px;padding:20px var(--pad)}
 .logo{font-size:14px}
 .mainnav{display:none;position:absolute;inset:100% 0 auto;height:calc(100svh - var(--masthead));background:#fff;flex-direction:column;align-items:flex-start;padding:32px var(--pad);gap:26px;overflow:auto;box-shadow:0 15px 20px #0001}
 .menu-open .mainnav{display:flex}
 .mainnav a{font-size:19px}
}
@media(max-width:570px){.logo{font-size:12px;letter-spacing:.08em}.header-controls{gap:12px}.nav-toggle{font-size:11px;letter-spacing:.08em}.topbar,.topbar.is-fixed,.discography-page .topbar{gap:10px;padding-inline:18px}}
@media(max-width:360px){.logo{font-size:11px}.header-controls{gap:8px}.topbar,.topbar.is-fixed,.discography-page .topbar{padding-inline:14px}}

/* Equal service columns with centered labels and balanced spacing. */
.services-inner{grid-template-columns:.65fr repeat(4,minmax(0,1fr));align-items:center}
.service{max-width:none;width:100%;text-align:center;padding-inline:18px;align-self:stretch;display:flex;align-items:center;justify-content:center}
@media(max-width:1100px){.services-inner{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.services-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.service{padding-inline:12px}}

/* Shared, restrained social footer on every page. */
.site-footer{background:var(--sheet);color:var(--ink)}
.footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px 0;margin-top:80px;border-top:1px solid var(--line);color:#717171}
.footer-socials{display:flex;align-items:center;justify-content:center;gap:16px}
.footer-socials a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#777;text-decoration:none;transition:color .18s,transform .18s}
.footer-socials a:hover{color:#202020;transform:translateY(-2px)}
.footer-socials svg{display:block;width:20px;height:20px;fill:currentColor}
.footer-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;text-align:center;font-size:11px;line-height:1.6;letter-spacing:.06em}
@media(max-width:570px){.footer{margin-top:55px;padding:24px 0;gap:14px}.footer-socials{gap:10px}.footer-meta{flex-direction:column;gap:5px;font-size:10px}}

/* Three aligned footer zones; keep the social row at the page center. */
.footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.footer-meta{display:contents}
.footer-meta>span:first-child{grid-column:1;grid-row:1;justify-self:start;text-align:left}
.footer-socials{grid-column:2;grid-row:1;gap:6px}
.footer-meta>span:last-child{grid-column:3;grid-row:1;justify-self:end;text-align:right}
.footer-socials a{width:32px;height:40px}
@media(max-width:700px){
 .footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .footer-socials{grid-column:1/-1;grid-row:1;justify-self:center;gap:4px}
 .footer-meta>span:first-child{grid-column:1;grid-row:2}
 .footer-meta>span:last-child{grid-column:2;grid-row:2}
 .footer-meta>span{font-size:10px;line-height:1.6;letter-spacing:.04em}
}

.releases-section .album .album-action{margin-top:auto}
.releases-section .album-artist{margin-bottom:6px}

/* Photo and video pages open directly onto the content. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.minimal-page{padding:30px 0 0;min-height:60vh}
.gallery-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}
.gallery-page .gallery-photo{aspect-ratio:1;height:auto;cursor:zoom-in}
.gallery-page .gallery-photo::after{content:none}
.gallery-page .gallery-photo:focus-visible{outline:2px solid var(--black);outline-offset:4px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}
.video-tile{margin:0;min-width:0}
.video-tile iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#18191b}
.video-tile figcaption{font-size:12px;line-height:1.5;color:#747474;margin-top:10px;font-weight:400}
@media(max-width:700px){.minimal-page{padding-top:20px}.gallery-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.video-grid{grid-template-columns:1fr;gap:28px}.video-tile figcaption{font-size:11px}}


.project-mike-parker .project-visual{display:flex;align-items:center}
.project-photo-crop{width:100%;aspect-ratio:600/448;overflow:hidden;position:relative}
.project-mike-parker .project-photo-crop img{position:absolute;top:0;left:0;width:100%;height:auto;transform:translateY(-23.529412%)}
.project-mike-parker:hover .project-photo-crop img{transform:translateY(-23.529412%)}
.project-mike-parker .project-photo-crop{transition:transform .5s ease}
.project-mike-parker:hover .project-photo-crop{transform:scale(1.02)}

/* The white record sheet overlaps a spacious studio photograph. */
.disc-banner{height:auto;aspect-ratio:1.8;max-height:610px;overflow:hidden}
.disc-banner img{height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.65)}
.disc-catalog{width:min(790px,calc(100% - 2 * var(--pad) - 36px));margin-top:clamp(-95px,-7vw,-55px);padding-top:42px}
@media(max-width:570px){
 .disc-banner{aspect-ratio:1.4;max-height:none}
 .disc-catalog{width:calc(100% - 64px);margin-top:-42px;padding:28px 14px 50px}
 .disc-grid{gap:12px}
}

/* Widen the studio photo while preserving its previous height. */
.disc-banner{width:min(1220px,calc(100% - 24px));height:min(610px,calc((100vw - 2 * var(--frame) - 2 * var(--pad)) / 1.8));aspect-ratio:auto}
@media(max-width:570px){.disc-banner{width:calc(100% - 24px);height:calc((100vw - 2 * var(--frame) - 32px) / 1.4)}}

.lightbox img{width:auto;height:auto;max-width:min(calc(100vw - 24px),1400px);max-height:88svh}

.contact-section .contact-form-block h3{font-size:26px;font-weight:400;line-height:1.25;margin-bottom:24px}
.contact-form .name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contact-form .field-required{margin-inline-start:4px;font-size:11px;color:#a6a6a6}
.contact-section{--contact-submit-gap:24px;--contact-submit-height:44px;--contact-status-gap:19px}
.contact-form .field-group:has(> textarea){margin-bottom:var(--contact-submit-gap)}
.contact-section .send-btn{justify-content:center;text-align:center;gap:0;background:transparent;border-color:var(--black);color:var(--ink);min-width:0;min-height:var(--contact-submit-height);padding:0 28px;font-size:12px;transition:background-color .25s ease,color .25s ease}
.contact-section .form-status{margin-top:var(--contact-status-gap)}
.contact-section .send-btn:focus-visible{background:var(--black);color:#fff;outline:2px solid var(--ink);outline-offset:3px}
@media(hover:hover){.contact-section .send-btn:hover{background:var(--black);color:#fff}}

/* Keep the footer at the end of the full-height contact section. */
.contact-section{display:flex;flex-direction:column;min-height:0;row-gap:40px;padding-bottom:0}
.contact-section>.footer{margin-top:0}
.contact-equipment{margin-top:24px;font-size:11px;line-height:1.5;color:#707070}
.contact-equipment h3{margin:0 0 8px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.contact-equipment h4{margin:0;font-size:12px;font-weight:500;color:#555}
.contact-equipment p{margin:1px 0 0}
.equipment-setup + .equipment-setup{margin-top:8px}
.equipment-brands{display:flex;align-items:center;gap:clamp(5px,calc(27.5vw - 83px),16px);margin-top:14px;opacity:.48}
.equipment-brands img{height:36px;width:auto;filter:grayscale(1)}
.equipment-brands .equipment-brand-otto{
 height:48px;
 filter:brightness(0);
 /* Show the original wordmark and its underline, without the model caption. */
 clip-path:polygon(0 0,100% 0,100% 100%,76% 100%,76% 63%,39% 63%,39% 100%,0 100%);
}
.equipment-brands .equipment-brand-boston{height:34px}
.bio-grid>.contact-equipment{width:min(100%,450px);justify-self:center;margin-top:0}
@media(min-width:821px){
 .contact-section{display:grid;grid-template-rows:minmax(48px,1fr) auto minmax(40px,1fr) auto;min-height:100svh;padding-top:0;row-gap:0;scroll-margin-top:-24px}
 .contact-section>.wrap:first-child{grid-row:2}
 .contact-section>.footer{grid-row:4}
 .contact-intro{grid-row:1/span 2;align-self:stretch;display:flex;flex-direction:column}
 .contact-equipment{position:relative;margin-top:auto;padding:24px 0 calc(var(--contact-submit-gap) + var(--contact-submit-height) + var(--contact-status-gap))}
 .equipment-brands{position:absolute;left:0;bottom:var(--contact-status-gap);height:var(--contact-submit-height);margin-top:0}
}
@media(max-width:570px){.contact-section{min-height:0;row-gap:32px;padding-bottom:0}.bio-grid>.contact-equipment{width:min(100%,380px)}.equipment-brands{flex-wrap:wrap}}

/* Browse the gallery without leaving the enlarged photo. */
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;padding:10px;border:0;background:transparent;color:#ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;transition:color .2s,background .2s}
.lightbox-arrow svg{width:25px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
.lightbox-arrow:hover{color:#fff;background:#ffffff12}
.lightbox-arrow:focus-visible{outline:1px solid #fff;outline-offset:2px}
.lightbox img{max-width:min(calc(100vw - 160px),1400px)}
@media(max-width:570px){.lightbox{padding:48px}.lightbox-arrow{width:36px;height:56px;padding:7px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox img{max-width:calc(100vw - 96px);max-height:82svh}}

/* Recent releases: a modest lead cover, quiet links and clear release years. */
.releases-section .album-grid{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));align-items:end;gap:32px}
.releases-section .album-link{display:flex;flex-direction:column;gap:14px;color:inherit;text-decoration:none;border-radius:7.5px;min-width:0}
.releases-section .album-art{max-width:none;border-radius:7.5px;box-shadow:0 9px 20px -5px rgba(0,0,0,.24),0 2px 5px rgba(0,0,0,.06);transition:none}
.releases-section .album-link:hover .album-art{box-shadow:0 9px 20px -5px rgba(0,0,0,.24),0 2px 5px rgba(0,0,0,.06)}
.releases-section .album-link:focus-visible{outline:2px solid currentColor;outline-offset:7px}
.releases-section .album-art img,.releases-section .album-link:hover img{transform:none;transition:none}
.releases-section .album-status{font-size:12px;line-height:1.5;font-weight:500;letter-spacing:.16em;margin-bottom:4px}
.releases-section .album-caption{display:flex;flex-direction:column;gap:1px}
.releases-section .album-title{margin:0;font-size:clamp(16px,1.4vw,20px);font-weight:400;line-height:1.3;letter-spacing:-.015em;color:#333}
.releases-section .album-year{margin:0;font-size:14px;line-height:1.25;letter-spacing:.08em;color:#555}
@media(max-width:820px){.releases-section .album-grid{grid-template-columns:1.25fr 1fr;gap:34px 24px}}
@media(max-width:570px){.releases-section .album-grid{gap:28px 18px}.releases-section .album-status{font-size:11px}.releases-section .album-year{font-size:13px}}

/* One quiet entrance: name, paired captions, then the service text. */
@keyframes hero-name-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-kicker-enter{from{opacity:0;transform:translate(-12px,-8px)}to{opacity:.91;transform:translate(0,0)}}
@keyframes hero-role-enter{from{opacity:0;transform:translate(12px,8px)}to{opacity:.9;transform:translate(0,0)}}
@keyframes services-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero h1{animation:hero-name-enter 1000ms cubic-bezier(.2,.65,.3,1) 150ms both}
 .hero-kicker{animation:hero-kicker-enter 1700ms cubic-bezier(.22,.35,.3,1) 500ms both}
 .hero-role{animation:hero-role-enter 1700ms cubic-bezier(.22,.35,.3,1) 500ms both}
 .opening-screen .services-inner{animation:services-enter 1600ms cubic-bezier(.22,.35,.3,1) 1100ms both}
}
@media(max-width:820px){
 .releases-section .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .releases-section .album:not(.album-featured) .album-art{width:80%}
 .releases-section .album-caption{min-height:calc(2.6em + 24px);font-size:16px}
}

/* Fit navigation, portrait and the actual service-strip height in one opening view.
   Use the small viewport so hiding browser toolbars during scroll does not resize the portrait.
   A minimum height preserves readable content in unusually short windows. */
:root{--masthead:82px}
.opening-screen{height:calc(100svh - var(--masthead));min-height:510px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--black)}
.opening-screen .hero{height:auto;min-height:0;max-height:none}
.opening-screen .hero-inner{height:100%;min-height:0;padding-block:32px 48px}
.opening-screen .services{padding-block:22px}
@media(max-width:1150px){:root{--masthead:70px}}
@media(max-width:820px){
 .opening-screen .hero-inner{padding-bottom:48px}
 .opening-screen .services{padding-block:18px}
 .opening-screen .services-inner{gap:14px 18px}
}
/* A small top crop without moving the text or adding a darker overlay. */
.opening-screen .hero .hero-image{top:-32px}

/* Zero column gaps put each divider exactly on a cell boundary. */
.opening-screen .services-inner{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:0}
.opening-screen .services-label{display:flex;align-items:center;justify-content:center;align-self:stretch;text-align:center;padding:0;margin:0}
.opening-screen .service{padding-inline:18px;text-align:center}
@media(max-width:1100px){
 .opening-screen .services-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
 .opening-screen .services-label{grid-column:1/-1}
 .opening-screen .service:nth-child(2){border-left:0}
}
@media(max-width:820px){
 .opening-screen .services-inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}
 .opening-screen .service:nth-child(4){border-left:0}
 .opening-screen .service{padding-inline:12px}
}
@media(max-width:570px){
 :root{--masthead:66px}
 .opening-screen{min-height:470px}
 .opening-screen .hero-inner{padding-block:24px 29px}
 .opening-screen .hero h1{font-size:clamp(42px,13vw,56px);line-height:.94;letter-spacing:-.055em;margin-bottom:15px}
 .opening-screen .hero-kicker{margin-bottom:13px;font-size:9px;letter-spacing:.19em}
 .opening-screen .hero-role{font-size:9px;letter-spacing:.13em}
 .opening-screen .services{padding-block:0 18px}
 .opening-screen .services-inner{row-gap:10px}
 .opening-screen .services-label{border-top:1px solid #ffffff24;padding-top:13px;font-size:9px;letter-spacing:.21em;color:#a8a9a9}
 .opening-screen .service{font-size:11px;line-height:1.4;font-weight:400;color:#cbcbcb;padding-inline:10px}
}

/* Start every subpage directly beneath the shared masthead. */
.minimal-page{padding-top:0}
.disc-banner{position:relative;margin-top:0}
/* Center the light title in the open upper area of the studio photograph. */
.disc-banner-title{position:absolute;top:24%;left:20px;right:20px;z-index:1;text-align:center}
.disc-banner-title h1{margin:0;color:#fff;font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(26px,3.2vw,46px);font-weight:300;line-height:1.15;letter-spacing:.055em;text-transform:uppercase;text-shadow:0 1px 10px #0004}
/* Let the grid fill the panel so its top and side insets are identical. */
.disc-catalog{padding:40px}
.disc-grid{max-width:none}
@media(max-width:820px){.disc-catalog{padding:28px}}
@media(max-width:570px){.disc-catalog{padding:20px}.disc-banner-title{top:24%}}

/* Fixed proportions with a narrower player and a staggered archive. */
.releases-section>.wrap{width:calc(100% - 48px);max-width:1168px}
.release-layout{display:grid;grid-template-columns:720px 384px;gap:64px;justify-content:center;align-items:start}
.release-feature{min-width:0}
.release-feature>.album-status{display:block;margin:0 0 18px;font-size:14px;font-weight:700;letter-spacing:.2em;line-height:1.5}
.featured-listen{display:grid;grid-template-columns:368px 328px;gap:24px;align-items:start}
.releases-section .album-featured{width:368px;max-width:100%}
.release-player{display:block;width:100%;height:368px;aspect-ratio:328/368;border:0;border-radius:12px;background:#282828}
.release-archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px;width:384px;max-width:100%;margin:0}
.releases-section .release-archive .album-art{width:100%;max-width:none}
.releases-section .release-archive .album-link{gap:10px}
.releases-section .release-archive .album-title{font-size:16px}
.releases-section .release-archive .album-year{font-size:13px}
.releases-section .release-layout .album-caption{min-height:0}
@media(max-width:1320px){
 .releases-section>.wrap{max-width:720px}
 .release-layout{grid-template-columns:minmax(0,1fr);gap:36px}
 .release-archive{margin:0 auto}
}
@media(max-width:900px){
 .featured-listen{grid-template-columns:minmax(0,1fr);width:min(100%,368px);gap:24px}
 .releases-section .album-featured{width:100%}
 .release-player{height:auto;aspect-ratio:1}
}
@media(max-width:650px){
 .releases-section>.wrap{width:calc(100% - 2 * var(--pad))}
 .release-archive{gap:26px 20px}
 .release-archive .album-link{width:100%}
}
@media(max-width:570px){
 .release-feature{--featured-cover-width:70vw;width:min(100%,368px)}
 .release-feature>.album-status{width:min(100%,var(--featured-cover-width));margin-inline:auto}
 .release-feature .featured-listen{gap:16px}
 .releases-section .release-feature .album-featured{width:var(--featured-cover-width);justify-self:center}
 .release-feature .album-featured .album-link{gap:10px}
 .release-feature .release-player{height:152px;aspect-ratio:auto}
 .releases-section .release-archive .album-link{width:80%;margin-inline:auto}
 .releases-section .release-archive .album-link .album-art{width:100%}
}

/* A restrained wordmark, distinct from the navigation without competing with the hero. */
.logo{font-family:"Tenor Sans",Arial,sans-serif;font-size:17px;font-weight:400;letter-spacing:.14em;line-height:1.3;color:#252729}
/* Only separate pages retain the line; section links use hover/focus alone. */
.mainnav a{position:relative}
.mainnav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:currentColor;opacity:0;transition:opacity .6s ease;transition-delay:0s}
.mainnav a[aria-current="page"]::after,.mainnav a:focus-visible::after{opacity:.16;transition-delay:0s}
@media(hover:hover){.mainnav a:hover::after{opacity:.16;transition-delay:.1s}}
@media(max-width:1100px){.logo{font-size:16px}}
@media(max-width:570px){.logo{font-size:13px;letter-spacing:.1em}}
