/* Shared presentation details. Forms submit to Formspree; payments use external checkout. */
[data-form-status].is-error { color: #a52525; }
form[aria-busy="true"] { cursor: progress; }
form[aria-busy="true"] button[type="submit"] { opacity: .65; cursor: wait; }
.preview-note { font:12px/1.65 'Montserrat',system-ui,sans-serif; opacity:.78; margin:0 0 18px; }
.preview-dialog { width:min(500px,calc(100% - 36px)); margin:auto; padding:36px; background:#faf8f5; color:#1a1715; border:1px solid #a68a56; border-radius:14px; box-shadow:0 25px 90px #0005; }
.preview-dialog::backdrop { background:#0e1919b3; backdrop-filter:blur(4px); }
.preview-dialog h2 { font:500 30px/1.2 Georgia,serif; margin:10px 0 18px; }
.preview-dialog p { margin-bottom:22px; }
.preview-dialog .btn-primary { border:0; cursor:pointer; }
.home-hero { min-height:0; padding:155px 0 85px; }
.home-hero .hero-inner { grid-template-columns:1.2fr .8fr; gap:75px; align-items:center; }
.home-hero .hero-title { font-size:clamp(42px,4.5vw,66px); line-height:1.12; margin:18px 0; }
.home-hero .hero-badge { font-size:10px; }
.launch-date { color:#e6c887; font:500 13px/1.6 'Montserrat',sans-serif; letter-spacing:.04em; }
.home-hero .hero-book-kicker { margin:16px 0 25px; }
.hero-signup { max-width:560px; }
.hero-signup .form-field label,.hero-signup .form-consent { color:#fffaf2; }
.hero-signup .preview-note { color:#eee0c7; }
.hero-signup [data-form-status]:empty { display:none; }
.hero-assessment-link { display:inline-block; color:#e6c887; font:500 14px/1.5 'Montserrat',sans-serif; margin-top:20px; text-underline-offset:6px; }
.home-portrait-display { max-width:400px; margin:auto; position:relative; text-align:center; }
.home-portrait-display img { display:block; width:100%; height:auto; border-radius:12px; border:1px solid #bdab8566; box-shadow:0 25px 65px #0006; }
.home-portrait-display p { color:#deccb0; font:italic 17px/1.6 Georgia,serif; margin-top:24px; }
.dark-section .section-title { color:#fffaf2; }
.media-feature { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:22px; margin-top:45px; padding-top:30px; border-top:1px solid #ffffff25; }
.media-feature .section-label { margin:0; }
.media-feature strong { font:500 28px/1.3 Georgia,serif; }
.media-feature a { color:#dfc28b; font:13px/1.5 'Montserrat',sans-serif; }
.praise-placeholder { border-top:1px dashed #b29c77; background:#f8f5ef; }
.praise-placeholder h3 { color:#756652; }
.vision-copy { max-width:730px; margin:0 auto 30px; color:#e4ddd2; }
.store-cover { height:230px; width:auto; max-width:100%; object-fit:contain; align-self:center; margin:0 auto 22px; border-radius:3px; }
.speaking-page { padding-top:135px !important; }
.navbar .nav-container { width:100%; }
.navbar .nav-logo .logo-img { width:220px; height:64px; object-fit:contain; }
.site-footer .footer-logo img { width:240px; max-width:100%; height:72px; object-fit:contain; }
.navbar .nav-links { list-style:none; margin:0; }
.navbar .nav-links a { text-decoration:none; }
.navbar .btn-nav-invite { text-decoration:none; }
.navbar .hamburger { margin-left:auto; }
.site-footer .container { max-width:1200px; margin:auto; padding-inline:24px; }
.site-footer a { text-decoration:none; }
.site-footer .footer-menu { margin:0; }
.next-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:24px; }
:focus-visible { outline:2px solid #ae853b; outline-offset:4px; }
@media(max-width:800px){ .home-hero { padding:130px 0 65px; } .home-hero .hero-inner { grid-template-columns:1fr; gap:50px; } .home-portrait-display { max-width:340px; } .home-hero .hero-content { text-align:left; } .home-hero .hero-visual { display:block; } }
@media(max-width:560px){ .navbar .nav-logo .logo-img { width:160px; height:52px; } }
@media(max-width:360px){ .navbar .nav-logo .logo-img { width:135px; height:48px; } }
@media(max-width:560px){ .home-hero .hero-title { font-size:42px; } .home-hero .hero-inner { gap:40px; } .home-hero .hero-badge { white-space:normal; } .home-hero .hero-content { min-width:0; } .media-feature { gap:14px; } .preview-dialog { padding:26px; } }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
