/* ============================================================
   NOVELLA COACHING — style.css v3
   ============================================================ */

/* ─── TOKENS ─── */
:root {
  --cream:      #faf8f5;
  --cream-mid:  #f0ebe3;
  --espresso:   #2d2419;
  --espresso-mid: #4a3728;
  --sage:       #7a9e7e;
  --sage-dark:  #5d8a62;
  --terra:      #c4704a;
  --stone:      #8b7355;
  --text:       #3a3028;
  --text-light: #6b5f54;
  --white:      #ffffff;
  --border:     rgba(139,115,85,0.15);
  --shadow-sm:  0 2px 12px rgba(45,36,25,0.07);
  --shadow-md:  0 8px 32px rgba(45,36,25,0.11);
  --shadow-lg:  0 20px 60px rgba(45,36,25,0.14);
  --radius:     12px;
  --radius-sm:  8px;
  --transition: 0.28s ease;
  --ff-serif:   'Cormorant Garamond', Georgia, serif;
  --ff-display: 'DM Serif Display', Georgia, serif;
  --ff-sans:    'DM Sans', system-ui, sans-serif;
  --nav-h:      72px;
  --container:  1160px;
  --gap:        2rem;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--ff-sans);
  background: var(--cream);
  color: var(--text);
  overflow-x: hidden;
  line-height: 1.7;
}
img { max-width:100%; display:block; }
a { color: inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; font-family: var(--ff-sans); }

/* ─── UTILITY ─── */
.container { max-width: var(--container); margin:0 auto; padding:0 2rem; }
.label {
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color: var(--terra); margin-bottom:.6rem;
}
.sub-heading {
  font-family: var(--ff-serif);
  font-size:1.5rem; font-weight:600; color:var(--espresso);
  margin-bottom:1.5rem;
}
.section-desc { color:var(--text-light); max-width:600px; margin:0 auto; }
.section-header { text-align:center; margin-bottom:4rem; }
.section-header h2 { margin-bottom:.75rem; }

/* ─── TYPOGRAPHY ─── */
h1 {
  font-family: var(--ff-display);
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 1.05; color: var(--espresso); font-weight:400;
}
h1 em { font-style:italic; color: var(--terra); }
h2 {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  color: var(--espresso); font-weight:400; line-height:1.15;
}
h3 {
  font-family: var(--ff-serif);
  font-size:1.25rem; font-weight:600; color:var(--espresso);
}

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.75rem; border-radius:var(--radius-sm);
  font-size:.9rem; font-weight:600; letter-spacing:.03em;
  transition: all var(--transition); border:2px solid transparent;
  white-space: nowrap;
}
.btn-espresso {
  background: var(--espresso); color: var(--white);
}
.btn-espresso:hover { background: var(--espresso-mid); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-sage {
  background: var(--sage); color: var(--white);
}
.btn-sage:hover { background:var(--sage-dark); transform:translateY(-2px); }
.btn-outline {
  background:transparent; color: var(--espresso);
  border-color: var(--espresso);
}
.btn-outline:hover { background:var(--espresso); color:var(--white); }
.btn-outline-sm {
  font-size:.8rem; padding:.45rem 1rem;
  background:transparent; border:1px solid var(--stone);
  color:var(--stone); border-radius:var(--radius-sm);
  transition: all var(--transition);
}
.btn-outline-sm:hover { border-color:var(--espresso); color:var(--espresso); }

/* ─── NAVBAR ─── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:var(--nav-h);
  background: rgba(250,248,245,0.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition: border-color var(--transition), box-shadow var(--transition);
}
#navbar.scrolled {
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
.nav-inner {
  max-width:var(--container); margin:0 auto; padding:0 2rem;
  height:100%; display:flex; align-items:center; justify-content:space-between;
  gap:2rem;
}
.nav-brand { flex-shrink:0; }
.nav-logo-img { height:72px; width:auto; }
.nav-menu {
  display:flex; align-items:center; gap:1.5rem; list-style:none;
}
.nav-link {
  font-size:.875rem; font-weight:500; color:var(--text-light);
  transition:color var(--transition); position:relative; padding:.25rem 0;
}
.nav-link::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0;
  height:1.5px; background:var(--terra);
  transform:scaleX(0); transition:transform var(--transition);
  transform-origin:left;
}
.nav-link:hover, .nav-link.active { color:var(--espresso); }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }
.nav-bloom {
  color:var(--sage-dark) !important; font-weight:600;
}
.nav-cta { font-size:.82rem; padding:.55rem 1.2rem; }
.nav-right { display:flex; align-items:center; gap:1rem; flex-shrink:0; }

/* Language Switcher */
.lang-switcher {
  display:flex; gap:.2rem;
  background:var(--cream-mid); border-radius:6px; padding:3px;
}
.lang-btn {
  padding:.25rem .6rem; border:none; background:transparent;
  font-size:.72rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--text-light); border-radius:4px; transition:all var(--transition);
}
.lang-btn.active, .lang-btn:hover {
  background:var(--espresso); color:var(--white);
}

