/* Layout matches the 1024px reference. Only the home screen is restyled. */
#app:has(.vienna-home:not(.hidden)){max-width:1024px;padding-bottom:0;background:#173c55}
#app:has(.vienna-home:not(.hidden))>header{display:none}
#app:has(.vienna-home:not(.hidden))>nav{position:static;transform:none;width:100%;background:#163b50;border-color:#ffffff20}
#app:has(.vienna-home:not(.hidden))>nav button{color:#d4e2ec;min-height:48px}
.vienna-home{padding:0!important;color:#0a2038}
.vienna-home #viennaLanding{min-height:100dvh;position:relative;padding:10px 25px 32px;isolation:isolate;background:#173c55;overflow:hidden}
.vienna-home #viennaLanding:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 49%,#163b5000 65%,#173c55e6 100%),url('/wien-background-clean.png') center top / 100% auto no-repeat}
.vienna-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:132px;padding:0 7px}
.vienna-brand{display:flex;gap:18px;align-items:center;padding-top:0}.vienna-brand img{width:110px;height:114px;object-fit:cover;border-radius:50%;border:2px solid #fff9}
.vienna-brand strong{display:block;font-size:64px;font-weight:750;line-height:1;color:#08243f;letter-spacing:-2px}.vienna-brand strong em{font-size:36px;color:#f6bf51;font-style:normal;letter-spacing:0}.vienna-brand span{display:block;font-size:34px;line-height:1.1;letter-spacing:-1px}
.vienna-meta{display:flex;justify-content:space-between;width:42%;gap:18px;padding-top:14px}.vienna-time{font-size:50px;font-weight:750;line-height:1.1}.vienna-date{font-size:23px;margin-top:3px;line-height:1.3}.vienna-place{font-size:25px;font-weight:650;margin-top:6px}.vienna-gear{flex-shrink:0;background:none;border:0;color:#071c2d;cursor:pointer;width:48px;height:48px;padding:0;margin-top:4px}.vienna-gear svg{width:42px;height:42px}
.vienna-weather{display:flex;align-items:stretch;margin:27px 7px 0;width:86%;min-height:140px;border:1px solid #ffffffb8;border-radius:28px;background:#ecf6ff82;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 30px #52789212;overflow:hidden}
.vienna-weather-now{display:flex;gap:16px;align-items:center;width:40%;padding:16px 20px;background:#e6f2ff24;border-radius:28px}.vienna-weather-icon{font-size:78px;line-height:1}.vienna-weather-now strong{font-size:44px;white-space:nowrap}.vienna-weather-now p{margin:1px 0;font-size:20px;line-height:1.3}.vienna-weather-now p:last-child{font-size:16px}.vienna-hourly{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:17px 12px}.vienna-hourly>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.vienna-hourly span{font-size:20px;white-space:nowrap}.vienna-hourly i{font-size:31px;font-style:normal}.vienna-hourly b{font-size:20px;font-weight:500}
.vienna-intro{margin:25px 22px 50px;color:#fff;text-shadow:0 2px 8px #092333b0}.vienna-intro .pre{font-size:38px;line-height:1.3}.vienna-intro h1{font-size:100px;line-height:1.02;letter-spacing:-2px;font-weight:800;margin:0}.vienna-intro .stroke{display:block;width:265px;height:12px;border-radius:70%;background:#ffc65b;transform:rotate(-3deg);margin:17px 0 42px;box-shadow:0 6px 0 -4px #ffc65bb3}.vienna-intro p{font-size:28px;line-height:1.3;max-width:570px;margin:0;filter:drop-shadow(0 2px 5px #000);background:linear-gradient(90deg,#102a3240,transparent);width:fit-content}
.vienna-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vienna-tour{display:flex;flex-direction:column;min-width:0;min-height:634px;border:1px solid #ffffffaa;border-radius:34px;overflow:hidden;background:linear-gradient(140deg,#fffffff5 45%,#e2f0fff5);box-shadow:0 12px 25px #0b253844;text-align:center;color:#080d10}.vienna-tour.mix{background:linear-gradient(140deg,#fffdf4fa,#fff4dcf7)}.vienna-tour.restaurants{background:linear-gradient(140deg,#fff7f0fa,#ffe6dff7)}
.vienna-tour>img{width:100%;height:185px;object-fit:cover;display:block;mask-image:linear-gradient(#000 85%,transparent);-webkit-mask-image:linear-gradient(#000 85%,transparent)}.vienna-tour-body{padding:0 21px 20px;display:flex;flex-direction:column;flex:1}.vienna-tour-symbol{position:relative;width:72px;height:72px;border-radius:50%;background:#075b92;color:#fff;display:grid;place-items:center;margin:-36px auto 10px;box-shadow:0 4px 12px #0001}.vienna-tour-symbol svg{width:43px;height:43px}.mix .vienna-tour-symbol{background:#20763d}.restaurants .vienna-tour-symbol{background:#982c38}.vienna-tour h2{font-size:33px;line-height:1.2;margin:0 0 7px;letter-spacing:-.6px}.vienna-tour p{font-size:21px;line-height:1.2;margin:0 0 20px;min-height:76px}.vienna-tour small{display:block;text-align:left;font-size:20px;line-height:1.3;margin:4px 24px}.vienna-tour-actions{display:grid;gap:15px;margin-top:auto;padding-top:25px}.vienna-tour-actions button{border:0;border-radius:999px;min-height:62px;padding:12px 8px;font-size:23px;font-weight:650;cursor:pointer;box-shadow:0 4px 9px #123c4c20}.vienna-tour-actions .go{background:#065b91;color:#fff}.mix .go{background:#20763d}.restaurants .go{background:#982833}.vienna-tour-actions .adjust{background:#cce3f8;color:#0b223d}.mix .adjust{background:#e8eccf;color:#143f25}.restaurants .adjust{background:#f9d6ca;color:#5f2426}
.vienna-stroll{display:flex;align-items:center;gap:20px;margin:30px 7px 0;padding:24px 30px;min-height:130px;border-radius:34px;border:1px solid #ffffff45;background:#d5e8f021;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:white}.vienna-stroll-icon{font-size:45px;border:2px solid #ffffffb0;border-radius:50%;width:76px;height:76px;display:grid;place-items:center;flex-shrink:0}.vienna-stroll strong{font-size:32px;line-height:1.3}.vienna-stroll p{font-size:23px;margin:2px 0;line-height:1.35}.vienna-toggle{margin-left:auto;flex-shrink:0;width:94px;height:58px;border-radius:99px;background:#657482;border:2px solid #ffffff75;position:relative;cursor:pointer}.vienna-toggle:after{content:'';position:absolute;top:4px;left:5px;width:46px;height:46px;background:#fff;border-radius:50%;box-shadow:0 3px 6px #0003;transition:transform .2s}.vienna-toggle[aria-checked=true]{background:#7db541}.vienna-toggle[aria-checked=true]:after{transform:translateX(34px)}
.vienna-home #viennaOptions{margin:20px;color:#f7f7fb}.vienna-home #legacyHome{padding:12px;color:#f7f7fb}.vienna-home #legacyHome .hero{display:none}
.vienna-home button:focus-visible{outline:3px solid #ffd166;outline-offset:3px}.vienna-home button:active{filter:brightness(.9)}
@media(min-width:601px) and (max-width:1000px){.vienna-brand strong{font-size:48px}.vienna-brand span{font-size:26px}.vienna-brand img{width:86px;height:90px}.vienna-meta{width:44%}.vienna-time{font-size:40px}.vienna-date{font-size:18px}.vienna-tour h2{font-size:26px}.vienna-tour p{font-size:18px}.vienna-tour small{font-size:17px;margin:4px 0}.vienna-tour-actions button{font-size:19px}.vienna-weather{width:100%;margin-left:0}.vienna-weather-now{padding:12px}.vienna-weather-icon{font-size:55px}.vienna-weather-now strong{font-size:34px}.vienna-weather-now p{font-size:16px}.vienna-hourly span{font-size:16px}}
@media(max-width:600px){
 .vienna-home #viennaLanding{padding:calc(16px + env(safe-area-inset-top)) 16px 24px}.vienna-home #viennaLanding:before{background-size:auto 1400px;background-position:64% 0;background-image:linear-gradient(180deg,transparent 10%,#173c5533 27%,#173c55 45%),url('/wien-background-clean.png')}
 .vienna-head{padding:0;gap:10px;min-height:100px}.vienna-brand{gap:7px;align-items:flex-start}.vienna-brand img{width:50px;height:54px}.vienna-brand strong{font-size:29px;letter-spacing:-1px}.vienna-brand strong em{font-size:18px}.vienna-brand span{font-size:17px;letter-spacing:-.5px}.vienna-meta{width:auto;flex:1;justify-content:flex-end;gap:7px;padding:0}.vienna-time{font-size:30px}.vienna-date{font-size:12px;max-width:150px}.vienna-place{font-size:16px;margin-top:3px}.vienna-gear{width:30px;height:34px}.vienna-gear svg{width:28px;height:28px}
 .vienna-weather{width:100%;margin:16px 0 0;flex-direction:column;min-height:0;border-radius:22px}.vienna-weather-now{width:100%;gap:16px;padding:12px 17px}.vienna-weather-icon{font-size:48px}.vienna-weather-now strong{font-size:30px}.vienna-weather-now p{font-size:15px}.vienna-weather-now p:last-child{font-size:12px}.vienna-hourly{padding:10px 6px 14px;gap:4px}.vienna-hourly>div{gap:5px}.vienna-hourly span,.vienna-hourly b{font-size:14px}.vienna-hourly i{font-size:25px}
 .vienna-intro{margin:30px 2px 32px}.vienna-intro .pre{font-size:27px}.vienna-intro h1{font-size:70px}.vienna-intro .stroke{width:180px;height:8px;margin:12px 0 26px}.vienna-intro p{font-size:18px;line-height:1.4}.vienna-intro p br{display:none}
 .vienna-cards{grid-template-columns:1fr;gap:22px}.vienna-tour{min-height:0;border-radius:28px}.vienna-tour>img{height:auto;aspect-ratio:2.1;object-fit:cover}.vienna-tour-body{padding:0 22px 22px}.vienna-tour-symbol{width:62px;height:62px;margin-top:-31px}.vienna-tour-symbol svg{width:36px;height:36px}.vienna-tour h2{font-size:29px}.vienna-tour p{font-size:19px;min-height:0;margin:0 auto 18px;max-width:280px}.vienna-tour small{font-size:17px;margin:4px 18px}.vienna-tour-actions{padding-top:20px;gap:10px}.vienna-tour-actions button{min-height:50px;font-size:20px}
 .vienna-stroll{padding:18px 14px;margin:24px 0 0;gap:12px;border-radius:24px;flex-wrap:wrap}.vienna-stroll-icon{width:48px;height:48px;font-size:29px}.vienna-stroll>div{flex:1;min-width:140px}.vienna-stroll strong{font-size:22px}.vienna-stroll p{font-size:14px}.vienna-toggle{width:64px;height:40px}.vienna-toggle:after{width:30px;height:30px;top:3px;left:3px}.vienna-toggle[aria-checked=true]:after{transform:translateX(24px)}
}
@media(prefers-reduced-motion:reduce){.vienna-toggle:after{transition:none}}

@media(max-width:360px){.vienna-head{flex-wrap:wrap}.vienna-meta{flex-basis:100%;justify-content:space-between}.vienna-date{max-width:none}.vienna-stroll-icon{display:none}}
