/* ORAV Forge responsive rules. */
@media (max-width:1000px) {
  .resource-mini-grid {
    grid-template-columns:1fr 1fr
  }
  .resource-mini-grid a:last-child {
    grid-column:1/-1
  }
  .resource-grid {
    grid-template-columns:1fr 1fr
  }
  .resource-card:first-child {
    grid-column:1/-1;
    min-height:330px
  }
  .resources-product-callout {
    grid-template-columns:1fr;
    gap:55px
  }
  .resources-product-visual {
    width:min(560px,100%);
    margin:0 auto
  }
  .article-layout {
    grid-template-columns:1fr;
    gap:44px
  }
  .article-toc {
    position:static
  }
  .company-hero {
    grid-template-columns:1fr
  }
  .company-hero-art {
    width:min(620px,100%);
    margin:0 auto
  }
  .product-showcase {
    grid-template-columns:1fr
  }
  .product-phones {
    min-height:650px
  }
  .mini-phone-front {
    right:20%
  }
  .mini-phone-back {
    left:20%
  }
  .principle-grid {
    grid-template-columns:1fr
  }
  .principle-grid article {
    min-height:200px
  }
  .principle-grid h3 {
    margin-top:36px
  }
  .full-product-card {
    grid-template-columns:1fr
  }
  .full-product-visual {
    min-height:650px
  }
  .screen-one {
    right:20%
  }
  .screen-two {
    left:20%
  }
  .about-intro {
    gap:38px
  }
  .about-grid-section,.about-intro {
    grid-template-columns:1fr
  }
  .about-grid-section article {
    min-height:300px
  }
  .legal-layout,.support-content {
    grid-template-columns:1fr
  }
  .legal-layout {
    gap:45px
  }
  .legal-layout aside {
    position:static
  }
  .hero {
    grid-template-columns:1fr;
    gap:55px
  }
  .hero-copy {
    max-width:780px
  }
  .hero-visual {
    width:min(620px,100%);
    margin:0 auto
  }
  .phone-front {
    left:40%
  }
  .phone-back {
    left:12%
  }
  .release-grid {
    grid-template-columns:1fr 1fr
  }
  .release-card-featured {
    transform:none
  }
  .release-card:last-child {
    grid-column:1/-1;
    justify-self:center;
    width:calc(50% - 9px)
  }
  .feature-grid,.screen-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .screen-card.screen-raised {
    margin-top:0
  }
  .screen-phone {
    height:650px
  }
  .record-flow {
    grid-template-columns:1fr
  }
  .analytics-preview {
    width:min(560px,100%);
    margin:0 auto
  }
  .faq {
    grid-template-columns:1fr;
    gap:45px
  }
  .faq-heading {
    position:static
  }
  .store-placeholder {
    grid-template-columns:auto 1fr
  }
  .store-button-large {
    grid-column:2;
    justify-self:start
  }
}
@media (max-width:720px) {
  .resource-mini-grid {
    grid-template-columns:1fr
  }
  .resource-mini-grid a:last-child {
    grid-column:auto
  }
  .resource-mini-grid a {
    min-height:220px
  }
  .resource-grid {
    grid-template-columns:1fr
  }
  .resource-card:first-child {
    grid-column:auto
  }
  .resource-card {
    min-height:345px;
    padding:28px
  }
  .resources-product-callout {
    grid-template-columns:minmax(0,1fr)
  }
  .resources-product-visual {
    min-height:480px
  }
  .resource-phone {
    width:225px;
    height:455px;
    left:5%
  }
  .resource-phone-back {
    width:175px;
    height:355px;
    top:65px;
    right:4%;
    left:auto
  }
  .resource-disclaimer {
    grid-template-columns:1fr;
    gap:8px
  }
  .article-hero {
    padding:45px 5vw 60px
  }
  .breadcrumb {
    margin-bottom:48px
  }
  .article-hero h1 {
    font-size:clamp(45px,13vw,64px)
  }
  .article-lead {
    font-size:16px
  }
  .article-layout {
    padding-top:65px
  }
  .article-content {
    font-size:16px
  }
  .article-content>p:first-child {
    font-size:18px
  }
  .article-topic-grid {
    grid-template-columns:1fr
  }
  .article-cta {
    grid-template-columns:1fr;
    padding:28px
  }
  .site-header {
    padding:18px 5vw
  }
  .brand-copy {
    display:none
  }
  nav {
    gap:16px;
    font-size:12px
  }
  .hero {
    padding:58px 5vw 46px
  }
  .company-hero,.hero {
    grid-template-columns:minmax(0,1fr)
  }
  .company-hero {
    gap:50px;
    padding:60px 5vw 50px
  }
  .company-hero-copy>p:not(.eyebrow) {
    font-size:16px
  }
  .company-hero-art {
    min-height:420px
  }
  .company-chip {
    bottom:5px;
    right:0
  }
  h1 {
    font-size:clamp(46px,13vw,66px)
  }
  .hero-intro {
    font-size:16px
  }
  .hero-actions {
    flex-direction:column;
    align-items:flex-start
  }
  .hero-points {
    flex-direction:column;
    gap:10px
  }
  .release-heading {
    grid-template-columns:1fr;
    gap:28px
  }
  .release-grid {
    scroll-snap-type:x mandatory;
    gap:16px;
    margin-right:-5vw;
    padding:20px 5vw 28px 0;
    display:flex;
    overflow-x:auto
  }
  .release-card,.release-card:last-child {
    scroll-snap-align:start;
    flex:0 0 78vw;
    width:auto
  }
  .release-screen {
    height:430px
  }
  .release-copy {
    min-height:225px
  }
  .hero-visual {
    min-height:455px
  }
  .phone-front {
    width:214px;
    height:433px;
    left:37%
  }
  .phone-back {
    width:174px;
    height:352px;
    left:1%
  }
  .privacy-chip {
    bottom:8px;
    right:0
  }
  .trust-strip {
    grid-template-columns:1fr 1fr;
    padding:0 5vw
  }
  .trust-strip div {
    padding:20px 16px 20px 0
  }
  .trust-strip div:nth-child(2) {
    border-right:0
  }
  .section-shell,.store-placeholder {
    padding:75px 5vw
  }
  .product-copy {
    padding:38px 26px
  }
  .product-actions {
    flex-direction:column;
    align-items:flex-start
  }
  .product-phones {
    min-height:525px
  }
  .mini-phone-front {
    width:230px;
    height:465px;
    right:7%
  }
  .mini-phone-back {
    width:175px;
    height:355px;
    left:2%
  }
  .company-cta {
    flex-direction:column;
    align-items:flex-start
  }
  .inner-hero,.legal-hero {
    grid-template-columns:1fr;
    gap:40px;
    min-height:430px;
    padding:75px 5vw 65px
  }
  .inner-hero-mark {
    justify-self:end;
    width:125px;
    height:125px
  }
  .inner-hero-mark span {
    font-size:38px
  }
  .inner-hero-mark small {
    margin-bottom:25px
  }
  .full-product-copy {
    padding:38px 26px
  }
  .full-product-visual {
    min-height:520px
  }
  .screen-one {
    width:230px;
    height:465px;
    right:8%
  }
  .screen-two {
    width:175px;
    height:355px;
    left:2%
  }
  .about-hero,.direction-grid,.support-links {
    grid-template-columns:1fr
  }
  .about-art {
    width:min(380px,100%)
  }
  .brand-direction {
    grid-template-columns:1fr
  }
  .brand-fire {
    width:100px;
    height:100px
  }
  .support-card {
    padding:35px 25px
  }
  .sensitive-warning {
    grid-template-columns:1fr
  }
  .warning-icon {
    width:70px;
    height:70px
  }
  .section-heading {
    gap:24px
  }
  .feature-grid,.section-heading {
    grid-template-columns:1fr
  }
  .feature-grid article {
    min-height:220px
  }
  .screen-grid {
    scroll-snap-type:x mandatory;
    gap:16px;
    margin-right:-5vw;
    padding:0 5vw 25px 0;
    display:flex;
    overflow-x:auto
  }
  .screen-card {
    scroll-snap-align:start;
    flex:0 0 75vw
  }
  .screen-phone {
    height:530px
  }
  .record-flow {
    gap:60px
  }
  .analytics-preview {
    min-height:520px
  }
  .analytics-phone {
    width:260px;
    height:500px;
    left:8%
  }
  .privacy-panel {
    grid-template-columns:1fr;
    padding:35px 28px
  }
  .shield {
    border-radius:42% 42% 50% 50%/28% 28% 70% 70%;
    width:84px;
    height:96px;
    font-size:28px
  }
  .privacy-points {
    grid-template-columns:1fr
  }
  .store-placeholder {
    grid-template-columns:auto 1fr;
    align-items:flex-start
  }
  .store-button-large {
    grid-column:1/-1
  }
  footer {
    grid-template-columns:1fr;
    padding-left:5vw;
    padding-right:5vw
  }
  .footer-links {
    flex-wrap:wrap
  }
}
@media (max-width:440px) {
  .resource-card-meta {
    align-items:flex-start;
    flex-direction:column
  }
  .resources-product-visual {
    min-height:405px
  }
  .resource-phone {
    width:190px;
    height:385px;
    left:2%
  }
  .resource-phone-back {
    width:145px;
    height:294px;
    right:0;
    left:auto
  }
  .article-meta {
    flex-direction:column;
    gap:8px
  }
  .article-meta span+span:before {
    display:none
  }
  .article-example,.article-template {
    padding:24px 20px
  }
  .site-header {
    align-items:flex-start
  }
  nav {
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:9px 13px;
    max-width:230px
  }
  .company-hero-art {
    min-height:350px
  }
  .company-chip {
    padding:11px 13px
  }
  .product-phones {
    min-height:450px
  }
  .mini-phone-front {
    width:195px;
    height:394px
  }
  .mini-phone-back {
    width:145px;
    height:294px
  }
  .full-product-visual {
    min-height:450px
  }
  .screen-one {
    width:195px;
    height:394px
  }
  .screen-two {
    width:145px;
    height:294px
  }
  .legal-content .legal-lead {
    font-size:18px
  }
  .legal-content h2 {
    font-size:23px
  }
  .hero-visual {
    min-height:405px
  }
  .app-kicker {
    flex-wrap:wrap
  }
  .release-pill {
    margin-left:0
  }
  .phone-front {
    width:190px;
    height:385px;
    left:38%
  }
  .phone-back {
    width:148px;
    height:300px;
    top:50px
  }
  .privacy-chip {
    padding:11px 13px
  }
  .trust-strip {
    grid-template-columns:1fr
  }
  .trust-strip div {
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .store-placeholder {
    grid-template-columns:1fr
  }
  .store-button-large {
    grid-column:1
  }
  .store-icon-wrap {
    width:fit-content
  }
}


/* Collapsible navigation for smaller screens. */
@media (max-width: 720px) {
  .site-header {
    flex-wrap: wrap;
  }

  html.js .nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  html.js .site-header nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    width: auto;
    max-width: none;
    padding: 16px 5vw 20px;
    border-bottom: 1px solid var(--line);
    background: #090a0afa;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 4px;
    font-size: 14px;
  }

  html.js .site-header nav.is-open {
    display: flex;
  }

  html.js .site-header nav a {
    padding: 11px 12px;
    border-radius: 8px;
  }

  html.js .site-header nav a:hover,
  html.js .site-header nav a:focus-visible {
    background: #ffffff08;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
