@import url("https://fonts.googleapis.com/css2?family=Lora:wght@500&family=Manrope:wght@400;600;700;800&display=swap");
:root{--ink:#18324a;--soft:#526a7d;--cream:#f7f1e7;--paper:#fffdf8;--sky:#e4f1f5;--sky2:#bfddea;--terra:#c95f38;--sage:#8fa89b;--line:rgba(24,50,74,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 2%,#fff,transparent 34%),var(--cream);font-family:Manrope,Arial,sans-serif}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:500}.header{width:min(1460px,calc(100% - 64px));min-height:92px;margin:auto;display:grid;grid-template-columns:245px 1fr auto;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:13px;line-height:1.16}.brand b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:500 24px Lora}.brand strong{display:block}.header nav{display:flex;justify-content:center;gap:clamp(12px,1.4vw,25px)}.header nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.header nav a:hover{color:var(--terra)}.outline,.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--terra);border-radius:17px}.outline{min-height:49px;padding:0 21px;color:var(--terra);background:transparent}
.hero{width:min(1460px,calc(100% - 64px));min-height:590px;margin:auto;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:45px;overflow:hidden}.hero-copy{padding:66px 0 62px 32px;position:relative;z-index:2}.kicker{margin:0 0 14px;color:var(--terra);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1{margin:0;font-size:clamp(65px,6.8vw,110px);line-height:.94;letter-spacing:-.055em}.lead{max-width:580px;margin:29px 0 32px;color:var(--soft);font-size:19px;line-height:1.55}.primary{min-height:64px;padding:0 26px;border:0;background:var(--terra);color:#fff;box-shadow:0 12px 28px rgba(201,95,56,.24);font-weight:700;transition:.18s}.primary:hover{transform:translateY(-2px);background:#a9492b}
.museum-art{position:relative;height:510px;align-self:end}.ring{position:absolute;width:500px;height:410px;right:75px;top:20px;border:76px solid var(--sky2);border-bottom-color:transparent;border-radius:50%}.tower{position:absolute;left:23%;bottom:174px;width:74px;height:205px;padding-top:67px;z-index:1;background:#6da5c0;text-align:center;font:500 11px Georgia;clip-path:polygon(12% 18%,38% 18%,50% 0,62% 18%,88% 18%,88% 100%,12% 100%)}.tower:after{content:"";position:absolute;width:25px;height:25px;left:25px;top:50px;z-index:-1;border-radius:50%;background:var(--paper)}.building{position:absolute;width:88%;height:278px;left:0;bottom:34px;border-radius:72px 72px 8px 8px;background:#efdcc0;box-shadow:inset 0 -22px rgba(185,147,108,.17)}.arch{position:absolute;bottom:0;border:31px solid var(--terra);border-bottom:0;border-radius:90px 90px 0 0}.arch.left{width:128px;height:200px;left:52px}.arch.main{width:176px;height:250px;left:44%;border-color:#d47c58}.window{position:absolute;left:calc(44% + 47px);bottom:0;width:82px;height:178px;border-radius:45px 45px 0 0;background:linear-gradient(90deg,#75aec8 48%,#d5e7e9 49% 52%,#6ea5bf 53%)}.relief{position:absolute;right:32px;bottom:54px;width:123px;height:148px;border:9px solid rgba(158,121,86,.28);background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(158,121,86,.25) 23px 39px)}.tree{position:absolute;right:0;bottom:28px;width:115px;height:260px;background:#9cae9f;clip-path:polygon(45% 0,75% 16%,67% 34%,100% 48%,76% 62%,90% 86%,52% 78%,47% 100%,42% 78%,5% 88%,23% 61%,0 47%,34% 34%,26% 15%)}
.booking{width:min(1460px,calc(100% - 64px));margin:0 auto 70px;padding:40px;border-radius:34px;background:linear-gradient(135deg,rgba(228,241,245,.98),rgba(191,221,234,.82));box-shadow:0 24px 70px rgba(36,66,84,.1)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.section-head h2,.group-help h2,.success h2{margin:0;font-size:clamp(34px,3.8vw,55px);letter-spacing:-.035em}.steps{display:flex;align-items:center;min-width:205px}.steps b{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(24,50,74,.22);border-radius:50%;background:rgba(255,255,255,.55)}.steps b:first-child,.steps b.active{background:var(--ink);color:#fff}.steps i{flex:1;height:1px;background:rgba(24,50,74,.18)}.selection{display:grid;grid-template-columns:350px 1fr;gap:22px}.calendar,.tours article,.form-card,.summary,.success{border:1px solid rgba(255,255,255,.8);background:rgba(255,253,248,.96);box-shadow:0 15px 38px rgba(55,82,94,.08)}.calendar{padding:23px;border-radius:24px}.month{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.month strong{font:500 20px Lora}.month button{border:0;background:transparent;font-size:29px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.week{margin-bottom:9px;color:var(--soft);font-size:10px;font-weight:800;text-transform:uppercase}.days{row-gap:5px}.days>span,.days>button{position:relative;width:36px;height:36px;margin:auto;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;font-size:12px}.days button{font-weight:800}.days button:hover{background:var(--sky)}.days button i{position:absolute;bottom:1px;width:4px;height:4px;border-radius:50%;background:var(--sage)}.days button.selected{background:var(--ink);color:#fff}.days button.selected i{background:#fff}.days .outside{color:rgba(24,50,74,.28)}.chosen-date{min-height:65px;margin-top:21px;padding:0 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;border:1px solid var(--sky2);border-radius:15px;background:#f7fbfc}.chosen-date>span{grid-row:1/3}.chosen-date small{align-self:end;color:var(--soft)}.chosen-date strong{align-self:start}
.tours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tours article{min-width:0;padding:14px;border-radius:23px;transition:.2s}.tours article:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(55,82,94,.13)}.tours article.selected{outline:2px solid var(--ink);outline-offset:-2px}.tour-main{width:100%;padding:0;border:0;background:transparent;text-align:left}.tour-art{position:relative;height:124px;margin-bottom:15px;display:block;overflow:hidden;border-radius:14px;background:#dcecf1}.tour-art .circle{position:absolute;width:105px;height:105px;right:14px;top:-12px;border-radius:50%;background:rgba(255,255,255,.55)}.tour-art .art-arch{position:absolute;width:88px;height:104px;left:35px;bottom:0;border:20px solid #6f9daf;border-bottom:0;border-radius:50px 50px 0 0}.tour-art .object{position:absolute;width:29px;height:57px;right:47px;bottom:23px;border-radius:50% 50% 25% 25%;background:#5f8294}.tour-art.terra{background:#f2dfc9}.tour-art.terra .art-arch{border-color:#bd6c4a;transform:rotate(-12deg) scale(.72);left:18px}.tour-art.terra .object{width:90px;height:34px;right:22px;border-radius:8px 40px 8px 8px;background:#7c624c}.tour-art.sage{background:#dfe8df}.tour-art.sage .art-arch{width:158px;left:25px;border-color:#91aa9a}.tour-art.sage .object{width:36px;height:72px;right:24px;background:var(--ink);opacity:.68}.tour-main small{display:block;margin-bottom:6px;color:var(--terra);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tour-main>strong{min-height:55px;display:block;font:500 clamp(21px,2vw,29px)/1.05 Lora}.tour-main>p{min-height:75px;margin:12px 0 14px;color:var(--soft);font-size:11px;line-height:1.52}.meta{display:grid;border-top:1px solid var(--line)}.meta i{padding:7px 0;border-bottom:1px solid var(--line);font-size:10px;font-style:normal}.times{padding-top:11px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.times button{min-height:40px;border:1px solid var(--sage);border-radius:11px;background:transparent;color:#315b51;font-size:11px;font-weight:800}.times button:hover,.times button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.continue{margin-top:23px;padding:16px 18px 16px 24px;display:flex;justify-content:space-between;align-items:center;gap:22px;border-radius:19px;background:var(--ink);color:#fff}.continue div{display:grid;gap:4px}.continue span{color:rgba(255,255,255,.68);font-size:11px}.continue i{font-style:normal}.continue button,.submit{min-height:51px;padding:0 24px;border:0;border-radius:13px;background:var(--terra);color:#fff;font-weight:800}
.details{display:grid;grid-template-columns:1fr 350px;gap:22px}.form-card,.summary{border-radius:25px}.form-card{padding:28px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields label{display:grid;gap:8px;font-size:12px;font-weight:800}.fields .wide{grid-column:1/-1}input,textarea{width:100%;border:1px solid rgba(24,50,74,.2);border-radius:12px;outline:0;background:#fff;color:var(--ink)}input{height:51px;padding:0 14px}textarea{padding:13px 14px;resize:vertical}input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(24,50,74,.1)}.consent{margin-top:21px;display:flex;align-items:flex-start;gap:9px;color:var(--soft);font-size:11px;line-height:1.5}.consent input{width:18px;height:18px;flex:0 0 auto}.summary{padding:27px;align-self:start}.summary h3{margin:0 0 21px;font-size:29px}.summary dl{margin:0 0 23px}.summary dl div{padding:11px 0;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-size:11px}.summary dt{color:var(--soft)}.summary dd{margin:0;text-align:right;font-weight:800}.submit{width:100%}.submit:disabled{opacity:.65}.back{width:100%;margin-top:11px;border:0;background:transparent;color:var(--soft);font-size:11px}.success{max-width:750px;margin:18px auto;padding:52px;border-radius:29px;text-align:center}.success>i{width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:#fff;font-size:34px;font-style:normal}.success>p:not(.kicker){max-width:580px;margin:19px auto;color:var(--soft);line-height:1.65}.code{max-width:410px;margin:23px auto;padding:14px;border-radius:13px;background:var(--sky)}.code strong{margin-left:9px}.secondary{min-height:49px;padding:0 21px;border:1px solid var(--ink);border-radius:13px;background:transparent}
.group-help{width:min(1280px,calc(100% - 64px));margin:85px auto;padding:48px 0;display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.group-help h2{font-size:clamp(31px,3vw,44px)}.group-help>p{color:var(--soft);line-height:1.6}.group-help a{padding:15px 19px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;white-space:nowrap}footer{width:min(1280px,calc(100% - 64px));min-height:95px;margin:auto;display:flex;justify-content:space-between;gap:18px;color:var(--soft);font-size:11px}:focus-visible{outline:3px solid #ff9b78;outline-offset:3px}
@media(max-width:1180px){.header{grid-template-columns:1fr auto}.header nav{display:none}.hero{grid-template-columns:1fr .9fr}.museum-art{transform:scale(.86);transform-origin:right bottom}.selection{grid-template-columns:1fr}.calendar{max-width:500px}}
@media(max-width:820px){.header,.hero,.booking,.group-help,footer{width:calc(100% - 32px)}.header{min-height:76px}.outline{width:46px;padding:0}.outline span{display:none}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{padding:54px 0 22px}h1{font-size:clamp(58px,16vw,82px)}.museum-art{height:350px;transform:none}.ring{width:390px;height:310px;right:20px;border-width:58px}.building{width:96%;height:230px}.booking{padding:23px;border-radius:24px}.tours,.details,.fields,.group-help{grid-template-columns:1fr}.calendar{max-width:none}.tour-main>strong,.tour-main>p{min-height:0}.tour-art{height:165px}.fields .wide{grid-column:auto}.summary{grid-row:1}.group-help{gap:20px}}
@media(max-width:520px){.brand{font-size:11px}.lead{font-size:16px}.museum-art{height:275px}.building{height:185px;bottom:22px}.arch.main{left:37%;height:176px;width:126px}.window{left:calc(37% + 40px);height:122px;width:48px}.relief,.tree{display:none}.section-head{align-items:flex-end}.steps{min-width:112px}.steps b{width:29px;height:29px;font-size:10px}.calendar,.tours article,.form-card,.summary{padding:16px}.continue{align-items:stretch;flex-direction:column}.continue button{width:100%}.success{padding:34px 20px}footer{flex-direction:column;padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
