/*
Theme Name: She Creates Energetic
Theme URI: https://shecreatesdesign.com/themes/she-creates-energetic
Author: She Creates Design (Regina)
Author URI: https://shecreatesdesign.com
Description: Elegáns szülő téma energetikai terapeuták, spirituális segítők és transzformációs trénerek számára. Smaragdzöld + arany paletta, serif tipográfia, minimális, bizalmat sugárzó design. Child temákkal személyre szabható.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: she-creates-energetic
Tags: custom-logo, custom-menu, featured-images, translation-ready, block-styles, wide-blocks, editor-style
*/

:root{
  --emerald:#0F5132;
  --emerald-deep:#0A3D24;
  --emerald-light:#1E7A50;
  --gold:#C9A961;
  --gold-light:#E4CC8F;
  --gold-deep:#9E8340;
  --blush:#F5E0DA;
  --rose:#E8C4BE;
  --beige:#E8DBC4;
  --beige-soft:#EFE5D1;
  --ivory:#FAF6EE;
  --cream:#F3EADB;
  --ink:#1A1F1C;
  --smoke:#6B6158;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  background:var(--ivory);
  color:var(--ink);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
.serif{font-family:'Cormorant Garamond',serif}

body > nav{
  position:fixed;
  top:0;left:0;right:0;
  padding:1.5rem 3rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:100;
  background:rgba(250,246,238,0.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(26,31,28,0.06);
}
.logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:500;
  letter-spacing:.02em;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.logo-mark{
  width:34px;height:34px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--gold-light),var(--gold) 50%,var(--gold-deep));
  box-shadow:0 0 0 1px var(--gold-deep),inset -2px -2px 4px rgba(0,0,0,.15);
  position:relative;
}
.logo-mark::after{
  content:'';
  position:absolute;
  inset:6px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
}
.logo i{color:var(--emerald);font-style:italic;font-weight:400}

/* WordPress custom logo - dinamikus méretezés a nav magasságához */
.logo-custom{
  display:flex;
  align-items:center;
  line-height:0;
  max-width:240px;
}
.logo-custom .custom-logo-link{
  display:inline-flex;
  align-items:center;
  line-height:0;
  text-decoration:none;
}
.logo-custom img,
.logo-custom .custom-logo{
  max-height:48px !important;
  width:auto !important;
  height:auto !important;
  max-width:100%;
  display:block;
  object-fit:contain;
}
@media(max-width:968px){
  .logo-custom{max-width:180px}
  .logo-custom img,
  .logo-custom .custom-logo{max-height:40px !important}
}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  color:var(--ink);
  text-decoration:none;
  font-size:.88rem;
  font-weight:400;
  letter-spacing:.04em;
  position:relative;
  transition:color .3s;
}
.nav-links a::after{
  content:'';
  position:absolute;
  left:0;bottom:-4px;
  width:0;height:1px;
  background:var(--gold);
  transition:width .3s ease;
}
.nav-links a:hover{color:var(--emerald)}
.nav-links a:hover::after{width:100%}
.nav-cta{
  padding:.7rem 1.6rem;
  background:var(--emerald);
  color:var(--ivory);
  border:none;
  border-radius:100px;
  font-family:'Jost',sans-serif;
  font-size:.85rem;
  cursor:pointer;
  transition:all .3s;
  letter-spacing:.04em;
  font-weight:500;
}
.nav-cta:hover{background:var(--emerald-deep);transform:translateY(-2px);box-shadow:0 10px 20px rgba(15,81,50,.25)}

.hero{
  min-height:100vh;
  padding:8rem 3rem 4rem;
  position:relative;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:5rem;
  align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(ellipse at 80% 20%,var(--beige) 0%,transparent 55%),
    radial-gradient(ellipse at 15% 85%,rgba(201,169,97,.15) 0%,transparent 50%),
    linear-gradient(180deg,var(--ivory) 0%,var(--cream) 100%);
}
.hero-content{position:relative;z-index:2}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  font-size:.78rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--emerald);
  margin-bottom:2.2rem;
  font-weight:500;
  opacity:0;
  animation:fadeUp .8s ease forwards .2s;
}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--gold)}
h1.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,6.5vw,5.8rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:2rem;
  opacity:0;
  animation:fadeUp .9s ease forwards .4s;
}
h1.hero-title .accent{
  font-style:italic;
  font-weight:400;
  color:var(--emerald);
  position:relative;
  display:inline-block;
}
h1.hero-title .accent::after{
  content:'';
  position:absolute;
  left:0;bottom:0.12em;
  width:100%;height:8px;
  background:var(--gold);
  opacity:.25;
  z-index:-1;
}
.hero-lead{
  font-size:1.15rem;
  color:var(--smoke);
  max-width:500px;
  margin-bottom:2.5rem;
  line-height:1.7;
  opacity:0;
  animation:fadeUp .9s ease forwards .6s;
}
.hero-lead strong{
  color:var(--ink);
  font-weight:500;
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
}
.hero-cta-group{
  display:flex;
  gap:1rem;
  align-items:center;
  margin-bottom:3rem;
  flex-wrap:wrap;
  opacity:0;
  animation:fadeUp .9s ease forwards .8s;
}
.btn-primary{
  padding:1.15rem 2.3rem;
  background:var(--emerald);
  color:var(--ivory);
  border:none;
  border-radius:100px;
  font-family:'Jost',sans-serif;
  font-size:.95rem;
  cursor:pointer;
  transition:all .4s;
  letter-spacing:.04em;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  box-shadow:0 8px 24px rgba(15,81,50,.2);
}
.btn-primary:hover{
  background:var(--emerald-deep);
  transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(15,81,50,.35);
}
.btn-primary svg{transition:transform .3s}
.btn-primary:hover svg{transform:translateX(4px)}
.btn-secondary{
  padding:1.15rem 2.3rem;
  background:transparent;
  color:var(--emerald);
  border:1px solid var(--emerald);
  border-radius:100px;
  font-family:'Jost',sans-serif;
  font-size:.95rem;
  cursor:pointer;
  transition:all .4s;
  font-weight:500;
  letter-spacing:.02em;
}
.btn-secondary:hover{background:var(--emerald);color:var(--ivory)}
.hero-trust-inline{
  display:flex;
  align-items:center;
  gap:1rem;
  font-size:.85rem;
  color:var(--smoke);
  opacity:0;
  animation:fadeUp .9s ease forwards 1s;
}
.hero-trust-inline .stars{color:var(--gold);letter-spacing:.15em;font-size:.9rem}
.hero-trust-inline strong{color:var(--ink);font-weight:500}

