/* Saját tárhelyről betöltött betűtípusok (SIL Open Font License) – nincs külső kérés a Google felé. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/archivo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Layout: conversion landing. Green hero with the waitlist form above the fold, then alternating
   ivory/white blocks, one green "how it works" band, survey and FAQ. Sticky CTA on phones. */
:root{
  --green:#183E35; --green-deep:#10302A; --gold:#C5AA77; --gold-ink:#7A6034;
  --ivory:#F5F0E6; --white:#FFFFFF; --ink:#202A25; --ink-2:#4F554D; --stone:#918B7D;
  --line:#E3DCCD; --line-strong:#B4AA97; --tint:#E9EFE8;
  --on-green:#F5F0E6; --on-green-2:#CDD5CA; --on-green-line:rgba(245,240,230,.22);
  --error:#9B2C1E; --error-bg:#FBF0EC; --ph:#EDE4D1;
  --serif:"Archivo","Helvetica Neue",Arial,sans-serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --r:4px; --header-h:72px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 1.125rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--white)}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2{font-family:var(--serif);font-weight:900;margin:0;text-wrap:balance;letter-spacing:-.035em}
h3{font-family:var(--serif);font-weight:800;margin:0;text-wrap:balance;letter-spacing:-.025em}
h2{font-size:clamp(2.125rem,1.4rem + 2.4vw,3.25rem);line-height:1.08}
h3{font-size:1.5rem;line-height:1.2}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.on-green :focus-visible{outline-color:var(--gold)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[id]{scroll-margin-top:calc(var(--header-h) + env(safe-area-inset-top,0px) + 12px)}
.wrap{max-width:1240px;margin-inline:auto;padding-left:max(clamp(16px,4vw,48px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,48px),env(safe-area-inset-right,0px))}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:fixed!important;left:16px;top:16px;width:auto;height:auto;clip:auto;z-index:50;background:var(--white);padding:10px 14px}
.muted{color:var(--ink-2)}
.small{font-size:.9375rem;line-height:1.55}
.ph{background:var(--ph);color:var(--ink);border:1px dashed var(--line-strong);padding:0 .35em;border-radius:2px;font-size:.95em}
.site-footer .ph{background:transparent;color:var(--gold);border-color:var(--gold)}
.tick{flex:none;width:22px;height:22px;margin-top:3px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:.85em 1.5em;font:700 1rem/1.25 var(--sans);text-align:center;text-decoration:none;border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary{background:var(--green);color:var(--ivory)}
.btn-primary:hover{background:var(--green-deep)}
.btn-gold{background:var(--gold);color:var(--green-deep)}
.btn-gold:hover{background:#D3BB8E}
.btn-ghost{background:transparent;color:var(--green);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--green)}
.btn-ghost-light{background:transparent;color:var(--on-green);border-color:var(--on-green-line)}
.btn-ghost-light:hover{border-color:var(--on-green)}
.btn-block{width:100%}
.btn[aria-busy="true"]{opacity:.72;cursor:progress}
.btn-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.arrow{width:18px;height:18px;flex:none}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand img{height:40px;width:auto;flex:none}
.brand-text{display:flex;flex-direction:column;gap:3px}
.brand-name{font:800 1.1875rem/1 var(--serif);letter-spacing:.05em;white-space:nowrap}
.brand-sub{font:600 .6875rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap}
.nav{display:none}
.nav a:not(.btn){text-decoration:none;font-weight:500;font-size:1rem;color:var(--ink-2)}
.nav a:not(.btn):hover{color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:8px}
.header-actions .btn{min-height:44px;padding:.55em 1em;font-size:.9375rem}
.menu-btn{min-height:44px;padding:0 14px;border:1.5px solid var(--line-strong);background:var(--white);color:var(--ink);font:600 .9375rem/1 var(--sans);border-radius:var(--r);cursor:pointer}
.mobile-nav{border-top:1px solid var(--line);background:var(--white)}
.mobile-nav ul{list-style:none;margin:0;padding:6px 0 18px}
.mobile-nav a{display:block;padding:14px 0;font:800 1.375rem/1.2 var(--serif);text-decoration:none;border-bottom:1px solid var(--line)}
@media (min-width:1120px){
  .nav{display:flex;align-items:center;gap:28px}
  .menu-btn,.mobile-nav,.header-actions{display:none!important}
}
@media (max-width:400px){.brand-text{display:none}.brand img{height:44px}}

/* Hero: középre zárt, nagy cím, egy gomb; alatta a zöld és világos sáv határán ülő nagy kép */
.hero{background:var(--green);color:var(--on-green);text-align:center;padding-block:clamp(56px,9vw,120px) clamp(44px,6vw,80px)}
.hero-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.4vw,28px)}
.hero h1{font-size:clamp(2.125rem,.25rem + 7.8vw,7rem);line-height:.96;letter-spacing:-.045em;color:var(--on-green);max-width:12em}
.hero-sub{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.5;color:var(--on-green-2);max-width:30em;text-wrap:balance}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:6px}
.hero-ctas .btn{min-width:15rem}
@media (max-width:519px){.hero-ctas{flex-direction:column;align-self:stretch}.hero-ctas .btn{width:100%}}
.btn-lg{min-height:60px;padding-inline:2em;font-size:1.0625rem}
.hero-media{background:linear-gradient(var(--green) 0 42%,var(--ivory) 42% 100%)}
.hero-figure{margin:0;display:flex;flex-direction:column;gap:12px}
.hero-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:var(--green-deep)}
@media (max-width:639px){.hero-figure img{aspect-ratio:4/3}}
.hero-figure figcaption{font-size:.875rem;color:var(--ink-2);text-align:center}
.hero-figure figcaption a{color:inherit;text-underline-offset:2px}
.render img{width:100%;height:auto;border-radius:var(--r)}

