/* Harbor CareOps 1.10 — touch-first landing page for iOS, iPadOS and Android. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;overflow-x:hidden}
.reveal{opacity:1;transform:none}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(239,124,96,.18)}
button,.button,.secondary-button,.plan-button,.google-button,.password-button{touch-action:manipulation}
img{max-width:100%}

@supports(padding:max(0px)){
  .announcement{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .site-header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(25px,env(safe-area-inset-bottom))}
}

@media(max-width:1000px){
  section[id]{scroll-margin-top:104px}
  .site-header{position:sticky;top:0;background:rgba(252,252,250,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,225,231,.85);z-index:40}
  .menu-button{width:48px;height:48px;padding:12px;display:grid;place-content:center;gap:5px}
  .menu-button span{display:block;width:22px;height:2px;background:#17213b;border-radius:2px;transition:.2s}
  .site-header nav{top:calc(100% + 8px);max-height:calc(100dvh - 104px);overflow:auto;border:1px solid #e2e5e8;border-radius:14px;padding:16px}
  .site-header nav a,.site-header nav button{min-height:48px;display:flex;align-items:center;padding:11px 14px;border-radius:9px}
  .site-header nav .button-small{justify-content:center}
  .hero{gap:34px;padding-top:44px}
  .hero-photo-frame{border-radius:14px}
  .role-tabs{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .role-tabs button{min-height:48px;white-space:nowrap;scroll-snap-align:start}
}

@media(max-width:640px){
  .announcement{min-height:38px;padding-top:7px;padding-bottom:7px;gap:10px;font-size:11px}
  .announcement a{min-height:24px}
  .announcement span:first-child{max-width:62%;line-height:1.25}
  .harbor-brand img{width:min(210px,55vw);height:auto}
  .hero{padding-top:34px;padding-bottom:82px}
  .hero h1{font-size:clamp(42px,13vw,58px);line-height:1.02}
  .hero-lede{font-size:18px;line-height:1.55}
  .button-row{width:100%;gap:14px}
  .button-row .button,.button-row .secondary-button{width:100%;min-height:52px}
  .hero-photo{margin-top:30px}
  .hero-photo-frame img{aspect-ratio:4/3;object-position:56% center}
  .context-strip div{font-size:11px}
  .section-heading h2,.workflow-copy h2,.quality-intro h2,.policy-section h2,.security-copy h2,.demo-card h2{font-size:clamp(35px,10.5vw,46px)}
  .pillar{min-height:430px}
  .form-demo{overflow:hidden}
  .two-fields{grid-template-columns:1fr}
  .form-body input,.demo-card input,.demo-card select,.signup-content input{font-size:16px!important;min-height:48px}
  .form-actions button{min-height:44px}
  .role-panel{padding:28px 20px}
  .role-panel h3{font-size:31px}
  .role-panel ul{grid-template-columns:1fr}
  .quality-cycle{transform:scale(.86);transform-origin:center}
  .volumes{grid-template-columns:1fr}
  .security-list{grid-template-columns:1fr}
  .demo-card{padding:36px 20px}
  .footer-top,.footer-bottom{align-items:flex-start;gap:18px;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px}
  .signup-content{padding-bottom:max(28px,env(safe-area-inset-bottom))}
  .signup-dialog{height:100dvh;max-height:100dvh}
  .signup-content{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .signup-google,.signup-submit,.password-toggle{min-height:48px}
}

@media(max-width:390px){
  .footer-grid{grid-template-columns:1fr}
  .quality-cycle{transform:scale(.74);margin-inline:-34px}
}

@media(orientation:landscape) and (max-height:560px){
  .site-header{position:relative}
  .signup-content{padding-top:44px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
}
