/* Giving Guitars Sponsorship — V8
   Deliberately inherits the event site's poster system: Anton display,
   Barlow Condensed labels, cream paper, black/navy, gold, olive, blue and burgundy. */

.sponsorship-page { background: var(--paper-light); font-size: 17px; }
.sponsorship-page main { overflow: hidden; }
.sponsorship-page .site-header { background: rgba(23,21,20,.97); }

.sp-hero {
  position: relative;
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr);
  align-items: center;
  overflow: hidden;
  background: var(--paper);
  border-bottom: 6px solid var(--ink);
}
.sp-hero::before {
  content:""; position:absolute; inset:0 43% 0 0; pointer-events:none;
  background: linear-gradient(90deg,rgba(23,21,20,.08) 1px,transparent 1px),linear-gradient(rgba(23,21,20,.055) 1px,transparent 1px);
  background-size: 48px 48px; opacity:.28;
}
.sp-photo { position:absolute; inset:0 0 0 46%; overflow:hidden; clip-path:polygon(16% 0,100% 0,100% 100%,0 100%); background:var(--ink); }
.sp-photo img { height:100%; object-fit:cover; filter:grayscale(.62) sepia(.3) contrast(1.14) brightness(.66); }
.sp-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,21,20,.72),rgba(23,21,20,.23) 40%,rgba(23,21,20,.66)),linear-gradient(0deg,rgba(23,21,20,.42),transparent 45%); }
.sp-hero-copy { position:relative; z-index:3; max-width:850px; padding:90px clamp(28px,5vw,78px); }
.sp-hero-copy h1 { margin:0; display:grid; width:min-content; text-transform:uppercase; font:400 clamp(78px,9vw,150px)/.8 var(--display); letter-spacing:-.02em; }
.sp-hero-copy h1 span { color:var(--ink); }
.sp-hero-copy h1 em { font-style:normal; color:var(--gold); white-space:nowrap; }
.sp-lede { max-width:700px; margin:25px 0 0; font-size:clamp(17px,1.35vw,21px); line-height:1.7; font-weight:500; }
.sp-hero-actions { margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; }
.sp-link { text-decoration:none; font:800 17px/1 var(--condensed); letter-spacing:.08em; }
.sp-link span { color:var(--gold); font-size:24px; margin-left:7px; }

.sp-ticket { position:relative; z-index:4; justify-self:end; align-self:end; width:min(430px,88%); margin:0 clamp(28px,5vw,72px) 64px 0; padding:28px 30px 30px; color:var(--paper-light); background:rgba(23,21,20,.94); border:1px solid rgba(234,223,207,.30); border-top:5px solid var(--gold); box-shadow:var(--shadow); }
.sp-ticket-label { display:block; margin-bottom:17px; color:var(--gold); font:800 16px/1 var(--condensed); letter-spacing:.16em; }
.sp-ticket strong { display:block; font:400 clamp(37px,3vw,52px)/.94 var(--display); letter-spacing:.01em; }
.sp-ticket-rule { height:1px; background:rgba(255,255,255,.2); margin:20px 0; }
.sp-ticket p { margin:0; font:800 20px/1.4 var(--condensed); letter-spacing:.04em; }
.sp-ticket small { display:block; margin-top:16px; font-size:15px; line-height:1.6; color:rgba(234,223,207,.8); }
.sp-ticket a { display:inline-block; margin-top:22px; color:var(--gold); text-decoration:none; font:800 16px/1 var(--condensed); letter-spacing:.08em; }

