/*
Theme Name: SUBCON MGMT
Author: SUBCON
Description: SUBCON design-accurate lightweight WordPress theme.
Version: 1.0.47
Text Domain: subcon
*/
:root{--sc-white:#fff;--sc-muted:#899394;--sc-font:Arial,Helvetica,sans-serif;--sc-edge:36px;--sc-title:76px;--sc-body:17px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{background:#080a09;color:var(--sc-white);font-family:var(--sc-font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.sc-shell{min-height:100vh;min-height:100dvh;position:relative;background-image:var(--sc-desktop);background-size:cover;background-position:center;background-attachment:fixed}.sc-header{position:fixed;z-index:30;top:0;left:0;right:0;padding:30px var(--sc-edge);display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.sc-header>*{pointer-events:auto}.sc-brand{display:block;line-height:0}.sc-brand img{width:232px;height:auto;display:block}.sc-desktop-nav{display:flex;gap:72px;font-size:17px;letter-spacing:.01em;line-height:1.5}.sc-desktop-nav a:hover,.sc-links a:hover{opacity:.65}.sc-foot{position:fixed;z-index:30;left:var(--sc-edge);right:var(--sc-edge);bottom:28px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.sc-foot svg{width:23px;height:23px;display:block}.sc-menu-button,.sc-menu{display:none}.sc-home{height:100vh;height:100dvh;overflow:hidden}.sc-home-title{position:absolute;inset:0;display:grid;place-items:center;padding:90px 30px}.sc-home-title h1{font-size:clamp(34px,3.72vw,var(--sc-title));font-weight:400;line-height:1.15;letter-spacing:.012em;text-align:center;margin:0;white-space:nowrap}.sc-contact-content{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:49px;padding:110px 30px 130px;text-align:center;font-size:17px}.sc-contact-content section h2{font-weight:400;color:var(--sc-muted);font-size:17px;letter-spacing:.045em;margin:0 0 10px}.sc-contact-content section a{display:block}.sc-roster-grid{min-height:100dvh;display:flex;justify-content:center;align-items:center;gap:82px;padding:120px 40px 95px}.sc-roster-card{width:min(24vw,490px);display:block}.sc-roster-card img{width:100%;aspect-ratio:490/655;object-fit:cover;border-radius:11px;display:block}.sc-roster-card span{display:block;font-size:28px;margin-top:21px}.sc-artist-content{width:min(1515px,calc(100% - 120px));margin:0 auto;display:grid;grid-template-columns: minmax(0,530px) minmax(0,1fr);gap:80px;padding:240px 0 120px}.sc-artist-photo img{width:100%;border-radius:11px;display:block}.sc-artist-content article{min-width:0}.sc-eyebrow,.sc-links h2{font-size:17px;color:var(--sc-muted);font-weight:400;letter-spacing:.02em}.sc-artist-content h1{font-size:clamp(55px,4.2vw,88px);line-height:1.12;font-weight:400;margin:16px 0 42px}.sc-bio{font-size:var(--sc-body);line-height:1.53;letter-spacing:.008em}.sc-bio p{margin:0 0 27px}.sc-links{margin-top:49px}.sc-links h2{margin:0 0 17px}.sc-links a{display:block;font-size:17px;line-height:1.55}.sc-booking{display:inline-block;margin-top:42px;padding:12px 25px;border:1px solid var(--sc-white);border-radius:30px;font-size:16px}.sc-generic{max-width:1100px;margin:auto;padding:200px 35px 130px}.sc-generic h1{font-weight:400}.sc-menu-open{overflow:hidden}
@media(max-width:700px){:root{--sc-edge:36px}.sc-shell{background-image:var(--sc-mobile);background-attachment:scroll}.sc-header{padding:32px var(--sc-edge)}.sc-brand img{width:213px;max-width:55vw}.sc-desktop-nav{display:none}.sc-menu-button{display:flex;flex-direction:column;justify-content:center;gap:13px;width:80px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;z-index:45}.sc-menu-button span{display:block;width:100%;height:2px;background:#fff;transform-origin:center;transition:transform .25s}.sc-menu-button.is-open span:first-child{transform:translateY(7.5px) rotate(45deg)}.sc-menu-button.is-open span:last-child{transform:translateY(-7.5px) rotate(-45deg)}.sc-menu{position:fixed;inset:0;z-index:25;background-image:var(--sc-mobile);background-size:cover;background-position:center;display:none}.sc-menu.is-open{display:block}.sc-menu nav{position:absolute;left:var(--sc-edge);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px}.sc-menu nav a{font-size:clamp(42px,6vw,70px);font-weight:400;line-height:1.18}.sc-home-title{padding:100px 25px}.sc-home-title h1{font-size:clamp(25px,4.55vw,49px);white-space:nowrap}.sc-foot{bottom:27px;font-size:14px}.sc-foot svg{width:30px;height:30px}.sc-contact-content{gap:40px;font-size:15px;padding:130px 20px}.sc-contact-content section h2{font-size:14px}.sc-roster-grid{display:grid;grid-template-columns:1fr;gap:35px;padding:150px 35px 110px}.sc-roster-card{width:100%}.sc-roster-card span{font-size:24px}.sc-artist-content{display:block;width:calc(100% - 70px);padding:155px 0 120px}.sc-artist-photo img{max-width:100%}.sc-artist-content article{padding-top:35px}.sc-artist-content h1{font-size:48px}.sc-bio{font-size:15px}.sc-generic{padding-top:160px}}
@media(min-width:701px) and (max-width:1100px){.sc-artist-content{width:calc(100% - 90px);grid-template-columns:40% 1fr;gap:40px;padding-top:175px}.sc-roster-card{width:35vw}}

/* Customizer-controlled global page gutters and branding dimensions. */
.sc-header{padding-left:var(--sc-page-pad-desktop);padding-right:var(--sc-page-pad-desktop)}
.sc-foot{left:var(--sc-page-pad-desktop);right:var(--sc-page-pad-desktop)}
.sc-brand img{width:var(--sc-logo-desktop);max-width:100%;height:auto}
.sc-foot svg{width:var(--sc-ig-desktop);height:var(--sc-ig-desktop)}
.sc-roster-grid{padding-left:var(--sc-page-pad-desktop);padding-right:var(--sc-page-pad-desktop)}
.sc-artist-content{width:calc(100% - 2 * var(--sc-page-pad-desktop))}
.sc-generic{padding-left:var(--sc-page-pad-desktop);padding-right:var(--sc-page-pad-desktop)}
@media(max-width:700px){
.sc-header{padding-left:var(--sc-page-pad-mobile);padding-right:var(--sc-page-pad-mobile)}
.sc-foot{left:var(--sc-page-pad-mobile);right:var(--sc-page-pad-mobile)}
.sc-brand img{width:var(--sc-logo-mobile);max-width:55vw}
.sc-foot svg{width:var(--sc-ig-mobile);height:var(--sc-ig-mobile)}
.sc-menu nav{left:var(--sc-page-pad-mobile)}
.sc-roster-grid{padding-left:var(--sc-page-pad-mobile);padding-right:var(--sc-page-pad-mobile)}
.sc-artist-content{width:calc(100% - 2 * var(--sc-page-pad-mobile))}
.sc-generic{padding-left:var(--sc-page-pad-mobile);padding-right:var(--sc-page-pad-mobile)}
}

/* v1.0.9: unified side padding on every page, desktop also applies to tablets. */
.sc-contact-content{padding-left:var(--sc-page-pad-desktop);padding-right:var(--sc-page-pad-desktop)}
.sc-home-title{padding-left:var(--sc-page-pad-desktop);padding-right:var(--sc-page-pad-desktop)}
@media(max-width:700px){.sc-contact-content,.sc-home-title{padding-left:var(--sc-page-pad-mobile);padding-right:var(--sc-page-pad-mobile)}}

/* v1.0.10: independent top/bottom padding, desktop also applies to tablet. */
.sc-header{padding-top:var(--sc-page-top-desktop)}
.sc-foot{bottom:var(--sc-page-bottom-desktop)}
.sc-roster-grid{padding-top:max(120px,var(--sc-page-top-desktop));padding-bottom:max(95px,var(--sc-page-bottom-desktop))}
.sc-artist-content{padding-top:max(160px,var(--sc-page-top-desktop));padding-bottom:max(120px,var(--sc-page-bottom-desktop))}
.sc-contact-content{padding-top:max(110px,var(--sc-page-top-desktop));padding-bottom:max(130px,var(--sc-page-bottom-desktop))}
.sc-generic{padding-top:max(160px,var(--sc-page-top-desktop));padding-bottom:max(130px,var(--sc-page-bottom-desktop))}
@media(max-width:700px){
.sc-header{padding-top:var(--sc-page-top-mobile)}
.sc-foot{bottom:var(--sc-page-bottom-mobile)}
.sc-roster-grid{padding-top:max(150px,var(--sc-page-top-mobile));padding-bottom:max(110px,var(--sc-page-bottom-mobile))}
.sc-artist-content{padding-top:max(155px,var(--sc-page-top-mobile));padding-bottom:max(120px,var(--sc-page-bottom-mobile))}
.sc-contact-content{padding-top:max(130px,var(--sc-page-top-mobile));padding-bottom:max(130px,var(--sc-page-bottom-mobile))}
.sc-generic{padding-top:max(160px,var(--sc-page-top-mobile));padding-bottom:max(130px,var(--sc-page-bottom-mobile))}
}

/* v1.0.11: anchor hamburger / close icon to the exact global page edges.
   The icon size stays independently configurable. */
@media(max-width:700px){
 .sc-header .sc-menu-button{position:absolute;right:var(--sc-page-pad-mobile);top:var(--sc-page-top-mobile);margin:0;flex:none;}
}
@media(min-width:701px){
 .sc-header .sc-menu-button{right:var(--sc-page-pad-desktop);top:var(--sc-page-top-desktop);}
}

/* v1.0.12: single edge coordinate system for fixed UI. */
.sc-header{top:0;left:0;right:0;padding:var(--sc-page-top-desktop) var(--sc-page-pad-desktop) 0;align-items:flex-start}
.sc-foot{left:var(--sc-page-pad-desktop);right:var(--sc-page-pad-desktop);bottom:var(--sc-page-bottom-desktop);margin:0;padding:0;align-items:center}
.sc-foot > *{margin:0}
.sc-menu-button{box-sizing:border-box;align-self:flex-start}
@media(max-width:700px){
 .sc-header{padding:var(--sc-page-top-mobile) var(--sc-page-pad-mobile) 0}
 .sc-header .sc-menu-button{position:relative;top:auto;right:auto;left:auto;transform:none;margin:0 0 0 auto;align-self:flex-start;flex:none}
 .sc-foot{left:var(--sc-page-pad-mobile);right:var(--sc-page-pad-mobile);bottom:var(--sc-page-bottom-mobile)}
 .sc-menu{height:100dvh;overflow:hidden}
}

/* v1.0.13: hamburger and close icon top edge matches logo top edge.
   Keep both controls inside the same flex header and align their actual visible strokes. */
@media(max-width:700px){
 .sc-header{align-items:flex-start}
 .sc-header .sc-menu-button{justify-content:flex-start;gap:var(--sc-menu-line-gap,13px);height:auto;min-height:42px;padding:0;margin:0 0 0 auto;position:relative;top:auto;right:auto;transform:none}
 .sc-header .sc-menu-button span{margin:0}
 .sc-header .sc-menu-button.is-open{justify-content:flex-start}
 .sc-header .sc-menu-button.is-open span:first-child{transform:translateY(calc(var(--sc-menu-line-gap,13px) / 2 + 1px)) rotate(45deg)}
 .sc-header .sc-menu-button.is-open span:last-child{transform:translateY(calc((var(--sc-menu-line-gap,13px) / -2) - 1px)) rotate(-45deg)}
}

/* v1.0.14: logo, hamburger and close control share the exact header top inset. */
@media (max-width:700px) {
  .sc-header { align-items:flex-start; }
  .sc-header .sc-brand, .sc-header .sc-menu-button { align-self:flex-start; margin-top:0; }
  .sc-header .sc-menu-button { position:relative; inset:auto; margin-left:auto; padding:0; height:42px; min-height:0; justify-content:flex-start; transform:none; }
  .sc-header .sc-menu-button span { flex:none; margin:0; }
  .sc-header .sc-menu-button.is-open span:first-child { transform:translateY(calc((var(--sc-menu-line-gap,13px) + 2px) / 2)) rotate(45deg); }
  .sc-header .sc-menu-button.is-open span:last-child { transform:translateY(calc((var(--sc-menu-line-gap,13px) + 2px) / -2)) rotate(-45deg); }
}

/* v1.0.15 — scale complete menu glyph (line thickness, gap, and height) proportionally.
   The visible upper stroke stays aligned to the logo's top edge. */
@media(max-width:700px){
.sc-header .sc-menu-button{
  --sc-menu-scale:calc(var(--sc-menu-width,80px) / 80px);
  --sc-menu-stroke:calc(2px * var(--sc-menu-scale));
  --sc-menu-gap:calc(13px * var(--sc-menu-scale));
  width:var(--sc-menu-width,80px);
  height:calc(17px * var(--sc-menu-scale));
  min-height:0;gap:var(--sc-menu-gap);justify-content:flex-start;
  align-items:stretch; padding:0; margin-top:0;
}
.sc-header .sc-menu-button span{height:var(--sc-menu-stroke);width:100%;flex:none;}
.sc-header .sc-menu-button.is-open span:first-child{transform:translateY(calc((var(--sc-menu-gap) + var(--sc-menu-stroke)) / 2)) rotate(45deg)}
.sc-header .sc-menu-button.is-open span:last-child{transform:translateY(calc((var(--sc-menu-gap) + var(--sc-menu-stroke)) / -2)) rotate(-45deg)}
}

/* v1.0.16: independently adjustable proportional hamburger line spacing.
   Width controls still scale stroke, spacing and total height together. */
@media(max-width:700px){
.sc-header .sc-menu-button{
 --sc-menu-gap:calc(var(--sc-menu-base-gap,9px) * var(--sc-menu-scale));
 height:calc(2 * var(--sc-menu-stroke) + var(--sc-menu-gap));
 gap:var(--sc-menu-gap);
}
}

/* Default typography: Arial Regular, with Helvetica and sans-serif fallbacks. */
html,body,button,input,textarea,select,.sc-shell,.sc-shell *{font-family:Arial,Helvetica,sans-serif!important;font-weight:400;}

/* v1.0.19 — Global letter spacing: 10px across all text elements. */
body, body :is(h1,h2,h3,h4,h5,h6,p,a,span,div,li,button,input,textarea,label,small,strong,em,blockquote) {
  letter-spacing: 10px !important;
}

/* v1.0.21: center the homepage headline as a text block and center its text. */
.sc-home-title{display:flex;align-items:center;justify-content:center;text-align:center;}
.sc-home-title h1{display:block;max-width:100%;margin-inline:auto;text-align:center;text-wrap:balance;}

/* Roster scales to any number of artists while keeping the original card design. */
.sc-roster-grid{flex-wrap:wrap;align-content:center}.sc-roster-card{flex:0 0 auto}@media(max-width:700px){.sc-roster-grid{display:grid;grid-template-columns:1fr}.sc-roster-card{width:100%}}

/* v1.0.27 — Artist content only: reference-design boxed layout.
   No changes to global header, footer, background, or other page types. */
@media (min-width:1101px){
  .sc-artist-content{
    width:min(1140px, calc(100% - 2 * var(--sc-page-pad-desktop, 60px))) !important;
    max-width:1140px;
    grid-template-columns:minmax(0,392px) minmax(0,1fr);
    gap:60px;
  }
}
@media (min-width:701px) and (max-width:1100px){
  .sc-artist-content{
    width:min(900px, calc(100% - 2 * var(--sc-page-pad-desktop, 45px))) !important;
    max-width:900px;
    grid-template-columns:minmax(0,40%) minmax(0,1fr);
    gap:40px;
  }
}

/* v1.0.28 — Strict 900px centered artist content only. */
@media (min-width: 701px) {
  .sc-artist-content {
    width: min(900px, calc(100% - 70px)) !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0, 310px) minmax(0, 1fr) !important;
    gap: 45px !important;
  }
}

/* v1.0.29 — constrain the entire artist content container. */
@media (min-width:701px) {
  body.single-sc_artist .sc-shell .sc-artist-content,
  .sc-shell.sc-artist > main.sc-artist-content {
    box-sizing:border-box !important;
    display:grid !important;
    width:calc(100% - 70px) !important;
    max-width:900px !important;
    margin-inline:auto !important;
    grid-template-columns:minmax(0,310px) minmax(0,1fr) !important;
    column-gap:45px !important;
  }
}
@media(max-width:700px) {
  .sc-shell.sc-artist > main.sc-artist-content {
    width:calc(100% - 2 * var(--sc-page-pad-mobile,36px)) !important;
    max-width:900px !important;
    margin-inline:auto !important;
  }
}

/* Temporary homepage: existing desktop/mobile backgrounds, logo only. */
.sc-coming-soon{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px;}
.sc-coming-soon-logo{display:block;width:150px;max-width:100%;height:auto;}
@media(max-width:700px){.sc-coming-soon-logo{width:100px;}}

/* v1.0.34 — homepage artist composition from supplied desktop/mobile designs. */
.sc-home-artists{position:relative;min-height:100vh;min-height:100dvh;width:100%;isolation:isolate;}
.sc-home-artist-grid{position:relative;width:100%;height:100vh;height:100dvh;}
.sc-home-artist-card{position:absolute;display:block;width:23.65%;aspect-ratio:363/485;overflow:hidden;color:white;}
.sc-home-artist-card:nth-child(1){left:17.25%;top:16.7%;}
.sc-home-artist-card:nth-child(2){right:17.2%;top:41.15%;}
.sc-home-artist-card:nth-child(n+3){position:relative;left:auto;right:auto;top:auto;display:inline-block;margin:30px;width:22%;}
.sc-home-artist-card img{display:block;width:100%;height:100%;object-fit:cover;}
.sc-home-artist-card::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none;}
.sc-home-artist-card span{position:absolute;z-index:1;bottom:4.8%;left:7%;font-size:16px;letter-spacing:.04em!important;}
.sc-home-artists .sc-home-title{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:0 20px;}
.sc-home-artists .sc-home-title h1{font-weight:300!important;letter-spacing:.025em!important;white-space:nowrap;max-width:none;}
.sc-desktop-nav{display:flex!important;}
.sc-menu-button,.sc-menu{display:none!important;}
@media(max-width:700px){
 .sc-desktop-nav{display:flex!important;align-items:center;}
 .sc-home-artists,.sc-home-artist-grid{min-height:100dvh;height:100dvh;}
 .sc-home-artist-card{width:45.7%;aspect-ratio:424/565;}
 .sc-home-artist-card:nth-child(1){left:0;top:23.2%;}
 .sc-home-artist-card:nth-child(2){right:0;top:46.4%;}
 .sc-home-artist-card:nth-child(n+3){width:45%;margin:10px;}
 .sc-home-artist-card span{font-size:14px;left:6%;bottom:4%;}
 .sc-home-artists .sc-home-title h1{font-size:clamp(20px,4.5vw,42px)!important;letter-spacing:.025em!important;}
}

/* v1.0.35 — Homepage photos: balanced vertical composition and readable names.
   Both cards use the same height. Their combined top/bottom extents are centered
   around the viewport midpoint, including when the viewport ratio changes. */
.sc-home-artist-grid{
  --sc-card-width:23.65vw;
  --sc-card-height:calc(var(--sc-card-width) * 485 / 363);
  --sc-card-step:24.45dvh;
}
.sc-home-artist-card{width:var(--sc-card-width);}
.sc-home-artist-card:nth-child(1){top:calc(50% - (var(--sc-card-height) + var(--sc-card-step)) / 2);}
.sc-home-artist-card:nth-child(2){top:calc(50% + (var(--sc-card-step) - var(--sc-card-height)) / 2);}
.sc-home-artist-card::after{
  inset:35% 0 0;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.13) 28%,rgba(0,0,0,.62) 100%);
}
/* Profile photos only; roster/home photo styling remains untouched. */
.sc-artist-photo img{border-radius:0!important;}
@media (min-width:701px) and (max-width:1100px){
  .sc-home-artist-grid{
    --sc-card-width:clamp(255px,34vw,375px);
    --sc-card-height:calc(var(--sc-card-width) * 485 / 363);
    --sc-card-step:24dvh;
  }
  .sc-home-artist-card:nth-child(1){left:8%;}
  .sc-home-artist-card:nth-child(2){right:8%;}
  .sc-home-artists .sc-home-title h1{font-size:clamp(30px,4.1vw,55px)!important;}
}
@media (max-width:700px){
  .sc-home-artist-grid{
    --sc-card-width:45.7vw;
    --sc-card-height:calc(var(--sc-card-width) * 565 / 424);
    --sc-card-step:23.2dvh;
  }
  .sc-home-artist-card:nth-child(1){top:calc(50% - (var(--sc-card-height) + var(--sc-card-step)) / 2);}
  .sc-home-artist-card:nth-child(2){top:calc(50% + (var(--sc-card-step) - var(--sc-card-height)) / 2);}
}

