/* ReBrandMyAI v19 round 7 — final UI/UX refinement layer
   Loaded last so the production move can preserve the existing component and data architecture. */

:root{
  --rmai-content-measure:68ch;
  --rmai-touch:44px;
  --rmai-card-pad:clamp(20px,2.2vw,28px);
}

/* Global rhythm, readability and interaction consistency */
p,li{ text-wrap:pretty; }
.section-head p,.flow-lede,.app-page-head p{line-height:1.64}
.section-head p,.app-page-head p{max-width:var(--rmai-content-measure)}
.btn,.app-btn,.menu,.app-icon-btn,.rmai-select-trigger{min-height:var(--rmai-touch)}
button,input,select,textarea{touch-action:manipulation}
.app-input,.app-select,.app-textarea,.newsletter input{min-height:46px}
.panel,.flow-card,.app-panel,.portfolio-project-card,.brand-card,.reviewer-card,.customer-card{
  border-color:rgba(132,170,235,.19);
}

/* Prevent animated content from becoming unavailable when scripting is disabled. */
@media (scripting:none){
  .reveal{opacity:1!important;transform:none!important}
}

/* Public site: clearer hierarchy and more dependable card rhythm */
.flow-action .app-btn{min-width:0}
@media (min-width:681px){
  .page-hero h1{max-width:980px}
  .page-hero .lede{max-width:760px;line-height:1.64}
  .hero-copy{line-height:1.64}
  .hero-actions .btn{min-width:0}
}
.offer{padding:26px;min-height:372px}
.offer p,.offer li{line-height:1.55}
.offer .ticks{margin-top:18px}
.offer .btn{margin-top:0}
.metric{min-height:142px;display:flex;flex-direction:column;justify-content:center}
.footer-grid{align-items:start}
.foot-links a{line-height:1.45}

/* Checkout and activation flows */
.flow-title{max-width:900px}
.flow-grid{gap:28px}
.flow-card-main{padding:clamp(26px,3vw,36px)}
.flow-card-side{padding:clamp(23px,2.4vw,30px)}
.flow-section{padding:27px 0}
.app-field label,.app-label{line-height:1.35}
.order-summary-row{align-items:flex-start}
.order-summary-row b{max-width:58%;overflow-wrap:anywhere}

/* Private application: improve scanability without changing workflow logic */
.app-content{width:100%;max-width:1540px;margin-inline:auto}
.app-page-head{gap:22px;margin-bottom:28px}
.app-page-head h1{max-width:920px}
.app-page-head p{max-width:760px}
.app-panel-pad{padding:clamp(20px,2vw,28px)}
.app-action-banner{padding:clamp(22px,2.2vw,30px)}
.app-stat,.admin-stat{display:flex;flex-direction:column;justify-content:flex-start}
.app-stat p,.admin-stat p{line-height:1.48}
.app-nav a{min-height:42px}
.app-nav-icon{flex:none}
.app-status{line-height:1.25}
.app-empty{padding-block:34px}

/* Raise the smallest operational text to a more legible floor. */
.app-breadcrumb,.app-panel-kicker,.app-nav-label,.app-stat span,.admin-stat span,
.app-project-switcher small,.portfolio-account-label small,.admin-role-chip small,
.portfolio-table th,.admin-table th,.assignment-facts span,.audit-row time,.audit-row span,
.notification-row small,.notification-row time,.reviewer-skills span,.portfolio-project-meta,
.admin-project-meta,.report-finding span,.confirmation-stat span,.order-total span{
  font-size:.61rem!important;
  line-height:1.35;
}
.app-field small,.reviewer-card p,.customer-card>p,.portfolio-table td span,
.admin-table td small,.audit-row p,.audit-row em{line-height:1.5}

/* Tables remain compact but communicate that horizontal scrolling is available. */
.table-scroll-region{
  position:relative;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  border-radius:inherit;
}
.table-scroll-region:focus-visible{outline:2px solid var(--app-cyan);outline-offset:3px}
.table-scroll-region[data-overflow="true"]{padding-bottom:4px}
.table-scroll-region[data-overflow="true"]::after{
  content:"Scroll for more →";
  position:sticky;
  right:10px;
  bottom:4px;
  float:right;
  padding:5px 8px;
  border:1px solid rgba(122,164,255,.18);
  border-radius:999px;
  background:rgba(5,13,26,.94);
  color:#7fa9dc;
  font:600 .58rem/1 var(--mono);
  letter-spacing:.06em;
  pointer-events:none;
}

