/* Homepage and public shell. Shared colours come from assets/theme.css. */
.ms-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.ms-home{background:#fff;color:var(--text-dark)}
.ms-home h1,.ms-home h2,.ms-home h3{letter-spacing:-.045em;line-height:1.12}
.ms-home p{line-height:1.7}
.ms-skip{position:absolute;top:-100px;left:16px;padding:12px 18px;background:white;z-index:2000}.ms-skip:focus{top:12px}
.ms-header{padding:0;background:#fff;color:var(--text-dark);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030;text-align:left}
.ms-nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}
.ms-brand{display:flex;align-items:center;gap:12px;color:var(--text-dark);font-size:20px;font-weight:750;white-space:nowrap;letter-spacing:-.5px}
.ms-brand:hover{color:var(--primary)}.ms-brand img{width:48px;height:48px;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.ms-brand-small{display:block;font-size:9px;letter-spacing:1.5px;font-weight:650;color:var(--muted);margin-top:3px}
.ms-navigation{display:flex;align-items:center;gap:24px}.ms-navigation>a{font-size:13px;font-weight:600;white-space:nowrap;color:var(--text-dark)}
.ms-navigation>a:hover{color:var(--primary)}
.ms-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:650;text-decoration:none;transition:background-color .15s ease}
.ms-button:hover{background:var(--primary-hover);color:white}.ms-button-small{padding:11px 17px;gap:14px}.ms-navigation>.ms-button{color:white}
.ms-button-outline{background:#fff;color:var(--text-dark);border-color:#ccd7e5}.ms-button-outline:hover{background:var(--paper);color:var(--text-dark)}
.ms-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.ms-menu-toggle{display:none;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:var(--text-dark);font-size:13px}
.ms-hero{padding:76px 0 66px;background:linear-gradient(110deg,#fff 55%,#f6f8fb 55%)}
.ms-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}
.ms-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:8px}
.ms-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.ms-hero h1{font-size:clamp(40px,4.9vw,64px);font-weight:750;margin:0 0 24px}.ms-hero h1 span{color:var(--primary)}
.ms-intro{max-width:450px;color:var(--muted);font-size:16px;margin-bottom:30px}
.ms-hero-note{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:11px;color:var(--muted);flex-wrap:wrap}.ms-hero-note>span:first-child{color:var(--success)}.ms-note-divider{padding:0 6px;color:#a9b6c4}
.ms-hub{background:#fff;border:1px solid #dbe4ee;border-radius:16px;padding:28px;box-shadow:0 20px 48px #152e500c;position:relative}
.ms-hub:before{content:"";display:block;width:48px;height:3px;background:var(--accent);position:absolute;top:-1px;left:28px}
.ms-hub-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.ms-hub-label{font-size:9px;letter-spacing:1.6px;font-weight:750}.ms-hub-status{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:6px}.ms-hub h2{font-size:23px;margin-bottom:6px}.ms-hub>p{font-size:12px;color:var(--muted);margin-bottom:22px}
.ms-hub-feature{display:flex;align-items:center;gap:14px;padding:18px;background:var(--navy);border-radius:9px;color:white}.ms-hub-feature:hover{color:#fff;background:var(--bg-dark-800)}.ms-hub-feature>span:last-child{margin-left:auto}.ms-hub strong{display:block;font-size:13px;font-weight:650}.ms-hub small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.ms-hub-feature small{color:var(--text-muted-light)}
.ms-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;background:#edf3fa;color:var(--primary);font-size:16px;flex:none}.ms-hub-feature .ms-icon{background:#ffffff15;color:#f5c575}
.ms-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.ms-hub-grid>a{border:1px solid var(--line);padding:17px;border-radius:9px;color:var(--text-dark)}.ms-hub-grid>a:hover{background:var(--paper)}.ms-hub-grid i{font-size:18px;color:var(--primary);margin-bottom:18px}
.ms-hub-order{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:12px;color:var(--text-dark)}.ms-hub-order:hover{background:var(--paper)}.ms-hub-order>span:last-child{margin-left:auto}.ms-book-icon{font-size:28px;color:var(--accent)}.ms-hub-order strong{font-size:11px}
.ms-hub-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:9px;color:var(--muted)}.ms-hub-bottom>span:last-child{font-weight:800;color:var(--accent)}
.ms-brand-strip{border-block:1px solid var(--line);padding:22px 0;background:white}.ms-brand-strip .ms-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.ms-brand-strip .ms-wrap>span{font-size:9px;letter-spacing:1.5px;max-width:150px;color:var(--muted);font-weight:650}.ms-brand-strip .ms-wrap>div{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650}.ms-brand-strip img{object-fit:contain;height:32px}
.ms-section{padding:76px 0;scroll-margin-top:100px}.ms-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}.ms-section-heading h2,.ms-book-copy h2,.ms-about h2,.ms-contact h2{font-size:clamp(30px,3vw,42px);font-weight:750;margin-bottom:0}.ms-section-heading .ms-eyebrow{margin-bottom:15px}.ms-section-heading>p{font-size:13px;color:var(--muted);margin-bottom:3px}
.ms-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ms-service{padding:25px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;min-width:0}.ms-service:hover{border-color:#9fb9d8;background:#fcfdff}.ms-service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.ms-service-top>span:last-child{font-size:11px;color:#93a2b4}.ms-service-label{font-size:10px;font-weight:750;letter-spacing:.7px;color:var(--primary);margin-bottom:10px}.ms-service h3{font-size:20px;line-height:1.3;margin-bottom:14px}.ms-service>p:not(.ms-service-label){font-size:12px;color:var(--muted);margin-bottom:26px}.ms-service>a{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-top:auto;color:var(--text-dark);gap:8px}
.ms-book-section{background:var(--paper)}.ms-book-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:90px}.ms-book-art{background:#fff;border:1px solid var(--line);padding:38px;border-radius:12px;text-align:center}.ms-book-art img{width:260px;max-width:100%;height:auto}.ms-book-rule{width:36px;height:2px;background:var(--accent);margin:24px auto}.ms-book-art p{font-size:24px;line-height:1.3;font-weight:650;letter-spacing:-.6px;margin-bottom:20px}.ms-book-art>span{font-size:8px;letter-spacing:1.8px;color:var(--muted)}.ms-book-copy h2{margin-bottom:22px}.ms-book-copy>p:not(.ms-eyebrow){font-size:14px;color:var(--muted);max-width:460px}.ms-book-copy ul{list-style:none;padding:0;margin:24px 0 30px}.ms-book-copy li{font-size:12px;margin:10px 0}.ms-book-copy li:before{content:"✓";color:var(--success);margin-right:12px}.ms-text-link{font-size:12px;font-weight:650;color:var(--text-dark)}
.ms-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.ms-about-grid>div:last-child>p:first-child{font-size:22px;letter-spacing:-.5px;line-height:1.55;font-weight:550}.ms-about-description{font-size:13px;color:var(--muted)}.ms-founder{display:flex;gap:12px;align-items:center;margin-top:24px}.ms-founder strong,.ms-founder span{display:block}.ms-founder strong{font-size:12px}.ms-founder span{font-size:10px;color:var(--muted);margin-top:4px}.ms-founder img{object-fit:contain}
.ms-reviews{border-top:1px solid var(--line)}.ms-home .msb-review-strip{gap:18px;padding-bottom:12px}.ms-home .msb-review-card{border-radius:10px;box-shadow:none;background:var(--paper);min-width:0;flex:0 0 min(340px,85vw);padding:24px}.ms-home .msb-review-card h3{font-size:16px;letter-spacing:-.3px}.ms-home .msb-review-card p{font-size:12px}.ms-home .msb-stars{font-size:18px;color:var(--accent)}
.ms-contact{background:var(--navy);color:white;padding:56px 0;scroll-margin-top:100px}.ms-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ms-contact .ms-eyebrow{color:#c5d4e6}.ms-contact h2{color:white}.ms-contact p:last-child{font-size:13px;color:#d1dfef;margin:20px 0 0}.ms-button-light{background:white;color:var(--navy);border-color:white}.ms-button-light:hover{background:#edf3fa;color:var(--navy)}
.ms-site-footer{background:white;padding:48px 0 20px;color:var(--text-dark);border-top:1px solid var(--line)}.ms-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.ms-footer-brand{font-size:18px;font-weight:750;color:var(--text-dark);letter-spacing:-.5px}.ms-footer-brand span{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:8px;color:var(--muted)}.ms-footer-grid p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.ms-footer-grid h2{font-size:11px;letter-spacing:0;margin:0 0 18px;font-weight:750}.ms-footer-grid>div:not(:first-child)>a{display:block;font-size:11px;color:var(--muted);margin-bottom:12px;overflow-wrap:anywhere}.ms-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.ms-footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px}.ms-footer-bottom a{color:var(--muted)}
@media(max-width:1100px){.ms-navigation{gap:16px}.ms-brand{font-size:18px}.ms-hero-grid{gap:40px}.ms-service{padding:20px}.ms-book-grid,.ms-about-grid{gap:50px}}
@media(max-width:991px){.ms-wrap{width:calc(100% - 40px)}.ms-nav{min-height:76px;flex-wrap:wrap;gap:0}.ms-menu-toggle{display:inline-flex;align-items:center;gap:8px}.ms-navigation{display:none;width:100%;padding:12px 0 20px;align-items:stretch;gap:4px;flex-direction:column}.ms-navigation.is-open{display:flex}.ms-navigation>a{padding:12px;border-radius:6px}.ms-navigation>a:hover{background:var(--paper)}.ms-navigation>.ms-button:hover{background:var(--primary-hover)}.ms-hero{padding:52px 0}.ms-hero-grid{gap:32px;grid-template-columns:1fr 1fr}.ms-hub{padding:22px}.ms-hero .ms-actions{align-items:stretch;flex-direction:column}.ms-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-brand-strip .ms-wrap>span{display:none}.ms-book-grid{gap:36px}.ms-section{padding:56px 0}}
@media(max-width:700px){.ms-hero-grid,.ms-book-grid,.ms-about-grid{grid-template-columns:minmax(0,1fr);gap:36px}.ms-hero{background:#fff;padding:44px 0}.ms-hero h1{font-size:44px}.ms-intro{font-size:15px}.ms-hero .ms-actions{flex-direction:row}.ms-hub{max-width:500px;width:100%;margin-inline:auto}.ms-section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:28px}.ms-brand-strip .ms-wrap{gap:12px;flex-wrap:wrap;justify-content:center}.ms-brand-strip .ms-wrap>div{font-size:10px;gap:6px}.ms-brand-strip img{height:24px;width:auto;max-width:42px}.ms-book-art{padding:28px}.ms-contact-inner{flex-direction:column;align-items:flex-start}.ms-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.ms-footer-grid>div:first-child{grid-column:1/-1}.ms-footer-bottom{flex-direction:column;gap:12px}.ms-about-grid>div:last-child>p:first-child{font-size:20px}}
@media(max-width:400px){.ms-wrap{width:calc(100% - 32px)}.ms-brand{font-size:17px;gap:8px}.ms-brand img{width:40px;height:40px}.ms-brand-small{font-size:7px;letter-spacing:1px}.ms-hero h1{font-size:38px}.ms-service-grid{grid-template-columns:minmax(0,1fr)}.ms-hero .ms-actions{flex-direction:column}.ms-hub{padding:18px}.ms-hub-top{flex-wrap:wrap}.ms-hub h2{font-size:21px}.ms-hub-feature{padding:14px}.ms-hub-grid>a{padding:14px}.ms-button{gap:14px}.ms-contact{padding:40px 0}}
@media(prefers-reduced-motion:reduce){.ms-home *{transition:none!important;animation:none!important}}