/* Várólista szekció */
.signup{padding-block:clamp(48px,7vw,96px) clamp(16px,3vw,32px)}
.signup-card{--pad:clamp(20px,4vw,48px);max-width:46rem;margin-inline:auto;overflow:hidden;padding:var(--pad);box-shadow:0 1px 2px rgba(16,48,42,.05),0 24px 56px -24px rgba(16,48,42,.28)}

/* Kérdésenként lapozó űrlap */
.qhead{display:flex;align-items:center;min-height:44px;margin-bottom:12px}
.qback{width:44px;height:44px;margin-left:-6px;border-radius:50%;border:1.5px solid var(--line);background:var(--white);color:var(--green);display:grid;place-items:center;cursor:pointer;transition:border-color .15s}
.qback:hover{border-color:var(--green)}
.qback svg{width:20px;height:20px}
.qcount{margin-left:auto;font:700 1rem/1 var(--sans);letter-spacing:.1em;color:var(--gold-ink)}
.qbar{height:3px;background:var(--line);border-radius:2px;overflow:hidden;margin-bottom:clamp(26px,4vw,40px)}
.qbar span{display:block;height:100%;width:0;background:var(--gold);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.q{display:flex;flex-direction:column;gap:20px}
.q fieldset{gap:0}
.q legend{margin:0;padding:0;width:100%}
.q-title{display:block;font:800 clamp(2.25rem,1.5rem + 2.6vw,3.5rem)/1.04 var(--serif);letter-spacing:-.035em;color:var(--ink);margin:0;text-wrap:balance}
.q-title:focus{outline:none}
.q-hint{margin-top:12px;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);color:var(--ink-2)}
.q .field > .q-hint{margin-top:-2px}
.num{font-family:var(--serif);font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.qopts{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.qopt{position:relative;display:block;cursor:pointer}
.qopt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.qopt-body{display:flex;align-items:center;gap:18px;min-height:84px;padding:18px 22px;border:1.5px solid var(--line);border-radius:8px;background:var(--white);transition:border-color .15s,background-color .15s,box-shadow .15s}
.qopt:hover .qopt-body{border-color:var(--green)}
.qopt-ring{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--white);transition:all .15s}
.qopt input:checked + .qopt-body{border-color:var(--green);background:var(--tint);box-shadow:inset 0 0 0 1px var(--green)}
.qopt input:checked + .qopt-body .qopt-ring{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 6px var(--white)}
.qopt input:focus-visible + .qopt-body{outline:3px solid var(--green);outline-offset:2px}
.qopt-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.qopt-text b{font:700 clamp(1.25rem,1.1rem + .6vw,1.5rem)/1.25 var(--sans)}
.qopt-text small{font-size:clamp(1rem,.95rem + .25vw,1.125rem);color:var(--ink-2)}
.qopt-text .num{font-size:1.25rem;color:var(--ink)}
fieldset.is-invalid .qopt-body{border-color:var(--error)}
.q .field > label:not(.q-title){font-size:1.0625rem}
.q-input{min-height:68px!important;padding-inline:18px!important;font-size:1.5rem!important}
.q-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}
.q-actions .btn:not(.btn-block){min-width:10rem}
.q-enter{font-size:.875rem;color:var(--ink-2)}
.q-enter kbd{font:700 .8125rem/1 var(--sans);padding:3px 7px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--ivory)}
@media (hover:none){.q-enter{display:none}}
.qsum{margin:0;border-top:1px solid var(--line)}
.qsum > div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.qsum dt{font-size:1rem;color:var(--ink-2)}
.qsum dd{margin:2px 0 0;font-weight:700;font-size:1.25rem;overflow-wrap:anywhere}
.qedit{flex:none;min-height:44px;color:var(--green);font-weight:700;font-size:.9375rem}
.qfoot{margin-top:22px;text-align:center;font-size:.875rem;color:var(--ink-2)}
@keyframes qInNext{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes qInPrev{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
.q-in-next{animation:qInNext .4s cubic-bezier(.2,.7,.2,1)}
.q-in-prev{animation:qInPrev .4s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.q-in-next,.q-in-prev{animation:none}}
.signup-head{max-width:64rem;margin:0 auto clamp(28px,4vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.signup-head h2{font-size:clamp(2.375rem,1rem + 5vw,4.75rem);line-height:1;letter-spacing:-.04em;color:var(--green);max-width:13em}
.signup-head h2:focus{outline:none}
.signup-head p{max-width:32em;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);color:var(--ink-2);text-wrap:balance}
.progress-top{margin-top:0}

/* Form card */
.card{background:var(--white);color:var(--ink);border-radius:6px;padding:clamp(22px,3vw,36px)}
.card-head{display:flex;flex-direction:column;gap:6px}
.card-title{font:800 clamp(1.625rem,1.4rem + .8vw,2rem)/1.15 var(--serif)}
.card-sub{font-size:.9375rem;color:var(--ink-2)}
.progress{display:flex;flex-direction:column;gap:8px;margin:20px 0 22px}
.progress-bar{display:flex;gap:6px}
.progress-bar span{flex:1;height:4px;border-radius:2px;background:var(--line)}
.progress-bar span.on{background:var(--green)}
.progress-label{font:700 .875rem/1.3 var(--sans);color:var(--ink-2)}
form{display:flex;flex-direction:column;gap:24px}
.step{display:flex;flex-direction:column;gap:24px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.row-2{display:grid;gap:24px}
@media (min-width:600px){.row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field > label,legend{font:700 1rem/1.35 var(--sans);color:var(--ink)}
.opt{font-weight:500;color:var(--ink-2)}
.req{color:var(--gold-ink);margin-left:2px}
.hint{font-size:.9375rem;color:var(--ink-2);line-height:1.5}
input[type="text"],input[type="email"],input[type="tel"],select,textarea{width:100%;min-height:54px;padding:12px 14px;font:400 1.0625rem/1.4 var(--sans);color:var(--ink);background:var(--white);border:1.5px solid var(--line-strong);border-radius:var(--r)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:1px;border-color:var(--green)}
select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23183E35' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
textarea{min-height:112px;resize:vertical}
[aria-invalid="true"]{border-color:var(--error)!important}
fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:10px}
legend{padding:0;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.chips.grid .chip-wide{grid-column:1/-1}
.chip{position:relative;display:flex}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:flex;align-items:center;width:100%;min-height:50px;padding:10px 16px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--white);font:600 1rem/1.3 var(--sans);transition:border-color .12s,background-color .12s}
.chip:hover span{border-color:var(--green)}
.chip input:checked + span{background:var(--green);border-color:var(--green);color:var(--ivory)}
.chip input:focus-visible + span{outline:3px solid var(--gold-ink);outline-offset:2px}
fieldset.is-invalid .chip span{border-color:var(--error)}
.list-choices{display:grid;gap:8px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:.9375rem;line-height:1.5}
.check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--green)}
.check label{cursor:pointer}
.checks{display:flex;flex-direction:column;gap:14px}
.field-error{color:var(--error);font-size:.9375rem;font-weight:600;line-height:1.45}
.form-alert{padding:12px 14px;border:1.5px solid var(--error);background:var(--error-bg);color:var(--error);font-weight:600;font-size:.9375rem;line-height:1.5;border-radius:var(--r)}
.form-alert:focus{outline:3px solid var(--error);outline-offset:2px}
.form-info{padding:12px 14px;border:1px solid var(--line-strong);background:var(--ivory);font-size:.9375rem;line-height:1.5;border-radius:var(--r)}
.form-actions{display:flex;flex-direction:column;gap:12px}
.form-actions .back{align-self:flex-start;background:none;border:0;padding:6px 0;font:600 .9375rem var(--sans);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.reassure{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.875rem;color:var(--ink-2)}
.reassure span{display:inline-flex;align-items:center;gap:6px}
.reassure svg{width:16px;height:16px;color:var(--green)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.success{display:flex;flex-direction:column;gap:14px}
.success h3{font-size:1.875rem}
.success h3:focus{outline:none}
.success .mark{width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--green);display:grid;place-items:center}
.success .mark svg{width:24px;height:24px}

/* Sections */
.section{padding-block:clamp(64px,8vw,120px)}
.bg-white{background:var(--white)}
.statement{font:800 clamp(2.25rem,1.25rem + 3.4vw,4.125rem)/1.05 var(--serif);letter-spacing:-.04em;max-width:15em;text-wrap:balance}
.intro-head{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.intro-head .statement{max-width:14em}
.intro-lead{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.45;color:var(--ink-2);max-width:26em;text-wrap:balance}

.render{margin:clamp(40px,5vw,64px) 0 0;display:flex;flex-direction:column;gap:10px}
.render figcaption{font-size:.9375rem;color:var(--ink-2)}

.two-col{display:grid;gap:40px}
.two-col > *{min-width:0}
.col-head{display:flex;flex-direction:column;gap:18px}
@media (min-width:980px){.two-col{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,6vw,96px)}.two-col .stick{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px) + 32px);align-self:start}}