/* Burger */
.burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; padding:4px;
}
.burger span {
  display:block; width:22px; height:2px;
  background:var(--espresso); border-radius:2px;
  transition:all var(--transition);
}
.burger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.active span:nth-child(2) { opacity:0; }
.burger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ─── HERO ─── */
#hero {
  min-height:100vh; padding-top:var(--nav-h);
  display:flex; align-items:center;
  position:relative; overflow:hidden;
}
.hero-bg-shape {
  position:absolute; right:-200px; top:-100px;
  width:700px; height:700px; border-radius:50%;
  background: radial-gradient(circle, rgba(196,112,74,.06) 0%, rgba(122,158,126,.04) 60%, transparent 80%);
  pointer-events:none;
}
.hero-inner {
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:4rem;
  padding-top:3rem; padding-bottom:4rem;
}
.hero-content { max-width:560px; }
.hero-desc { color:var(--text-light); font-size:1.05rem; margin-top:1.2rem; max-width:480px; }

/* Slogan */
.hero-slogan {
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem .6rem;
  margin:.9rem 0 0;
}
.slogan-word {
  font-family:var(--ff-serif); font-size:1.4rem; font-weight:600;
  color:var(--terra); font-style:italic;
}
.slogan-fun {
  font-family:var(--ff-serif); font-size:1.15rem; color:var(--stone);
  font-style:italic; width:100%;
}

/* Hero actions */
.hero-actions {
  display:grid; grid-template-columns:auto auto;
  max-width:fit-content; gap:.75rem;
  margin-top:2rem; align-items:center;
}
.hero-newsletter {
  grid-column:1/-1;
  display:flex; align-items:center; gap:.5rem;
  background:var(--cream-mid); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:.35rem .35rem .35rem .8rem;
  width:100%;
}
.hero-newsletter input {
  flex:1; border:none; background:transparent;
  font-family:var(--ff-sans); font-size:.85rem; color:var(--text); outline:none;
}
.hero-newsletter .btn { flex-shrink:0; padding:.6rem 1rem; font-size:.8rem; }

/* Hero image */
.hero-image { display:flex; justify-content:center; align-items:center; }
.hero-img-frame {
  position:relative; width:440px; max-width:100%;
}
.hero-img-frame img {
  width:100%; height:540px; object-fit:cover; object-position:center 20%;
  border-radius:200px 200px 120px 120px;
}
.hero-img-frame.img-placeholder {
  height:540px; background:var(--cream-mid);
  border-radius:200px 200px 120px 120px;
  border:2px dashed var(--border);
}
.hero-pcc-logo {
  position:absolute; bottom:-10px; right:-10px;
  width:100px; height:100px;
  border-radius:50%;
  background:var(--white);
  box-shadow:var(--shadow-md);
  padding:10px;
  z-index:2;
  display:flex; align-items:center; justify-content:center;
}
.hero-pcc-logo img {
  width:100%; height:100%;
  object-fit:contain;
}

