/* Palánkai Viktória Tattoo – két téma: sötét (alap) és világos; színek a hattyú-festményből */
:root,[data-theme=dark]{color-scheme:dark;--bg:#0b0f14;--bg2:#121b27;--bg3:#1a2634;--foot-bg:#070a0e;--ink:#eee8dc;--muted:#a0a9b5;--line:#233041;--rose:#dcab50;--rose-d:#e8772e;--on:#16130d;--hdr:rgba(11,15,20,.88);--lead:#d0cabd;--quote:#ddd6c8;--hov:#6b5530;--glow:rgba(220,171,80,.15);--ghost:#4a5666;--field:#2e3b4d;--ok-bg:#14261a;--ok-bd:#2c5a3a;--err-bg:#2a1418;--err-bd:#6a2a36;--paper:#ece6dc;--paper-ink:#1a1a1a;--wl:.34;--r:8px}
[data-theme=light]{color-scheme:light;--bg:#f5f2ea;--bg2:#e8e6dd;--bg3:#dcdad0;--foot-bg:#18212c;--ink:#1b2430;--muted:#566170;--line:#d2cfc2;--rose:#8c5f0f;--rose-d:#b04d14;--on:#fff;--hdr:rgba(245,242,234,.9);--lead:#34404f;--quote:#26303d;--hov:#c9a85e;--glow:rgba(184,134,40,.2);--ghost:#8d95a1;--field:#bdb8a6;--ok-bg:#e4efe3;--ok-bd:#8fb48f;--err-bg:#f6e3e3;--err-bd:#c98a8a;--paper:#fbfaf6;--paper-ink:#1b2430;--wl:.38}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f5f2ea;--bg2:#e8e6dd;--bg3:#dcdad0;--foot-bg:#18212c;--ink:#1b2430;--muted:#566170;--line:#d2cfc2;--rose:#8c5f0f;--rose-d:#b04d14;--on:#fff;--hdr:rgba(245,242,234,.9);--lead:#34404f;--quote:#26303d;--hov:#c9a85e;--glow:rgba(184,134,40,.2);--ghost:#8d95a1;--field:#bdb8a6;--ok-bg:#e4efe3;--ok-bd:#8fb48f;--err-bg:#f6e3e3;--err-bd:#c98a8a;--paper:#fbfaf6;--paper-ink:#1b2430;--wl:.38}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 "Jost",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.brand span,.brand-foot{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:.005em;margin:0}
h1{font-size:clamp(2.6rem,5.3vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:.45em}h3{font-size:1.5rem;margin:0 0 .3em}
em{font-style:italic;color:var(--rose);background:linear-gradient(100deg,var(--rose),var(--rose-d));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
a{color:var(--ink);text-decoration-color:var(--rose);text-underline-offset:3px}
a:hover{color:var(--rose)}
img{max-width:100%;height:auto;display:block}
p{margin:0 0 1em}
.wrap{width:min(1240px,100% - 3rem);margin-inline:auto}
.muted{color:var(--muted)}.small{font-size:.9rem}
.skip{position:absolute;left:-999px;top:0;background:var(--rose);color:var(--on);padding:.5rem 1rem;z-index:100}.skip:focus{left:0}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}

/* a hattyú-motívum: folyó hullámvonalak (maszk) és elválasztó hullámok */
.wavelines{position:absolute;inset:-6% -5%;pointer-events:none;background:var(--rose);opacity:var(--wl);-webkit-mask:url(hullam.svg) center/cover no-repeat,linear-gradient(90deg,transparent 30%,#000 80%);-webkit-mask-composite:source-in;mask:url(hullam.svg) center/cover no-repeat,linear-gradient(90deg,transparent 30%,#000 80%);mask-composite:intersect}
.wave{background:var(--from);line-height:0;margin:-1px 0}
.wave svg{display:block;width:100%;height:clamp(38px,7vw,96px)}
.wave .w1{fill:var(--to)}.wave .w2{fill:var(--to);opacity:.45}
.wave .wl{fill:none;stroke:var(--rose);stroke-width:1.6;opacity:.7;vector-effect:non-scaling-stroke}
.orn{display:block;width:92px;height:13px;background:var(--rose);-webkit-mask:url(orn.svg) 0 center/92px 13px repeat-x;mask:url(orn.svg) 0 center/92px 13px repeat-x;margin:.2rem 0 1.4rem}
.cta .orn,.quote .orn{margin-inline:auto}

/* fejléc */
.site-header{position:sticky;top:0;z-index:30;background:var(--hdr);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background-color .3s}
.site-header.scrolled{border-color:var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:72px}
.brand{text-decoration:none;display:flex;align-items:center;gap:.8rem;line-height:1;min-width:0}
.bar{gap:.8rem}
.brand .mark{width:clamp(30px,9vw,40px);aspect-ratio:1;flex:none;background:var(--rose);-webkit-mask:url(logo-mark.svg) center/contain no-repeat;mask:url(logo-mark.svg) center/contain no-repeat}
.brand b{display:flex;flex-direction:column;font-weight:400}
.brand span{font-size:clamp(1.3rem,5.6vw,1.65rem);white-space:nowrap}.brand small{font-size:.66rem;letter-spacing:.3em;white-space:nowrap;text-transform:uppercase;color:var(--muted);margin-top:.35rem}
.nav{display:flex;gap:1.9rem;align-items:center}
.nav a{text-decoration:none;font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--rose);color:var(--ink)}
.nav .nav-cta{border:1px solid var(--rose);padding:.55rem 1.2rem;border-radius:99px}
.nav .nav-cta:hover,.nav .nav-cta[aria-current]{background:var(--rose);color:var(--on)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:.25s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.nav-open .burger span:first-child{top:21px;transform:rotate(45deg)}.nav-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
@media(max-width:820px){
  .burger{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.2rem}
  .nav-open .nav{display:flex}
  .nav a{padding:.9rem 0;border-bottom:1px solid var(--line)}
  .nav .nav-cta{text-align:center;margin-top:.8rem;border-radius:var(--r)}
}

/* gombok */
.btn{display:inline-block;background:linear-gradient(110deg,var(--rose) 0%,var(--rose-d) 55%,var(--rose) 100%) 0 0/220% 100%;color:var(--on);text-decoration:none;padding:.9rem 1.9rem;border-radius:99px;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;border:0;cursor:pointer;font-family:inherit;box-shadow:0 8px 24px -10px var(--rose-d);transition:transform .3s,box-shadow .3s,filter .3s,background-position .8s ease}
.btn:hover{color:var(--on);transform:translateY(-2px);background-position:100% 0;box-shadow:0 12px 28px -10px var(--rose-d)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ghost)}.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--rose);color:var(--rose);filter:none}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.eyebrow{font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem}

/* hero */
.hero{padding:clamp(2rem,6vw,4.5rem) 0 clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden;background:radial-gradient(60% 70% at 85% 30%,var(--glow),transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center;position:relative}
.hero .lead{font-size:1.15rem;color:var(--lead);max-width:34rem;margin:1.3rem 0 1.9rem}
.hero-art{position:relative;margin:0;max-width:470px;margin-left:auto}
.arch{border-radius:999px 999px 12px 12px;padding:10px;border:1px solid var(--hov)}
.arch img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:64% 18%;border-radius:999px 999px 6px 6px;filter:contrast(1.05)}
.medal{position:absolute;left:-34px;bottom:72px;width:132px;aspect-ratio:1;border-radius:50%;border:4px solid var(--bg);box-shadow:0 0 0 1px var(--rose),0 14px 30px -12px #000}
.medal img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.hero-art figcaption{font-size:.8rem;color:var(--muted);margin-top:.9rem;letter-spacing:.08em;text-align:center}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-art{order:-1;max-width:340px;margin-inline:auto}.medal{width:96px;left:-14px;bottom:60px}}
.strip{border-block:1px solid var(--line);background:var(--bg)}
.strip ul{list-style:none;margin:0;padding:1rem 0;display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 2.2rem;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.strip li::before{content:"✦";color:var(--rose);margin-right:.7rem}

/* szekciók */
.section{padding:clamp(3rem,7vw,5.5rem) 0;position:relative}
.section.alt{background:var(--bg2)}
.sec-head{max-width:40rem;margin-bottom:2.5rem}
.sec-head p{color:var(--muted)}
.phead{position:relative;overflow:hidden;background:radial-gradient(50% 120% at 90% 0%,var(--glow),transparent 70%)}
.page-head{padding:clamp(2.5rem,6vw,4.5rem) 0 1.5rem;position:relative}
.page-head h1{font-size:clamp(2.5rem,5vw,4rem)}
.page-head p{color:var(--muted);max-width:40rem;margin-top:1rem;font-size:1.1rem}

/* stílus kártyák */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rose),var(--rose-d));transform:scaleX(0);transform-origin:left;transition:transform .4s;z-index:1}
.card:hover{transform:translateY(-5px);border-color:var(--hov);box-shadow:0 18px 40px -22px #000}.card:hover::before{transform:none}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card div{padding:1.4rem 1.5rem 1.6rem}
.card p{color:var(--muted);margin:0;font-size:.97rem}
@media(max-width:820px){.cards{grid-template-columns:1fr}}

/* rólam */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.about>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 12px 12px;border:1px solid var(--hov);padding:10px}
.about blockquote{margin:1.5rem 0 0;padding-left:1.2rem;border-left:2px solid var(--rose);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;line-height:1.3;color:var(--quote)}
@media(max-width:820px){.about{grid-template-columns:1fr}.about>img{max-width:340px;margin-inline:auto}}