.gallery{display:grid;gap:clamp(16px,2.5vw,32px);margin-top:clamp(32px,4vw,56px)}
@media (min-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .span{grid-column:1/-1}}
.gallery .render{margin:0}

/* Pricing */
.price-head{display:flex;flex-direction:column;gap:16px;max-width:44em;margin-bottom:clamp(32px,4vw,48px)}
.room-name{display:block;font:800 clamp(1.375rem,1.2rem + .7vw,1.75rem)/1.15 var(--serif)}
.room-meta{display:block;margin-top:2px;font-size:.9375rem;color:var(--ink-2)}
.unit{font-weight:500;font-size:.9375rem;color:var(--ink-2)}
.monthly{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;padding:22px clamp(16px,3vw,32px);background:var(--green);color:var(--on-green)}
.monthly-label{font-weight:600;font-size:1.0625rem}
.monthly-label small{display:block;font-weight:500;font-size:.9375rem;color:var(--on-green-2)}
.monthly-value{font:800 clamp(2rem,1.5rem + 1.8vw,2.75rem)/1 var(--serif);white-space:nowrap}
.monthly-value .unit{font:500 1rem/1 var(--sans);color:var(--on-green-2);margin-left:.3em}
.price-foot{margin-top:24px;text-align:center}
.price-foot p{max-width:46em;margin-inline:auto}

