:root{--blue:#0756a6;--blue-dark:#063b74;--navy:#092b4c;--sky:#eaf5ff;--green:#07835c;--red:#ba2d3b;--amber:#a86400;--ink:#172536;--muted:#647486;--line:#dce5ed;--surface:#fff;--bg:#f4f8fb;--shadow:0 18px 45px rgba(9,43,76,.09);font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(760px,calc(100% - 40px))}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;padding:12px 18px;z-index:100}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:20}.nav-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--blue),#1487db);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:.74rem;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:25px;font-weight:600}.site-nav a:hover{color:var(--blue)}.icon-button,.text-button,.nav-toggle{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:39px;height:39px;cursor:pointer}.nav-toggle{display:none;padding:0 14px}.hero{background:linear-gradient(125deg,#eff8ff 0,#fff 58%,#e6f2ff 100%);padding:78px 0 68px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:56px;align-items:center}.eyebrow{display:inline-block;color:var(--blue);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:12px}h1{font-size:clamp(2rem,4.3vw,3.65rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px;color:var(--navy)}.lead{font-size:1.1rem;color:var(--muted);max-width:680px}.role-grid{display:grid;gap:12px;margin-top:32px}.role-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;box-shadow:0 7px 22px rgba(9,43,76,.05)}.role-card.primary{border-color:#9cc9ef}.role-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.role-card small,.role-card strong{display:block}.role-card small{color:var(--muted)}.role-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:13px;background:var(--sky);color:var(--blue);font-size:1.25rem}.help-panel{background:linear-gradient(145deg,var(--blue-dark),var(--blue));color:#fff;padding:35px;border-radius:24px;box-shadow:var(--shadow)}.help-panel h2{font-size:1.7rem;margin:20px 0 8px}.help-panel p,.help-panel small{color:#dfefff}.status-dot:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#5ee8a5;margin-right:8px}.check-list{padding:0;list-style:none;margin:24px 0}.check-list li{margin:11px 0}.check-list li:before{content:"✓";margin-right:10px;color:#7ff0b7}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:52px 0}.feature-row article{padding:8px 24px;border-left:2px solid var(--line)}.feature-row span{font-weight:800;color:var(--blue)}.feature-row h3{margin:5px 0}.feature-row p{margin:0;color:var(--muted)}.page-section{padding:45px 0 70px;min-height:72vh}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 48px;color:var(--muted);font-size:.78rem;font-weight:700}.steps li{position:relative;text-align:center;border-top:3px solid var(--line);padding-top:18px}.steps span{position:absolute;top:-16px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line)}.steps .done{color:var(--blue);border-color:var(--blue)}.steps .done span{background:var(--blue);border-color:var(--blue);color:#fff}.page-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.page-heading h1,.center-heading h1,.success-heading h1{font-size:clamp(2rem,4vw,2.8rem)}.page-heading p,.center-heading p,.success-heading p{color:var(--muted);margin:0}.center-heading,.success-heading{text-align:center;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:11px;border:1px solid transparent;font-weight:750;cursor:pointer}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-dark)}.button-secondary{background:#fff;border-color:#b8c7d4;color:var(--navy)}.button-light{background:#fff;color:var(--blue)}.button-success{background:var(--green);color:#fff}.button-full{width:100%}.button-row{display:flex;gap:12px}.button-row>*{flex:1}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(9,43,76,.045)}.service-card-head{display:flex;gap:14px;align-items:center;padding:22px;background:linear-gradient(135deg,#f2f9ff,#e5f2ff)}.service-card-head p{margin:0;color:var(--muted);font-size:.75rem;text-transform:uppercase}.service-card h2{margin:0;color:var(--navy)}.service-icon{display:grid;place-items:center;width:43px;height:43px;background:#fff;border-radius:12px;color:var(--blue)}.service-card ul{list-style:none;padding:8px 18px 18px;margin:0}.service-card li a{display:flex;justify-content:space-between;gap:12px;padding:12px 6px;border-bottom:1px solid #edf1f5;font-size:.9rem}.service-card li a:hover{color:var(--blue)}.assist-strip{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:25px;padding:20px 22px;background:#fff8e8;border:1px solid #f0d28f;border-radius:14px}.assist-strip p{margin:2px 0 0;color:var(--muted)}.scanner-card,.form-card,.qr-card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:20px;box-shadow:var(--shadow)}.scan-frame{min-height:300px;border:2px dashed #8fb8db;border-radius:16px;background:var(--sky);display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:18px;position:relative}.scan-frame small{color:var(--muted)}.camera-icon{font-size:3.8rem;color:var(--blue);margin-bottom:12px}.scanner-card .button-full{margin-top:12px}.alternative{display:flex;align-items:center;color:var(--muted);gap:12px;margin:22px 0}.alternative:before,.alternative:after{content:"";height:1px;background:var(--line);flex:1}.passkey-link{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;background:#fff;padding:18px;border:1px solid var(--line);border-radius:14px}.passkey-link>span{font-size:1.5rem}.passkey-link small,.passkey-link strong{display:block}.passkey-link small{color:var(--muted)}.form-card label{display:block;font-weight:750;margin-bottom:8px}.input-with-action{display:flex;border:2px solid #9bb8cf;border-radius:12px;overflow:hidden}.input-with-action:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #ddecfa}.input-with-action input{flex:1;border:0;outline:0;padding:15px;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;min-width:0}.input-with-action button{width:48px;border:0;background:#fff;cursor:pointer;font-size:1.5rem}.field-help{font-size:.85rem;color:var(--muted);margin:8px 0 20px}.text-link{display:block;text-align:center;color:var(--blue);font-weight:650;margin-top:18px}.privacy-note{display:flex;gap:12px;background:#eaf8f1;border:1px solid #a8dbc5;padding:16px;border-radius:13px;margin-top:18px}.privacy-note p{margin:0}.details-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.detail-card,.requirement-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px}.card-title{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.card-title p,.card-title h2{margin:0}.card-title p{color:var(--muted);font-size:.8rem}.badge{display:inline-flex;align-items:center;background:var(--sky);color:var(--blue);border-radius:99px;padding:7px 11px;font-size:.78rem;font-weight:750}.badge-warning{background:#fff3d8;color:var(--amber)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.summary-grid div{padding:14px;background:var(--bg);border-radius:11px}.summary-grid dt{font-size:.74rem;color:var(--muted);text-transform:uppercase}.summary-grid dd{margin:4px 0 0;font-weight:650}.timeline>div{display:grid;grid-template-columns:20px 1fr;gap:12px;min-height:64px}.timeline span{width:13px;height:13px;border:3px solid #bac6d0;border-radius:50%;margin-top:5px;position:relative}.timeline>div:not(:last-child) span:after{content:"";position:absolute;width:2px;height:52px;background:var(--line);top:10px;left:3px}.timeline .complete span{background:var(--green);border-color:var(--green)}.timeline .active span{border-color:var(--amber)}.timeline small,.timeline strong{display:block}.timeline small{color:var(--muted)}.requirements-stack{display:grid;gap:18px}.requirement-card h2{font-size:1rem;margin:0 0 15px}.requirement-card ul{padding-left:20px;margin:0}.requirement-card li{margin:8px 0}.requirement-card.good{border-top:4px solid var(--green)}.requirement-card.danger{border-top:4px solid var(--red)}.action-bar{display:flex;justify-content:space-between;gap:15px;margin-top:24px}.success-check{display:grid;place-items:center;width:54px;height:54px;background:#dff7eb;color:var(--green);border-radius:50%;font-size:1.7rem;font-weight:800;margin:0 auto 13px}.qr-card{max-width:470px;margin-inline:auto;text-align:center}.qr-image-wrap{width:min(280px,100%);aspect-ratio:1;margin:0 auto 15px;padding:13px;border:1px solid var(--line);border-radius:17px}.qr-image-wrap img{width:100%;height:100%;object-fit:contain}.tracking-meta small,.tracking-meta strong,.passkey-display small,.passkey-display strong{display:block}.tracking-meta strong{font-size:1.15rem;color:var(--navy)}.passkey-display{display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--sky);padding:15px 18px;border-radius:12px;margin:20px 0}.passkey-display strong{font-size:1.55rem;letter-spacing:.13em;color:var(--blue)}.passkey-display button{border:0;background:#fff;color:var(--blue);border-radius:8px;padding:9px 13px;font-weight:750;cursor:pointer}.safe-note{font-size:.8rem;color:var(--muted);margin:0}.site-footer{background:var(--navy);color:#fff;padding:35px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:35px}.footer-grid p{color:#bed0df;font-size:.85rem;margin:7px 0 0}.alerts{padding-top:14px}.alert{padding:13px 16px;border-radius:10px}.alert-success{background:#dff7eb;color:#075c40}.alert-error{background:#fde8ea;color:#8a1c28}
html{font-size:100%;color-scheme:light;transition:font-size .2s ease}
html[data-text-size="large"]{font-size:119%}
html[data-theme="dark"]{color-scheme:dark;--blue:#60b5ff;--blue-dark:#2f8fdf;--navy:#eef7ff;--sky:#173650;--green:#45d29b;--red:#ff8994;--amber:#ffc266;--ink:#eef6ff;--muted:#b8c6d4;--line:#344c61;--surface:#142536;--bg:#091522;--shadow:0 18px 45px rgba(0,0,0,.35)}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .site-header{background:rgba(9,21,34,.95)}
html[data-theme="dark"] .site-nav,
html[data-theme="dark"] .icon-button,
html[data-theme="dark"] .text-button,
html[data-theme="dark"] .nav-toggle,
html[data-theme="dark"] .role-card,
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .scanner-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .qr-card,
html[data-theme="dark"] .detail-card,
html[data-theme="dark"] .requirement-card,
html[data-theme="dark"] .passkey-link{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .hero{background:linear-gradient(125deg,#0b1b2b,#10283d 58%,#0d2134)}
html[data-theme="dark"] .service-card-head{background:linear-gradient(135deg,#173650,#102b42)}
html[data-theme="dark"] .service-icon,
html[data-theme="dark"] .steps span,
html[data-theme="dark"] .input-with-action button,
html[data-theme="dark"] .passkey-display button{background:#20384c;color:var(--ink)}
html[data-theme="dark"] input{background:#0d1c2a;color:var(--ink)}
html[data-theme="dark"] .button-secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .button-light{background:#fff;color:#0756a6}
html[data-theme="dark"] .assist-strip{background:#322a16;border-color:#796126}
html[data-theme="dark"] .privacy-note{background:#12382c;border-color:#28775b}
html[data-theme="dark"] .alert-success{background:#12382c;color:#87e8bf}
html[data-theme="dark"] .alert-error{background:#401c22;color:#ffadb5}
.icon-button[aria-pressed="true"],.text-button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:850px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.hero{padding:48px 0}.hero-grid,.details-layout{grid-template-columns:1fr}.feature-row,.service-grid{grid-template-columns:1fr}.feature-row article{border-left:0;border-top:2px solid var(--line);padding-top:18px}.page-heading{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.service-grid{gap:15px}}
@media(max-width:560px){.shell,.narrow{width:min(100% - 24px,1160px)}.brand small{display:none}.steps{font-size:0;margin-bottom:35px}.steps li{padding-top:13px}.steps span{font-size:.72rem}.role-card{grid-template-columns:auto 1fr}.role-card>b{display:none}.button-row,.action-bar{flex-direction:column}.summary-grid{grid-template-columns:1fr}.scanner-card,.form-card,.qr-card{padding:18px}.scan-frame{min-height:235px}.assist-strip{align-items:flex-start;flex-direction:column}.page-section{padding-top:32px}}
@media print{.site-header,.site-footer,.steps,.button-row,.alerts{display:none!important}.page-section{padding:0}.qr-card{box-shadow:none;border:0}}
/* Footer: dark in light mode */
.site-footer {
  background: #092b4c;
  color: #ffffff;
}

.site-footer strong {
  color: #ffffff;
}

.site-footer p {
  color: #bed0df;
}

/* Footer: light in dark mode */
html[data-theme="dark"] .site-footer {
  background: #f4f8fb;
  color: #172536;
  border-top: 1px solid #dce5ed;
}

html[data-theme="dark"] .site-footer strong {
  color: #092b4c;
}

html[data-theme="dark"] .site-footer p {
  color: #526477;
}
