/* Magic Slumber | editorial experience, About, and How It Works pages. Scoped to avoid homepage / FAQ regressions. */
.ms-campaign { --mc-ink:#44324a; --mc-muted:#6d6170; --mc-accent:#985b94; --mc-tint:#fceaf5; --mc-deep:#66446e; color:var(--mc-ink); font-family:'DM Sans',Arial,sans-serif; overflow:clip; }
.ms-campaign.ms-tone-peach,.ms-campaign .ms-tone-peach { --mc-accent:#a96a4b; --mc-tint:#fff0e3; --mc-deep:#7a4c39; }
.ms-campaign.ms-tone-lavender,.ms-campaign .ms-tone-lavender { --mc-accent:#7d60b2; --mc-tint:#f1eafe; --mc-deep:#58437e; }
.ms-campaign.ms-tone-butter,.ms-campaign .ms-tone-butter { --mc-accent:#a37538; --mc-tint:#fff2d4; --mc-deep:#77551f; }
.ms-campaign.ms-tone-rose,.ms-campaign .ms-tone-rose { --mc-accent:#a35f94; --mc-tint:#fceaf5; --mc-deep:#764872; }
.ms-campaign * {box-sizing:border-box}
.ms-campaign figure{margin:0}
.ms-campaign h1,.ms-campaign h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em;line-height:1.16;color:#47334f;font-weight:600}
.ms-campaign h1 em,.ms-campaign h2 em{font-style:italic;color:var(--mc-accent)}
.ms-campaign p{line-height:1.82}
.ms-campaign-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}
.ms-campaign-crumbs{display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:#806e83;font-size:12px;margin:0 0 40px}
.ms-campaign-crumbs a{color:#765583;text-decoration:underline;text-underline-offset:3px}
.ms-campaign-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--mc-accent);margin:0 0 13px!important}
.ms-campaign-hero{background:radial-gradient(circle at 6% 11%,var(--mc-tint) 0%,transparent 40%),linear-gradient(125deg,#fffafc 2%,#fbf5fa 54%,#f3edff 100%);padding:55px 0 76px;position:relative}
.ms-campaign-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:6%;align-items:center}
.ms-campaign-hero-copy{min-width:0;padding:6px 0 10px}
.ms-campaign-hero h1{font-size:clamp(38px,4.5vw,65px);margin:0 0 22px;max-width:670px}
.ms-campaign-lead{font-size:16px;color:#65596a;max-width:600px;margin:0 0 15px}
.ms-campaign-lead-tail{font-size:15px;color:#756776;margin:0 0 21px}
.ms-campaign-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:27px}
.ms-campaign-button{font:700 15px 'Fredoka','DM Sans',sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(115deg,#805384,#b76da4);border:1px solid #fff8;border-radius:18px;color:#fff!important;box-shadow:0 5px 0 #6e4f7259,0 12px 22px #6a477224;padding:16px 24px;text-align:center;text-decoration:none;cursor:pointer;min-height:55px;transition:transform .18s,box-shadow .18s}
.ms-campaign-button:hover{transform:translateY(-3px);box-shadow:0 8px 0 #6e4f7233,0 14px 25px #6a47722b}
.ms-campaign-softlink{color:#76517f!important;font-size:14px;font-weight:700;text-decoration:underline!important;text-underline-offset:4px}
.ms-campaign-promise{display:flex;align-items:flex-start;gap:11px;margin-top:31px;padding:14px 17px;background:#fff9;border:1px solid #ead8e6;border-radius:16px;max-width:580px}
.ms-campaign-promise>span{font-size:20px;color:var(--mc-accent);line-height:1.3}
.ms-campaign-promise p{font-size:12.5px;line-height:1.65;color:#67566c;margin:0;font-weight:600}
.ms-campaign-hero-figure{position:relative;min-width:0;border-radius:30px;transform:rotate(1deg);box-shadow:0 23px 58px #50345221;background:#f4e4eb}
.ms-campaign-hero-figure>img:first-child{width:100%;height:auto;aspect-ratio:.95;object-fit:cover;border-radius:30px;display:block}
.ms-campaign-price-tag{position:absolute;right:-20px;bottom:25px;width:126px;height:126px;background:#fff;border:2px solid #f4ddec;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:0 10px 27px #4a315128}
.ms-campaign-price-tag strong{font:700 39px/1 'Fredoka','DM Sans',sans-serif;color:var(--mc-accent)}
.ms-campaign-price-tag span{font-size:11px;font-weight:700;color:#887488;margin-top:6px;text-transform:uppercase;letter-spacing:1px}
.ms-campaign-collage-label{position:absolute;left:-20px;bottom:22px;padding:13px 19px;border-radius:16px;background:#fff;color:#674b6e;box-shadow:0 9px 25px #61456d27;font:700 13px 'Fredoka','DM Sans',sans-serif;transform:rotate(-2deg)}
.ms-campaign-section{padding:82px 0;scroll-margin-top:135px}
.ms-campaign-section h2{font-size:clamp(33px,3.7vw,49px);margin:0 0 22px}
.ms-campaign-section p{color:var(--mc-muted);font-size:15px}
.ms-campaign-story{background:#fff}
.ms-campaign-story-grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:8%;align-items:start}
.ms-campaign-section-title{position:relative}
.ms-campaign-section-title .ms-campaign-stamp{display:inline-flex;width:55px;height:55px;align-items:center;justify-content:center;font:700 30px 'Fredoka',sans-serif;background:var(--mc-tint);color:var(--mc-accent);border-radius:18px;margin-bottom:28px;transform:rotate(-8deg)}
.ms-campaign-story-text p:first-child{font-size:17px;color:#56485b;margin-top:0}
.ms-campaign-story-text p{margin:0 0 18px}
.ms-campaign-included{background:linear-gradient(120deg,var(--mc-tint),#fff9fc 70%)}
.ms-campaign-included-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:7%;align-items:center}
.ms-campaign-checklist{list-style:none;margin:25px 0 23px;padding:0;display:grid;gap:11px}
.ms-campaign-checklist li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.7;color:#56495e}
.ms-campaign-checklist li span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;width:26px;height:26px;border-radius:50%;background:#fff;color:#925a91;font-size:15px;font-weight:900;margin-top:0}
.ms-campaign-takehome{font-size:13px;line-height:1.8;color:#654b6c;background:#fff;border:1px solid #ead7e8;border-radius:16px;padding:17px 19px;margin-bottom:24px}
.ms-campaign-detail-figure img{display:block;width:100%;height:auto;border:1px solid #efdaeb;border-radius:26px;box-shadow:0 19px 42px #5a3e6520}
.ms-campaign-detail-figure figcaption{color:#816e81;font-size:11px;line-height:1.7;padding:11px 7px}
.ms-campaign-practical{background:#fff}
.ms-campaign-practical-grid,.ms-campaign-prepare-grid,.ms-about-local-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:9%;align-items:center}
.ms-campaign-practical-main p{max-width:670px}
.ms-campaign-note{padding:32px 34px;background:linear-gradient(145deg,#fff9fc,#f5eafa);border:1px solid #eadce9;border-radius:26px;box-shadow:0 12px 31px #56356310}
.ms-campaign-note>span{font-size:35px;line-height:1;color:var(--mc-accent);display:block;margin-bottom:17px}
.ms-campaign-note h3{font:600 28px/1.23 'Playfair Display',Georgia,serif;color:#5c4065;margin:0 0 13px}
.ms-campaign-note p{font-size:13.5px;line-height:1.8;margin:0 0 13px}
.ms-campaign-note a{color:var(--mc-deep);font-size:13px;font-weight:700;text-decoration:underline}
.ms-campaign-faq{background:#faf6fb}
.ms-campaign-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%}
.ms-campaign-accordion-list{display:grid;gap:12px;align-content:start}
.ms-campaign-accordion-list details{background:white;border:1px solid #eadde8;border-radius:16px;box-shadow:0 5px 16px #633e630a;overflow:hidden}
.ms-campaign-accordion-list summary{font:600 17px/1.4 'Fredoka','DM Sans',sans-serif;color:#5d4366;cursor:pointer;position:relative;padding:21px 49px 21px 20px;list-style:none}
.ms-campaign-accordion-list summary::-webkit-details-marker{display:none}
.ms-campaign-accordion-list summary:after{content:'+';position:absolute;right:19px;top:16px;font-size:26px;color:var(--mc-accent);font-weight:400}
.ms-campaign-accordion-list details[open] summary:after{content:'−'}
.ms-campaign-accordion-list details p{font-size:13.5px;margin:0;padding:0 21px 23px}
.ms-campaign-section-heading{text-align:center;max-width:780px;margin:0 auto 43px}
.ms-campaign-section-heading h2{margin-bottom:16px}
.ms-campaign-section-heading p:not(.ms-campaign-eyebrow){margin:0 auto;max-width:720px}
.ms-campaign-other{background:#fff}
.ms-campaign-other-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ms-campaign-other-card{display:block;overflow:hidden;background:#fff;border:1px solid #eedee9;border-radius:20px;text-decoration:none!important;box-shadow:0 10px 25px #5d3b6210;transition:transform .2s,box-shadow .2s}
.ms-campaign-other-card:hover{transform:translateY(-3px);box-shadow:0 15px 29px #5d3b6220}
.ms-campaign-other-card img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.ms-campaign-other-card>span{display:flex;flex-direction:column;gap:8px;padding:19px 22px}
.ms-campaign-other-card strong{font:600 20px/1.3 'Fredoka','DM Sans',sans-serif;color:#553b61}
.ms-campaign-other-card small{font-size:12px;color:#92679a;font-weight:700}
.ms-campaign-planner{scroll-margin-top:126px}
/* Overview hub */
.ms-overview-hero .ms-campaign-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
.ms-overview-collage{transform:rotate(0);background:none;box-shadow:none}
.ms-overview-collage .ms-overview-photo-main{border-radius:27px;aspect-ratio:1.01;box-shadow:0 20px 52px #6442642a}
.ms-overview-photo-inset{position:absolute;right:-13px;bottom:-29px;width:42%;height:auto;aspect-ratio:1.08;object-fit:cover;border:7px solid #fff;border-radius:22px;box-shadow:0 10px 30px #5d3a552b;transform:rotate(5deg)}
.ms-overview-collage .ms-campaign-collage-label{left:-20px;bottom:14px;max-width:70%;z-index:2}
.ms-overview-choices{background:#fff}
.ms-overview-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.ms-overview-experience{min-width:0;border-radius:25px;background:#fff;border:1px solid #ecdeea;box-shadow:0 16px 38px #63476712;overflow:hidden}
.ms-overview-photo-link{display:block;overflow:hidden;background:var(--mc-tint)}
.ms-overview-photo-link img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;display:block;transition:transform .4s}
.ms-overview-experience:hover img{transform:scale(1.03)}
.ms-overview-card-body{padding:24px 26px 26px}
.ms-overview-card-body h3{font:600 28px/1.25 'Playfair Display',Georgia,serif;color:#4e3957;margin:0 0 12px}
.ms-overview-card-description{font-size:13.5px!important;line-height:1.75!important;margin:0 0 18px;min-height:106px}
.ms-overview-card-footer{border-top:1px solid #efe5ec;padding-top:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}
.ms-overview-card-footer span{font-size:12px;color:#816f84}
.ms-overview-card-footer span strong{font:700 25px 'Fredoka',sans-serif;color:var(--mc-accent)}
.ms-overview-card-footer a{font-size:13px;font-weight:700;color:var(--mc-deep);text-decoration:underline;text-underline-offset:4px}
.ms-overview-guide{background:linear-gradient(135deg,#fcf7ff,#fff8f6)}
.ms-overview-guide-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8%;align-items:center}
.ms-overview-match-list{display:grid;gap:13px}
.ms-overview-match-list>div{background:#fff;border:1px solid #f1e5ee;box-shadow:0 7px 23px #5f3f6312;padding:19px;border-radius:18px;display:flex;align-items:flex-start;gap:14px}
.ms-overview-match-list>div>span{width:47px;height:47px;flex:none;border-radius:15px;background:#fbedf7;display:flex;align-items:center;justify-content:center;font-size:25px}
.ms-overview-match-list p{margin:0}
.ms-overview-match-list strong{display:block;font:600 18px 'Fredoka',sans-serif;color:#564161}
.ms-overview-match-list small{display:block;margin-top:5px;color:#77697b;font-size:12.5px;line-height:1.6}
.ms-overview-terms{background:#fff}
.ms-campaign-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ms-campaign-three>div{padding:29px 26px;border-radius:22px;border:1px solid #ebdce9;background:linear-gradient(150deg,#fff,#fcf5fc)}
.ms-campaign-three>div>span{font:700 29px 'Fredoka',sans-serif;color:var(--mc-accent)}
.ms-campaign-three h3{font:600 21px/1.25 'Fredoka',sans-serif;color:#513d59;margin:18px 0 10px}
.ms-campaign-three p{font-size:13px;line-height:1.8;margin:0}
.ms-overview-fine{color:#847887!important;text-align:center;font-size:12.5px!important;max-width:900px;margin:29px auto 0!important}
.ms-overview-fine a{color:#744e81;text-decoration:underline}
/* How it works */
.ms-how-steps{background:white}
.ms-how-step-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.ms-how-step-list>li{display:grid;grid-template-columns:72px minmax(0,1fr) 100px;gap:24px;align-items:center;border:1px solid #ede0ec;border-radius:22px;background:#fff;box-shadow:0 9px 24px #593d5d0b;padding:26px 30px}
.ms-how-step-list>li:nth-child(odd){background:linear-gradient(100deg,#fff,#fdf8ff)}
.ms-how-step-num{font:700 36px 'Fredoka',sans-serif;color:#ad80bd}
.ms-how-step-icon{font-size:41px;justify-self:center;background:#f6ecfb;border-radius:22px;width:78px;height:78px;display:flex;align-items:center;justify-content:center}
.ms-how-step-list h3{font:600 25px 'Fredoka',sans-serif;margin:0 0 7px;color:#543d60}
.ms-how-step-list p{font-size:13.5px;margin:0;max-width:830px}
.ms-how-step-list a{display:inline-block;color:#795285;text-decoration:underline;font-size:13px;font-weight:700;margin-top:9px}
.ms-how-prepare{background:#faf7fc}
.ms-how-terms{background:#fff}
.ms-campaign-simplecta{padding:55px 0;text-align:center;background:linear-gradient(110deg,#745082,#9b6a9d);color:white}
.ms-campaign-simplecta h2{font-size:37px;color:white;margin:0 0 10px}
.ms-campaign-simplecta p{margin:0 auto;max-width:700px;color:#fcefff;font-size:15px}
/* About */
.ms-about-photo>img:first-child{aspect-ratio:.94;object-fit:cover;object-position:center}
.ms-about-story{background:#fff}
.ms-about-story-grid{display:grid;grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:8%}
.ms-about-values{background:#fcf6fb}
.ms-about-local{background:#fff}
.ms-about-cta{background:linear-gradient(130deg,#f9eafb,#fff8f8)}
.ms-about-cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8%;align-items:center}
.ms-about-cta-grid p{margin-bottom:0}
.ms-about-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.ms-about-cta-actions .ms-campaign-button{width:100%;max-width:310px}
/* Accessible focus states and responsive sizing */
.ms-campaign a:focus-visible,.ms-campaign button:focus-visible,.ms-campaign summary:focus-visible{outline:3px solid #8f62a5;outline-offset:3px}
@media(max-width:1000px){.ms-campaign-hero-grid{gap:4%}.ms-campaign-hero h1{font-size:clamp(37px,5vw,53px)}.ms-campaign-included-grid{gap:4%}.ms-overview-card-description{min-height:0}.ms-campaign-price-tag{right:-8px}}
@media(max-width:780px){
 .ms-campaign-wrap{width:min(650px,calc(100% - 34px))}
 .ms-campaign-hero{padding:30px 0 62px}
 .ms-campaign-hero-grid,.ms-overview-hero .ms-campaign-hero-grid,.ms-campaign-story-grid,.ms-campaign-included-grid,.ms-campaign-practical-grid,.ms-campaign-faq-grid,.ms-overview-guide-grid,.ms-campaign-prepare-grid,.ms-about-local-grid,.ms-about-story-grid,.ms-about-cta-grid{grid-template-columns:1fr;gap:30px}
 .ms-campaign-crumbs{margin:0 0 22px}
 .ms-campaign-hero h1{font-size:clamp(37px,8.7vw,52px)}
 .ms-campaign-lead{font-size:15px}
 .ms-campaign-hero-figure{max-width:550px;margin:10px auto 0;width:calc(100% - 18px)}
 .ms-campaign-hero-figure>img:first-child{aspect-ratio:1.28}
 .ms-campaign-hero-figure.ms-about-photo>img:first-child{aspect-ratio:1.18}
 .ms-campaign-section{padding:62px 0;scroll-margin-top:115px}
 .ms-campaign-section h2{font-size:clamp(32px,7vw,44px)}
 .ms-campaign-story-text p:first-child{font-size:15.5px}
 .ms-campaign-note{padding:26px}
 .ms-campaign-other-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
 .ms-campaign-other-card>span{padding:14px}
 .ms-campaign-other-card strong{font-size:16px}
 .ms-overview-card-grid{gap:18px}
 .ms-overview-card-body{padding:19px}
 .ms-overview-card-body h3{font-size:24px}
 .ms-campaign-three>div{padding:24px 19px}
 .ms-how-step-list>li{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:21px}
 .ms-how-step-icon{display:none}
 .ms-how-step-num{font-size:28px}
}
@media(max-width:560px){
 .ms-campaign-wrap{width:calc(100% - 30px)}
 .ms-campaign-hero{padding:26px 0 55px}
 .ms-campaign-hero h1{font-size:clamp(36px,9.7vw,47px)}
 .ms-campaign-lead{font-size:14px;line-height:1.8}
 .ms-campaign-lead-tail{font-size:13.5px}
 .ms-campaign-button{font-size:14px;padding:14px 18px;min-height:50px}
 .ms-campaign-hero-actions{gap:15px}
 .ms-campaign-hero-figure>img:first-child{border-radius:21px}
 .ms-campaign-price-tag{width:96px;height:96px;right:-8px;bottom:12px}
 .ms-campaign-price-tag strong{font-size:31px}
 .ms-campaign-price-tag span{font-size:9px}
 .ms-campaign-collage-label{left:-5px;bottom:-13px;font-size:11px}
 .ms-campaign-section{padding:52px 0}
 .ms-campaign-section h2{font-size:35px}
 .ms-campaign-section p{font-size:13.5px}
 .ms-overview-card-grid,.ms-campaign-three{grid-template-columns:1fr}
 .ms-overview-photo-link img{aspect-ratio:1.5}
 .ms-overview-card-description{font-size:13px!important}
 .ms-campaign-other-grid{grid-template-columns:1fr;gap:12px}
 .ms-campaign-other-card{display:grid;grid-template-columns:115px minmax(0,1fr);align-items:stretch}
 .ms-campaign-other-card img{height:100%;aspect-ratio:1;object-fit:cover}
 .ms-campaign-other-card>span{justify-content:center;padding:12px 16px}
 .ms-campaign-other-card strong{font-size:17px}
 .ms-campaign-section-heading{margin-bottom:26px}
 .ms-campaign-note h3{font-size:25px}
 .ms-campaign-simplecta h2{font-size:31px}
 .ms-how-step-list>li{grid-template-columns:1fr;gap:8px}
 .ms-how-step-num{font-size:22px}
 .ms-how-step-list h3{font-size:22px}
 .ms-about-cta-actions .ms-campaign-button{width:100%;max-width:none}
}
@media(prefers-reduced-motion:reduce){.ms-campaign-button,.ms-campaign-other-card,.ms-overview-photo-link img{transition:none}}
