/* Premrest v3 — shared styles for inner pages (services, personas, core).
   Loaded after css/site.css.
   Design language mirrors the v3 homepage: playful, punchy, warm.
   Bold display type, tinted card variants, generous rhythm, rounded final CTA. */

/* ---- Page hero ---- */
.page-hero {
  position: relative;
  background: var(--brand-cream);
  padding: clamp(56px, 8vw, 108px) 0 clamp(52px, 7vw, 96px);
  overflow: hidden;
}
.page-hero.is-green  { background: #dde3c2; }
.page-hero.is-orange { background: var(--brand-orange); color: var(--neutral-white); }
.page-hero.is-orange h1 { color: var(--neutral-white); }
.page-hero.is-orange .lead { color: rgba(255,255,255,0.85); }
.page-hero.is-dark   { background: var(--neutral-charcoal); color: var(--neutral-light-muted); }
.page-hero.is-dark h1 { color: var(--neutral-white); }
.page-hero.is-dark .lead { color: rgba(255,255,255,0.75); }
.page-hero h1 {
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 0.98; letter-spacing: -0.035em;
  max-width: 18ch; text-wrap: balance;
}
.page-hero .lead {
  max-width: 52ch; margin-top: 22px;
  font-size: clamp(1.1rem, 1.4vw, 1.35rem); line-height: 1.5;
  color: rgba(46,49,51,0.78);
}
.page-hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

/* ---- Trust logos strip (accreditations under hero) ---- */
.trust-strip {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 18px 28px; margin-top: 44px;
  padding-top: 22px;
  border-top: 1px solid rgba(46,49,51,0.12);
  max-width: 640px;
}
.trust-strip__label {
  font-family: var(--font-ui); font-size: 0.72rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 700; color: rgba(46,49,51,0.55);
}
.trust-strip__logos { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.trust-strip__logos img {
  height: 44px; width: auto; max-width: 130px;
  object-fit: contain; opacity: 0.9;
  transition: opacity 0.2s ease;
}
.trust-strip__logos img:hover { opacity: 1; }
.page-hero.is-dark   .trust-strip { border-color: rgba(255,255,255,0.18); }
.page-hero.is-dark   .trust-strip__label,
.page-hero.is-orange .trust-strip__label { color: rgba(255,255,255,0.75); }
.page-hero.is-orange .trust-strip { border-color: rgba(255,255,255,0.28); }
@media (max-width: 640px) {
  .trust-strip { gap: 14px 20px; margin-top: 32px; }
  .trust-strip__logos { gap: 20px; }
  .trust-strip__logos img { height: 34px; max-width: 100px; }
}
.page-hero .eyebrow-label {
  font-family: var(--font-body); font-style: italic;
  color: var(--brand-orange); font-weight: var(--fw-semibold);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
}
.page-hero.is-green .eyebrow-label { color: var(--brand-dark-brown); }
.page-hero.is-dark  .eyebrow-label { color: var(--brand-cream); }
.page-hero.is-orange .eyebrow-label { color: var(--neutral-white); opacity: 0.9; }

.crumbs { font-family: var(--font-body); font-size: 0.88rem; padding-block: 22px 0; }
.crumbs a { text-decoration: none; color: rgba(46,49,51,0.6); }
.crumbs a:hover { color: var(--brand-orange); }
.crumbs span { color: rgba(46,49,51,0.4); margin: 0 8px; }
.page-hero .crumbs { padding-block: 0 18px; }
.page-hero .crumbs a, .page-hero .crumbs span { color: rgba(46,49,51,0.55); }
.page-hero.is-dark   .crumbs a, .page-hero.is-dark   .crumbs span,
.page-hero.is-orange .crumbs a, .page-hero.is-orange .crumbs span { color: rgba(255,255,255,0.7); }

/* ---- Section rhythm ---- */
.section h2 {
  font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.02;
  letter-spacing: -0.025em; text-wrap: balance;
}
.section.band-cream { background: var(--brand-cream); }
.section.band-warm  { background: var(--neutral-dark-muted); }

/* ---- Service cards ---- */
.svc-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 1.6vw, 22px);
}
.svc-card {
  position: relative;
  background: var(--neutral-white);
  border: 1.5px solid rgba(46,49,51,0.08);
  border-radius: clamp(18px, 1.6vw, 24px);
  padding: clamp(26px, 2.2vw, 34px) clamp(24px, 2vw, 30px) clamp(24px, 2vw, 28px);
  display: flex; flex-direction: column; gap: 12px;
  text-decoration: none; color: var(--neutral-charcoal);
  scroll-margin-top: 120px;
  transition: transform .25s ease, border-color .2s ease, box-shadow .25s ease, background .25s ease;
}
a.svc-card:hover {
  transform: translateY(-4px);
  border-color: var(--brand-orange);
  box-shadow: 0 18px 40px -22px rgba(46,49,51,0.35);
  color: var(--neutral-charcoal);
}
.svc-card .tag {
  font-family: var(--font-body);
  font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: var(--fw-bold); color: rgba(46,49,51,0.55);
}
.svc-card h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
  line-height: 1.05; letter-spacing: -0.015em; margin: 0;
}
.svc-card p { font-size: 0.98rem; color: rgba(46,49,51,0.72); flex: 1; line-height: 1.5; }
.svc-card .go {
  font-family: "Josefina Slab", var(--font-ui), serif; font-weight: var(--fw-bold);
  color: var(--brand-orange); font-size: 0.95rem;
  transition: transform .2s ease;
}

