/* Queen City Soccer Lab — experimental homepage only.
   Intentionally scoped to body.home; legacy pages remain unchanged. */
.home{
  --home-purple:#180d31;
  --home-deep:#120724;
  --home-mid:#271343;
  --home-gold:#e7b83f;
  --home-gold-dark:#ba800c;
  --home-ink:#160d38;
  --home-paper:#fbfaf8;
  --home-muted:#646477;
  background:var(--home-paper);
  color:var(--home-ink);
  font-family:'Montserrat','Space Grotesk',sans-serif;
  font-size:15px;
  line-height:1.52;
}
.home h1,.home h2,.home h3,.home h4{color:var(--home-ink);font-family:'Montserrat','Archivo',sans-serif;letter-spacing:-.043em;line-height:1.07;text-wrap:balance}
.home .container{max-width:1320px;padding-inline:clamp(20px,4.2vw,56px)}
.home .eyebrow{font-family:'Montserrat',sans-serif;color:#bd8408;font-size:11px;font-weight:800;letter-spacing:.19em}
.home .btn{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;min-height:45px;padding-inline:25px;letter-spacing:.015em}
.home .btn.btn-lg{min-height:50px;padding-inline:27px;font-size:12px}
.home .btn-gold{background:var(--home-gold);color:#11082b}
.home .btn-gold:hover{background:#ffd066}
.home .btn-outline-light{border-width:1.5px;background:transparent;color:white}
.home .btn-outline-light:hover{background:rgba(255,255,255,.09)}
.home .site-header{background:#fff;border-bottom:1px solid rgba(27,15,57,.1);box-shadow:0 2px 15px rgba(0,0,0,.035);top:0}
.home .site-header .container{height:72px}
.home-brand{display:inline-flex;align-items:center;gap:12px;flex:none;color:var(--home-ink);text-decoration:none}
.home-brand-mark{position:relative;width:57px;height:51px;border:1.5px solid #1c1244;border-radius:7px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;box-shadow:inset -5px -5px 0 rgba(231,184,63,.06)}
.home-brand-mark .qc{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:900;line-height:1;letter-spacing:-.105em;padding-right:4px}
.home-brand-mark svg{position:absolute;right:1px;top:-6px;width:22px;height:20px;transform:rotate(10deg)}
.home-brand-type{display:flex;flex-direction:column;line-height:.94;white-space:nowrap}
.home-brand-type strong{font-family:'Oswald','Archivo',sans-serif;font-weight:800;font-size:25px;letter-spacing:.013em}
.home-brand-type em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.32em;color:#c58b05;margin-top:6px}
.home .nav{gap:clamp(11px,1.75vw,27px);font-family:'Montserrat',sans-serif;font-weight:800;font-size:11px}
.home .nav>a:not(.btn),.home .nav details>summary{color:#1a1042;white-space:nowrap;cursor:pointer}
.home .nav>a:hover,.home .nav details>summary:hover{color:#a4770c}
.home .nav a{border-bottom:0}
.home .nav a.btn{font-size:10px;padding-inline:19px;min-height:37px;white-space:nowrap}
.home .nav details{position:relative}
.home .nav details>summary{list-style:none;display:flex;align-items:center;gap:5px;padding:10px 0;user-select:none}
.home .nav details>summary::-webkit-details-marker{display:none}
.home .nav details>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.home .nav .subnav{position:absolute;top:100%;left:-15px;min-width:225px;z-index:40;padding:10px;background:#fff;border-radius:13px;box-shadow:0 14px 36px rgba(24,13,49,.16);border:1px solid #eee9e3}
.home .nav .subnav a{display:block;padding:11px 12px;font-size:11px;color:var(--home-ink);border-radius:8px;text-decoration:none;line-height:1.35}
.home .nav .subnav a:hover{background:#f8f3e8}
.home .nav .subnav small{display:block;color:#736d7d;font-weight:500;line-height:1.5}
.home .menu-btn{border-color:#ddd5e8;color:var(--home-ink)}
.home .site-header .nav a.btn-gold{color:var(--home-ink)}
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 73% 30%,#2a1648 0%,#16092c 65%,#120724 100%);color:#fff;padding:66px 0 71px}
.home-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,7,36,.5) 0%,transparent 52%,rgba(17,6,33,.25) 100%);z-index:-1;pointer-events:none}
.home-hero-map{position:absolute;inset:0;width:100%;height:100%;opacity:.85;z-index:-2;pointer-events:none}
.home-hero .container{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(470px,1fr);gap:clamp(20px,3vw,60px);align-items:center}
.home-hero-copy{position:relative;z-index:2;padding:6px 0}
.home-hero .eyebrow{color:var(--home-gold);margin-bottom:16px}
.home-hero h1{color:#fff;font-size:clamp(41px,4.7vw,67px);font-weight:900;letter-spacing:-.045em;line-height:1.02;max-width:670px}
.home-hero h1 span{color:#f0c65c}
.home-hero .lede{font-size:clamp(14px,1.34vw,17px);max-width:560px;color:#f2edf8;margin-top:18px;line-height:1.58}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:24px}
.home-chemistry{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,101px);gap:9px;max-width:468px;width:100%;margin-left:auto;padding:0 4px}
.home-atom{background:linear-gradient(145deg,rgba(68,45,106,.78),rgba(30,15,62,.75));border:2px solid rgba(159,141,207,.55);border-radius:8px;position:relative;padding:11px 13px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 26px rgba(108,85,171,.14),0 8px 20px rgba(7,4,17,.15)}
.home-atom .num{position:absolute;right:10px;top:8px;color:#b9acd4;font-size:11px;letter-spacing:.01em;font-weight:700}
.home-atom .sym{font-size:clamp(27px,3vw,42px);line-height:1;color:#f5f0ff;font-weight:800;letter-spacing:-.05em}
.home-atom .name{font-size:10px;line-height:1.17;color:#fcf8ff;margin-top:6px}
.home-atom.cl{grid-area:1/1/2/2}
.home-atom.pl{grid-area:1/4/2/5}
.home-atom.co{grid-area:2/1/3/2}
.home-atom.ex{grid-area:2/4/3/5}
.home-atom.pa{grid-area:3/1/4/2}
.home-atom.da{grid-area:4/2/5/3}
.home-atom.re{grid-area:3/4/4/5}
.home-atom.qc-center{grid-area:2/2/4/4;border:3px solid var(--home-gold);z-index:3;padding:16px;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,#30204e,#120828);box-shadow:0 8px 25px rgba(0,0,0,.42),inset 0 0 28px rgba(112,75,151,.24)}
.home-atom.qc-center .area-code{color:var(--home-gold);position:absolute;top:10px;left:12px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:900;letter-spacing:.015em}
.home-atom.qc-center .center-crown{width:40px;height:34px;position:absolute;right:13px;top:16px;transform:rotate(-9deg)}
.home-atom.qc-center .sym{font-size:clamp(60px,7vw,92px);letter-spacing:-.09em;line-height:.94;padding-right:8px;margin-top:28px}
.home-atom.qc-center .name{font-weight:850;font-size:17px;letter-spacing:.075em;line-height:1.06;margin-top:4px}
.home-atom.qc-center .lab{color:var(--home-gold);font-weight:900;letter-spacing:.15em;font-size:14px;margin-top:6px}
.home-features{padding:38px 0 43px;background:#fcfaf7}
.home-feature-intro{display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:center;margin-bottom:21px}
.home-feature-intro h2{font-size:clamp(27px,3.4vw,42px);margin-top:8px;max-width:650px;font-weight:850}
.home-feature-intro p{max-width:500px;font-size:14px;line-height:1.62;color:#5f5c6e;justify-self:end}
.home-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-feature{display:flex;flex-direction:column;position:relative;background:#fffefa;min-height:202px;padding:19px 21px 18px;border:1px solid #e8e3df;border-radius:12px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s}
.home-feature:hover{border-color:#e5b744;box-shadow:0 8px 25px rgba(31,16,55,.08);transform:translateY(-2px)}
.home-feature .index{font-size:11px;color:#bf8100;font-weight:800;letter-spacing:.08em}
.home-feature .sym{font-size:46px;line-height:1.05;font-weight:900;letter-spacing:-.07em;color:#1b0e43;margin-top:6px}
.home-feature h3{font-size:13px;letter-spacing:-.01em;line-height:1.15;margin-top:1px;font-weight:850}
.home-feature .desc{font-size:11.5px;line-height:1.55;color:#777080;margin-top:9px;padding-right:8px}
.home-feature .go{font-size:10px;font-weight:850;letter-spacing:.03em;margin-top:auto;padding-top:13px;color:#24114d}
.home-feature .go span{font-size:17px;vertical-align:-2px;margin-left:5px}
.home-feature .feature-icon{position:absolute;right:18px;top:18px;width:31px;height:31px;color:#d89907}
.home-lab{background:linear-gradient(110deg,#1a0b34,#1e0f3d 60%,#140726);padding:31px 0 30px;color:#fff}
.home-lab-grid{display:grid;grid-template-columns:minmax(210px,.95fr) repeat(3,minmax(0,1fr));gap:12px}
.home-lab-intro{align-self:center;padding-right:38px}
.home-lab .eyebrow{color:var(--home-gold)}
.home-lab h2{font-size:clamp(30px,3vw,39px);font-weight:900;color:#fff;margin:8px 0 12px}
.home-lab-intro p{font-size:13px;color:#eee7f6;line-height:1.55;max-width:260px;margin-bottom:15px}
.home-lab .btn{font-size:10px;min-height:39px}
.home-story{background:#fffefa;border:1px solid #efe8ed;overflow:hidden;border-radius:10px;text-decoration:none;display:flex;flex-direction:column;color:var(--home-ink);min-width:0;transition:transform .18s ease}
.home-story:hover{transform:translateY(-3px)}
.home-story-art{height:104px;background:linear-gradient(130deg,#271342,#110627);overflow:hidden;position:relative}
.home-story-art svg{display:block;width:100%;height:100%}
.home-story-copy{padding:15px 16px 14px;display:flex;flex-direction:column;flex:1}
.home-story .type{font-size:9px;letter-spacing:.08em;font-weight:850;color:#575163}
.home-story h3{font-size:16px;font-weight:850;line-height:1.14;letter-spacing:-.027em;margin-top:6px}
.home-story p{font-size:11.5px;line-height:1.55;color:#706b7e;margin-top:7px}
.home-story .read{font-size:10px;font-weight:900;letter-spacing:.02em;color:#24134c;margin-top:auto;padding-top:14px}
.home-story .read span{font-size:16px;vertical-align:-2px;margin-left:6px}
.home-community{background:#fcfaf7;padding:28px 0 30px}
.home-community-grid{display:grid;grid-template-columns:minmax(210px,1.25fr) repeat(3,minmax(105px,.67fr)) minmax(140px,.8fr);gap:0;align-items:center}
.home-community-title{padding-right:18px}
.home-community-title h2{font-size:clamp(23px,2.35vw,31px);font-weight:850;margin-top:6px}
.home-community-benefit{text-align:center;min-height:82px;padding:6px 12px 0;border-left:1px solid #ddd7dc;display:flex;flex-direction:column;align-items:center;gap:7px}
.home-community-benefit svg{height:28px;width:28px;color:#d7980a}
.home-community-benefit p{font-size:11px;line-height:1.4;color:#777081}
.home-community-action{border-left:1px solid #ddd7dc;display:flex;justify-content:center;padding-left:13px}
.home-community-action .btn{white-space:nowrap;font-size:10px;min-height:40px}
.home-footer{background:#17092d;color:#f8f5ff;padding:24px 0}
.home-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.home-footer .home-brand{color:#fff}
.home-footer .home-brand-mark{border-color:#b0a0cd}
.home-footer .home-brand-type em{color:var(--home-gold)}
.home-footer-nav{display:flex;flex-wrap:wrap;gap:17px}
.home-footer-nav a{text-decoration:none;color:#e8ddf2;font-size:11px}
.home-footer-nav a:hover{color:var(--home-gold)}
.home-footer-small{width:100%;border-top:1px solid #4c3c61;padding-top:12px;color:#c6b9d0;font-size:10px;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:1100px){
 .home .site-header .container{gap:14px}
 .home .nav{gap:11px;font-size:10px}
 .home-brand-type strong{font-size:22px}
 .home-brand-mark{width:50px;height:47px}
 .home-hero .container{grid-template-columns:minmax(0,1fr) minmax(390px,1fr)}
 .home-hero h1{font-size:clamp(39px,4.8vw,57px)}
 .home-feature{padding:16px;min-height:212px}
 .home-lab-grid{grid-template-columns:minmax(185px,.85fr) repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .home .menu-btn{display:inline-flex}
 .home .nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 22px;border-bottom:1px solid #e9e3ef;box-shadow:0 15px 20px rgba(30,13,52,.1)}
 .home .nav.open{display:flex}
 .home .nav>a,.home .nav details>summary{padding:12px 0;font-size:12px;color:var(--home-ink)}
 .home .nav .subnav{position:static;box-shadow:none;border:0;background:#fbf8f3;margin:0 0 8px}
 .home .nav>a.btn{align-self:flex-start;margin-top:8px}
 .home-hero .container{grid-template-columns:1fr;gap:33px}
 .home-hero{padding:54px 0 48px}
 .home-hero h1{font-size:clamp(43px,7vw,69px);max-width:700px}
 .home-chemistry{margin:auto;max-width:530px}
 .home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-feature{min-height:192px}
 .home-lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-lab-intro{grid-column:1/-1;padding:6px 0 15px}
 .home-lab-intro p{max-width:550px}
 .home-community-grid{grid-template-columns:repeat(3,1fr)}
 .home-community-title{grid-column:1/-1;margin-bottom:25px}
 .home-community-action{grid-column:1/-1;border-left:none;margin-top:16px}
}
@media(max-width:620px){
 .home .site-header .container{height:68px}
 .home .nav{top:68px}
 .home-brand-mark{width:43px;height:43px}
 .home-brand-mark .qc{font-size:24px}
 .home-brand-mark svg{width:18px}
 .home-brand-type strong{font-size:20px}
 .home-brand-type em{font-size:8px;letter-spacing:.22em}
 .home-hero{padding:43px 0 47px}
 .home-hero h1{font-size:clamp(38px,9vw,55px)}
 .home-hero .lede{font-size:14px}
 .home-hero-actions{gap:10px}
 .home .btn.btn-lg{min-height:46px;padding-inline:18px;font-size:10px}
 .home-chemistry{grid-template-rows:repeat(4,76px);gap:8px;max-width:366px}
 .home-atom{padding:6px 8px;border-width:1.5px;border-radius:6px}
 .home-atom .sym{font-size:28px}
 .home-atom .name{font-size:8px;margin-top:3px}
 .home-atom .num{font-size:9px;top:3px;right:5px}
 .home-atom.qc-center{border-width:2px}
 .home-atom.qc-center .area-code{font-size:10px;top:6px;left:8px}
 .home-atom.qc-center .center-crown{width:29px;right:6px;top:9px}
 .home-atom.qc-center .sym{font-size:57px;margin-top:22px}
 .home-atom.qc-center .name{font-size:12px}
 .home-atom.qc-center .lab{font-size:10px}
 .home-features{padding:36px 0}
 .home-feature-intro{grid-template-columns:1fr;gap:12px}
 .home-feature-intro h2{font-size:30px}
 .home-feature-intro p{justify-self:start}
 .home-feature-grid{gap:10px}
 .home-feature{min-height:215px;padding:13px 12px}
 .home-feature .feature-icon{width:23px;height:23px;right:11px;top:11px}
 .home-feature .sym{font-size:39px}
 .home-feature h3{font-size:12px}
 .home-feature .desc{font-size:10.5px}
 .home-feature .go{font-size:9px}
 .home-lab-grid{grid-template-columns:1fr}
 .home-lab-intro{grid-column:auto}
 .home-story-art{height:136px}
 .home-community-grid{grid-template-columns:repeat(3,1fr)}
 .home-community-benefit{padding:7px 5px}
 .home-community-benefit p{font-size:9px}
 .home-footer-inner{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.home-feature,.home-story{transition:none}}

/* Native-logo vector trace replacement: image scales without CSS-font substitution. */
.home-brand img{display:block;width:clamp(182px,19vw,240px);height:auto;max-height:61px;object-fit:contain}
.home-atom.qc-center .home-center-logo{display:block;width:100%;max-width:235px;height:auto;filter:none;margin-top:25px}
.home .site-header .home-brand img{width:200px}
.home-footer .home-brand img{width:195px}
@media(max-width:620px){.home .site-header .home-brand img{width:173px}.home-atom.qc-center .home-center-logo{margin-top:20px;max-width:170px}}

/* Supplied Affinity vector branding, native aspect ratios: horizontal 2473/669, element 1163/1197. */
.home .site-header .home-brand img{width:218px;height:auto;max-height:none}
.home-footer .home-brand img{width:204px;height:auto;max-height:none}
.home-atom.qc-center{padding:6px;overflow:hidden}
.home-atom.qc-center .home-center-logo{width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;margin:0;display:block}
@media(max-width:620px){
 .home .site-header .home-brand img{width:176px}
 .home-footer .home-brand img{width:190px}
 .home-atom.qc-center .home-center-logo{width:auto;max-width:100%;height:100%;margin:0}
}

/* Hero revision — the supplied dark-ground SVG has an empty transparent
   interior. The original gold outline remains part of the exact SVG.
   Remove only the old *additional* rectangular website tile. */
.home .home-atom.qc-center,
.home .home-atom.qc-center:hover {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home .home-atom.qc-center::before,
.home .home-atom.qc-center::after{content:none}
.home .home-atom.qc-center .home-center-logo {
  display: block;
  flex: none;
  margin: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  aspect-ratio: 1163/1197;
  object-fit: contain;
  background: transparent;
  filter: none;
  box-shadow: none;
}
.home .home-chemistry { isolation:isolate; }
@media (max-width:620px){
  .home .home-atom.qc-center .home-center-logo{
    width:auto;
    height:auto;
    max-height:100%;
    max-width:100%;
    margin:0;
  }
}

/* Genuine street-level map texture; purple and gold are layered above OSM tiles. */
.home .home-hero-map{inset:0;position:absolute;width:100%;height:100%;opacity:1;overflow:hidden;z-index:-2;pointer-events:none;background:#170a2e}
.home .home-map-streets{position:absolute;inset:0;filter:grayscale(1) invert(.94) sepia(1) saturate(2.5) hue-rotate(351deg) brightness(.67) contrast(1.38);opacity:.65}
.home .home-map-streets img{display:block;width:256px;height:256px;max-width:none;user-select:none}
.home .home-hero-map::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,8,43,.93),rgba(30,13,58,.54) 42%,rgba(27,9,55,.51) 100%);mix-blend-mode:multiply}
.home .home-hero-map::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,7,40,.85) 0%,rgba(28,10,58,.47) 34%,rgba(26,9,59,.26) 72%,rgba(18,6,39,.48) 100%);mix-blend-mode:normal}
.home .home-hero::before{background:linear-gradient(90deg,rgba(19,7,40,.53),rgba(19,7,40,.04) 55%,rgba(19,7,40,.2))}
.home .home-map-credit{position:absolute;right:10px;bottom:6px;font-size:9px;color:#d6c9e6;z-index:3;opacity:.8;text-decoration:none}
.home .home-map-credit:hover{opacity:1;text-decoration:underline}
@media(max-width:620px){.home .home-map-streets{opacity:.55}.home .home-hero-map::after{background:rgba(17,6,38,.57)}}
