:root{--ink:#34376b;--muted:#5e6380;--pink:#6353a0;--pale:#edf3fc;--lav:#e1d4f2;--line:#d5dff0;--shadow:0 15px 40px #5a62a012}
body{background:linear-gradient(120deg,#f6faff,#fff 40%,#f7f2fc);overflow-x:clip}
.site-header{background:#f8fbffed;border:0;box-shadow:0 3px 20px #5364930c;backdrop-filter:blur(10px)}
.brand strong{color:#34376b}.brand span,.eyebrow{color:#6353a0}.nav a[aria-current=page]{background:#e1d4f270;border-radius:100px;padding:8px 14px}.menu-toggle{background:#fff;border:0;min-height:44px;box-shadow:var(--shadow)}
.button{background:linear-gradient(115deg,#d7c4ef,#c6dafa);border:2px solid #ffffffcc;color:#34376b!important;box-shadow:0 5px 18px #7d71b221;transition:transform .2s,box-shadow .2s;min-height:52px}
.button.light{background:#ffffffdf;color:#34376b!important;border-color:#fff}.button::after{content:'›';font-size:24px;line-height:1}.button:active{transform:scale(.97);box-shadow:0 2px 7px #7d71b221}a:hover{opacity:1}@media(hover:hover){.button:hover{transform:translateY(-3px);box-shadow:0 9px 22px #7d71b22b}}
.hero{position:relative;isolation:isolate;padding-top:65px;gap:45px}.hero::before{content:'';position:absolute;inset:0 calc((1120px - 100vw)/2);z-index:-2;background:radial-gradient(ellipse at 15% 0%,#c9ddf2 0,transparent 52%),radial-gradient(ellipse at 95% 80%,#e1d4f2 0,transparent 60%);border-radius:0 0 45% 12%/0 0 9% 5%;pointer-events:none}.hero h1{font-weight:500;line-height:1.55;color:#34376b}.hero-copy::after{content:'✦';position:absolute;right:10px;top:35%;font-size:32px;color:#b9a7e0;pointer-events:none}.hero-media{margin:0}.hero-media::before{inset:-18px -14px 20px 16px;border-radius:40% 24% 34% 18%;background:#e1d4f2;transform:rotate(4deg)}.hero-media img{height:auto;aspect-ratio:4/3;border-radius:34% 20% 26% 18%/24% 36% 18% 28%;object-fit:cover}.hero-media figcaption{position:static;background:transparent;font-size:10px;letter-spacing:.12em;text-align:center;padding:14px 0}
.intro-strip{background:transparent;border:0}.facts{gap:15px;padding:20px 0 34px}.facts>div{background:#ffffffed;border-radius:100px;padding:17px 12px;box-shadow:var(--shadow)}.facts>div+div{border:0}.facts b{font-size:16px}.facts span{font-size:12px}
.section{position:relative}.section.soft{background:linear-gradient(125deg,#e7f0fb,#f2eafb);border-radius:50% 12% 40% 10%/36px 24px 30px 24px}.section-heading h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500}.split>img,.split>figure img{border-radius:34% 18% 28% 15%/24% 32% 18% 28%}.card{border:2px solid #fff;border-radius:30px;box-shadow:var(--shadow)}.card-body{padding:25px}.card img{border-radius:0}.card-body a{color:#6353a0}
.price-card,.step{border-radius:26px;border:1px solid #fff;box-shadow:var(--shadow);background:#fff}.notice{border:0;border-radius:24px;background:linear-gradient(120deg,#edf3fc,#f2ecfa)}.page-heading{background:linear-gradient(100deg,#c9ddf280,#e1d4f260);border:0;border-radius:0 0 40px 40px;padding-inline:24px}.breadcrumb{padding-bottom:15px}.gallery-item{border-radius:24px}.route-grid img,.calendar,.lightbox{border-radius:24px}.faq-list details{background:#ffffffb0;padding:23px;border:1px solid var(--line);border-radius:22px;margin-bottom:14px}.faq-list summary{min-height:30px}.faq-answer{padding-left:38px}.cta{background:linear-gradient(120deg,#c9ddf2,#e1d4f2);border:3px solid #fff;border-radius:40px;box-shadow:var(--shadow)}.site-footer{border:0;border-radius:50px 50px 0 0;background:linear-gradient(125deg,#e9f2fb,#ede6f7)}
.dream-reveal{opacity:1}.dream-motion .dream-reveal:not(.dream-visible){opacity:0;transform:translateY(16px)}.dream-motion .dream-reveal{transition:opacity .55s ease,transform .55s ease}
@media(max-width:780px){.hero{gap:25px;padding:35px 0 25px}.hero::before{inset:0 -18px}.hero h1{font-size:clamp(30px,8.5vw,42px);letter-spacing:.04em;line-height:1.55}.hero-copy::after{right:0;top:25%;font-size:22px}.hero-media{margin:0}.hero-media img{aspect-ratio:4/3}.hero-media::before{inset:-8px -4px 20px 10px}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero .button{padding:13px 9px;font-size:12px;gap:8px}.facts{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0 25px}.facts>div{flex:1 1 140px;border-radius:24px;padding:13px 10px}.facts>div:last-child{flex-basis:100%}.facts b{font-size:14px}.facts span{font-size:11px}.nav{background:#f8fbff;border:0;border-radius:0 0 28px 28px;box-shadow:var(--shadow)}.nav a{min-height:44px}.section.soft{border-radius:42% 15% 35% 12%/25px 20px 24px 18px}.section{padding:43px 0}.card{display:block;border-radius:28px}.card img{width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}.card-body{padding:23px}.card-body p{font-size:14px}.page-heading{padding-inline:18px}.cta{padding:30px 20px;border-radius:32px}.cta .actions{display:grid}.mobile-book{bottom:10px;left:10px;right:10px;border-radius:100px;border:2px solid #fff;background:#f9fbffed;padding:8px;gap:7px;box-shadow:0 5px 24px #62599325}.mobile-book>a:first-child{padding:10px 12px;min-height:44px}.mobile-book .button{font-size:13px;padding:12px 13px}.site-footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.mobile-book{bottom:max(10px,env(safe-area-inset-bottom))}.faq-list details{padding:19px}.faq-answer{padding-left:0}}
@media(prefers-reduced-motion:reduce){.dream-motion .dream-reveal:not(.dream-visible){opacity:1;transform:none}.button:active{transform:none}}
/* Give terms and booking equal prominence in the mobile fixed footer. */
@media(max-width:780px){.mobile-book>a:first-child,.mobile-book>.button{flex:1 1 0;min-width:0;min-height:52px;padding:12px 6px;display:flex;align-items:center;justify-content:center;gap:6px;border:2px solid #ffffffcc;border-radius:100px;background:linear-gradient(115deg,#d7c4ef,#c6dafa);color:#34376b!important;box-shadow:0 5px 18px #7d71b221;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.mobile-book>a:first-child::after{content:'›';font-size:24px;line-height:1}.mobile-book>a:first-child:active{transform:scale(.97)}}
