@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{
  --ink:#20352f;--muted:#60756d;--sage:#91d6bd;--sage-dark:#398c70;
  --cream:#eaf8f2;--paper:#f9fffc;--line:#cfe7dd;--gold:#72bfa4;--white:#fff;
  --shadow:0 24px 70px rgba(42,61,50,.12);--radius:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit}.topbar{height:80px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(249,255,252,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(207,231,221,.78);z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700}.brand img{width:40px;height:40px}.topbar nav{display:flex;align-items:center;gap:26px}.topbar nav a{text-decoration:none;font-size:14px;font-weight:600}.nav-cta{padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff!important}.hero{min-height:calc(100vh - 80px);padding:90px max(24px,7vw);display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;background:linear-gradient(135deg,#fbfffd 0%,#e6f7f0 100%)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--sage-dark)}h1,h2{font-family:"Playfair Display",serif;line-height:1.07;margin:.3em 0}h1{font-size:clamp(48px,6vw,88px);max-width:820px}h1 em{color:var(--sage-dark);font-weight:600}.lead{font-size:20px;color:var(--muted);max-width:730px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border:0;border-radius:999px;text-decoration:none;font-weight:700;cursor:pointer}.primary{background:var(--sage-dark);color:#fff}.ghost{border:1px solid var(--sage);color:var(--ink);background:transparent}.small-note{font-size:13px;color:var(--muted)}.hero-visual{position:relative;min-height:610px}.sun{width:390px;height:390px;border-radius:50%;background:#c9f0e1;filter:blur(2px);position:absolute;right:0;top:10px}.portrait-card{position:absolute;inset:55px 20px 0 30px;border-radius:220px 220px 30px 30px;background:linear-gradient(180deg,#dff7ee,#9fdcc7);padding:14px;box-shadow:var(--shadow)}.portrait-placeholder{height:100%;min-height:450px;border:1px dashed rgba(36,51,44,.4);border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,.08)),url('assets/meditalo-no-hero.jpg') center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);font-weight:700}.portrait-placeholder small{font-weight:400}.floating-card{position:absolute;left:-40px;bottom:55px;background:#fff;padding:18px 24px;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.floating-card span{color:var(--muted);font-size:13px}section{padding:100px max(24px,7vw)}.section-heading{margin-bottom:42px}.section-heading.narrow{max-width:790px;margin-left:auto;margin-right:auto;text-align:center}.section-heading h2{font-size:clamp(38px,4.5vw,62px)}.section-heading p{color:var(--muted);font-size:18px}.cards{display:grid;gap:20px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.card>span{color:var(--gold);font-weight:700}.card h3{font-size:21px}.card p{color:var(--muted)}.program{background:var(--cream)}.timeline{max-width:1000px;margin:auto}.timeline article{display:grid;grid-template-columns:100px 1fr 90px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid #c7e3d8}.timeline h3{margin:0}.timeline p{margin:4px 0;color:var(--muted)}.timeline span{text-align:right;color:var(--sage-dark);font-weight:700}.icon-card{text-align:center}.icon{width:56px;height:56px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:22px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.about-photo{min-height:650px}.portrait-placeholder.tall{border-radius:200px 200px 30px 30px;box-shadow:var(--shadow);background-image:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.04)),url('assets/meditalo-no-bemutatkozas.jpg');background-position:center;background-size:cover;background-repeat:no-repeat}.about-copy h2{font-size:58px}.about-copy p{font-size:17px;color:var(--muted)}blockquote{margin:32px 0 0;padding:22px 28px;border-left:4px solid var(--gold);background:var(--cream);font-family:"Playfair Display",serif;font-size:22px}.offer{background:var(--sage-dark);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.offer h2{font-size:60px}.offer-copy p,.offer-copy li{color:#e8f7f1}.eyebrow.light{color:#c8f2e3}.price-card{background:#fff;color:var(--ink);padding:40px;border-radius:var(--radius);text-align:center}.price-card strong{display:block;font-family:"Playfair Display",serif;font-size:58px;margin:8px 0}.price-card small{display:block;color:var(--muted);margin-bottom:24px}.button.white{background:var(--ink);color:#fff;width:100%}.price-card p{font-size:12px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps article{padding:30px;background:var(--cream);border-radius:var(--radius)}.steps b{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--sage-dark);color:#fff}.faq{background:#f2fbf7}.faq details{max-width:900px;margin:12px auto;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:16px}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:var(--muted)}.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.newsletter h2{font-size:52px}.newsletter form{display:grid;gap:14px;padding:30px;border-radius:var(--radius);background:var(--cream)}label span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}input{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:12px;font:inherit}.consent{display:flex;gap:10px}.consent input{width:auto}.consent span{font-weight:400}.form-message{font-size:13px;margin:0}footer{padding:40px max(24px,7vw);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line);font-size:13px}footer>div:last-child{text-align:right}footer a{margin-left:16px}.cookie{position:fixed;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;padding:15px 18px;background:var(--ink);color:#fff;border-radius:16px;display:flex;align-items:center;gap:20px;z-index:50;box-shadow:var(--shadow)}.cookie p{margin:0;font-size:13px}.cookie button{margin-left:auto;padding:10px 16px;border:0;border-radius:999px;font-weight:700}.hidden{display:none!important}.legal{max-width:900px;margin:auto;padding:80px 24px}.legal h1{font-size:56px}.legal h2{font-family:"DM Sans";font-size:26px;margin-top:36px}.legal .notice{background:#e6f7ef;padding:18px;border-radius:14px}
@media(max-width:900px){.topbar nav a:not(.nav-cta){display:none}.hero,.about,.offer,.newsletter{grid-template-columns:1fr}.hero{padding-top:60px}.hero-visual{min-height:520px}.cards.four,.cards.three,.steps{grid-template-columns:1fr 1fr}.about-photo{min-height:500px}.offer h2,.about-copy h2{font-size:46px}footer{grid-template-columns:1fr;text-align:center;gap:15px}footer>div:last-child{text-align:center}.footer-brand{justify-content:center}}
@media(max-width:620px){.topbar{height:70px}.brand span{font-size:14px}.hero{min-height:auto;padding:52px 20px}.hero h1{font-size:47px}.lead{font-size:17px}.hero-actions .button{width:100%}.hero-visual{min-height:410px}.portrait-card{inset:35px 0 0}.portrait-placeholder{min-height:350px}.floating-card{left:-5px;bottom:25px}.cards.four,.cards.three,.steps{grid-template-columns:1fr}section{padding:72px 20px}.timeline article{grid-template-columns:72px 1fr}.timeline article>span{grid-column:2;text-align:left}.about{gap:38px}.about-photo{min-height:430px}.newsletter h2,.section-heading h2{font-size:40px}.offer h2{font-size:42px}.price-card strong{font-size:48px}.cookie{flex-direction:column;align-items:flex-start}.cookie button{margin-left:0;width:100%}}

.legal-updated{margin-top:50px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.legal-data{display:grid;grid-template-columns:minmax(170px,230px) 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden}.legal-data dt,.legal-data dd{margin:0;padding:12px 16px;border-bottom:1px solid var(--line)}.legal-data dt{font-weight:700;background:var(--cream)}.legal-data dt:last-of-type,.legal-data dd:last-of-type{border-bottom:0}.legal ol,.legal ul{padding-left:24px}.legal table{width:100%;border-collapse:collapse}.legal th,.legal td{padding:12px;border:1px solid var(--line);text-align:left;vertical-align:top}.table-wrap{overflow-x:auto}.cookie{max-width:900px;justify-content:space-between}.cookie strong{display:block}.cookie a{text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie button{margin:0}.cookie #cookie-accept{background:var(--cream);color:var(--ink)}.cookie #cookie-reject{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}[aria-disabled="true"]{opacity:.7}.price-card [aria-disabled="true"]{cursor:not-allowed}
@media(max-width:700px){.legal-data{grid-template-columns:1fr}.legal-data dt{border-bottom:0}.cookie-actions{width:100%;flex-direction:column}.cookie-actions button{width:100%}}
@media(max-width:620px){.hero-copy,.hero-visual{min-width:0}.hero h1{overflow-wrap:anywhere}footer{grid-template-columns:minmax(0,1fr)}footer>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px}footer a{margin-left:0}}
@media(max-width:620px){.topbar{gap:12px}.topbar nav{gap:12px}.topbar nav a:not(.nav-cta){display:inline}.topbar nav a[href="#rolam"],.topbar nav a[href="#gyik"],.topbar nav .nav-cta{display:none}.topbar nav a{font-size:12px}.sun{width:100%;height:auto;aspect-ratio:1}footer>*{min-width:0;width:100%}footer p{overflow-wrap:anywhere}}


/* Menta arculat és finom mozgások */
.button,.card,.timeline article,.steps article,.faq details,.price-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(57,140,112,.18)}
.card:hover,.steps article:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(57,140,112,.10);border-color:#a9dac8}
.timeline article:hover{transform:translateX(5px)}
.primary,.nav-cta,.steps b{background:linear-gradient(135deg,#398c70,#58aa8d)}
.ghost:hover{background:#eaf8f2;border-color:#58aa8d}
.hero-copy,.section-heading,.timeline article,.card,.about-copy,.price-card{animation:softReveal .7s ease both}
@keyframes softReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* Többprogramos kínálat */
.programs-showcase{padding:96px 6%;background:linear-gradient(180deg,#f7fcf9 0%,#fff 100%)}
.program-cards{max-width:1240px;margin:42px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.program-card{position:relative;background:#fff;border:1px solid rgba(40,91,72,.14);border-radius:26px;padding:30px;box-shadow:0 18px 50px rgba(28,74,57,.08);display:flex;flex-direction:column;min-height:430px;overflow:hidden}
.program-card:before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:var(--program-accent,#6aa88c)}
.program-card h3{font-size:1.6rem;line-height:1.22;margin:12px 0}
.program-card p{color:#52635c;line-height:1.7}
.program-card ul{margin:14px 0 24px;padding-left:20px;color:#33493f;line-height:1.8}
.program-kicker{display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--program-accent,#6aa88c) 13%,white);font-weight:700;color:#29483a}
.program-price{margin-top:auto;font-size:2rem;font-weight:800;color:#224c3a}
.program-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.program-actions .button{flex:1;min-width:145px;text-align:center}
.program-coming-soon{position:relative;filter:saturate(.65)}.program-soon-badge{position:absolute;top:18px;right:18px;padding:6px 11px;border-radius:999px;background:#f3ead8;color:#725929;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.button.disabled{background:#e5e9e7;color:#68736e;cursor:not-allowed;border:1px solid #d5dcda;pointer-events:none}
.program-base{--program-accent:#72aa8f}.program-advanced{--program-accent:#687fa0}.program-confidence{--program-accent:#c99a58}.program-women{--program-accent:#c98fa8}
.program-detail-page{max-width:1080px;margin:0 auto;padding:72px 6%}.program-detail-hero{padding:48px;border-radius:28px;background:linear-gradient(135deg,#edf7f2,#fff);border:1px solid rgba(40,91,72,.12)}
.program-detail-hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.08;margin:14px 0}.program-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;margin-top:34px}.program-detail-box{background:#fff;border:1px solid rgba(40,91,72,.14);border-radius:22px;padding:28px}.program-detail-box ul{line-height:1.9}.program-detail-price{font-size:2.2rem;font-weight:800;margin:18px 0}
@media(max-width:800px){.program-cards,.program-detail-grid{grid-template-columns:1fr}.program-card{min-height:0}.programs-showcase{padding:68px 5%}.program-detail-hero{padding:30px 22px}}

.program-detail-topics{margin:46px -6vw 0;padding-top:72px;padding-bottom:72px}.program-detail-topics .timeline{max-width:920px}.program-detail-topics .timeline article{padding-left:18px;padding-right:18px}
@media(max-width:800px){.program-detail-topics{margin:34px -6vw 0;padding:56px 6vw}}
.cookie-settings{position:fixed;right:16px;bottom:16px;z-index:30;border:1px solid #d7dfda;border-radius:999px;background:#fff;color:#29463a;padding:9px 14px;box-shadow:0 4px 18px rgba(0,0,0,.12);cursor:pointer}
body:not(.portal-body) a.button[href*="program=halado"]{pointer-events:none;background:#e5e9e7;color:#68736e;border:1px solid #d5dcda;font-size:0;cursor:not-allowed}
body:not(.portal-body) a.button[href*="program=halado"]::after{content:"Hamarosan elérhető";font-size:1rem}

/* Kapcsolatfelvételi űrlap */
.contact-page{max-width:1040px;margin:0 auto;padding:76px max(20px,5vw) 100px}.contact-intro{padding:0 0 36px;max-width:760px}.contact-intro h1{font-size:clamp(44px,7vw,72px)}.contact-intro p{font-size:18px;color:var(--muted)}.contact-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.contact-card h2{font-size:38px;margin-top:0}.contact-form{display:grid;gap:18px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form select,.contact-form textarea{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}.contact-form textarea{resize:vertical;min-height:180px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(57,140,112,.18);border-color:var(--sage-dark)}.contact-form small{font-weight:400;color:var(--muted)}.contact-form .button{justify-self:start}.contact-note{margin:0;padding:14px 16px;border-radius:12px;background:var(--cream);color:var(--muted);font-size:14px}.contact-status{margin:0 0 22px;padding:16px 18px;border-radius:14px}.contact-status.success{background:#e4f6ee;color:#245f4b}.contact-status.error{background:#fff0ed;color:#7a3129;border:1px solid #f0c9c2}.contact-status ul{margin:8px 0 0;padding-left:22px}
@media(max-width:620px){.topbar nav .nav-contact{display:none}.contact-page{padding:52px 20px 72px}.contact-intro{padding-bottom:24px}.contact-card{padding:24px 20px}.contact-grid{grid-template-columns:1fr}.contact-form .button{width:100%}}

/* Energetikai kezelések */
.energy-page{background:linear-gradient(180deg,#fbfffd 0%,#f4fbf8 100%)}.energy-hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding:72px max(24px,7vw)}.energy-hero-copy{max-width:760px}.energy-hero-copy h1{font-size:clamp(48px,6vw,82px)}.energy-portrait{margin:0;max-width:480px;justify-self:center;padding:12px;border-radius:220px 220px 28px 28px;background:linear-gradient(180deg,#dff7ee,#9fdcc7);box-shadow:var(--shadow)}.energy-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:inherit}.energy-story{background:#fff}.energy-text{max-width:820px;margin:auto;font-size:18px;color:var(--muted)}.energy-text blockquote{color:var(--ink)}.energy-focus{background:var(--cream)}.energy-cards .card{height:100%}.energy-process{background:#fff}.energy-cta{display:flex;justify-content:center;margin-top:36px}.energy-notice{max-width:980px;margin:0 auto 90px;padding:28px 32px;border:1px solid var(--line);border-radius:20px;background:#f4f8f6}.energy-notice h2{font-family:"DM Sans",sans-serif;font-size:24px}.energy-notice p{margin-bottom:0;color:var(--muted)}
@media(max-width:900px){.energy-hero{grid-template-columns:1fr;min-height:auto}.energy-portrait{max-width:420px}.topbar nav .nav-energy{display:none}}
@media(max-width:620px){.energy-hero{padding:52px 20px;gap:38px}.energy-hero-copy h1{font-size:46px}.energy-hero .hero-actions .button{width:100%}.energy-notice{margin:0 20px 72px;padding:22px}.energy-portrait{max-width:330px}}
