/* Shared responsive layout: preserve page flow and constrain grid children. */
html{scroll-padding-top:20px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-wrap:break-word}main,section,article,aside,form,fieldset,.hero>*,.reading-grid>*,.content>*,.name-fields>*,.fields>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}img{max-width:100%}a,button,input,select,textarea,summary{touch-action:manipulation}iframe{max-width:100%}
@media(max-width:1000px){.navright{gap:14px}header .top-links{gap:14px}header{flex-wrap:wrap}.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.reading-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:36px}}
@media(max-width:800px){
 body{font-size:16px;line-height:1.65}
 nav:first-of-type{padding:18px 6%;gap:16px}.navright{width:100%;gap:4px 16px;align-items:center;justify-content:flex-start}.navright>a,.navright summary{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.navright .navlink{display:none}.navright select{font-size:16px;min-height:44px;max-width:100%;margin-inline-start:auto}.explore-more{font-size:14px}.explore-menu{max-width:calc(100vw - 44px)}.explore-menu a,.explore-menu button{min-height:44px;white-space:normal}
 .hero{grid-template-columns:minmax(0,1fr);padding:38px 6% 30px;min-height:0}.hero h1{font-size:clamp(40px,10.5vw,64px);line-height:1.12;letter-spacing:-1px;width:100%;max-width:100%}.hero .lead{font-size:16px;line-height:1.8;max-width:none}.hero-eyebrow-marquee{max-width:100%}.hero .primary{min-height:50px;font-size:14px}.cosmos{width:100%;height:360px;margin:20px 0 0}.halo{width:min(76vw,300px);height:auto;aspect-ratio:1}.big-num{font-size:170px}.orbit{width:min(84vw,330px);height:auto;aspect-ratio:1}.orbit.two{width:min(88vw,350px);height:150px;aspect-ratio:auto}.satellite{right:5px;bottom:22px;padding:12px 16px;max-width:190px}.vertical{right:0}.herobottom{padding-top:14px;flex-wrap:wrap}
 .reading-wrap{padding:44px 6%}.reading-grid{grid-template-columns:minmax(0,1fr);gap:24px}.reading-wrap h2{font-size:38px;line-height:1.2}.reading-wrap p{font-size:16px;max-width:none}.form{padding:24px 20px}.form input,.form select,input,select,textarea{font-size:16px;min-height:48px}.form label{font-size:13px;letter-spacing:0}.form input,.form select{margin-bottom:22px}.name-fields{grid-template-columns:minmax(0,1fr);gap:0}.form>div[style*="grid"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr)!important;gap:8px!important}.form .primary{font-size:14px;min-height:50px}.privacy,.reading-wrap .privacy{font-size:12px!important;line-height:1.75!important}.error{font-size:14px}.report{padding:22px 16px;margin-top:28px}.reporthead{align-items:flex-start;flex-wrap:wrap}.report h3{font-size:30px;overflow-wrap:anywhere}.lucky-number{max-width:100%}.spin-card{padding:24px 16px}.detail-report{padding:20px 0;border-inline:0}.detail-report h3{font-size:28px}#reportPdf{height:75svh!important;min-height:480px;margin:16px 0!important}.offer{padding:22px;align-items:stretch}.offer button{white-space:normal;min-height:48px;width:100%}.footer{padding:28px 6%}.footer .site-disclaimer,.site-disclaimer{font-size:12px;line-height:1.8}
 header{padding:18px 6%;gap:12px 18px}header .back{font-size:13px;min-height:44px;display:inline-flex;align-items:center;white-space:normal}header .top-links{order:3;width:100%;gap:4px 18px}header .top-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}main.about,body>main:not(:has(.hero)){padding:36px 6% 54px}main h1{font-size:clamp(36px,10vw,54px);overflow-wrap:anywhere}main .lead{font-size:16px;line-height:1.8}.content{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:30px}.fields{grid-template-columns:minmax(0,1fr);gap:0}.form-card{padding:24px 18px}.submit{min-height:50px;font-size:15px}.rating label>span{min-height:46px;gap:4px}.people-grid{grid-template-columns:minmax(0,1fr);margin-top:28px}.person-card{padding:20px 16px 10px}.person-card legend{font-size:26px}.date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:8px}.date-fields input,.date-fields select{padding:12px 8px;font-size:16px}.intro h1{font-size:clamp(36px,9vw,48px)}#compatibility-result iframe{height:75svh;min-height:480px}footer nav{flex-wrap:wrap;gap:6px 20px}footer nav a{min-height:44px;display:inline-flex;align-items:center}.foundations p{font-size:16px;line-height:1.85}
}
@media(max-width:360px){header .back{width:100%}.cosmos{height:320px}.satellite{max-width:165px}.satellite b{font-size:17px}.form,.form-card{padding:20px 14px}.person-card{padding:18px 12px}.navright select{width:100%;margin:6px 0 0}.reading-wrap h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep navigation readable on desktop and phones. */
header .top-links a,header .back,.navright .about-link{font-size:16px;line-height:1.5}
.navright,.navright>a,.navright .about-link,.navright .explore-more,.navright .explore-more summary,.navright select{font-size:16px;line-height:1.5}
/* Collapsible navigation is limited to phone/tablet widths. */
@media(max-width:800px){
 .mobile-menu-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0;padding-block:16px}
 .mobile-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:48px;flex:none;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;margin-inline-start:auto}
 .mobile-menu-toggle span{display:block;width:22px;height:2px;background:currentColor}
 .mobile-menu-toggle[aria-expanded="true"]{background:#e8dfd2;border-color:var(--accent)}
 .mobile-navigation{width:100%;min-width:0;margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#faf7f1}
 .mobile-navigation[hidden]{display:none!important}
 .mobile-navigation .navright,.mobile-navigation .top-links{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;border:0}
 .mobile-navigation a,.mobile-navigation summary{display:flex!important;align-items:center;min-height:48px;white-space:normal;font-size:16px!important;line-height:1.5}
 .mobile-navigation a{padding:10px 0}.mobile-navigation select{font-size:16px;width:100%;max-width:100%;margin:8px 0;min-height:48px;border:1px solid var(--line);padding:10px}
 .mobile-navigation .explore-menu{position:static;width:100%;max-width:100%;box-shadow:none;border:0;border-inline-start:2px solid var(--line);border-radius:0;padding:0 14px;margin:0 0 8px;background:transparent}
 .mobile-extra-services summary{cursor:pointer;list-style:none}.mobile-extra-services summary:after{content:' ▾';margin-inline-start:8px;color:var(--accent)}.mobile-extra-services>a{padding-inline-start:16px}.mobile-navigation .back{margin:0;width:auto}
}
/* Explore More is available in the About page navigation too. */
header .top-links .explore-more{position:relative;font-size:16px;line-height:1.5}
header .top-links .explore-more summary{cursor:pointer;list-style:none;white-space:nowrap}
header .top-links .explore-more summary::-webkit-details-marker{display:none}
header .top-links .explore-more summary:after{content:' ▾';color:var(--accent)}
header .top-links .explore-menu{position:absolute;inset-inline-start:0;top:calc(100% + 12px);z-index:100;width:260px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #242c2818;display:grid;gap:4px}
header .top-links .explore-menu a{display:block;padding:10px 8px;white-space:normal}
@media(max-width:800px){header .mobile-navigation .top-links .explore-menu{position:static;width:100%;max-width:100%;box-shadow:none;border:0;border-inline-start:2px solid var(--line);border-radius:0;padding:0 14px;margin:0 0 8px;background:transparent}}