.hero-visual{
  position:relative;
  height:70vh;
  min-height:500px;
  opacity:0;
  animation:fadeIn 1.2s ease forwards .5s;
}
.hero-circle-main{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:85%;aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--rose) 0%,var(--blush) 30%,var(--gold-light) 65%,var(--gold) 100%);
  box-shadow:
    inset 0 0 80px rgba(201,169,97,.3),
    inset -20px -30px 60px rgba(158,131,64,.3),
    0 30px 80px rgba(201,169,97,.2);
}
.hero-circle-inner{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:65%;aspect-ratio:1;
  border-radius:50%;
  border:1px solid var(--gold);
  opacity:.5;
  animation:rotate 40s linear infinite;
}
.hero-circle-inner::before,
.hero-circle-inner::after{
  content:'';
  position:absolute;
  top:-4px;left:50%;
  width:8px;height:8px;
  background:var(--gold);
  border-radius:50%;
  transform:translateX(-50%);
}
.hero-circle-inner::after{top:auto;bottom:-4px}
.hero-circle-outer{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:100%;aspect-ratio:1;
  border-radius:50%;
  border:1px dashed rgba(15,81,50,.2);
  animation:rotate 80s linear infinite reverse;
}
.hero-emerald-orb{
  position:absolute;
  top:10%;right:5%;
  width:90px;height:90px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--emerald-light),var(--emerald) 60%,var(--emerald-deep));
  box-shadow:0 20px 40px rgba(15,81,50,.3),inset -5px -10px 20px rgba(10,61,36,.5);
  animation:float 6s ease-in-out infinite;
}
.hero-gold-dot{
  position:absolute;
  bottom:15%;left:8%;
  width:40px;height:40px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 10px 25px rgba(201,169,97,.4);
  animation:float 5s ease-in-out infinite 1s;
}
.hero-badge{
  position:absolute;
  bottom:8%;right:0;
  background:var(--ivory);
  padding:1.2rem 1.6rem;
  border-radius:100px;
  box-shadow:0 15px 40px rgba(26,31,28,.12);
  display:flex;
  align-items:center;
  gap:.9rem;
  z-index:3;
  border:1px solid rgba(201,169,97,.3);
}
.hero-badge-icon{
  width:36px;height:36px;
  border-radius:50%;
  background:var(--emerald);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-light);
}
.hero-badge-text{font-size:.82rem;line-height:1.3}
.hero-badge-text strong{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
  font-weight:500;
  color:var(--ink);
}
.hero-badge-text span{color:var(--smoke)}

@keyframes rotate{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}

.values-bar{
  padding:3rem;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:2.5rem;
  background:var(--emerald);
  color:var(--ivory);
  flex-wrap:wrap;
  position:relative;
}
.values-bar::before{
  content:'';
  position:absolute;
  top:0;left:15%;right:15%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);
  opacity:.5;
}
.values-bar::after{
  content:'';
  position:absolute;
  bottom:0;left:15%;right:15%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);
  opacity:.5;
}
.value-item{
  display:flex;
  align-items:center;
  gap:1rem;
  flex:1 1 auto;
  min-width:200px;
  max-width:260px;
}
.value-icon{
  width:46px;height:46px;
  border-radius:50%;
  background:rgba(201,169,97,.15);
  border:1px solid rgba(201,169,97,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-light);
  flex-shrink:0;
}
.value-text{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  line-height:1.3;
}
.value-text strong{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;
  font-weight:500;
  color:var(--ivory);
  letter-spacing:-0.005em;
}
.value-text span{
  font-size:.78rem;
  color:rgba(250,246,238,.65);
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
}
.value-divider{
  width:1px;
  background:rgba(201,169,97,.25);
  align-self:stretch;
}

.about{
  padding:8rem 3rem;
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:6rem;
  align-items:center;
  position:relative;
  max-width:1400px;
  margin:0 auto;
}
.about-visual{
	position:relative;
	aspect-ratio:4/5}
.about-portrait{
  width:100%;
	height:auto;
  background:radial-gradient(circle at 55% 35%,var(--rose) 0%,var(--blush) 35%,var(--gold-light) 70%,var(--gold) 100%);
  border-radius:4px;
  position:relative;
  overflow:hidden;
}
.about-portrait img{width: 100%; height: auto;}
.about-portrait::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 40% 40%,transparent 35%,rgba(158,131,64,.3) 70%),
    linear-gradient(180deg,transparent 55%,rgba(26,31,28,.2));
}
.about-portrait::after{
  content:'';
  position:absolute;
  top:20%;left:35%;
  width:35%;height:30%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(250,246,238,.4),transparent 70%);
}
.about-frame{
  position:absolute;
  inset:-18px -18px 18px 18px;
  border:1px solid var(--gold);
  border-radius:4px;
  pointer-events:none;
}
.about-badge{
  position:absolute;
  bottom:-30px;right:-30px;
  background:var(--emerald);
  color:var(--ivory);
  padding:1.5rem 2rem;
  border-radius:100px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  box-shadow:0 20px 40px rgba(15,81,50,.3);
  display:flex;
  align-items:center;
  gap:0.8rem;
}
.about-badge strong{
  font-weight:500;
  font-style:normal;
  font-size:1.8rem;
  color:var(--gold-light);
  line-height:1;
}

