/*
Theme Name: Releaf Energy
Theme URI: https://releafenergy.in/
Author: Releaf Energy
Author URI: https://releafenergy.in/
Description: Custom token-driven theme for Releaf Energy — MNRE-aligned rooftop solar installer serving Delhi NCR & North India. Motion system and typography adapted from the SolarBoost design principles; content architecture inspired by leading solar-installer sites. No page builder required. WCAG 2.2 AA oriented: focus-visible states, reduced-motion support, keyboard-navigable menus.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: releaf-energy
Tags: custom-colors, custom-logo, custom-menu, featured-images, full-width-template, one-column, accessibility-ready
*/

/* ============ DESIGN TOKENS (SolarBoost-derived, Releaf-tuned) ============ */
:root{
  /* Typography */
  --font-stack:"Manrope",system-ui,-apple-system,sans-serif;
  --fs-xs:0.89rem;
  --fs-sm:1.011rem;
  --fs-base:1.125rem;
  --fs-md:clamp(1.5rem,1.2rem+1.4vw,2.1rem);
  --fs-lg:clamp(2rem,1.4rem+2.8vw,2.81rem);
  --fs-xl:clamp(2.6rem,1.5rem+5.2vw,4.49rem);
  --lh-base:1.55;
  --fw-base:400;

  /* Color — semantic */
  --ink:#101613;
  --ink-soft:#3d4741;
  --paper:#f6f4ee;
  --paper-raise:#ffffff;
  --deep:#0b1f16;
  --deep-raise:#12291d;
  --brand:#1f9d63;
  --brand-strong:#178551;
  --sun:#f4b942;
  --line:rgba(16,22,19,.1);
  --line-inv:rgba(246,244,238,.14);

  /* Spacing */
  --s1:.63rem;
  --s2:.84rem;
  --s3:1.12rem;
  --s4:1.4rem;
  --s5:2.81rem;
  --s6:8.42rem;

  /* Radius */
  --r-xs:15px;
  --r-pill:95px;

  /* Motion */
  --ease:cubic-bezier(.22,.75,.25,1);
  --dur:.9s;

  --gutter:clamp(1.25rem,4vw,4rem);
  --max:1240px;
}

/* ============ RESET / BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  font-family:var(--font-stack);
  font-size:var(--fs-base);
  font-weight:var(--fw-base);
  line-height:var(--lh-base);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:4px}
::selection{background:var(--brand);color:#fff}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}

/* Screen reader text (a11y) */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  clip:auto!important;clip-path:none;color:var(--ink);background:var(--paper-raise);
  display:block;font-size:var(--fs-sm);font-weight:700;height:auto;left:1rem;top:1rem;width:auto;z-index:100000;
  padding:.8rem 1.2rem;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);
}