a.svc-card:hover .go { transform: translateX(4px); }

/* Rotating tints — echoes the homepage row palette */
.svc-grid > .svc-card:nth-child(6n+1) { background: rgba(249,203,143,0.22); border-color: rgba(209,112,60,0.18); }
.svc-grid > .svc-card:nth-child(6n+2) { background: rgba(174,186,108,0.16); border-color: rgba(174,186,108,0.28); }
.svc-grid > .svc-card:nth-child(6n+3) { background: rgba(170,201,219,0.20); border-color: rgba(170,201,219,0.35); }
.svc-grid > .svc-card:nth-child(6n+4) { background: rgba(209,112,60,0.10); border-color: rgba(209,112,60,0.22); }
.svc-grid > .svc-card:nth-child(6n+5) { background: rgba(46,49,51,0.05);   border-color: rgba(46,49,51,0.12); }
.svc-grid > .svc-card:nth-child(6n)   { background: rgba(249,203,143,0.32); border-color: rgba(209,112,60,0.22); }

/* ---- Include grid ---- */
.inc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.inc {
  background: var(--neutral-white);
  border: 1.5px solid rgba(46,49,51,0.08);
  border-radius: clamp(16px, 1.4vw, 22px);
  padding: clamp(24px, 2vw, 30px);
}
.inc h4 {
  font-size: 1.12rem; margin: 0;
  font-family: var(--font-heading); font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
}
.inc p { margin-top: 10px; font-size: 0.94rem; color: rgba(46,49,51,0.7); line-height: 1.5; }
.inc-grid > .inc:nth-child(3n+1) { background: rgba(249,203,143,0.20); border-color: rgba(209,112,60,0.16); }
.inc-grid > .inc:nth-child(3n+2) { background: rgba(174,186,108,0.14); border-color: rgba(174,186,108,0.26); }
.inc-grid > .inc:nth-child(3n)   { background: rgba(170,201,219,0.18); border-color: rgba(170,201,219,0.32); }

/* ---- Stats band ---- */
.band-dark { background: var(--neutral-charcoal); color: var(--neutral-light-muted); }
.band-dark h2 { color: var(--neutral-white); }
.band-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.band-dark p.body { margin-top: 18px; color: rgba(255,255,255,0.72); max-width: 50ch; }
.stats-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; }
.stats-trio .n {
  font-family: var(--font-heading); font-weight: var(--fw-heavy);
  font-size: clamp(2.6rem, 4.4vw, 3.8rem); color: var(--brand-green); line-height: 1;
  letter-spacing: -0.03em;
}
.stats-trio .l { font-family: var(--font-ui); margin-top: 8px; font-size: 0.95rem; }

/* ---- Row list ---- */
.row-list { margin-top: 18px; }
.row-item {
  display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
  padding: 22px 4px; border-bottom: 1px solid rgba(46,49,51,0.14); text-decoration: none;
  transition: padding-left .2s ease;
}
.row-item:first-child { border-top: 1px solid rgba(46,49,51,0.14); }
.row-item .t { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: clamp(1.15rem, 2vw, 1.5rem); color: var(--neutral-charcoal); }
.row-item .d { flex: 1; font-size: 0.95rem; color: rgba(46,49,51,0.65); max-width: 44ch; }
.row-item .arr { font-family: var(--font-heading); font-weight: var(--fw-bold); color: var(--brand-orange); white-space: nowrap; }
.row-item:hover { padding-left: 10px; }
.row-item:hover .t { color: var(--brand-orange); }

/* ---- Split content ---- */
.split { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.split .copy p { margin-top: 18px; color: rgba(46,49,51,0.78); max-width: 58ch; line-height: 1.6; }
.split img.rounded { border-radius: var(--radius-lg); }

/* ---- Team ---- */
.team-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 24px); align-items: start; }
.team-row .team-card { min-width: 0; margin: 0; }
.team-card .photo { position: relative; aspect-ratio: 3/4; border-radius: clamp(18px, 2vw, 26px); overflow: hidden; }
.team-card .photo image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
.team-card figcaption { margin-top: 14px; }
.team-card .nm { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 1.15rem; }
.team-card .rl { font-size: 0.9rem; color: rgba(46,49,51,0.65); margin-top: 2px; }

