/* Public site: same visual language as the panels — dark navy gradient heroes, square corners,
   white bordered cards, square buttons. Loaded last on public pages (bodybody.public-area). */
body.public-area{--pm-ink:#0f172a;--pm-muted:#64748b;--pm-line:#e6e9ee;--pm-navy:#0b1220;--pm-hero:radial-gradient(900px 320px at 85% -30%,rgba(127,177,209,.32),transparent 60%),linear-gradient(120deg,#0b1220 0%,#13233b 58%,#1b3550 100%)}

/* Square corners everywhere in public content (status dots excepted) */
body.public-area main *,body.public-area>section *,body.public-area .site-main *,
body.public-area section,body.public-area section *,body.public-area .footer *,body.public-area .topbar .btn,body.public-area .nav-item{border-radius:0!important}
body.public-area .verify-status-dot{border-radius:50%!important}

/* Heroes */
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero){position:relative;background:var(--pm-hero)!important;border-bottom:0!important}
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero)::before,
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero)::after{opacity:.08}
body.public-area :is(.registry-hero-copy,.about2-hero-copy,.acc-hero-copy,.public-register-hero-copy,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) :is(h1,h2,.display-title){color:#fff!important}
body.public-area :is(.registry-hero-copy,.about2-hero-copy,.acc-hero-copy,.public-register-hero-copy,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) :is(p,.lead,li){color:#c7d3e0!important}
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) .eyebrow{color:#9fd0ef!important}
body.public-area :is(.registry-hero-copy,.about2-hero-copy,.acc-hero-copy,.public-register-hero-copy,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) :is(.btn-dark,.btn-primary){background:#fff!important;color:#0b1220!important;border-color:#fff!important}
body.public-area :is(.registry-hero-copy,.about2-hero-copy,.acc-hero-copy,.public-register-hero-copy,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) .btn-outline{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
/* highlighted words / underlines in hero titles */
body.public-area .registry-hero-copy h1 *{color:#fff!important}
body.public-area .registry-hero-copy h1 svg,body.public-area .registry-hero-copy h1 [class*="underline"]{color:#7fb1d1!important;stroke:#7fb1d1!important}
/* Light chips & stat cards that sit inside heroes keep dark text on white */
body.public-area :is(.hero-counter-card,.public-register-hero-stats>*,.acc-hero-copy .acc-chip,.acc-tags span,.about2-hero-stats>*){background:#fff!important;color:var(--pm-ink)!important;border:1px solid rgba(255,255,255,.2)!important}
body.public-area :is(.hero-counter-card,.public-register-hero-stats>*) *{color:inherit}
body.public-area :is(.hero-counter-card,.public-register-hero-stats>*) small,body.public-area .hero-counter-card span{color:var(--pm-muted)!important}
/* Buttons, titles and gradient-text titles inside any hero */
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) a.btn.btn-dark,body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) a.btn.btn-primary,body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) button.btn-primary{background:#fff!important;color:#0b1220!important;border-color:#fff!important}
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) a.btn.btn-outline{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) :is(h1,.display-title){color:#fff!important}
body.public-area :is(.registry-hero,.about2-hero,.acc-hero,.public-register-modern-hero,.verify-hero,.seo-provider-hero,.trainer-detail-hero,.page-hero) .lead{color:#c7d3e0!important}
body.public-area .registry-hero-copy h1.hero-gradient-title,body.public-area .registry-hero-copy h1.hero-gradient-title .hero-drawn-word{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#fff!important;color:#fff!important}
body.public-area :is(.trainer-detail-hero,.seo-provider-hero) :is(p,small,.trainer-detail-provider,.trainer-detail-provider *,.trainer-detail-intro,.seo-provider-trading,.muted){color:#c7d3e0!important}
body.public-area :is(.trainer-detail-hero,.seo-provider-hero) a:not(.btn){color:#9fd0ef!important}
/* Hero images */
body.public-area :is(.registry-hero,.about2-hero,.acc-hero) img{box-shadow:0 24px 60px rgba(0,0,0,.35)}
/* Auth pages: left intro panel uses the hero style */
body.public-area .auth-intro{background:var(--pm-hero)!important;color:#fff}
body.public-area .auth-intro :is(h1,h2){color:#fff!important}
body.public-area .auth-intro :is(p,li,span){color:#c7d3e0!important}
body.public-area .auth-intro .eyebrow{color:#9fd0ef!important}
body.public-area .auth-wide{border:1px solid var(--pm-line);box-shadow:0 18px 40px rgba(15,23,42,.08)}

/* Cards & content blocks */
body.public-area :is(.card,.blog-card,.number-card,.verify-record-card,.seo-provider-card,.trainer-detail-card,.trainer-provider-card,.provider-card-link,.about2-model-card,.quality-criterion,.solution-card){border-radius:0}
body.public-area :is(.card,.verify-record-card,.seo-provider-card,.trainer-detail-card,.trainer-provider-card){border:1px solid var(--pm-line);box-shadow:0 1px 2px rgba(15,23,42,.04)}
body.public-area .blog-card{border-top:3px solid var(--pm-navy)}
body.public-area .blog-card .thumb{border:1px solid var(--pm-line)}

/* Buttons */
body.public-area .btn{border-radius:0!important;letter-spacing:.01em}
body.public-area .btn-dark,body.public-area .btn-primary{background:var(--pm-navy);border-color:var(--pm-navy)}
body.public-area .btn-dark:hover,body.public-area .btn-primary:hover{background:#1b3550}

/* Forms */
body.public-area .field input,body.public-area .field select,body.public-area .field textarea{border:1px solid #d8dde4;padding:12px 13px;transition:border-color .15s ease,box-shadow .15s ease}
body.public-area .field input:focus,body.public-area .field select:focus,body.public-area .field textarea:focus{border-color:#2b5875;box-shadow:0 0 0 3px rgba(43,88,117,.12)}

/* Header */
body.public-area .topbar{box-shadow:0 1px 0 var(--pm-line),0 6px 20px rgba(15,23,42,.04)}
body.public-area .nav-login-emphasis{background:var(--pm-navy)!important;color:#fff!important}
body.public-area .nav-provider-cta{border-color:var(--pm-navy)!important}

/* Footer */
body.public-area .footer{background:linear-gradient(120deg,#0b1220 0%,#111c2e 100%)}
body.public-area .footer-bottom{border-top-color:rgba(255,255,255,.08)}

/* ===== Auth pages: login, register, forgot / reset password ===== */
body.public-area:has(.auth-wide){background:linear-gradient(180deg,#e9eef4 0,#f5f6f8 420px,#f5f6f8 100%)}
body.public-area .auth-wide{width:min(1200px,94vw);margin:48px auto 80px;min-height:640px;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);border:0;background:#fff;box-shadow:0 30px 80px rgba(11,18,32,.14),0 2px 6px rgba(11,18,32,.06)}
body.public-area .auth-intro{padding:56px 52px;justify-content:center;gap:0}
body.public-area .auth-wide:has(.wizard-form) .auth-intro{justify-content:flex-start;padding-top:72px}
body.public-area .auth-intro::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(160deg,#000 0%,transparent 75%);-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 75%);pointer-events:none}
body.public-area .auth-intro::after{width:420px;height:420px;border:0;border-radius:50%!important;background:radial-gradient(circle,rgba(127,177,209,.28),transparent 65%);right:-160px;bottom:-160px;transform:none}
body.public-area .auth-intro>*{position:relative;z-index:1}
body.public-area .auth-intro h1{font-size:clamp(38px,3.8vw,56px);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin:12px 0 18px}
body.public-area .auth-intro p{font-size:16px;line-height:1.65}
body.public-area .auth-points{display:grid;gap:10px;margin-top:28px}
body.public-area .auth-points span{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:#e6edf5!important}
body.public-area .auth-points span::before{content:"";flex:none;width:22px;height:22px;background:#7fd1b0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1220' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat}

body.public-area .auth-form-wrap{padding:56px 60px}
body.public-area .auth-form-wrap .form-kicker{color:#2b5875;font-size:11px;letter-spacing:.14em}
body.public-area .auth-form-wrap h2{font-size:34px;font-weight:600;letter-spacing:-.025em;color:#0f172a;margin:6px 0 8px}
body.public-area .auth-form-wrap>.muted,body.public-area .auth-form-wrap>p{color:#64748b;margin-bottom:26px}
body.public-area .auth-form-wrap .field label{font-size:11px;letter-spacing:.08em;color:#334155}
body.public-area .auth-form-wrap .field input,body.public-area .auth-form-wrap .field select{height:50px;font-size:15px;background:#fbfcfd}
body.public-area .auth-form-wrap .field textarea{background:#fbfcfd}
body.public-area .auth-form-wrap .field input:focus,body.public-area .auth-form-wrap .field select:focus,body.public-area .auth-form-wrap .field textarea:focus{background:#fff}
body.public-area .auth-form-wrap input[type=email],body.public-area .auth-form-wrap input[type=password],body.public-area .auth-form-wrap .pw-wrap input{padding-left:44px;background-repeat:no-repeat;background-position:14px center;background-size:18px}
body.public-area .auth-form-wrap input[type=email]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
body.public-area .auth-form-wrap input[type=password],body.public-area .auth-form-wrap .pw-wrap input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E")}
body.public-area .label-row{display:flex;justify-content:space-between;align-items:baseline}
body.public-area .label-row a,body.public-area .auth-switch a{color:#2b5875;text-decoration:none;font-weight:700;font-size:12.5px}
body.public-area .label-row a:hover,body.public-area .auth-switch a:hover{text-decoration:underline}
body.public-area .auth-form-wrap .btn-block{height:52px;font-size:14.5px}
body.public-area .auth-form-wrap .btn-primary{background:linear-gradient(120deg,#0b1220,#1b3550)!important;border:0}
body.public-area .auth-form-wrap .btn-primary:hover{background:linear-gradient(120deg,#13233b,#25476a)!important;transform:translateY(-1px)}
body.public-area .auth-form-wrap .btn-outline{border:1px solid #cbd5e1;color:#0f172a;background:#fff}
body.public-area .auth-form-wrap .btn-outline:hover{border-color:#0f172a}
body.public-area .auth-divider{margin:26px 0;color:#94a3b8;font-weight:700}
body.public-area .auth-divider::before,body.public-area .auth-divider::after{background:#e6e9ee}

/* Password show / hide (added by auth-modern.js) */
body.public-area .pw-wrap{position:relative;display:block}
body.public-area .pw-wrap input{width:100%;padding-right:64px!important}
body.public-area .pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#2b5875;font-weight:700;font-size:12px;padding:8px;cursor:pointer}

/* Register wizard */
body.public-area .wizard-progress{counter-reset:step;gap:8px;border-bottom:0;margin:26px 0 30px}
body.public-area .wizard-progress button{counter-increment:step;position:relative;display:flex;flex-direction:column;gap:8px;padding:0 0 0;border:0;font-size:11px;font-weight:700;letter-spacing:.06em;color:#94a3b8}
body.public-area .wizard-progress button::before{content:"0" counter(step);display:block;width:100%;height:4px;background:#e6e9ee;font-size:0}
body.public-area .wizard-progress button.active{color:#0f172a}
body.public-area .wizard-progress button.active::before{background:linear-gradient(90deg,#0b1220,#2b78b5)}
body.public-area .wizard-progress button::after{content:"Step " counter(step);order:-1;font-size:10px;color:#94a3b8;letter-spacing:.12em}
body.public-area .wizard-actions{padding-top:22px;border-top:1px solid #e6e9ee;margin-top:28px}
body.public-area .wizard-actions .btn{min-width:150px;height:48px}
body.public-area .registration-fee-note{background:linear-gradient(120deg,#0b1220,#1b3550)}
body.public-area .checkline,body.public-area .checkbox-line{font-size:14px}

@media(max-width:920px){
  body.public-area:has(.auth-wide){background:#fff}
  body.public-area .auth-wide{width:100%;margin:0 0 32px;box-shadow:none;grid-template-columns:1fr;min-height:0}
  /* Compact intro band so the form is visible without scrolling */
  body.public-area .auth-intro,body.public-area .auth-wide:has(.wizard-form) .auth-intro{min-height:0;padding:22px 18px 20px;justify-content:flex-start}
  body.public-area .auth-intro::after{width:220px;height:220px;right:-90px;bottom:-110px}
  body.public-area .auth-intro .eyebrow{font-size:10px;margin-bottom:4px}
  body.public-area .auth-intro h1{font-size:24px;line-height:1.15;margin:4px 0 0;max-width:none}
  body.public-area .auth-intro>p,body.public-area .auth-intro .auth-points{display:none}
  body.public-area .auth-form-wrap{padding:24px 18px 8px}
  body.public-area .auth-form-wrap h2{font-size:26px;margin:4px 0 6px}
  body.public-area .auth-form-wrap>.muted,body.public-area .auth-form-wrap>p{font-size:14px;margin-bottom:18px}
  body.public-area .auth-form-wrap .field{margin-bottom:12px}
  /* 16px inputs stop iOS from zooming in on focus */
  body.public-area .auth-form-wrap .field input,body.public-area .auth-form-wrap .field select,body.public-area .auth-form-wrap .field textarea{font-size:16px}
  body.public-area .auth-form-wrap .field input,body.public-area .auth-form-wrap .field select{height:48px}
  body.public-area .auth-form-wrap .btn-block{height:50px}
  body.public-area .auth-divider{margin:18px 0}
  /* Wizard: compact step bar + full-width buttons */
  body.public-area .wizard-progress{gap:5px;margin:16px 0 20px}
  body.public-area .wizard-progress button{font-size:9px;letter-spacing:.02em;gap:6px;line-height:1.2;white-space:normal;word-break:break-word}
  body.public-area .wizard-progress button::after{font-size:8.5px;letter-spacing:.06em}
  body.public-area .wizard-actions{flex-direction:column-reverse;gap:10px}
  body.public-area .wizard-actions>span:empty{display:none}
  body.public-area .wizard-actions .btn{width:100%;min-width:0}
  body.public-area .registration-fee-note{grid-template-columns:1fr;gap:10px;padding:18px}
}