/* galéria */
.gallery{columns:3 260px;column-gap:1rem}
.gallery .g{display:block;width:100%;margin:0 0 1rem;padding:0;border:0;border-radius:var(--r);background:var(--bg3);overflow:hidden;cursor:zoom-in;break-inside:avoid;position:relative}
.gallery .g img{width:100%;transition:transform .6s,filter .6s}
.gallery .g:hover img{transform:scale(1.05)}
.gallery .g span{position:absolute;left:0;right:0;bottom:0;padding:2rem 1.6rem 1.3rem;background:linear-gradient(transparent,rgba(5,8,12,.88));font-size:.85rem;letter-spacing:.08em;text-align:left;color:#fff;opacity:0;transition:opacity .3s}
.gallery .g:hover span,.gallery .g:focus-visible span{opacity:1}
@media(hover:none){.gallery .g span{opacity:1}}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2rem}
.filters button{background:none;border:1px solid var(--line);color:var(--muted);padding:.5rem 1.2rem;border-radius:99px;font:inherit;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.2s}
.filters button[aria-pressed=true]{background:var(--rose);border-color:var(--rose);color:var(--on)}.filters button:hover{border-color:var(--rose);color:var(--ink)}
.filters button[aria-pressed=true]:hover{color:var(--on)}
.g[hidden]{display:none}
.more{margin-top:2rem;text-align:center}

