/* ===== About Patrice — standalone one-pager ===== */
/* Extends tokens/nav/notebook/btn/fonts from style.css with a distinct layout system */

.eyebrow{
  font-family:var(--font-display); font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  font-size:.85rem; color:var(--pink-bold); margin-bottom:.7rem; display:block;
}

/* ---- HERO ---- */
.about-hero-v2{ padding-block: clamp(3rem,7vw,6rem) clamp(4rem,8vw,6rem); }
.about-hero-v2 .wrap{ display:grid; grid-template-columns: 1.15fr 0.85fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.about-hero-v2 h1{ font-size:var(--text-hero); margin-bottom:.4rem; }
.about-hero-v2 .lead-copy{ font-size:var(--text-lg); font-weight:700; text-transform:none; font-family:var(--font-body); max-width:38ch; margin-bottom:1.6rem; }
.stat-pills{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.8rem; }
.stat-pill{ font-family:var(--font-display); font-weight:700; font-size:.75rem; text-transform:uppercase; letter-spacing:.02em; background:var(--white); border:2px solid var(--black); padding:.5em 1em; border-radius:999px; }
.hero-photo-card{ position:relative; }
.hero-photo-card img{ border-radius:26px; box-shadow:0 25px 45px rgba(0,0,0,.2); border:8px solid var(--white); width:100%; }
.hero-photo-card .tape{ top:-16px; left:50%; transform:translateX(-50%) rotate(-3deg); width:100px; }
.location-note{ font-size:.85rem; opacity:.6; margin-top:1.1rem; font-weight:600; }
@media (max-width:860px){
  .about-hero-v2 .wrap{ grid-template-columns:1fr; text-align:center; }
  .about-hero-v2 .lead-copy{ margin-inline:auto; }
  .stat-pills{ justify-content:center; }
  .hero-photo-card{ max-width:340px; margin:0 auto; }
}

/* ---- SPLIT INFO SECTIONS (bio / theme) ---- */
.info-split{ padding-block: clamp(4rem,8vw,6rem); }
.info-split .wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.info-split.img-right .wrap{ grid-template-columns:1.15fr 0.85fr; }
.info-split.img-right .img-box{ order:2; }
.info-split .img-box{ position:relative; }
.info-split .img-box img{ width:100%; border-radius:20px; box-shadow:0 20px 40px rgba(0,0,0,.15); }
.info-split .img-box .corner-tag{
  position:absolute; bottom:-14px; left:20px; background:var(--yellow);
  font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:.72rem;
  padding:.5em 1em; border-radius:999px; box-shadow:3px 4px 0 rgba(0,0,0,.12); transform:rotate(-2deg);
}
.info-split h2{ font-size:var(--text-2xl); margin-bottom:.9rem; max-width:16ch; }
.info-split .body-copy{ font-size:1.05rem; opacity:.85; }
.info-split .pull{ font-family:var(--font-display); font-weight:600; text-transform:none; font-size:var(--text-lg); border-left:5px solid var(--teal-bold); padding-left:1.1rem; margin:1.5rem 0; line-height:1.3; }
.pill-row{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.4rem; }
.pill-row span{ font-family:var(--font-display); font-weight:700; font-size:.72rem; text-transform:uppercase; background:var(--teal); padding:.45em 1em; border-radius:999px; }
@media (max-width:860px){
  .info-split .wrap, .info-split.img-right .wrap{ grid-template-columns:1fr; text-align:center; }
  .info-split.img-right .img-box{ order:0; }
  .info-split .pull{ border-left:none; border-top:4px solid var(--teal-bold); padding-left:0; padding-top:.9rem; }
  .pill-row{ justify-content:center; }
}

/* ---- COMPANION KIT PANEL ---- */
.kit-panel-section{ background:var(--white); }
.kit-panel{ background:var(--paper); border:3px solid var(--black); border-radius:24px; padding:clamp(2rem,4vw,3rem); }
.kit-panel-row{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(2rem,4vw,3rem); align-items:center; }
.kit-panel h2{ font-size:var(--text-2xl); margin-bottom:.5rem; max-width:14ch; }
.kit-panel .kit-lead{ font-size:1.05rem; opacity:.75; font-weight:700; margin-bottom:1rem; }
.kit-check-list{ list-style:none; display:flex; flex-direction:column; gap:1.1rem; }
.kit-check-list li{ display:flex; gap:.9rem; align-items:flex-start; font-weight:700; font-size:1.02rem; }
.kit-check-list li::before{ content:"✓"; flex-shrink:0; width:1.8rem; height:1.8rem; border-radius:50%; background:var(--green-bold); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:.9rem; margin-top:.1rem; }
.kit-panel .kit-badge{ display:inline-block; margin-top:1.6rem; background:var(--black); color:var(--white); font-family:var(--font-display); font-weight:700; text-transform:uppercase; padding:.6em 1.4em; border-radius:999px; font-size:.85rem; }
@media (max-width:860px){ .kit-panel-row{ grid-template-columns:1fr; text-align:center; } .kit-check-list li{ text-align:left; } }

/* ---- AUTHOR VISITS TIMELINE ---- */
.visits-intro{ text-align:center; max-width:56ch; margin:0 auto clamp(2.5rem,5vw,3.5rem); }
.visits-intro h2{ font-size:var(--text-2xl); margin-bottom:.8rem; }
.visits-intro p{ font-size:1.05rem; opacity:.8; }
.timeline{ max-width:720px; margin:0 auto; position:relative; padding-left:3rem; }
.timeline::before{ content:""; position:absolute; left:1.15rem; top:8px; bottom:8px; width:3px; background:var(--rule); }
.timeline-item{ position:relative; margin-bottom:2.3rem; }
.timeline-item:last-child{ margin-bottom:0; }
.timeline-num{
  position:absolute; left:-3rem; top:-2px; width:2.5rem; height:2.5rem; border-radius:50%;
  background:var(--pink-bold); color:var(--white); font-family:var(--font-display); font-weight:700;
  display:flex; align-items:center; justify-content:center; box-shadow:3px 4px 0 rgba(0,0,0,.12);
}
.timeline-item:nth-child(2) .timeline-num{ background:var(--teal-bold); }
.timeline-item:nth-child(3) .timeline-num{ background:var(--yellow-bold); color:var(--black); -webkit-text-stroke:0; }
.timeline-item:nth-child(4) .timeline-num{ background:var(--green-bold); }
.timeline-item h3{ font-size:var(--text-lg); margin-bottom:.35rem; }
.timeline-item p{ opacity:.8; text-transform:none; font-weight:400; font-size:1rem; }
.timeline-bonus{ margin-top:1.8rem; background:var(--yellow); display:inline-flex; padding:.8em 1.5em; border-radius:14px; font-weight:700; font-size:.95rem; box-shadow:3px 4px 0 rgba(0,0,0,.1); }
@media (max-width:600px){ .timeline{ padding-left:2.6rem; } .timeline-num{ left:-2.6rem; width:2.1rem; height:2.1rem; font-size:.85rem; } }

/* ---- VISIT OPTIONS ---- */
.visit-options-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,3vw,2.5rem); }
.visit-option-card{ background:var(--white); border-radius:20px; padding:clamp(1.8rem,3vw,2.4rem); box-shadow:0 15px 30px rgba(0,0,0,.1); border-top:7px solid var(--teal-bold); }
.visit-option-card:nth-child(2){ border-top-color:var(--pink-bold); }
.visit-option-card h3{ font-size:var(--text-xl); margin-bottom:.7rem; }
.visit-option-card p{ opacity:.8; font-size:1rem; text-transform:none; font-weight:400; }
.visit-option-card ul{ list-style:none; margin-top:1rem; display:flex; flex-direction:column; gap:.6rem; }
.visit-option-card li{ font-size:.95rem; font-weight:700; padding-left:1.3rem; position:relative; }
.visit-option-card li::before{ content:"—"; position:absolute; left:0; opacity:.5; }
@media (max-width:760px){ .visit-options-grid{ grid-template-columns:1fr; } }