.section-label{
  font-size:.75rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--emerald);
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:.9rem;
  font-weight:500;
}
.section-label::before{content:'';width:32px;height:1px;background:var(--gold)}
h2.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,3.6rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:2rem;
  color:var(--ink);
}
h2.section-title .italic{
  font-style:italic;
  color:var(--emerald);
  font-weight:400;
}
.about-text{
  font-size:1.05rem;
  color:var(--smoke);
  line-height:1.8;
  margin-bottom:1.5rem;
  max-width:540px;
}
.about-signature{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.9rem;
  color:var(--emerald);
  margin-top:2rem;
  letter-spacing:-0.01em;
}
.about-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  margin-top:3rem;
  padding-top:3rem;
  border-top:1px solid rgba(26,31,28,.1);
  max-width:540px;
}
.highlight-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem;
  font-weight:500;
  color:var(--emerald);
  line-height:1;
  display:block;
  margin-bottom:.5rem;
}
.highlight-num .unit{color:var(--gold);font-size:1.5rem}
.highlight-label{
  font-size:.8rem;
  color:var(--smoke);
  letter-spacing:.05em;
  line-height:1.4;
}

.method{
  padding:8rem 3rem;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.method::before{
  content:'';
  position:absolute;
  top:-200px;right:-150px;
  width:450px;height:450px;
  background:radial-gradient(circle,rgba(201,169,97,.18),transparent 70%);
  border-radius:50%;
}
.method::after{
  content:'';
  position:absolute;
  bottom:-250px;left:-180px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(15,81,50,.08),transparent 70%);
  border-radius:50%;
}
.method-inner{
  max-width:1300px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.method-header{
  max-width:720px;
  margin:0 auto 5rem;
  text-align:center;
}
.method-header .section-label{justify-content:center}
.method-header .section-label::before{display:none}
.method-header .section-label::after{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}
.method-lead{
  font-size:1.15rem;
  color:var(--smoke);
  line-height:1.7;
  max-width:620px;
  margin:0 auto;
}

.process-card{
  background:var(--ivory);
  border-radius:8px;
  padding:4rem;
  margin-bottom:3rem;
  box-shadow:0 30px 80px rgba(26,31,28,.08);
  border:1px solid rgba(201,169,97,.2);
  position:relative;
  overflow:hidden;
}
.process-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--gold),var(--emerald),var(--gold));
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3rem;
  position:relative;
}
.process-grid::before{
  content:'';
  position:absolute;
  top:28px;left:10%;right:10%;
  height:1px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 12px);
  opacity:.4;
}
.process-step{position:relative;text-align:center}
.process-num{
  width:56px;height:56px;
  margin:0 auto 1.5rem;
  background:var(--ivory);
  border:1px solid var(--gold);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  font-style:italic;
  color:var(--emerald);
  position:relative;
  z-index:2;
}
.process-step:nth-child(even) .process-num{
  background:var(--emerald);
  color:var(--gold-light);
  border-color:var(--emerald);
}
.process-step h4{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
  font-weight:500;
  margin-bottom:.8rem;
  color:var(--ink);
}
.process-step p{
  font-size:.9rem;
  color:var(--smoke);
  line-height:1.65;
}

.techniques{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  margin-top:4rem;
}
.technique-card{
  padding:2rem 1.8rem;
  background:var(--ivory);
  border-radius:4px;
  border:1px solid rgba(26,31,28,.06);
  transition:all .4s;
}
.technique-card:hover{
  transform:translateY(-4px);
  border-color:var(--gold);
  box-shadow:0 20px 40px rgba(26,31,28,.08);
}
.technique-icon{
  width:44px;height:44px;
  background:var(--beige-soft);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.2rem;
  color:var(--emerald);
}
.technique-card h5{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;
  font-weight:500;
  margin-bottom:.5rem;
  color:var(--ink);
}
.technique-card p{
  font-size:.85rem;
  color:var(--smoke);
  line-height:1.55;
}
.technique-note{
  text-align:center;
  margin-top:3rem;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--smoke);
}
.technique-note strong{color:var(--emerald);font-weight:500}

