/* Original Magic Slumber homepage visual system, extracted from WordPress page #8.
   All original selectors, visual effects, breakpoints and component markup retained.
   This stylesheet is enqueued in <head> to prevent the GeneratePress layout flash. */
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; }
img { max-width: 100%; }
.ms-skip-link { position: absolute; left: -9999px; top: 8px; z-index: 9999; background: #fff; padding: 12px 18px; }
.ms-skip-link:focus { left: 8px; }

/* Standalone theme: GeneratePress page chrome is never rendered. */




body { background: #fff !important; }
.ms-page, .ms-page * { box-sizing: border-box; }
.ms-page { --ms-ink:#352a39; --ms-purple:#70517b; --ms-muted:#6a6069; font-family:'DM Sans',Arial,sans-serif; color:var(--ms-ink); }
.ms-page a { text-decoration:none; }
.ms-topbar { background:#70517b; color:#fff; text-align:center; padding:8px 15px; font-size:11px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
/* MAGIC SLUMBER | STARLIGHT FUNHOUSE HEADER, design v3 */
.ms-topbar{background:#654574;color:white;padding:9px 16px;letter-spacing:1.6px;font-size:11px;font-weight:700;text-align:center;text-transform:uppercase}
.ms-header{position:sticky;top:-250px;z-index:50;background:#fff;box-shadow:0 8px 25px rgba(76,41,82,.14)}
.ms-brand-row{height:250px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 15% 35%,#fff2b8 0%,transparent 31%),radial-gradient(ellipse at 89% 15%,#ffd6e9 0%,transparent 32%),linear-gradient(112deg,#e9dafa 0%,#fff5fb 49%,#dcecfb 100%);border-bottom:2px solid #fff}
.ms-brand-row:before{content:'';position:absolute;inset:0;opacity:.6;pointer-events:none;background-image:radial-gradient(circle at 8% 19%,#fff 0 6px,transparent 7px),radial-gradient(circle at 93% 22%,#fff 0 4px,transparent 5px),radial-gradient(circle at 24% 78%,#fff 0 5px,transparent 6px),radial-gradient(circle at 81% 77%,#fff 0 7px,transparent 8px),radial-gradient(circle at 57% 12%,#fff 0 3px,transparent 4px)}
.ms-brand-row:after{content:'';position:absolute;left:-2%;right:-2%;bottom:-15px;height:30px;border-radius:50% 50% 0 0;background:#fff5fb;z-index:1}
.ms-brand-inner{position:relative;z-index:2;max-width:1380px;height:100%;padding:0 72px;margin:auto;display:flex;align-items:center;justify-content:center}
.ms-logo{display:block;flex:none;width:min(970px,89vw);max-width:none;line-height:0;position:relative;z-index:3;filter:drop-shadow(0 9px 13px rgba(87,49,100,.14));transition:transform .25s}
.ms-logo:hover{transform:rotate(-1deg) scale(1.015)}
.ms-logo img{display:block;width:100%;height:230px;object-fit:contain;object-position:center;margin:auto}
.ms-spark{position:absolute;z-index:2;pointer-events:none;line-height:1;filter:drop-shadow(0 5px 4px rgba(123,76,130,.12))}
.ms-spark-a{left:5%;top:19%;font-size:72px;color:#f5a2c2;transform:rotate(-18deg)}
.ms-spark-b{right:7%;top:20%;font-size:75px;color:#c59fe4;transform:rotate(15deg)}
.ms-spark-c{left:18%;bottom:12%;font-size:32px;color:#ffcb61;transform:rotate(14deg)}
.ms-spark-d{right:19%;bottom:10%;font-size:37px;color:#f7b7da;transform:rotate(-17deg)}
.ms-nav-row{background:linear-gradient(180deg,#fff5fb 0%,#fff 100%);border-bottom:1px solid #f4deec}
.ms-header-inner{max-width:1350px;min-height:108px;padding:20px 20px 22px;margin:auto;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.ms-nav{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap}
.ms-nav a{font-family:'Fredoka','DM Sans',Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:61px;padding:15px 22px;border-radius:20px;font-size:17px;line-height:1;font-weight:600;white-space:nowrap;color:#65436c;border:2px solid #fff;box-shadow:0 5px 0 rgba(118,78,122,.12),0 9px 17px rgba(93,54,111,.09);transition:transform .18s,box-shadow .18s}
.ms-nav a:nth-child(1){background:#f7d4e9;color:#6f3d67;transform:rotate(-2deg)}
.ms-nav a:nth-child(2){background:#e2d8f9;color:#594278;transform:rotate(1.5deg)}
.ms-nav a:nth-child(3){background:#fff0bd;color:#76551f;transform:rotate(-1deg)}
.ms-nav a:nth-child(4){background:#d9f2ea;color:#326458;transform:rotate(2deg)}
.ms-nav a:hover{transform:translateY(-4px) rotate(0);box-shadow:0 8px 0 rgba(118,78,122,.10),0 12px 18px rgba(93,54,111,.15)}
.ms-nav-icon{font-size:22px;line-height:1;display:inline-block}
.ms-logo:focus-visible,.ms-nav a:focus-visible,.ms-header-book:focus-visible,.ms-mobile-menu summary:focus-visible,.ms-mobile-menu a:focus-visible{outline:3px solid #925fa5;outline-offset:4px}
.ms-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#70517b;color:#fff!important;font-weight:700;font-size:13px;letter-spacing:.1px;padding:15px 23px;border-radius:999px;box-shadow:0 8px 20px rgba(112,81,123,.17);transition:background .2s,transform .2s;white-space:nowrap}
.ms-cta:hover{background:#583d64;transform:translateY(-2px)}
.ms-header-book{font-family:'Fredoka','DM Sans',Arial,sans-serif;min-height:62px;padding:15px 25px;font-size:17px;background:linear-gradient(115deg,#ae65bd,#e66ca6);border:2px solid #fff;border-radius:20px;box-shadow:0 5px 0 rgba(115,55,112,.25),0 12px 19px rgba(174,101,189,.24);transform:rotate(-1deg)}
.ms-header-book:hover{background:linear-gradient(115deg,#9954b2,#d95896);transform:translateY(-3px) rotate(0)}
.ms-mobile-menu{display:none}
#themes,#extras,#packages,#how-it-works,#plan{scroll-margin-top:118px}
.ms-hero {background:linear-gradient(120deg,#fffaf8 0%,#faf6f9 50%,#f5f0f5 100%); overflow:hidden;}
.ms-hero-inner { max-width:1220px; margin:auto; padding:65px 32px 76px; display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); gap:6.3%; align-items:center; }
.ms-eyebrow {color:#8b608f; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2.5px; margin:0 0 23px; display:flex; align-items:center; gap:12px;}
.ms-eyebrow:before {content:''; display:block; width:29px; height:1px; background:#bf9dbd;}
.ms-hero h1 {font-family:'Playfair Display',Georgia,serif; font-weight:600; letter-spacing:-1.9px; font-size:clamp(42px,4.45vw,68px); line-height:1.11; color:#3a2c41; margin:0 0 25px;}
.ms-hero h1 span { color:#8a6294; }
.ms-intro {color:#665d66; font-size:16px; line-height:1.85; max-width:495px; margin:0 0 29px;}
.ms-actions {display:flex;flex-wrap:wrap;align-items:center;gap:17px;}
.ms-textlink {color:#6e5278 !important; font-size:13px; font-weight:700; padding:10px 0; border-bottom:1px solid #ae90b4;}
.ms-service {font-size:12px; color:#786c78; letter-spacing:.1px; margin:29px 0 0; display:flex; gap:7px; align-items:center;}
.ms-service svg {flex-shrink:0;}
.ms-photo-wrap {position:relative;}
.ms-photo { width:100%; aspect-ratio:1/1.06; object-fit:cover; object-position:center; border-radius:24px; display:block; box-shadow:0 24px 55px rgba(69,40,62,.13); background:#e8d8d2; }
.ms-photo-note { position:absolute; bottom:-19px; left:-26px; background:#fff; border-radius:16px; padding:15px 21px; box-shadow:0 12px 35px rgba(63,45,67,.13); display:flex; gap:12px; align-items:center;}
.ms-photo-note .ms-star {color:#c3a05e; font-size:25px; line-height:1;}
.ms-photo-note strong { display:block; font-family:'Playfair Display',Georgia,serif; font-size:16px; line-height:1.3; color:#4a384f; }
.ms-photo-note small {font-size:11px; color:#8a788b; display:block; margin-top:3px;}
@media(max-width:1240px) and (min-width:901px){
 .ms-header-inner{gap:10px;padding:15px 12px 20px;min-height:95px}
 .ms-nav{gap:8px}
 .ms-nav a{min-height:55px;padding:13px 15px;font-size:14px;border-radius:17px}
 .ms-nav-icon{font-size:19px}
 .ms-header-book{min-height:56px;padding:13px 17px;font-size:14px;border-radius:17px}
}
@media(max-width:980px){
 .ms-hero-inner{gap:4%;padding:50px 28px 68px}
 .ms-hero h1{font-size:clamp(39px,4.9vw,55px)}
 .ms-intro{font-size:14px}
}
@media(max-width:900px){
 .ms-header{top:-208px}
 .ms-brand-row{height:208px}
 .ms-brand-inner{padding:0 8px}
 .ms-logo{width:min(690px,98vw)}
 .ms-logo img{height:189px}
 .ms-spark-a{left:2%;top:10%;font-size:42px}
 .ms-spark-b{right:2%;top:13%;font-size:45px}
 .ms-spark-c,.ms-spark-d{display:none}
 .ms-header-inner{min-height:78px;padding:13px 18px 14px;display:flex;justify-content:center;gap:18px;flex-wrap:nowrap}
 .ms-nav{display:none}
 .ms-header .ms-header-book{min-height:49px;display:inline-flex;padding:12px 23px;font-size:15px;transform:none;max-width:calc(100vw - 108px);box-shadow:0 4px 0 rgba(115,55,112,.23),0 7px 12px rgba(174,101,189,.17)}
 .ms-mobile-menu{display:block;position:relative;flex-shrink:0}
 .ms-mobile-menu summary{list-style:none;cursor:pointer;color:#6f4779;width:54px;height:52px;border:2px solid #f4c6e0;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;background:#fff6fc;box-shadow:0 4px 0 rgba(174,101,189,.12)}
 .ms-mobile-menu summary::-webkit-details-marker{display:none}
 .ms-mobile-menu nav{position:absolute;right:0;top:calc(100% + 14px);background:#fff;min-width:255px;max-width:calc(100vw - 32px);padding:13px;box-shadow:0 15px 38px #352a3933;border:2px solid #f3d8e9;border-radius:18px;display:flex;flex-direction:column;gap:5px}
 .ms-mobile-menu nav a{display:block;padding:13px;color:#5d4269;font:600 15px 'Fredoka','DM Sans',Arial,sans-serif;border-radius:12px;background:#fdf7fd}
 .ms-mobile-menu nav a:nth-child(even){background:#fff6db}
 .ms-mobile-menu nav a:hover{background:#f4e3f4}
 .ms-hero-inner{grid-template-columns:1fr;gap:32px;padding:39px 23px 55px}
 .ms-eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:16px}
 .ms-hero h1{font-size:clamp(38px,9.7vw,53px);line-height:1.17;letter-spacing:-1.3px;margin-bottom:17px}
 .ms-intro{font-size:14px;line-height:1.72;margin-bottom:23px}
 .ms-cta{font-size:12px;padding:14px 18px}
 .ms-textlink{font-size:12px}
 .ms-service{margin-top:22px;font-size:11px;line-height:1.5}
 .ms-photo{aspect-ratio:1.13/1;border-radius:17px}
 .ms-photo-note{position:relative;left:auto;bottom:auto;margin:-29px 14px 0 auto;width:max-content;max-width:90%;padding:11px 15px}
 .ms-photo-note strong{font-size:14px}
}
@media(max-width:520px){
 .ms-topbar{font-size:9px;letter-spacing:.8px;padding:9px 8px}
 .ms-header{top:-188px}
 .ms-brand-row{height:188px}
 .ms-logo{width:calc(100vw - 8px);max-width:none}
 .ms-logo img{height:174px;width:100%;object-fit:contain;transform:scale(1.09)}
 .ms-spark-a{left:2%;top:16%;font-size:30px}
 .ms-spark-b{right:1%;top:16%;font-size:30px}
 .ms-header-inner{min-height:72px;padding:10px 13px;gap:14px}
 .ms-header .ms-header-book{font-size:14px;padding:11px 17px;min-height:47px;border-radius:15px}
 .ms-mobile-menu summary{width:49px;height:48px;border-radius:14px;font-size:25px}
}
@media(max-width:350px){.ms-header .ms-header-book{font-size:12px;padding:10px 12px}.ms-spark-a,.ms-spark-b{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ms-nav a,.ms-logo,.ms-header-book{transition:none}}
/* ---------- MAGIC SLUMBER | MAGICAL EXTRAS ---------- */
.ms-extras { background:linear-gradient(180deg,#fff 0%,#fbf6f8 100%); padding:92px 24px 98px; }
.ms-extras-inner { max-width:1180px; margin:0 auto; }
.ms-extras-heading { max-width:700px; margin:0 auto 43px; text-align:center; }
.ms-extras-kicker { display:inline-block; font-size:11px; letter-spacing:2.4px; font-weight:700; text-transform:uppercase; color:#98749f; margin-bottom:15px; }
.ms-extras-heading h2 { font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:clamp(34px,4vw,53px); line-height:1.16; letter-spacing:-1px; color:#3f3046; margin:0 0 18px; }
.ms-extras-heading h2 em {font-style:normal;color:#8c6395;}
.ms-extras-heading p {font-size:15px;line-height:1.8;color:#756b76;max-width:610px;margin:0 auto;}
.ms-extras-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start; }
.ms-extra-card {background:#fff; border:1px solid #f0e5ed; border-radius:23px;overflow:hidden;box-shadow:0 12px 42px rgba(60,35,65,.055);transition:transform .22s,box-shadow .22s; }
.ms-extra-card:hover {transform:translateY(-3px);box-shadow:0 20px 46px rgba(60,35,65,.10);}
.ms-extra-media {position:relative;overflow:hidden;background:#f5e9ef;}
.ms-extra-media img {width:100%;height:auto;aspect-ratio:1.48/1;object-fit:cover;display:block;transition:transform .6s ease;}
.ms-extra-card:hover .ms-extra-media img {transform:scale(1.025);}
.ms-extra-price {position:absolute;right:19px;top:19px;display:flex; flex-direction:column;align-items:center;justify-content:center;min-width:88px;min-height:88px;border-radius:50%;background:#fff;box-shadow:0 5px 24px rgba(65,43,67,.12);border:1px solid #eddde8;}
.ms-extra-price strong {font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:30px;line-height:1;color:#6e5176;}
.ms-extra-price small {font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;color:#8a7989;margin-top:5px;}
.ms-extra-body {padding:29px 30px 27px;}
.ms-extra-tag {font-size:10px;font-weight:700;letter-spacing:1.9px;text-transform:uppercase;color:#aa80a9;margin:0 0 10px;}
.ms-extra-body h3 {font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,2.4vw,31px);line-height:1.22;color:#413249;margin:0 0 12px;letter-spacing:-.5px;font-weight:600;}
.ms-extra-desc {font-size:14px;line-height:1.78;color:#6e626d;margin:0 0 19px;min-height:73px;}
.ms-extra-pill {background:#f8f1f6;padding:10px 13px;border-radius:10px;font-size:12px;line-height:1.55;color:#77577d;font-weight:600;display:flex;align-items:flex-start;gap:10px;margin-bottom:17px;}
.ms-extra-pill:before {content:'♡';color:#ad78a8;font-size:21px;line-height:1;flex-shrink:0;}
.ms-extra-more {border-top:1px solid #eee4ec;}
.ms-extra-more summary {list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 0 0;cursor:pointer;color:#6b4c79;font-size:13px;font-weight:700;}
.ms-extra-more summary::-webkit-details-marker {display:none;}
.ms-extra-more summary:after {content:'+';font-size:23px;font-weight:400;line-height:1;color:#9a76a3;}
.ms-extra-more[open] summary:after {content:'−';}
.ms-extra-more summary:focus-visible {outline:2px solid #9c77a5;outline-offset:4px;border-radius:4px;}
.ms-extra-expanded {padding:21px 0 2px;}
.ms-extra-expanded h4 {font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#5a405f;margin:0 0 11px;font-weight:700;}
.ms-extra-list {list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;}
.ms-extra-list li {font-size:12px;color:#685e69;line-height:1.6;margin:0;padding-left:19px;position:relative;}
.ms-extra-list li:before {content:'✓';position:absolute;left:0;color:#9c73a3;font-weight:700;}
.ms-extra-takehome {border-left:3px solid #c99fc6;background:#fcf7fb;padding:13px 15px;margin-bottom:20px;color:#615361;font-size:12px;line-height:1.7;}
.ms-extra-takehome strong {color:#684874;}
.ms-extra-preview {margin:0 0 12px;}
.ms-extra-preview img {width:100%;height:auto;display:block;border-radius:13px;border:1px solid #f0e4ed;}
.ms-extra-preview figcaption {color:#938591;font-size:11px;line-height:1.55;margin-top:8px;}
.ms-extra-fine {font-size:11px;color:#8c818a;line-height:1.6;margin:13px 0 0;}
.ms-extras-bottom {margin:36px 0 0;padding:28px 30px;background:#f2eaf2;border:1px solid #e9dce8;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ms-extras-bottom h3 {font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:600;margin:0 0 7px;color:#503d57;}
.ms-extras-bottom p {color:#746875;font-size:13px;line-height:1.7;margin:0;max-width:600px;}
.ms-extras-bottom .ms-cta {flex-shrink:0;}
@media(max-width:780px){
  .ms-extras {padding:69px 19px 72px;}
  .ms-extras-heading {margin-bottom:30px;}
  .ms-extras-grid {gap:19px;}
  .ms-extra-body {padding:22px 21px 21px;}
  .ms-extra-desc {min-height:0;}
  .ms-extra-price {min-width:70px;min-height:70px;top:13px;right:13px;}
  .ms-extra-price strong {font-size:25px;}
  .ms-extra-list {grid-template-columns:1fr;gap:7px;}
  .ms-extras-bottom {flex-direction:column;text-align:center;padding:25px 18px;}
}
@media(max-width:620px){
  .ms-extras-grid {grid-template-columns:1fr;gap:22px;}
  .ms-extras-heading h2 {font-size:37px;}
  .ms-extras-heading p {font-size:14px;}
  .ms-extra-media img {aspect-ratio:1.42/1;}
  .ms-extra-body {padding:23px 23px 22px;}
  .ms-extra-body h3 {font-size:27px;}
  .ms-extra-list {grid-template-columns:1fr 1fr;}
  .ms-extras-bottom .ms-cta {width:100%;}
}
@media(max-width:390px){.ms-extra-list {grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.ms-extra-card,.ms-extra-media img{transition:none;}}


/* ---------- MAGIC SLUMBER | SIMPLE SEVEN THEME COLLECTION ---------- */
.ms-simple-themes{background:linear-gradient(180deg,#fff,#fbf8fb);padding:86px 22px 94px;scroll-margin-top:22px}
.ms-simple-inner{max-width:1180px;margin:0 auto}
.ms-simple-head{text-align:center;max-width:700px;margin:0 auto 42px}
.ms-simple-kicker{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:2.5px;color:#94749c}
.ms-simple-head h2{font:600 clamp(33px,4vw,52px)/1.15 'Playfair Display',Georgia,serif;color:#3f3046;letter-spacing:-1px;margin:13px 0 16px}
.ms-simple-head h2 em{font-style:normal;color:#8e6c9a}
.ms-simple-head p{font-size:15px;color:#756c78;line-height:1.75;margin:0 auto}
.ms-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.ms-simple-card{min-width:0;overflow:hidden;border-radius:19px;border:1px solid #eee3e9;background:#fff;box-shadow:0 12px 34px rgba(56,39,65,.065);transition:box-shadow .2s,transform .2s}
.ms-simple-card:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(56,39,65,.115)}
.ms-simple-card button{appearance:none;border:0;background:transparent;color:inherit;display:block;cursor:pointer;padding:0;margin:0;text-align:left;width:100%;font:inherit}
.ms-simple-cover{width:100%;aspect-ratio:1.3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--theme-bg,#f0e8ec)}
.ms-simple-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ms-simple-card:hover .ms-simple-cover img{transform:scale(1.03)}
.ms-simple-cover:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(28,21,25,.17));opacity:0}
.ms-simple-card.has-photo .ms-simple-cover:after{opacity:1}
.ms-simple-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;background:radial-gradient(circle at 23% 28%,var(--theme-light,#ffebf5),transparent 45%),radial-gradient(circle at 77% 65%,var(--theme-dark,#cbb6d5),transparent 46%),var(--theme-bg,#f4ecf0)}
.ms-simple-art:before,.ms-simple-art:after{content:'✦';position:absolute;font-size:31px;color:rgba(255,255,255,.7)}
.ms-simple-art:before{top:19%;left:25%}.ms-simple-art:after{bottom:18%;right:21%;font-size:20px}
.ms-simple-art .ms-art-mark{font:600 28px/1.2 'Playfair Display',Georgia,serif;text-align:center;padding:14px;color:var(--theme-ink,#594061);max-width:90%}
.ms-simple-art small{font:600 10px 'DM Sans',Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--theme-ink,#594061);opacity:.78}
.ms-simple-meta{padding:21px 22px 23px}
.ms-simple-meta h3{font:600 26px/1.18 'Playfair Display',Georgia,serif;margin:0 0 7px;color:#44374b}
.ms-simple-meta p{font:400 12px/1.5 'DM Sans',Arial,sans-serif;margin:0 0 12px;color:#827884}
.ms-simple-view{display:inline-flex;gap:7px;align-items:center;color:#775681;font-size:12px;font-weight:700}
.ms-simple-view:after{content:'→';font-size:16px}
.ms-simple-notice{margin:30px auto 0;max-width:720px;text-align:center;color:#877d88;font-size:12px;line-height:1.65}
/* Theme popup: a permanent header and action footer keep controls accessible on iPhone Safari. */
.ms-theme-dialog{border:0;border-radius:22px;box-shadow:0 28px 85px rgba(32,24,36,.28);padding:0;max-width:min(940px,calc(100vw - 24px));width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;background:#fff;color:#443747}
.ms-theme-dialog::backdrop{background:rgba(25,17,31,.67)}
.ms-theme-dialog-inner{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);min-height:0;overflow:hidden}
.ms-dialog-topbar{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:12px;padding:12px 19px;background:#fff;border-bottom:1px solid #f0e8ef;z-index:2}
.ms-dialog-topbar-label{color:#795a83;font:700 11px 'DM Sans',Arial,sans-serif;letter-spacing:.9px;text-transform:uppercase}
.ms-theme-close{position:relative;flex:0 0 auto;z-index:3;margin:0;background:#fff;border:1px solid #e7dfe6;border-radius:50%;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#53445b;cursor:pointer;box-shadow:0 2px 15px #33223317;touch-action:manipulation}
.ms-dialog-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.ms-dialog-body{padding:29px 42px 28px}
.ms-dialog-actions{flex:0 0 auto;background:#fff;border-top:1px solid #f0e8ef;padding:13px 20px max(17px,env(safe-area-inset-bottom,0px));display:flex;justify-content:flex-end;align-items:center;z-index:2}
.ms-theme-close:focus-visible,.ms-select-theme:focus-visible{outline:3px solid #9e6ab2;outline-offset:2px}
.ms-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.ms-dialog-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#937799;font-weight:700;margin:0 0 8px}
.ms-dialog-body h3{font:600 clamp(32px,4vw,45px)/1.15 'Playfair Display',Georgia,serif;color:#403049;margin:0 0 13px}
.ms-dialog-desc{font:400 14px/1.8 'DM Sans',Arial,sans-serif;color:#716774;margin:0 0 18px;max-width:750px}
.ms-dialog-swatches{display:flex;gap:7px;margin:0 0 19px;align-items:center;color:#756b75;font-size:11px}
.ms-dialog-swatch{height:18px;width:18px;border-radius:50%;box-shadow:0 0 0 1px #ddd;display:inline-block}
.ms-dialog-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0 0 20px}
.ms-dialog-photo-grid figure{margin:0;min-width:0}
.ms-dialog-photo-grid img{display:block;width:100%;height:248px;object-fit:cover;border-radius:12px;background:#eee8ea}
.ms-dialog-photo-grid figcaption{font-size:11px;color:#786d79;margin-top:8px;font-weight:700}
.ms-photo-pending{height:248px;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(140deg,#f7f0f5,#efe7f3);font-size:13px;text-align:center;color:#8c768e}
.ms-dialog-foot{border-top:1px solid #f0e8ef;padding-top:19px;display:flex;gap:20px;align-items:center;justify-content:space-between}
.ms-dialog-includes{font-size:12px;line-height:1.7;color:#796e78;max-width:590px}
.ms-dialog-includes strong{color:#5b4b63}
.ms-select-theme{background:#70517b;border:0;color:#fff!important;font:700 12px 'DM Sans',Arial,sans-serif;border-radius:999px;padding:14px 19px;cursor:pointer;white-space:nowrap}
.ms-selection{display:none;padding:16px 19px;background:#f0e9f2;color:#5b4365;border:1px solid #e4d9e7;border-radius:13px;margin:22px auto 0;font-size:13px;text-align:center}
.ms-selection[data-visible='true']{display:block}
.ms-selection strong{color:#493054}
.ms-selection a{color:#6a417e;font-weight:700;text-decoration:underline}
@media(max-width:900px){.ms-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-dialog-photo-grid img,.ms-photo-pending{height:215px}}
@media(max-width:610px){.ms-simple-themes{padding:64px 18px 72px}.ms-simple-head{margin-bottom:27px}.ms-simple-head h2{font-size:36px}.ms-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ms-simple-meta{padding:14px 12px 17px}.ms-simple-meta h3{font-size:19px}.ms-simple-meta p{font-size:11px}.ms-simple-view{font-size:11px}.ms-simple-art .ms-art-mark{font-size:18px}.ms-simple-art small{font-size:8px;letter-spacing:1px}.ms-theme-dialog{max-width:calc(100vw - 18px);border-radius:18px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.ms-theme-dialog-inner{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.ms-dialog-topbar{padding:9px 15px}.ms-dialog-topbar-label{font-size:10px}.ms-dialog-body{padding:22px 19px 22px}.ms-dialog-photo-grid{grid-template-columns:1fr}.ms-dialog-photo-grid img,.ms-photo-pending{height:auto;aspect-ratio:1.35}.ms-dialog-foot{display:block}.ms-dialog-includes{margin-bottom:0}.ms-dialog-actions{padding:12px 17px max(22px,calc(env(safe-area-inset-bottom,0px) + 15px));justify-content:stretch}.ms-select-theme{width:100%;min-height:48px;font-size:14px;touch-action:manipulation}}
@media(max-height:460px){.ms-theme-dialog,.ms-theme-dialog-inner{max-height:calc(100dvh - 12px)}.ms-dialog-topbar{padding-top:4px;padding-bottom:4px}.ms-dialog-actions{padding-top:7px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.ms-simple-card,.ms-simple-cover img{transition:none}}


.ms-review-photo .ms-simple-cover::after{content:"PHOTO REVIEW";position:absolute;bottom:10px;right:10px;background:#fff9;color:#785178;border:1px solid #e7d2e8;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.8px;pointer-events:none}

/* ---------- MAGIC SLUMBER | HOW IT WORKS, FIVE MAGICAL STEPS ---------- */
.ms-process{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#fffaf7 0%,#fff7fc 52%,#f7f0ff 100%);padding:88px 22px 100px;scroll-margin-top:118px}
.ms-process:before{content:"✦";position:absolute;left:max(12px,calc((100% - 1320px)/2));top:75px;font-size:72px;line-height:1;color:#f5d4e7;transform:rotate(-18deg);z-index:-1}
.ms-process:after{content:"✧";position:absolute;right:max(15px,calc((100% - 1310px)/2));top:110px;font-size:78px;line-height:1;color:#d9cff7;transform:rotate(15deg);z-index:-1}
.ms-process-inner{max-width:1220px;margin:0 auto}
.ms-process-intro{text-align:center;max-width:710px;margin:0 auto 45px}
.ms-process-kicker{display:inline-block;font-family:'Fredoka','DM Sans',sans-serif;color:#855390;letter-spacing:1.5px;font-size:12px;font-weight:700;text-transform:uppercase;background:#f3e6fa;padding:9px 18px;border-radius:100px}
.ms-process-intro h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-1.5px;font-size:clamp(36px,4.8vw,58px);line-height:1.13;color:#4d3658;font-weight:600;margin:17px 0}
.ms-process-intro h2 em{font-style:italic;color:#bd6b9e}
.ms-process-intro p{font-size:16px;line-height:1.8;color:#6c586d;margin:0 auto;max-width:590px}
.ms-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.ms-process-step{min-width:0;position:relative;border:2px solid #fff;border-radius:25px;padding:28px 18px 28px;background:#fff;box-shadow:0 10px 30px rgba(96,58,107,.09);transition:transform .2s,box-shadow .2s}
.ms-process-step:nth-child(1){background:#ffe5f1;transform:rotate(-1deg)}
.ms-process-step:nth-child(2){background:#f0e5ff;transform:rotate(.8deg)}
.ms-process-step:nth-child(3){background:#fff1ca;transform:rotate(-.7deg)}
.ms-process-step:nth-child(4){background:#dff4f1;transform:rotate(.9deg)}
.ms-process-step:nth-child(5){background:#ffe7df;transform:rotate(-.6deg)}
.ms-process-step:hover{transform:translateY(-5px) rotate(0);box-shadow:0 14px 32px rgba(96,58,107,.14)}
.ms-process-step-num{position:absolute;top:14px;right:18px;font-family:'Fredoka','DM Sans',sans-serif;font-size:21px;color:rgba(83,49,97,.35);font-weight:700}
.ms-process-step-emoji{display:flex;align-items:center;justify-content:center;font-size:36px;width:68px;height:68px;background:rgba(255,255,255,.77);border-radius:20px;box-shadow:0 5px 14px #4d36580d;margin-bottom:22px}
.ms-process-step h3{font:600 22px/1.15 'Fredoka','DM Sans',Arial,sans-serif;letter-spacing:-.4px;color:#4c3555;margin:0 0 12px}
.ms-process-step p{font:400 13.5px/1.75 'DM Sans',Arial,sans-serif;color:#5e5264;margin:0}
.ms-process-reassurance{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:13px 28px;text-align:center;margin:34px 0 0;font-size:13px;font-weight:700;color:#76577d}
.ms-process-reassurance span{display:inline-flex;align-items:center;gap:8px}
.ms-process-reassurance span::before{content:"★";color:#d59e46;font-size:17px}
.ms-process-faq-wrap{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:46px;margin:77px auto 0;align-items:start;max-width:1080px}
.ms-process-faq-title{padding-top:5px}
.ms-process-faq-title span{font:700 12px 'Fredoka','DM Sans',sans-serif;text-transform:uppercase;letter-spacing:1.6px;color:#ad749f}
.ms-process-faq-title h3{font:600 clamp(30px,3.2vw,42px)/1.17 'Playfair Display',Georgia,serif;color:#4d3658;margin:12px 0 13px}
.ms-process-faq-title p{font-size:14px;line-height:1.8;color:#776978;margin:0}
.ms-process-faq-list{display:grid;gap:11px}
.ms-process-faq{border:1px solid #eaddea;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 5px 15px rgba(94,60,100,.05)}
.ms-process-faq summary{cursor:pointer;list-style:none;padding:17px 48px 17px 21px;position:relative;font:600 16px/1.35 'Fredoka','DM Sans',sans-serif;color:#563c63}
.ms-process-faq summary::-webkit-details-marker{display:none}
.ms-process-faq summary:after{content:'+';position:absolute;right:19px;top:14px;color:#a471a1;font-size:23px;font-weight:500}
.ms-process-faq[open] summary:after{content:'−'}
.ms-process-faq p{margin:0;padding:0 21px 20px;color:#706376;font-size:13px;line-height:1.75}
.ms-process-faq summary:focus-visible{outline:3px solid #ad79c1;outline-offset:-3px}
.ms-process-end{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:56px 0 0;padding:28px 36px;background:#70517b;border-radius:25px;box-shadow:0 15px 30px rgba(95,53,111,.18);color:#fff}
.ms-process-end h3{font:600 25px 'Fredoka','DM Sans',sans-serif;margin:0 0 5px;color:white}
.ms-process-end p{font-size:13px;line-height:1.65;color:#f6eafb;margin:0}
.ms-process-end .ms-cta{background:#fff;color:#634471!important;box-shadow:none;font-family:'Fredoka','DM Sans',sans-serif;font-size:15px}
.ms-process-end .ms-cta:hover{background:#fff0c4}
@media(max-width:1100px){.ms-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ms-process-step:nth-child(4){grid-column:1 / span 1}.ms-process-step:nth-child(5){grid-column:2 / span 1}}
@media(max-width:720px){.ms-process{padding:66px 18px 75px}.ms-process-intro{margin-bottom:29px}.ms-process-intro h2{font-size:39px}.ms-process-intro p{font-size:14px}.ms-process-grid{grid-template-columns:1fr;gap:12px}.ms-process-step:nth-child(n){grid-column:auto;transform:none}.ms-process-step{display:grid;grid-template-columns:55px minmax(0,1fr);column-gap:16px;align-items:start;padding:19px 20px 20px}.ms-process-step-emoji{grid-row:1 / span 2;margin:0;width:55px;height:55px;font-size:29px;border-radius:17px}.ms-process-step h3{font-size:20px;padding-right:26px;margin:2px 0 7px}.ms-process-step p{grid-column:2;font-size:13px}.ms-process-step-num{top:16px;right:19px;font-size:16px}.ms-process-reassurance{margin-top:25px;gap:10px 18px;font-size:12px}.ms-process-faq-wrap{grid-template-columns:1fr;gap:22px;margin-top:57px}.ms-process-faq-title h3{font-size:34px}.ms-process-end{flex-direction:column;text-align:center;gap:17px;margin-top:39px;padding:27px 22px}.ms-process-end h3{font-size:24px}.ms-process-end .ms-cta{width:100%;max-width:290px}.ms-process:before{top:32px;left:-18px;font-size:50px}.ms-process:after{top:25px;right:-10px;font-size:52px}}
@media(prefers-reduced-motion:reduce){.ms-process-step{transition:none}}


/* ---------- MAGIC SLUMBER | BUILD YOUR SLEEPOVER PRICE CALCULATOR ---------- */
.ms-builder{position:relative;padding:88px 22px 95px;background:linear-gradient(150deg,#fff9f5 0%,#fff0fa 46%,#f0ecff 100%);scroll-margin-top:118px;overflow:clip}
.ms-builder:before,.ms-builder:after{content:'✧';position:absolute;pointer-events:none;font-size:85px;color:#edb6d7;opacity:.5;line-height:1}
.ms-builder:before{top:58px;left:max(4%,calc((100% - 1380px)/2))}.ms-builder:after{top:82px;right:5%;color:#b4a4dc;transform:rotate(20deg)}
.ms-builder-inner{max-width:1220px;margin:0 auto;position:relative;z-index:1}
.ms-builder-head{text-align:center;max-width:740px;margin:0 auto 42px}
.ms-builder-kicker{font:700 12px 'Fredoka','DM Sans',sans-serif;letter-spacing:1.3px;text-transform:uppercase;background:#f1e2fa;color:#815190;border-radius:100px;padding:9px 19px;display:inline-block}
.ms-builder-head h2{font:600 clamp(36px,5vw,61px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;color:#4a3156;margin:20px 0 13px}
.ms-builder-head h2 em{color:#bb679e;font-style:italic}
.ms-builder-head p{font-size:15px;line-height:1.8;color:#766879;margin:0 auto;max-width:650px}
.ms-builder-layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,.92fr);align-items:start;gap:23px}
.ms-builder-stack{display:grid;gap:18px;min-width:0}
.ms-builder-panel{background:#fff;border:1px solid #f0dfeb;box-shadow:0 12px 35px rgba(93,61,106,.07);border-radius:24px;padding:27px 29px;min-width:0}
.ms-builder-panel-top{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.ms-builder-num{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:13px;flex-shrink:0;background:#f4dcf0;color:#8a4682;font:700 20px 'Fredoka','DM Sans',sans-serif}
.ms-builder-panel h3{margin:0;font:600 23px/1.22 'Fredoka','DM Sans',sans-serif;color:#493550}
.ms-builder-panel-sub{margin:3px 0 0;font:400 12px/1.6 'DM Sans',sans-serif;color:#8b7b89}
.ms-builder-guests{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ms-builder-bed{border:2px solid #eee4ef;border-radius:17px;cursor:pointer;text-align:center;background:#fff;padding:13px 5px 11px;min-height:93px;transition:background .2s,border .2s,transform .2s;display:grid;align-content:center;gap:5px;color:#5a4362}
.ms-builder-bed strong{font:700 25px/1 'Fredoka','DM Sans',sans-serif}.ms-builder-bed small{font:600 11px 'DM Sans',sans-serif;color:#917b91}.ms-builder-bed span{font:700 14px 'DM Sans',sans-serif}
.ms-builder-bed[aria-pressed='true']{background:#f5e2f3;border-color:#bd7cb5;box-shadow:0 0 0 2px #fff inset;transform:translateY(-2px)}
.ms-builder-theme-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:16px;align-items:center}
.ms-builder-label{display:block;font-size:12px;font-weight:700;color:#664d6b;margin:0 0 8px}
.ms-builder-select,.ms-builder-textinput{display:block;width:100%;min-width:0;background:#fff;color:#3e3543;border:2px solid #e5d6e6;border-radius:13px;padding:13px 14px;font:600 14px 'DM Sans',sans-serif;min-height:49px;box-shadow:none}
.ms-builder-select:focus,.ms-builder-textinput:focus{border-color:#ad74b1;outline:3px solid #f3e5f7;outline-offset:0}
.ms-builder-theme-photo{height:104px;border-radius:14px;width:112px;object-fit:cover;box-shadow:0 5px 15px #3f284220}
.ms-builder-theme-free{display:inline-flex;gap:6px;align-items:center;font:700 12px 'DM Sans',sans-serif;color:#55856b;margin:12px 0 0}
.ms-builder-go-themes{display:inline-block;font-size:12px;color:#7b5688;font-weight:700;margin-top:9px;text-decoration:underline!important}
.ms-builder-extras{display:grid;gap:10px}
.ms-builder-extra{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;align-items:center;cursor:pointer;border:2px solid #eee5ee;border-radius:15px;padding:15px 14px;background:#fff;transition:background .2s,border-color .2s}
.ms-builder-extra:has(input:checked){background:#fff1f9;border-color:#cd9fc8}
.ms-builder-extra input{width:21px;height:21px;accent-color:#9857a4;margin:0;cursor:pointer}
.ms-builder-extra strong{display:block;font:600 15px 'Fredoka','DM Sans',sans-serif;color:#503b59}
.ms-builder-extra small{display:block;color:#8d7d8d;font:400 11px/1.5 'DM Sans',sans-serif;margin-top:4px}
.ms-builder-extra .ms-extra-line-price{font:700 16px 'Fredoka','DM Sans',sans-serif;color:#6d4878;white-space:nowrap}
.ms-builder-hint{margin:13px 0 0;font-size:12px;line-height:1.7;color:#766a76}
.ms-builder-address-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 110px;gap:10px}
.ms-builder-address-grid .ms-builder-address-street{grid-column:1/-1}
.ms-builder-address-grid .ms-builder-state{display:none}
.ms-builder-distance-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:13px}
.ms-builder-route-btn,.ms-builder-primary{appearance:none;border:0;cursor:pointer;background:#7c5588;color:#fff!important;border-radius:13px;padding:13px 19px;font:700 14px 'Fredoka','DM Sans',sans-serif;min-height:45px;box-shadow:0 5px 12px rgba(112,70,126,.15)}
.ms-builder-route-btn:hover,.ms-builder-primary:hover{background:#654272}
.ms-builder-route-btn:disabled,.ms-builder-primary:disabled{opacity:.65;cursor:wait}
.ms-builder-route-status{font-size:12px;line-height:1.55;color:#756779;margin:0}
.ms-builder-route-status[data-state='success']{color:#387659;font-weight:600}
.ms-builder-route-status[data-state='error']{color:#a34658}
.ms-builder-manual{margin-top:16px;border-top:1px dashed #e9d7e6;padding-top:12px;color:#746578}
.ms-builder-manual summary{font-size:12px;font-weight:700;color:#7b5c85;cursor:pointer}
.ms-builder-manual-inner{display:flex;gap:12px;align-items:end;margin-top:12px;max-width:440px}
.ms-builder-manual-inner>div{flex:1}
.ms-builder-mile-note{font-size:11px;color:#8a798b;line-height:1.6;margin:8px 0 0}
.ms-builder-summary{background:#fff;border:2px solid #ebdced;border-radius:24px;box-shadow:0 16px 40px rgba(85,51,100,.12);padding:25px;position:sticky;top:128px;min-width:0}
.ms-builder-summary-head{background:#f8eaf8;border-radius:17px;padding:16px;margin-bottom:17px}
.ms-builder-summary-head span{font:700 10px 'DM Sans',sans-serif;letter-spacing:1.9px;color:#956a9d;text-transform:uppercase}
.ms-builder-summary-head h3{font:600 25px 'Fredoka','DM Sans',sans-serif;color:#57405f;margin:5px 0 0}
.ms-builder-receipt{display:grid;gap:12px}.ms-builder-receipt-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:13px;line-height:1.45;color:#615467}.ms-builder-receipt-row strong{font-size:14px;white-space:nowrap;color:#423549}
.ms-builder-receipt-row small{display:block;color:#918391;font-size:11px;margin-top:3px}
.ms-builder-receipt-empty{font-size:12px;color:#938393;line-height:1.5;margin:0}
.ms-builder-receipt hr{border:0;border-top:1px solid #eee3ee;width:100%;margin:3px 0}
.ms-builder-total{margin-top:17px;padding:18px 16px;border-radius:18px;background:linear-gradient(115deg,#725282,#aa6ea6);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ms-builder-total .ms-builder-total-label{color:#fdf2ff;font-size:13px;font-weight:700}.ms-builder-total strong{color:#fff;font:700 clamp(28px,3vw,37px)/1 'Fredoka','DM Sans',sans-serif;white-space:nowrap}
.ms-builder-summary-note{margin:14px 0 0;font-size:11.5px;line-height:1.65;color:#827386}
.ms-builder-promo{margin-top:16px;padding:16px;border:1px solid #ead9e9;border-radius:15px;background:#fff8fe}
.ms-builder-promo label{display:block;font:700 13px 'DM Sans',sans-serif;color:#6b5274;margin-bottom:8px}
.ms-builder-promo-entry{display:flex;align-items:stretch;gap:8px}
.ms-builder-promo-entry input{min-width:0;flex:1;padding:10px;border-radius:10px;border:2px solid #e3d4e5;background:#fff;color:#553f5c;font:700 14px 'DM Sans',sans-serif;text-transform:uppercase}
.ms-builder-promo-entry button{flex-shrink:0;border:0;border-radius:10px;background:#795586;color:#fff;font:700 13px 'Fredoka','DM Sans',sans-serif;padding:9px 15px;cursor:pointer}
.ms-builder-promo-entry button:disabled{opacity:.65;cursor:wait}
.ms-builder-promo-status{margin:8px 0 0!important;font:500 12px/1.5 'DM Sans',sans-serif;color:#86758b}
.ms-builder-promo-status[data-state='success']{color:#287754;font-weight:700}
.ms-builder-promo-status[data-state='error']{color:#af455a;font-weight:700}
.ms-builder-promo-remove{border:none;background:transparent;color:#80608c;padding:5px 0 0;font:700 11px 'DM Sans',sans-serif;text-decoration:underline;cursor:pointer}
.ms-builder-promo-remove[hidden]{display:none!important}
.ms-builder-request-success{padding:26px;border-radius:18px;background:#f7eef8;border:2px solid #e6d2e8;text-align:center}
.ms-builder-request-success[hidden]{display:none!important}
.ms-builder-request-success h3{font:600 27px 'Fredoka','DM Sans',sans-serif;color:#5c3c69;margin:0 0 15px}
.ms-builder-request-success p{font:400 14px/1.75 'DM Sans',sans-serif;color:#5a4c60;margin:0 0 14px}
.ms-builder-request-success strong{font-weight:700;color:#5c3c69}
.ms-builder-request-success .ms-request-important{font-weight:700;background:#fff;border-radius:12px;padding:12px;color:#79517d}

.ms-builder-summary-cta{display:grid;gap:10px;margin-top:16px}
.ms-builder-ghost{appearance:none;border:2px solid #e6d5e8;background:#fff;color:#724e80;cursor:pointer;font:700 13px 'Fredoka','DM Sans',sans-serif;border-radius:13px;min-height:43px}
.ms-builder-ghost:hover{background:#fdf4fb}
.ms-builder-disclaimer{text-align:center;font-size:11px;color:#8b7b8a;line-height:1.7;margin:20px auto 0;max-width:700px}
.ms-builder-mobile-total{display:none}
.ms-builder-request{margin-top:20px;border-radius:20px;border:2px solid #e8d2e7;background:#fff;padding:26px;box-shadow:0 10px 29px rgba(92,61,104,.06)}
.ms-builder-request[hidden]{display:none!important}
.ms-builder-request h3{font:600 25px 'Fredoka','DM Sans',sans-serif;color:#593b63;margin:0 0 7px}
.ms-builder-request p{font:400 12px/1.7 'DM Sans',sans-serif;color:#817184;margin:0 0 19px}
.ms-builder-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ms-builder-request-grid label{min-width:0;font-size:12px;font-weight:700;color:#68576a;display:block}
.ms-builder-request-grid input,.ms-builder-request-grid textarea{width:100%;margin-top:6px;border:2px solid #e5d6e6;border-radius:12px;background:#fff;color:#3e3543;padding:12px 13px;font:400 14px 'DM Sans',sans-serif;min-height:45px}
.ms-builder-request-grid textarea{min-height:88px;resize:vertical}
.ms-builder-request-grid .ms-builder-full{grid-column:1/-1}
.ms-builder-request-consent{display:flex;align-items:flex-start;gap:10px;font:400 12px/1.5 'DM Sans',sans-serif;color:#716476;margin:17px 0}
.ms-builder-request-consent input{width:17px;height:17px;accent-color:#885c91;flex-shrink:0}
.ms-builder-form-result{font-size:13px;line-height:1.6;margin-top:10px;min-height:1em}
.ms-builder-form-result[data-state='success']{color:#287754;font-weight:700}.ms-builder-form-result[data-state='error']{color:#ad3b54}
.ms-builder-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1000px){.ms-builder-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr);gap:15px}.ms-builder-panel{padding:22px}.ms-builder-summary{padding:18px}}
@media(max-width:790px){.ms-builder{padding:70px 18px 115px}.ms-builder-layout{grid-template-columns:1fr}.ms-builder-summary{position:static}.ms-builder-mobile-total{display:flex;position:fixed;z-index:49;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));border:2px solid #fff;border-radius:17px;box-shadow:0 8px 32px #38253d50;background:linear-gradient(110deg,#6e4d83,#a66ea4);color:#fff;padding:10px 13px;align-items:center;justify-content:space-between;gap:13px}.ms-builder-mobile-total div{display:grid;gap:2px}.ms-builder-mobile-total small{font-size:10px;color:#f7e9fa}.ms-builder-mobile-total strong{color:#fff;font:700 23px 'Fredoka',sans-serif}.ms-builder-mobile-total button{border:1px solid #fff8;border-radius:12px;background:#fff;color:#70517b;font:700 12px 'Fredoka',sans-serif;padding:10px 13px;white-space:nowrap}.ms-builder-mobile-total[hidden]{display:none!important}}
@media(max-width:560px){.ms-builder{padding:66px 15px 98px}.ms-builder-head{margin-bottom:27px}.ms-builder-head h2{font-size:38px}.ms-builder-head p{font-size:13px}.ms-builder-panel{padding:18px 15px;border-radius:19px}.ms-builder-panel h3{font-size:21px}.ms-builder-guests{gap:6px}.ms-builder-bed{min-height:83px;padding:10px 2px;border-radius:12px}.ms-builder-bed strong{font-size:21px}.ms-builder-bed small{font-size:9px}.ms-builder-bed span{font-size:11px}.ms-builder-theme-row{grid-template-columns:minmax(0,1fr) 90px;gap:10px}.ms-builder-theme-photo{width:90px;height:90px}.ms-builder-extra{padding:13px 10px;gap:8px;grid-template-columns:22px minmax(0,1fr) auto}.ms-builder-extra strong{font-size:14px}.ms-builder-extra .ms-extra-line-price{font-size:14px}.ms-builder-address-grid{grid-template-columns:minmax(0,1fr) 104px}.ms-builder-address-grid .ms-builder-address-city{grid-column:1}.ms-builder-address-grid .ms-builder-address-zip{grid-column:2}.ms-builder-request{padding:19px 15px}.ms-builder-request-grid{grid-template-columns:1fr}.ms-builder-request-grid .ms-builder-full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.ms-builder-bed,.ms-builder-extra{transition:none}}


/* MAGIC SLUMBER | THE MAGIC AWAKENS: conspicuous, short welcome animation.
   Pure CSS, one play on page load, no continuous heavy particle effects. */
.ms-brand-row{isolation:isolate}
.ms-brand-inner{isolation:isolate}
.ms-magic-backglow{
  /* Full-bleed glow: never let the centered 1380px logo container crop the halo. */
  position:absolute;left:calc(50% - 50vw);right:auto;top:-20%;bottom:-20%;width:100vw;
  z-index:1;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse at 47% 51%,rgba(255,228,95,.83) 0%,rgba(255,173,234,.58) 27%,rgba(173,117,234,.3) 49%,transparent 72%);
  /* Important: radial-gradient alone is not transparent at its rectangular
     element bounds. Mask it so no line can appear on either side. */
  -webkit-mask-image:radial-gradient(ellipse 42% 45% at 50% 50%,#000 0%,rgba(0,0,0,.95) 34%,rgba(0,0,0,.53) 59%,transparent 90%);
  mask-image:radial-gradient(ellipse 42% 45% at 50% 50%,#000 0%,rgba(0,0,0,.95) 34%,rgba(0,0,0,.53) 59%,transparent 90%);
  filter:blur(14px);animation:ms-magic-halo 3.1s ease-out 0s both;
}
/* The sweep crosses IN FRONT OF the logo, so visitors actually see it. */
/* Full viewport overlay, centered on the logo container.  Previously
   inset:0 clipped the animated colors at the inner container's left/right. */
.ms-magic-front{position:absolute;left:calc(50% - 50vw);right:auto;top:0;bottom:0;width:100vw;z-index:5;pointer-events:none;overflow:hidden}
/* A fully feathered glow: the mask reaches COMPLETE transparency well before
   all four element edges. The old mask extended beyond the left/right edges,
   exposing an unmistakable rectangular boundary during the sweep. */
.ms-magic-wave{
  position:absolute;left:-58%;top:-65%;width:46%;height:230%;opacity:0;
  transform:translate3d(0,0,0) skewX(-16deg);
  background:linear-gradient(90deg,transparent 0%,rgba(174,83,209,.09) 20%,rgba(245,135,229,.32) 32%,rgba(255,230,120,.83) 47%,rgba(255,255,255,.95) 51%,rgba(255,207,120,.63) 59%,rgba(210,120,233,.24) 70%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 40% 21% at center,#000 0%,rgba(0,0,0,.96) 16%,rgba(0,0,0,.78) 32%,rgba(0,0,0,.33) 59%,transparent 94%);
  mask-image:radial-gradient(ellipse 40% 21% at center,#000 0%,rgba(0,0,0,.96) 16%,rgba(0,0,0,.78) 32%,rgba(0,0,0,.33) 59%,transparent 94%);
  filter:blur(15px);animation:ms-magic-wave 2.12s cubic-bezier(.42,0,.64,1) .2s both;
}
.ms-magic-comet{
  position:absolute;left:-12%;top:55%;width:74px;height:74px;opacity:0;
  animation:ms-magic-flight 2.16s cubic-bezier(.19,.65,.21,1) .16s both;
}
.ms-magic-comet::before{
  content:'';position:absolute;right:32px;top:31px;width:clamp(120px,24vw,340px);height:34px;
  background:linear-gradient(90deg,transparent,rgba(227,111,228,.18) 18%,rgba(255,169,212,.5) 38%,rgba(255,232,137,.78) 74%,rgba(255,255,255,.78) 88%,transparent 100%);
  filter:blur(5px);border-radius:100%;transform:rotate(-7deg);transform-origin:100% 50%;
}
.ms-magic-comet::after{
  content:'✦';position:absolute;inset:0;color:#fff9d5;font-family:Georgia,serif;font-size:79px;line-height:74px;text-align:center;
  text-shadow:0 0 3px #fff,0 0 9px #fff,0 0 19px #ffe979,0 0 35px #fbb5ea,0 0 52px #b26dce;
}
.ms-magic-dust{
  position:absolute;left:var(--x);top:var(--y);font:normal var(--s,26px)/1 Georgia,serif;color:var(--c,#fff3a8);
  opacity:0;text-shadow:0 0 3px #fff,0 0 8px currentColor,0 0 20px currentColor;
  animation:ms-magic-burst 1.48s ease-out var(--d,0s) both;
}
.ms-magic-corners{position:absolute;inset:0;z-index:4;pointer-events:none}
.ms-magic-corners::before,.ms-magic-corners::after{
  content:'✦';position:absolute;color:#ffed8c;font-size:clamp(36px,5vw,78px);
  text-shadow:0 0 12px white,0 0 30px #ffda64,0 0 42px #f8a7ed;
  opacity:0;animation:ms-magic-big-star 1.58s ease-out 1.15s both;
}
.ms-magic-corners::before{left:9%;top:22%}
.ms-magic-corners::after{right:11%;bottom:16%;animation-delay:1.53s}
.ms-logo{animation:ms-magic-logo-arrive 1.32s cubic-bezier(.17,.85,.31,1) .04s both}
.ms-logo img{animation:ms-magic-logo-shine 3.25s ease-in-out .1s both}
.ms-header-book,.ms-hero .ms-cta{position:relative;overflow:hidden;isolation:isolate}
.ms-header-book::after,.ms-hero .ms-cta::after{
  content:'';position:absolute;pointer-events:none;top:-42%;bottom:-42%;left:-58%;width:31%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 20%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.19) 76%,transparent);
  transform:skewX(-24deg);opacity:0;animation:ms-magic-button-sweep 1.25s ease-in-out 2.13s both;
}
.ms-header-book{animation:ms-magic-button-pulse 1.15s ease-out 2.06s both}
.ms-hero .ms-cta::after{animation-delay:2.55s}
@keyframes ms-magic-halo{
  0%{opacity:0;transform:scale(.7)} 20%{opacity:.58;transform:scale(.93)}
  43%{opacity:1;transform:scale(1.07)} 72%{opacity:.57;transform:scale(1.14)}
  100%{opacity:0;transform:scale(1.19)}
}
@keyframes ms-magic-wave{
  0%{transform:translate3d(0,0,0) skewX(-16deg);opacity:0}
  10%{opacity:.45} 26%{opacity:.95} 53%{opacity:1}
  72%{opacity:.8} 86%{opacity:0}
  100%{transform:translate3d(calc(180vw + 100%),0,0) skewX(-16deg);opacity:0}
}
@keyframes ms-magic-flight{
  0%{left:-12%;top:60%;opacity:0;transform:scale(.55) rotate(-16deg)}
  12%{opacity:1} 43%{top:38%;opacity:1;transform:scale(1.1) rotate(10deg)}
  77%{top:57%;opacity:1;transform:scale(1) rotate(-8deg)}
  100%{left:109%;top:34%;opacity:0;transform:scale(.7) rotate(15deg)}
}
@keyframes ms-magic-burst{
  0%{opacity:0;transform:translate3d(-17px,16px,0) rotate(-24deg) scale(.15)}
  27%{opacity:1;transform:translate3d(0,0,0) rotate(13deg) scale(1.4)}
  57%{opacity:1;transform:translate3d(8px,-9px,0) rotate(28deg) scale(1.1)}
  100%{opacity:0;transform:translate3d(20px,-28px,0) rotate(52deg) scale(.15)}
}
@keyframes ms-magic-big-star{
  0%{opacity:0;transform:scale(.1) rotate(-40deg)}
  33%{opacity:1;transform:scale(1.4) rotate(10deg)}
  68%{opacity:.85;transform:scale(.9) rotate(35deg)}
  100%{opacity:0;transform:scale(.25) rotate(70deg)}
}
@keyframes ms-magic-logo-arrive{
  0%{opacity:.55;transform:translateY(15px) scale(.94)}
  63%{opacity:1;transform:translateY(-4px) scale(1.025)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ms-magic-logo-shine{
  0%{filter:drop-shadow(0 0 0 transparent) brightness(1)}
  36%{filter:drop-shadow(0 0 17px rgba(255,225,109,.85)) drop-shadow(0 0 32px rgba(237,137,218,.65)) brightness(1.25)}
  66%{filter:drop-shadow(0 0 12px rgba(255,223,132,.72)) brightness(1.11)}
  100%{filter:none}
}
@keyframes ms-magic-button-sweep{
  0%{left:-60%;opacity:0} 15%{opacity:1} 83%{opacity:1} 100%{left:165%;opacity:0}
}
@keyframes ms-magic-button-pulse{
  0%,100%{filter:none} 45%{filter:brightness(1.23) drop-shadow(0 0 12px rgba(237,127,221,.75))}
}
@media(max-width:520px){
  .ms-magic-comet{width:54px;height:54px}
  .ms-magic-comet::after{font-size:62px;line-height:54px}
  .ms-magic-dust:nth-child(n+32){display:none}
  .ms-magic-wave{width:50%}
}
@media(prefers-reduced-motion:reduce){
  .ms-magic-backglow,.ms-magic-front,.ms-magic-corners{display:none!important}
  .ms-logo,.ms-logo img,.ms-header-book,.ms-header-book::after,.ms-hero .ms-cta::after{animation:none!important}
}
/* =============================================================
   ABOUT + CONTACT SECTIONS | Magic Slumber | November 2026
   Scoped selectors preserve all existing homepage components.
   ============================================================= */
.ms-family,.ms-contact{scroll-margin-top:118px}
.ms-family{background:linear-gradient(138deg,#fffafc 0%,#fcf4fb 55%,#f8f3ff 100%);padding:94px 25px 100px;overflow:hidden}
.ms-family-inner,.ms-contact-inner{max-width:1190px;margin:0 auto}
.ms-family-inner{display:grid;grid-template-columns:minmax(280px,.87fr) minmax(0,1.13fr);align-items:center;gap:clamp(38px,6.5vw,95px)}
.ms-family-photo-wrap{position:relative;max-width:485px;margin:auto;width:100%}
.ms-family-photo{margin:0;position:relative;z-index:1}
.ms-family-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:25px;border:4px solid #fff;box-shadow:0 25px 45px rgba(92,60,93,.14)}
.ms-family-photo-note{position:absolute;z-index:2;left:50%;bottom:-19px;transform:translateX(-50%);background:#fff;border:1px solid #f0e0eb;box-shadow:0 10px 24px #70517b1f;padding:12px 23px;border-radius:999px;font:700 13px 'Fredoka','DM Sans',sans-serif;color:#805483;white-space:nowrap}
.ms-family-kicker,.ms-contact-kicker{display:inline-block;color:#96639a;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;margin:0 0 18px}
.ms-family h2,.ms-contact h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.16;letter-spacing:-1px;font-size:clamp(34px,3.8vw,55px);color:#3c3045;margin:0 0 23px}
.ms-family h2 em,.ms-contact h2 em{font-style:normal;color:#9d6a9e}
.ms-family-story p{font-size:15px;line-height:1.85;color:#655c67;margin:0 0 17px}
.ms-family-story p strong{color:#4c3c54}
.ms-family-thought{font:600 22px/1.55 'Playfair Display',Georgia,serif!important;color:#75517e!important;border-left:3px solid #dba9d6;padding:4px 0 4px 20px;margin:23px 0!important}
.ms-family-sign{font:700 18px 'Fredoka','DM Sans',sans-serif!important;color:#704d7b!important;margin-top:18px!important}
.ms-family-trust{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 27px}
.ms-family-trust span{font-size:12px;font-weight:700;color:#765181;background:#fff;border:1px solid #efdeef;padding:10px 13px;border-radius:999px;box-shadow:0 4px 12px #6f547c0e}
.ms-family-actions{display:flex;align-items:center;flex-wrap:wrap;gap:19px}
.ms-family-actions a.ms-family-text-link{font-size:13px;font-weight:700;color:#755080;text-decoration:underline;text-underline-offset:5px}
.ms-contact{background:#fff;padding:90px 25px 108px;border-top:1px solid #f3eaf3}
.ms-contact-inner{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,85px);align-items:start}
.ms-contact-copy>p{font-size:15px;line-height:1.85;color:#665e68;margin:0 0 25px;max-width:410px}
.ms-contact-email{display:inline-flex;align-items:center;gap:9px;color:#765383!important;font-weight:700;text-decoration:underline!important;text-underline-offset:4px;margin-bottom:24px;word-break:break-word}
.ms-contact-quote{background:#fbf6fc;border:1px solid #eadbea;border-radius:18px;padding:22px 23px;max-width:430px;margin-top:20px}
.ms-contact-quote strong{display:block;color:#58405d;font:700 18px 'Fredoka',sans-serif;margin-bottom:8px}
.ms-contact-quote p{font-size:13px;line-height:1.75;color:#6a6170;margin:0 0 16px}
.ms-contact-quote a{color:#754f80;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.ms-contact-form-card{background:linear-gradient(155deg,#fff 0%,#fffdff 100%);border:1px solid #eee3ed;box-shadow:0 21px 60px rgba(91,62,100,.09);border-radius:25px;padding:clamp(25px,4vw,43px)}
.ms-contact-form-card h3{font:700 24px 'Fredoka','DM Sans',sans-serif;color:#503b58;margin:0 0 8px}
.ms-contact-form-card>p{font-size:13px;color:#817485;line-height:1.7;margin:0 0 25px}
.ms-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.ms-contact-field{display:block;color:#604867;font-size:13px;font-weight:700;min-width:0}
.ms-contact-field.ms-contact-message-field{grid-column:1/-1}
.ms-contact-field input,.ms-contact-field textarea{box-sizing:border-box;display:block;width:100%;background:#fff;border:1px solid #dcd0df;border-radius:12px;padding:14px 14px;font:500 14px 'DM Sans',sans-serif;color:#3d2e42;outline:none;margin-top:8px;box-shadow:none;min-height:48px}
.ms-contact-field input:focus,.ms-contact-field textarea:focus{border-color:#a777b0;box-shadow:0 0 0 3px #bb8cc520}
.ms-contact-field textarea{resize:vertical;min-height:155px;line-height:1.65}
.ms-contact-field .ms-contact-optional{font-size:11px;font-weight:500;color:#8c8290}
.ms-contact-form-actions{margin-top:20px}
.ms-contact-submit{border:0;cursor:pointer;font:700 15px 'Fredoka','DM Sans',sans-serif;background:linear-gradient(115deg,#9a68ae,#d777a8);color:#fff;border-radius:13px;padding:16px 25px;min-height:53px;box-shadow:0 8px 16px #a971ab2a}
.ms-contact-submit:hover:not(:disabled){filter:brightness(.95)}
.ms-contact-submit:disabled{opacity:.65;cursor:wait}
.ms-contact-form-status{font-size:13px;line-height:1.6;margin:13px 0 0;min-height:20px;color:#755780}
.ms-contact-form-status[data-state="success"]{color:#29664e}
.ms-contact-form-status[data-state="error"]{color:#ae3850}
.ms-contact-privacy{font-size:11px;color:#877988;line-height:1.6;margin:18px 0 0}
.ms-contact-privacy a{color:#735180;text-decoration:underline;text-underline-offset:3px}
.ms-contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}
.ms-family :focus-visible,.ms-contact :focus-visible{outline:3px solid #a16fae;outline-offset:3px}
@media(min-width:901px){.ms-nav{gap:8px}.ms-header-inner{gap:9px}.ms-nav a{padding:13px 13px;min-height:53px;font-size:clamp(12px,1.07vw,15px)}.ms-nav-icon{font-size:18px}.ms-header-book{min-height:55px;padding:12px 18px;font-size:clamp(12px,1.05vw,16px)}}
@media(max-width:900px){.ms-family{padding:65px 20px 75px}.ms-family-inner,.ms-contact-inner{grid-template-columns:1fr;gap:48px}.ms-family-photo-wrap{max-width:400px}.ms-family-story{max-width:650px;margin:0 auto}.ms-contact{padding:65px 20px 75px}.ms-contact-copy{max-width:640px}.ms-contact-form-card{max-width:650px;width:100%;margin:0 auto}}
@media(max-width:540px){.ms-family h2,.ms-contact h2{font-size:35px}.ms-family-story p{font-size:14px}.ms-family-thought{font-size:19px!important}.ms-contact-fields{grid-template-columns:1fr;gap:16px}.ms-contact-form-card{padding:23px 18px}.ms-contact-form-actions button{width:100%}.ms-family-trust{gap:7px}.ms-family-trust span{font-size:11px}.ms-family-photo-note{font-size:11px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.ms-contact-submit{transition:none}}


/* ---------- MAGIC SLUMBER | 2026 FEATURE HERO: APPROVED PINK + PURPLE ---------- */
/* Scoped hero overrides. Header animations, booking, themes and forms are unchanged. */
.ms-page .ms-hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse at 7% 89%,rgba(243,207,248,.48) 0%,transparent 35%),
    radial-gradient(ellipse at 93% 93%,rgba(250,203,232,.5) 0%,transparent 36%),
    linear-gradient(115deg,#fffaff 0%,#fff8fc 48%,#f9f3ff 100%);
}
.ms-page .ms-hero::before{content:'✧';position:absolute;left:2.2%;top:35%;z-index:-1;color:#e9b6ee;font-size:50px;line-height:1;transform:rotate(-15deg);opacity:.65}
.ms-page .ms-hero::after{content:'';position:absolute;z-index:-1;pointer-events:none;left:-2%;right:-2%;bottom:-44px;height:100px;background:
  radial-gradient(ellipse 150px 72px at 9% 37%,#f3e7fa 62%,transparent 63%),
  radial-gradient(ellipse 190px 82px at 27% 60%,#f9e5f8 62%,transparent 63%),
  radial-gradient(ellipse 165px 70px at 49% 39%,#f8eefc 62%,transparent 63%),
  radial-gradient(ellipse 200px 80px at 72% 58%,#f2e8fe 62%,transparent 63%),
  radial-gradient(ellipse 165px 75px at 92% 40%,#fae8f4 62%,transparent 63%);opacity:.8}
.ms-page .ms-hero-inner{max-width:1350px;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:clamp(34px,4vw,62px);align-items:center;padding:58px 38px 91px}
.ms-page .ms-hero-copy{min-width:0;position:relative;z-index:2}
.ms-page .ms-eyebrow{color:#94559b;font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:20px}
.ms-page .ms-hero-heading-wrap{position:relative}
.ms-page .ms-hero-heading-spark{position:absolute;top:-16px;right:0;color:#e7a328;font-size:39px;line-height:1;transform:rotate(12deg)}
.ms-page .ms-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:600;color:#46254f;font-size:clamp(39px,4.25vw,65px);letter-spacing:-2px;line-height:1.09;margin:0 0 23px}
.ms-page .ms-hero h1 em.ms-hero-highlight{position:relative;display:inline-block;font-style:italic;color:#9f4eb7;letter-spacing:-1.9px;white-space:nowrap}
.ms-page .ms-hero h1 em.ms-hero-highlight::after{content:'';position:absolute;bottom:-3px;left:13%;right:-15%;border-bottom:3px solid #e7a431;border-radius:50%;height:11px;transform:rotate(-4deg)}
.ms-page .ms-hero-heart{display:inline-block;vertical-align:bottom;color:#e3a024;font-family:Georgia,serif;font-weight:400;font-size:.72em;margin-left:11px;transform:rotate(12deg)}
.ms-page .ms-hero .ms-intro{max-width:550px;color:#605569;font-size:15.5px;line-height:1.7;margin:0 0 23px}
.ms-page .ms-hero-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 26px}
.ms-page .ms-hero-benefit{display:flex;align-items:center;justify-content:center;gap:9px;min-height:65px;border-radius:15px;padding:10px 8px;font-family:'Fredoka','DM Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.25;color:#5c3a67;border:1px solid rgba(255,255,255,.9)}
.ms-page .ms-hero-benefit svg{flex:0 0 27px}
.ms-page .ms-hero-benefit-pink{background:#fce2f2}.ms-page .ms-hero-benefit-pink svg{color:#c04eac}
.ms-page .ms-hero-benefit-gold{background:#fff1dc}.ms-page .ms-hero-benefit-gold svg{color:#df931f}
.ms-page .ms-hero-benefit-lilac{background:#f1e7ff}.ms-page .ms-hero-benefit-lilac svg{color:#c65a83}
.ms-page .ms-hero-actions{gap:19px;align-items:center}
.ms-page .ms-hero .ms-hero-cta{font-family:'Fredoka','DM Sans',sans-serif;background:linear-gradient(110deg,#8a3d9f,#b255ad);font-size:17px;min-height:61px;padding:17px 28px;box-shadow:0 10px 21px rgba(136,57,153,.23);border:2px solid #fff;transition:transform .2s,background .2s,box-shadow .2s}
.ms-page .ms-hero .ms-hero-cta:hover{background:linear-gradient(110deg,#74328a,#96429a);box-shadow:0 13px 23px rgba(136,57,153,.3);transform:translateY(-3px)}
.ms-page .ms-hero .ms-hero-theme-link{font-family:'Fredoka','DM Sans',sans-serif;font-size:16px;color:#765182!important;border-bottom:2px solid #ba97c6}
.ms-page .ms-hero .ms-service{font-size:12px;margin-top:23px;line-height:1.5;color:#7b6d81}
.ms-page .ms-hero .ms-photo-wrap{min-width:0;isolation:isolate;position:relative;filter:drop-shadow(0 13px 22px rgba(89,54,98,.08))}
.ms-page .ms-hero .ms-photo-wrap::before{content:'';position:absolute;inset:-12px;z-index:-1;background:linear-gradient(140deg,rgba(243,185,237,.65),rgba(255,236,197,.45) 60%,rgba(198,162,243,.65));border-radius:41px;filter:blur(24px);opacity:.5}
.ms-page .ms-hero .ms-photo{width:100%;height:auto;aspect-ratio:1312 / 1199;object-fit:cover;object-position:center;display:block;border-radius:33px;border:4px solid #fff;box-shadow:0 26px 57px rgba(76,37,83,.17);background:#efd7e9}
.ms-page .ms-hero-photo-spark{position:absolute;z-index:2;pointer-events:none;line-height:1;color:#efb554;text-shadow:0 0 13px rgba(255,224,169,.8)}
.ms-page .ms-hero-photo-spark-top{font-size:36px;top:-16px;left:-18px}
.ms-page .ms-hero-photo-spark-bottom{font-size:48px;bottom:2px;right:-11px}
.ms-page .ms-hero .ms-photo-note{left:-24px;bottom:-19px;border:1px solid #f4e5ee;border-radius:17px;padding:14px 20px;background:#fff;max-width:calc(100% + 10px)}
.ms-page .ms-hero .ms-photo-note .ms-star{font-size:25px;color:#c89d49}
.ms-page .ms-hero .ms-photo-note strong{font-size:15px}
.ms-page .ms-hero .ms-photo-note small{font-size:11px}
@media(max-width:1120px) and (min-width:901px){
  .ms-page .ms-hero-inner{gap:26px;padding:46px 25px 76px}
  .ms-page .ms-hero h1{font-size:clamp(36px,4.3vw,48px)}
  .ms-page .ms-hero-benefit{font-size:10.5px;gap:5px;padding:9px 5px}
  .ms-page .ms-hero-benefit svg{width:22px;height:22px;flex-basis:22px}
  .ms-page .ms-hero .ms-hero-cta{min-height:55px;font-size:15px;padding:13px 20px}
}
@media(max-width:900px){
  .ms-page .ms-hero-inner{grid-template-columns:1fr;gap:37px;padding:47px 25px 76px;max-width:740px}
  .ms-page .ms-hero h1{font-size:clamp(40px,7.5vw,60px)}
  .ms-page .ms-hero-heading-spark{right:12%}
  .ms-page .ms-hero .ms-intro{font-size:15px}
  .ms-page .ms-hero .ms-photo-wrap{width:min(100%,650px);margin:0 auto}
  .ms-page .ms-hero .ms-photo-note{left:14px;bottom:-22px;position:absolute;margin:0}
}
@media(max-width:620px){
  .ms-page .ms-hero-inner{padding:35px 19px 63px;gap:33px}
  .ms-page .ms-eyebrow{font-size:10px;letter-spacing:1.35px;margin-bottom:14px}
  .ms-page .ms-hero h1{font-size:clamp(34px,8vw,47px);letter-spacing:-1.5px;line-height:1.15;margin-bottom:19px}
  .ms-page .ms-hero h1 em.ms-hero-highlight{letter-spacing:-1px}
  .ms-page .ms-hero-heart{margin-left:5px}
  .ms-page .ms-hero-heading-spark{font-size:24px;right:3%;top:-14px}
  .ms-page .ms-hero .ms-intro{font-size:14px;line-height:1.7;margin-bottom:18px}
  .ms-page .ms-hero-benefits{gap:5px;margin-bottom:21px}
  .ms-page .ms-hero-benefit{min-height:68px;flex-direction:column;text-align:center;font-size:10px;padding:9px 4px;gap:3px;border-radius:11px;line-height:1.2}
  .ms-page .ms-hero-benefit svg{width:22px;height:22px;flex:0 0 22px}
  .ms-page .ms-hero-actions{gap:12px}
  .ms-page .ms-hero .ms-hero-cta{font-size:15px;padding:15px 18px;min-height:53px}
  .ms-page .ms-hero .ms-hero-theme-link{font-size:13px}
  .ms-page .ms-hero .ms-service{font-size:11px;margin-top:20px}
  .ms-page .ms-hero .ms-photo{border-radius:23px;border-width:3px}
  .ms-page .ms-hero .ms-photo-note{max-width:calc(100% - 16px);padding:10px 13px;border-radius:12px;bottom:-17px}
  .ms-page .ms-hero .ms-photo-note strong{font-size:13px}
  .ms-page .ms-hero .ms-photo-note small{font-size:10px}
  .ms-page .ms-hero-photo-spark-top{left:-8px;top:-12px;font-size:26px}
  .ms-page .ms-hero-photo-spark-bottom{right:-5px;font-size:29px}
}
@media(max-width:390px){
  .ms-page .ms-hero .ms-hero-cta{font-size:13px;min-height:50px;padding:13px 14px}
  .ms-page .ms-hero .ms-hero-theme-link{font-size:12px}
  .ms-page .ms-hero h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.ms-page .ms-hero .ms-hero-cta{transition:none}}


/* MAGIC SLUMBER: SHARED FOOTER | Scoped to the existing page style */
.ms-footer{background:linear-gradient(132deg,#f4eaf7 0%,#fff5fa 53%,#eaf0fc 100%);border-top:1px solid #ead8eb;color:#55475c;position:relative;overflow:hidden}
.ms-footer:before{content:'✦';position:absolute;top:17px;right:7%;color:#f3b7d1;font-size:62px;line-height:1;opacity:.52;pointer-events:none}
.ms-footer-inner{max-width:1190px;margin:auto;padding:49px 25px 34px;display:grid;grid-template-columns:1.35fr 1fr .9fr;gap:46px}
.ms-footer h2,.ms-footer h3,.ms-footer p{margin:0}
.ms-footer-brand{font:700 27px/1.2 'Fredoka','DM Sans',sans-serif;color:#6b4b78!important;display:inline-block;margin-bottom:10px}
.ms-footer-brand span{color:#cd85b4}
.ms-footer-tagline{font:600 15px/1.7 'Playfair Display',Georgia,serif;color:#806684;margin-bottom:12px!important}
.ms-footer-description{color:#726575;font-size:13px;line-height:1.75;max-width:305px}
.ms-footer h3{font:700 15px/1.4 'Fredoka','DM Sans',sans-serif;color:#65446f;margin-bottom:13px}
.ms-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ms-footer-links a{font-size:14px;font-weight:600;line-height:1.5;color:#66516d!important;display:inline-block;border-bottom:1px solid transparent;overflow-wrap:anywhere}
.ms-footer-links a:hover{color:#9d5999!important;border-bottom-color:#b98cbe}
.ms-footer-icon{display:inline-block;min-width:24px;text-align:center;color:#a566a4}
.ms-footer-bottom{max-width:1190px;margin:auto;padding:17px 25px 25px;border-top:1px solid #e8d8e8;display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px;color:#827386}
.ms-footer-bottom a{color:#765785!important;font-weight:700}
@media(max-width:760px){.ms-footer-inner{grid-template-columns:1fr 1fr;gap:26px;padding-top:41px}.ms-footer-col:first-child{grid-column:1 / -1}}
@media(max-width:500px){.ms-footer-inner{grid-template-columns:1fr;gap:27px;padding:36px 22px 25px}.ms-footer-col:first-child{grid-column:auto}.ms-footer-bottom{padding:16px 22px 24px;font-size:11px}.ms-footer:before{font-size:38px;right:9%}}



/* MAGIC SLUMBER | WOW-MOMENT ENHANCEMENTS (no layout or functionality redesign) */
.ms-extras-kicker{background:#ffebf4;border:1px solid #f3cde2;border-radius:100px;padding:9px 18px;color:#8c437f;font-family:'Fredoka','DM Sans',sans-serif;letter-spacing:1.1px;font-size:12px}
.ms-extras-heading{max-width:770px}
.ms-extras-heading p{max-width:700px;color:#6e5b6f;font-size:15.5px}
.ms-extras-highlights{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:23px 0 0}
.ms-extras-highlights span{font:700 12px 'Fredoka','DM Sans',sans-serif;color:#76527d;background:#fff;border:1px solid #eed9ea;padding:10px 15px;border-radius:99px;box-shadow:0 5px 15px rgba(105,69,116,.065)}
.ms-extra-card{position:relative;border:2px solid #ead8e7;--ms-addon-accent:#9663a4;--ms-addon-light:#f7edf9;box-shadow:0 15px 35px rgba(83,40,88,.09)}
.ms-extra-card:nth-child(1){--ms-addon-accent:#b1529a;--ms-addon-light:#fdebf5}
.ms-extra-card:nth-child(2){--ms-addon-accent:#9372cb;--ms-addon-light:#f2edff}
.ms-extra-card:nth-child(3){--ms-addon-accent:#d48348;--ms-addon-light:#fff3e9}
.ms-extra-card:nth-child(4){--ms-addon-accent:#af6a9c;--ms-addon-light:#fceef6}
.ms-extra-card:before{content:'';position:absolute;inset:0 0 auto;height:6px;z-index:2;background:var(--ms-addon-accent)}
.ms-extra-media:after{content:'';position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(0deg,rgba(42,25,45,.25),transparent);pointer-events:none}
.ms-extra-price{z-index:2;background:var(--ms-addon-accent);border:3px solid #fff;box-shadow:0 6px 25px rgba(64,31,66,.2);min-width:92px;min-height:92px}
.ms-extra-price strong{color:#fff;font-family:'Fredoka','DM Sans',sans-serif;font-size:30px}
.ms-extra-price small{color:#fff;font-size:10px;letter-spacing:.4px}
.ms-extra-image-stamp{position:absolute;z-index:2;left:17px;bottom:16px;border-radius:99px;padding:9px 13px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(41,23,50,.14);color:#59365f;font:700 10px/1.25 'Fredoka','DM Sans',sans-serif;letter-spacing:.7px}
.ms-extra-body{padding-top:28px}
.ms-extra-tag{font-family:'Fredoka','DM Sans',sans-serif;letter-spacing:1.15px;color:var(--ms-addon-accent);font-size:11px}
.ms-extra-desc{min-height:0;font-size:14px;line-height:1.72;margin-bottom:17px}
.ms-extra-pill{margin-bottom:12px;background:var(--ms-addon-light);color:#6a4b6e;border-radius:12px}
.ms-extra-pill:before{color:var(--ms-addon-accent)}
.ms-extra-wow{border:1px solid #f1dceb;border-radius:13px;padding:12px 14px;background:#fffafc;color:#584760;font-size:12px;line-height:1.6;margin:0 0 17px;min-height:63px}
.ms-extra-wow strong{color:#724578}
.ms-extra-add{appearance:none;display:block;width:100%;min-height:46px;border:0;border-radius:13px;padding:11px 16px;margin:0 0 16px;cursor:pointer;text-align:center;background:var(--ms-addon-accent);color:#fff;font:700 15px 'Fredoka','DM Sans',sans-serif;box-shadow:0 6px 13px rgba(79,42,82,.14);transition:transform .18s,filter .18s}
.ms-extra-add:hover{filter:brightness(.94);transform:translateY(-2px)}
.ms-extra-add[data-selected='true']{background:#f0eaf3;color:#664673;box-shadow:none;border:2px solid #dabbd9}
.ms-extra-add:focus-visible{outline:3px solid #60446f;outline-offset:3px}
.ms-extra-more summary{padding-top:4px}
.ms-builder-extra{grid-template-columns:23px 46px minmax(0,1fr) auto;gap:10px;border-color:#e9d5e5;box-shadow:0 3px 8px rgba(90,60,96,.035);min-height:75px}
.ms-builder-extra-thumb{display:block;width:46px;height:46px;object-fit:cover;border-radius:10px;border:1px solid #e8d5e5;background:#f6eff5}
.ms-builder-extra:has(input[value='spa']){background:#fff4fa}
.ms-builder-extra:has(input[value='spa']:checked){background:#ffe5f3;border-color:#ad64a0}
.ms-builder-extra:has(input:checked){box-shadow:0 0 0 1px #e0b7d9 inset,0 6px 16px rgba(106,58,109,.09)}
.ms-builder-extra small{font-size:11px;color:#776777}
.ms-builder-extras-link{display:inline-block;margin:13px 0 2px;font:700 12px/1.5 'Fredoka','DM Sans',sans-serif;color:#855494!important;text-decoration:underline!important;text-underline-offset:3px}
@media(max-width:780px){.ms-extras-highlights span{font-size:11px;padding:8px 10px}.ms-extra-price{min-width:77px;min-height:77px}.ms-extra-price strong{font-size:26px}}
@media(max-width:560px){.ms-extras-heading p{font-size:14px}.ms-extras-highlights{gap:7px}.ms-extras-highlights span{font-size:10px}.ms-extra-image-stamp{left:10px;bottom:10px;padding:7px 10px;font-size:9px;max-width:70%}.ms-extra-wow{min-height:0}.ms-builder-extra{grid-template-columns:21px 40px minmax(0,1fr) auto;gap:6px;padding:10px 8px}.ms-builder-extra-thumb{width:40px;height:40px}.ms-builder-extra strong{font-size:12.5px;line-height:1.25}.ms-builder-extra small{font-size:10px;line-height:1.35}.ms-builder-extra .ms-extra-line-price{font-size:13px}.ms-extra-add{min-height:48px}}
@media(prefers-reduced-motion:reduce){.ms-extra-add{transition:none}}