/* ---- PRICING & PACKAGES ---- */
.pricing-columns{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,3vw,2.5rem); max-width:920px; margin:0 auto; }
.pricing-col-title{ font-size:var(--text-lg); margin-bottom:1rem; text-align:center; }
.price-card{ background:var(--white); border:2px solid var(--black); border-radius:16px; padding:1.1rem 1.4rem; margin-bottom:1rem; box-shadow:4px 5px 0 rgba(0,0,0,.08); }
.price-card.featured{ border-color:var(--pink-bold); background:var(--pink); }
.price-card.addon{ border-style:dashed; background:var(--paper); }
.price-card-top{ display:flex; justify-content:space-between; align-items:center; gap:.6rem; font-family:var(--font-display); font-weight:700; font-size:.92rem; text-transform:uppercase; letter-spacing:.01em; }
.price-card-top .price-tag{ background:var(--yellow); padding:.3em .8em; border-radius:999px; font-size:.85rem; white-space:nowrap; flex-shrink:0; }
.price-card p{ margin-top:.4rem; font-size:.9rem; opacity:.75; font-weight:400; text-transform:none; }
.pricing-notes{ max-width:640px; margin:2.5rem auto 0; text-align:center; }
.pricing-notes p{ font-size:.95rem; opacity:.8; margin-bottom:.6rem; text-transform:none; font-weight:400; }
.pricing-notes .funding-note{ font-size:.85rem; opacity:.6; }
.bulk-callout{ max-width:640px; margin:2.5rem auto 0; text-align:center; background:var(--teal); border-radius:20px; padding:1.8rem 2rem; }
.bulk-callout h3{ font-size:var(--text-lg); margin:.3rem 0 .6rem; }
.bulk-callout p{ font-size:.95rem; opacity:.85; text-transform:none; font-weight:400; }
.urgency-note{ max-width:640px; margin:1.5rem auto 0; text-align:center; }
.urgency-note p{ font-size:.9rem; font-weight:700; opacity:.8; text-transform:none; }
#booking-form-link{ background:var(--yellow); }
@media (max-width:760px){ .pricing-columns{ grid-template-columns:1fr; } }

/* ---- FAQ ---- */
.faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; }
.faq-item{ border-bottom:2px solid var(--rule); padding-bottom:1.3rem; }
.faq-item:last-child{ border-bottom:none; }
.faq-item h4{ font-family:var(--font-display); font-size:1.05rem; margin-bottom:.4rem; }
.faq-item p{ font-size:.95rem; opacity:.8; text-transform:none; font-weight:400; }

/* ---- BOOKING PROCESS ---- */
.process-section h2{ text-align:center; font-size:var(--text-2xl); margin-bottom: clamp(2.5rem,5vw,3.5rem); }
.process-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; text-align:center; }
.process-step .step-num{ width:3.2rem; height:3.2rem; border-radius:50%; background:var(--yellow); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; margin:0 auto 1rem; box-shadow:3px 4px 0 rgba(0,0,0,.1); }
.process-step h4{ font-size:1rem; margin-bottom:.5rem; text-transform:uppercase; font-family:var(--font-display); letter-spacing:.01em; }
.process-step p{ font-size:.92rem; opacity:.75; text-transform:none; font-weight:400; }
@media (max-width:860px){ .process-row{ grid-template-columns:1fr 1fr; row-gap:2.2rem; } }
@media (max-width:480px){ .process-row{ grid-template-columns:1fr; } }
