/* Nicholle.org • Voice. Vision. Impact. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root {
  --ink:#090b0e;
  --onyx:#12151a;
  --charcoal:#1b1d22;
  --gold:#d6ac66;
  --gold-dark:#ad7c37;
  --cream:#f6f2e9;
  --ivory:#fffcf5;
  --muted:#bdb8b0;
  --text:#292a2c;
  --line:rgba(214,172,102,.35);
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
[id] { scroll-margin-top:100px; }
body { margin:0; background:var(--cream); color:var(--text); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a:focus-visible, button:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.skip-link { position:absolute; left:-999px; top:8px; z-index:100; background:white; color:black; padding:12px; }
.skip-link:focus { left:12px; }
.announcement { background:#caa36a; color:#111; text-align:center; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; padding:9px 16px; }
.announcement a { text-decoration:underline; text-underline-offset:3px; }
[data-site-header] { position:sticky; top:-29px; z-index:40; }
.site-header { position:relative; background:rgba(9,11,14,.97); color:#f7f0e7; border-bottom:1px solid rgba(255,255,255,.09); backdrop-filter:blur(14px); }
.header-inner { max-width:1440px; padding:0 4.3vw; margin:auto; display:flex; align-items:center; justify-content:space-between; height:85px; gap:24px; }
.wordmark { display:flex; flex-direction:column; line-height:1; min-width:178px; }
.wordmark-main { font-family:var(--serif); text-transform:uppercase; font-weight:600; font-size:24px; letter-spacing:.14em; }
.wordmark-sub { color:var(--gold); text-transform:uppercase; font-size:9px; letter-spacing:.48em; margin-top:8px; }
.nav-links { display:flex; align-items:center; gap:clamp(15px,2.2vw,35px); }
.nav-links a { font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#e1d9cd; font-weight:600; padding:10px 0; transition:color .2s; white-space:nowrap; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:var(--gold); }
.nav-links .nav-contact { border:1px solid var(--gold); padding:13px 18px; color:var(--gold); }
.menu-toggle { display:none; color:var(--cream); background:none; border:1px solid rgba(255,255,255,.3); width:44px; height:42px; align-items:center; justify-content:center; font-size:20px; }
.container { width:min(1190px,88vw); margin:0 auto; }
.wide-container { width:min(1360px,92vw); margin:0 auto; }
.eyebrow { color:var(--gold-dark); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.26em; margin:0 0 23px; }
.eyebrow.light { color:var(--gold); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.serif { font-family:var(--serif); font-weight:400; }
h1 { font-size:clamp(48px,6vw,91px); line-height:1.12; letter-spacing:-.035em; }
h2 { font-size:clamp(36px,4.5vw,65px); line-height:1.16; letter-spacing:-.026em; }
h3 { font-size:clamp(24px,2.6vw,37px); line-height:1.2; }
p { line-height:1.85; }
.lead { font-size:clamp(16px,1.5vw,19px); line-height:1.85; }
.small { font-size:13px; line-height:1.8; }
.text-gold { color:var(--gold); }
.dark-section { background:var(--ink); color:var(--cream); }
.cream-section { background:var(--cream); }
.ivory-section { background:var(--ivory); }
.charcoal-section { background:var(--charcoal); color:var(--cream); }
.section-pad { padding:clamp(76px,9vw,150px) 0; }
.section-pad-sm { padding:clamp(54px,6vw,90px) 0; }
.rule { height:1px; background:var(--line); width:100%; }
.gold-rule { width:72px; height:2px; background:var(--gold); margin:24px 0 32px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:49px; padding:14px 24px; font-size:10px; letter-spacing:.17em; text-transform:uppercase; font-weight:700; border:1px solid transparent; transition:background .2s,transform .2s,border-color .2s,color .2s; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { background:var(--gold); color:#16130e; }
.btn-gold:hover { background:#eac38a; }
.btn-outline { border-color:rgba(255,255,255,.55); color:#fff; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-ink { background:var(--ink); color:#fff; }
.btn-ink:hover { background:#363132; }
.btn-quiet { border-bottom:1px solid var(--gold-dark); padding:0 0 7px; min-height:auto; letter-spacing:.14em; color:var(--gold-dark); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin-top:34px; }
.home-hero { position:relative; background:var(--ink); color:var(--cream); overflow:hidden; }
.home-hero::before { content:""; position:absolute; width:48vw; height:48vw; border:1px solid rgba(214,172,102,.13); border-radius:50%; left:-20vw; bottom:-38vw; pointer-events:none; }
.hero-grid { max-width:1440px; margin:auto; padding:80px 4.3vw 0; display:grid; grid-template-columns:1.05fr .95fr; min-height:690px; gap:5vw; align-items:end; }
.hero-copy { align-self:center; padding-bottom:65px; position:relative; z-index:1; }
.hero-copy h1 { max-width:710px; margin-bottom:28px; }
.hero-copy h1 em { font-style:italic; color:var(--gold); }
.hero-copy .lead { max-width:560px; color:#d9d1c7; }
.hero-photo-frame { height:min(650px,60vw); min-height:520px; overflow:hidden; position:relative; border-top:1px solid rgba(214,172,102,.5); border-left:1px solid rgba(214,172,102,.5); padding:14px 0 0 14px; }
.hero-photo-frame img { width:100%; height:100%; object-fit:cover; object-position:center 17%; filter:contrast(1.04) saturate(.92); }
.hero-photo-frame::after { content:""; position:absolute; inset:14px 0 0 14px; background:linear-gradient(0deg,rgba(7,8,10,.25),transparent 40%); pointer-events:none; }
.hero-caption { position:absolute; right:13px; bottom:16px; background:rgba(9,11,14,.75); padding:10px 15px; font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:#e9ddcc; z-index:1; }
.credibility-strip { background:#191719; color:#fff; border-top:1px solid rgba(255,255,255,.08); }
.credibility-inner { padding:25px 0; display:flex; gap:25px; justify-content:space-between; align-items:center; }
.credibility-inner div { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.18em; color:#e0d5c3; }
.credibility-inner b { color:var(--gold); font-family:var(--serif); font-weight:400; font-size:21px; margin-right:12px; vertical-align:middle; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,120px); align-items:center; }
.split.large-left { grid-template-columns:1.15fr .85fr; }
.split.large-right { grid-template-columns:.85fr 1.15fr; }
.copy-width { max-width:600px; }
.copy-width p { color:#615d58; }
.dark-section .copy-width p,.charcoal-section .copy-width p { color:#c6c1bb; }
.quote-big { font-family:var(--serif); font-size:clamp(34px,4.2vw,60px); line-height:1.4; letter-spacing:-.035em; }
.photo-wrap { overflow:hidden; position:relative; }
.photo-wrap img { width:100%; height:100%; object-fit:cover; }
.photo-tall { height:570px; }
.photo-mid { height:410px; }
.photo-wide { height:420px; }
.photo-framed { padding:14px; border:1px solid var(--line); }
.event-feature { position:relative; overflow:hidden; background:#111; }
.event-feature::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,11,14,.97) 0%,rgba(9,11,14,.88) 46%,rgba(9,11,14,.18) 100%),url("mayday-backpack.webp") center/cover no-repeat; }
.event-feature .container { position:relative; padding:105px 0; }
.event-feature h2 { max-width:670px; }
.event-feature p { max-width:630px; color:#d7d0c4; }
.event-meta { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.sequence { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); margin-top:50px; }
.sequence div { padding:24px 18px 15px; border-right:1px solid var(--line); }
.sequence div:first-child { padding-left:0; }
.sequence div:last-child { border-right:0; }
.sequence span { display:block; color:var(--gold); font-size:10px; letter-spacing:.24em; margin-bottom:10px; }
.sequence strong { display:block; font-family:var(--serif); font-size:23px; font-weight:400; }
.editorial-list { border-top:1px solid rgba(0,0,0,.15); margin-top:30px; }
.editorial-list a,.editorial-list .editorial-row { display:grid; grid-template-columns:100px 1fr auto; gap:25px; padding:24px 0; border-bottom:1px solid rgba(0,0,0,.15); align-items:baseline; }
.editorial-list .number { color:var(--gold-dark); font-size:12px; font-weight:700; letter-spacing:.13em; }
.editorial-list .name { font-family:var(--serif); font-size:clamp(22px,2.5vw,34px); }
.editorial-list .detail { font-size:12px; color:#6c675f; max-width:330px; }
.editorial-list a:hover .name { color:var(--gold-dark); }
.image-banner { width:100%; overflow:hidden; background:#ddd; }
.image-banner img { width:100%; height:auto; }
.feature-caption { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.statement { text-align:center; max-width:950px; margin:auto; }
.statement p { max-width:730px; margin:0 auto 34px; }
.footer-cta { padding:105px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.footer-cta h2 { max-width:900px; font-size:clamp(42px,5.2vw,77px); }
.site-footer { background:#090b0e; color:#e8e3d9; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr .9fr; gap:40px; padding:58px 0 45px; }
.footer-grid h4 { color:var(--gold); font-size:10px; letter-spacing:.22em; text-transform:uppercase; margin:0 0 18px; }
.footer-grid p,.footer-grid a { color:#b9b5ad; font-size:13px; line-height:2; }
.footer-grid a:hover { color:var(--gold); }
.footer-links { display:flex; flex-direction:column; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:22px 0 32px; display:flex; justify-content:space-between; gap:20px; color:#888782; font-size:11px; }
.page-hero { background:#0c0e12; color:var(--cream); padding:clamp(85px,10vw,155px) 0 clamp(75px,9vw,125px); position:relative; overflow:hidden; }
.page-hero::before { content:""; position:absolute; width:550px; height:550px; border-radius:50%; border:1px solid rgba(214,172,102,.13); right:-210px; top:-280px; }
.page-hero h1 { max-width:960px; margin-bottom:27px; }
.page-hero p:not(.eyebrow) { color:#cfc8be; max-width:800px; font-size:17px; }
.page-hero.with-image { background-size:cover; background-position:center; }
.page-hero.with-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,11,14,.97),rgba(9,11,14,.8) 55%,rgba(9,11,14,.3)); }
.page-hero.with-image .container { position:relative; z-index:1; }
.inline-meta { display:flex; flex-wrap:wrap; gap:12px 30px; color:var(--gold); font-size:11px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.vertical-line { width:1px; height:70px; background:var(--gold); margin-bottom:30px; }
.bio-photo { max-height:665px; width:100%; object-fit:cover; object-position:center 16%; }
.bio-points { display:grid; grid-template-columns:repeat(3,1fr); gap:55px; border-top:1px solid var(--line); margin-top:55px; padding-top:34px; }
.bio-points h3 { font-size:24px; }
.bio-points p { color:#736e65; font-size:13px; }
.milestone { display:grid; grid-template-columns:190px 1fr; gap:40px; border-top:1px solid rgba(255,255,255,.18); padding:26px 0; }
.milestone:last-child { border-bottom:1px solid rgba(255,255,255,.18); }
.milestone .year { font-family:var(--serif); font-size:25px; color:var(--gold); }
.milestone h3 { font-size:24px; margin-bottom:8px; }
.milestone p { font-size:13px; color:#b7b0a7; margin-bottom:0; }
.speaker-highlight { display:grid; grid-template-columns:.8fr 1.2fr; gap:6vw; align-items:center; }
.speaker-highlight img { width:100%; height:500px; object-fit:cover; }
.speaker-highlight .intro { color:var(--gold); font-weight:700; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
.speaker-highlight h2 { font-size:clamp(33px,4vw,56px); }
.outcome-list { list-style:none; margin:33px 0 0; padding:0; }
.outcome-list li { display:flex; gap:18px; padding:16px 0; border-top:1px solid rgba(0,0,0,.16); line-height:1.6; }
.outcome-list li::before { content:"✦"; color:var(--gold-dark); font-size:14px; }
.dark-section .outcome-list li { border-color:rgba(255,255,255,.18); }
.framework-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:6vw; align-items:start; }
.framework-panel { border-top:2px solid var(--gold); padding-top:24px; }
.framework-panel h3 { margin-bottom:28px; }
.framework-panel dl { margin:0; }
.framework-panel dl div { display:grid; grid-template-columns:44px 1fr; gap:12px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.framework-panel dt { color:var(--gold); font-family:var(--serif); font-size:27px; }
.framework-panel dd { margin:0; padding-top:7px; font-size:14px; }
.transform-art { max-height:440px; width:100%; object-fit:cover; border:1px solid var(--line); }
.book-entry { display:grid; grid-template-columns:150px 1fr 1.15fr; gap:6vw; padding:55px 0; border-top:1px solid #d8d0c5; align-items:start; }
.book-entry:last-child { border-bottom:1px solid #d8d0c5; }
.book-num { color:var(--gold-dark); font-size:13px; letter-spacing:.18em; }
.book-title { font-family:var(--serif); font-size:clamp(27px,3.3vw,42px); line-height:1.24; }
.book-entry p { font-size:15px; color:#67625d; }
.book-tag { display:block; margin-top:15px; color:var(--gold-dark); text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; }
.venture-row { display:grid; grid-template-columns:1.05fr .95fr; gap:7vw; padding:90px 0; border-bottom:1px solid #d8d0c5; align-items:center; }
.venture-row:nth-child(even) .venture-photo { order:2; }
.venture-row:nth-child(even) .venture-copy { order:1; }
.venture-photo { min-height:350px; display:flex; align-items:center; justify-content:center; background:#e7e3dc; overflow:hidden; }
.venture-photo img { width:100%; height:380px; object-fit:cover; }
.venture-photo.contain img { object-fit:contain; height:330px; padding:28px; }
.venture-photo.venture-lettering { flex-direction:column; background:radial-gradient(circle at 80% 15%,#3b2e1d,transparent 40%),linear-gradient(135deg,#0a111e,#111215); color:var(--gold); min-height:360px; padding:35px; text-align:center; border:1px solid var(--gold-dark); }
.venture-lettering strong { display:block; font-family:var(--serif); font-size:clamp(34px,4vw,54px); line-height:1.18; letter-spacing:.055em; font-weight:400; }
.venture-lettering span { display:block; width:70px; border-top:1px solid var(--gold); margin:28px auto; }
.venture-lettering small { font-size:10px; letter-spacing:.23em; text-transform:uppercase; color:#e0c291; }
.kkm-feature-art { min-height:500px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; padding:42px; color:var(--ivory); border:1px solid var(--gold-dark); background:radial-gradient(circle at 83% 12%,rgba(214,172,102,.28),transparent 43%),linear-gradient(140deg,#172538 0%,#0b1423 53%,#0a0d12 100%); }
.kkm-feature-art::after { content:"07"; position:absolute; top:-120px; right:-45px; color:rgba(214,172,102,.1); font:400 340px var(--serif); line-height:1; pointer-events:none; }
.kkm-art-eyebrow { position:relative; z-index:1; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.24em; font-weight:700; }
.kkm-art-title { position:relative; z-index:1; font:400 clamp(45px,4.8vw,74px)/1.15 var(--serif); letter-spacing:-.035em; }
.kkm-art-title em { color:var(--gold); }
.kkm-art-footer { position:relative; z-index:1; border-top:1px solid var(--line); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; text-transform:uppercase; font-size:10px; letter-spacing:.14em; }
.kkm-art-footer strong { color:var(--gold); }
.kkm-gallery { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; margin-top:70px; border-top:1px solid #d6c7b2; padding-top:54px; }
.kkm-gallery figure { margin:0; }
.kkm-gallery figure img { width:100%; height:auto; background:white; box-shadow:0 10px 32px rgba(31,27,23,.08); transition:transform .2s; }
.kkm-gallery figure a:hover img { transform:translateY(-3px); }
.kkm-gallery figcaption { margin-top:18px; padding-top:13px; border-top:1px solid #d6c7b2; display:flex; flex-direction:column; gap:8px; }
.kkm-gallery figcaption strong { font-family:var(--serif); font-size:23px; font-weight:400; }
.kkm-gallery figcaption span { color:#6f685f; font-size:13px; line-height:1.65; }
.kkm-gallery figcaption a { color:var(--gold-dark); text-decoration:underline; text-underline-offset:3px; }
.venture-copy h2 { font-size:clamp(32px,3.8vw,50px); }
.venture-copy p { color:#67615b; }
.contact-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:8vw; }
.contact-block { border-top:1px solid #d4c7b3; padding:30px 0; }
.contact-block .eyebrow { margin-bottom:12px; }
.contact-block a { font-family:var(--serif); font-size:clamp(23px,2.8vw,33px); word-break:break-word; }
.contact-block a:hover { color:var(--gold-dark); }
.notice { font-size:12px; line-height:1.65; color:#8e887e; }
.mobile-only { display:none; }
@media (max-width:1100px) {
  .header-inner { height:74px; }
  .nav-links { gap:15px; }
  .nav-links a { font-size:9px; }
  .wordmark { min-width:148px; }
  .wordmark-main { font-size:20px; }
  .hero-grid { gap:3vw; }
  .hero-photo-frame { min-height:480px; }
}
@media (max-width:850px) {
  .menu-toggle { display:flex; }
  .nav-links { display:none; position:absolute; top:74px; left:0; right:0; padding:24px 6vw 30px; background:var(--ink); border-top:1px solid rgba(255,255,255,.1); flex-direction:column; align-items:stretch; gap:3px; }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:12px; padding:13px 5px; }
  .nav-links .nav-contact { display:block; text-align:center; margin-top:12px; }
  .hero-grid { grid-template-columns:1fr 1fr; padding-top:45px; gap:15px; min-height:610px; }
  .hero-copy h1 { font-size:clamp(42px,5.9vw,62px); }
  .hero-photo-frame { height:540px; min-height:0; }
  .credibility-inner { flex-wrap:wrap; justify-content:center; gap:15px 35px; }
  .split,.split.large-left,.split.large-right,.speaker-highlight,.venture-row,.contact-grid { grid-template-columns:1fr; }
  .speaker-highlight img,.photo-tall { height:480px; }
  .venture-row:nth-child(even) .venture-photo { order:0; }
  .venture-row:nth-child(even) .venture-copy { order:0; }
  .bio-points { gap:25px; }
  .book-entry { grid-template-columns:60px 1fr; gap:20px; }
  .book-entry p { grid-column:2; }
}
@media (max-width:620px) {
  .container { width:88vw; }
  .wide-container { width:94vw; }
  .announcement { line-height:1.6; font-size:9px; }
  .hero-grid { display:flex; flex-direction:column; padding:58px 6vw 0; gap:35px; }
  .hero-copy { padding-bottom:0; }
  .hero-copy h1 { font-size:clamp(46px,11vw,65px); }
  .hero-copy .lead { font-size:15px; }
  .hero-photo-frame { align-self:stretch; height:410px; padding-left:10px; padding-top:10px; }
  .hero-photo-frame img { object-position:center 18%; }
  .credibility-inner { justify-content:flex-start; gap:14px 24px; }
  .credibility-inner div { font-size:9px; line-height:1.5; }
  .credibility-inner b { font-size:19px; margin-right:6px; }
  .sequence { grid-template-columns:repeat(2,1fr); }
  .sequence div:nth-child(even) { border-right:0; }
  .sequence div:first-child { padding-left:18px; }
  .sequence div { border-bottom:1px solid var(--line); }
  .editorial-list a,.editorial-list .editorial-row { grid-template-columns:45px 1fr; gap:12px; }
  .editorial-list .detail { grid-column:2; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > :first-child { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; }
  .bio-points,.framework-grid { grid-template-columns:1fr; }
  .milestone { grid-template-columns:85px 1fr; gap:15px; }
  .venture-row { padding:56px 0; }
  .kkm-feature-art { min-height:390px; padding:26px; }
  .kkm-art-title { font-size:clamp(38px,10vw,58px); }
  .kkm-feature-art::after { font-size:240px; top:-60px; }
  .kkm-gallery { grid-template-columns:1fr; gap:44px; margin-top:46px; padding-top:34px; }
  .venture-photo img { height:290px; }
  .venture-photo.contain img { height:290px; }
  .book-entry { grid-template-columns:35px 1fr; }
  .contact-block a { font-size:24px; }
  .mobile-only { display:block; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn { transition:none; }
}