/* ─── ABOUT ─── */
#about { padding:8rem 0 10rem; background:var(--cream-mid); }
.about-grid {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:5rem; align-items:start;
}
.about-image-col { position:sticky; top:calc(var(--nav-h) + 2rem); }
.about-img-frame {
  border-radius:var(--radius) var(--radius) 80px 80px;
  overflow:hidden; background:var(--cream);
}
.about-img-frame img { width:100%; height:540px; object-fit:cover; object-position:center top; }
.about-img-frame.img-placeholder { height:540px; }
.cert-badges {
  display:grid; grid-template-columns:1fr 1fr;
  gap:.6rem; margin-top:1.5rem;
}
.cert-badge {
  display:flex; align-items:center; gap:.5rem;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:.7rem .9rem;
  font-size:.8rem; font-weight:500; color:var(--text);
  box-shadow:var(--shadow-sm);
}
.cert-icon { font-size:1.1rem; }
.about-text-col h2 { margin:1rem 0 1.5rem; }
.about-text-col p {
  color:var(--text-light); line-height:1.8; margin-bottom:1rem; font-size:.97rem;
  text-align:justify; hyphens:auto;
}

/* ─── ABOUT PILLARS ─── */
.about-pillars {
  padding:5rem 0 0;
}
.about-pillars .section-header { margin-bottom:3rem; }
.about-pillars-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.pillar-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); padding:2.25rem 2rem;
  text-align:center; border-top:3px solid var(--terra);
  transition:all var(--transition);
}
.pillar-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.pillar-icon { font-size:2.25rem; margin-bottom:1rem; }
.pillar-card h3 {
  font-size:1.05rem; margin-bottom:.6rem; color:var(--espresso);
  line-height:1.35;
}
.pillar-card p { font-size:.86rem; color:var(--text-light); line-height:1.65; margin:0; }

/* ─── SERVICES ─── */
#services { padding:8rem 0; }
.services-tabs {
  display:flex; justify-content:center; gap:0;
  background:var(--cream-mid); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:4px; max-width:360px;
  margin:0 auto 3rem;
}
.tab-btn {
  flex:1; padding:.75rem 1.5rem;
  background:transparent; border:none;
  font-family:var(--ff-sans); font-size:.9rem; font-weight:600;
  color:var(--text-light); border-radius:8px;
  transition:all var(--transition);
}
.tab-btn.active { background:var(--espresso); color:var(--white); }
.tab-btn:hover:not(.active) { color:var(--espresso); background:var(--cream); }

/* Panels */
.services-panel { display:none; }
.services-panel.active { display:block; }

/* Services grid */
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1.25rem; align-items:start;
}
.service-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden;
  transition:all var(--transition); cursor:pointer;
}
.service-card:hover { box-shadow:var(--shadow-md); border-color:var(--sage); transform:translateY(-3px); }
.service-card.open { border-color:var(--terra); box-shadow:var(--shadow-md); }
.service-card-header {
  display:flex; align-items:center; gap:1rem;
  padding:1.5rem;
}
.service-icon { font-size:1.6rem; flex-shrink:0; }
.service-card-header h3 { flex:1; font-size:1.05rem; }
.service-arrow {
  font-size:1.2rem; color:var(--stone); transition:transform var(--transition);
  flex-shrink:0;
}
.service-card.open .service-arrow { transform:rotate(180deg); color:var(--terra); }
.service-card-body {
  display:none; padding:0 1.5rem 1.5rem;
  border-top:1px solid var(--border);
}
.service-card.open .service-card-body { display:block; }
.service-card-body p { color:var(--text-light); font-size:.92rem; line-height:1.7; padding-top:1rem; }

.services-cta { text-align:center; margin-top:3rem; }

/* ─── PORTFOLIO & VOICES ─── */
#portfolio { padding:8rem 0; background:var(--cream-mid); }
.clients-block { margin-bottom:4rem; text-align:center; }
.clients-grid {
  display:flex; flex-wrap:wrap; justify-content:center; gap:1rem;
  margin-top:1.5rem;
}
.client-logo {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:1rem 2rem;
  font-family:var(--ff-serif); font-weight:600; font-size:1.05rem;
  color:var(--stone); letter-spacing:.03em;
  transition:all var(--transition); min-width:140px; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
}
.client-logo:hover {
  border-color:var(--terra); color:var(--espresso);
  box-shadow:var(--shadow-sm); transform:translateY(-2px);
}

