/* GridCove public-site mobile hardening. Loaded after site-v2.css. */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{font-size:16px}
.container>*{min-width:0}
.header-inner,.hero-inner,.section-heading,.setup-grid,.choice-grid,.pricing-grid,.outcome-grid,.screen-card-grid,.provider-strip-inner,.comparison-row,.safety-grid,.faq-grid,.page-hero-grid,.legal-grid,.support-form-layout,.engine-grid,.flow-lanes,.settings-map-grid,.real-settings-gallery{min-width:0}
.button,.header-cta,.tier-button,.support-submit,.support-choice-button{min-height:48px}

@media(max-width:780px){
  body{font-size:15px;line-height:1.62}
  .container{width:min(calc(100% - 30px),var(--gc-container))}
  .section,.actual-settings-section,.pro-membership-section,.plan-cards-section,.next-step-section{padding:66px 0}
  .hero{padding:58px 0 56px}
  .hero-inner{gap:35px}
  .hero-copy h1{font-size:clamp(2.65rem,13vw,4.2rem);line-height:1.01;letter-spacing:-.055em}
  .hero-lede{margin-top:19px;font-size:1rem;line-height:1.68}
  .hero-actions{margin-top:26px}
  .trust-row{margin-top:20px}
  .checkout-note{margin-top:17px}
  .section-heading{gap:18px;margin-bottom:30px}
  .section-heading>p{font-size:.96rem}
  .provider-strip{padding:25px 0}
  .provider-card{padding:15px}
  .outcome-grid article,.screen-card-grid article,.engine-card,.support-choice-grid article{padding:22px}
  .choice-grid article{padding:30px 22px}
  .setup-card,.tier-card,.plan-card,.membership-panel{padding:24px}
  .tour-item,.tour-item.reverse{padding:18px}
  .tour-item img,.real-settings-shot img,.screen-card-grid img{width:100%;height:auto}
  .page-hero,.legal-hero{padding:59px 0 44px}
  .page-hero h1,.legal-hero h1{font-size:clamp(2.55rem,12vw,4.35rem)}
  .page-hero p:not(.eyebrow),.legal-hero p:not(.eyebrow){font-size:1rem}
  .legal-body{padding:48px 0 78px}
  .legal-nav{display:flex;gap:7px;overflow-x:auto;padding:10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .legal-nav>span{display:none}
  .legal-nav a{flex:0 0 auto;min-height:44px;white-space:nowrap}
  .legal-copy>section{padding:22px}
  .support-form-card,.support-form-side{padding:23px}
  .support-form-side{order:-1}
  .support-form-side ol{grid-template-columns:1fr;margin-bottom:14px}
  .contact-panel,.split-callout{gap:24px;padding:25px}
  .contact-actions,.callout-actions{width:100%}
  .contact-actions a,.callout-actions a{min-height:46px;align-items:center}
  .footer-main{gap:28px}
  .legal{gap:10px}
}

@media(max-width:620px){
  .site-header{backdrop-filter:blur(14px)}
  .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:68px;padding:8px 0}
  .brand{font-size:1rem}
  .public-menu-button{grid-column:2;grid-row:1;min-width:48px;min-height:48px;padding:0 12px}
  .header-inner nav{grid-column:1/-1;grid-row:2;margin:0;padding:8px;box-shadow:0 20px 45px rgba(0,0,0,.35)}
  .header-inner.nav-open nav{display:grid;grid-template-columns:1fr}
  .header-inner nav a{justify-content:flex-start;min-height:48px;padding:0 14px}
  .header-cta{display:none;grid-column:1/-1;grid-row:3;width:100%;min-height:48px}
  .header-inner.nav-open .header-cta{display:flex}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button{width:100%;padding-inline:17px;text-align:center}
  .trust-row{gap:7px}
  .trust-row span{width:100%;border-radius:10px}
  .product-shot{border-radius:13px}
  .shot-bar{padding:0 11px}
  .product-shot figcaption{padding:10px 12px}
  .outcome-grid article>span{margin-bottom:22px}
  .comparison-table{overflow:visible;border-radius:14px}
  .comparison-row{min-width:0;grid-template-columns:minmax(0,1fr) 66px 86px;gap:8px;padding:13px 11px}
  .comparison-row strong,.comparison-row span{font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
  .comparison-head{font-size:.64rem}
  .tier-price strong{font-size:3.15rem}
  .faq-list summary{padding:17px}
  .faq-list details p{padding:0 17px 18px}
  .support-choice-grid{gap:10px}
  .support-form-card h2,.support-form-side h2{font-size:1.65rem}
  .support-form-card input,.support-form-card textarea{font-size:16px}
  .secret-warning{align-items:flex-start;flex-direction:column}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px 16px}
}