/* v1.0.36 — interactive homepage artist photo layering and shading. */
.sc-home-artists .sc-home-artist-card{z-index:1;transition:filter .3s ease;filter:brightness(.8);}
.sc-home-artists .sc-home-artist-card::after{background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.22) 28%,rgba(0,0,0,.82) 100%);}
.sc-home-artists .sc-home-artist-card:hover,
.sc-home-artists .sc-home-artist-card:focus-visible,
.sc-home-artists .sc-home-artist-card:active{z-index:4;filter:brightness(1);}
.sc-home-artists .sc-home-title{z-index:2;}
@media (prefers-reduced-motion:reduce){.sc-home-artists .sc-home-artist-card{transition:none;}}

/* v1.0.37 — square corners on all artist images */
.sc-home-artists .sc-home-artist-card,.sc-home-artists .sc-home-artist-card img,.sc-roster-card,.sc-roster-card img,body.single-sc_artist .sc-artist-photo,body.single-sc_artist .sc-artist-photo img,.sc-artist-content .sc-artist-photo img{border-radius:0!important;}

/* v1.0.38: align GET IN TOUCH with the top edge of the logo on all devices. */
.sc-header .sc-desktop-nav{align-self:flex-start!important;align-items:flex-start!important;line-height:1!important;margin:0!important;padding:0!important;}
.sc-header .sc-desktop-nav a{display:block!important;line-height:1!important;margin:0!important;padding:0!important;}

