:root{--ink:#082a63;--muted:#667085;--accent:#0b57d0;--accent2:#00a9a5;--gold:#d9a600;--soft:#f3f7fd;--line:#e1e7f0}*{box-sizing:border-box}body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#fff}a{color:inherit}.site-header nav a{text-decoration:none;font-weight:700;color:var(--ink)}.brand-logo-link{display:block;min-width:0}.brand-logo{display:block;width:min(540px,58vw);height:auto;max-height:86px;object-fit:contain;object-position:left center}.hero{background:linear-gradient(135deg,#f9f6f0,#fff);padding:5.5rem 0 4.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:var(--accent)}.hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.02}.hero-card{border:1px solid var(--line);border-radius:26px;padding:2rem;background:#fff}.metric{padding:1rem 0;border-bottom:1px solid var(--line)}.metric:last-child{border:0}.app-card{height:100%;border:1px solid var(--line);border-radius:22px;padding:1.5rem;transition:.2s;background:#fff}.app-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(16,24,40,.08)}.app-icon{width:52px;height:52px;border-radius:15px;background:var(--soft);display:grid;place-items:center;font-size:1.3rem}.workflow-step{border-left:3px solid var(--accent2);padding-left:1.2rem}.price{font-size:1.8rem;font-weight:700}.quick-cart{position:fixed;right:18px;top:145px;width:310px;z-index:1035;filter:drop-shadow(0 16px 30px rgba(0,0,0,.15))}.quick-cart-handle{display:none}.quick-cart-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem}.qc-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.qc-item:last-child{border-bottom:0}.footer{color:var(--muted)}.footer a{text-decoration:none}@media(max-width:1199px){.quick-cart{top:auto;bottom:18px;right:18px;width:min(92vw,330px)}.quick-cart.collapsed{width:auto}.quick-cart.collapsed .quick-cart-panel{display:none}.quick-cart-handle{display:flex;gap:.55rem;align-items:center;border:0;border-radius:999px;padding:.85rem 1rem;background:var(--accent);color:#fff;margin-left:auto}.quick-cart:not(.collapsed) .quick-cart-handle{display:none}}@media(min-width:1200px){.container{padding-right:340px}.site-header .container,.footer .container{padding-right:12px}.quick-cart-panel{display:block!important}}@media(max-width:575px){.hero{padding:3.5rem 0}.app-card{padding:1.2rem}}

.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:#0849af;--bs-btn-hover-border-color:#0849af}.success-wrap{max-width:760px}.site-header{box-shadow:0 2px 12px rgba(8,42,99,.05)}@media(max-width:767px){.brand-logo{width:min(100%,430px);max-height:72px}.site-header .container{justify-content:center!important}.site-header nav{justify-content:center;width:100%}}

/* Shared storefront enhancements */
.topbar{background:#061f4a;color:#fff;font-size:.92rem}
.topbar a,.footer-links a{text-decoration:none}
.social-links{display:flex;gap:.85rem}
.social-links a{color:#fff;font-size:1.05rem}
.site-header nav a{font-weight:400}
.site-header nav .cart-link{font-weight:700}
.footer-links{display:flex;gap:1.25rem}
.app-visual{width:min(100%,var(--app-visual-size,300px));aspect-ratio:1 / 1;margin:0 auto 1.25rem;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#e7f0ff,#f9fbff)}
.app-visual img{width:100%;height:100%;object-fit:cover}
.ui-placeholder{height:100%;position:relative;display:grid;place-items:center;color:var(--accent);font-size:2.4rem}
.ui-placeholder span{position:absolute;left:16px;right:16px;height:8px;background:rgba(11,87,208,.12);border-radius:20px}
.ui-placeholder span:nth-of-type(1){top:16px;right:42%}
.ui-placeholder span:nth-of-type(2){bottom:34px;right:24%}
.ui-placeholder span:nth-of-type(3){bottom:16px;right:48%}
.affiliation-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;border:1px solid var(--line);border-radius:22px;padding:2rem;background:var(--soft)}
.affiliation-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:1.7rem}
.quick-cart{top:var(--qc-top,155px);right:var(--qc-right,18px)}
.quick-cart.collapsed{width:auto}
.quick-cart.collapsed .quick-cart-panel{display:none!important}
.quick-cart-handle{display:flex;gap:.55rem;align-items:center;border:0;border-radius:999px;padding:.85rem 1rem;background:var(--accent);color:#fff;margin-left:auto}
.quick-cart:not(.collapsed) .quick-cart-handle{display:none}
.legal-page{max-width:920px}
.legal-page h2{margin-top:2rem}
.admin-shell{max-width:1100px}
.admin-card{border:1px solid var(--line);border-radius:18px;padding:1.5rem;background:#fff}
@media(max-width:575px){.topbar .container{align-items:flex-start!important}.affiliation-card{grid-template-columns:1fr}.footer-links{width:100%}}

/* Featured Back-to-Top button */
.back-to-top {
    position: fixed;
    right: var(--qc-right, 18px);
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    padding: 0;
    background: #061f4a;
    color: #ffffff;
    font-size: 1.1rem;
    line-height: 1;
    box-shadow: 0 8px 22px rgba(8, 42, 99, 0.28);
    cursor: pointer;
    z-index: 1030;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background-color .25s ease;
}


.back-to-top i {
    display: block;
    line-height: 1;
    pointer-events: none;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
    background: #082a63;
    color: #ffffff;
    transform: translateY(-2px);
}

.back-to-top:focus-visible {
    outline: 3px solid rgba(6, 31, 74, .25);
    outline-offset: 3px;
}

.footer-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 22px;
}

.footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: inherit;
    text-decoration: none;
}

.footer-links a i {
    color: var(--accent);
    font-size: 15px;
}

.footer-links a:hover,
.footer-links a:focus {
    color: var(--accent);
    text-decoration: none;
}


@media (max-width: 575px) {
    .footer-links {
        width: 100%;
    }
}


/* Administrator backoffice and password controls */
.password-field .password-toggle{min-width:48px;border-color:#ced4da;background:#fff;color:#495057}
.password-field .password-toggle:hover,.password-field .password-toggle:focus{background:#f8f9fa;color:var(--accent)}
.admin-app-accordion .accordion-button{background:#fff;color:inherit;box-shadow:none}
.admin-app-accordion .accordion-button:not(.collapsed){background:var(--soft);color:var(--accent)}
.admin-app-accordion .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(11,87,208,.12)}
.admin-app-accordion .accordion-item{border:1px solid var(--line)}
