body.visitor-page{background:#f5f8f7;color:#15312d}
.visitor-topbar{padding:14px clamp(18px,4vw,54px);background:rgba(248,250,249,.94)}
.visitor-brand{gap:10px}
.visitor-brand-logo{width:48px;height:48px;display:block}
.visitor-brand strong,.visitor-brand small{display:block}
.visitor-brand strong{font-size:1.06rem;letter-spacing:-.02em}
.visitor-brand small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.visitor-shell{width:min(960px,calc(100% - 32px));margin:42px auto 72px}
.visitor-hero{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.visitor-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.055em;line-height:1;margin:10px 0 14px}
.visitor-hero p{margin:0;max-width:760px;color:#60736f;line-height:1.7;font-size:1.02rem}
.visitor-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #c9ddd8;background:#fff;border-radius:999px;color:#0f766e;font-size:.82rem;font-weight:850;white-space:nowrap}
.visitor-notice{display:flex;gap:14px;align-items:flex-start;padding:17px 18px;margin-bottom:20px;border:1px solid #bcd9d3;background:#eaf6f3;border-radius:18px}
.visitor-notice-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#0f766e;color:#fff;display:grid;place-items:center;font-weight:900}
.visitor-notice strong{display:block;margin-bottom:3px}
.visitor-notice p{margin:0;color:#536964;line-height:1.55;font-size:.91rem}
.visitor-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}
.visitor-step{display:flex;gap:11px;align-items:center;padding:13px 14px;background:#fff;border:1px solid #dce7e4;border-radius:16px;color:#71817d}
.visitor-step>span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#eef3f2;font-weight:850;font-size:.84rem}
.visitor-step strong,.visitor-step small{display:block}
.visitor-step strong{font-size:.88rem;color:#4f625d}
.visitor-step small{font-size:.74rem;margin-top:2px}
.visitor-step.active{border-color:#b7d8d1;background:#f1faf8}
.visitor-step.active>span{background:#0f766e;color:#fff}
.visitor-step.active strong{color:#17322d}
.visitor-card{background:#fff;border:1px solid #dce7e4;border-radius:26px;padding:clamp(22px,4vw,34px);box-shadow:0 20px 52px rgba(20,58,52,.07)}
.visitor-card-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:24px}
.visitor-card-head h2{font-size:clamp(1.8rem,3.5vw,2.5rem);letter-spacing:-.04em;margin:6px 0 8px}
.visitor-card-head p{margin:0;color:#697a76;line-height:1.55}
.type-badge{padding:8px 12px;border-radius:999px;background:#e9f7f4;color:#0f766e;border:1px solid #c9e3dd;font-size:.82rem;font-weight:900}
.visitor-form{display:grid;gap:22px}
.visitor-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.visitor-field{display:grid;gap:8px;font-size:.91rem;font-weight:760}
.visitor-field.span-2{grid-column:span 2}
.visitor-field input,.visitor-field select{width:100%;border:1px solid #dce7e4;border-radius:14px;padding:13px 14px;background:#fbfcfc;color:#16302c;outline:none}
.visitor-field input:focus,.visitor-field select:focus{border-color:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.09)}
.visitor-field input[readonly]{background:#eef3f2;color:#4f625d;cursor:not-allowed}
.visitor-loading-field{color:#788985!important}
.field-helper{font-size:.75rem;line-height:1.45;color:#788985;font-weight:500;margin-top:-2px}
.optional-label{font-weight:600;color:#7a8a86}
.visitor-consent-list{display:grid;gap:12px}
.visitor-consent{display:flex;gap:11px;align-items:flex-start;padding:15px 16px;border:1px solid #dce7e4;background:#f8fbfa;border-radius:15px;color:#536660;line-height:1.55;font-size:.88rem}
.visitor-consent-important{border-color:#c7ddd8;background:#f3faf8}
.visitor-consent input{margin-top:3px;accent-color:#0f766e;flex:0 0 auto}
.visitor-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.visitor-review{margin-top:18px}
.visitor-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.visitor-review-item{padding:14px 15px;border:1px solid #e0e9e7;border-radius:14px;background:#fbfdfc}
.visitor-review-item.span-2{grid-column:span 2}
.visitor-review-item small,.visitor-review-item strong{display:block}
.visitor-review-item small{color:#798985;font-size:.75rem;margin-bottom:4px}
.visitor-review-item strong{font-size:.94rem;line-height:1.45;overflow-wrap:anywhere}
.visitor-reference-box{margin:22px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:end;padding:20px;border-radius:18px;background:#f1f8f6;border:1px solid #cfe2de}
.visitor-reference-box h3{font-size:1.25rem;margin:5px 0 7px;letter-spacing:-.02em}
.visitor-reference-box p{margin:0;color:#60736e;line-height:1.55;font-size:.88rem}
.visitor-submit-message{margin-top:16px;padding:15px 16px;border-radius:15px;border:1px solid #d5e5e2;background:#f8fbfa;line-height:1.55;color:#51635f}
.visitor-success{margin-top:18px}
.visitor-success-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.success-mark{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#0f766e;color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:900}
.visitor-success-head h2{font-size:clamp(1.9rem,3.5vw,2.6rem);letter-spacing:-.04em;margin:6px 0 8px}
.visitor-success-head p{margin:0;color:#657772;line-height:1.55}
.visitor-success-grid{display:grid;grid-template-columns:1fr 240px;gap:20px;align-items:center;padding:20px;border:1px solid #dce7e4;border-radius:20px;background:#fbfdfc}
.visitor-success-reference small,.visitor-success-reference strong{display:block}
.visitor-success-reference small{color:#7a8a86;margin-bottom:5px}
.visitor-success-reference strong{font-size:2rem;letter-spacing:-.03em;color:#0f766e}
.visitor-success-reference p{color:#63746f;line-height:1.55;margin:10px 0 0}
.visitor-success-qr{width:220px;height:220px;border:1px dashed #b8d1cb;border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden}
.visitor-success-qr img,.visitor-success-qr svg{max-width:100%;max-height:100%}
.visitor-final-notices{display:grid;gap:12px;margin:20px 0}
.visitor-final-notice{padding:16px 17px;border-radius:16px;border:1px solid #d8e7e4;background:#f6faf9}
.visitor-final-notice strong{display:block;margin-bottom:5px}
.visitor-final-notice p{margin:0;color:#5d706b;line-height:1.55;font-size:.88rem}
.visitor-final-notice-warn{background:#fbf8f0;border-color:#e9dec2}
.visitor-footer{background:#f8faf9}
.visitor-error{border-color:#dfb8b4!important;box-shadow:0 0 0 4px rgba(178,71,61,.08)!important}
@media(max-width:720px){
  .visitor-shell{width:min(100% - 24px,960px);margin-top:26px}
  .visitor-hero{align-items:start;flex-direction:column}
  .visitor-steps{grid-template-columns:1fr}
  .visitor-form-grid,.visitor-review-grid{grid-template-columns:1fr}
  .visitor-field.span-2,.visitor-review-item.span-2{grid-column:auto}
  .visitor-card-head{align-items:start;flex-direction:column}
  .visitor-reference-box{grid-template-columns:1fr;align-items:start}
  .visitor-success-grid{grid-template-columns:1fr}
  .visitor-success-qr{width:min(100%,260px);height:auto;aspect-ratio:1}
  .visitor-actions{justify-content:stretch}
  .visitor-actions .button{width:100%;text-align:center}
}