/* ─── MEDIA SLIDE CARDS ─── */
.media-slider-section { margin-top:4rem; }
.media-slide-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.6rem;
  display:flex; flex-direction:column;
  transition:all var(--transition); height:100%;
}
.media-slide-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.media-slide-type {
  font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--terra); margin-bottom:.5rem; display:flex; align-items:center; gap:.35em;
}
.media-slide-type.is-article { color:var(--sage); }
.media-slide-title {
  font-size:1rem; font-weight:600; color:var(--espresso);
  margin-bottom:.6rem; line-height:1.4;
}
.media-slide-desc {
  font-size:.84rem; color:var(--text-light); line-height:1.65;
  flex:1; margin-bottom:1rem;
}
.media-slide-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:auto; }

/* ─── BOOK MODAL ─── */
.modal-overlay {
  position:fixed; inset:0; z-index:900;
  background:rgba(40,25,15,.65); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:2rem; opacity:0; pointer-events:none;
  transition:opacity .3s ease;
}
.modal-overlay.is-open { opacity:1; pointer-events:auto; }
.modal-panel {
  background:var(--white); border-radius:var(--radius);
  max-width:700px; width:100%; max-height:85vh; overflow-y:auto;
  padding:3rem 3rem 2.5rem; position:relative;
  transform:translateY(20px); transition:transform .3s ease;
}
.modal-overlay.is-open .modal-panel { transform:translateY(0); }
.modal-close-btn {
  position:absolute; top:1.25rem; right:1.5rem;
  background:none; border:none; font-size:1.6rem; line-height:1;
  cursor:pointer; color:var(--stone); padding:.25rem;
  transition:color var(--transition);
}
.modal-close-btn:hover { color:var(--espresso); }
.modal-panel h2 { font-size:clamp(1.5rem,3vw,2.2rem); margin-bottom:.75rem; }
.modal-panel .modal-meta { font-size:.8rem; color:var(--text-light); margin-bottom:1.5rem; }
.modal-panel h3 { font-size:1.15rem; margin:2rem 0 .6rem; color:var(--espresso); }
.modal-panel p {
  margin-bottom:1rem; line-height:1.8; color:var(--text-light); font-size:.94rem;
}
.modal-panel blockquote {
  border-left:3px solid var(--terra); padding-left:1.25rem;
  margin:1.25rem 0; font-style:italic; color:var(--stone); font-size:.93rem;
}
.portfolio-divider {
  height:1px; background:var(--border); margin:4rem 0;
}
.voices-block { }
.testimonials-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; margin-top:2rem;
}
.testimonial-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); padding:2rem;
  position:relative; transition:box-shadow var(--transition);
}
.testimonial-card:hover { box-shadow:var(--shadow-md); }
.quote-mark {
  font-family:var(--ff-display); font-size:3.5rem; line-height:1;
  color:var(--terra); opacity:.25; margin-bottom:.5rem;
}
.testimonial-card p { color:var(--text-light); font-size:.9rem; line-height:1.75; font-style:italic; }
.testimonial-card cite {
  display:block; margin-top:1rem;
  font-size:.8rem; font-weight:600; color:var(--stone);
  font-style:normal;
}