/* ============ REVEAL ANIMATION SYSTEM ============ */
[data-reveal]{
  opacity:0;
  transform:translateY(36px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  transition-delay:var(--d,0s);
  will-change:opacity,transform;
}
[data-reveal="left"]{transform:translateX(-44px)}
[data-reveal="right"]{transform:translateX(44px)}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal].in{opacity:1;transform:none}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.9rem 1.9rem;border-radius:var(--r-pill);
  font-weight:700;font-size:var(--fs-sm);letter-spacing:.01em;
  border:2px solid transparent;cursor:pointer;
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-solid{background:var(--brand);color:#fff}
.btn-solid:hover{background:var(--brand-strong);color:#fff;transform:translateY(-3px);box-shadow:0 14px 30px -12px rgba(31,157,99,.55)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-3px)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--deep);color:var(--paper);transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(11,31,22,.6)}

/* ============ NAV ============ */
.nav{
  position:fixed;inset-inline:0;top:0;z-index:100;
  transition:background .5s var(--ease),box-shadow .5s var(--ease),padding .5s var(--ease);
  padding:1.3rem 0;color:#fff;
}
body.admin-bar .nav{top:32px}
.nav.scrolled{background:rgba(246,244,238,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line);padding:.85rem 0}
.nav.on-light{color:var(--ink)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.logo .leaf{width:34px;height:34px;border-radius:50% 50% 50% 4px;background:linear-gradient(135deg,var(--brand),var(--sun));display:grid;place-items:center;color:#fff;font-size:1rem;flex:none}
.logo img{max-height:38px;width:auto}
.nav-links{display:flex;gap:2.2rem;list-style:none;font-size:var(--fs-sm);font-weight:600;align-items:center}
.nav-links a{position:relative;padding:.3rem 0;opacity:.85;transition:opacity .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:currentColor;transition:width .4s var(--ease)}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after{width:100%}
.nav-links li{list-style:none}
.nav .btn{padding:.7rem 1.5rem}
.burger{display:none;background:none;border:none;cursor:pointer;color:inherit;padding:.5rem}
@media(max-width:860px){
  .nav-links{display:none}
  .burger{display:block}
}
/* Mobile menu */
.mobile-menu{
  position:fixed;inset:0;z-index:99;background:var(--deep);color:var(--paper);
  display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);
  transform:translateY(-100%);transition:transform .6s var(--ease);
}
.mobile-menu.open{transform:none}
.mobile-menu a{font-size:var(--fs-lg);font-weight:700;padding:.6rem 0;border-bottom:1px solid var(--line-inv)}
.mobile-menu ul{list-style:none}
.mobile-menu li{list-style:none}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  color:#fff;overflow:hidden;background:var(--deep);
}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);animation:heroZoom 3.5s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,31,22,.35) 0%,rgba(11,31,22,.15) 40%,rgba(11,31,22,.88) 100%);
}
.hero-content{position:relative;padding:9rem var(--gutter) 5.5rem;width:100%;max-width:var(--max);margin-inline:auto}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.45rem 1.1rem;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-pill);
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  backdrop-filter:blur(6px);background:rgba(255,255,255,.06);margin-bottom:var(--s4);
}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--sun);box-shadow:0 0 12px var(--sun)}
.hero h1{
  font-size:var(--fs-xl);font-weight:800;line-height:1.06;letter-spacing:-.03em;
  max-width:14ch;margin-bottom:var(--s4);
}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero p{max-width:52ch;font-size:var(--fs-sm);opacity:.9;margin-bottom:var(--s5)}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}

/* Marquee trust band */
.trust{
  position:relative;background:var(--deep);color:var(--paper);
  border-top:1px solid var(--line-inv);padding:1.1rem 0;overflow:hidden;
}
.marquee{display:flex;gap:4rem;width:max-content;animation:scroll 28s linear infinite;font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.marquee span{display:flex;align-items:center;gap:4rem;white-space:nowrap}
.marquee span::after{content:"◆";color:var(--brand);font-size:.6rem}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ============ SECTIONS ============ */
section,.section{padding:var(--s6) 0}
.kicker{
  display:inline-block;font-size:var(--fs-xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brand);margin-bottom:var(--s3);
}
.kicker.on-dark{color:var(--sun)}
h2,.h2{font-size:var(--fs-lg);font-weight:800;letter-spacing:-.025em;line-height:1.12;max-width:22ch}
.lede{margin-top:var(--s3);color:var(--ink-soft);max-width:56ch}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}

/* Services */
.services{background:var(--paper)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:var(--s5)}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr}}
.svc-card{
  background:var(--paper-raise);border:1px solid var(--line);border-radius:24px;
  padding:2.2rem 1.9rem;position:relative;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.svc-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--brand),var(--sun));
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);
}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 26px 50px -24px rgba(11,31,22,.25);border-color:transparent}
.svc-card:hover::before{transform:scaleX(1)}
.svc-num{font-size:var(--fs-xs);font-weight:800;color:var(--brand);letter-spacing:.1em}
.svc-icon{
  width:58px;height:58px;border-radius:18px;margin:1.1rem 0 1.3rem;
  background:linear-gradient(135deg,rgba(31,157,99,.12),rgba(244,185,66,.14));
  display:grid;place-items:center;color:var(--brand);
}
.svc-card h3{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.7rem}
.svc-card p{font-size:var(--fs-sm);color:var(--ink-soft)}
.svc-card a.card-link{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:1.4rem;
  font-size:var(--fs-sm);font-weight:700;color:var(--brand);
}
.svc-card a.card-link svg{transition:transform .35s var(--ease)}
.svc-card a.card-link:hover svg{transform:translateX(5px)}