/* How it works */
.how{background:var(--green);color:var(--on-green)}
.how-head{display:grid;gap:20px;margin-bottom:clamp(36px,5vw,64px)}
.how-head p{color:var(--on-green-2);max-width:34em}
@media (min-width:980px){.how-head{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(48px,6vw,96px);align-items:end}}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:28px}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.steps li{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--on-green-line)}
.step-no{font:800 2.75rem/1 var(--serif);color:var(--gold)}
.steps h3{font:700 1.1875rem/1.35 var(--sans)}
.steps p{color:var(--on-green-2);font-size:1rem}
.how-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--on-green-line)}
.how-foot .clarify{flex:1 1 22em;font-weight:600;font-size:1rem}

/* Survey */
.points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.points li{display:flex;gap:12px;font-weight:600;font-size:1.0625rem}
.points .tick{color:var(--green)}
.bordered{border:1px solid var(--line)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font:600 1.1875rem/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--tint)}
.pm::before,.pm::after{content:"";position:absolute;left:10px;right:10px;top:50%;height:2px;margin-top:-1px;background:var(--green)}
.pm::after{transform:rotate(90deg);transition:transform .2s}
.faq details[open] .pm::after{transform:rotate(0deg)}
.faq-a{padding:0 0 24px;max-width:42em;color:var(--ink-2)}

/* Privacy */

/* Footer */
.site-footer{background:var(--green-deep);color:var(--on-green);padding-block:clamp(48px,6vw,80px) 28px}
.footer-grid{display:grid;gap:32px}
.footer-grid > *{min-width:0}
@media (min-width:860px){.footer-grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr)}}
.footer-brand{font:800 clamp(1.75rem,1.4rem + 1.2vw,2.375rem)/1.1 var(--serif)}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:1rem}
.footer-col h3{font:700 .9375rem/1.3 var(--sans);color:var(--gold)}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-col a{text-decoration-color:var(--on-green-line);text-underline-offset:4px}
.footer-col a:hover{text-decoration-color:var(--gold)}
.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid var(--on-green-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;font-size:.9375rem;color:var(--on-green-2)}