/* ---- Forms ---- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-family: var(--font-ui); font-weight: var(--fw-semibold); font-size: 0.85rem; }
.form-field input, .form-field textarea {
  font-family: var(--font-body); font-size: 1rem; color: var(--neutral-charcoal);
  background: var(--neutral-white); border: 1.5px solid rgba(46,49,51,0.25);
  border-radius: var(--radius-sm); padding: 13px 15px; outline: none; resize: vertical;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-field input:focus, .form-field textarea:focus {
  border-color: var(--brand-orange);
  box-shadow: 0 0 0 3px rgba(209,112,60,0.14);
}
.form-sent { background: var(--system-success); color: var(--system-success-dark); border-radius: var(--radius-sm); padding: 18px 20px; }

/* ---- FAQ ---- */
.faq details { border-bottom: 1px solid rgba(46,49,51,0.14); }
.faq details:first-of-type { border-top: 1px solid rgba(46,49,51,0.14); }
.faq summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 1.15rem; padding: 22px 4px;
  letter-spacing: -0.01em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; font-family: var(--font-heading); font-size: 1.6rem; color: var(--brand-orange);
  flex-shrink: 0;
}
.faq details[open] summary::after { content: "\2013"; }
.faq details p { padding: 0 4px 22px; color: rgba(46,49,51,0.75); max-width: 68ch; line-height: 1.6; }

/* ---- Numbered steps ---- */
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.6vw, 22px); margin-top: 36px; }
.step-card {
  background: rgba(209,112,60,0.06);
  border: 1.5px solid rgba(209,112,60,0.14);
  border-radius: clamp(18px, 1.6vw, 24px);
  padding: clamp(24px, 2vw, 30px);
}
.step-card .num {
  font-family: var(--font-script); font-size: 2.4rem;
  color: var(--brand-orange); line-height: 1;
  transform: rotate(-4deg); display: inline-block;
}
.step-card h4 { margin-top: 12px; font-size: 1.12rem; font-family: var(--font-heading); font-weight: var(--fw-bold); letter-spacing: -0.01em; }
.step-card p { margin-top: 10px; font-size: 0.94rem; color: rgba(46,49,51,0.72); line-height: 1.55; }
.steps-grid > .step-card:nth-child(3n+2) { background: rgba(174,186,108,0.10); border-color: rgba(174,186,108,0.24); }
.steps-grid > .step-card:nth-child(3n+2) .num { color: var(--brand-green); }
.steps-grid > .step-card:nth-child(3n)   { background: rgba(170,201,219,0.14); border-color: rgba(170,201,219,0.30); }
.steps-grid > .step-card:nth-child(3n)   .num { color: var(--brand-light-blue); }

/* ---- Final CTA (rounded lift, mirrors homepage) ---- */
.final {
  position: relative;
  background: var(--brand-orange); color: var(--neutral-white);
  border-radius: clamp(32px, 5vw, 64px) clamp(32px, 5vw, 64px) 0 0;
  margin-top: clamp(-40px, -4vw, -20px);
  padding: clamp(64px, 8vw, 112px) 0;
}
.final .container {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px;
}
.final h2 {
  color: var(--neutral-white); max-width: 22ch;
  font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1; letter-spacing: -0.03em;
  text-wrap: balance;
}