.offer{padding:8rem 3rem;position:relative}
.offer-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}
.offer-visual{position:relative}
.offer-card{
  background:var(--ivory);
  border-radius:8px;
  padding:3rem 2.8rem;
  box-shadow:0 30px 70px rgba(26,31,28,.1);
  border:1px solid rgba(201,169,97,.25);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.offer-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--gold),var(--emerald),var(--gold));
}
.offer-card::after{
  content:'';
  position:absolute;
  bottom:-100px;right:-100px;
  width:250px;height:250px;
  background:radial-gradient(circle,rgba(232,219,196,.4),transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.offer-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1.4rem;
  position:relative;
  z-index:2;
}
.offer-card-label{
  font-size:.72rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--emerald);
  font-weight:500;
}
.offer-card-deco{
  width:32px;height:32px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--gold-light),var(--gold) 60%,var(--gold-deep));
  box-shadow:inset -2px -2px 4px rgba(0,0,0,.15);
  position:relative;
}
.offer-card-deco::after{
  content:'';
  position:absolute;
  inset:6px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
}
.offer-card-price{
  font-family:'Cormorant Garamond',serif;
  display:flex;
  align-items:baseline;
  gap:.4rem;
  margin-bottom:1.5rem;
  position:relative;
  z-index:2;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.offer-card-amount{
  font-size:3.2rem;
  font-weight:500;
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.02em;
  white-space:nowrap;
}
.offer-card-duration{
  font-size:1.1rem;
  font-style:italic;
  color:var(--smoke);
  white-space:nowrap;
}
.offer-card-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);
  opacity:.5;
  margin-bottom:1.8rem;
}
.offer-card-intro{
  font-size:.72rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--smoke);
  margin-bottom:1.2rem;
  font-weight:500;
  position:relative;
  z-index:2;
}
.offer-card-layers{
  list-style:none;
  margin-bottom:2rem;
  position:relative;
  z-index:2;
}
.offer-card-layers li{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:.9rem 0;
  border-bottom:1px solid rgba(26,31,28,.06);
}
.offer-card-layers li:last-child{border:none}
.offer-layer-num{
  width:34px;height:34px;
  border-radius:50%;
  background:var(--beige-soft);
  color:var(--emerald);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  flex-shrink:0;
  border:1px solid rgba(201,169,97,.3);
}
.offer-card-layers li:nth-child(even) .offer-layer-num{
  background:var(--emerald);
  color:var(--gold-light);
  border-color:var(--emerald);
}
.offer-card-layers li div{display:flex;flex-direction:column;gap:.1rem}
.offer-card-layers li strong{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:1.05rem;
  color:var(--ink);
  letter-spacing:-0.005em;
}
.offer-card-layers li span{
  font-size:.82rem;
  color:var(--smoke);
}
.offer-card-footer{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(201,169,97,.2);
  position:relative;
  z-index:2;
}
.offer-card-stars{color:var(--gold);letter-spacing:.15em;font-size:.85rem}
.offer-card-rating{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--smoke);
  font-size:.9rem;
}
.offer-content{position:relative}
.offer-list{list-style:none;margin:2rem 0 2.5rem}
.offer-list li{
  padding:1rem 0;
  font-size:1rem;
  color:var(--ink);
  border-bottom:1px solid rgba(26,31,28,.08);
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.offer-list li:last-child{border:none}
.offer-check{
  width:24px;height:24px;
  background:var(--beige-soft);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:var(--emerald);
  margin-top:2px;
}
.offer-cta-group{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2rem;
}
.offer-note{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.05rem;
  color:var(--smoke);
  margin-top:1.5rem;
}

/* PACKAGES */
.packages{
  padding:8rem 3rem;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.packages::before{
  content:'';
  position:absolute;
  top:-250px;left:-180px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(232,219,196,.4),transparent 70%);
  border-radius:50%;
}
.packages::after{
  content:'';
  position:absolute;
  bottom:-200px;right:-150px;
  width:450px;height:450px;
  background:radial-gradient(circle,rgba(201,169,97,.15),transparent 70%);
  border-radius:50%;
}
.packages-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.packages-header{
  max-width:720px;
  margin:0 auto 5rem;
  text-align:center;
}
.packages-header .section-label{justify-content:center}
.packages-header .section-label::before{display:none}
.packages-header .section-label::after{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}
.packages-lead{
  font-size:1.1rem;
  color:var(--smoke);
  line-height:1.7;
  max-width:640px;
  margin:0 auto;
}
.packages-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:stretch;
  padding-top:18px;
}

/* Dark (emerald) variant of offer-card for featured package */
.offer-card-dark{
  background:var(--emerald);
  color:var(--ivory);
  border-color:var(--emerald);
  padding-top:4.5rem;
}
.offer-card-dark::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--gold-light),var(--gold),var(--gold-light));
}
.offer-card-dark::after{
  background:radial-gradient(circle,rgba(201,169,97,.15),transparent 70%);
}
.offer-card-dark .offer-card-label{color:var(--gold-light)}
.offer-card-dark .offer-card-amount{color:var(--gold-light)}
.offer-card-dark .offer-card-duration{color:rgba(250,246,238,.65)}
.offer-card-dark .offer-card-divider{
  background:linear-gradient(90deg,transparent,rgba(228,204,143,.4) 50%,transparent);
}
.offer-card-dark .offer-card-intro{color:rgba(250,246,238,.6)}
.offer-card-dark .offer-card-layers li{border-color:rgba(228,204,143,.12)}
.offer-card-dark .offer-card-layers li strong{color:var(--ivory)}
.offer-card-dark .offer-card-layers li span{color:rgba(250,246,238,.6)}
.offer-card-dark .offer-layer-num{
  background:rgba(201,169,97,.15);
  color:var(--gold-light);
  border-color:rgba(201,169,97,.4);
}
.offer-card-dark .offer-card-layers li:nth-child(even) .offer-layer-num{
  background:var(--gold);
  color:var(--emerald-deep);
  border-color:var(--gold);
}

/* Discount badge */
.package-badge{
  position:absolute;
  top:14px;right:2rem;
  background:var(--gold);
  color:var(--ink);
  padding:.4rem 1.3rem;
  border-radius:100px;
  font-size:.7rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  font-weight:600;
  z-index:3;
}

/* Old price + savings row */
.offer-card-discount-row{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-top:.8rem;
  margin-bottom:.3rem;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}
.offer-card-old{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  text-decoration:line-through;
  color:rgba(250,246,238,.5);
}
.offer-card-savings{
  background:var(--gold);
  color:var(--emerald-deep);
  padding:.2rem .75rem;
  border-radius:100px;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.05em;
  font-family:'Jost',sans-serif;
}

/* Buttons */
.package-btn{
  width:100%;
  padding:1.15rem;
  background:transparent;
  border:1px solid var(--emerald);
  color:var(--emerald);
  border-radius:100px;
  cursor:pointer;
  font-family:'Jost',sans-serif;
  font-size:.9rem;
  transition:all .3s;
  letter-spacing:.04em;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  margin-top:auto;
  position:relative;
  z-index:2;
}
.package-btn:hover{
  background:var(--emerald);
  color:var(--ivory);
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(15,81,50,.25);
}
.package-btn-gold{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--emerald-deep);
}
.package-btn-gold:hover{
  background:var(--gold-light);
  border-color:var(--gold-light);
  color:var(--emerald-deep);
  box-shadow:0 15px 30px rgba(201,169,97,.35);
}

.packages-note{
  text-align:center;
  margin-top:3.5rem;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--smoke);
}
.packages-note strong{color:var(--emerald);font-weight:500;font-style:normal}