/* Sticky mobile CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--white);border-top:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
@media (min-width:1000px){.sticky-cta{display:none!important}}

/* Consent */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--line-strong);padding-bottom:env(safe-area-inset-bottom,0px)}
.consent .wrap{padding-block:18px;display:grid;gap:14px}
.consent-text p{font-size:.9375rem;color:var(--ink-2);max-width:56em}
.consent-text strong{color:var(--ink)}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px}
.consent-actions .btn{min-height:44px;padding:.55em 1.05em;font-size:.9375rem}
.consent-prefs{display:flex;flex-direction:column;gap:12px}
@media (min-width:1040px){.consent .wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center}.consent-prefs{grid-column:1/-1}}

/* ===== Mobil finomítások ===== */
a,button,summary,label{-webkit-tap-highlight-color:rgba(24,62,53,.12)}
.mobile-nav{max-height:calc(100dvh - var(--header-h) - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain}
/* Keskeny kijelzőn a hosszabb opciók (pl. „Hozzátartozómnak”) nem férnek el két oszlopban. */
@media (max-width:459px){
  .chips.grid{grid-template-columns:1fr}
  .card{padding:20px 18px}
}
body.has-sticky{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media (min-width:1000px){body.has-sticky{padding-bottom:0}}
.consent{max-height:85dvh;overflow-y:auto;box-shadow:0 -8px 24px rgba(16,48,42,.10)}
.consent-text a{color:var(--green);text-underline-offset:3px}
@media (max-width:599px){
  .consent .wrap{padding-block:16px}
  .consent-actions{display:grid;grid-template-columns:1fr 1fr}
  .consent-actions [data-c="custom"]{grid-column:1/-1}
  .consent-actions .btn{padding-inline:.6em}
}
.contact-link{display:inline-flex;align-items:center;min-height:44px;text-decoration-color:var(--on-green-line);text-underline-offset:4px}
.eyebrow{font:700 .8125rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}

/* ===== Ároktő: galéria + térkép ===== */
.car-btn{pointer-events:auto;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--green);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.car-btn:hover{background:var(--white)}
.car-btn svg{width:22px;height:22px}
.map-links{display:flex;flex-wrap:wrap;gap:10px}
.map-links .btn{flex:1 1 10em;min-height:48px}

/* ===== Jogi oldalak ===== */
.legal-header .back-link{min-height:44px;padding:.55em 1em;font-size:.9375rem}
@media (max-width:400px){.legal-header .brand-text{display:none}}
.legal-main{padding-block:clamp(36px,6vw,72px) clamp(56px,8vw,104px)}
.legal{max-width:48rem;margin-inline:auto}
.legal-title{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.25rem);line-height:1.08}
.legal-meta{margin-top:12px;color:var(--ink-2);font-size:.9375rem}
.legal-lead{margin-top:20px;font-size:1.1875rem;color:var(--ink-2)}
.legal h2{font-size:clamp(1.5rem,1.3rem + .8vw,1.875rem);line-height:1.2;margin-top:clamp(40px,5vw,56px);padding-top:clamp(28px,3vw,36px);border-top:1px solid var(--line)}
.legal h3{font:700 1.0625rem/1.4 var(--sans);margin-top:24px}
.legal p,.legal ul,.legal ol{margin:14px 0 0}
.legal ul,.legal ol{padding-left:1.3em}
.legal li + li{margin-top:6px}
.legal a{color:var(--green);text-underline-offset:3px;overflow-wrap:anywhere}
.toc{margin-top:28px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:6px}
.toc p{margin:0;font-weight:700;font-size:1rem}
.toc ol{margin:10px 0 0;font-size:1rem}
.note{margin-top:20px;padding:14px 16px;border-left:4px solid var(--gold);background:var(--white);font-size:1rem}
.kv{margin:16px 0 0;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:4px 18px}
.kv div{display:grid;gap:2px;padding:12px 0;border-top:1px solid var(--line)}
.kv div:first-child{border-top:0}
.kv dt{font-weight:700;font-size:.9375rem}
.kv dd{margin:0;color:var(--ink-2);font-size:1rem;overflow-wrap:anywhere}
@media (min-width:640px){.kv div{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px}}
/* Táblázatok: asztalon táblázat, telefonon kártyák (a mezőnév a data-label-ből jön). */
.table-wrap{margin-top:16px;overflow-x:auto;background:var(--white);border:1px solid var(--line);border-radius:6px}
.ltable{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.ltable th,.ltable td{padding:12px 14px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.ltable thead th{border-top:0;font-weight:700;color:var(--ink);background:var(--ivory)}
.ltable td:first-child{font-weight:600}
.ltable code{font-size:.875rem;background:var(--ivory);padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}
@media (max-width:699px){
  .table-wrap{background:transparent;border:0;overflow:visible}
  .ltable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ltable,.ltable tbody,.ltable tr,.ltable td{display:block;width:100%}
  .ltable tr{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:6px 16px;margin-bottom:12px}
  .ltable td{border-top:1px solid var(--line);padding:10px 0}
  .ltable td:first-child{border-top:0}
  .ltable td::before{content:attr(data-label);display:block;font:700 .75rem/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:2px}
}
.consent-status{margin-top:16px;padding:14px 16px;background:var(--tint);border-radius:var(--r);font-weight:600;font-size:1rem}
.legal .btn{margin-top:16px}
.legal-footer{padding-block:32px calc(28px + env(safe-area-inset-bottom,0px))}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 24px;list-style:none;margin:0;padding:0}
.footer-links a,.footer-links .btn-link{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;color:var(--on-green);text-decoration-color:var(--on-green-line);text-underline-offset:4px}
.legal-footer .footer-bottom{margin-top:16px}

/* Köszönő képernyő: kép a kártya teljes szélességében */

/* Oldalról becsúszó panel (Szobák és díjak) */
html.no-scroll{overflow:hidden}
.drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(32rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;background:var(--ivory);color:var(--ink);box-shadow:-24px 0 60px rgba(16,48,42,.28)}
.drawer::backdrop{background:rgba(16,48,42,.5);backdrop-filter:blur(2px)}
.drawer[open]{animation:drawerIn .42s cubic-bezier(.2,.7,.2,1)}
.drawer.closing{animation:drawerOut .26s ease-in forwards}
@keyframes drawerIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes drawerOut{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.drawer[open],.drawer.closing{animation:none}}
.drawer-inner{display:flex;flex-direction:column;height:100%}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:calc(24px + env(safe-area-inset-top,0px)) 24px 20px;border-bottom:1px solid var(--line)}
.drawer-head h2{margin-top:8px;font-size:clamp(2.125rem,1.7rem + 1.6vw,2.75rem);line-height:1.02;color:var(--green)}
.drawer-close{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--white);color:var(--green);display:grid;place-items:center;cursor:pointer}
.drawer-close:hover{border-color:var(--green)}
.drawer-close svg{width:18px;height:18px}
.drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 24px 24px}
.drawer-rooms{list-style:none;margin:0;padding:0}
.drawer-rooms li{display:grid;grid-template-columns:clamp(104px,30%,150px) minmax(0,1fr);align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.dr-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:var(--ph)}
.dr-name{display:block;font:800 1.5rem/1.15 var(--serif)}
.dr-meta{display:block;margin-top:4px;font-size:.875rem;color:var(--ink-2)}
.dr-amount{display:block;margin-top:10px;font:800 1.5rem/1.1 var(--serif);white-space:nowrap}
.dr-unit{display:block;margin-top:4px;font-size:.8125rem;color:var(--ink-2)}
.drawer-monthly{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:24px 0 16px;padding:20px 22px;border-radius:8px;background:var(--green);color:var(--on-green)}
.dm-label{font-weight:700}
.dm-label small{display:block;font-weight:500;font-size:.875rem;color:var(--on-green-2)}
.dm-value span{font:800 2rem/1 var(--serif)}
.dm-value small{margin-left:6px;font-size:.875rem;color:var(--on-green-2)}
.drawer-foot{padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--white)}

