:root{
  --ink:#0d1828;--ink2:#15243a;--ink3:#1f3350;
  --paper:#f3ede3;--paper2:#e8ddcc;--line:#d7c9b3;
  --oak:#a5774b;--candle:#f2b866;--blue:#3d8bd8;--blue2:#9cc8f2;
  --text:#1a2331;--muted:#69655d;--onink:#efe6d8;--onink2:#a9b3c2;
  --serif:'Instrument Serif',Georgia,serif;--sans:'Familjen Grotesk',system-ui,sans-serif;--mono:'DM Mono',ui-monospace,monospace;
  --gut:clamp(18px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--text);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
em{font-style:italic}
::selection{background:var(--candle);color:var(--ink)}

/* ---------- fejléc ---------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:28px;padding:16px var(--gut);color:var(--onink);transition:background .35s,padding .35s,color .35s}
.hd.is-solid{background:rgba(13,24,40,.92);backdrop-filter:blur(8px);padding-block:10px}
.hd.on-paper:not(.is-solid){color:var(--text)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1}
.brand svg{width:22px;height:34px}
.brand b{font:400 25px/1 var(--serif);letter-spacing:.01em}
.brand small{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-top:4px}
.nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav a{text-decoration:none;font-weight:500;font-size:15.5px;position:relative}
.nav a:not(.navtel)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1.5px;background:var(--candle);transition:right .3s}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.navtel{border:1.5px solid currentColor;border-radius:40px;padding:8px 16px;font-family:var(--mono)!important;font-size:13.5px!important;letter-spacing:.04em}
.navtel:hover{background:var(--candle);border-color:var(--candle);color:var(--ink)}
.burger{display:none;margin-left:auto;width:44px;height:44px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .3s,top .3s}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:26px}
body.menu-open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){top:21px;transform:rotate(-45deg)}

/* ---------- gerinc görgetésjelző ---------- */
.spine{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:7px;mix-blend-mode:normal}
.spine i{display:block;width:12px;height:7px;border-radius:5px;background:rgba(61,139,216,.22);transition:background .25s,width .25s}
.spine i:nth-child(-n+7){width:9px;height:6px}
.spine i:nth-child(n+20){width:14px;height:8px}
.spine i.on{background:var(--blue)}
.spine i.now{background:var(--candle);width:18px}
.spine-lbl{position:fixed;left:44px;z-index:40;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);opacity:0;transition:opacity .3s,top .2s;pointer-events:none;white-space:nowrap}
.spine:hover + .spine-lbl{opacity:1}