@media(max-width:390px){
  .container{width:min(calc(100% - 22px),var(--gc-container))}
  .hero-copy h1{font-size:2.55rem}
  .section{padding:58px 0}
  .choice-grid article,.tier-card,.setup-card,.legal-copy>section,.support-form-card,.support-form-side{padding:19px}
  .comparison-row{grid-template-columns:minmax(0,1fr) 58px 78px;padding-inline:9px}
  .footer-links{grid-template-columns:1fr}
}

@media(max-height:700px) and (max-width:620px){
  .header-inner nav{max-height:calc(100vh - 84px);overflow-y:auto}
}

@supports(padding:max(0px)){
  .site-header{padding-top:env(safe-area-inset-top)}
  .support-chat{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}

@media(max-width:520px){
  .support-chat{left:12px;right:12px;bottom:12px}
  .chat-launcher{margin-left:auto}
  .chat-window{position:fixed;left:10px;right:10px;bottom:max(72px,calc(62px + env(safe-area-inset-bottom)));width:auto;max-height:calc(100dvh - 90px);display:flex;flex-direction:column}
  .chat-window[hidden]{display:none}
  .chat-messages{height:auto;min-height:170px;flex:1}
  .chat-window textarea{font-size:16px}
}

/* Final narrow-screen readability fixes. */
@media(max-width:620px){
  .comparison-table{display:grid;gap:10px;border:0;background:transparent;overflow:visible}
  .comparison-row.comparison-head{display:none}
  .comparison-row:not(.comparison-head){display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;min-width:0;padding:15px;border:1px solid var(--gc-line);border-radius:12px;background:rgba(8,24,35,.84)}
  .comparison-row:not(.comparison-head) strong{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid rgba(130,166,186,.14);font-size:.9rem}
  .comparison-row:not(.comparison-head) span{display:block;min-width:0;padding:0;text-align:left;font-size:.82rem;overflow-wrap:anywhere}
  .comparison-row:not(.comparison-head) span::before{display:block;margin-bottom:4px;color:#6f8d9f;font-size:.62rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
  .comparison-row:not(.comparison-head) span:nth-child(2)::before{content:"Basic"}
  .comparison-row:not(.comparison-head) span:nth-child(3)::before{content:"Starter"}
  .comparison-row:not(.comparison-head) span:nth-child(4)::before{content:"Pro"}
  .provider-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .provider-strip-copy{grid-column:1/-1}.provider-card{min-width:0}.provider-card:last-child{grid-column:1/-1}
}
@media(max-width:390px){.provider-strip-inner{grid-template-columns:1fr}.provider-card:last-child{grid-column:auto}}
@media(max-width:620px){
  .real-settings-shot a{overflow:hidden}
  .real-settings-shot img{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important}
  .real-settings-shot figcaption::after{display:none!important}
}

/* 2026-07-27 public-site mobile usability pass. */
:where(section, article, details, form, .comparison-table, .plan-detail-table) { scroll-margin-top: 86px; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(92, 225, 236, .72);
  outline-offset: 2px;
}
@media(max-width:780px) {
  .page-hero-grid,
  .hero-inner,
  .section-heading,
  .setup-grid,
  .safety-grid,
  .faq-grid,
  .purchase-panel,
  .split-callout,
  .contact-panel,
  .legal-grid,
  .support-form-layout { grid-template-columns: 1fr !important; }
  .header-inner nav { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .header-inner nav a,
  .header-cta,
  .button { text-wrap: balance; }
  .page-hero-stat,
  .product-shot,
  .tier-card,
  .setup-card,
  .engine-card,
  .support-form-card,
  .support-form-side { min-width: 0; }
  .comparison-table,
  .plan-detail-table { max-width: 100%; }
  .plan-detail-table { overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .hero-copy h1,
  .page-hero h1,
  .section-heading h2 { text-wrap: balance; }
  .footer-main,
  .legal { align-items: flex-start; }
  .legal p:last-child { max-width: none; text-align: left; }
}
@media(max-width:620px) {
  .site-header { position: sticky; top: 0; z-index: 100; }
  .header-inner.nav-open { padding-bottom: 10px; }
  .header-inner.nav-open nav { max-height: calc(100dvh - 86px); }
  .page-hero-stat ol,
  .api-provider-card ol { padding-left: 20px; }
  .hero-actions,
  .callout-actions,
  .contact-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions > *,
  .callout-actions > *,
  .contact-actions > * { width: 100%; justify-content: center; }
  .support-chat { z-index: 130; }
}

@media(max-width:1050px) {
  .public-menu-button {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0;
    justify-content: center;
  }
  .public-menu-button span {
    position: absolute;
    left: 14px;
    display: block !important;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .16s ease, opacity .16s ease, top .16s ease;
  }
  .public-menu-button span:nth-child(1) { top: 15px; }
  .public-menu-button span:nth-child(2) { top: 22px; }
  .public-menu-button span:nth-child(3) { top: 29px; }
  .public-menu-button b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .public-menu-button[aria-expanded="true"] span:nth-child(1) { top: 22px; transform: rotate(45deg); }
  .public-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .public-menu-button[aria-expanded="true"] span:nth-child(3) { top: 22px; transform: rotate(-45deg); }
}

/* 2026-07-27 V2: keep the public hamburger panel fully opaque at every menu width. */
@media(max-width:1050px){
  .site-header{background:#050f18!important}
  .header-inner.nav-open nav{
    position:relative;
    z-index:200;
    padding:10px!important;
    border:1px solid #28485d!important;
    border-radius:13px!important;
    background:#071522!important;
    background-image:none!important;
    opacity:1!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 22px 60px rgba(0,0,0,.62)!important;
    isolation:isolate;
  }
  .header-inner.nav-open nav a{
    color:#e7f2f7!important;
    background:#0c2232!important;
    border:1px solid rgba(114,166,194,.14)!important;
  }
  .header-inner.nav-open nav a:hover,
  .header-inner.nav-open nav a:focus-visible,
  .header-inner.nav-open nav a.active,
  .header-inner.nav-open nav a[aria-current="page"]{
    color:#fff!important;
    background:#123148!important;
    border-color:rgba(94,222,232,.34)!important;
  }
  .header-inner.nav-open .header-cta{
    color:#041017!important;
    background:#62dfe9!important;
    opacity:1!important;
  }
  .public-menu-button{
    background:#0b2130!important;
    color:#eaf7fb!important;
    opacity:1!important;
  }
}

/* 2026-07-27 V3: hamburger opens as an overlay and never changes page flow. */
@media(max-width:1050px){
  .site-header{overflow:visible!important}
  .header-inner{position:relative!important}
  .header-inner.nav-open{padding-bottom:0!important}
  .header-inner.nav-open nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    margin:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    max-height:min(72dvh,560px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
}


/* 2026-07-27 mobile comparison-table cards. */
@media(max-width:780px){
  .comparison-table,
  .comparison-table.comparison-four{
    display:grid;
    gap:12px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .comparison-table .comparison-row,
  .comparison-four .comparison-row{
    min-width:0!important;
  }
  .comparison-table .comparison-head{
    display:none!important;
  }
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category){
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:0 16px;
    overflow:hidden;
    border:1px solid var(--gc-line);
    border-radius:14px;
    background:linear-gradient(155deg,rgba(12,34,48,.96),rgba(6,20,30,.98));
    box-shadow:0 12px 30px rgba(0,0,0,.14);
  }
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>strong,
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>b:first-child{
    display:block;
    grid-column:auto;
    margin:0 -16px;
    padding:14px 16px;
    border:0;
    border-bottom:1px solid rgba(130,166,186,.16);
    background:rgba(20,50,67,.46);
    color:#edf7fb;
    font-size:.94rem;
    line-height:1.4;
  }
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>span,
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>b:not(:first-child){
    display:grid;
    grid-template-columns:minmax(94px,.42fr) minmax(0,1fr);
    align-items:start;
    gap:14px;
    min-width:0;
    padding:12px 0;
    border:0;
    border-bottom:1px solid rgba(130,166,186,.12);
    color:#b6c8d2;
    font-size:.86rem;
    line-height:1.45;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>span:last-child,
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>b:last-child{
    border-bottom:0;
  }
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>span::before,
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>b:not(:first-child)::before{
    content:attr(data-column-label);
    display:block;
    margin:0;
    color:#7595a7;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1.35;
    text-align:left;
    text-transform:uppercase;
  }
  .comparison-table .comparison-row.comparison-category{
    display:block;
    min-height:0;
    padding:11px 14px;
    border:1px solid rgba(93,207,178,.2);
    border-radius:11px;
    background:rgba(42,139,116,.1);
  }
  .comparison-table .comparison-row.comparison-category>strong{
    display:block;
    padding:0;
    border:0;
    color:#68dfb8;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.12em;
  }
  .comparison-table .comparison-row.comparison-category>span{
    display:none!important;
  }

  .plan-detail-table{
    display:grid;
    gap:12px;
    overflow:visible!important;
    margin-left:0!important;
    margin-right:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .plan-detail-table .plan-detail-head{
    display:none!important;
  }
  .plan-detail-table .plan-detail-row:not(.plan-detail-head){
    display:grid;
    grid-template-columns:1fr;
    min-width:0!important;
    overflow:hidden;
    border:1px solid rgba(87,139,165,.24);
    border-radius:14px;
    background:linear-gradient(155deg,rgba(12,34,48,.96),rgba(6,20,30,.98));
    box-shadow:0 12px 30px rgba(0,0,0,.14);
  }
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>div:first-child,
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>b:first-child{
    display:block;
    padding:14px 16px;
    border:0;
    border-bottom:1px solid rgba(130,166,186,.16);
    background:rgba(20,50,67,.46);
    text-align:left;
  }
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>span,
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>b:not(:first-child){
    display:grid;
    grid-template-columns:minmax(94px,.42fr) minmax(0,1fr);
    align-items:start;
    gap:14px;
    min-width:0;
    padding:12px 16px;
    border:0;
    border-bottom:1px solid rgba(130,166,186,.12);
    color:#b6c8d2;
    font-size:.84rem;
    line-height:1.45;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>span:last-child,
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>b:last-child{
    border-bottom:0;
  }
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>span::before,
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>b:not(:first-child)::before{
    content:attr(data-column-label);
    color:#7595a7;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1.35;
    text-align:left;
    text-transform:uppercase;
  }
}
@media(max-width:390px){
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>span,
  .comparison-table .comparison-row:not(.comparison-head):not(.comparison-category)>b:not(:first-child),
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>span,
  .plan-detail-table .plan-detail-row:not(.plan-detail-head)>b:not(:first-child){
    grid-template-columns:84px minmax(0,1fr);
    gap:10px;
  }
}