/* v1.0.39: mobile artist pages only — bring photo closer to header and
   keep the existing mobile background fixed while the biography scrolls.
   Fixed pseudo-layer avoids iOS Safari's background-attachment:fixed issues. */
@media (max-width:700px) {
  body.single-sc_artist .sc-shell.sc-artist {
    background-image:none !important;
    isolation:isolate;
  }
  body.single-sc_artist .sc-shell.sc-artist::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background-image:var(--sc-mobile);
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
  }
  body.single-sc_artist .sc-shell.sc-artist > main.sc-artist-content {
    padding-top:105px !important;
  }
}

/* v1.0.40 — mobile artist social links: clickable area matches text only. */
@media (max-width:700px) {
  body.single-sc_artist .sc-artist-content .sc-links a {
    display:table;
    width:max-content;
    max-width:100%;
  }
}

/* v1.0.41: shift both homepage artist cards down together on mobile.
   Keeps the title fixed and preserves the relative card spacing. */
@media (max-width:700px) {
  .sc-home-artists .sc-home-artist-card:nth-child(1) {
    top:calc(50% - (var(--sc-card-height) + var(--sc-card-step)) / 2 + 50px);
  }
  .sc-home-artists .sc-home-artist-card:nth-child(2) {
    top:calc(50% + (var(--sc-card-step) - var(--sc-card-height)) / 2 + 50px);
  }
}

