:root{--navy:#172449;--pink:#ef2678;--yellow:#ffe36c;--teal:#45c9ca;--paper:#fbf8f0;--ink:#172449}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid #17244920;background:var(--paper)}.brand{display:flex;flex-direction:column;line-height:1}.brand b{font-size:34px;font-weight:900;letter-spacing:-2px}.brand b span{color:var(--pink)}.brand small{font-size:10px;letter-spacing:1.7px;font-weight:700;margin-top:7px}nav{display:flex;gap:34px;font-size:15px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--navy);color:white;padding:17px 25px;font-size:16px;font-weight:700;border:2px solid transparent;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--pink)}.button span{font-size:23px;line-height:1}.button.yellow{background:var(--yellow);color:var(--navy)}.small{font-size:14px;padding:12px 20px}.hero{position:relative;display:grid;grid-template-columns:54% 46%;background:var(--navy);color:var(--paper);overflow:hidden}.hero-copy{position:relative;z-index:2;padding:70px 0 64px 10.2%}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.2px;margin:0 0 30px;display:flex;align-items:center;gap:14px}.line{height:2px;width:28px;background:var(--pink)}h1{font-size:clamp(62px,7.7vw,125px);line-height:.91;letter-spacing:-.065em;margin:0 0 30px;font-weight:900;max-width:850px}.outline{-webkit-text-stroke:1.5px var(--paper);color:transparent}.period{color:var(--pink)}.hero-message{font-size:26px;line-height:1.35;margin:0 0 18px}.hero-message strong{color:var(--yellow)}.hero-desc{font-size:16px;max-width:380px;color:#d2d8e7;line-height:1.6;margin:0 0 28px}.hero-location{display:grid;gap:2px;margin-top:36px;padding-left:16px;border-left:3px solid var(--teal)}.hero-location span{font-size:10px;letter-spacing:2px;color:var(--teal)}.hero-location b{font-size:16px}.hero-location small{font-size:13px;color:#d2d8e7}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;min-width:0}.arch{position:absolute;border:1px solid #ffffff20;border-radius:300px 300px 0 0;bottom:0;z-index:-1}.arch1{width:92%;height:91%;border:44px solid #ef2678}.arch2{width:75%;height:82%;border:18px solid var(--yellow)}.arch3{width:61%;height:73%;border:3px solid var(--teal)}.mascots{width:94%;height:auto;max-height:650px;object-fit:contain;position:relative;z-index:2;align-self:flex-end;margin-bottom:60px;filter:drop-shadow(0 15px 20px #0b183033)}.era{position:absolute;font-size:155px;font-weight:900;line-height:1;color:var(--teal);opacity:.16;top:15px;right:18px;letter-spacing:-14px}.era span{font-size:65px;letter-spacing:-5px}.visual-note{position:absolute;bottom:21px;right:35px;font-size:10px;letter-spacing:2px;text-align:right;line-height:1.5}.hero-bottom{grid-column:1/-1;background:var(--pink);display:flex;justify-content:space-around;padding:15px 5%;color:white;font-size:11px;letter-spacing:2px;font-weight:800}.wrap{max-width:1280px;width:89%;margin:auto}section{scroll-margin-top:25px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:110px 0}h2{font-size:clamp(35px,4.25vw,66px);line-height:1.06;letter-spacing:-3px;margin:0;font-weight:800}h2 em{font-style:normal;color:var(--pink)}.intro-copy{padding-top:39px}.lead{font-weight:700;font-size:23px;line-height:1.3;margin-top:0}.intro-copy p:not(.lead){color:#526078}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:2px solid var(--pink);padding:8px 0;font-size:15px;font-weight:700}.manifesto{background:var(--yellow);padding:85px 0}.manifesto-title{font-size:clamp(45px,6vw,90px);line-height:1.05;font-weight:900;letter-spacing:-4px;margin:0 0 55px}.manifesto-title span{color:var(--pink)}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.themes article{border-top:1px solid #17244966;padding-top:22px}.themes article>span{font-size:13px;font-weight:800}.themes h3{font-size:24px;letter-spacing:-.7px;margin:14px 0 8px}.themes p{font-size:16px;margin:0;max-width:300px}.destination{padding:110px 0 70px}.dest-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:45px}.dest-heading p:not(.eyebrow){color:#526078;max-width:410px;margin:0 0 4px}.destination figure{margin:0}.destination figure img{display:block;width:100%;height:470px;object-fit:cover;background:#d7e7e4}.destination figcaption{font-size:11px;color:#647089;margin:8px 0}.hotel-details{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:25px}.hotel-details h3{font-size:18px;margin:0 0 8px}.hotel-details p{font-size:15px;color:#526078;margin:0}.fine{font-size:12px;color:#647089;margin-top:22px}.ministry{padding:55px 0 100px;border-top:1px solid #17244925}.ministry>div{display:grid;grid-template-columns:1fr 1fr;gap:90px}.ministry h2{font-size:42px;letter-spacing:-2px}.ministry p{margin:0;color:#526078}.ministry blockquote{margin:40px 0 0 0;border-left:3px solid var(--pink);padding:2px 0 2px 22px;font-size:20px;font-style:italic;max-width:810px}.ministry cite{font-size:12px;display:block;font-style:normal;margin-top:8px;font-weight:bold}.booking{background:var(--navy);color:var(--paper);padding:95px 0}.booking-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.booking h2 em{color:var(--yellow)}.booking-inner>div>p:not(.eyebrow){max-width:485px;color:#d2d8e7}.booking-note{font-size:12px}.booking aside{padding:40px;border:1px solid #ffffff66;text-align:center;transform:rotate(3deg);position:relative}.booking aside>span{font-size:12px;letter-spacing:3px}.booking aside strong{font-size:115px;line-height:1.2;letter-spacing:-8px;color:var(--yellow);display:block}.booking aside p{letter-spacing:3px;font-weight:800;margin:0 0 20px}.booking aside hr{border:0;border-top:1px dashed #ffffff66;margin:25px 0}.booking aside small{font-size:12px;letter-spacing:2px;line-height:1.8}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding:100px 0}.faq h2{font-size:44px;letter-spacing:-2px}details{border-bottom:1px solid #17244933;padding:20px 0}details:first-child{padding-top:0}summary{font-weight:700;cursor:pointer;font-size:17px}details p{font-size:15px;color:#526078;padding-right:20px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--navy);padding:40px 0}.footer-top p{font-size:18px;font-weight:700;line-height:1.35}.footer-top>a:last-child{font-size:14px;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #17244922;padding:24px 0;font-size:11px;color:#526078}.footer-bottom button{border:0;background:none;cursor:pointer;font-size:12px;color:var(--navy)}dialog{border:0;max-width:620px;padding:48px;background:var(--paper);color:var(--navy)}dialog::backdrop{background:#172449bb}dialog h2{font-size:32px;letter-spacing:-1px}dialog p{font-size:16px}.dialog-close{position:absolute;top:10px;right:15px;background:none;border:0;font-size:30px;cursor:pointer}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:15px}.skip:focus{top:0}@media(min-width:1500px){.hero-copy{padding-left:max(80px,calc((100vw - 1280px)/2))}.hero-visual{padding-right:7%}.arch1{width:80%}.arch2{width:65%}.arch3{width:52%}}
@media(max-width:900px){header{height:85px}nav{gap:18px;font-size:13px}.hero-copy{padding:50px 0 45px 10%}h1{font-size:75px}.hero-message{font-size:22px}.hero-desc{max-width:300px}.hero-visual{align-self:stretch}.mascots{margin-bottom:95px;width:116%;max-width:none}.arch1{border-width:25px}.arch2{border-width:12px}.intro,.ministry>div,.faq,.booking-inner{gap:40px}.intro,.destination,.faq{padding-top:75px;padding-bottom:75px}.dest-heading{gap:40px}.booking aside strong{font-size:90px}.hotel-details{flex-wrap:wrap}.themes{gap:25px}}
@media(max-width:600px){header{height:76px;padding:0 6%}header .brand b{font-size:28px}header .brand small{font-size:8px}nav{display:none}.button.small{padding:9px 12px;font-size:12px;gap:14px}.hero{display:block}.hero-copy{padding:44px 7% 0}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:24px}h1{font-size:clamp(63px,17vw,102px);letter-spacing:-.055em;margin-bottom:25px}.hero-message{font-size:24px}.hero-desc{font-size:15px;max-width:330px}.button{font-size:14px;padding:15px 19px;gap:24px}.hero-location{margin-top:28px}.hero-visual{height:440px;margin-top:30px}.mascots{height:420px;width:100%;max-width:420px;max-height:none;margin-bottom:5px;object-fit:contain}.arch1{width:84%;height:98%;border-width:26px}.arch2{width:65%;height:88%;border-width:12px}.arch3{width:52%;height:77%}.era{font-size:105px;top:10px;right:30px}.visual-note{display:none}.hero-bottom{display:flex;gap:15px;padding:14px 15px;font-size:8px;letter-spacing:1px;text-align:center;line-height:1.4}.wrap{width:86%}.intro,.dest-heading,.ministry>div,.booking-inner,.faq{grid-template-columns:1fr;gap:28px}.intro{padding:65px 0}.intro-copy{padding:0}h2{font-size:43px;letter-spacing:-2px}.lead{font-size:22px}.intro-copy p{font-size:16px}.manifesto{padding:60px 0}.manifesto-title{font-size:49px;letter-spacing:-2.5px;margin-bottom:40px}.themes{grid-template-columns:1fr;gap:26px}.themes p{max-width:none}.themes h3{font-size:24px;margin-top:7px}.themes article{padding-top:15px}.destination{padding:65px 0}.dest-heading{margin-bottom:28px}.destination figure img{height:280px}.hotel-details{display:grid;gap:20px}.hotel-details .text-link{justify-self:start}.ministry{padding:45px 0 65px}.ministry h2{font-size:38px}.ministry p{font-size:16px}.ministry blockquote{font-size:18px;margin-top:28px}.booking{padding:65px 0}.booking-inner{gap:40px}.booking aside{transform:rotate(2deg);padding:25px 30px;max-width:340px;margin:auto;width:100%}.booking aside strong{font-size:104px}.booking h2{font-size:44px}.booking p{font-size:16px}.booking .booking-note{font-size:11px}.faq{padding:65px 0}.faq h2{font-size:38px}.footer-top{align-items:flex-start;gap:22px;flex-wrap:wrap}.footer-top p{font-size:16px;margin:0}.footer-bottom{align-items:flex-start;gap:15px;flex-direction:column}dialog{width:90%;padding:38px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