/* ---- Scroll reveal ---- */
@media (prefers-reduced-motion: no-preference) {
  html.js-reveal [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
  html.js-reveal [data-reveal].is-in { opacity: 1; transform: translateY(0px); }
  html.js-reveal [data-reveal="2"] { transition-delay: .12s; }
  html.js-reveal [data-reveal="3"] { transition-delay: .24s; }
}

@media (max-width: 980px) {
  .svc-grid, .inc-grid { grid-template-columns: 1fr 1fr; }
  .band-grid, .split { grid-template-columns: 1fr; }
  .team-row { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .team-card .nm { font-size: 0.95rem; }
  .row-item { flex-wrap: wrap; }
  .row-item .d { flex-basis: 100%; order: 3; }
  .steps-grid { grid-template-columns: 1fr; }
  .final { border-radius: clamp(24px, 6vw, 40px) clamp(24px, 6vw, 40px) 0 0; }
}
@media (max-width: 620px) {
  .svc-grid, .inc-grid, .form-grid { grid-template-columns: 1fr; }
  .page-hero { padding: clamp(40px, 12vw, 64px) 0 clamp(36px, 10vw, 56px); }
  .page-hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
}

/* ==== StoryBrand sections (homepage) ==== */
.story-problem { background: var(--brand-cream, #f4efe6); position: relative; overflow: hidden; }
.story-problem-head { max-width: 780px; margin: 0 auto; text-align: center; position: relative; }
.story-problem-head .eyebrow-label { color: var(--brand-orange, #d1703c); }
.story-problem-head h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.1; margin: 12px 0 18px; }
.story-problem-head .lead { font-size: clamp(1.02rem, 1.25vw, 1.15rem); line-height: 1.6; opacity: .82; max-width: 68ch; margin: 0 auto; }
.story-shoe { display: block; width: clamp(56px, 5vw, 78px); height: auto; max-height: 90px; object-fit: contain; margin: 0 auto 14px; opacity: .85; }
.story-cost { list-style: none; padding: 0; margin: clamp(36px, 5vw, 56px) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 20px); }
.story-cost li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: clamp(18px, 2vw, 24px); background: #fff; border-radius: 18px; box-shadow: 0 2px 10px rgba(46,49,51,0.06); }
.story-cost-num { font-family: var(--font-display, inherit); font-weight: 800; font-size: 1.3rem; color: var(--brand-orange, #d1703c); line-height: 1; padding-top: 2px; }
.story-cost strong { display: block; font-size: 1rem; margin-bottom: 6px; line-height: 1.3; }
.story-cost span { display: block; font-size: .9rem; opacity: .75; line-height: 1.5; }

.story-plan { background: var(--brand-blue, #2c6a8a); color: #fff; }
.story-plan .eyebrow-label { color: #fdcb40; }
.story-plan-head { max-width: 820px; margin: 0 auto; text-align: center; }
.story-plan-head h2 { font-size: clamp(1.85rem, 3.4vw, 2.75rem); margin: 12px 0 14px; line-height: 1.1; }
.story-plan-head .lead { opacity: .9; font-size: clamp(1rem, 1.2vw, 1.12rem); line-height: 1.6; }
.story-steps { list-style: none; padding: 0; margin: clamp(32px, 5vw, 56px) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 28px); }
.story-steps li { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); border-radius: 20px; padding: clamp(22px, 2.6vw, 32px); }
.story-step-num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #fdcb40; color: #1a1a1a; font-weight: 800; font-size: 1.1rem; margin-bottom: 14px; }
.story-steps h3 { font-size: 1.15rem; margin: 0 0 8px; }
.story-steps p { margin: 0; opacity: .88; line-height: 1.55; font-size: .96rem; }

.story-stakes { background: var(--brand-cream, #f4efe6); }
.story-stakes-head { max-width: 780px; margin: 0 auto clamp(28px, 4vw, 44px); text-align: center; }
.story-stakes-head .eyebrow-label { color: var(--brand-orange, #d1703c); }
.story-stakes-head h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 12px 0 0; line-height: 1.15; }
.story-stakes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.4vw, 28px); }
.story-stakes-card { border-radius: 24px; padding: clamp(26px, 3vw, 36px); background: #fff; box-shadow: 0 4px 18px rgba(46,49,51,0.06); }
.story-stakes-card .eyebrow-label { display: block; margin-bottom: 14px; font-size: .8rem; }
.story-stakes-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.story-stakes-card li { padding-left: 28px; position: relative; line-height: 1.5; font-size: 1rem; }
.story-stakes-card.is-fail { background: #2e3133; color: #fff; }
.story-stakes-card.is-fail .eyebrow-label { color: #ff8f6b; }
.story-stakes-card.is-fail li::before { content: "\00d7"; position: absolute; left: 4px; top: -2px; color: #ff8f6b; font-weight: 800; font-size: 1.3rem; }
.story-stakes-card.is-win .eyebrow-label { color: var(--brand-orange, #d1703c); }
.story-stakes-card.is-win li::before { content: "\2713"; position: absolute; left: 2px; top: 0; color: var(--brand-orange, #d1703c); font-weight: 800; }
.story-cta-row { display: flex; gap: 14px; justify-content: center; margin-top: clamp(28px, 4vw, 44px); flex-wrap: wrap; }

@media (max-width: 1024px) {
  .story-cost { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .story-cost { grid-template-columns: 1fr; }
  .story-steps { grid-template-columns: 1fr; }
  .story-stakes-grid { grid-template-columns: 1fr; }
}


/* Podcast episode cards (YouTube playlist sync) */
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.ep-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.ep-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--radius-lg,18px);overflow:hidden;background:#111}
.ep-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.ep-card:hover .ep-thumb img{transform:scale(1.05)}
.ep-play{position:absolute;left:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:#FDCB40}
.ep-play::after{content:"";position:absolute;left:16px;top:12px;border-left:12px solid #1a1a1a;border-top:8px solid transparent;border-bottom:8px solid transparent}
.ep-meta{font-size:13px;color:rgba(46,49,51,.6)}
.ep-title{font-weight:600;line-height:1.3}