/* ─── MEDIA ─── */
#media { padding:8rem 0; }
.media-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
}
.media-card {
  display:flex; gap:1.25rem; align-items:flex-start;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.75rem;
  transition:all var(--transition);
}
.media-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.media-book {
  grid-column:1/-1;
  background: linear-gradient(135deg, #fdf9f4 0%, #f5ede2 100%);
  border:1px solid rgba(180,100,60,.18);
  border-left:4px solid var(--terra);
  align-items:flex-start; gap:1.5rem; padding:1.75rem 2rem;
}
.media-book .media-card-icon { font-size:2.5rem; }
.media-book .media-card-body h3 {
  font-size:clamp(1.1rem,2vw,1.4rem);
  font-family:var(--ff-serif);
  color:var(--espresso);
  margin-bottom:.4rem;
}
.media-book-stars { color:#d4872a; font-size:1.05rem; letter-spacing:.05em; margin-bottom:.5rem; }
.media-book-meta { font-size:.78rem; color:var(--text-light); margin-bottom:.9rem; }
.media-book-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.media-card-icon { font-size:2rem; flex-shrink:0; }
.media-tag {
  font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--terra); margin-bottom:.35rem;
}
.media-card-body h3 { margin-bottom:.5rem; font-size:1.1rem; }
.media-card-body p { color:var(--text-light); font-size:.88rem; line-height:1.65; margin-bottom:.75rem; }
.media-links { display:flex; gap:.6rem; flex-wrap:wrap; }
.btn-spotify {
  background:#1db954; color:#fff; border-color:#1db954;
  display:inline-flex; align-items:center; gap:.4em;
}
.btn-spotify:hover { background:#17a349; border-color:#17a349; color:#fff; }
.btn-youtube {
  background:#ff0000; color:#fff; border-color:#ff0000;
  display:inline-flex; align-items:center; gap:.4em;
}
.btn-youtube:hover { background:#cc0000; border-color:#cc0000; color:#fff; }

/* ─── SERVICES INTRO ─── */
.services-intro {
  max-width:820px; margin:0 auto 3.5rem;
  background:var(--cream-mid); border-radius:var(--radius);
  border-left:4px solid var(--terra); padding:2rem 2.25rem;
}
.services-intro h3 {
  font-family:var(--ff-serif); font-size:1.5rem; color:var(--espresso);
  margin-bottom:1rem; line-height:1.3;
}
.services-intro p {
  color:var(--text-light); font-size:.93rem; line-height:1.75; margin-bottom:.65rem;
}
.services-intro p:last-child { margin-bottom:0; }
.services-intro strong { color:var(--espresso); font-weight:600; }
.services-intro .intro-split {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem;
}
.services-intro .intro-split-item {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:1rem 1.1rem;
}
.services-intro .intro-split-item strong {
  display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--terra); margin-bottom:.4rem;
}
.services-intro .intro-split-item p { font-size:.87rem; margin:0; }

/* ─── CONTACT ─── */
#contact { padding:8rem 0; background:var(--espresso); }
#contact .label { color:var(--terra); }
#contact h2 { color:var(--white); }
#contact p { color:rgba(255,255,255,.65); }
.contact-grid {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:5rem; align-items:start;
}
.contact-cal-btn {
  display:inline-flex; align-items:center; gap:.65rem;
  font-size:.9rem; font-weight:600; color:var(--white);
  margin:2rem 0; transition:color var(--transition);
}
.contact-cal-btn:hover { color:var(--terra); }
.contact-social { display:flex; flex-direction:column; gap:.75rem; }
.social-link {
  display:inline-flex; align-items:center; gap:.65rem;
  font-size:.9rem; font-weight:500; color:rgba(255,255,255,.7);
  transition:color var(--transition);
}
.social-link:hover { color:var(--white); }
.contact-form-wrap {
  background:var(--white); border-radius:var(--radius); padding:2.5rem;
  box-shadow:var(--shadow-lg);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-group label { font-size:.75rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--stone); }
.form-group input, .form-group textarea {
  border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:.75rem 1rem; font-family:var(--ff-sans); font-size:.9rem;
  color:var(--text); background:var(--cream); outline:none;
  transition:border-color var(--transition), box-shadow var(--transition);
  resize:vertical;
}
.form-group input:focus, .form-group textarea:focus {
  border-color:var(--sage); box-shadow:0 0 0 3px rgba(122,158,126,.15);
}

/* ─── FOOTER ─── */
footer {
  background:var(--espresso-mid); color:rgba(255,255,255,.6);
  padding:4rem 0 2rem;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; margin-bottom:3rem;
}
.footer-logo-img { height:40px; width:auto; margin-bottom:1rem; filter:brightness(0) invert(1); opacity:.7; }
.footer-tagline { font-size:.85rem; color:rgba(255,255,255,.45); }
footer h4 {
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.35); margin-bottom:1rem;
}
footer ul li { margin-bottom:.6rem; }
footer a { font-size:.88rem; color:rgba(255,255,255,.6); transition:color var(--transition); }
footer a:hover { color:var(--white); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { font-size:.8rem; }
.lang-switcher-footer { background:rgba(255,255,255,.1); }
.lang-switcher-footer .lang-btn { color:rgba(255,255,255,.65); }
.lang-switcher-footer .lang-btn.active,
.lang-switcher-footer .lang-btn:hover { background:rgba(255,255,255,.22); color:var(--white); }

/* ─── REVEAL ANIMATIONS ─── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ─── TOAST ─── */
#toast {
  position:fixed; bottom:2rem; right:2rem; z-index:9999;
  background:var(--espresso); color:var(--white);
  padding:1rem 1.5rem; border-radius:var(--radius-sm);
  font-size:.9rem; box-shadow:var(--shadow-lg);
  opacity:0; transform:translateY(20px);
  transition:all .4s cubic-bezier(.34,1.56,.64,1);
  pointer-events:none;
}
#toast.show { opacity:1; transform:translateY(0); }

/* ─── COOKIE BANNER ─── */
#cookieBanner {
  position:fixed; bottom:0; left:0; right:0; z-index:9000;
  background:var(--espresso); color:rgba(255,255,255,.8);
  padding:1rem 2rem; display:flex;
  align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; box-shadow:0 -4px 24px rgba(0,0,0,.2);
}
#cookieBanner p { font-size:.88rem; }
#cookieBanner a { color:var(--sage); text-decoration:underline; }
#cookieBanner > div { display:flex; gap:.75rem; }