/* Záró rész: érzelmes, nagy mondat, nagy gomb, logó */
.closing{background:var(--ivory);padding-block:clamp(80px,12vw,168px) clamp(56px,8vw,96px);text-align:center;border-top:1px solid var(--line)}
.closing-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(32px,4.5vw,56px)}
.closing h2{font-size:min(6.6vw,6rem);line-height:1;letter-spacing:-.045em;color:var(--green)}
.closing h2 span{display:block;white-space:nowrap}
.closing h2 span + span{color:var(--gold-ink)}
.btn-xl{min-height:72px;padding:1em 2.6em;font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);border-radius:6px}
@media (max-width:519px){.closing .btn-xl{width:100%}}
.closing-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:clamp(8px,2vw,24px);text-decoration:none;color:var(--ink)}
.closing-brand img{width:clamp(96px,10vw,128px);height:auto}
.closing-brand .brand-name{font-size:1.5rem}

.q-actions .btn{min-height:60px;padding-inline:2em;font-size:1.125rem}
.q .check{font-size:1.0625rem}
.q .check input{width:26px;height:26px}

/* Szobakártyák */
.rooms{display:grid;gap:clamp(16px,2.4vw,28px)}
@media (min-width:860px){.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}}
.room-card{display:flex;flex-direction:column;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(16,48,42,.05),0 18px 40px -24px rgba(16,48,42,.3)}
.room-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--ph)}
.room-body{display:flex;flex-direction:column;padding:clamp(20px,2.4vw,28px)}
.room-name{font-size:clamp(1.75rem,1.4rem + 1vw,2.125rem);line-height:1.1}
.room-meta{margin-top:6px;font-size:1rem;color:var(--ink-2)}
.room-price{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.room-amount{font-size:clamp(1.75rem,1.4rem + 1vw,2.125rem);color:var(--green)}
.room-price .unit{font-size:1rem;color:var(--ink-2)}
.room-price-label{margin-top:2px;font-size:.9375rem;color:var(--ink-2)}
#dijak .monthly{margin-top:clamp(16px,2.4vw,28px);border-radius:8px}
@media (max-width:559px){#dijak .monthly{padding:20px 18px}}
/* Kis kép a szobaválasztó kérdésnél */
.qopt-img{flex:none;margin-left:auto;width:clamp(76px,18vw,112px);height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:var(--ph)}
.qopt-price{margin-top:4px;font-size:1rem;color:var(--ink-2)}
.qopt-price .num{font-size:1.375rem;color:var(--ink)}
/* Telefonon a kép a rádiókör helyére kerül, hogy a szöveg kiférjen. */
@media (max-width:519px){
  .qopt-body:has(.qopt-img) .qopt-ring{display:none}
  .qopt-img{order:-1;margin-left:0;width:88px}
  .qopt-body:has(.qopt-img){padding:14px 16px 14px 14px;gap:14px}
}

/* Ellátás: ikonos kártyák zöld alapon */
.care{background:var(--green);color:var(--on-green)}
.care-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.care-head .eyebrow{color:var(--gold)}
.care-head h2{color:var(--on-green);font-size:clamp(2.25rem,1.25rem + 3.4vw,4.125rem);line-height:1.05;max-width:12em;text-wrap:balance}
.care-lead{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);color:var(--on-green-2);max-width:30em;text-wrap:balance}
/* Szolgáltatás-kártyák: lapozható sor */
.svc-car{margin-top:clamp(36px,5vw,64px)}
.svc-track{list-style:none;margin:0;padding:0 0 4px;display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:clamp(12px,1.6vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.svc-track::-webkit-scrollbar{display:none}
.svc-track:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:12px}
@media (min-width:640px){.svc-track{grid-auto-columns:calc((100% - 20px) / 2.15)}}
@media (min-width:1000px){.svc-track{grid-auto-columns:calc((100% - 40px) / 3.2)}}
.svc-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:12px;overflow:hidden;scroll-snap-align:start;background:var(--white)}
.svc-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--ph);transition:transform .6s ease}
@media (hover:hover){.svc-card:hover img{transform:scale(1.04)}}
.svc-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:8px;padding:0 clamp(20px,2.2vw,30px) clamp(22px,2.4vw,32px);background:var(--white)}
.svc-icon{display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 8px;border-radius:50%;background:var(--gold);color:var(--green-deep);box-shadow:0 0 0 5px var(--white)}
.svc-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc-name{font:800 clamp(1.75rem,1.3rem + 1.4vw,2.375rem)/1.05 var(--serif);color:var(--ink)}
.svc-sub{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.45;color:var(--ink-2)}
.svc-nav{display:flex;align-items:center;gap:12px;margin-top:clamp(18px,2.4vw,28px)}
.svc-progress{flex:1;height:2px;margin-right:8px;background:var(--on-green-line);border-radius:2px;overflow:hidden}
.svc-progress span{display:block;height:100%;width:30%;background:var(--gold);transition:width .2s}
.svc-nav .car-btn:disabled{opacity:.35;cursor:default}
.svc-car.no-overflow .svc-nav{display:none}
@media (prefers-reduced-motion:reduce){.svc-card img,.svc-progress span{transition:none}}

