/* Giving Guitars — Building the Next Chapter V8
   Recast in the exact visual language of the event page rather than the supplied rendering. */
.next-chapter-page { background:var(--paper-light); font-size:17px; }
.next-chapter-page main { overflow:hidden; }

.nc-hero { position:relative; min-height:760px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); align-items:center; overflow:hidden; background:var(--paper); border-bottom:6px solid var(--ink); }
.nc-hero::before { content:"";position:absolute;inset:0 43% 0 0;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:.3; }
.nc-photo { position:absolute; inset:0 0 0 45%; overflow:hidden; clip-path:polygon(16% 0,100% 0,100% 100%,0 100%); background:var(--ink); }
.nc-photo img { width:100%; height:100%; object-fit:cover; filter:grayscale(.55) sepia(.30) contrast(1.18) brightness(.64); }
.nc-photo::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,20,.80),rgba(23,21,20,.18) 42%,rgba(23,21,20,.62)),linear-gradient(0deg,rgba(23,21,20,.45),transparent 45%); }
.nc-copy { position:relative; z-index:3; max-width:850px; padding:90px clamp(28px,5vw,78px); }
.nc-copy h1 { margin:0; display:grid; width:min-content; font:400 clamp(70px,8.4vw,138px)/.8 var(--display); text-transform:uppercase; letter-spacing:-.02em; }
.nc-copy h1 span{color:var(--ink)}.nc-copy h1 em{font-style:normal;color:var(--gold);white-space:nowrap}.nc-copy h1 em:last-child{color:var(--blue)}
.nc-copy > p:not(.eyebrow){max-width:690px;margin:24px 0 0;font-size:clamp(17px,1.35vw,21px);line-height:1.7;font-weight:500}
.nc-copy > strong { display:block; font:800 clamp(24px,2.4vw,36px)/1 var(--condensed); text-transform:uppercase; }
.nc-rule { display:flex;align-items:center;gap:12px;width:min(560px,90%);margin:24px 0 18px;color:var(--charcoal)}.nc-rule span{height:3px;flex:1;background:var(--charcoal)}.nc-rule b{font-size:22px}
.nc-quote { position:relative; z-index:4; align-self:end; justify-self:end; width:min(450px,88%); margin:0 clamp(28px,5vw,72px) 64px 0; padding:32px; background:rgba(23,21,20,.95); color:var(--paper-light); border:1px solid rgba(234,223,207,.3); border-top:5px solid var(--gold); box-shadow:var(--shadow); }
.nc-quote > span { display:block;color:var(--gold);font:400 88px/.55 Georgia,serif; }
.nc-quote p { margin:20px 0 24px; font:800 clamp(30px,2.7vw,44px)/1.03 var(--condensed); letter-spacing:.015em; }
.nc-quote cite { display:grid; gap:4px; font-style:normal; border-top:1px solid rgba(255,255,255,.18); padding-top:18px; }
.nc-quote cite b { color:var(--gold); font:800 21px/1 var(--condensed); letter-spacing:.05em; }
.nc-quote cite small { font-size:15px; color:rgba(234,223,207,.78); }

