:root{
  --green:#5d6f42;
  --green-dark:#425032;
  --green-deep:#364228;
  --green-soft:#97aa79;
  --olive-mist:#dfe6d4;
  --canvas:#f3ecdf;
  --canvas-2:#ede3d1;
  --section:#f8f1e6;
  --section-2:#efe4d3;
  --panel:#fbf6ee;
  --panel-2:#f5eddf;
  --sand:#d8c5a6;
  --gold:#b99866;
  --ink:#35352f;
  --muted:#655f54;
  --white:#fdfaf4;
  --shadow:0 16px 40px rgba(76,79,52,.11);
  --shadow-soft:0 8px 22px rgba(76,79,52,.07);
  --radius:30px;
  --serif:'Times New Roman', Times, serif;
  --sans:'Times New Roman', Times, serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--serif);
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.45), transparent 22%),
    radial-gradient(circle at 88% 3%, rgba(151,170,121,.12), transparent 20%),
    linear-gradient(180deg, #f4ecdf 0%, #efe5d5 100%);
  line-height:1.7;
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
  opacity:.14;
}
body::before{
  left:-60px;
  top:120px;
  width:280px;
  height:540px;
  background:
    radial-gradient(ellipse at 52% 14%, transparent 0 54%, var(--green-soft) 54.5% 55.3%, transparent 56%),
    radial-gradient(ellipse at 35% 34%, transparent 0 56%, var(--green-soft) 56.5% 57.2%, transparent 58%),
    radial-gradient(ellipse at 68% 55%, transparent 0 55%, var(--green-soft) 55.5% 56.2%, transparent 57%),
    radial-gradient(ellipse at 40% 76%, transparent 0 56%, var(--green-soft) 56.5% 57.2%, transparent 58%);
  transform:rotate(-8deg);
}
body::after{
  right:-50px;
  bottom:40px;
  width:300px;
  height:480px;
  background:
    radial-gradient(ellipse at 62% 14%, transparent 0 54%, var(--green-soft) 54.5% 55.2%, transparent 56%),
    radial-gradient(ellipse at 40% 36%, transparent 0 56%, var(--green-soft) 56.5% 57.1%, transparent 58%),
    radial-gradient(ellipse at 65% 58%, transparent 0 56%, var(--green-soft) 56.5% 57.1%, transparent 58%),
    radial-gradient(ellipse at 42% 80%, transparent 0 56%, var(--green-soft) 56.5% 57.1%, transparent 58%);
  transform:rotate(16deg);
}

.top-anchor{position:absolute;top:0;left:0;width:1px;height:1px;scroll-margin-top:0}
[id]{scroll-margin-top:112px}
#kezdolap{scroll-margin-top:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px, calc(100% - 44px));margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(243,236,223,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(185,152,102,.18);
}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:184px;height:auto;mix-blend-mode:multiply}
.main-nav{display:flex;align-items:center;gap:32px;font-size:17px;color:var(--green-deep)}
.main-nav a{position:relative;padding:30px 0}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:22px;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--green) 18%, var(--green) 82%, transparent 100%);
  transform:scaleX(0);
  transition:.25s;
  transform-origin:center;
}
.main-nav a:hover::after,
.main-nav a.active::after{transform:scaleX(1)}
.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;gap:5px;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}
.nav-toggle span{width:25px;height:2px;background:var(--green);display:block;border-radius:2px;transition:.25s}

.section,
.section-soft{
  padding:92px 0;
  position:relative;
}
.section{background:linear-gradient(180deg, rgba(248,241,230,.86) 0%, rgba(242,233,219,.92) 100%)}
.section-soft{background:linear-gradient(180deg, rgba(251,246,238,.95) 0%, rgba(243,235,223,.95) 100%)}
.section::before,
.section-soft::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(185,152,102,.08);
  border-radius:34px;
  pointer-events:none;
}