.sp-purpose-band { display:grid; grid-template-columns:repeat(4,1fr); background:var(--ink); color:var(--paper-light); }
.sp-purpose-band > div { min-height:122px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:16px; padding:24px clamp(18px,2.6vw,38px); border-right:1px solid rgba(255,255,255,.13); }
.sp-purpose-band > div:nth-child(2){background:#44483a}.sp-purpose-band > div:nth-child(3){background:var(--blue)}.sp-purpose-band > div:nth-child(4){background:#282423}
.sp-purpose-band span { color:var(--gold); font:800 16px/1 var(--condensed); letter-spacing:.1em; }
.sp-purpose-band strong { font:800 clamp(20px,1.7vw,27px)/1.05 var(--condensed); letter-spacing:.04em; }

.sp-packages,.sp-benefits { padding:clamp(82px,8vw,128px) clamp(22px,5vw,76px); }
.sp-packages { background:var(--paper-light); }
.sp-section-head { max-width:960px; margin-bottom:50px; }
.sp-section-head h2,.sp-form-intro h2,.sp-impact-title h2,.sp-final h2 { margin:0; font:400 clamp(58px,7.2vw,108px)/.87 var(--display); letter-spacing:-.02em; text-transform:uppercase; }
.sp-section-head h2 em,.sp-form-intro h2 em,.sp-impact-title h2 em,.sp-final h2 em { font-style:normal; color:var(--gold); }
.sp-section-head > p:last-child { max-width:760px; margin:18px 0 0; font-size:18px; line-height:1.7; }

.sp-package-grid { max-width:1560px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.sp-package { --accent:var(--gold); position:relative; display:flex; flex-direction:column; min-width:0; padding:30px 30px 28px; background:rgba(245,239,230,.78); border:1px solid rgba(23,21,20,.23); border-top:8px solid var(--accent); box-shadow:0 10px 30px rgba(23,21,20,.06); }
.sp-package.sp-blue{--accent:var(--blue)}.sp-package.sp-olive{--accent:var(--olive)}.sp-package.sp-burgundy{--accent:#713634}.sp-package.sp-ink{--accent:var(--ink)}
.sp-package-top { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:30px; }
.sp-package-top span { font:400 54px/.8 var(--display); color:var(--accent); }
.sp-package-top b { font:800 15px/1 var(--condensed); letter-spacing:.14em; color:var(--accent); }
.sp-package h3 { margin:0; font:400 clamp(44px,3.6vw,62px)/.9 var(--display); letter-spacing:-.01em; }
.sp-price { margin:18px 0 20px; padding-bottom:18px; border-bottom:2px solid color-mix(in srgb,var(--accent) 45%,transparent); font:800 clamp(38px,3vw,52px)/1 var(--condensed); color:var(--accent); }
.sp-includes { margin:0 0 14px; color:var(--charcoal); font:700 15px/1.45 var(--body); }
.sp-package ul { list-style:none; margin:0 0 28px; padding:0; display:grid; gap:13px; }
.sp-package li { position:relative; padding-left:24px; font-size:16px; line-height:1.52; }
.sp-package li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--accent); font-weight:900; }
.sp-package > a { margin-top:auto; min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; background:var(--ink); color:var(--paper-light); text-decoration:none; font:800 16px/1 var(--condensed); letter-spacing:.08em; transition:.2s ease; }
.sp-package > a span { color:var(--gold); font-size:24px; }
.sp-package > a:hover { background:var(--accent); color:#fff; transform:translateY(-2px); }

.sp-benefits { background:var(--paper); border-top:1px solid var(--line); }
.sp-benefit-grid { max-width:1320px; display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:4px solid var(--ink); border-bottom:1px solid var(--line); }
.sp-benefit-grid > div { padding:30px 28px 34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.sp-benefit-grid > div:nth-child(3n){border-right:0}
.sp-benefit-grid span { color:var(--gold); font:800 16px/1 var(--condensed); letter-spacing:.14em; }
.sp-benefit-grid h3 { margin:12px 0 9px; font:400 34px/.95 var(--display); }
.sp-benefit-grid p { margin:0; font-size:16px; line-height:1.6; }

.sp-form-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr); gap:clamp(40px,6vw,90px); padding:clamp(80px,8vw,120px) clamp(22px,6vw,92px); background:var(--ink); color:var(--paper-light); }
.sp-form-intro { max-width:680px; }
.sp-form-intro > p:not(.eyebrow) { max-width:600px; margin:24px 0 0; font-size:18px; line-height:1.7; color:rgba(234,223,207,.85); }
.sp-form-direct { display:grid; gap:10px; margin-top:30px; }
.sp-form-direct a { color:var(--gold); text-decoration:none; font:800 clamp(21px,1.8vw,28px)/1.1 var(--condensed); letter-spacing:.04em; }
.sp-form { align-self:start; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; padding:32px; background:var(--paper-light); color:var(--ink); box-shadow:0 26px 70px rgba(0,0,0,.28); }
.sp-field { display:grid; gap:9px; }
.sp-field-full { grid-column:1/-1; }
.sp-field label { font:800 15px/1 var(--condensed); letter-spacing:.14em; }
.sp-field input,.sp-field textarea { width:100%; border:1px solid rgba(23,21,20,.35); border-radius:0; background:#f5efe6; color:var(--ink); padding:15px 16px; font:500 17px/1.35 var(--body); outline:none; }
.sp-field input { height:54px; }
.sp-field textarea { resize:vertical; min-height:140px; }
.sp-field input:focus,.sp-field textarea:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(167,123,53,.18); }
.custom-select { position:relative; }
.custom-select-trigger { width:100%; height:56px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px; border:1px solid rgba(23,21,20,.35); border-radius:0; background:#f5efe6; color:var(--ink); text-align:left; cursor:pointer; font:600 17px/1 var(--body); }
.custom-select-trigger b { color:var(--gold); font-size:24px; transition:transform .2s ease; }
.custom-select.open .custom-select-trigger b { transform:rotate(180deg); }
.custom-select-menu { position:absolute; z-index:20; top:calc(100% + 6px); left:0; right:0; display:none; max-height:330px; overflow:auto; border:1px solid var(--ink); background:var(--paper-light); box-shadow:0 18px 40px rgba(23,21,20,.2); }
.custom-select.open .custom-select-menu { display:grid; }
.custom-select-menu button { min-height:50px; padding:12px 16px; border:0; border-bottom:1px solid rgba(23,21,20,.15); background:transparent; color:var(--ink); text-align:left; cursor:pointer; font:700 16px/1.25 var(--body); }
.custom-select-menu button:hover,.custom-select-menu button[aria-selected="true"] { background:var(--gold); color:var(--ink); }
.sp-submit { grid-column:1/-1; min-height:60px; border:0; border-radius:0; padding:16px 20px; display:flex; align-items:center; justify-content:center; gap:18px; background:var(--gold); color:var(--ink); cursor:pointer; font:800 18px/1 var(--condensed); letter-spacing:.1em; }
.sp-submit span { font-size:24px; }

.sp-impact { padding:clamp(80px,8vw,118px) clamp(22px,5vw,76px); background:var(--paper-light); }
.sp-impact-title { max-width:920px; margin-bottom:48px; }
.sp-impact-grid { max-width:1320px; display:grid; grid-template-columns:repeat(5,1fr); border-top:4px solid var(--ink); border-bottom:4px solid var(--ink); }
.sp-impact-grid > div { padding:30px 18px; text-align:center; border-right:1px solid var(--line); }
.sp-impact-grid > div:last-child{border-right:0}
.sp-impact-grid strong { display:block; font:400 clamp(44px,4vw,68px)/.9 var(--display); color:var(--gold); }
.sp-impact-grid span { display:block; margin-top:10px; font:800 16px/1.15 var(--condensed); letter-spacing:.08em; }

.sp-final { display:grid; grid-template-columns:1fr auto; align-items:center; gap:34px; padding:55px clamp(26px,6vw,90px); background:var(--blue); color:var(--paper-light); }
.sp-final > div > span { color:var(--gold); font:800 16px/1 var(--condensed); letter-spacing:.15em; }
.sp-final h2 { margin-top:10px; font-size:clamp(46px,5.5vw,82px); }

@media (min-width:1600px){ .sp-package-grid{grid-template-columns:repeat(5,1fr)} .sp-package{padding:26px 22px 24px}.sp-package h3{font-size:clamp(38px,2.5vw,50px)}.sp-package li{font-size:15px} }
@media (max-width:1120px){
  .sp-hero{grid-template-columns:1fr;min-height:760px}.sp-photo{inset:0 0 0 38%;opacity:.62}.sp-ticket{align-self:end;margin:0 32px 42px auto}
  .sp-package-grid{grid-template-columns:repeat(2,1fr)} .sp-form-section{grid-template-columns:1fr}.sp-form-intro{max-width:850px}.sp-impact-grid{grid-template-columns:repeat(3,1fr)}.sp-impact-grid>div{border-bottom:1px solid var(--line)}
}
@media (max-width:760px){
  .sp-hero{min-height:auto;display:block;padding-bottom:34px}.sp-photo{inset:0;clip-path:none;opacity:.24}.sp-hero-copy{padding:70px 22px 36px}.sp-hero-copy h1 em{white-space:normal}.sp-ticket{width:calc(100% - 44px);margin:0 auto;justify-self:auto}.sp-purpose-band{grid-template-columns:repeat(2,1fr)}.sp-purpose-band>div{min-height:110px}.sp-package-grid{grid-template-columns:1fr}.sp-benefit-grid{grid-template-columns:1fr}.sp-benefit-grid>div{border-right:0}.sp-form{grid-template-columns:1fr;padding:24px 20px}.sp-field-full{grid-column:auto}.sp-submit{grid-column:auto}.sp-impact-grid{grid-template-columns:repeat(2,1fr)}.sp-final{grid-template-columns:1fr}.sp-final .button{justify-self:start}
}
@media (max-width:480px){ .sp-purpose-band{grid-template-columns:1fr}.sp-impact-grid{grid-template-columns:1fr}.sp-impact-grid>div{border-right:0}.sp-ticket strong{font-size:36px}.sp-package{padding:26px 22px} }

/* V8 review refinements */
.sp-hero-copy h1 { font-size: clamp(74px,7.5vw,122px); }
.sp-form-intro h2 { font-size: clamp(54px,5.1vw,78px); }

/* V8.1 cross-page/event links */
.sp-ticket .sp-auction-link { margin-top: 9px; color: var(--gold); }
.sp-hero-actions { flex-wrap: wrap; }