/* ─── TESTIMONIALS SLIDER ─── */
.testimonials-slider { position:relative; overflow:hidden; }
.testimonials-track { display:flex; transition:transform 0.5s ease; }
.testimonials-slide {
  min-width:100%; display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.slider-controls {
  display:flex; align-items:center; justify-content:center; gap:1.5rem;
  margin-top:2rem;
}
.slider-prev, .slider-next {
  background:var(--white); border:1px solid var(--border);
  border-radius:50%; width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:var(--text); cursor:pointer;
  transition:all var(--transition);
}
.slider-prev:hover, .slider-next:hover {
  background:var(--espresso); color:var(--white); border-color:var(--espresso);
}
.slider-dots { display:flex; gap:.5rem; }
.slider-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--cream-mid); border:1px solid var(--border);
  cursor:pointer; transition:all var(--transition);
}
.slider-dot.active { background:var(--terra); border-color:var(--terra); }

/* ─── MOBILE ─── */
@media (max-width:900px) {
  :root { --nav-h:60px; }
  .nav-menu {
    display:none; flex-direction:column; align-items:flex-start;
    position:fixed; top:var(--nav-h); left:0; right:0;
    background:var(--cream); border-bottom:1px solid var(--border);
    padding:1.5rem 2rem 2rem; gap:1rem;
    box-shadow:var(--shadow-md);
  }
  .nav-menu.open { display:flex; }
  .nav-cta { margin-top:.5rem; }
  .burger { display:flex; }

  .hero-inner { grid-template-columns:1fr; gap:2rem; }
  .hero-image { order:-1; }
  .hero-img-frame { width:100%; max-width:320px; margin:0 auto; }
  .hero-img-frame > img, .hero-img-frame.img-placeholder { height:380px; }
  .hero-pcc-logo { right:8px; bottom:8px; width:78px; height:78px; padding:8px; }

  .about-grid { grid-template-columns:1fr; gap:3rem; }
  .about-image-col { position:static; }
  .about-img-frame img { height:340px; }

  .services-grid { grid-template-columns:1fr; }

  .testimonials-grid { grid-template-columns:1fr; }
  .testimonials-slide { grid-template-columns:1fr; }

  .media-grid { grid-template-columns:1fr; }
  .media-book { grid-column:auto; flex-direction:column; }
  .media-book .media-card-icon { font-size:2.5rem; }
  .media-book-actions { flex-direction:column; }
  .about-pillars-grid { grid-template-columns:1fr; }
  .testimonials-slide { grid-template-columns:1fr; }
  .modal-panel { padding:2rem 1.5rem; }
  .services-intro .intro-split { grid-template-columns:1fr; }

  .contact-grid { grid-template-columns:1fr; gap:3rem; }

  .footer-grid { grid-template-columns:1fr 1fr; }

  .form-row { grid-template-columns:1fr; }
}

@media (max-width:540px) {
  h1 { font-size:2.5rem; }
  h2 { font-size:1.8rem; }
  .hero-actions { grid-template-columns:1fr; max-width:100%; width:100%; }
  .hero-newsletter { max-width:100%; }
  .cert-badges { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .clients-grid { gap:.6rem; }
}