.nc-objectives,.nc-impact { padding:clamp(82px,8vw,128px) clamp(22px,5vw,76px); }
.nc-objectives{background:var(--paper-light)}.nc-impact{background:var(--paper)}
.nc-section-head{max-width:960px;margin-bottom:50px}.nc-section-head h2,.nc-actions h2{margin:0;font:400 clamp(58px,7.2vw,108px)/.87 var(--display);letter-spacing:-.02em;text-transform:uppercase}.nc-section-head h2 em,.nc-actions h2 em{font-style:normal;color:var(--gold)}.nc-section-head>p:last-child{max-width:760px;margin:18px 0 0;font-size:18px;line-height:1.7}
.nc-grid { max-width:1500px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nc-card { --accent:var(--gold); position:relative; display:flex; flex-direction:column; min-width:0; background:#f5efe6; border:1px solid rgba(23,21,20,.22); border-top:8px solid var(--accent); overflow:hidden; box-shadow:0 10px 30px rgba(23,21,20,.06); }
.nc-blue{--accent:var(--blue)}.nc-olive{--accent:var(--olive)}.nc-burgundy{--accent:#713634}
.nc-number { position:absolute; z-index:3; top:16px; left:18px; min-width:60px; height:60px; display:grid; place-items:center; background:var(--accent); color:#fff; font:400 30px/1 var(--display); box-shadow:0 5px 18px rgba(0,0,0,.2); }
.nc-image { height:245px; background:var(--ink); overflow:hidden; }
.nc-image img { width:100%;height:100%;object-fit:cover;filter:saturate(.72) sepia(.12) contrast(1.06);transition:transform .35s ease; }
.nc-card:hover .nc-image img{transform:scale(1.035)}
.nc-card-copy { display:flex;flex-direction:column;flex:1;padding:27px 28px 28px; }
.nc-label { color:var(--accent);font:800 15px/1 var(--condensed);letter-spacing:.15em; }
.nc-card h3 { margin:12px 0 15px;font:400 clamp(38px,3vw,52px)/.91 var(--display);letter-spacing:-.01em; }
.nc-money { margin-bottom:18px;padding-bottom:16px;border-bottom:2px solid color-mix(in srgb,var(--accent) 45%,transparent);font:800 clamp(38px,3vw,52px)/1 var(--condensed);color:var(--accent); }.nc-money small{font-size:.48em;letter-spacing:.06em}
.nc-card p { margin:0 0 24px;font-size:16px;line-height:1.62; }
.nc-card a { margin-top:auto;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:15px 18px;background:var(--ink);color:var(--paper-light);text-decoration:none;font:800 16px/1 var(--condensed);letter-spacing:.08em; }.nc-card a:hover{background:var(--accent)}
.anchor-target{position:absolute;top:-100px}

.nc-total { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:0; align-items:stretch; background:var(--ink); color:var(--paper-light); border-top:6px solid var(--gold); }
.nc-total > div { padding:42px clamp(24px,4vw,60px); border-right:1px solid rgba(255,255,255,.14); }
.nc-total span { display:block;color:var(--gold);font:800 16px/1.15 var(--condensed);letter-spacing:.12em; }.nc-total strong{display:block;margin-top:10px;font:400 clamp(48px,5vw,76px)/.9 var(--display)}
.nc-total > p { grid-column:1/-1;margin:0;padding:22px clamp(24px,4vw,60px);background:#282423;color:rgba(234,223,207,.82);font-size:16px;line-height:1.65; }

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

.nc-actions { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:44px;padding:70px clamp(26px,6vw,92px);background:var(--blue);color:var(--paper-light); }.nc-actions>div>span{color:var(--gold);font:800 16px/1 var(--condensed);letter-spacing:.15em}.nc-actions h2{margin-top:10px;font-size:clamp(52px,6vw,90px)}.nc-actions p{max-width:720px;margin:18px 0 0;font-size:18px;line-height:1.65}.nc-action-buttons{display:grid;gap:14px;min-width:330px}.nc-dark-button{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--ink);color:var(--paper-light);text-decoration:none;font:800 17px/1 var(--condensed);letter-spacing:.08em}.nc-dark-button span{color:var(--gold);font-size:24px}

@media(max-width:1180px){.nc-hero{grid-template-columns:1fr;min-height:760px}.nc-photo{inset:0 0 0 38%;opacity:.63}.nc-quote{align-self:end;margin:0 32px 42px auto}.nc-grid{grid-template-columns:repeat(2,1fr)}.nc-total{grid-template-columns:1fr 1fr}.nc-total>div:first-child{grid-column:1/-1}.nc-impact-grid{grid-template-columns:repeat(2,1fr)}.nc-actions{grid-template-columns:1fr}.nc-action-buttons{min-width:0;width:min(100%,520px)}}
@media(max-width:760px){.nc-hero{min-height:auto;display:block;padding-bottom:34px}.nc-photo{inset:0;clip-path:none;opacity:.24}.nc-copy{padding:70px 22px 36px}.nc-copy h1 em{white-space:normal}.nc-quote{width:calc(100% - 44px);margin:0 auto}.nc-grid{grid-template-columns:1fr}.nc-image{height:230px}.nc-total{grid-template-columns:1fr}.nc-total>div:first-child{grid-column:auto}.nc-impact-grid{grid-template-columns:1fr}.nc-impact-grid>div{border-right:0;border-bottom:1px solid var(--line)}.nc-actions{padding-left:22px;padding-right:22px}}

/* V8 review refinements */
.nc-copy h1 { font-size: clamp(62px,6.2vw,94px); }
.nc-card h3 { font-size: clamp(35px,2.65vw,46px); }