.testimonials{
  padding:8rem 3rem;
  background:var(--emerald);
  color:var(--ivory);
  position:relative;
  overflow:hidden;
}
.testimonials::before{
  content:'';
  position:absolute;
  bottom:-350px;left:-250px;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(201,169,97,.15),transparent 70%);
  border-radius:50%;
}
.testimonials::after{
  content:'';
  position:absolute;
  top:-200px;right:-200px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(232,219,196,.08),transparent 70%);
  border-radius:50%;
}
.testimonials .section-label{color:var(--gold-light)}
.testimonials .section-label::before{background:var(--gold)}
.testimonials .section-title{color:var(--ivory)}
.testimonials-header{
  max-width:720px;
  margin:0 auto 5rem;
  text-align:center;
  position:relative;
  z-index:2;
}
.testimonials-header .section-label{justify-content:center}
.testimonials-header .section-label::before{display:none}
.testimonials-header .section-label::after{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}
.testimonial-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:2rem;
  max-width:1300px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.testimonial{
  padding:2.5rem;
  background:rgba(250,246,238,.05);
  border:1px solid rgba(250,246,238,.12);
  border-radius:6px;
  position:relative;
  backdrop-filter:blur(10px);
  transition:all .4s;
}
.testimonial:hover{
  background:rgba(250,246,238,.08);
  transform:translateY(-4px);
  border-color:var(--gold);
}
.testimonial:first-child{
  background:var(--beige);
  color:var(--ink);
  border:none;
}
.testimonial:first-child .testimonial-quote{color:var(--ink)}
.testimonial:first-child .testimonial-author strong{color:var(--ink)}
.testimonial:first-child .testimonial-author span{color:rgba(26,31,28,.6)}
.testimonial:first-child .testimonial-stars{color:var(--emerald)}
.testimonial:first-child::before{color:rgba(15,81,50,.15)}
.testimonial::before{
  content:'"';
  position:absolute;
  top:1rem;right:1.8rem;
  font-family:'Cormorant Garamond',serif;
  font-size:6rem;
  color:rgba(201,169,97,.2);
  line-height:1;
}
.testimonial-stars{
  color:var(--gold);
  letter-spacing:.2em;
  font-size:.9rem;
  margin-bottom:1.2rem;
}
.testimonial-quote{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  line-height:1.55;
  font-weight:400;
  margin-bottom:2rem;
  letter-spacing:-0.005em;
  color:var(--ivory);
  position:relative;
  z-index:2;
}
.testimonial:first-child .testimonial-quote{font-size:1.35rem;font-style:italic}
.testimonial-author{
  display:flex;
  align-items:center;
  gap:1rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(250,246,238,.15);
}
.testimonial:first-child .testimonial-author{border-color:rgba(15,81,50,.15)}
.avatar{
  width:44px;height:44px;
  border-radius:50%;
  flex-shrink:0;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
}
.testimonial:nth-child(2) .avatar{background:linear-gradient(135deg,var(--beige-soft),var(--beige))}
.testimonial:nth-child(3) .avatar{background:linear-gradient(135deg,var(--gold-light),var(--gold))}
.testimonial-author strong{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:1.05rem;
  margin-bottom:.15rem;
  color:var(--ivory);
}
.testimonial-author span{
  font-size:.8rem;
  color:rgba(250,246,238,.6);
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
}

.cta-banner{
  padding:6rem 3rem;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.cta-inner{
  max-width:1000px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:2;
}
.cta-banner::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(201,169,97,.1),transparent 65%);
  border-radius:50%;
}
.cta-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:400;
  line-height:1.1;
  margin-bottom:1.5rem;
  color:var(--ink);
  letter-spacing:-0.02em;
}
.cta-title .italic{font-style:italic;color:var(--emerald)}
.cta-lead{
  font-size:1.1rem;
  color:var(--smoke);
  margin-bottom:2.5rem;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.7;
}

.contact{
  padding:8rem 3rem;
  background:var(--ivory);
  position:relative;
}
.contact-inner{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:5rem;
  align-items:start;
}
.contact-info{position:sticky;top:120px}
.contact-details{
  margin-top:2.5rem;
  padding-top:2.5rem;
  border-top:1px solid rgba(26,31,28,.1);
}
.contact-row{
  display:flex;
  align-items:flex-start;
  gap:1.5rem;
  padding:1.4rem 0;
  border-bottom:1px solid rgba(26,31,28,.08);
}
.contact-row:last-child{border:none}
.contact-icon{
  width:44px;height:44px;
  background:var(--beige-soft);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:var(--emerald);
}
.contact-row-label{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.25em;
  color:var(--smoke);
  margin-bottom:.3rem;
  font-weight:500;
}
.contact-row-value{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  color:var(--ink);
}
.contact-social{
  display:flex;
  gap:.8rem;
  margin-top:2rem;
}
.contact-social a{
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid rgba(26,31,28,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--emerald);
  text-decoration:none;
  transition:all .3s;
}
.contact-social a:hover{
  background:var(--emerald);
  color:var(--gold-light);
  border-color:var(--emerald);
  transform:translateY(-3px);
}
/* ============================================
   FLUENT FORMS — She Creates Energetic illesztés
   ============================================ */

/* Form container */
.contact-form-wrap .fluentform{
  margin-top:0;
}
.contact-form-wrap .fluentform .ff-el-group{
  margin-bottom:1.5rem !important;
}
.contact-form-wrap .fluentform .ff-el-input--label label{
  display:block !important;
  font-size:.75rem !important;
  text-transform:uppercase !important;
  letter-spacing:.2em !important;
  color:var(--emerald) !important;
  margin-bottom:.6rem !important;
  font-weight:500 !important;
  font-family:'Jost',sans-serif !important;
}
.contact-form-wrap .fluentform .ff-el-input--label label .ff-el-is-required.asterisk-right label:after,
.contact-form-wrap .fluentform .ff-el-is-required.asterisk-right > label:after{
  color:var(--gold) !important;
}

