/* One Health registration portal v2 — readability + responsive refinement */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Slightly larger, more readable typography while preserving the original visual system */
.brand-copy strong{font-size:14px}.brand-copy small{font-size:10.5px}.header-pill{font-size:11px}.lang-btn{font-size:11px}
.event-label{font-size:12px}.event-intro p{font-size:clamp(16px,1.35vw,20px)}
.eyebrow{font-size:10.5px}.card-topline h2{font-size:22px}.section-index{font-size:11.5px}
.info-tab{font-size:11.5px;padding:11px 5px}.event-facts small{font-size:10px}.event-facts b{font-size:11.5px;line-height:1.35}
.info-summary{font-size:13.5px;line-height:1.6}.format-row{font-size:11.5px;line-height:1.4}
.organiser-hero small{font-size:10px}.organiser-hero b{font-size:13px}.compact-list b{font-size:11.5px}.compact-list small{font-size:9.5px}
.programme-line small{font-size:9.5px}.programme-line b{font-size:12.5px}.programme-line p{font-size:10.5px;line-height:1.4}.programme-note{font-size:10.5px;line-height:1.45}
.speaker-mini b{font-size:12px}.speaker-mini small{font-size:10px}.target-audience{font-size:10.5px;line-height:1.55}
.open-status,.locked-pill{font-size:9px}.registration-kicker{font-size:10px}.register-copy h3{font-size:22px}.register-copy p{font-size:12.5px;line-height:1.6}
.reg-benefits span{font-size:9.5px}.register-btn{font-size:12.5px}.privacy-hint{font-size:9.5px;line-height:1.5}
.media-card p,.media-copy p{font-size:11.5px;line-height:1.55}.media-placeholder-list span{font-size:10px}
.contact-strip>div span{font-size:9.5px}.contact-strip>div b{font-size:17px}.contact-strip b{font-size:11px}.contact-strip small{font-size:9.5px}.site-footer{font-size:9px}
.modal-dialog{width:min(1080px,calc(100vw - 32px))}.modal-head h2{font-size:26px}.modal-head p{font-size:12px;line-height:1.4}
.form-section-title b{font-size:15.5px}.form-section-title small{font-size:10.5px}.field>span,.interest-fieldset legend{font-size:10.5px}
.field input,.field select,.field textarea{font-size:13px;line-height:1.35}.field-error{font-size:9.5px}.choice-card b{font-size:12px}.choice-card small{font-size:10.5px;line-height:1.35}
.interest-grid label{font-size:10.5px;line-height:1.35}.consent-box label{font-size:10.5px;line-height:1.5}.form-footer p{font-size:9.5px}.submit-btn{font-size:12px}.toast b{font-size:12px}.toast small{font-size:10.5px}

/* Tablet */
@media(max-width:1000px){
  .portal-grid{gap:16px}.portal-card{min-height:auto}.info-card{min-height:0}.contact-strip b,.contact-strip small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .modal-dialog{width:min(900px,calc(100vw - 24px))}
}

/* Mobile and portrait tablets */
@media(max-width:850px){
  .site-header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .page-shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .event-label{font-size:10.5px;letter-spacing:.12em}.event-intro h1{font-size:clamp(29px,7.5vw,38px);line-height:1.07}.event-intro p{font-size:16px;line-height:1.45}
  .portal-card{min-height:0}.register-card{order:-1}.card-topline{padding:22px 20px 18px}.card-topline h2{font-size:21px}
  .info-tabs{margin:0 16px 18px}.info-tab{min-height:44px;font-size:11.5px}.info-panel{padding:0 20px 22px}
  .event-facts>div{grid-template-columns:44px 1fr;padding:11px 0}.fact-icon{width:41px;height:41px}.event-facts b{font-size:12px}.event-facts small{font-size:10px}
  .register-copy{padding:0 22px}.register-copy h3{font-size:21px;line-height:1.18}.register-copy p{font-size:12.5px}.reg-benefits span{font-size:10px;min-height:44px}.register-btn{min-height:58px;font-size:13px}
  .contact-strip{grid-template-columns:1fr}.contact-strip>a{min-height:72px;padding:16px 18px}.contact-strip b{font-size:12px}.contact-strip small{font-size:10px}
  .modal{padding:8px}.modal-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .modal-head{padding:22px 60px 20px 18px}.modal-head h2{font-size:21px}.modal-head p{font-size:11px}
  form{padding:0 18px 24px}.form-section{padding:23px 0}.form-section-title{margin-bottom:18px}.form-section-title b{font-size:15px}.form-section-title small{font-size:10.5px}
  .field>span,.interest-fieldset legend{font-size:11px}.field input,.field select{height:49px}.field input,.field select,.field textarea{font-size:16px;padding:12px 13px}.field textarea{min-height:96px}
  .choice-card{min-height:92px;padding:15px 44px 15px 15px}.choice-card b{font-size:13px}.choice-card small{font-size:11px}
  .interest-grid label{min-height:46px;font-size:11px;padding:10px 11px}.consent-box{padding:16px}.consent-box label{font-size:11px}.submit-btn{height:52px;font-size:13px}
}