/* Bemutató: lapozható látványterv */
.plan-car{margin-top:clamp(36px,5vw,64px)}
.plan-track{grid-auto-columns:88%}
@media (min-width:860px){.plan-track{grid-auto-columns:calc((100% - 20px) / 1.45)}}
.plan-slide{display:flex;flex-direction:column;min-width:0;border-radius:12px;overflow:hidden;background:var(--white);scroll-snap-align:start;box-shadow:0 1px 2px rgba(16,48,42,.05),0 18px 40px -26px rgba(16,48,42,.35)}
.plan-slide img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--ph)}
.plan-cap{display:flex;align-items:baseline;gap:clamp(14px,2vw,24px);padding:clamp(18px,2.2vw,28px) clamp(20px,2.4vw,32px)}
.plan-no{font:800 clamp(1.5rem,1.2rem + 1vw,2.25rem)/1 var(--serif);color:var(--gold-ink)}
.plan-name{font-size:clamp(1.5rem,1.2rem + 1vw,2.125rem);line-height:1.1}
.plan-sub{margin-top:4px;font-size:clamp(1rem,.95rem + .25vw,1.125rem);color:var(--ink-2)}
.plan-car .svc-progress{background:var(--line)}
.plan-car .svc-progress span{background:var(--green)}
.plan-car .car-btn:disabled{opacity:.4}