/* Input, select, textarea mezők */
.contact-form-wrap .fluentform input[type="text"],
.contact-form-wrap .fluentform input[type="email"],
.contact-form-wrap .fluentform input[type="tel"],
.contact-form-wrap .fluentform input[type="number"],
.contact-form-wrap .fluentform select,
.contact-form-wrap .fluentform textarea{
  width:100% !important;
  padding:.95rem 0 !important;
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(26,31,28,.2) !important;
  border-radius:0 !important;
  font-family:'Jost',sans-serif !important;
  font-size:1rem !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  transition:border-color .3s !important;
  line-height:1.5 !important;
  height:auto !important;
}

.contact-form-wrap .fluentform input::placeholder,
.contact-form-wrap .fluentform textarea::placeholder{
  color:var(--smoke) !important;
  opacity:.6 !important;
}

.contact-form-wrap .fluentform input:focus,
.contact-form-wrap .fluentform select:focus,
.contact-form-wrap .fluentform textarea:focus{
  outline:none !important;
  border-color:var(--gold) !important;
  box-shadow:none !important;
}

.contact-form-wrap .fluentform textarea{
  resize:vertical !important;
  min-height:100px !important;
}

/* Two-column row (Name + Phone egymás mellett) */
.contact-form-wrap .fluentform .ff-t-container{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:1.5rem !important;
}
.contact-form-wrap .fluentform .ff-t-cell{
  padding:0 !important;
}
@media(max-width:640px){
  .contact-form-wrap .fluentform .ff-t-container{
    grid-template-columns:1fr !important;
  }
}

/* Submit gomb */
.contact-form-wrap .fluentform .ff-btn-submit,
.contact-form-wrap .fluentform button[type="submit"]{
  width:100% !important;
  padding:1.25rem !important;
  background:var(--emerald) !important;
  color:var(--ivory) !important;
  border:none !important;
  border-radius:100px !important;
  font-family:'Jost',sans-serif !important;
  font-size:.95rem !important;
  cursor:pointer !important;
  margin-top:1rem !important;
  letter-spacing:.04em !important;
  transition:all .3s !important;
  font-weight:500 !important;
  height:auto !important;
}
.contact-form-wrap .fluentform .ff-btn-submit:hover,
.contact-form-wrap .fluentform button[type="submit"]:hover{
  background:var(--emerald-deep) !important;
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(15,81,50,.3);
}

/* Validációs hibaüzenetek */
.contact-form-wrap .fluentform .error{
  color:var(--rust, #8B3A1D) !important;
  font-size:.8rem !important;
  margin-top:.4rem !important;
  font-family:'Jost',sans-serif !important;
}

/* Sikeres beküldés üzenet */
.contact-form-wrap .ff-message-success{
  background:var(--cream) !important;
  color:var(--emerald) !important;
  padding:2rem !important;
  border-radius:8px !important;
  border:1px solid rgba(201,169,97,.3) !important;
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.15rem !important;
  line-height:1.5 !important;
  text-align:center !important;
}

footer{
  padding:4rem 3rem 2rem;
  background:var(--ink);
  color:var(--cream);
}
.footer-content{
  max-width:1300px;
  margin:0 auto 3rem;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:4rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(250,246,238,.1);
}
.footer-brand h3{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:500;
  margin-bottom:1rem;
  letter-spacing:-0.01em;
}
.footer-brand h3 i{color:var(--gold);font-weight:400}
.footer-brand p{
  color:rgba(250,246,238,.6);
  max-width:380px;
  line-height:1.7;
  font-size:.9rem;
}
.footer-col h4{
  font-size:.72rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
  font-weight:500;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.7rem}
.footer-col a{
  color:rgba(250,246,238,.7);
  text-decoration:none;
  font-size:.9rem;
  transition:color .3s;
}
.footer-col a:hover{color:var(--gold-light)}
.footer-bottom{
  max-width:1300px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.8rem;
  color:rgba(250,246,238,.5);
  flex-wrap:wrap;
  gap:1rem;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(40px);transition:all .9s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(max-width:968px){
  body > nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;padding:7rem 1.5rem 3rem;gap:3rem}
  .hero-visual{height:50vh;min-height:400px}
  .about,.contact-inner{grid-template-columns:1fr;gap:3rem}
  .about{padding:5rem 1.5rem}
  .about-badge{bottom:-20px;right:20px;padding:1rem 1.4rem;font-size:.85rem}
  .about-badge strong{font-size:1.3rem}
  .method,.testimonials,.contact,.cta-banner,.packages{padding:5rem 1.5rem}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:2rem}
  .process-grid::before{display:none}
  .techniques{grid-template-columns:1fr}
  .packages-grid{grid-template-columns:1fr;gap:1.5rem}
  .offer-card{padding:2.5rem 2rem}
  .testimonial-grid{grid-template-columns:1fr;gap:1.5rem}
  .form-row{grid-template-columns:1fr;gap:0}
  .footer-content{grid-template-columns:1fr;gap:2rem}
  .values-bar{flex-direction:column;gap:1.5rem;padding:2.5rem 1.5rem;align-items:flex-start}
  .value-item{max-width:none;width:100%}
  .value-divider{display:none}
  .contact-info{position:static}
  .process-card{padding:2rem}
  .contact-form-wrap{padding:2rem}
  .offer-card{padding:2rem 1.6rem}
  .offer-card-amount{font-size:2.4rem}
}

