/* Public-only refinements. Shared coach/app styles retain their existing rules. */
.public-site {
  --site-gutter:50px;
  --offer-inset:max(32px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  --site-inset:max(var(--site-gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scrollbar-gutter:stable;
}
html:has(>.public-site) {scrollbar-gutter:stable}
.public-site:has(dialog[open]) {overflow:hidden}
.public-site #privacy-dialog {max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.public-site .wrap {width:min(var(--wrap),calc(100% - 2 * var(--site-inset)))}
.public-site :is(h1,h2) {text-wrap:balance}
.public-site :is(.hero-copy,.heading-grid>*,.question-grid>*,.form-row>*) {min-width:0}
.public-site :is(.lead,.heading-grid>p,.offer-description,.review-copy) {text-wrap:pretty}
.public-site .header {padding-inline:var(--site-inset)}
.public-site .header nav a {display:inline-flex;align-items:center;min-height:44px;text-underline-offset:7px}
.public-site .header nav a[aria-current] {text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px}
.public-site .header:focus-within {transform:none;opacity:1;pointer-events:auto}
.public-site .header.is-dark :focus-visible,
.public-site .cookie-banner :focus-visible,
.public-site .cookie-settings-dialog :focus-visible {outline:2px solid var(--lime);outline-offset:4px}
.public-site :is(.header,.footer,.studio-copy) a:not(.button) {border-radius:3px}
.public-site .nav-cta {border-radius:99px}
.public-site .menu-button span {transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.public-site .menu-button[aria-expanded="true"] span:first-child {transform:translateY(3.5px) rotate(45deg)}
.public-site .menu-button[aria-expanded="true"] span:last-child {transform:translateY(-3.5px) rotate(-45deg)}
.public-site .offers-section>.wrap {width:min(1760px,calc(100% - 2 * var(--offer-inset)))}
.public-site .offers-section :is(.section-heading,.comparison,.guide) {width:min(100%,var(--wrap),calc(100% - max(0px,2 * (var(--site-inset) - var(--offer-inset)))));padding-inline:0;margin-inline:auto}
.public-site .table-wrap:focus-visible {outline:2px solid var(--ink);outline-offset:4px}
.public-site .info-icon {width:28px;height:28px;flex:none}
.public-site .info-tip {max-width:min(230px,calc(100vw - 64px))}
.public-site .footer {padding-bottom:max(35px,env(safe-area-inset-bottom,0px))}
.public-site .footer-contact a,.public-site .footer-links a {min-height:32px;font-size:12px;overflow-wrap:anywhere}
.public-site .footer-links {gap:4px 24px}
.public-site .legal-nav [aria-current="page"] {text-decoration-color:var(--ink);text-decoration-thickness:2px}
.public-site #request-form label:not(.consent) {font-size:12px}
.public-site #request-form :is(input,select,textarea):not([type="checkbox"]):not([type="hidden"]) {
  min-height:48px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.public-site #request-form :is(input,select,textarea):not([type="checkbox"]):focus {
  border-color:var(--ink);
  box-shadow:0 0 0 1px var(--ink);
}
.public-site #request-form .consent {font-size:12px!important;line-height:1.6;padding-block:5px}
.public-site #request-form .consent input {width:20px;height:20px;margin-top:0}
.public-site .question-grid {gap:clamp(32px,6vw,80px)}
.public-site .faq-category-toggle {width:100%;border:0;background:none;color:inherit;text-align:left;font-family:inherit;font-weight:500;line-height:1.3;transition:opacity .18s ease}
.public-site .faq-category-toggle:active {opacity:.78}
.public-site .cookie-settings-dialog {max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1150px) {.public-site {--site-gutter:32px}}
@media(max-width:900px) {
  .public-site .header nav {max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;padding-inline:var(--site-inset)}
}
@media(max-width:700px) {
  .public-site {--offer-inset:max(16px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
}
@media(max-width:600px) {
  .public-site {--site-gutter:20px}
  .public-site .header {padding-inline:max(16px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
  .public-site .header .nav-cta {min-height:44px}
  .public-site .header nav {max-height:calc(100dvh - 74px)}
  .public-site .hero-actions {align-items:stretch;gap:16px}
  .public-site .hero-actions .button {max-width:100%;min-height:52px;line-height:1.4;text-align:left}
  .public-site .hero-actions .button>span {flex-shrink:0}
  .public-site .hero-actions .text-link {min-height:44px;align-self:flex-start}
  .public-site .footer-links {gap:0 20px}
  .public-site .footer-contact a,.public-site .footer-links a {min-height:44px}
  .public-site .footer-contact p {font-size:12px}
  .public-site #request-form .form-row {grid-template-columns:minmax(0,1fr)}
  .public-site #request-form {padding:24px 20px}
}
@media(hover:none),(pointer:coarse) {
  .public-site :is(.segmented,.location-switch) button {min-height:44px}
  .public-site .info-icon {width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce) {
  .public-site .menu-button span {transition:none}
  .public-site .review-card:hover,.public-site .orientation-card:hover {transform:none}
}