/* Helyszín: fotómontázs + saját térkép */
.place-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-bottom:clamp(32px,4.5vw,56px)}
.place-lead{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);color:var(--ink-2);text-wrap:balance}
.place-grid{display:grid;gap:clamp(12px,1.6vw,20px)}
.place-grid > *{min-width:0}
.montage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.25fr 1fr 1fr;gap:clamp(10px,1.4vw,16px);aspect-ratio:4/5}
.mt{position:relative;margin:0;min-height:0;border-radius:12px;overflow:hidden;background:var(--ph)}
.mt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
@media (hover:hover){.mt:hover img{transform:scale(1.04)}}
.mt figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:var(--white);color:var(--ink);font:700 .875rem/1.2 var(--sans);box-shadow:0 2px 10px rgba(16,48,42,.15)}
.mt-a{grid-column:1 / -1}
.mt-b{grid-row:2 / 4}
.mt-b img{object-position:50% 25%}
.mt-c img{object-position:50% 62%}
.map-card{display:flex;flex-direction:column;background:var(--white);border-radius:12px;overflow:hidden}
.map-svg{display:block;width:100%;height:auto}
.map-foot{display:flex;flex-direction:column;gap:14px;padding:clamp(16px,2vw,24px)}
.place-credits{margin-top:16px;font-size:.75rem;line-height:1.6;color:var(--ink-2);text-align:center}
.place-credits a{color:inherit}
@media (min-width:900px){
  .place-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .montage{aspect-ratio:auto}
}
@media (prefers-reduced-motion:reduce){.mt img{transition:none}}
.m-bg{fill:#F7F3EA}
.m-road{fill:none;stroke:#E2D6BE;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.m-water{fill:#C7DAD3}
.m-river{fill:none;stroke:#A9C6BD;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.m-river-s{fill:none;stroke:#BBD2CA;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.m-town{fill:var(--white);stroke:var(--ink-2);stroke-width:3}
.m-label,.m-place,.m-water-label{paint-order:stroke;stroke:#F7F3EA;stroke-linejoin:round}
.m-label{font:700 30px var(--sans);fill:var(--ink-2);stroke-width:8px}
.m-water-label{font:700 34px var(--serif);fill:#5E8A7F;letter-spacing:.06em;stroke-width:8px}
.m-place{font:900 68px var(--serif);fill:var(--green);stroke-width:12px}
.m-dot{fill:var(--green);stroke:var(--white);stroke-width:5}
.m-halo{fill:rgba(197,170,119,.32)}
.m-pulse{fill:var(--gold);transform-box:fill-box;transform-origin:center;animation:mapPulse 2.6s ease-out infinite}
@keyframes mapPulse{from{transform:scale(1);opacity:.7}to{transform:scale(3.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.m-pulse{animation:none;opacity:0}}

/* Szakaszok végi CTA */
.section-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(32px,4vw,48px);text-align:center}
.section-cta .btn{min-width:15rem}
.section-cta p{font-size:.9375rem;color:var(--ink-2)}
.section-cta.on-green p{color:var(--on-green-2)}
@media (max-width:519px){.section-cta .btn{width:100%}}

/* Szobakártya és díjpanel: „Ezt választom” */
.room-body{flex:1}
.room-price-label{margin-bottom:22px}
.room-cta{margin-top:auto;width:100%;min-height:52px}
.dr-cta{display:inline-flex;margin-top:12px;min-height:40px;padding-inline:16px;font-size:.9375rem}

/* Archivo: a szoros betűköz mellett a szóközöket kicsit nyitjuk */
h1,h2,h3,.q-title,.statement{word-spacing:.08em}

/* Pici „Illusztráció” jelölés a látványképek sarkában */
.hero-figure,.plan-slide,.room-card{position:relative}
.illu{position:absolute;top:8px;right:8px;z-index:1;padding:2px 6px;border-radius:3px;background:rgba(0,0,0,.42);color:#fff;font:600 .625rem/1.2 var(--sans);letter-spacing:.03em;pointer-events:none}