/* Economics — dark compare */
.compare{background:var(--deep);color:var(--paper);position:relative;overflow:hidden}
.compare::before{
  content:"";position:absolute;top:-30%;right:-15%;width:60%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(244,185,66,.12),transparent 65%);pointer-events:none;
}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:var(--s5)}
@media(max-width:820px){.compare-grid{grid-template-columns:1fr}}
.compare-card{
  border:1px solid var(--line-inv);border-radius:24px;padding:2.4rem 2.1rem;
  background:rgba(255,255,255,.03);backdrop-filter:blur(4px);
  transition:transform .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease);
}
.compare-card.win{background:linear-gradient(160deg,rgba(31,157,99,.22),rgba(31,157,99,.05));border-color:rgba(31,157,99,.45)}
.compare-card:hover{transform:translateY(-6px)}
.compare-card h3{font-size:1.3rem;font-weight:800;margin-bottom:1.4rem}
.compare-card ul{list-style:none;display:grid;gap:1rem}
.compare-card li{display:flex;gap:.8rem;font-size:var(--fs-sm);opacity:.9;align-items:flex-start;list-style:none}
.compare-card li svg{flex:none;margin-top:.2rem}
.tag{display:inline-block;font-size:var(--fs-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .9rem;border-radius:var(--r-pill);margin-bottom:1.1rem}
.tag.dim{background:rgba(255,255,255,.1);color:rgba(246,244,238,.75)}
.tag.win{background:var(--brand);color:#fff}

/* Process timeline */
.process{background:var(--paper)}
.timeline{margin-top:var(--s5);position:relative;display:grid;gap:0}
.timeline::before{
  content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;
  background:linear-gradient(var(--brand),var(--sun));
}
@media(min-width:900px){
  .timeline{grid-template-columns:repeat(4,1fr);gap:1.4rem}
  .timeline::before{left:5%;right:5%;top:27px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--brand),var(--sun))}
}
.step{position:relative;padding-left:4.4rem;padding-bottom:2rem}
@media(min-width:900px){.step{padding-left:0;padding-top:4.2rem;padding-bottom:0}}
.step-dot{
  position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;
  background:var(--paper-raise);border:2px solid var(--brand);
  display:grid;place-items:center;font-weight:800;color:var(--brand);font-size:1.05rem;
  transition:transform .5s var(--ease),background .5s var(--ease),color .5s var(--ease);
}
.step:hover .step-dot{background:var(--brand);color:#fff;transform:scale(1.08)}
.step h4{font-size:1.12rem;font-weight:800;margin-bottom:.5rem}
.step p{font-size:var(--fs-sm);color:var(--ink-soft)}
.step .eta{display:inline-block;margin-top:.7rem;font-size:var(--fs-xs);font-weight:700;color:var(--brand);letter-spacing:.06em;text-transform:uppercase}

/* Case study stats */
.case{background:var(--deep);color:var(--paper);position:relative}
.case .split{align-items:center}
.case-img{border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.case-img img{transition:transform 1.4s var(--ease)}
.case-img:hover img{transform:scale(1.05)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:var(--s5)}
.stat{
  border:1px solid var(--line-inv);border-radius:20px;padding:1.5rem 1.4rem;
  background:rgba(255,255,255,.04);
}
.stat .num{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;color:var(--sun);font-variant-numeric:tabular-nums}
.stat .lbl{font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-top:.3rem}

/* Why solar band */
.why{position:relative;color:#fff;overflow:hidden;padding:var(--s6) 0}
.why-bg{position:absolute;inset:0}
.why-bg img{width:100%;height:100%;object-fit:cover}
.why-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,31,22,.92) 20%,rgba(11,31,22,.55) 70%,rgba(11,31,22,.35))}
.why-inner{position:relative}
.why h2{color:#fff}
.why-points{margin-top:var(--s5);display:grid;gap:1.1rem;max-width:600px}
.why-point{display:flex;gap:1.1rem;align-items:flex-start;padding:1.2rem 1.4rem;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.05);backdrop-filter:blur(6px);transition:transform .45s var(--ease),background .45s var(--ease)}
.why-point:hover{transform:translateX(8px);background:rgba(255,255,255,.09)}
.why-point .check{flex:none;width:34px;height:34px;border-radius:50%;background:var(--brand);display:grid;place-items:center;color:#fff}
.why-point strong{display:block;font-size:1.02rem;margin-bottom:.15rem}
.why-point span{font-size:var(--fs-sm);opacity:.85}

/* CTA */
.cta{padding:var(--s6) var(--gutter)}
.cta-card{
  max-width:var(--max);margin-inline:auto;text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--brand-strong),var(--deep) 75%);
  border-radius:36px;padding:clamp(3rem,7vw,5.5rem) var(--gutter);
  position:relative;overflow:hidden;
}
.cta-card::before{
  content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);
  width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(244,185,66,.25),transparent 60%);pointer-events:none;
}
.cta-card h2{color:#fff;margin-inline:auto;max-width:20ch}
.cta-card p{margin:var(--s3) auto var(--s5);max-width:46ch;opacity:.88}
.cta-card .btn-solid{background:var(--sun);color:var(--deep)}
.cta-card .btn-solid:hover{background:#ffc94f;color:var(--deep);box-shadow:0 14px 34px -12px rgba(244,185,66,.6)}

/* ============ FOOTER ============ */
footer.site-footer{background:var(--deep);color:var(--paper);padding:var(--s5) 0 2rem;border-top:1px solid var(--line-inv)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h5{font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:1rem}
.foot-grid ul{list-style:none;display:grid;gap:.55rem;font-size:var(--fs-sm)}
.foot-grid ul li{list-style:none}
.foot-grid a{opacity:.8;transition:opacity .3s}
.foot-grid a:hover{opacity:1;color:var(--sun)}
.foot-note{margin-top:var(--s5);padding-top:1.4rem;border-top:1px solid var(--line-inv);font-size:var(--fs-xs);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-brand p{font-size:var(--fs-sm);opacity:.75;margin-top:.9rem;max-width:34ch}
/* Widget areas adapt to footer styling */
.site-footer .widget{margin:0}
.site-footer .widget-title{font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:1rem}
.site-footer .widget ul{list-style:none;display:grid;gap:.55rem;font-size:var(--fs-sm)}
.site-footer .widget ul li{list-style:none}

/* ============ INNER PAGES (page.php / single.php / index) ============ */
.page-hero{
  background:var(--deep);color:var(--paper);
  padding:11rem var(--gutter) 4.5rem;position:relative;overflow:hidden;
}
.page-hero h1{font-size:var(--fs-lg);font-weight:800;letter-spacing:-.025em;max-width:20ch}
.page-hero .kicker{color:var(--sun)}
.page-body{padding:var(--s5) 0 var(--s6)}
.page-body .entry-content{max-width:760px}
.entry-content{font-size:var(--fs-base);color:var(--ink-soft)}
.entry-content h2{margin:2.2rem 0 1rem;max-width:none}
.entry-content h3,.entry-content h4{margin:1.8rem 0 .8rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.entry-content p{margin-bottom:1.2rem}
.entry-content ul,.entry-content ol{margin:0 0 1.2rem 1.4rem;display:grid;gap:.5rem}
.entry-content a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.entry-content a:hover{color:var(--brand-strong)}
.entry-content img{border-radius:16px;margin:1.6rem 0}
.entry-content blockquote{
  border-left:4px solid var(--brand);padding:1rem 1.6rem;margin:1.6rem 0;
  background:var(--paper-raise);border-radius:0 16px 16px 0;font-weight:500;color:var(--ink);
}
.entry-content .wp-block-button__link,
.entry-content .wp-block-button a{
  display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.9rem;border-radius:var(--r-pill);
  font-weight:700;font-size:var(--fs-sm);background:var(--brand);color:#fff;text-decoration:none;
  transition:background .35s var(--ease),transform .35s var(--ease);
}
.entry-content .wp-block-button__link:hover{background:var(--brand-strong);color:#fff;transform:translateY(-2px)}

/* Blog index / cards */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.6rem;margin-top:var(--s5)}
.post-card{background:var(--paper-raise);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.post-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(11,31,22,.25)}
.post-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--deep-raise)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.05)}
.post-card .body{padding:1.6rem 1.5rem 1.8rem}
.post-card .meta{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:.6rem}
.post-card h2,.post-card h3{font-size:1.3rem;font-weight:800;letter-spacing:-.01em;max-width:none;margin-bottom:.6rem}
.post-card p{font-size:var(--fs-sm);color:var(--ink-soft)}
.post-card .read{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;font-size:var(--fs-sm);font-weight:700;color:var(--brand)}

/* Pagination */
.pagination{display:flex;gap:.5rem;justify-content:center;margin-top:var(--s5);list-style:none}
.pagination .page-numbers{
  display:grid;place-items:center;min-width:44px;height:44px;padding:0 .8rem;
  border:1px solid var(--line);border-radius:12px;font-weight:700;font-size:var(--fs-sm);
  transition:background .3s,color .3s,border-color .3s;
}
.pagination .page-numbers.current{background:var(--brand);color:#fff;border-color:var(--brand)}
.pagination a.page-numbers:hover{border-color:var(--brand);color:var(--brand)}

/* Comments */
.comments-area{max-width:760px;margin:var(--s5) auto 0;padding-top:var(--s5);border-top:1px solid var(--line)}
.comment-list{list-style:none;display:grid;gap:1.4rem;margin:1.6rem 0}
.comment-list li{list-style:none;background:var(--paper-raise);border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.5rem}
.comment-author{font-weight:800;font-size:var(--fs-sm)}
.comment-metadata{font-size:var(--fs-xs);opacity:.6;margin:.2rem 0 .8rem}
.comment-respond input:not([type=submit]),.comment-respond textarea{
  width:100%;padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:12px;
  font:inherit;font-size:var(--fs-sm);background:var(--paper-raise);margin-bottom:.8rem;
}
.comment-respond input:not([type=submit]):focus,.comment-respond textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.comment-respond .submit{
  padding:.85rem 1.8rem;border:none;border-radius:var(--r-pill);cursor:pointer;
  background:var(--brand);color:#fff;font-weight:700;font-size:var(--fs-sm);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.comment-respond .submit:hover{background:var(--brand-strong);transform:translateY(-2px)}

/* Forms (generic, CF7-friendly) */
.wpcf7-form input:not([type=submit]),.wpcf7-form textarea,.wpcf7-form select{
  width:100%;padding:.95rem 1.15rem;border:1px solid var(--line);border-radius:12px;
  font:inherit;font-size:var(--fs-sm);background:var(--paper-raise);margin-bottom:.4rem;color:var(--ink);
}
.wpcf7-form input:focus,.wpcf7-form textarea:focus,.wpcf7-form select:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.wpcf7-form .wpcf7-submit{
  padding:.9rem 2rem;border:none;border-radius:var(--r-pill);cursor:pointer;width:auto;
  background:var(--brand);color:#fff;font-weight:700;font-size:var(--fs-sm);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.wpcf7-form .wpcf7-submit:hover{background:var(--brand-strong);transform:translateY(-2px)}

/* 404 / search */
.error-404,.no-results{text-align:center;padding:var(--s6) var(--gutter)}
.error-404 h1{font-size:var(--fs-lg);font-weight:800;margin-bottom:1rem}
.search-form{display:flex;gap:.6rem;max-width:420px;margin:1.6rem auto 0}
.search-form input{flex:1;padding:.85rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-pill);font:inherit;font-size:var(--fs-sm)}
.search-form button{padding:.85rem 1.5rem;border:none;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-weight:700;cursor:pointer;font-size:var(--fs-sm)}

@media(max-width:640px){
  section,.section{padding:calc(var(--s6)*.55) 0}
  .hero-content{padding-bottom:4rem}
  .page-hero{padding-top:9rem}
}