/* ---------- hős: magazinborító ---------- */
.cover{position:relative;min-height:100svh;background:radial-gradient(60% 55% at 42% 62%,rgba(242,184,102,.30),rgba(242,184,102,0) 70%),linear-gradient(180deg,#0b1524,#122138 70%,#15243a);color:var(--onink);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;padding:110px var(--gut) 0 calc(var(--gut) + 30px)}
.cover-top{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;color:var(--onink2);position:relative;z-index:3}
.cover-word{position:absolute;left:calc(var(--gut) + 10px);right:0;bottom:3svh;z-index:3;pointer-events:none}
.cover-word span{display:block;font:400 clamp(30px,4.2vw,62px)/1 var(--serif);color:var(--onink);margin-left:.4vw}
.cover-word strong{display:block;font:italic 400 clamp(130px,21vw,330px)/.8 var(--serif);letter-spacing:-.035em;color:var(--candle);margin-left:-.6vw;text-shadow:0 6px 40px rgba(8,16,28,.35)}
.cover-man{position:absolute;bottom:0;left:30%;height:min(92svh,900px);z-index:2;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.cover-man img{height:100%;width:auto}
.cover-note{position:absolute;z-index:3;left:calc(30% - 150px);top:36svh;font:italic 400 21px/1.15 var(--serif);color:var(--onink);display:flex;align-items:flex-end;gap:6px}
.cover-note svg{width:190px;height:130px;margin-bottom:-110px}
.cover-side{grid-column:2;align-self:start;margin-top:12svh;justify-self:end;max-width:400px;position:relative;z-index:3}
.cover-side blockquote{font:400 23px/1.32 var(--serif);color:var(--onink)}
.cover-side blockquote::before{content:"„";display:block;font-size:70px;line-height:.6;color:var(--candle);margin-bottom:8px}
.cover-side cite{display:block;margin-top:14px;font:normal 500 12.5px/1.4 var(--mono);letter-spacing:.06em;color:var(--onink2);text-transform:uppercase}
.status{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:9px 14px 9px 12px;border-radius:30px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font:500 13px/1.2 var(--mono);letter-spacing:.03em}
.status b{width:9px;height:9px;border-radius:50%;background:#e2704f;box-shadow:0 0 0 4px rgba(226,112,79,.18)}
.status.open b{background:#7fd38f;box-shadow:0 0 0 4px rgba(127,211,143,.18);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(127,211,143,0)}}
.cover-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:22px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--candle);color:var(--ink);text-decoration:none;font-weight:600;padding:15px 22px;border-radius:3px;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:#ffc97c}
.btn svg{width:18px;height:18px}
.ulink{font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--candle);padding-bottom:2px}
.cover-foot{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:flex-end;padding:0 var(--gut) 22px}
.cover-foot ul{list-style:none;text-align:right;color:var(--onink2);font:500 12px/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.cover-foot li span{color:var(--candle)}

/* ---------- közös szekció ---------- */
.sec{padding:clamp(80px,11vw,150px) var(--gut) clamp(80px,10vw,140px) calc(var(--gut) + 30px);position:relative}
.dark{background:var(--ink);color:var(--onink)}
.kick{display:flex;gap:14px;align-items:center;color:var(--oak);margin-bottom:22px}
.dark .kick{color:var(--candle)}
.kick::before{content:"";width:34px;height:1.5px;background:currentColor}
.h2{font:400 clamp(44px,6.4vw,96px)/.95 var(--serif);letter-spacing:-.015em}
.h2 em{color:var(--oak)}
.dark .h2 em{color:var(--candle)}
.lead{font-size:19px;max-width:560px;margin-top:22px;color:var(--muted)}
.dark .lead{color:var(--onink2)}

/* ---------- időtárcsa ---------- */
.tm-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:60px}
.tm-head .lead{justify-self:end;margin:0}
.tm{display:grid;grid-template-columns:minmax(300px,420px) 250px 1fr;gap:clamp(30px,4vw,70px);align-items:center}
.dial{position:relative;aspect-ratio:1}
.dial svg{width:100%;height:100%;overflow:visible}
.dial .arc{transition:stroke-dashoffset .9s cubic-bezier(.6,.05,.2,1)}
.dial-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.dial-c b{font:400 clamp(86px,9vw,120px)/.8 var(--serif);letter-spacing:-.03em}
.dial-c small{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.dial-c strong{margin-top:16px;font:500 22px/1 var(--mono);color:var(--oak)}
.dial-btns{display:flex;justify-content:center;gap:8px;margin-top:22px}
.dial-btns button{font:500 15px/1 var(--mono);padding:12px 14px;border:1.5px solid var(--line);border-radius:40px;transition:all .2s;min-width:62px}
.dial-btns button:hover{border-color:var(--oak)}
.dial-btns button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--candle)}
.body{position:relative}
.body svg{width:100%;height:auto;overflow:visible}
.zn{fill:#fff;stroke:#3b4656;stroke-width:1.3;transition:fill .35s;cursor:pointer}
.zn.sel{fill:var(--candle)}
.zn.whole{fill:#f6cf96}
.zn:hover{fill:#f8dfba}
.zn.sel:hover{fill:#efad4f}
.body .vt{fill:var(--blue)}
.zlbl{font:500 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;fill:var(--muted)}
.zlbl.sel{fill:var(--text)}
.zline{stroke:#9b8f7c;stroke-width:.8;stroke-dasharray:2 2}
.tm-txt h3{font:400 40px/1 var(--serif)}

.tm-txt p{margin-top:16px;max-width:430px}
.tm-pick{margin-top:18px;font:500 13px/1.5 var(--mono);color:var(--oak)}
.tm-txt ul{list-style:none;margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.tm-txt li{font-size:14.5px;border:1px solid var(--line);border-radius:30px;padding:5px 12px}
.tm-txt li.sel{background:var(--ink);color:var(--onink);border-color:var(--ink)}
.tm-note{margin-top:22px;font-size:14.5px;color:var(--muted);border-left:2px solid var(--candle);padding-left:14px;max-width:430px}

/* ---------- kezelések étlap ---------- */
.menu{margin-top:70px;border-top:1.5px solid var(--text)}
.mi{border-bottom:1px solid var(--line)}
.mi summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:70px 1fr auto 40px;align-items:baseline;gap:18px;padding:26px 0}
.mi summary::-webkit-details-marker{display:none}
.mi .n{font:500 13px var(--mono);color:var(--oak)}
.mi h3{font:400 clamp(30px,3.6vw,50px)/1 var(--serif);display:flex;align-items:baseline;gap:16px;min-width:0}
.mi h3::after{content:"";flex:1;border-bottom:2px dotted #b9aa92;transform:translateY(-8px);min-width:30px}
.mi .p{font:500 clamp(17px,1.7vw,22px)/1 var(--mono);white-space:nowrap;text-align:right}
.mi .p small{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.06em;margin-top:6px;text-transform:uppercase}
.mi .pl{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--text);position:relative;align-self:center;transition:transform .3s,background .3s}
.mi .pl::before,.mi .pl::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:1.5px;background:currentColor}
.mi .pl::after{transform:rotate(90deg);transition:transform .3s}
.mi[open] .pl{background:var(--text);color:var(--paper)}
.mi[open] .pl::after{transform:rotate(0)}
.mi summary:hover h3{color:var(--oak)}
.mi-b{display:grid;grid-template-columns:70px 1fr 1fr 40px;gap:18px;padding:0 0 34px}
.mi-b > div{grid-column:2/4;columns:2 320px;column-gap:44px}
.mi-b p{margin-bottom:12px;break-inside:avoid}
.mi-b .meta{font:500 13px/1.6 var(--mono);color:var(--oak)}

/* ---------- belépés (vízszintes séta) ---------- */
.walk{position:relative;background:var(--ink);color:var(--onink)}
.walk-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.walk-head{padding:0 var(--gut) 0 calc(var(--gut) + 30px);display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.walk-head .h2{font-size:clamp(40px,5.2vw,78px)}
.walk-count{font:400 64px/1 var(--serif);color:var(--candle);white-space:nowrap}
.walk-count small{font:500 13px var(--mono);color:var(--onink2);margin-left:6px}
.track{display:flex;gap:28px;padding-left:calc(var(--gut) + 30px);will-change:transform}
.st{flex:none;position:relative}
.st img{height:min(56svh,520px);width:auto;border-radius:2px}
.st figcaption{margin-top:14px;max-width:360px;display:flex;gap:14px}
.st figcaption b{font:500 12.5px/1.6 var(--mono);color:var(--candle)}
.st figcaption span{font-size:15.5px;color:var(--onink2)}
.st figcaption span strong{color:var(--onink);font-weight:500}
.st:nth-child(even){margin-top:46px}
.st-end{flex:none;width:340px;align-self:center;font:400 34px/1.1 var(--serif);padding-right:var(--gut)}
.st-end a{display:inline-block;margin-top:20px;font:500 15px var(--sans)}

/* ---------- Máté ---------- */
.me{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,100px);align-items:start}
.me-pic{position:relative;background:var(--paper2);aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.me-pic img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:96%;width:auto}
.me-pic .tag{position:absolute;left:18px;top:18px;font:500 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.me-big{font:400 clamp(30px,3.2vw,44px)/1.12 var(--serif);margin-top:26px}
.me-big em{color:var(--oak)}
.tl{list-style:none;margin-top:44px;border-left:1.5px solid var(--text)}
.tl li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:0 0 18px 22px;position:relative}
.tl li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:1.5px solid var(--text)}
.tl li.k::before{background:var(--blue);border-color:var(--blue)}
.tl b{font:500 14px/1.6 var(--mono);color:var(--oak)}
.tl span{font-size:16px}
.me-more{margin-top:30px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.btn-ink{background:var(--ink);color:var(--onink)}
.btn-ink:hover{background:var(--ink3)}
.fan{display:flex;margin-top:46px;padding-left:20px}
.fan img{width:150px;height:auto;border:6px solid #fff;box-shadow:0 10px 30px rgba(20,20,20,.18);margin-left:-26px;transition:transform .35s}
.fan img:nth-child(1){transform:rotate(-7deg)}.fan img:nth-child(2){transform:rotate(-2deg) translateY(-8px)}.fan img:nth-child(3){transform:rotate(4deg)}.fan img:nth-child(4){transform:rotate(9deg) translateY(6px)}
.fan:hover img{transform:rotate(0) translateY(-6px)}

/* ---------- foglalás ---------- */
.bk-tel{display:block;text-decoration:none;font:400 clamp(58px,10.5vw,170px)/.9 var(--serif);letter-spacing:-.02em;color:var(--candle);margin-top:20px;transition:letter-spacing .4s}
.bk-tel:hover{letter-spacing:0}
.bk-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:clamp(30px,5vw,70px);margin-top:70px;align-items:start}
.bk-grid h3{font:500 12.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--candle);margin-bottom:16px}
.hours{width:100%;border-collapse:collapse;font-size:16px}
.hours td{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.hours td:last-child{text-align:right;font-family:var(--mono);font-size:14.5px}
.hours tr.today td{color:var(--candle)}
.hours tr.today td:first-child::after{content:" · ma";font:500 11px var(--mono);letter-spacing:.08em}
.bk-small{font-size:14.5px;color:var(--onink2);margin-top:14px}
.ch{list-style:none}
.ch li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.ch li span{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--onink2)}
.ch a{text-decoration:none;font-weight:500;text-align:right}
.ch a:hover{color:var(--candle)}
.map{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;background:var(--ink2)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) contrast(.95) brightness(.92)}
.map-addr{margin-top:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15.5px}
.rules-strip{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}
.rules-strip p{padding:24px 24px 0 0;font:400 22px/1.25 var(--serif)}
.rules-strip p small{display:block;font:500 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--candle);margin-bottom:8px}
.rules-strip p:nth-child(n+2){padding-left:24px;border-left:1px solid rgba(255,255,255,.18)}

/* ---------- lábléc ---------- */
.ft{background:#08111d;color:var(--onink2);padding:50px var(--gut) 110px calc(var(--gut) + 30px);display:flex;flex-wrap:wrap;gap:24px 50px;justify-content:space-between;align-items:center;font-size:14.5px}
.ft img{height:38px;width:auto;filter:brightness(0) invert(.9)}
.ft nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.ft a{text-decoration:none}.ft a:hover{color:var(--candle)}

/* ---------- mobil sáv ---------- */
.mbar{display:none}

/* ---------- aloldal fejléc ---------- */
.ph{background:var(--ink);color:var(--onink);padding:160px var(--gut) 80px calc(var(--gut) + 30px);position:relative;overflow:hidden}
.ph .h2{font-size:clamp(56px,9vw,140px)}
.ph .lead{color:var(--onink2)}
.ph-ghost{position:absolute;right:-2vw;bottom:-6vw;font:italic 400 clamp(160px,30vw,460px)/.8 var(--serif);color:rgba(242,184,102,.07);pointer-events:none;white-space:nowrap}

/* rólam */
.bio{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px)}
.bio p{margin-bottom:18px}
.bio p.drop::first-letter{float:left;font:400 92px/.8 var(--serif);color:var(--oak);margin:6px 12px 0 0}
.bio-side{position:sticky;top:110px;align-self:start}
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;margin-top:60px}
.cert{text-align:left;display:block}
.cert img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border:5px solid #fff;box-shadow:0 8px 24px rgba(30,25,15,.13);transition:transform .3s,box-shadow .3s}
.cert:hover img{transform:translateY(-5px) rotate(-1deg);box-shadow:0 18px 36px rgba(30,25,15,.2)}
.cert strong{display:block;margin-top:14px;font:400 21px/1.15 var(--serif)}
.cert span{display:block;margin-top:4px;font:500 11.5px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,14,24,.94);display:none;align-items:center;justify-content:center;padding:30px}
.lb.open{display:flex}
.lb img{max-height:84vh;max-width:92vw;width:auto;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.lb p{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:var(--onink);font:500 13px var(--mono);letter-spacing:.06em}
.lb button{position:absolute;color:#fff;font:400 40px/1 var(--serif);width:56px;height:56px}
.lb .x{top:16px;right:16px}.lb .pv{left:10px;top:50%}.lb .nx{right:10px;top:50%}

/* házirend */
.rules{list-style:none;counter-reset:r;max-width:1100px}
.rules li{counter-increment:r;display:grid;grid-template-columns:120px 1fr 1.25fr;gap:30px;padding:38px 0;border-bottom:1px solid var(--line)}
.rules li::before{content:counter(r,decimal-leading-zero);font:400 76px/.8 var(--serif);color:var(--oak)}
.rules h3{font:400 34px/1.05 var(--serif)}
.rules p{color:#3a3f48}
.rules mark{background:linear-gradient(transparent 58%,rgba(242,184,102,.55) 58%);color:inherit}
.valid{margin-top:40px;font:500 13px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}

/* ajándékkártya */
.gift{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.gcard-wrap{position:sticky;top:110px;perspective:1200px}
.gcard{aspect-ratio:1.62;border-radius:14px;background:radial-gradient(120% 90% at 85% 10%,rgba(242,184,102,.35),transparent 55%),linear-gradient(140deg,#13233a,#0b1524);color:var(--onink);padding:7% 8%;position:relative;overflow:hidden;box-shadow:0 40px 70px -20px rgba(10,20,35,.55);transition:transform .2s ease-out;transform-style:preserve-3d}
.gcard::after{content:"";position:absolute;inset:10px;border:1px solid rgba(242,184,102,.35);border-radius:9px;pointer-events:none}
.gcard .gsp{position:absolute;right:8%;top:10%;width:34px;height:auto}
.gcard .g1{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--candle)}
.gcard .g2{font:italic 400 clamp(40px,5vw,66px)/.9 var(--serif);margin-top:8%}
.gcard .g3{margin-top:5%;font:400 clamp(18px,1.8vw,24px)/1.2 var(--serif)}
.gcard .g3 span{color:var(--candle)}
.gcard .g4{position:absolute;left:8%;right:8%;bottom:8%;display:flex;justify-content:space-between;font:500 10.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--onink2)}
.gform{display:grid;gap:18px}
.gform label{display:grid;gap:7px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gform input,.gform select,.gform textarea{font:400 17px var(--sans);color:var(--text);background:#fff;border:1.5px solid var(--line);border-radius:3px;padding:13px 14px;width:100%}
.gform input:focus,.gform select:focus,.gform textarea:focus{outline:none;border-color:var(--oak)}
.gform .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.seg{display:flex;gap:8px}
.seg label{flex:1;display:block;cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;text-align:center;border:1.5px solid var(--line);border-radius:3px;padding:13px;font:500 15px var(--sans);text-transform:none;letter-spacing:0;color:var(--text);background:#fff}
.seg input:checked + span{background:var(--ink);color:var(--candle);border-color:var(--ink)}
.chk{display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font:400 14.5px/1.4 var(--sans)!important}
.chk input{width:18px;height:18px;margin-top:2px;flex:none}
.gsum{font:500 15px var(--mono);color:var(--oak)}

/* felfedés */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- reszponzív ---------- */
@media (max-width:1100px){
  .tm{grid-template-columns:1fr 220px;}
  .tm-txt{grid-column:1/-1}
  .bk-grid{grid-template-columns:1fr 1fr}.bk-grid .bk-map{grid-column:1/-1}
  .certs{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  body{font-size:16.5px}
  .nav{display:none}
  .burger{display:block}
  body.menu-open .nav{display:flex;position:fixed;inset:0;background:var(--ink);color:var(--onink);flex-direction:column;align-items:flex-start;justify-content:center;padding:0 30px;gap:18px;z-index:-1}
  body.menu-open .nav a{font:400 44px/1.1 var(--serif)}
  body.menu-open .nav a.navtel{font-size:16px!important;margin-top:16px}
  body.menu-open .hd{color:var(--onink)}
  .spine{display:none}
  .spine-lbl{display:none}
  .sec,.walk-head,.ph{padding-left:var(--gut);padding-right:var(--gut)}
  .cover{grid-template-columns:1fr;padding:96px var(--gut) 0;min-height:auto;display:block}
  .cover-top{flex-direction:column;gap:2px;font-size:11px}
  .cover-word{position:relative;left:auto;bottom:auto;margin-top:26px}
  .cover-word span{font-size:30px}
  .cover-word strong{font-size:33vw;line-height:.8}
  .cover-man{position:absolute;left:auto;right:-14vw;top:150px;bottom:auto;height:440px;-webkit-mask-image:linear-gradient(#000 62%,transparent 96%);mask-image:linear-gradient(#000 62%,transparent 96%)}
  .cover-word{z-index:3}
  .cover-word strong{text-shadow:0 2px 30px rgba(11,21,36,.4)}
  .cover-note{display:none}
  .cover-side{margin-top:120px;max-width:none;padding-bottom:40px;position:relative;z-index:3}
  .cover-side blockquote{font-size:21px;background:linear-gradient(90deg,rgba(13,24,40,.0),rgba(13,24,40,0))}
  .cover-foot{position:relative;justify-content:flex-start;padding:0 0 30px}
  .cover-foot ul{text-align:left;font-size:11px}
  .tm-head{grid-template-columns:1fr;margin-bottom:36px}
  .tm-head .lead{justify-self:start}
  .tm{grid-template-columns:1fr;gap:26px}
  .tm-mid .body{max-width:330px;margin:0 auto}
  .dial{max-width:330px;margin:0 auto;width:100%}
  .mi summary{grid-template-columns:1fr auto 32px;gap:12px;padding:22px 0}
  .mi .n{display:none}
  .mi h3::after{display:none}
  .mi h3{font-size:30px}
  .mi .pl{width:28px;height:28px}
  .mi .pl::before,.mi .pl::after{top:12px;left:7px;right:7px}
  .mi-b{grid-template-columns:1fr}.mi-b > div{grid-column:1}
  .walk{height:auto!important}
  .walk-pin{position:relative;height:auto;padding:80px 0 60px}
  .walk-head{flex-direction:column;align-items:flex-start;gap:10px}
  .walk-count{display:none}
  .track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut);gap:16px;transform:none!important;scrollbar-width:none}
  .track::-webkit-scrollbar{display:none}
  .st{scroll-snap-align:start}
  .st img{height:340px}
  .st:nth-child(even){margin-top:0}
  .st figcaption{max-width:250px}
  .st-end{width:260px;font-size:26px}
  .me{grid-template-columns:1fr}
  .me-pic{aspect-ratio:1/1}
  .tl li{grid-template-columns:70px 1fr}
  .fan img{width:96px;border-width:4px}
  .bk-grid{grid-template-columns:1fr;margin-top:46px}
  .rules-strip{grid-template-columns:1fr}
  .rules-strip p,.rules-strip p:nth-child(n+2){padding:20px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .ft{flex-direction:column;align-items:flex-start;padding-bottom:110px}
  .mbar{display:grid;grid-template-columns:1.3fr 1fr 1fr;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:rgba(13,24,40,.96);backdrop-filter:blur(8px);border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.3)}
  .mbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 4px 9px;color:var(--onink);text-decoration:none;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}
  .mbar a:first-child{background:var(--candle);color:var(--ink)}
  .mbar svg{width:19px;height:19px}
  .ph{padding-top:130px;padding-bottom:60px}
  .bio{grid-template-columns:1fr}
  .bio-side{position:relative;top:0}
  .certs{grid-template-columns:1fr 1fr;gap:24px 14px}
  .cert strong{font-size:18px}
  .rules li{grid-template-columns:1fr;gap:10px;padding:30px 0}
  .rules li::before{font-size:54px}
  .gift{grid-template-columns:1fr}
  .gcard-wrap{position:relative;top:0}
  .gform .two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