/* Gutenberg editor compatibility */
.wp-block-group{max-width:1300px;margin-left:auto;margin-right:auto}
.wp-site-blocks{overflow-x:hidden}
.sticky, .bypostauthor{/* required by WP */}
.screen-reader-text{position:absolute !important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
/* ============================================
   BLOG RENDSZER
   ============================================ */

/* Blog hero — listaoldal és archívum fejléce */
.blog-hero{
  padding:10rem 3rem 5rem;
  background:var(--ivory);
  position:relative;
  overflow:hidden;
}
.blog-hero::before{
  content:'';
  position:absolute;
  top:-150px;right:-100px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(232,219,196,.4),transparent 70%);
  border-radius:50%;
}
.blog-hero::after{
  content:'';
  position:absolute;
  bottom:-200px;left:-150px;
  width:450px;height:450px;
  background:radial-gradient(circle,rgba(201,169,97,.12),transparent 70%);
  border-radius:50%;
}
.blog-hero-inner{
  max-width:800px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:2;
}
.blog-hero-inner .section-label{justify-content:center}
.blog-hero-inner .section-label::before{display:none}
.blog-hero-inner .section-label::after{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}
.blog-hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5vw,4rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:1.5rem;
}
.blog-hero-lead{
  font-size:1.15rem;
  color:var(--smoke);
  line-height:1.7;
  max-width:620px;
  margin:0 auto;
}

/* Blog main area */
.blog-main{
  padding:5rem 3rem 8rem;
  background:var(--ivory);
}
.blog-inner{
  max-width:1200px;
  margin:0 auto;
}

/* Blog grid — cards */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem;
}
.blog-grid-related{margin-top:2rem}

/* Blog card */
.blog-card{
  background:var(--ivory);
  border-radius:8px;
  overflow:hidden;
  transition:all .5s cubic-bezier(.2,.8,.2,1);
  display:flex;
  flex-direction:column;
  height:100%;
}
.blog-card:hover{
  transform:translateY(-6px);
}
.blog-card:hover .blog-card-image img{
  transform:scale(1.05);
}
.blog-card:hover .blog-card-title a{
  color:var(--emerald);
}

.blog-card-image-link{
  display:block;
  overflow:hidden;
  border-radius:6px;
  aspect-ratio:4/3;
  background:var(--cream);
  position:relative;
}
.blog-card-image{
  width:100%;height:100%;
  position:relative;
}
.blog-card-image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
  display:block;
}
.blog-card-image-placeholder{
  background:linear-gradient(135deg,var(--beige-soft) 0%,var(--cream) 50%,var(--beige) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.blog-card-image-placeholder::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 30%,rgba(201,169,97,.25),transparent 50%),
    radial-gradient(circle at 20% 80%,rgba(15,81,50,.08),transparent 60%);
}
.blog-card-image-placeholder .placeholder-deco{
  width:60px;height:60px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--gold-light),var(--gold) 60%,var(--gold-deep));
  box-shadow:0 10px 30px rgba(158,131,64,.25);
  position:relative;
  z-index:2;
}
.blog-card-image-placeholder .placeholder-deco::after{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
}

.blog-card-content{
  padding:1.8rem 0 0;
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-card-meta{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1rem;
  font-size:.75rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--smoke);
}
.blog-card-category{
  color:var(--emerald);
  text-decoration:none;
  font-weight:500;
  transition:color .3s;
}
.blog-card-category:hover{color:var(--gold-deep)}
.blog-card-meta-sep{color:var(--gold);opacity:.6}
.blog-card-date{font-style:italic;font-family:'Cormorant Garamond',serif;font-size:.85rem;letter-spacing:.02em;text-transform:none}

.blog-card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-0.01em;
  margin-bottom:1rem;
}
.blog-card-title a{
  color:var(--ink);
  text-decoration:none;
  transition:color .3s;
}

.blog-card-excerpt{
  font-size:.95rem;
  color:var(--smoke);
  line-height:1.65;
  margin-bottom:1.5rem;
  flex:1;
}

.blog-card-link{
  color:var(--emerald);
  text-decoration:none;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:gap .3s;
  font-weight:500;
  margin-top:auto;
}
.blog-card-link:hover{gap:1rem;color:var(--gold-deep)}

/* Pagination */
.blog-pagination{
  margin-top:5rem;
  display:flex;
  justify-content:center;
}
.blog-pagination .nav-links{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-wrap:wrap;
}
.blog-pagination .page-numbers{
  padding:.6rem 1rem;
  min-width:40px;
  text-align:center;
  color:var(--ink);
  text-decoration:none;
  border-radius:100px;
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;
  transition:all .3s;
  border:1px solid transparent;
}
.blog-pagination .page-numbers:hover{
  border-color:var(--gold);
  color:var(--emerald);
}
.blog-pagination .page-numbers.current{
  background:var(--emerald);
  color:var(--ivory);
  border-color:var(--emerald);
}
.blog-pagination .page-numbers.dots{opacity:.5;padding:.6rem .4rem}

/* Empty state */
.blog-empty{
  text-align:center;
  padding:4rem 2rem;
  color:var(--smoke);
}
.blog-empty h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:400;
  margin-bottom:1rem;
  color:var(--ink);
}

/* ============================================
   SINGLE POST
   ============================================ */
.single-post{
  background:var(--ivory);
}
.single-hero{
  padding:10rem 3rem 3rem;
  position:relative;
  background:var(--ivory);
}
.single-hero-inner{
  max-width:800px;
  margin:0 auto;
  text-align:center;
}
.single-category{
  margin-bottom:1.5rem;
}
.single-category a{
  display:inline-block;
  padding:.4rem 1.2rem;
  background:var(--cream);
  color:var(--emerald);
  text-decoration:none;
  border-radius:100px;
  font-size:.72rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid rgba(201,169,97,.3);
  transition:all .3s;
}
.single-category a:hover{
  background:var(--emerald);
  color:var(--gold-light);
  border-color:var(--emerald);
}
.single-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:1.5rem;
}
.single-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  font-size:.9rem;
  color:var(--smoke);
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
}
.single-meta-sep{color:var(--gold);opacity:.6}

