/* Queen City Soccer Lab — inner-page design system, preview branch.
   Extends the homepage identity without changing functional IDs, datasets, or JS. */

body.home.inner{
  --purple:#1a0d3b;
  --purple-2:#27144e;
  --purple-line:#52416c;
  --gold:#e7b83f;
  --gold-deep:#986700;
  --cream:#fdfbf7;
  --surface:#fffefa;
  --surface-2:#f9f5ed;
  --sand:#f3eee7;
  --line:#e9e3e4;
  --line-2:#dbd1d6;
  --ink:#201539;
  --muted:#686178;
  --lilac:#e2dced;
  --lilac-2:#c0b1d2;
  background:#fcfaf7;
  color:var(--ink);
  font-size:15px;
  line-height:1.6;
  font-family:'Montserrat','Space Grotesk',Arial,sans-serif;
}
body.inner .container{max-width:1320px;padding-inline:clamp(20px,4.2vw,56px)}
body.inner h1,body.inner h2,body.inner h3,body.inner h4{
  color:var(--purple);
  font-family:'Montserrat','Archivo',Arial,sans-serif;
  line-height:1.13;letter-spacing:-.039em;font-weight:800;
}
body.inner h1{letter-spacing:-.052em}
body.inner .eyebrow{letter-spacing:.17em;font-size:11px;font-weight:800;color:#b77c04}
body.inner .mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.065em}
body.inner .muted,body.inner .hint{color:#716a7c}
body.inner p{line-height:1.65}
body.inner .section{padding-block:65px}
body.inner .section-head{gap:9px;margin-bottom:27px}
body.inner .section-head h2{font-size:clamp(29px,3.5vw,44px)}
body.inner .band-sand{background:#f4f0ec}
body.inner .band-dark{background:var(--purple)}
body.inner .on-dark h1,body.inner .on-dark h2,body.inner .on-dark h3{color:#fff}
body.inner .on-dark p{color:#e7deed}

/* Original unaltered Affinity SVGs appear in every inner-page header/footer. */
body.inner .site-header{background:#fff;border-color:#ece7e9}
body.inner .site-header .container{height:72px}
body.inner .site-header .home-brand img{width:218px;height:auto}
body.inner .site-header .nav a,body.inner .site-header .nav details>summary{font-family:'Montserrat',sans-serif;color:#1a1042;font-size:11px;font-weight:800}
body.inner .site-header .nav>a.btn-gold{color:#170930;font-size:10px}
body.inner .site-header .nav details .subnav a{font-size:11px}
body.inner .site-header .nav a:hover,body.inner .site-header .nav details>summary:hover{color:#a87408}
body.inner .site-header .nav a[aria-current="page"]{color:#aa7606}
body.inner .menu-btn{background:transparent;border-color:#ded6e7;color:var(--purple)}
body.inner .home-footer{background:#16092b}
body.inner .home-footer .home-brand img{width:204px;height:auto}

/* Typography and controls: sharper surfaces, open space, subtle gold accent. */
body.inner .card{background:#fff;border:1px solid #e8e3e7;border-radius:14px;box-shadow:0 6px 25px rgba(26,13,59,.032);padding:clamp(18px,2.1vw,30px)}
body.inner .btn{font-family:'Montserrat',Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.005em;min-height:45px;padding-inline:21px}
body.inner .btn-lg{min-height:51px;padding-inline:26px;font-size:12px}
body.inner .btn-primary{background:#211049;color:#fff}
body.inner .btn-primary:hover{background:#362161}
body.inner .btn-gold{background:#e7b83f;color:#190b37}
body.inner .btn-gold:hover{background:#f6ca63}
body.inner .btn-outline{color:#241346;border-color:#403165;background:transparent;border-width:1.5px}
body.inner .btn-outline:hover{background:#f5effa}
body.inner .field label,body.inner .field legend,body.inner .label,body.inner label{font-family:'Montserrat',sans-serif}
body.inner .input,body.inner .select,body.inner .textarea,
body.inner input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.inner select,body.inner textarea{
 border-color:#d9d0dd;border-width:1.5px;border-radius:9px;
 background:#fff;color:#271a42;
 font-family:'Montserrat',sans-serif;
}
body.inner .input:focus-visible,body.inner .select:focus-visible,body.inner .textarea:focus-visible,
body.inner input:focus-visible,body.inner select:focus-visible,body.inner textarea:focus-visible{
 outline:2px solid #ddb547;outline-offset:2px;border-color:#b88a24;
}
body.inner .pill{border-color:#d9d0df;background:#fff;font-size:13px}
body.inner .pill[aria-pressed="true"],body.inner .pill[aria-checked="true"]{background:#27154e;border-color:#27154e;color:#fff}
body.inner .scale button{border-color:#d7cfe0;background:#fff;color:#291748}
body.inner .scale button[aria-checked="true"]{background:#27134c;border-color:#27134c;color:#f4c65b}
body.inner .notice{background:#f8f2e6;border-radius:9px;color:#3a3050;border:1px solid #e8dcbc}
body.inner .notice.preview{border:1px dashed #ba9128}

/* Small periodic-element brand markers, not decorative stock images. */
.inner-context{background:#f5f0ea;border-bottom:1px solid #e7dfdd}
.inner-context .container{display:flex;align-items:center;gap:11px;padding-top:12px;padding-bottom:12px}
.inner-context .context-element{display:grid;place-items:center;width:37px;height:37px;border:1.5px solid #c39117;color:#291454;font-size:18px;font-weight:900;line-height:1;letter-spacing:-.07em;border-radius:6px}
.inner-context .context-copy{display:flex;flex-direction:column;gap:1px}
.inner-context .context-copy span{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a67104}
.inner-context .context-copy small{font-size:11px;color:#6e657a;font-weight:600}
.inner-context .context-back{margin-left:auto;text-decoration:none;font-size:11px;font-weight:800;color:#2d1951}
.inner-context .context-back:hover{text-decoration:underline}

/* Shared dark-page hero: restrained brand-driven technical-grid texture. */
body.inner :is(.rate-hero,.sched-hero,.opp-hero,.club-hero){
  background:
    radial-gradient(ellipse at 87% 25%,rgba(96,57,132,.26),transparent 58%),
    linear-gradient(112deg,#170a32,#261346 68%,#160927);
  position:relative;overflow:hidden;isolation:isolate;
}
body.inner :is(.rate-hero,.sched-hero,.opp-hero,.club-hero)::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.27;
 background-image:linear-gradient(90deg,rgba(206,178,239,.16) 1px,transparent 1px),linear-gradient(rgba(206,178,239,.13) 1px,transparent 1px);
 background-size:69px 69px;mask-image:linear-gradient(90deg,transparent 7%,black 94%);
}
body.inner :is(.rate-hero,.sched-hero,.opp-hero,.club-hero)::after{
 content:"";position:absolute;right:5%;bottom:-80px;z-index:-1;width:265px;height:265px;border:1px solid rgba(231,184,63,.22);border-radius:13px;transform:rotate(10deg);
 box-shadow:inset 0 0 0 34px rgba(38,21,79,.14),0 0 0 47px rgba(221,181,67,.042),0 0 0 95px rgba(189,147,82,.029);pointer-events:none
}
body.inner .opp-hero,body.inner .sched-hero,body.inner .rate-hero{padding:66px 0 72px}
body.inner :is(.opp-hero,.sched-hero,.rate-hero) h1{font-size:clamp(37px,4.8vw,65px);max-width:750px;line-height:1.05;margin:10px 0 15px}
body.inner :is(.opp-hero,.sched-hero,.rate-hero) p{font-size:clamp(15px,1.4vw,18px);max-width:750px}
body.inner :is(.opp-hero,.sched-hero,.rate-hero) .eyebrow{color:#e7b83f}
body.inner .rate-hero .quick>div{border-color:rgba(231,184,63,.26)}
body.inner .rate-hero .quick dt{color:#f4c963}
body.inner .mini-tile{border-radius:9px}
body.inner .mini-tile.gold{background:#e7b83f}
body.inner .tile{border-radius:10px}

/* Club Finder: visual hierarchy and open-space card layout */
body.inner .finder{padding-block:36px 74px;gap:28px}
body.inner .finder h1{font-size:clamp(37px,4.8vw,59px)}
body.inner .finder .stepper{background:#fff;border:1px solid #e6e0e7;padding:15px 20px;border-radius:12px;align-self:flex-start}
body.inner .stepper .dot{border-color:#d7cddd}
body.inner .stepper [data-state="active"] .dot{background:#27134b;border-color:#27134b;color:#f0c456}
body.inner .stepper [data-state="done"] .dot{background:#e7b83f;border-color:#e7b83f;color:#28164a}
body.inner .zip-card{gap:21px}
body.inner .how{background:#211040;border-radius:14px}
body.inner .how h3{color:#fff}
body.inner .tiles-grid .pick{border-radius:11px}
body.inner .pick[aria-pressed="true"]{background:#211040}
body.inner .result{border:1px solid #e6e0e8;border-radius:12px;box-shadow:0 5px 20px rgba(22,9,45,.035)}
body.inner .result.best{border-color:#d5a839;box-shadow:inset 0 0 0 2px #e7b83f}
body.inner .result.research-result{border-left:4px solid #dca62d}
body.inner .result .rk{color:#9d700c}
body.inner .best-badge{background:#f5cc62}

/* Club detail, rendered by club.js: keep all existing IDs and content. */
body.inner .club-hero{padding-block:54px 61px}
body.inner .club-hero h1{color:#fff}
body.inner .club-hero .crumbs a{color:#e9c867}
body.inner .fit-card{border-color:rgba(231,184,63,.55);background:rgba(34,17,71,.9);border-radius:13px}
body.inner .body-grid{padding-block:54px}
body.inner .block{border-radius:14px}
body.inner .rtile{border-radius:10px}
body.inner .other{border-radius:11px}

/* Survey stages and progress get clearer accents, no loss of form behavior. */
body.inner .survey{padding-block:49px 76px}
body.inner .survey .rail{background:#211040;border-radius:14px;color:#e8def4}
body.inner .survey .rail h2{color:#fff}
body.inner .survey .rail .mono{color:#f1c65b}
body.inner .survey .rail .note{color:#d7c8e5}
body.inner .survey .rail .link{color:#f0c65b}
body.inner .survey .rail a{color:#f0c65b}
body.inner .survey .page h1{font-size:clamp(34px,4.5vw,55px)}
body.inner .survey .stage{min-width:0}
body.inner .survey .facts3 .card{border-top:3px solid #e7b83f}
body.inner .survey .progress .bar>span{background:#e7b83f}
body.inner .survey .form-card{border-radius:12px}

/* Opportunity directory and submission use matching restrained cards. */
body.inner .opp-filters{border-radius:12px;border-color:#e5dfe6;background:#fff;padding:22px}
body.inner .opp-card{border-radius:12px;box-shadow:0 5px 18px rgba(28,14,60,.033)}
body.inner .opp-card:hover{box-shadow:0 12px 25px rgba(28,14,60,.07)}
body.inner .opp-tag{border-radius:5px;background:#fbefd5;color:#80550b;font-weight:800}
body.inner .opp-pills span{border-radius:5px}
body.inner .opp-submission-form{border-radius:13px}
body.inner .opp-submission-form legend{font-family:'Montserrat',sans-serif;font-weight:800;color:#28154b}
body.inner .opp-form-success{border-top:4px solid #e7b83f}

/* Team schedule: preserve badges and statuses, update page hierarchy. */
body.inner .sched-main{padding-block:46px 85px}
body.inner .sched-main .picker{border-radius:13px}
body.inner .current{border-radius:13px}
body.inner .gcard{border-radius:13px}
body.inner .team-opt{border-radius:9px}
body.inner .rate-nudge{border-radius:12px}

/* Tables, details, summary and dynamic content keep original semantic markup. */
body.inner .tbl-wrap{border-radius:11px;overflow:auto}
body.inner .tbl-wrap table{border-collapse:collapse}
body.inner table thead{background:#f4f0ea}
body.inner :is(.tbl-wrap,table) th{color:#311f51}
body.inner details:not(.nav details)>summary{cursor:pointer}
body.inner .chip-tile{border-radius:5px}

/* 404 page */
body.inner.not-found{min-height:100vh;display:flex;flex-direction:column;background:#fdfbf8}
body.inner.not-found main{width:100%;flex:1;display:grid;place-items:center;padding-block:60px}
body.inner.not-found .not-found-content{max-width:650px;text-align:center}
body.inner.not-found .not-found-atom{font-size:54px;font-weight:900;color:#d6a130;border:2px solid #d6a130;border-radius:12px;display:inline-grid;place-items:center;height:103px;width:103px;margin-bottom:25px}
body.inner.not-found h1{font-size:clamp(34px,5vw,58px)}
body.inner.not-found .not-found-content p{margin:17px auto 24px;max-width:500px;color:#675d73}

@media(max-width:900px){
 body.inner .site-header .nav{top:72px}
 body.inner .site-header .nav>a,
 body.inner .site-header .nav details>summary{font-size:12px}
 body.inner .site-header .home-brand img{width:205px}
 body.inner :is(.rate-hero,.sched-hero,.opp-hero)::after{right:-105px}
}
@media(max-width:700px){
 body.inner .section{padding-block:45px}
 body.inner :is(.rate-hero,.sched-hero,.opp-hero){padding:50px 0 54px}
 body.inner .finder{padding-block:24px 58px}
 body.inner .finder .stepper{padding:12px 13px;width:100%}
 body.inner .survey{padding-block:29px 56px}
 body.inner .opp-card{padding:18px}
 body.inner .home-footer-nav{gap:12px 18px}
}
@media(max-width:620px){
 body.inner .site-header .container{height:68px}
 body.inner .site-header .nav{top:68px}
 body.inner .site-header .home-brand img{width:176px}
 body.inner .home-footer .home-brand img{width:190px}
 body.inner :is(.rate-hero,.sched-hero,.opp-hero,.club-hero)::after{opacity:.55}
}
@media(prefers-reduced-motion:reduce){
 body.inner *,body.inner *::before,body.inner *::after{scroll-behavior:auto!important}
}

/* Cohesion polish, pass 2: same graphic vocabulary as the homepage elements. */
body.inner .inner-context{background:#faf8f4;border-bottom:1px solid #eee8e5}
body.inner .inner-context .context-element{background:#fff;box-shadow:0 3px 10px rgba(24,9,51,.045)}
body.inner :is(.rate-hero,.sched-hero,.opp-hero,.club-hero)::before{
 background-image:
 linear-gradient(90deg,rgba(218,184,91,.12) 1px,transparent 1px),
 linear-gradient(rgba(208,185,238,.13) 1px,transparent 1px);
 background-size:73px 73px;
}
body.inner .card,body.inner .opp-card,body.inner .result,body.inner .rtile{
 transition:box-shadow .18s ease,border-color .18s ease;
}
@media(hover:hover){
 body.inner :is(.card,.opp-card,.result,.rtile):hover{border-color:#d6c8db;box-shadow:0 9px 27px rgba(26,13,59,.07)}
}
body.inner .eyebrow{color:#ae7604}
body.inner .section-head .eyebrow{margin-bottom:9px}
body.inner :is(.opp-card,.result,.form-card,.picker){overflow-wrap:anywhere}
body.inner .opp-card h3,body.inner .result h3{letter-spacing:-.028em}
body.inner .opp-card .opp-cta{border-radius:24px}
body.inner .site-header .nav .btn-gold{border-radius:100px}
body.inner .home-footer{border-top:1px solid rgba(232,188,74,.2)}
body.inner .opp-filters{box-shadow:0 8px 30px rgba(25,12,53,.045)}
body.inner .opp-card .opp-details{border-color:#ece5e7}
body.inner .survey .rail .note{border-color:rgba(234,198,105,.24)}
body.inner .survey .facts3 .card b{color:#24134b}
body.inner .survey .facts3 .card{background:#fff}
body.inner .stepper [aria-current="step"] .dot{background:#25114d;color:#efc65b;border-color:#25114d}
body.inner :is(.btn,.pill,.team-opt,.pick):focus-visible{outline:3px solid #dcb247;outline-offset:3px}

/* Element identity: the same numbered periodic-table language from the homepage. */
body.inner .inner-context .container{min-height:78px;gap:15px}
body.inner .inner-context .context-element-rich{position:relative;width:54px;height:56px;flex:none;border:1.5px solid #d9a22b;border-radius:7px;background:#fff;box-shadow:0 3px 12px rgba(26,13,59,.045)}
body.inner .context-element-rich .context-number{position:absolute;top:4px;left:6px;font-size:9px;font-weight:800;letter-spacing:.03em;color:#ae780c}
body.inner .context-element-rich strong{font-size:29px;font-weight:900;letter-spacing:-.075em;line-height:1;color:#211046}
body.inner .inner-context .context-copy{gap:3px}
body.inner .inner-context .context-copy>span{font-size:10px;letter-spacing:.15em;color:#b07809;font-weight:800}
body.inner .inner-context .context-copy small{font-size:12px;color:#6b6276}
body.inner .inner-context .context-name{margin-left:auto;color:#251344;font-weight:800;font-size:13px}
body.inner .inner-context .context-back{margin-left:20px;white-space:nowrap}
@media(max-width:700px){
 body.inner .inner-context .container{min-height:74px;gap:11px}
 body.inner .inner-context .context-element-rich{width:49px;height:51px}
 body.inner .context-element-rich strong{font-size:26px}
 body.inner .inner-context .context-name{display:none}
 body.inner .inner-context .context-back{font-size:10px;margin-left:auto}
}
@media(max-width:390px){body.inner .inner-context .context-back{display:none}}

/* Club profiles: periodic elements become a navigable research taxonomy. */
body.inner .profile-elements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.inner .profile-element{display:flex;align-items:center;gap:13px;text-decoration:none;background:#fff;border:1px solid #e5dfe8;border-radius:12px;padding:15px;min-width:0;transition:border-color .2s,box-shadow .2s}
body.inner .profile-element:hover{border-color:#cda038;box-shadow:0 7px 22px rgba(32,14,66,.07)}
body.inner .profile-element-tile{position:relative;display:grid;place-items:center;flex:none;width:62px;height:66px;border:1.5px solid #d5a536;border-radius:7px;color:#241247}
body.inner .profile-element-tile small{position:absolute;top:3px;left:6px;font-size:9px;color:#a87509;font-weight:800}
body.inner .profile-element-tile strong{font-size:30px;font-weight:900;letter-spacing:-.07em}
body.inner .profile-element-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
body.inner .profile-element-copy b{color:#281449;font-size:13px;line-height:1.3}
body.inner .profile-element-copy small{font-size:11px;line-height:1.45;color:#756b80}
body.inner .profile-element-arrow{margin-left:auto;color:#ad7b0c;font-weight:800}
body.inner #profile-pathways,body.inner #profile-ratings,body.inner #profile-feedback,body.inner #profile-method{scroll-margin-top:110px}
@media(max-width:700px){body.inner .profile-elements{grid-template-columns:1fr 1fr;gap:9px}body.inner .profile-element{padding:10px;gap:9px;align-items:flex-start}body.inner .profile-element-tile{width:44px;height:50px}body.inner .profile-element-tile strong{font-size:23px}body.inner .profile-element-copy b{font-size:11px}body.inner .profile-element-copy small{font-size:10px}body.inner .profile-element-arrow{display:none}}
@media(max-width:420px){body.inner .profile-elements{grid-template-columns:1fr}}

/* Club Finder: shared periodic-table dimensions, without changing rating weights. */
body.inner .finder-dimensions{margin:0 0 25px;display:grid;gap:13px}
body.inner .finder-dimensions-intro{display:flex;align-items:baseline;gap:17px;flex-wrap:wrap}
body.inner .finder-dimensions-intro p{font-size:12px;color:#6f6678;margin:0}
body.inner .finder-dimension-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
body.inner .finder-dimension{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5dfe8;border-radius:11px;padding:11px;min-width:0}
body.inner .finder-dimension-tile{position:relative;width:46px;height:51px;display:grid;place-items:center;flex:none;border:1.5px solid #d5a536;border-radius:6px}
body.inner .finder-dimension-tile small{position:absolute;top:2px;left:5px;font-size:8px;color:#9c6b09}
body.inner .finder-dimension-tile strong{font-size:24px;font-weight:900;letter-spacing:-.07em;color:#251149}
body.inner .finder-dimension>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
body.inner .finder-dimension b{font-size:11px;line-height:1.25;color:#281449}
body.inner .finder-dimension>span:last-child small{font-size:10px;line-height:1.35;color:#736a7e}
@media(max-width:1050px){body.inner .finder-dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.inner .finder-dimension-grid{grid-template-columns:1fr 1fr;gap:7px}body.inner .finder-dimension{padding:8px;gap:7px}body.inner .finder-dimension-tile{width:37px;height:43px}body.inner .finder-dimension-tile strong{font-size:20px}body.inner .finder-dimension b{font-size:10px}}
@media(max-width:380px){body.inner .finder-dimension-grid{grid-template-columns:1fr}}

/* Club profile: each periodic element heads its actual content section. */
body.inner .profile-section-heading{display:flex;align-items:center;gap:19px;padding-bottom:19px;border-bottom:1px solid #e7dfe8}
body.inner .profile-section-symbol{width:75px;height:82px;flex:none;display:grid;place-items:center;position:relative;border:2px solid #d4a536;border-radius:9px;background:#fff;color:#26134c}
body.inner .profile-section-symbol small{position:absolute;top:6px;left:9px;font-size:10px;font-weight:800;color:#a67509}
body.inner .profile-section-symbol strong{font-size:39px;line-height:1;font-weight:900;letter-spacing:-.075em}
body.inner .profile-section-kicker{font-size:10px;font-weight:800;letter-spacing:.15em;color:#a7760d}
body.inner .profile-section-heading h2{margin:4px 0;font-size:clamp(26px,3vw,36px)}
body.inner .profile-section-heading p{font-size:13px;color:#6e657a;margin:0}
body.inner .block>div>h3{font-size:22px;letter-spacing:-.025em}
@media(max-width:600px){body.inner .profile-section-heading{gap:12px}body.inner .profile-section-symbol{width:59px;height:66px}body.inner .profile-section-symbol strong{font-size:31px}body.inner .profile-section-heading h2{font-size:25px}}
