
:root{--ink:#252a28;--muted:#66706d;--paper:#f6f5f1;--white:#fff;--line:#d8dcd7;--accent:#355d50;--soft:#e8eeea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-underline-offset:3px}button{font:inherit}.wrap{max-width:1160px;margin:auto;padding:0 clamp(20px,5vw,70px)}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{min-height:80px;display:flex;align-items:center;gap:20px}.brand{text-decoration:none;color:var(--ink);font-size:13px;line-height:1.2;letter-spacing:.15em;font-weight:750;text-transform:uppercase;min-width:180px}.brand small{display:block;font-size:10px;letter-spacing:.24em;color:var(--accent);margin-top:6px}.nav{display:flex;gap:17px;margin-left:auto;align-items:center;flex-wrap:wrap}.nav a{text-decoration:none;font-size:13px;color:#46514d;white-space:nowrap}.nav a[aria-current=page]{font-weight:750;color:var(--accent);text-decoration:underline;text-underline-offset:6px}.nav a:hover{text-decoration:underline}.lang{border:1px solid #bfc9c2;background:transparent;border-radius:30px;padding:7px 13px;color:var(--ink);cursor:pointer;white-space:nowrap;font-size:13px}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:700}.guide-hero{padding-top:65px;padding-bottom:50px}.guide-hero h1,.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.09}.guide-hero h1{font-size:clamp(46px,7vw,83px);max-width:800px;margin:15px 0 23px}.guide-hero p{font-size:19px;color:#53605a;max-width:730px;margin:0}.ribbon{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:16px;padding-bottom:16px;color:#59645e;font-size:14px;flex-wrap:wrap}.guide-main{padding-top:60px;padding-bottom:110px}.intro{max-width:760px;margin:0 0 34px;color:#5b655f}.guide-section{margin-top:68px}.guide-section h2{font:400 clamp(32px,4vw,48px)/1.14 Georgia,serif;letter-spacing:-.03em;margin:0 0 22px}.guide-section>p{max-width:760px;color:#58645e}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card{background:#fff;border:1px solid var(--line);padding:28px;min-width:0}.card h3{font-size:22px;line-height:1.25;margin:3px 0 10px}.card p{color:#53605a;margin:7px 0 13px}.tag{display:inline-block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-weight:750}.details{list-style:none;padding:0;margin:16px 0 0}.details li{border-top:1px solid #e5e8e3;padding:9px 0;color:#47544d;font-size:14px}.details b{color:var(--ink)}.links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:14px;font-weight:650}.route{counter-reset:step;list-style:none;padding:0;margin:24px 0;max-width:860px}.route li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.route li:before{content:counter(step,decimal-leading-zero);color:var(--accent);font-size:13px;letter-spacing:.1em;font-weight:700}.route li:last-child{border-bottom:1px solid var(--line)}.notice{border-left:3px solid var(--accent);padding:16px 22px;background:var(--soft);margin:32px 0;color:#42534b}.notice p{margin:0}.cta{margin-top:68px;background:#273c35;color:#fff;padding:35px 40px}.cta h2{font:400 33px/1.2 Georgia,serif;margin:0 0 10px}.cta p{color:#d9e4db;margin:0 0 15px}.cta a{color:#fff}footer{border-top:1px solid var(--line);padding:30px 0 38px;color:#69716d;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}html[lang=en] .hu,html[lang=hu] .en{display:none!important}@media(max-width:960px){.header-inner{flex-wrap:wrap;padding-top:14px;padding-bottom:13px}.nav{order:3;width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding:4px 0 8px}.lang{margin-left:auto}}@media(max-width:650px){.cards{grid-template-columns:1fr}.guide-hero{padding-top:48px}.guide-main{padding-top:40px;padding-bottom:75px}.card{padding:23px}.ribbon{gap:5px}.cta{padding:27px}}
/* Guest guide visual system */
.site-header{position:relative;box-shadow:0 1px 0 rgba(29,49,40,.06)}
.guide-hero{max-width:none;min-height:360px;padding:68px max(24px,calc((100vw - 1020px)/2)) 60px;background:linear-gradient(90deg,#21392f 0%,#21392f 39%,rgba(33,57,47,.89) 62%,rgba(33,57,47,.48) 100%),url('/images/a6ba0534.jpg') center right/cover;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;isolation:isolate}
.guide-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:#c7a776}
.guide-hero:after{content:attr(data-number);position:absolute;right:max(22px,calc((100vw - 1020px)/2));bottom:-70px;font:400 clamp(170px,23vw,330px)/1 Georgia,serif;color:rgba(255,255,255,.105);letter-spacing:-.1em;z-index:-1;pointer-events:none}
.guide-hero .eyebrow{color:#c9d8c8;letter-spacing:.18em;font-size:12px}
.guide-hero h1{font-size:clamp(49px,6vw,82px);max-width:760px;margin:18px 0 20px;text-wrap:balance}
.guide-hero p{color:#e4ece6;font-size:clamp(17px,1.65vw,20px);max-width:680px;line-height:1.5}
.ribbon{max-width:1020px;padding-top:19px;padding-bottom:19px;border-top:0;border-bottom:1px solid #d3d9d1;font-size:13px;gap:10px}
.guide-main{max-width:1020px;padding-top:43px;padding-bottom:90px}
.guide-section{margin-top:57px}
.guide-section:first-child{margin-top:0}
.guide-section h2{font-size:clamp(31px,3.7vw,43px);max-width:720px;margin:0 0 24px;padding-left:22px;border-left:3px solid #c7a776;line-height:1.16}
.cards{gap:18px;counter-reset:guide-card;align-items:stretch}
.card{position:relative;background:#fff;border:1px solid #d9ded7;border-radius:2px;padding:29px 30px 25px;box-shadow:0 12px 32px rgba(32,54,44,.06);display:flex;flex-direction:column;overflow-wrap:anywhere;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(32,54,44,.12)}
.card:before{counter-increment:guide-card;content:counter(guide-card,decimal-leading-zero);position:absolute;top:19px;right:25px;font:400 42px/1 Georgia,serif;color:#dce4dc}
.card:after{content:"";position:absolute;inset:0 0 auto;height:4px;background:#355d50}
.card .tag{color:#537363;font-size:11px;letter-spacing:.14em;padding-right:50px}
.card h3{font:400 25px/1.18 Georgia,serif;letter-spacing:-.025em;margin:15px 0 12px;max-width:390px;color:#233b31}
.card p{margin:0 0 18px;color:#53605a;line-height:1.56;font-size:15px}
.card .details{margin:auto 0 0;border-top:1px solid #e2e8e0}
.card .details li{border-top:0;border-bottom:1px solid #e2e8e0;padding:11px 0;font-size:14px;line-height:1.5}
.card .details li:last-child{border-bottom:0}
.card .links{padding-top:16px;margin-top:auto;gap:9px 20px}
.card .links a{font-size:14px;text-decoration:none;border-bottom:1px solid #aabaae}
.card .links a:hover{border-color:#355d50}
.card:only-child,.card:last-child:nth-child(odd){grid-column:1/-1}
.card:last-child:nth-child(odd) .details{margin-top:5px}
.route{max-width:none;background:#fff;border:1px solid #d9ded7;box-shadow:0 12px 32px rgba(32,54,44,.045);padding:10px 28px;margin:0 0 24px}
.route li{padding:20px 0;grid-template-columns:46px 1fr;gap:12px;color:#405049}
.route li:before{font:400 26px/1 Georgia,serif;color:#9f845e}
.route li:last-child{border-bottom:0}
.notice{margin:24px 0;padding:20px 26px;background:#e8eee9;border-left:4px solid #355d50;color:#334c3d}
.guide-section>.links{margin-top:18px}
.guide-section>.links a{font-weight:650}
.cta{margin-top:58px;padding:37px 40px;border-radius:2px;background:#253e33;position:relative;overflow:hidden}
.cta:after{content:"BUDAPEST";position:absolute;right:-20px;bottom:-28px;font:400 clamp(65px,11vw,145px)/1 Georgia,serif;letter-spacing:-.05em;color:rgba(255,255,255,.07);pointer-events:none}
.cta h2,.cta p,.cta .links{position:relative;z-index:1}
.cta .links{gap:25px}
.cta a{text-decoration-thickness:1px}
@media(max-width:960px){.guide-hero{padding-left:clamp(22px,5vw,54px);padding-right:clamp(22px,5vw,54px)}.guide-hero:after{right:30px}.guide-main,.ribbon{max-width:100%}}
@media(max-width:650px){.guide-hero{min-height:320px;padding-top:52px;padding-bottom:55px;background:linear-gradient(90deg,rgba(33,57,47,.98),rgba(33,57,47,.82)),url('/images/a6ba0534.jpg') center/cover}.guide-hero:after{right:18px;bottom:-25px;font-size:170px}.guide-hero h1{font-size:clamp(43px,12vw,60px);line-height:1.05}.guide-main{padding-top:34px;padding-bottom:62px}.guide-section{margin-top:47px}.guide-section h2{padding-left:16px;margin-bottom:19px}.card{padding:26px 23px 22px}.card h3{font-size:24px}.card:only-child,.card:last-child:nth-child(odd){grid-column:auto}.route{padding:7px 19px}.route li{grid-template-columns:35px 1fr;gap:8px;padding:18px 0}.ribbon{padding-top:15px;padding-bottom:15px}.cta{margin-top:48px;padding:30px 25px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}
/* Route instructions must keep inline text and emphasis in one text flow. */
.route li{display:block;position:relative;padding:20px 0 20px 74px;min-height:72px}
.route li:before{position:absolute;left:0;top:19px;display:block;width:48px}
@media(max-width:650px){.route li{display:block;padding:18px 0 18px 48px;min-height:62px}.route li:before{left:0;top:18px;width:36px}}

/* Street parking guide */
.street-intro{max-width:860px;margin:-5px 0 26px;color:#45574d;font-size:17px;line-height:1.65}.street-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.street-rule{background:#fff;border:1px solid #d9ded7;border-top:4px solid #355d50;padding:23px 24px 25px;box-shadow:0 10px 26px rgba(32,54,44,.05)}.street-rule:nth-child(2){border-top-color:#b7614d}.street-rule:nth-child(3){border-top-color:#a68a5a}.rule-time{display:block;font:400 28px/1.2 Georgia,serif;color:#264839;margin-bottom:13px}.street-rule h3{font:400 22px/1.22 Georgia,serif;color:#253e33;margin:0 0 10px}.street-rule p{color:#53605a;font-size:15px;line-height:1.58;margin:0}.parking-sign{max-width:740px;margin:27px auto 0;background:#edf1ec}.parking-sign img{width:100%;height:auto;display:block}.parking-sign figcaption{background:#f3f5f1;color:#4a5c51;padding:12px 17px;font-size:14px;line-height:1.5}.street-parking>.links{margin-top:25px}@media(max-width:760px){.street-rules{grid-template-columns:1fr}.street-rule{padding:20px 22px}.street-intro{font-size:16px}.parking-sign{margin-top:20px}}
