:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20232a;background:#fff;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.page-shell{max-width:1280px;margin:auto;padding:0 20px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef0f4}.brand{display:inline-flex;align-items:center;gap:10px;color:#181a1f;text-decoration:none;font-size:15px;font-weight:800;line-height:1;letter-spacing:-.025em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e7e9ee;border-radius:10px;color:#0d5bea;font-size:25px;font-weight:400}.brand-subtitle{display:block;margin-top:4px;color:#8e95a1;font-size:8px;font-weight:750;letter-spacing:.13em}.topbar-tag{font-size:9px;font-weight:750;letter-spacing:.12em;color:#8c939f;white-space:nowrap}.main{padding:38px 0 54px}.intro{max-width:630px;margin:0 auto 28px}.eyebrow,.section-label{margin:0 0 14px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#728096}.eyebrow span{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#145be7;vertical-align:1px}.intro h1{margin:0;color:#111319;font-size:clamp(31px,8vw,48px);font-weight:750;letter-spacing:-.045em;line-height:1.13}.intro h1 span{color:#1057e7}.intro>p:last-child{max-width:510px;margin:15px 0 0;color:#777f8c;font-size:14px;line-height:1.65}.form-card{max-width:680px;margin:auto;padding:25px 20px 27px;border:1px solid #e8ebf0;border-radius:15px;background:#fff;box-shadow:0 10px 38px rgba(27,38,67,.07)}.form-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-label{margin-bottom:10px;color:#1762eb}.form-heading h2,.success h2{margin:0;font-size:23px;font-weight:740;letter-spacing:-.035em;line-height:1.2}.form-heading p:last-child{margin:8px 0 0;font-size:13px;color:#828a96;line-height:1.5}.form-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #e4e9f2;border-radius:10px;color:#1762eb;font-size:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 17px;padding-bottom:11px;border-bottom:1px solid #eef0f4}.section-title h3{margin:0;font-size:13px;font-weight:740}.section-title span{font-size:10px;font-weight:700;color:#abb2bd}.field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}.field-grid label{position:relative;display:block;color:#343943;font-size:12px;font-weight:700}.field-grid label b,.form-bottom b{color:#1762eb}.field-grid input,.field-grid select{display:block;width:100%;height:52px;margin-top:8px;padding:0 14px;color:#262a31;font-size:16px;font-weight:400;background-color:#fff;border:1px solid #dfe3e9;border-radius:8px;outline:none;box-shadow:0 2px 3px rgba(25,32,47,.035);transition:border-color .15s,box-shadow .15s}.field-grid input::placeholder{color:#a5acb7}.field-grid select{padding-right:40px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%237d8591' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.field-grid input:focus,.field-grid select:focus{border-color:#1769f6;box-shadow:0 0 0 4px #cfe0ff}.field-grid select:disabled{color:#aab0ba;background-color:#f7f8fa}.optional{float:right;color:#999faa;font-size:11px;font-weight:450}.form-bottom{display:flex;flex-direction:column-reverse;gap:12px;margin-top:28px}.form-bottom p{margin:0;color:#9199a5;font-size:11px}button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:0 20px;border:0;border-radius:8px;background:#105ae7;color:#fff;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 3px 8px rgba(16,90,231,.2)}button:hover{background:#084bc7}button:focus-visible{outline:3px solid #97b9ff;outline-offset:3px}button:disabled{opacity:.65;cursor:wait}button span{font-size:20px;line-height:1}.notice,.error{padding:13px 14px;border-radius:8px;font-size:12px;line-height:1.5}.notice{margin-top:20px;background:#fff8e8;color:#775614}.error{margin:20px 0 0;background:#fff0ee;color:#a5392d}.success{display:flex;min-height:380px;flex-direction:column;align-items:flex-start;justify-content:center}.success-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:24px;border-radius:50%;background:#eaf1ff;color:#105ae7;font-size:29px;font-weight:700}.success h2{font-size:32px}.success h2 span{color:#105ae7}.success>p:not(.section-label){max-width:350px;margin:17px 0 25px;color:#7c8490;font-size:14px;line-height:1.65}.success button{width:100%}.footer{display:flex;justify-content:space-between;gap:16px;padding:22px 0 30px;border-top:1px solid #eef0f4;color:#a0a7b1;font-size:9px;font-weight:700;letter-spacing:.05em}.footer span:last-child{display:none}[hidden]{display:none!important}@media(min-width:600px){.page-shell{padding:0 44px}.topbar{height:80px}.main{padding:58px 0 75px}.intro{margin-bottom:38px}.form-card{padding:38px 44px 40px}.form-heading h2{font-size:26px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field-grid label.full{grid-column:1/-1}.form-bottom{flex-direction:row;justify-content:space-between;align-items:center}.form-bottom button{min-width:220px}.success button{width:auto}.footer span:last-child{display:block}}@media(min-width:1000px){.main{display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1fr);align-items:start;gap:70px;padding:78px 0 100px}.intro{position:sticky;top:38px;margin:20px 0 0}.intro h1{font-size:clamp(42px,4.6vw,59px)}.form-card{width:100%;margin:0}.field-grid input,.field-grid select{font-size:14px}}