.single-featured-image{
  max-width:1100px;
  margin:3rem auto;
  padding:0 3rem;
}
.single-featured-image img{
  width:100%;
  height:auto;
  border-radius:8px;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
  box-shadow:0 30px 80px rgba(26,31,28,.12);
}

.single-content-wrap{
  max-width:860px;
  margin:0 auto;
  padding:4rem 3rem 6rem;
}
.single-content{
  font-size:1.1rem;
  line-height:1.8;
  color:var(--ink);
}
.single-content p{margin-bottom:1.5rem}
.single-content h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem;
  font-weight:500;
  margin:3rem 0 1.2rem;
  letter-spacing:-0.015em;
  line-height:1.15;
  color:var(--ink);
}
.single-content h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;
  font-weight:500;
  margin:2.5rem 0 1rem;
  letter-spacing:-0.01em;
  line-height:1.2;
}
.single-content h4{
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;
  font-weight:500;
  margin:2rem 0 .8rem;
}
.single-content blockquote{
  margin:2.5rem 0;
  padding:2rem 2.5rem;
  background:var(--cream);
  border-left:3px solid var(--gold);
  border-radius:4px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.3rem;
  line-height:1.5;
  color:var(--ink);
}
.single-content blockquote p:last-child{margin-bottom:0}
.single-content a{
  color:var(--emerald);
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:3px;
  transition:color .3s;
}
.single-content a:hover{color:var(--gold-deep)}
.single-content ul,.single-content ol{
  margin:1.5rem 0 1.5rem 1.5rem;
}
.single-content li{margin-bottom:.6rem;line-height:1.7}
.single-content ul li::marker{color:var(--gold)}
.single-content code{
  background:var(--cream);
  padding:.15em .45em;
  border-radius:3px;
  font-size:.9em;
}
.single-content pre{
  background:var(--ink);
  color:var(--cream);
  padding:1.5rem;
  border-radius:6px;
  overflow-x:auto;
  margin:2rem 0;
  font-size:.9rem;
}
.single-content img{
  max-width:100%;
  height:auto;
  border-radius:6px;
  margin:2rem 0;
}
.single-content figure{margin:2rem 0}
.single-content figcaption{
  text-align:center;
  font-size:.85rem;
  color:var(--smoke);
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
  margin-top:.8rem;
}
.single-content hr{
  border:none;
  margin:3rem auto;
  width:80px;
  height:1px;
  background:var(--gold);
  opacity:.4;
}
.single-content strong{color:var(--ink);font-weight:500}

/* Tags */
.single-tags{
  margin:3rem 0;
  padding:2rem 0;
  border-top:1px solid rgba(26,31,28,.08);
  border-bottom:1px solid rgba(26,31,28,.08);
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
}
.single-tags-label{
  font-size:.72rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--smoke);
  font-weight:500;
  margin-right:.5rem;
}
.single-tag{
  padding:.35rem .9rem;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  border:1px solid rgba(201,169,97,.4);
  border-radius:100px;
  font-size:.8rem;
  transition:all .3s;
}
.single-tag:hover{
  background:var(--gold);
  color:var(--ink);
  border-color:var(--gold);
}

/* Prev / Next */
.single-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  margin:5rem 0 3rem;
  padding-top:4rem;
  border-top:1px solid rgba(26,31,28,.08);
}
.single-nav-prev,.single-nav-next{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding:1.8rem;
  background:var(--cream);
  border:1px solid rgba(201,169,97,.2);
  border-radius:6px;
  text-decoration:none;
  transition:all .3s;
}
.single-nav-next{text-align:right}
.single-nav-prev:hover,.single-nav-next:hover{
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(26,31,28,.08);
}
.single-nav-label{
  font-size:.72rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--smoke);
  font-weight:500;
}
.single-nav-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.3;
}

/* Related posts */
.single-related{
  margin-top:5rem;
  padding-top:4rem;
  border-top:1px solid rgba(26,31,28,.08);
}
.single-related-title{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:500;
  text-align:center;
  margin-bottom:3rem;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.single-related .blog-grid{grid-template-columns:repeat(3,1fr)}

/* Comments section */
.single-comments{
  margin-top:4rem;
  padding-top:3rem;
  border-top:1px solid rgba(26,31,28,.08);
}

/* ============================================
   FRONT-PAGE BLOG SECTION
   ============================================ */
.front-blog{
  padding:8rem 3rem;
  background:var(--ivory);
  position:relative;
  overflow:hidden;
}
.front-blog::before{
  content:'';
  position:absolute;
  top:-200px;right:-150px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(232,219,196,.3),transparent 70%);
  border-radius:50%;
}
.front-blog-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.front-blog-header{
  max-width:720px;
  margin:0 auto 5rem;
  text-align:center;
}
.front-blog-header .section-label{justify-content:center}
.front-blog-header .section-label::before{display:none}
.front-blog-header .section-label::after{
  content:'';
  width:32px;height:1px;
  background:var(--gold);
}
.front-blog-lead{
  font-size:1.1rem;
  color:var(--smoke);
  line-height:1.7;
  max-width:620px;
  margin:0 auto;
}
.front-blog-cta{
  text-align:center;
  margin-top:4rem;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:968px){
  .blog-hero,.single-hero{padding:7rem 1.5rem 3rem}
  .blog-main{padding:3rem 1.5rem 5rem}
  .blog-grid,.single-related .blog-grid{grid-template-columns:1fr;gap:2.5rem}
  .single-featured-image{padding:0 1.5rem;margin:2rem auto}
  .single-content-wrap{padding:3rem 1.5rem 4rem}
  .single-content{font-size:1rem}
  .single-content h2{font-size:1.8rem}
  .single-content h3{font-size:1.4rem}
  .single-content blockquote{padding:1.5rem;font-size:1.15rem}
  .single-nav{grid-template-columns:1fr;gap:1rem}
  .single-nav-next{text-align:left}
  .front-blog{padding:5rem 1.5rem}
}