.hero{
  padding:0;
  min-height:610px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(249,243,234,.96) 0%, rgba(244,236,225,.92) 44%, rgba(240,232,220,.32) 74%),
    linear-gradient(180deg, #f7efe3 0%, #efe5d4 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.7), transparent 24%),
    radial-gradient(circle at 28% 82%, rgba(151,170,121,.11), transparent 18%);
  z-index:1;
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:610px;gap:40px}
.hero-content{padding:86px 0 86px 44px;max-width:610px}
.eyebrow,.section-kicker{
  margin:0 0 12px;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:13px;
  color:var(--gold);
}
h1,h2,h3,h4{line-height:1.14;margin:0;color:var(--green-dark);font-family:var(--serif);font-weight:400}
h1{font-size:clamp(56px,6vw,96px);letter-spacing:-.03em}
.hero-subtitle{margin:10px 0 0;color:var(--green);font-size:clamp(26px,2.6vw,42px);line-height:1.2;letter-spacing:.04em}
h2{font-size:clamp(34px,3.6vw,54px)}
h3{font-size:29px}
h4{font-size:20px;margin-top:26px;margin-bottom:10px;color:var(--green-deep)}
.ornament{width:150px;height:16px;margin:24px 0;position:relative}
.ornament::before,.ornament::after{content:"";position:absolute;top:8px;width:58px;height:1px;background:var(--gold)}
.ornament::before{left:0}
.ornament::after{right:0}
.ornament{background:radial-gradient(circle at center,var(--gold) 0 3px,transparent 4px)}
.hero-lead{font-size:23px;max-width:570px;margin:0 0 34px;color:#404136;line-height:1.58}
.hero-actions,.contact-actions{display:flex;gap:18px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 32px;
  border-radius:12px;
  font-size:17px;
  border:1px solid var(--green);
  transition:.25s;
  box-shadow:none;
}
.btn-primary{background:linear-gradient(180deg, var(--green) 0%, var(--green-deep) 100%);color:var(--white)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(53,64,24,.18)}
.btn-ghost{background:rgba(253,250,244,.68);color:var(--green-dark);border-color:rgba(93,111,66,.5)}
.btn-ghost:hover{background:#fffaf1;transform:translateY(-2px)}
.hero-portrait{
  height:610px;
  align-self:stretch;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  overflow:hidden;
  border-radius:48px 0 0 110px;
  box-shadow:-22px 0 70px rgba(90,78,53,.10);
  background:linear-gradient(180deg,#ddd2bf 0%,#f1e8da 100%);
}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.botanical-left{
  position:absolute;
  left:-60px;
  bottom:40px;
  width:260px;
  height:360px;
  z-index:2;
  opacity:.34;
  background:
    radial-gradient(ellipse at 55% 18%, transparent 0 52%, var(--green-soft) 52.5% 53.2%, transparent 54%),
    radial-gradient(ellipse at 38% 44%, transparent 0 54%, var(--green-soft) 54.5% 55.2%, transparent 56%),
    radial-gradient(ellipse at 62% 70%, transparent 0 52%, var(--green-soft) 52.5% 53.2%, transparent 54%),
    linear-gradient(90deg, transparent 49.3%, rgba(151,170,121,.6) 49.9% 50.3%, transparent 51%);
  transform:rotate(-10deg);
}

.intro-band{
  background:linear-gradient(180deg, rgba(250,244,236,.92) 0%, rgba(243,233,221,.95) 100%);
  padding:38px 0;
  border-top:1px solid rgba(185,152,102,.18);
  border-bottom:1px solid rgba(185,152,102,.18);
}
.intro-grid{display:grid;grid-template-columns:140px 1fr 1.45fr;align-items:center;gap:34px}
.intro-mark{color:var(--green-soft)}
.intro-mark svg{filter:drop-shadow(0 8px 18px rgba(93,111,66,.08))}
.intro-text p{margin:10px 0 0;color:#49493f;max-width:560px;font-size:18px}
.value-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  border-left:1px solid rgba(185,152,102,.34);
  padding-left:36px;
}
.value-list article{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:14px;
  align-items:start;
  background:linear-gradient(180deg, rgba(251,246,238,.72) 0%, rgba(244,236,225,.64) 100%);
  border:1px solid rgba(185,152,102,.14);
  border-radius:22px;
  padding:18px 16px;
}
.value-list h3{font-size:18px;color:var(--green-dark);grid-column:2;margin-bottom:2px}
.value-list p{grid-column:2;margin:0;font-size:14px;color:#5d5d53;line-height:1.5}
.line-icon{grid-row:1/3;font-size:36px;color:var(--gold);line-height:1}

.two-col{display:grid;grid-template-columns:1fr .72fr;gap:44px;align-items:center}
.copy-block,
.quote-card,
.process-head,
.steps,
.section-head,
.price-layout,
.discounts,
.contact-grid{position:relative;z-index:1}
.copy-block{
  background:linear-gradient(180deg, rgba(251,246,238,.76) 0%, rgba(245,237,223,.84) 100%);
  border:1px solid rgba(185,152,102,.14);
  border-radius:28px;
  padding:34px 36px;
  box-shadow:var(--shadow-soft);
}
.copy-block p:not(.section-kicker){font-size:20px;color:#514f46;margin:16px 0 0}
.quote-card{
  background:linear-gradient(140deg, #5d6f42 0%, #46572f 100%);
  color:var(--white);
  border-radius:var(--radius);
  padding:42px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.quote-card::before{
  content:"";
  position:absolute;
  right:-30px;
  top:-35px;
  width:180px;
  height:240px;
  border-radius:58% 42% 50% 50%;
  border:1px solid rgba(255,255,255,.16);
  transform:rotate(12deg);
}
.quote-card::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border:1px solid rgba(255,255,255,.20);border-radius:50%}
.quote-card p{margin:0;font-size:30px;line-height:1.4;color:var(--white)}

.section-head{text-align:center;max-width:760px;margin:0 auto 46px}
.section-head p:not(.section-kicker){color:var(--muted);font-size:20px;margin:16px 0 0}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card,
.detail-panel,
.price-card,
.price-list,
.discounts,
.booking-card,
.contact-card{
  background:
    linear-gradient(180deg, rgba(251,246,238,.92) 0%, rgba(244,236,225,.92) 100%),
    linear-gradient(120deg, rgba(151,170,121,.06) 0%, transparent 70%);
  border:1px solid rgba(185,152,102,.20);
  border-radius:26px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.service-card::after,
.detail-panel::after,
.booking-card::after,
.contact-card::after,
.price-card::after,
.price-list::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:120px;
  height:120px;
  border-radius:50% 50% 10% 50%;
  border:1px solid rgba(93,111,66,.08);
  transform:rotate(18deg);
}
.service-card{padding:34px;min-height:298px;display:flex;flex-direction:column;align-items:flex-start}
.icon-circle{
  width:78px;
  height:78px;
  border-radius:50%;
  border:1px solid rgba(185,152,102,.45);
  display:grid;
  place-items:center;
  color:var(--gold);
  font-size:34px;
  background:linear-gradient(180deg, rgba(253,250,244,.82) 0%, rgba(243,235,223,.82) 100%);
  margin-bottom:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.icon-circle.small{width:58px;height:58px;font-size:25px;margin:0;flex:0 0 auto}
.service-card h3{margin-bottom:12px}
.service-card p{margin:0 0 22px;color:#555349;line-height:1.6;font-size:18px}
.service-card a{margin-top:auto;color:var(--green);font-size:17px;border-bottom:1px solid rgba(75,88,39,.35)}

.process{background:linear-gradient(180deg, rgba(242,233,219,.95) 0%, rgba(235,224,208,.95) 100%)}
.process-wrap::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-24px;
  width:240px;
  height:150px;
  border-radius:110px 110px 0 0;
  background:
    radial-gradient(circle at 76% 74%, #baa37c 0 10%, transparent 11%),
    radial-gradient(circle at 56% 52%, #cfbea0 0 18%, transparent 19%),
    radial-gradient(circle at 72% 36%, #a99676 0 17%, transparent 18%);
  opacity:.38;
  pointer-events:none;
}
.process-head{max-width:450px;margin-bottom:36px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;z-index:1}
.step{
  position:relative;
  padding:26px 24px 24px 90px;
  background:linear-gradient(180deg, rgba(251,246,238,.80) 0%, rgba(244,236,225,.78) 100%);
  border:1px solid rgba(185,152,102,.16);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
}
.step span{
  position:absolute;
  left:18px;
  top:22px;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(185,152,102,.5);
  background:#fbf6ee;
  font-size:33px;
  color:var(--green);
}
.step h3{font-size:21px}
.step p{font-size:17px;color:#5c5b52;margin:8px 0 0}
.step:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:34px;color:#8a806d;font-size:27px}

.detail-stack{display:grid;gap:24px}
.detail-panel{padding:34px}
.detail-title{display:flex;gap:20px;align-items:center;margin-bottom:20px}
.detail-title p{margin:6px 0 0;color:var(--muted);font-size:17px}
.detail-content p,.detail-content li{color:#4f4e45;font-size:18px}
.detail-content ul{margin:10px 0 0;padding-left:22px}
.notice{
  margin:22px 0;
  padding:18px 20px;
  border-left:4px solid var(--gold);
  background:linear-gradient(180deg, #f8eedf 0%, #f2e5d0 100%);
  border-radius:14px;
  color:#4e4b40;
}
.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mini-grid p{
  background:linear-gradient(180deg, rgba(253,250,244,.82) 0%, rgba(244,236,225,.82) 100%);
  border:1px solid rgba(185,152,102,.18);
  border-radius:18px;
  padding:16px;
  margin:0;
  font-size:16px;
}

.pricing{background:linear-gradient(180deg, rgba(248,241,230,.92) 0%, rgba(240,231,217,.96) 100%)}
.price-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.price-card,.price-list{padding:30px}
.price-card.featured{background:linear-gradient(135deg, #607247 0%, #485a31 100%);color:var(--white)}
.price-card.featured::after{border-color:rgba(255,255,255,.10)}
.price-card.featured .price-label,
.price-card.featured p,
.price-card.featured strong{color:var(--white)}
.price-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--gold);margin-bottom:8px}
.price-card strong{display:block;font-size:44px;color:var(--green-dark);font-weight:400}
.price-card p{margin:12px 0 0;color:#5c5a4f;font-size:18px}
.price-list h3{font-size:25px;margin-bottom:16px}
.price-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid rgba(185,152,102,.18)}
.price-list span{color:#555348;font-size:17px}
.price-list strong{white-space:nowrap;color:var(--green-dark);font-size:18px;font-weight:700}
.discounts{margin-top:22px;padding:28px}
.discounts h3{font-size:26px}
.discounts ul{margin:12px 0 0;padding-left:22px;color:#555348;font-size:18px}

.booking-note{background:linear-gradient(180deg, rgba(251,246,238,.95) 0%, rgba(243,235,223,.95) 100%)}
.booking-card{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:36px}
.booking-card h2{font-size:42px}
.booking-card p:not(.section-kicker){margin:12px 0 0;color:#5c5a4f;max-width:700px;font-size:19px}

.contact{
  background:linear-gradient(135deg, #4f6036 0%, #384727 100%);
  color:var(--white);
  overflow:hidden;
}
.contact::before{
  content:"";
  position:absolute;
  left:-80px;
  bottom:-160px;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.contact::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-30px;
  width:220px;
  height:320px;
  opacity:.18;
  background:
    radial-gradient(ellipse at 58% 18%, transparent 0 55%, #e7eee0 55.5% 56.2%, transparent 57%),
    radial-gradient(ellipse at 38% 42%, transparent 0 55%, #e7eee0 55.5% 56.2%, transparent 57%),
    radial-gradient(ellipse at 62% 66%, transparent 0 55%, #e7eee0 55.5% 56.2%, transparent 57%),
    linear-gradient(90deg, transparent 49.4%, #e7eee0 50% 50.5%, transparent 51%);
  transform:rotate(12deg);
}
.contact-grid{display:grid;grid-template-columns:1.15fr .75fr;gap:52px;align-items:center}
.contact h2,.contact h3{color:var(--white)}
.contact .section-kicker{color:#dbc392}
.contact-copy h2{font-size:clamp(33px,3.7vw,52px)}
.contact-copy p,
.contact-copy address{color:rgba(253,250,244,.86);font-style:normal;font-size:19px}
.contact-card{background:rgba(251,246,238,.97);color:var(--ink);padding:34px}
.contact-card h3{color:var(--green-dark);margin-bottom:18px}
.contact-card > a{display:block;padding:12px 0;color:var(--green);font-size:19px;border-bottom:1px solid rgba(185,152,102,.2)}
.contact-actions{margin-top:24px}

.site-footer{background:#f7f0e4;border-top:1px solid rgba(185,152,102,.18);padding:28px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-inner img{width:142px;mix-blend-mode:multiply}
.footer-inner p{margin:6px 0 0;color:#6a6659;font-size:15px}
.footer-inner a{font-size:17px;color:var(--green)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease, transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media (max-width: 980px){
  .header-inner{height:78px}
  .brand img{width:150px}
  .nav-toggle{display:flex}
  .main-nav{
    position:absolute;
    inset:78px 20px auto 20px;
    background:#f8f0e4;
    border:1px solid rgba(185,152,102,.24);
    border-radius:20px;
    box-shadow:var(--shadow);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
  }
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 18px}
  .main-nav a::after{display:none}

  .hero-grid,
  .intro-grid,
  .two-col,
  .contact-grid,
  .price-layout{grid-template-columns:1fr}
  .hero-grid{min-height:auto}
  .hero::before{background:linear-gradient(180deg,rgba(249,243,234,.98) 0%,rgba(244,236,225,.90) 55%,rgba(240,232,220,.24) 100%)}
  .hero-content{padding:66px 0 24px}
  .hero-portrait{height:440px;border-radius:36px 36px 0 0}
  .intro-mark{display:none}
  .value-list{grid-template-columns:1fr;border-left:0;padding-left:0}
  .service-cards,.steps{grid-template-columns:1fr}
  .step:not(:last-child)::after{display:none}
  .mini-grid{grid-template-columns:repeat(2,1fr)}
  .booking-card{align-items:flex-start;flex-direction:column}
  .process-wrap::after{display:none}
}

@media (max-width: 620px){
  .container{width:min(100% - 28px,1160px)}
  .section,.section-soft{padding:66px 0}
  h1{font-size:44px}
  h2{font-size:35px}
  .hero-lead{font-size:20px}
  .hero-actions,.contact-actions{flex-direction:column}
  .btn{width:100%}
  .hero-portrait{height:380px}
  .service-card,
  .detail-panel,
  .price-card,
  .price-list,
  .discounts,
  .booking-card,
  .contact-card,
  .quote-card,
  .copy-block,
  .step,
  .value-list article{border-radius:22px;padding:24px}
  .quote-card p{font-size:25px}
  .mini-grid{grid-template-columns:1fr}
  .price-list div{flex-direction:column;gap:4px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}