/* szabad minták */
.flash{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.flash figure{margin:0;background:var(--paper);color:var(--paper-ink);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 40px -26px #000}
.flash .fimg{display:block;padding:0;border:0;background:none;cursor:zoom-in}
.flash img{width:100%;aspect-ratio:1;object-fit:contain;background:#efe9df}
.flash figcaption{padding:1rem 1.2rem 1.3rem;border-top:1px solid #d8d1c4;display:flex;flex-direction:column;gap:.5rem;flex:1}
.flash h3{font-size:1.4rem;color:var(--paper-ink)}
.flash p{margin:0;font-size:.92rem;color:#555}
.flash form{margin-top:auto}.flash .btn{padding:.6rem 1.3rem;font-size:.76rem}
@media(max-width:900px){.flash{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.flash{grid-template-columns:1fr}}
.feature{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.feature img{border-radius:var(--r);background:#efe9df;width:100%;max-width:420px;margin-inline:auto;box-shadow:0 24px 50px -28px #000}
@media(max-width:820px){.feature{grid-template-columns:1fr}}

/* folyamat */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s;padding:0;list-style:none;margin:0}
.steps li{counter-increment:s;border-top:1px solid var(--hov);padding-top:1.3rem}
.steps li::before{content:"0" counter(s);font-family:"Cormorant Garamond",serif;font-size:2.8rem;color:var(--rose);display:block;line-height:1;margin-bottom:.6rem}
.steps p{color:var(--muted);font-size:.96rem;margin:0}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* vélemény */
.quote{max-width:46rem;margin-inline:auto;text-align:center}
.quote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.3;margin-bottom:1rem}
.quote cite{font-style:normal;color:var(--muted);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase}

/* CTA */
.cta{text-align:center}
.cta p{max-width:34rem;margin:0 auto 1.6rem;color:var(--muted)}
.cta-split{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;text-align:left}
.cta-split p{margin-inline:0}.cta-split .orn{margin-inline:0}
.cta-split img{border-radius:50%;width:100%;max-width:360px;margin-inline:auto;aspect-ratio:1;object-fit:cover;border:5px solid var(--bg2);box-shadow:0 0 0 1px var(--rose),0 24px 50px -26px #000}
@media(max-width:820px){.cta-split{grid-template-columns:1fr}.cta-split img{order:-1;max-width:260px}}

/* időpont, szöveges oldalak */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.prose{max-width:46rem}
.prose h2{font-size:2rem;margin-top:2.2rem}.prose li{margin-bottom:.4rem}
.panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.9rem}
.section.alt .panel{background:var(--bg)}
.panel h2,.panel h3{margin-top:0}
.price-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.6rem 0}
.price-row strong{color:var(--rose);font-weight:500;white-space:nowrap}
.checklist{list-style:none;padding:0;margin:0 0 1rem}
.checklist li{padding-left:1.6rem;position:relative;margin-bottom:.5rem}
.checklist li::before{content:"✦";position:absolute;left:0;color:var(--rose);font-size:.8rem;top:.25rem}
.note{border-left:2px solid var(--rose);padding:.2rem 0 .2rem 1rem;color:var(--lead)}
.legal table{border-collapse:collapse;width:100%;font-size:.93rem;margin:1rem 0}
.legal th,.legal td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top}
.legal th{background:var(--bg2)}

/* űrlap */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){form .row{grid-template-columns:1fr}}
label{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;background:var(--bg);border:1px solid var(--field);border-radius:var(--r);color:var(--ink);padding:.8rem .9rem;font:inherit;margin-bottom:1.1rem;transition:border-color .2s,box-shadow .2s}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px var(--glow)}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:1.3rem}
.check input{margin-top:.35rem;accent-color:var(--rose)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.alert{padding:1rem 1.2rem;border-radius:var(--r);margin-bottom:1.5rem}
.alert.ok{background:var(--ok-bg);border:1px solid var(--ok-bd)}.alert.err{background:var(--err-bg);border:1px solid var(--err-bd)}
.alert ul{margin:.4rem 0 0;padding-left:1.2rem}

/* lábléc: mindkét témában mély, hattyú-palakék */
.site-footer{--ink:#eee8dc;--muted:#a3acb8;--line:#2a3646;--rose:#dcab50;--on:#16130d;background:var(--foot-bg);color:var(--ink);padding:3.2rem 0 1.5rem;position:relative}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr}}
.brand-foot{font-size:1.9rem;margin-bottom:.5rem}
.foot-h{font-family:"Jost",sans-serif;font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:.8rem}
.site-footer a{color:var(--ink)}.site-footer a:hover{color:var(--rose)}
.copy{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem;color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.signature{width:min(220px,60%);height:auto;opacity:.9;margin-top:1.2rem}
.about .signature{aspect-ratio:auto;border-radius:0;border:0;padding:0}
.sign-foot{width:150px;height:auto;opacity:.85;margin-bottom:.6rem}
[data-theme=light] .about .signature{filter:invert(1)}
.theme-switch{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.theme-switch>span{letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}
.theme-switch button{background:none;border:1px solid var(--line);color:var(--muted);padding:.35rem 1rem;border-radius:99px;font:inherit;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.theme-switch button[aria-pressed=true]{background:var(--rose);border-color:var(--rose);color:var(--on)}
.theme-switch button:hover:not([aria-pressed=true]){border-color:var(--rose);color:var(--ink)}

/* mobil akciósáv */
.mbar{display:none}
@media(max-width:820px){
  body{padding-bottom:76px}
  .mbar{display:flex;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--hdr);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{flex:1;text-align:center;padding:.8rem .5rem;font-size:.78rem}
}

/* képnézegető */
.lightbox{border:0;background:rgba(4,7,11,.95);color:#fff;width:100vw;height:100vh;max-width:none;max-height:none;padding:2rem;margin:0}
.lightbox[open]{display:flex;align-items:center;justify-content:center;animation:lbfade .35s ease both}
.lightbox::backdrop{background:#000}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:1rem}
.lightbox img{max-height:80vh;max-width:min(88vw,1200px);width:auto;object-fit:contain;border-radius:10px;box-shadow:0 0 0 1px rgba(220,171,80,.55),0 30px 80px -20px #000;opacity:0}
.lightbox img.in{animation:lbimg .55s cubic-bezier(.2,.7,.2,1) both}
.lb-cap{margin:0;color:#b4bcc7;font-size:.9rem;letter-spacing:.08em;text-align:center}
.lb-x{position:absolute;top:.8rem;right:1.2rem;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;width:48px;height:48px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(220,171,80,.6);background:rgba(10,14,20,.55);color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s;padding:0 0 4px}
.lb-nav:hover{background:rgba(220,171,80,.85);color:#16130d}
.lb-prev{left:1.2rem}.lb-next{right:1.2rem}
.lightbox.single .lb-nav{display:none}
@media(max-width:700px){.lb-nav{top:auto;bottom:1.2rem;transform:none}.lightbox{padding:1rem 1rem 5.5rem}.lightbox img{max-width:94vw;max-height:72vh}}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
@keyframes lbimg{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}

/* megjelenés görgetéskor */
.js-reveal .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.22,.7,.2,1),transform 1.1s cubic-bezier(.22,.7,.2,1);transition-delay:var(--ri,0ms)}
.js-reveal .reveal.in{opacity:1;transform:none}
body,.site-footer,.section.alt,.panel,.card{transition:background-color .3s,color .3s,border-color .3s}


/* ===== Klasszikus kinézet (az előző változat): <html data-design="classic"> ===== */
[data-design=classic][data-theme=dark]{--bg:#0e0f11;--bg2:#15171b;--bg3:#1c1f24;--line:#2a2e35;--muted:#a19b90;--rose:#d4a24c;--rose-d:#e0742a;--hdr:rgba(14,15,17,.88);--hov:#5a4a2a;--glow:rgba(212,162,76,.14);--ghost:#55555b;--field:#3a3a40;--r:6px}
[data-design=classic][data-theme=light]{--bg:#f3efe6;--bg2:#e9e4d8;--bg3:#e0dacb;--line:#d3ccba;--muted:#5b5e66;--rose:#946510;--rose-d:#b8501a;--hdr:rgba(243,239,230,.9);--lead:#3a3e47;--quote:#2c313a;--hov:#c9a85e;--glow:rgba(184,134,40,.16);--ghost:#8a8a8f;--field:#bdb6a3;--r:6px}
[data-design=classic] .wave,[data-design=classic] .strip,[data-design=classic] .wavelines,[data-design=classic] .orn,[data-design=classic] .medal,[data-design=classic] .brand .mark,[data-design=classic] .mbar{display:none}
@media(max-width:820px){[data-design=classic] body{padding-bottom:0}}
[data-design=classic] em{background:none;-webkit-text-fill-color:currentColor;color:var(--rose)}
[data-design=classic] .btn{background:var(--rose);box-shadow:none;transition:background-color .2s,transform .2s}
[data-design=classic] .btn:hover{background:var(--rose-d);filter:none;box-shadow:none}
[data-design=classic] .btn.ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--ghost)}
[data-design=classic] .btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--rose)}
[data-design=classic] .hero,[data-design=classic] .phead{background:none}
[data-design=classic] .hero-art{max-width:none;margin-left:0}
[data-design=classic] .arch{border:0;padding:0;border-radius:0;position:relative}
[data-design=classic] .arch::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--rose);border-radius:var(--r);z-index:-1;opacity:.6}
[data-design=classic] .arch img{aspect-ratio:5/6;border-radius:var(--r);object-position:50% 20%}
@media(max-width:820px){[data-design=classic] .hero-art{max-width:420px;margin-inline:auto 14px}}
[data-design=classic] .section.alt{border-block:1px solid var(--line)}
[data-design=classic] .card{background:var(--bg2)}
[data-design=classic] .card::before{display:none}
[data-design=classic] .card:hover{box-shadow:none}
[data-design=classic] .about>img{aspect-ratio:1;border-radius:var(--r);border:0;padding:0}
[data-design=classic] .cta-split img{border-radius:var(--r);border:0;box-shadow:none;max-width:380px}
[data-design=classic] .section.alt .panel{background:var(--bg2)}
[data-design=classic] .site-footer{--ink:inherit;--muted:inherit;--line:inherit;--rose:inherit;--on:inherit;background:var(--bg2);border-top:1px solid var(--line)}
[data-design=classic] .site-footer a{color:var(--ink)}
[data-design=classic] .site-footer a:hover{color:var(--rose)}
[data-design=classic][data-theme=light] .sign-foot{filter:invert(1)}
[data-design=classic] .flash figure{box-shadow:none}
[data-design=classic] .feature img{box-shadow:none}

/* kapcsolók a láblécben */
.switches{display:flex;gap:.9rem 1.6rem;flex-wrap:wrap;align-items:center}
@media(max-width:700px){.theme-switch>span{flex-basis:100%}.theme-switch button{padding:.35rem .85rem}}

/* ===== lágy mozgások (hullámzás, lebegés); csökkentett mozgásnál kikapcsolva ===== */
@keyframes swellA{0%{transform:translate(-60px,10px)}100%{transform:translate(60px,-14px)}}
@keyframes swellB{0%{transform:translate(68px,-12px)}100%{transform:translate(-68px,14px)}}
@keyframes flow{0%{transform:translate3d(-1.5%,0,0) rotate(-.5deg) scale(1)}100%{transform:translate3d(1.5%,-1%,0) rotate(.5deg) scale(1.03)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes ripple{to{-webkit-mask-position:92px center;mask-position:92px center}}
.wave .w1,.wave .wl{animation:swellA 15s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.wave .w2{animation:swellB 11s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.wavelines{animation:flow 28s ease-in-out infinite alternate}
.medal{animation:floaty 7s ease-in-out infinite}
.orn{animation:ripple 5s linear infinite}
.hero-grid>div>*{animation:rise 1s cubic-bezier(.22,.7,.2,1) both}
.hero-grid>div>:nth-child(2){animation-delay:.1s}.hero-grid>div>:nth-child(3){animation-delay:.2s}.hero-grid>div>:nth-child(4){animation-delay:.3s}
.hero-art{animation:rise 1.2s cubic-bezier(.22,.7,.2,1) .15s both}
.wave:not(.on) .w1,.wave:not(.on) .w2,.wave:not(.on) .wl,.wavelines:not(.on){animation-play-state:paused}
[data-design=classic] .medal,[data-design=classic] .wavelines{animation:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-reveal .reveal{opacity:1;transform:none}}

/* lenyomás-effekt: a gomb picit lesüpped, és hullámgyűrű (ripple) terül szét a lenyomás helyéről */
.btn,.nav .nav-cta,.filters button,.theme-switch button{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.btn:active{transform:translateY(0) scale(.97);box-shadow:0 3px 10px -6px var(--rose-d);transition-duration:.12s}
.nav .nav-cta:active,.filters button:active,.theme-switch button:active{transform:scale(.96)}
@keyframes rip{to{transform:scale(1);opacity:0}}
.rip{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.26;transform:scale(0);animation:rip .75s cubic-bezier(.2,.6,.3,1) forwards}
.btn:not(.ghost) .rip{background:#fff;opacity:.5}
@media(prefers-reduced-motion:reduce){.rip{display:none}.btn:active,.nav .nav-cta:active,.filters button:active,.theme-switch button:active{transform:none}}

/* galéria-kollázs: egyetlen összefüggő képfelület, a képeket egy-egy hullámvonal választja el (a site.js számolja ki) */
.gallery.collage{columns:auto;column-gap:0;position:relative;border-radius:22px;overflow:hidden}
.gallery.collage .g{position:absolute;inset:0;margin:0;width:100%;height:100%;border-radius:0;background:transparent;cursor:zoom-in}
.gallery.collage .g img{display:none}
.cc-img{transition:transform .9s cubic-bezier(.2,.7,.2,1);transform-box:fill-box;transform-origin:center}
.cc-img.hot{transform:scale(1.045)}
.gallery.collage .g span{position:absolute;right:auto;padding:.35rem .9rem;border-radius:99px;background:rgba(5,8,12,.62);font-size:.78rem;letter-spacing:.1em;pointer-events:none}
.gallery.collage .g:focus-visible{outline:none}
.cc-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cc-svg path{fill:none;stroke:var(--rose);stroke-width:.8;opacity:.6}
@media(max-width:700px){.gallery.collage{border-radius:16px}}

/* nagy képernyők: Full HD-n 90 px margó jobbról-balról, a tartalom és a képek ennek megfelelően szélesednek */
@media(min-width:1500px){.wrap{width:min(calc(100% - 180px),2100px)}body{font-size:18px}h1{font-size:clamp(3.6rem,4.4vw,5.6rem)}
.hero-grid{gap:clamp(3rem,5vw,7rem)}.hero-art{max-width:780px}.arch img{aspect-ratio:1/1}.medal{width:164px;left:-44px;bottom:90px}.hero .lead{max-width:42rem;font-size:1.35rem}
.about{grid-template-columns:.75fr 1.25fr}.about>img{max-width:560px}.feature img{max-width:520px}.cta-split img{max-width:440px}
.gallery{columns:5 280px}.cards{gap:2rem}
[data-design=classic] .hero-art{max-width:600px;margin-left:auto}}