/* v1.0.42: move the entire mobile homepage photo composition 20px up
   relative to v1.0.41, leaving the headline and photo spacing unchanged. */
@media (max-width:700px) {
  .sc-home-artists .sc-home-artist-card:nth-child(1) {
    top:calc(50% - (var(--sc-card-height) + var(--sc-card-step)) / 2 + 30px);
  }
  .sc-home-artists .sc-home-artist-card:nth-child(2) {
    top:calc(50% + (var(--sc-card-step) - var(--sc-card-height)) / 2 + 30px);
  }
}

/* v1.0.43: mobile only — raise Stefan Meser card by 15px; Eli and headline unchanged. */
@media (max-width:700px) {
  .sc-home-artists .sc-home-artist-card:nth-child(2) {
    top:calc(50% + (var(--sc-card-step) - var(--sc-card-height)) / 2 + 15px);
  }
}

/* v1.0.44 — only mobile single artist pages: footer follows content.
   Desktop/tablet and mobile homepage retain the fixed footer. */
@media (max-width:700px) {
  body.single-sc_artist .sc-shell.sc-artist > .sc-foot {
    position: absolute !important;
    top: auto !important;
    bottom: var(--sc-page-bottom-mobile, 27px);
  }
  body.single-sc_artist .sc-shell.sc-artist > main.sc-artist-content {
    padding-bottom: max(125px, var(--sc-page-bottom-mobile, 27px) + 85px) !important;
  }
}

/* v1.0.46 — mobile contact page locked to viewport, matching homepage.
   Contact details remain centered; header/footer stay fixed. */
@media (max-width:700px) {
  body .sc-shell.sc-contact {
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow:hidden;
  }
  body .sc-shell.sc-contact > main.sc-contact-content {
    height:100%;
    min-height:0;
    box-sizing:border-box;
    overflow:hidden;
    justify-content:center;
  }
}

/* v1.0.47 — mobile contact only: lock the document viewport as well as
   the contact shell, preventing iOS Safari rubber-band swipe/overscroll. */
@media (max-width:700px) {
  html:has(.sc-shell.sc-contact) {
    height:100%;
    overflow:hidden !important;
    overscroll-behavior:none;
  }
  body:has(.sc-shell.sc-contact) {
    position:fixed !important;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden !important;
    overscroll-behavior:none;
  }
  body .sc-shell.sc-contact {
    height:100dvh !important;
    max-height:100dvh;
    min-height:0 !important;
    overflow:hidden !important;
    overscroll-behavior:none;
    touch-action:none;
  }
}