.skip-link{
  position:fixed;
  z-index:1000;
  left:14px;
  top:12px;
  transform:translateY(-150%);
  padding:10px 14px;
  border:1px solid #45d7ff;
  border-radius:10px;
  background:#071426;
  color:#fff;
  font-weight:800;
  box-shadow:0 15px 40px rgba(0,0,0,.4);
  transition:transform .16s ease;
}
.skip-link:focus{transform:none}

/* Tablet: keep marketing pages spacious without imitating a phone composition. */
@media (min-width:681px) and (max-width:1080px){
  .page-hero,.page-hero-split{padding-top:72px}
  .page-hero-split .hero-split-grid{grid-template-columns:1fr;gap:34px}
  .page-hero-split .hero-split-grid>:last-child{width:min(100%,760px);justify-self:center}
  .offers,.price-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer{min-height:340px}
}

/* Phone refinements outside the intentionally full-viewport hero compositions. */
@media (max-width:680px){
  :root{--section:58px;--rmai-card-pad:18px}
  .wrap,.flow-wrap,.flow-header-inner{width:min(var(--max),calc(100% - 28px))}
  .section{padding:58px 0}
  .section-head{display:block;margin-bottom:26px}
  .section-head p{margin-top:14px}

  /* The original v19 mobile hero composition is intentionally preserved here.
     It fills the initial viewport and keeps the “Scroll to continue” cue visible. */
  .hero>.wrap,.page-hero>.wrap{width:min(100% - 30px,var(--max))}
  .hero-copy,.page-hero .lede{text-wrap:wrap}

  .offers,.price-ladder{gap:12px}
  .offer{padding:21px;min-height:0}
  .metric{min-height:0}
  .footer-grid{gap:26px}
  .newsletter{gap:8px}

  .flow-main{padding:34px 0 68px}
  .flow-title{font-size:clamp(2.25rem,11vw,3.25rem);line-height:.96}
  .flow-lede{font-size:.95rem;line-height:1.58}
  .flow-grid{margin-top:28px;gap:16px}
  .flow-card-main,.flow-card-side{padding:20px}
  .flow-card-side{position:static}
  .flow-section{padding:22px 0}
  .flow-form{gap:16px}
  .flow-form-grid{gap:14px}
  .flow-action{display:grid;gap:9px}
  .flow-action .app-btn{width:100%}
  .demo-card{min-height:168px;padding:18px}

  .app-content{padding:22px 14px 56px}
  .app-page-head{gap:14px;margin-bottom:22px}
  .app-page-head h1{font-size:clamp(2rem,9.5vw,2.65rem);line-height:.98}
  .app-page-head p{font-size:.86rem;line-height:1.55}
  .app-page-actions{display:grid;width:100%;gap:8px}
  .app-page-actions .app-btn{width:100%}
  .app-panel-pad,.assignment-card,.review-dimension-editor,.portfolio-project-card,
  .brand-card,.reviewer-card,.customer-card{padding:17px}
  .app-action-banner{padding:19px}
  .app-stat-grid,.portfolio-stat-grid,.admin-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .app-stat,.admin-stat{min-height:112px!important;padding:15px}
  .app-stat span,.admin-stat span{margin-bottom:10px}
  .app-stat b{font-size:1.3rem}
  .admin-stat b{font-size:1.65rem;margin-top:7px}
  .app-topbar{gap:10px}
  .app-breadcrumb{max-width:58vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .portfolio-project-grid,.portfolio-brand-grid,.reviewer-grid,.customer-grid{gap:12px}
  .portfolio-project-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portfolio-card-actions,.brand-card-actions{gap:8px}
  .assignment-facts{gap:8px}
  .assignment-facts div{padding:10px}
  .admin-table,.portfolio-table{min-width:700px}
  .admin-dashboard-grid,.app-dashboard-grid,.portfolio-brand-layout{gap:12px}
  .message-bubble{max-width:92%}
  .app-toast{left:14px;right:14px;bottom:14px;max-width:none}
}

@media (max-width:360px){
  .app-stat-grid,.portfolio-stat-grid,.admin-stat-grid{grid-template-columns:1fr!important}
}

@media (hover:none){
  .btn:hover,.app-btn:hover,.offer:hover,.dim-row:hover{transform:none}
}

@media (prefers-reduced-motion:reduce){
  .hero,.hero::after,.signal-field,header::before{animation:none!important}
}

/* =========================================================
   v19.2.2 — intentional mobile first-frame heroes
   Generic section rhythm must never add height around a viewport-owned hero.
   ========================================================= */
@media (max-width:680px){
  .page-hero,
  .page-hero-split{padding:0!important}

  /* Pricing: context high, narrative centred, cue genuinely at the fold. */
  .page-pricing>.page-hero{
    box-sizing:border-box;
    height:calc(100dvh - var(--mobile-header-height,64px));
    min-height:calc(100svh - var(--mobile-header-height,64px));
    overflow:hidden;
  }
  .page-pricing>.page-hero>.wrap{
    box-sizing:border-box;
    height:100%;
    min-height:0!important;
    padding:clamp(22px,3.4vh,32px) 0 52px!important;
  }

  /* Full-frame split heroes keep their supporting instrument in frame one. */
  .page-about>.page-hero-split,
  .page-contact>.page-hero-split,
  .page-security>.page-hero-split,
  .page-terms>.page-hero-split{
    box-sizing:border-box;
    height:calc(100dvh - var(--mobile-header-height,64px));
    min-height:calc(100svh - var(--mobile-header-height,64px));
    max-height:calc(100dvh - var(--mobile-header-height,64px));
    overflow:hidden;
  }
  .page-about .hero-split-grid,
  .page-contact .hero-split-grid,
  .page-security .hero-split-grid,
  .page-terms .hero-split-grid{
    position:relative;
    box-sizing:border-box;
    height:100%;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-content:stretch!important;
    gap:clamp(10px,1.7vh,16px)!important;
    padding:clamp(18px,2.7vh,26px) 0 48px!important;
    overflow:hidden;
  }
  .page-about .hero-split-grid>:first-child,
  .page-contact .hero-split-grid>:first-child,
  .page-security .hero-split-grid>:first-child,
  .page-terms .hero-split-grid>:first-child{
    min-height:0!important;
    height:100%;
    padding:0!important;
    overflow:hidden;
  }
  .page-about .mobile-hero-narrative,
  .page-contact .mobile-hero-narrative,
  .page-security .mobile-hero-narrative,
  .page-terms .mobile-hero-narrative{
    min-height:0;
    align-self:center!important;
    padding:clamp(7px,1.25vh,13px) 0!important;
  }
  .page-about .mobile-hero-narrative h1,
  .page-contact .mobile-hero-narrative h1,
  .page-security .mobile-hero-narrative h1,
  .page-terms .mobile-hero-narrative h1{
    font-size:clamp(2rem,9vw,2.78rem)!important;
    line-height:.98!important;
  }
  .page-about .mobile-hero-narrative .lede,
  .page-contact .mobile-hero-narrative .lede,
  .page-security .mobile-hero-narrative .lede,
  .page-terms .mobile-hero-narrative .lede{
    margin-top:clamp(11px,1.8vh,17px)!important;
    font-size:clamp(.82rem,3.5vw,.96rem)!important;
    line-height:1.4!important;
  }

  /* About instrument: preserve the visual proof without letting it dominate. */
  .page-about .method-orbit{
    min-height:118px!important;
    padding:13px 18px!important;
    grid-template-columns:auto 1fr;
    justify-content:center;
    gap:18px;
    border-radius:18px 18px 18px 6px;
  }
  .page-about .method-orbit img{width:70px!important}
  .page-about .method-orbit span{text-align:left;font-size:.63rem}

  /* Contact routing remains an intentional lower decision zone. */
  .page-contact .contact-router{
    min-height:0!important;
    gap:7px!important;
    padding:13px!important;
    border-radius:18px 18px 18px 6px;
  }
  .page-contact .contact-router>span{font-size:.56rem!important}
  .page-contact .contact-router a{
    min-height:38px;
    display:flex;
    align-items:center;
    padding:9px 11px!important;
    border-radius:10px!important;
    font-size:.75rem;
  }

  /* Security and Terms can show the complete legal summary in the first frame. */
  .page-security .status-ribbon,
  .page-terms .status-ribbon{
    gap:6px!important;
    margin:0!important;
    align-self:end;
  }
  .page-security .status-ribbon span,
  .page-terms .status-ribbon span{
    padding:6px 8px!important;
    font-size:.54rem!important;
    line-height:1.3;
  }
  .page-security .contact-router,
  .page-terms .contact-router{
    min-height:0!important;
    gap:6px!important;
    padding:12px!important;
    border-radius:17px 17px 17px 6px;
  }
  .page-security .contact-router>span,
  .page-terms .contact-router>span{font-size:.54rem!important}
  .page-security .contact-router a,
  .page-terms .contact-router a{
    min-height:34px;
    display:flex;
    align-items:center;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:.7rem;
  }

  /* Privacy is deliberately allowed to breathe beyond one frame rather than
     crowding status, summary and routing controls simply to expose the cue. */
  .page-privacy>.page-hero-split{padding:0!important;overflow:visible}
  .page-privacy .hero-split-grid{
    position:relative;
    min-height:calc(100svh - var(--mobile-header-height,64px));
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:clamp(22px,3.4vh,32px) 0 54px!important;
  }
  .page-privacy .hero-split-grid>:first-child{
    min-height:0!important;
    padding:0!important;
  }
  .page-privacy .status-ribbon{margin-top:22px!important}
  .page-privacy .contact-router{min-height:0!important;padding:18px!important}

  /* Case Studies already has a carefully tuned instrument frame; prevent the
     Round 7 generic section spacing from re-entering that calculation. */
  .page-cases>.page-hero-split{padding:0!important}

  /* Journal masthead: all thesis content is one complete first-screen story. */
  .blog-site:not(.article-site) .journal-mast{
    box-sizing:border-box;
    height:calc(100dvh - var(--mobile-header-height,64px));
    min-height:calc(100svh - var(--mobile-header-height,64px));
    max-height:calc(100dvh - var(--mobile-header-height,64px));
    padding:0!important;
    overflow:hidden;
  }
  .blog-site:not(.article-site) .journal-mast-grid{
    position:relative;
    box-sizing:border-box;
    height:100%;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-content:stretch!important;
    gap:clamp(12px,2vh,18px)!important;
    padding:clamp(22px,3.3vh,31px) 0 50px!important;
  }
  .blog-site:not(.article-site) .journal-mast-grid>div:first-child{
    min-height:0;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:stretch;
  }
  .blog-site:not(.article-site) .journal-label{margin:0!important}
  .blog-site:not(.article-site) .journal-mast .mobile-hero-narrative{
    align-self:center;
    padding:clamp(10px,1.8vh,17px) 0;
  }
  .blog-site:not(.article-site) .journal-mast h1{
    max-width:330px;
    margin:0;
    font-size:clamp(3.15rem,14.5vw,4.15rem)!important;
    line-height:.9!important;
  }
  .blog-site:not(.article-site) .journal-mast p{
    margin-top:clamp(12px,2vh,18px)!important;
    font-size:clamp(.84rem,3.55vw,.96rem);
    line-height:1.48;
  }
  .blog-site:not(.article-site) .journal-thesis{
    justify-self:stretch;
    max-width:none;
    padding:15px 17px 16px!important;
    border-radius:17px;
  }
  .blog-site:not(.article-site) .journal-thesis span{font-size:.53rem}
  .blog-site:not(.article-site) .journal-thesis b{
    margin-top:7px;
    font-size:clamp(.88rem,3.75vw,1.02rem);
    line-height:1.28;
  }

  .page-about .hero-split-grid>.mobile-scroll-cue,
  .page-contact .hero-split-grid>.mobile-scroll-cue,
  .page-legal .hero-split-grid>.mobile-scroll-cue,
  .blog-site:not(.article-site) .journal-mast-grid>.mobile-scroll-cue{
    bottom:11px!important;
    z-index:4;
  }
}

@media (max-width:680px) and (max-height:700px){
  .page-about .hero-split-grid,
  .page-contact .hero-split-grid,
  .page-security .hero-split-grid,
  .page-terms .hero-split-grid,
  .blog-site:not(.article-site) .journal-mast-grid{
    padding-top:12px!important;
    padding-bottom:41px!important;
    gap:7px!important;
  }
  .page-about .crumb,.page-contact .crumb,.page-security .crumb,.page-terms .crumb{margin-bottom:7px!important}
  .page-about .method-orbit{min-height:94px!important;padding:9px 14px!important}
  .page-about .method-orbit img{width:56px!important}
  .page-contact .contact-router a,
  .page-security .contact-router a,
  .page-terms .contact-router a{min-height:31px;padding-block:6px!important}
  .page-security .status-ribbon span,.page-terms .status-ribbon span{padding:5px 7px!important}
  .blog-site:not(.article-site) .journal-mast h1{font-size:clamp(2.7rem,13vw,3.45rem)!important}
  .blog-site:not(.article-site) .journal-mast p{margin-top:8px!important;font-size:.79rem;line-height:1.38}
  .blog-site:not(.article-site) .journal-thesis{padding:11px 14px!important}
}

/* =========================================================
   v19.2.2 — Full Score intake telemetry rail
   ========================================================= */
@media (min-width:1081px){
  .intake-layout{
    grid-template-columns:278px minmax(0,760px)!important;
    gap:78px!important;
    padding-top:38px!important;
  }
  .intake-rail{
    top:96px!important;
    min-height:690px!important;
    padding:18px 17px!important;
    border:1px solid rgba(104,160,244,.16)!important;
    border-radius:22px!important;
    background:
      radial-gradient(circle at 10% 0%,rgba(18,104,255,.12),transparent 16rem),
      linear-gradient(180deg,rgba(8,19,36,.94),rgba(4,11,23,.91))!important;
    box-shadow:0 26px 80px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035)!important;
    overflow:hidden!important;
  }
  .intake-rail-summary{padding:2px 2px 17px!important}
  .intake-rail-summary span{color:#7bc6ff!important}
  .intake-steps{
    position:relative!important;
    display:grid!important;
    gap:30px!important;
    padding:22px 0 12px 12px!important;
    overflow:visible!important;
  }
  .intake-steps:before,
  .intake-steps:after{
    content:""!important;
    display:block!important;
    position:absolute;
    left:2px!important;
    top:31px!important;
    width:1px!important;
    border-radius:999px;
    pointer-events:none;
  }
  .intake-steps:before{
    bottom:30px!important;
    height:auto!important;
    background:repeating-linear-gradient(to bottom,rgba(101,139,194,.34) 0 3px,transparent 3px 8px)!important;
  }
  .intake-steps:after{
    height:var(--track-progress,0%)!important;
    max-height:calc(100% - 61px);
    background:linear-gradient(180deg,#45d7ff,#1268ff)!important;
    box-shadow:0 0 10px rgba(69,215,255,.62),0 0 22px rgba(18,104,255,.28)!important;
  }
  .intake-step-link{
    position:relative!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-height:0!important;
    padding:7px 8px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    text-align:left;
    opacity:.78;
    transition:opacity .2s ease,background .2s ease,transform .2s ease!important;
  }
  .intake-step-link:hover{transform:translateX(2px)!important;background:rgba(255,255,255,.025)!important}
  .intake-step-link.is-current{
    opacity:1!important;
    background:linear-gradient(90deg,rgba(18,104,255,.13),rgba(69,215,255,.025))!important;
    box-shadow:inset 2px 0 0 #45d7ff!important;
  }
  .intake-step-link.is-done{opacity:.9!important}
  .intake-step-link.is-pending{opacity:.40!important;cursor:not-allowed}
  .intake-step-tag{
    display:block!important;
    padding-top:2px;
    font-family:var(--mono)!important;
    font-size:.57rem!important;
    line-height:1.3;
    letter-spacing:.035em!important;
    color:#6684aa!important;
    white-space:nowrap;
  }
  .intake-step-link.is-current .intake-step-tag{color:#69dcff!important;text-shadow:0 0 14px rgba(69,215,255,.38)}
  .intake-step-link.is-done .intake-step-tag{color:#69dcb0!important}
  .intake-step-block{display:block;min-width:0}
  .intake-step-headline{display:flex!important;align-items:center!important;gap:8px!important}
  .intake-step-title{
    display:block!important;
    font-family:var(--display)!important;
    font-size:.91rem!important;
    line-height:1.08!important;
    font-weight:820!important;
    color:#d9e6f8!important;
  }
  .intake-step-link.is-current .intake-step-title{color:#fff!important}
  .intake-step-req{
    display:block!important;
    margin-top:4px!important;
    font-family:var(--mono)!important;
    font-size:.49rem!important;
    line-height:1.35!important;
    letter-spacing:.075em!important;
    text-transform:uppercase!important;
    color:#64758f!important;
  }
  .intake-step-link.is-current .intake-step-req{color:#7fa2c8!important}
  .intake-step-live{
    width:6px!important;
    height:6px!important;
    flex:none;
    margin-left:auto!important;
    border-radius:50%;
    background:#45d7ff!important;
    box-shadow:0 0 8px rgba(69,215,255,.95),0 0 18px rgba(69,215,255,.45)!important;
  }
  .intake-rail-note{
    margin:auto 0 0!important;
    padding:15px 16px 16px!important;
    border:1px solid rgba(69,215,255,.17)!important;
    border-radius:15px!important;
    background:
      radial-gradient(circle at 0 0,rgba(69,215,255,.09),transparent 12rem),
      linear-gradient(135deg,rgba(18,104,255,.10),rgba(5,15,30,.82))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 34px rgba(0,0,0,.16)!important;
  }
  .intake-rail-note-head{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    font-family:var(--mono)!important;
    font-size:.56rem!important;
    letter-spacing:.09em!important;
    color:#8bdfff!important;
  }
  .intake-rail-note-head:before{display:none!important}
  .intake-rail-note-dot{
    order:-1;
    width:7px!important;
    height:7px!important;
    margin:0!important;
    background:#45d7ff!important;
    box-shadow:0 0 8px rgba(69,215,255,.95),0 0 17px rgba(69,215,255,.42)!important;
  }
  .intake-rail-note p{
    margin-top:9px!important;
    padding:0!important;
    font-size:.64rem!important;
    line-height:1.55!important;
    color:#8094b2!important;
  }
}

@media (max-width:1080px){
  .intake-steps:before,.intake-steps:after{display:none!important}
  .intake-step-link{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:9px!important;
    min-width:184px!important;
    padding:11px 12px!important;
    border:1px solid rgba(132,170,235,.12)!important;
    border-radius:13px!important;
  }
  .intake-step-link.is-current{border-color:rgba(69,215,255,.36)!important;background:rgba(18,104,255,.10)!important}
  .intake-step-link.is-pending{opacity:.48}
  .intake-step-title{font-size:.79rem!important}
  .intake-step-req{margin-top:3px!important;font-size:.48rem!important}
  .intake-step-tag{font-size:.52rem!important}
}

/* Top-state specificity correction: the original generic split-hero rule gives
   the text column a full viewport of its own. These page-specific frames share
   that viewport with their lower instrument, so the text column must yield. */
@media (max-width:680px){
  body.mobile-hero-at-top .page-about .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-contact .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-security .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-terms .hero-split-grid>:first-child{
    min-height:0!important;
    height:100%!important;
    padding:0!important;
  }
}

/* Remove the legacy numbered-node geometry from every new telemetry data span. */
.intake-step-link>.intake-step-tag,
.intake-step-link>.intake-step-block,
.intake-step-link .intake-step-headline,
.intake-step-link .intake-step-title,
.intake-step-link .intake-step-req{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  place-items:initial!important;
}
.intake-step-link .intake-step-live{
  width:6px!important;
  height:6px!important;
  border:0!important;
  border-radius:50%!important;
  background:#45d7ff!important;
  box-shadow:0 0 8px rgba(69,215,255,.95),0 0 18px rgba(69,215,255,.45)!important;
}

/* Keep telemetry sequence rows intrinsic. The legacy rail stretches grid auto
   rows to fill its available height, which makes each data block 90px tall. */
@media (min-width:1081px){
  .intake-steps{
    flex:0 0 auto!important;
    align-content:start!important;
    grid-auto-rows:max-content!important;
  }
  .intake-step-link{
    align-self:start!important;
    height:auto!important;
  }
}

@media (min-width:1081px){
  .intake-step-link{
    grid-template-rows:auto!important;
    row-gap:0!important;
  }
}

/* =========================================================
   v19.2.3 — mobile hero optical spacing refinement
   Stretch the upper content zones so their context labels anchor near the
   top of the frame, while lifting the lower evidence modules away from the
   scroll cue. The cue itself remains fixed at the first-frame fold.
   ========================================================= */
@media (max-width:680px){
  .page-cases .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-cases .hero-split-grid>:first-child{
    align-self:stretch!important;
    height:100%!important;
  }

  .blog-site:not(.article-site) .journal-mast-grid>div:first-child{
    align-self:stretch!important;
    height:100%!important;
  }
}

@media (max-width:680px) and (max-height:700px){
  .page-cases .hero-split-grid,
  body.mobile-hero-at-top .page-cases .hero-split-grid{
    padding:clamp(26px,4.5vh,32px) 0 56px!important;
    gap:8px!important;
  }
  .page-cases .crumb{margin-bottom:10px!important}
  .page-cases .mobile-scroll-cue{bottom:7px!important}

  .blog-site:not(.article-site) .journal-mast-grid{
    padding:clamp(30px,5vh,36px) 0 64px!important;
    gap:clamp(14px,2.3vh,18px)!important;
  }
  .blog-site:not(.article-site) .journal-mast .mobile-hero-narrative{
    padding:clamp(8px,1.5vh,13px) 0!important;
  }
  .blog-site:not(.article-site) .journal-mast-grid>.mobile-scroll-cue{
    bottom:11px!important;
  }
}

@media (max-width:680px){
  .page-cases .hero-split-grid,
  body.mobile-hero-at-top .page-cases .hero-split-grid{
    padding-bottom:56px!important;
  }
  .blog-site:not(.article-site) .journal-mast-grid{
    padding-bottom:64px!important;
  }
}

/* =========================================================
   v19.2.4 — final mobile hero alignment
   Case Studies: align the context block with the compact-phone rhythm used by
   the other public heroes without disturbing the centred narrative or score
   instrument. Privacy: place the continuation cue after the legal status
   sequence, before the optional at-a-glance routing panel.
   ========================================================= */
@media (max-width:680px) and (max-height:720px){
  .page-cases .hero-split-grid,
  body.mobile-hero-at-top .page-cases .hero-split-grid{
    padding-top:12px!important;
  }
}

@media (max-width:680px){
  .page-privacy .hero-split-grid>:first-child>.mobile-scroll-cue{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    grid-row:5!important;
    align-self:start!important;
    width:100%!important;
    margin:16px 0 0!important;
    padding:0!important;
    z-index:4;
  }
}

@media (max-width:680px) and (max-height:720px){
  .page-privacy .hero-split-grid>:first-child>.mobile-scroll-cue{
    margin-top:13px!important;
  }
}

/* =========================================================
   v19.2.5 — Privacy mobile first-frame completion
   Keep the complete legal status sequence and continuation cue inside the
   initial dynamic viewport. The optional At a Glance router begins below it.
   ========================================================= */
@media (max-width:680px){
  .page-privacy>.page-hero-split{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:visible!important;
  }

  .page-privacy .hero-split-grid{
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:18px!important;
    padding:0 0 54px!important;
    overflow:visible!important;
  }

  .page-privacy .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-privacy .hero-split-grid>:first-child{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:calc(100dvh - var(--mobile-header-height,64px))!important;
    min-height:calc(100svh - var(--mobile-header-height,64px))!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    align-content:stretch!important;
    padding:clamp(18px,2.8vh,26px) 0 12px!important;
    overflow:hidden!important;
  }

  .page-privacy .crumb{
    grid-row:1!important;
    margin:0 0 10px!important;
    align-self:start!important;
  }

  .page-privacy .eyebrow{
    grid-row:2!important;
    margin:0!important;
    align-self:start!important;
  }

  .page-privacy .mobile-hero-narrative{
    grid-row:3!important;
    align-self:center!important;
    width:100%!important;
    padding:clamp(8px,1.5vh,14px) 0!important;
  }

  .page-privacy .mobile-hero-narrative h1{
    margin:0!important;
    font-size:clamp(2.2rem,9.8vw,3rem)!important;
    line-height:.98!important;
  }

  .page-privacy .mobile-hero-narrative .lede{
    margin:clamp(12px,1.8vh,17px) 0 0!important;
    font-size:clamp(.86rem,3.6vw,.98rem)!important;
    line-height:1.42!important;
  }

  .page-privacy .status-ribbon{
    grid-row:4!important;
    align-self:end!important;
    display:flex!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .page-privacy .status-ribbon span{
    padding:8px 10px!important;
    font-size:clamp(.55rem,2.55vw,.65rem)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  .page-privacy .hero-split-grid>:first-child>.mobile-scroll-cue{
    grid-row:5!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    align-self:end!important;
    width:100%!important;
    min-height:18px!important;
    margin:9px 0 0!important;
    padding:0!important;
    z-index:4!important;
  }

  .page-privacy .contact-router{
    grid-row:2!important;
    min-height:0!important;
    margin:0!important;
  }
}

@media (max-width:680px) and (max-height:720px){
  .page-privacy .hero-split-grid>:first-child,
  body.mobile-hero-at-top .page-privacy .hero-split-grid>:first-child{
    padding-top:14px!important;
    padding-bottom:9px!important;
  }

  .page-privacy .crumb{margin-bottom:7px!important}
  .page-privacy .mobile-hero-narrative{padding:5px 0!important}
  .page-privacy .mobile-hero-narrative .lede{margin-top:9px!important;line-height:1.35!important}
  .page-privacy .status-ribbon{gap:6px!important}
  .page-privacy .status-ribbon span{padding:7px 9px!important}
  .page-privacy .hero-split-grid>:first-child>.mobile-scroll-cue{margin-top:7px!important}
}

/* =========================================================
   v19.2.6 — Privacy mobile status-to-cue breathing room
   Lift the complete legal-status cluster without moving the continuation cue,
   preserving the first-frame composition while creating a clearer separation.
   ========================================================= */
@media (max-width:680px){
  .page-privacy .status-ribbon{
    transform:translateY(-12px)!important;
  }
}

@media (max-width:680px) and (max-height:720px){
  .page-privacy .status-ribbon{
    transform:translateY(-9px)!important;
  }
}

/* =========================================================
   v19.2.7 — Full Score intake responsive geometry
   Mobile becomes a compact, deliberate command rail rather than a tall
   survey strip. Desktop keeps the rail and live stage on one fixed top axis.
   ========================================================= */

/* Both grid children own the same top coordinate on desktop. */
#intakeStep{
  min-width:0;
  align-self:start;
  margin:0;
}
#intakeStep>.intake-card{margin:0}

@media (min-width:1081px){
  .intake-layout{
    align-items:start!important;
  }
  .intake-rail,
  #intakeStep{
    align-self:start!important;
    margin-top:0!important;
  }
  /* The rail summary begins on the same top axis as the stage element. */
  .intake-rail{
    padding-top:0!important;
  }
  .intake-rail-summary{
    margin:0!important;
    padding:18px 2px 17px!important;
  }
}

@media (max-width:1080px){
  .intake-layout{
    display:flex!important;
    flex-direction:column!important;
    width:min(100% - 28px,1180px)!important;
    gap:16px!important;
    padding-top:18px!important;
    padding-bottom:72px!important;
  }

  .intake-rail{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .intake-rail-summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin:0!important;
    padding:0 2px 11px!important;
    border-bottom:1px solid rgba(132,170,235,.14)!important;
  }
  .intake-rail-summary span{
    font-size:.57rem!important;
    letter-spacing:.14em!important;
    color:#7bc6ff!important;
  }
  .intake-rail-summary small{
    display:block!important;
    font-size:.50rem!important;
    color:#667b9b!important;
  }

  .intake-steps{
    position:relative!important;
    display:flex!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 0 3px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scroll-padding-inline:1px;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  .intake-steps:before,
  .intake-steps:after{display:none!important}

  .intake-step-link{
    flex:0 0 min(78vw,286px)!important;
    scroll-snap-align:start;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-items:start!important;
    width:auto!important;
    min-width:0!important;
    min-height:88px!important;
    height:auto!important;
    margin:0!important;
    padding:14px 15px!important;
    border:1px solid rgba(132,170,235,.13)!important;
    border-left-width:1px!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(10,24,44,.78),rgba(5,13,26,.76))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
    overflow:hidden!important;
  }
  .intake-step-link:not(:last-child){border-bottom-color:rgba(132,170,235,.13)!important}
  .intake-step-link:hover{transform:none!important}
  .intake-step-link.is-current{
    border-color:rgba(69,215,255,.42)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(69,215,255,.10),transparent 9rem),
      linear-gradient(135deg,rgba(18,104,255,.17),rgba(6,17,33,.90))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 30px rgba(0,0,0,.12)!important;
    opacity:1!important;
  }
  .intake-step-link.is-done{
    border-color:rgba(66,226,161,.22)!important;
    opacity:.86!important;
  }
  .intake-step-link.is-pending{opacity:.38!important}

  .intake-step-tag{
    padding-top:2px!important;
    font-size:.54rem!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }
  .intake-step-block{min-width:0!important}
  .intake-step-headline{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:18px!important;
  }
  .intake-step-title{
    font-size:.94rem!important;
    line-height:1.08!important;
  }
  .intake-step-req{
    margin-top:8px!important;
    font-size:.50rem!important;
    line-height:1.45!important;
    letter-spacing:.075em!important;
    overflow-wrap:anywhere;
  }
  .intake-step-live{
    width:7px!important;
    height:7px!important;
    margin-left:auto!important;
  }
  .intake-rail-note{display:none!important}

  #intakeStep{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #intakeStep>.intake-card{
    width:100%!important;
  }
}

@media (max-width:680px){
  .intake-header{
    height:72px!important;
  }
  .intake-header-inner{
    width:calc(100% - 28px)!important;
  }
  .intake-header .flow-brand img{
    width:44px!important;
    height:44px!important;
  }
  .intake-progress-head{
    min-width:0!important;
    gap:10px!important;
  }
  .intake-progress-head span{
    font-size:.54rem!important;
    letter-spacing:.12em!important;
    white-space:nowrap;
  }
  .intake-progress-bar{
    width:min(34vw,132px)!important;
  }

  .intake-layout{
    gap:14px!important;
    padding-top:16px!important;
  }
  .intake-steps{
    gap:9px!important;
    padding-top:10px!important;
  }
  .intake-step-link{
    flex-basis:min(82vw,292px)!important;
    min-height:84px!important;
    padding:13px 14px!important;
    border-radius:15px!important;
  }

  .intake-card{
    padding:22px 20px!important;
    border-radius:21px!important;
  }
  .intake-card-head{
    margin-bottom:24px!important;
  }
  .intake-card-head span{
    font-size:.58rem!important;
  }
  .intake-card-head h1{
    font-size:clamp(2.45rem,12vw,3.15rem)!important;
    line-height:.98!important;
    margin:12px 0 13px!important;
  }
  .intake-card-head p{
    font-size:.92rem!important;
    line-height:1.58!important;
  }
  .intake-form-grid{
    gap:16px!important;
  }
  .intake-actions{
    margin-top:25px!important;
    padding-top:20px!important;
  }
}

@media (max-width:390px){
  .intake-progress-head span{font-size:.50rem!important}
  .intake-progress-bar{width:112px!important}
  .intake-step-link{
    flex-basis:84vw!important;
  }
  .intake-card-head h1{
    font-size:clamp(2.3rem,11.5vw,2.85rem)!important;
  }
}