/* Small phones: full-screen modal and generous touch targets */
@media(max-width:600px){
  .site-header{height:72px}.brand-mark{width:44px;height:44px}.brand-copy strong{font-size:12.5px}.lang-btn{min-width:38px;height:38px}
  .page-shell{padding-top:24px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.event-intro{margin-bottom:20px}
  .event-intro h1{font-size:clamp(27px,8vw,33px)}.event-intro p{font-size:15px}.portal-grid{gap:12px}.portal-card{border-radius:22px}
  .card-topline{grid-template-columns:42px 1fr auto;padding:20px 18px 16px}.section-index{width:42px;height:42px}.card-topline h2{font-size:20px}.eyebrow{font-size:9.5px}
  .info-tabs{grid-template-columns:1fr 1fr;margin:0 14px 17px;gap:6px}.info-tab{font-size:11.5px;padding:10px 6px}.info-panel{padding:0 18px 20px}
  .info-summary{font-size:13px}.format-row{font-size:11px}.programme-line b{font-size:12px}.programme-line p{font-size:10.5px}.target-audience{font-size:10.5px}
  .registration-visual{height:185px}.register-copy{padding:0 19px}.register-copy h3{font-size:20px}.register-copy p{font-size:12px}.reg-benefits{grid-template-columns:1fr;margin-left:18px;margin-right:18px}.register-btn{width:calc(100% - 36px);margin-left:18px;margin-right:18px}.privacy-hint{margin-left:20px;margin-right:20px}
  .media-placeholder-list{grid-template-columns:1fr}.contact-strip{border-radius:18px}.contact-strip>div{padding:18px}.contact-strip>a{grid-template-columns:42px 1fr}.contact-strip>a>span{width:40px;height:40px}.site-footer{font-size:8.5px;line-height:1.45;text-align:center}
  .modal{padding:0;align-items:stretch}.modal-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-left:0;border-right:0;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
  .modal-close{top:8px;right:8px;margin:8px 8px 0 0;width:42px;height:42px}.modal-head{padding:18px 58px 18px 14px;grid-template-columns:48px 1fr;gap:12px}.modal-icon{width:48px;height:48px;border-radius:14px}.modal-icon img{width:42px}.modal-head h2{font-size:19px;line-height:1.18}.modal-head p{font-size:10.5px}
  form{padding:0 14px 22px}.form-section{padding:21px 0}.cols-3,.cols-2,.choice-grid,.nested-grid,.interest-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-section-title{grid-template-columns:38px 1fr;gap:9px}.form-section-title>span{width:36px;height:36px}.form-section-title b{font-size:14.5px}.field{gap:7px}.field>span{font-size:10.5px}.choice-card{min-height:84px}.interest-grid{gap:8px}.interest-grid label{font-size:10.8px}.consent-box label{font-size:10.7px}.form-footer{gap:14px}.form-footer p{font-size:9.5px}.submit-btn{width:100%;min-width:0;height:54px}
  .toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}
}

@media(max-width:380px){
  .brand-copy small{display:none}.event-intro h1{font-size:26px}.card-topline{grid-template-columns:38px 1fr auto;gap:9px}.section-index{width:38px;height:38px;border-radius:12px}.open-status,.locked-pill{padding:6px 8px;font-size:8px}.modal-head h2{font-size:18px}
}
