:root { --primary:#0a4d68; --secondary:#088395; --accent:#05bfdb; --dark:#0b1727; --light:#f7f9fb; --text:#25364a; --muted:#66768a; --radius:16px; --transition:220ms ease; }
html { scroll-behavior:smooth; } body { color:var(--text); font-family:"Poppins",sans-serif; } a { transition:color var(--transition),background-color var(--transition),transform var(--transition),border-color var(--transition); }
.site-header { background:var(--dark); }.navbar { padding:1.15rem 0; }.navbar-brand { align-items:center; color:#fff; display:inline-flex; font-size:1rem; font-weight:700; gap:.7rem; letter-spacing:-.03em; text-decoration:none; }.brand-mark { align-items:center; border:1px solid currentColor; border-radius:50%; display:inline-flex; font-family:Georgia,serif; font-size:1.3rem; font-weight:400; height:2.25rem; justify-content:center; width:2.25rem; }.brand-name span { color:var(--accent); font-weight:400; margin-left:.18rem; }
.profiles-section { background:var(--light); min-height:calc(100vh - 87px); padding:7rem 0; }.section-heading { margin:0 auto 3.6rem; max-width:650px; }.section-eyebrow,.modal-eyebrow { color:var(--accent); font-size:.72rem; font-weight:700; letter-spacing:.16em; margin-bottom:1.2rem; text-transform:uppercase; }.section-heading h1 { color:var(--dark); font-size:clamp(2rem,3.7vw,3rem); font-weight:600; letter-spacing:-.045em; margin-bottom:1rem; }.section-heading > p:last-child { color:var(--muted); line-height:1.8; margin:0; }
.profile-card { background:#fff; border:1px solid #e5eaee; border-radius:var(--radius); display:flex; flex-direction:column; overflow:hidden; padding:2.7rem; position:relative; transition:transform 300ms ease,box-shadow 300ms ease,border-color 300ms ease; }.profile-card::before { background:linear-gradient(90deg,var(--primary),var(--accent)); content:""; height:3px; left:0; position:absolute; top:0; transform:scaleX(0); transform-origin:left; transition:transform 350ms ease; width:100%; }.profile-card:hover { border-color:transparent; box-shadow:0 18px 42px rgba(19,49,72,.13); transform:translateY(-8px); }.profile-card:hover::before { transform:scaleX(1); }.profile-icon { align-items:center; background:rgba(5,191,219,.1); border-radius:12px; color:var(--primary); display:flex; font-size:1.7rem; height:58px; justify-content:center; margin-bottom:1.8rem; width:58px; }.profile-card h2 { color:var(--dark); font-size:1.28rem; font-weight:600; letter-spacing:-.03em; margin-bottom:.9rem; }.profile-card p { color:var(--muted); font-size:.91rem; line-height:1.8; margin-bottom:2rem; }.btn { border-radius:0; font-size:.8rem; font-weight:600; letter-spacing:.02em; padding:.85rem 1.4rem; }.btn-card { align-self:flex-start; border:1px solid #d6e1e7; color:var(--primary); margin-top:auto; }.btn-card:hover,.btn-card:focus { background:var(--primary); border-color:var(--primary); color:#fff; transform:translateY(-2px); }.btn-card i,.login-submit i { margin-left:.45rem; transition:transform var(--transition); }.btn-card:hover i,.login-submit:hover i { transform:translateX(3px); }
.site-footer { background:var(--dark); color:rgba(255,255,255,.62); padding:1.25rem 0; }.footer-bottom { font-size:.78rem; text-align:center; }.footer-bottom p { margin:0; }
.login-modal { border:0; border-radius:var(--radius); overflow:hidden; }.login-modal .modal-header { padding:2rem 2rem .35rem; }.login-modal .modal-body { padding:1rem 2rem 2rem; }.login-modal .modal-title { color:var(--dark); font-size:1.7rem; font-weight:600; letter-spacing:-.04em; }.modal-eyebrow { margin-bottom:.4rem; }.modal-intro { color:var(--muted); font-size:.88rem; margin-bottom:1.5rem; }.form-label { color:var(--text); font-size:.79rem; font-weight:600; }.form-control { border-color:#dce4e9; border-radius:8px; font-size:.9rem; padding:.72rem .85rem; }.form-control:focus { border-color:var(--secondary); box-shadow:0 0 0 .2rem rgba(8,131,149,.12); }.login-options { align-items:center; display:flex; font-size:.78rem; justify-content:space-between; margin:1.2rem 0 1.5rem; }.form-check-label { color:var(--muted); }.form-check-input:checked { background-color:var(--primary); border-color:var(--primary); }.forgot-link { color:var(--primary); font-weight:600; text-decoration:none; }.forgot-link:hover,.forgot-link:focus { color:var(--secondary); text-decoration:underline; }.login-submit { background:var(--accent); border-color:var(--accent); color:var(--dark); padding:.8rem; }.login-submit:hover,.login-submit:focus { background:var(--primary); border-color:var(--primary); color:#fff; }:focus-visible { outline:3px solid rgba(5,191,219,.65); outline-offset:3px; }