.demo-banner{padding:12px 20px;background:#eaf2ff;color:#1645a2;text-align:center;font-size:13px;font-weight:700;line-height:1.45}

.brand-logo{display:block;width:128px;height:64px;object-fit:contain;object-position:left center}

.main{display:block}.form-card{width:100%;margin:0 auto}.footer span:last-child{display:block}

/* Comfortable touch targets with a compact phone layout. */
.field-grid input,.field-grid select{height:56px;font-size:16px}
.field-grid label{font-size:13px}
@media(max-width:599px){
  .page-shell{padding:0 14px}
  .topbar{height:64px}
  .brand-logo{height:58px}
  .main{padding:16px 0 28px}
  .form-card{padding:20px 16px 22px}
  .form-heading h2{font-size:22px}
  .section-title{margin:22px 0 13px;padding-bottom:9px}
  .field-grid{gap:12px}
  .field-grid input,.field-grid select{margin-top:6px}
  .form-bottom{margin-top:22px;gap:9px}
  .form-bottom button{min-height:56px;font-size:16px}
  .footer{padding:16px 0 22px}
}

/* ADgroup blue and the soft circular motif from the brand reference. */
:root{background:#1B3A69}
body{background-color:#1B3A69;background-image:radial-gradient(circle at 88% 8%,rgba(0,10,73,.20) 0 62px,transparent 63px),radial-gradient(circle at 6% 34%,rgba(0,10,73,.17) 0 43px,transparent 44px),radial-gradient(circle at 93% 74%,rgba(0,10,73,.18) 0 54px,transparent 55px);background-attachment:fixed}
.topbar{border-color:rgba(255,255,255,.22)}
.footer{border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.8)}
.form-card{border-color:transparent;box-shadow:0 16px 50px rgba(0,9,60,.20)}
.field-grid label b,.form-bottom b{color:#d71929}
button{background:#092b9c;box-shadow:0 3px 8px rgba(3,22,93,.23)}
button:hover{background:#061f7e}

/* Form refinements */
.form-card{border-radius:18px;box-shadow:0 18px 50px rgba(4,19,45,.18)}
.form-heading h2{color:#1B3A69;letter-spacing:-.035em}
.section-title{border-color:#e7ebf1}
.section-title h3{color:#31445e;font-size:13px}
.field-grid label{color:#344256}
.field-grid input,.field-grid select{border-color:#d6dee9;background-color:#fff;box-shadow:0 1px 2px rgba(18,40,74,.04)}
.field-grid input:hover,.field-grid select:not(:disabled):hover{border-color:#9aabc3}
.field-grid input:focus,.field-grid select:focus{border-color:#1B3A69;box-shadow:0 0 0 4px rgba(27,58,105,.14)}
.field-grid select:disabled{background-color:#f5f7fa;color:#a8b0bc}
#submit{background:#DE2929;box-shadow:0 4px 10px rgba(222,41,41,.23)}
#submit:hover{background:#bd1e1e}
#submit:focus-visible{outline-color:#f3a6a6}
@media(max-width:599px){.form-card{padding:22px 18px 24px}.section-title{margin-top:21px}}

/* QR sharing */
.qr-open{min-height:42px;padding:0 13px;gap:7px;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.1);box-shadow:none;font-size:12px;white-space:nowrap}
.qr-open:hover{background:rgba(255,255,255,.2)}
.qr-open-icon{font-size:19px!important;line-height:1;color:#fff}
.qr-dialog{width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;border:0;border-radius:18px;padding:24px;background:#fff;color:#20232a;box-shadow:0 24px 75px rgba(0,0,0,.3)}
.qr-dialog::backdrop{background:rgba(6,21,48,.72)}
.qr-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.qr-dialog h2{margin:0;color:#1B3A69;font-size:25px;letter-spacing:-.03em}
.qr-kicker{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#788ba4}
.qr-close{min-height:40px;width:40px;padding:0;border-radius:50%;color:#53637a;background:#f1f4f8;box-shadow:none;font-size:25px;font-weight:400}
.qr-close:hover{background:#e3eaf3}
.qr-description,.qr-result p{font-size:13px;line-height:1.5;color:#68788c}
.qr-description{margin:14px 0 20px}
#qr-form label{display:block;margin-top:15px;color:#344256;font-size:13px;font-weight:700}
#qr-form label b{color:#d71929}
#qr-form input,#qr-form select{display:block;width:100%;height:56px;margin-top:6px;padding:0 14px;border:1px solid #d6dee9;border-radius:8px;background:#fff;color:#262a31;font-family:inherit;font-size:16px;font-weight:400;outline:none}
#qr-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%237d8591' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:36px}
#qr-form input:focus,#qr-form select:focus{border-color:#1B3A69;box-shadow:0 0 0 4px rgba(27,58,105,.14)}
.qr-generate{width:100%;min-height:54px;margin-top:22px;background:#DE2929;font-size:14px}
.qr-generate:hover{background:#bd1e1e}
.qr-result{text-align:center}
.qr-result .qr-result-title{margin:20px 0 0;color:#1B3A69;font-size:17px;font-weight:800}
.qr-result img{display:block;width:min(240px,100%);height:auto;margin:8px auto;border:1px solid #e7ebf1;border-radius:12px}
.qr-result .qr-summary{color:#344256;font-weight:700;overflow-wrap:anywhere}
.qr-result .qr-demo-note{padding:10px;border-radius:8px;background:#fff7e7;color:#805b16}
.qr-edit{width:100%;min-height:50px;margin-top:6px;background:#edf2f8;color:#1B3A69;box-shadow:none}
.qr-edit:hover{background:#dfe8f3}
@media(max-width:400px){.qr-open{font-size:11px;padding:0 10px}.qr-dialog{padding:20px}}

/* Institution-branded QR popup */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.qr-dialog{background:#1B3A69;color:#fff}
.qr-dialog[data-brand="adtec"]{background:#EA2127}
.qr-dialog[data-brand="cftc"]{background:#000}
.qr-dialog[data-brand="ivaem"]{background:#193B69}
.qr-dialog[data-brand="ppg"]{background:#12385A}
.qr-dialog[data-brand="cem"]{background:#EA6627}
.qr-dialog-header{justify-content:flex-end}
.qr-close{background:rgba(255,255,255,.18);color:#fff}
.qr-close:hover{background:rgba(255,255,255,.3)}
.qr-brand-logo{display:block;width:min(250px,85%);height:100px;object-fit:contain;margin:0 auto 18px}
#qr-form label{color:#fff}
#qr-form label b{color:#fff}
.qr-generate{background:#fff;color:#172d50;box-shadow:none}
.qr-generate:hover{background:#edf2f8}
.qr-result img{background:#fff;border:8px solid #fff;border-radius:12px;margin:12px auto}
.qr-result .qr-summary{color:#fff}
.qr-edit{background:rgba(255,255,255,.92);color:#172d50}
.qr-edit:hover{background:#fff}

/* Roomier brand header with a touch-friendly QR icon. */
.topbar{height:100px;gap:16px}
.brand{min-width:0}
.brand-logo{width:190px;height:88px;max-width:100%;object-fit:contain}
.qr-open{width:58px;height:58px;min-height:58px;flex:none;display:grid;place-items:center;padding:10px;border-radius:13px}
.qr-open-icon{display:block;width:36px;height:36px;color:#fff}
@media(max-width:599px){.topbar{height:86px}.brand-logo{width:160px;height:74px}.qr-open{width:54px;height:54px;min-height:54px}.qr-open-icon{width:34px;height:34px}}
