
    :root {
      --navy:#0d1b2a;
      --navy-2:#13283e;
      --ink:#182330;
      --slate:#546171;
      --gold:#b79a61;
      --gold-2:#d7c18f;
      --ivory:#f7f4ed;
      --paper:#fffdfa;
      --line:#ded8cc;
      --success:#355d4b;
      --shadow:0 24px 60px rgba(13,27,42,.12);
      --radius:18px;
      --serif: Georgia, 'Times New Roman', serif;
      --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      --max:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.62}
    img{max-width:100%;height:auto}
    button,input,select,textarea{font:inherit}
    a{color:inherit}
    button,a{touch-action:manipulation}
    :focus-visible{outline:3px solid var(--gold-2);outline-offset:3px}
    .skip{position:fixed;left:12px;top:-60px;background:white;color:var(--navy);padding:10px 14px;z-index:9999;border-radius:8px;box-shadow:var(--shadow)}
    .skip:focus{top:12px}
    .container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
    .eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--gold)}
    .serif{font-family:var(--serif)}
    .muted{color:var(--slate)}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:7px;background:var(--navy);color:white;text-decoration:none;font-weight:750;cursor:pointer;transition:.18s ease}
    .button:hover{transform:translateY(-1px);background:#152e47}
    .button.gold{background:var(--gold);color:#111820}
    .button.gold:hover{background:#c8aa6e}
    .button.outline{background:transparent;color:var(--navy);border-color:#aeb5bc}
    .button.outline:hover{background:#f3f0e9}
    .button.light{background:white;color:var(--navy)}
    .button.small{min-height:40px;padding:8px 13px;font-size:.9rem}
    .icon{width:18px;height:18px;display:inline-block;vertical-align:middle}

    /* header */
    .utility{background:#07121e;color:#dfe6ed;font-size:.84rem}
    .utility .container{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:38px}
    .utility a{text-decoration:none;color:#fff}
    .utility-right{display:flex;gap:18px;align-items:center}
    .dot{width:4px;height:4px;border-radius:50%;background:var(--gold);display:inline-block;margin:0 7px}
    header{position:static;z-index:60;background:var(--paper);border-bottom:1px solid rgba(13,27,42,.09)}
    .nav{min-height:84px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:24px}
    .brand{display:flex;align-items:center;text-decoration:none;min-width:0}
    .brand img{height:62px;width:auto;max-width:248px;object-fit:contain;object-position:left center}
    .brand-fallback{display:none;align-items:center;gap:12px}
    .brand-mark{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;color:var(--navy)}
    .brand-words strong{display:block;font-family:var(--serif);font-size:1rem;letter-spacing:.05em}
    .brand-words span{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
    .navlinks{display:flex;justify-content:center;gap:28px;align-items:center}
    .navlinks a{text-decoration:none;font-size:.94rem;font-weight:700;color:#283544;position:relative}
    .navlinks a::after{content:"";position:absolute;left:0;right:100%;height:2px;bottom:-8px;background:var(--gold);transition:.18s ease}
    .navlinks a:hover::after,.navlinks a[aria-current="page"]::after{right:0}
    .nav-actions{display:flex;gap:9px}
    .menu-toggle{display:none;border:1px solid var(--line);background:white;width:46px;height:46px;border-radius:8px;cursor:pointer}

    /* page */
    main{min-height:70vh}
    .page{display:none}
    .page.active{display:block}
    .hero{background:var(--navy);color:white;position:relative;overflow:hidden}
    .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(183,154,97,.07),transparent 38%),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.025) 80px)}
    .hero::after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(183,154,97,.18);border-radius:50%;right:-240px;top:-160px;box-shadow:0 0 0 70px rgba(183,154,97,.035),0 0 0 140px rgba(183,154,97,.025)}
    .hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding:86px 0 82px}
    .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,5.2vw,5.25rem);line-height:1.02;margin:14px 0 22px;max-width:780px}
    .hero h1 em{font-style:normal;color:var(--gold-2)}
    .hero p{font-size:1.08rem;color:#d5dde5;max-width:680px;margin:0 0 30px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
    .trustline{margin-top:31px;display:flex;flex-wrap:wrap;gap:9px 22px;color:#dbe2e8;font-size:.88rem}
    .trustline span{display:flex;align-items:center;gap:8px}
    .check{width:19px;height:19px;border:1px solid rgba(215,193,143,.7);border-radius:50%;display:grid;place-items:center;color:var(--gold-2);font-size:.7rem}
    .hero-visual{position:relative;min-height:460px;display:grid;place-items:center}
    .case-panel{width:min(100%,475px);background:rgba(255,255,255,.97);color:var(--ink);border-radius:20px;box-shadow:0 38px 90px rgba(0,0,0,.28);padding:26px;position:relative}
    .case-panel::before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent)}
    .case-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #e8e3da}
    .case-head h3{font-family:var(--serif);font-size:1.35rem;margin:3px 0 0}
    .status{display:inline-flex;align-items:center;gap:7px;background:#eaf2ed;color:var(--success);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}
    .status i{width:7px;height:7px;border-radius:50%;background:var(--success)}
    .timeline{padding:21px 0 3px;display:grid;gap:14px}
    .timeline-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center}
    .timeline-icon{width:34px;height:34px;border-radius:50%;background:#f1ede4;display:grid;place-items:center;color:var(--navy);font-weight:900}
    .timeline-row strong{display:block;font-size:.92rem}
    .timeline-row small{color:var(--slate)}
    .timeline-row .done{color:var(--success);font-size:.75rem;font-weight:800}
    .wave{height:74px;border-radius:10px;background:#0d1b2a;margin-top:19px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 18px;overflow:hidden}
    .wave b{display:block;width:3px;border-radius:8px;background:var(--gold-2);opacity:.82}

    .section{padding:82px 0}
    .section.soft{background:var(--ivory)}
    .section.dark{background:var(--navy);color:white}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}
    .section-head h2{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.35rem);font-weight:400;line-height:1.08;margin:7px 0 0;max-width:760px}
    .section-head p{max-width:510px;margin:0;color:var(--slate)}
    .section.dark .section-head p{color:#c7d0d8}
    .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
    .service-card{background:white;border:1px solid #e4ded3;border-radius:14px;padding:24px;min-height:225px;position:relative;transition:.2s ease}
    .service-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(13,27,42,.09);border-color:#cbbd9e}
    .service-icon{width:44px;height:44px;border-radius:10px;background:var(--ivory);display:grid;place-items:center;color:var(--navy);margin-bottom:34px}
    .service-card h3{font-family:var(--serif);font-weight:400;font-size:1.28rem;margin:0 0 9px}
    .service-card p{font-size:.91rem;color:var(--slate);margin:0}

    .two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
    .statement{background:var(--navy);color:white;border-radius:18px;padding:44px;position:relative;overflow:hidden}
    .statement::after{content:"RLM";position:absolute;right:-17px;bottom:-49px;font-family:var(--serif);font-size:9rem;color:rgba(255,255,255,.035);letter-spacing:-.08em}
    .statement blockquote{font-family:var(--serif);font-size:1.85rem;line-height:1.35;margin:0 0 25px;color:#f7f1e6;position:relative;z-index:2}
    .statement p{color:#ccd6de;position:relative;z-index:2}
    .feature-list{display:grid;gap:20px;margin-top:27px}
    .feature{display:grid;grid-template-columns:42px 1fr;gap:13px}
    .feature span:first-child{width:42px;height:42px;border:1px solid #d5c9b2;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:800}
    .feature strong{display:block;margin-top:1px}
    .feature p{margin:2px 0 0;color:var(--slate);font-size:.92rem}

    .process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border-top:1px solid rgba(255,255,255,.18)}
    .step{padding:30px 28px 10px 0;position:relative}
    .step:not(:last-child)::after{content:"";position:absolute;right:20px;top:36px;width:42px;height:1px;background:rgba(215,193,143,.45)}
    .step b{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid rgba(215,193,143,.55);border-radius:50%;color:var(--gold-2);margin-bottom:17px}
    .step h3{font-family:var(--serif);font-weight:400;margin:0 0 8px;font-size:1.25rem}
    .step p{margin:0;color:#bdc7d0;font-size:.9rem}

    .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .review{background:white;border:1px solid #e1dbcf;padding:28px;border-radius:14px;display:flex;flex-direction:column}
    .quote{font-family:var(--serif);font-size:1.03rem;line-height:1.62;color:#273342;flex:1}
    .review footer{margin-top:22px;padding-top:18px;border-top:1px solid #e8e2d7}
    .review strong{display:block}
    .review small{color:var(--slate);text-transform:uppercase;letter-spacing:.1em}

    .cta{background:linear-gradient(135deg,#10243a,#0b1724);color:white;border-radius:20px;padding:48px 52px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;box-shadow:var(--shadow)}
    .cta h2{font-family:var(--serif);font-weight:400;font-size:2.3rem;line-height:1.15;margin:5px 0 10px}
    .cta p{margin:0;color:#cbd5dd;max-width:680px}

    /* internal page hero */
    .subhero{background:var(--navy);color:white;padding:70px 0 64px;position:relative;overflow:hidden}
    .subhero::after{content:"";position:absolute;right:-110px;top:-180px;width:430px;height:430px;border:1px solid rgba(183,154,97,.2);border-radius:50%;box-shadow:0 0 0 70px rgba(183,154,97,.04)}
    .subhero .container{position:relative;z-index:2}
    .subhero h1{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.5rem);font-weight:400;line-height:1.05;margin:8px 0 15px;max-width:880px}
    .subhero p{max-width:750px;color:#cdd7df;font-size:1.05rem}

    .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
    .detail-card{padding:32px;border:1px solid #e2dbcf;border-radius:14px;background:white;position:relative;overflow:hidden}
    .detail-card::before{content:"";position:absolute;left:32px;top:0;width:54px;height:3px;background:var(--gold);border-radius:0 0 4px 4px}
    .detail-card h2,.detail-card h3{font-family:var(--serif);font-weight:400;margin:0 0 10px}
    .detail-card p{color:var(--slate);margin-bottom:0}
    .detail-card ul{color:var(--slate);padding-left:19px}
    .tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
    .tag{border:1px solid #d9d2c5;background:#fbf8f2;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;color:#465362}

    /* forms */
    .form-shell{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr);gap:34px;align-items:start}
    .form-card{background:white;border:1px solid #dfd8cc;border-radius:16px;padding:34px;box-shadow:0 14px 40px rgba(13,27,42,.06)}
    .form-card h2{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:0 0 20px}
    .fields{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
    .field{display:grid;gap:7px}
    .field.full{grid-column:1/-1}
    .field label,.group-label{font-weight:750;font-size:.89rem}
    .field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea{width:100%;border:1px solid #bec5ca;background:#fff;border-radius:8px;padding:12px 13px;color:var(--ink);min-height:48px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
    .field input:not([type="checkbox"]):not([type="radio"]):focus,.field select:focus,.field textarea:focus{outline:none;border-color:#9b8456;box-shadow:0 0 0 3px rgba(183,154,97,.14);background:#fffefa}
    .field textarea{min-height:120px;resize:vertical}
    .hint{font-size:.78rem;color:var(--slate)}
    .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:7px}
    .checkline{display:flex;gap:11px;align-items:center;min-height:58px;border:1px solid #ddd7cc;border-radius:9px;padding:11px 13px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:700;line-height:1.3;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
    .checkline:hover{border-color:#baa77f;background:#fdfaf4}
    .checkline:has(input:focus-visible){outline:3px solid rgba(183,154,97,.22);outline-offset:2px}
    .checkline input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:20px;height:20px;min-width:20px;margin:0;border:1.5px solid #8f989f;border-radius:5px;background:#fff;display:grid;place-content:center;cursor:pointer}
    .checkline input[type="checkbox"]::before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease;background:var(--navy);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
    .checkline input[type="checkbox"]:checked{border-color:var(--navy);background:#f8f4ea}
    .checkline input[type="checkbox"]:checked::before{transform:scale(1)}
    .form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:3px}
    .form-actions .button{min-width:220px}
    .form-actions .hint{max-width:430px;line-height:1.45}
    .form-note{border:1px solid #e2dbcf;background:#faf7f1;border-radius:9px;padding:12px 14px;color:var(--slate);font-size:.79rem;line-height:1.5}
    .info-card{background:var(--navy);color:white;border-radius:16px;padding:30px;position:sticky;top:142px}
    .info-card h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:6px 0 12px}
    .info-card p{color:#cbd5dd}
    .info-list{display:grid;gap:13px;margin-top:22px}
    .info-list div{padding-top:13px;border-top:1px solid rgba(255,255,255,.12)}
    .info-list strong{display:block;color:#fff}
    .info-list span{font-size:.86rem;color:#bdc9d2}

    /* portal */
    .portal-shell{display:grid;grid-template-columns:390px 1fr;gap:34px;align-items:start}
    .login-card{background:white;border:1px solid #dfd8cd;border-radius:16px;padding:30px;box-shadow:var(--shadow)}
    .login-card h2{font-family:var(--serif);font-size:1.9rem;font-weight:400;margin:0 0 6px}
    .login-card p{color:var(--slate);margin-top:0}
    .portal-preview{background:#edf0f2;border:1px solid #d8dde1;border-radius:18px;padding:18px;min-height:585px}
    .portal-window{background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 10px 32px rgba(13,27,42,.12)}
    .portal-top{background:#0e1d2d;color:white;padding:17px 21px;display:flex;justify-content:space-between;align-items:center}
    .portal-top strong{font-family:var(--serif);font-size:1.12rem;font-weight:400}
    .avatar{width:34px;height:34px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#172230;font-weight:800}
    .portal-body{padding:24px}
    .portal-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
    .portal-welcome h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin:0}
    .portal-welcome p{margin:3px 0 0;color:var(--slate);font-size:.9rem}
    .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:18px}
    .metric{background:#f8f6f1;border:1px solid #e4ded3;border-radius:9px;padding:13px}
    .metric small{display:block;color:var(--slate);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
    .metric strong{display:block;font-size:1.35rem;margin-top:2px}
    .matter{border:1px solid #ded8cd;border-radius:10px;padding:18px}
    .matter-head{display:flex;justify-content:space-between;gap:10px}
    .matter h4{margin:0;font-size:.96rem}
    .matter p{margin:3px 0;color:var(--slate);font-size:.82rem}
    .progress{height:5px;background:#e4e6e8;border-radius:6px;overflow:hidden;margin:16px 0 8px}.progress i{display:block;height:100%;width:63%;background:var(--gold)}
    .matter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
    .micro{font-size:.72rem;padding:6px 9px;border:1px solid #d4d9dd;border-radius:6px;background:white;color:#33404d;font-weight:750}

    /* about */
    .veteran-panel{background:#f5f1e9;border:1px solid #ddd1bb;border-radius:18px;padding:42px;position:relative}
    .veteran-panel::before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:4px;background:var(--gold);border-radius:4px}
    .veteran-panel h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin:8px 0 13px}
    .veteran-panel p{color:var(--slate)}
    .credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
    .credential{border-top:1px solid #d9d0c1;padding-top:17px}
    .credential strong{display:block;font-family:var(--serif);font-size:1.05rem;font-weight:400}
    .credential span{font-size:.82rem;color:var(--slate)}

    /* footer */
    footer.site-footer{background:#07121e;color:#bac5ce;padding:54px 0 25px}
    .footer-grid{display:grid;grid-template-columns:1.3fr .75fr .75fr 1fr;gap:38px}
    .footer-brand img{height:70px;width:auto;max-width:240px;object-fit:contain;filter:brightness(0) invert(1);opacity:.95}
    .footer-brand h3{font-family:var(--serif);color:white;font-weight:400;margin:0 0 10px;font-size:1.4rem}
    .footer-brand p{max-width:360px;font-size:.9rem;margin:10px 0 0}
    .footer-grid h4{color:white;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:4px 0 15px}
    .footer-grid a{display:block;text-decoration:none;margin:8px 0;color:#c2ccd4;font-size:.9rem}
    .footer-grid a:hover{color:white}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#8f9ba5}.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover,.footer-bottom a:focus{color:#fff;text-decoration:underline}

    /* toast */
    .toast{position:fixed;right:24px;bottom:24px;z-index:100;background:#0b1724;color:white;border-left:4px solid var(--gold);padding:14px 18px;border-radius:8px;box-shadow:var(--shadow);max-width:380px;transform:translateY(140%);opacity:0;transition:.25s ease}
    .toast.show{transform:translateY(0);opacity:1}
    .toast strong{display:block;margin-bottom:2px}
    .toast span{color:#ccd5dc;font-size:.88rem}

    @media(max-width:1020px){
      .nav{grid-template-columns:220px 1fr auto}.navlinks{gap:16px}.nav-actions .outline{display:none}
      .hero .container{grid-template-columns:1fr .75fr;gap:38px}.services-grid{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}
      .portal-shell{grid-template-columns:330px 1fr}.metrics{grid-template-columns:1fr}
    }
    @media(max-width:820px){
      .utility .container{justify-content:center}.utility-right{display:none}
      .nav{grid-template-columns:1fr auto}.brand img{height:54px}.menu-toggle{display:block}.navlinks,.nav-actions{display:none}
      .hero .container,.two-col,.form-shell,.portal-shell{grid-template-columns:1fr}
      .hero-visual{min-height:auto;padding-bottom:8px}.section-head{display:block}.section-head p{margin-top:15px}.reviews{grid-template-columns:1fr}.process{grid-template-columns:repeat(2,1fr)}
      .cta{grid-template-columns:1fr;padding:34px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.info-card{position:static}.portal-shell{gap:22px}
    }
    @media(max-width:560px){
      .container{width:min(calc(100% - 28px),var(--max))}.hero .container{padding:64px 0}.hero h1{font-size:2.65rem}.section{padding:64px 0}
      .services-grid,.detail-grid,.fields,.checks,.credential-grid,.footer-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr}.step:not(:last-child)::after{display:none}
      .form-actions{align-items:stretch}.form-actions .button{width:100%}
      .cta{padding:28px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.case-panel{padding:20px}.portal-preview{padding:9px}.portal-body{padding:16px}.portal-welcome{display:block}.metrics{grid-template-columns:1fr}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
  
/* Production multi-page adjustments */
.page{display:block}.site-main{min-height:70vh}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notice-box{border:1px solid var(--line);background:#fff;padding:16px;border-radius:10px;margin:16px 0}.notice-box.success{border-color:#b8d4c7;background:#edf7f2}.notice-box.error{border-color:#e0b8b8;background:#fff1f1}.public-form .field{display:grid;gap:7px}.public-form label{font-weight:800;font-size:.9rem}.public-form input,.public-form select,.public-form textarea{width:100%;padding:12px 13px;border:1px solid #bfc6cb;border-radius:8px;background:#fff;color:var(--ink)}.public-form textarea{min-height:120px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}.choice input{width:auto}.portal-content{padding:64px 0;background:var(--ivory)}.portal-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 8px 24px rgba(13,27,42,.05)}.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.portal-jobs{display:grid;gap:12px}.portal-job{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}.portal-job-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.portal-job h3{margin:0;font-family:var(--serif);font-weight:400}.portal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.portal-meta div{background:var(--ivory);padding:10px;border-radius:8px}.portal-meta small{display:block;color:var(--slate);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.portal-timeline{margin-top:16px;border-top:1px solid var(--line)}.portal-event{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #eee9df}.portal-event time{color:var(--slate);font-size:.82rem}.portal-login-wrap{min-height:68vh;background:var(--navy);padding:70px 0;display:grid;place-items:center}.portal-login-card{width:min(100%,560px);background:#fff;border-radius:16px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.portal-login-card h1{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:2rem}.portal-login-card .login-username,.portal-login-card .login-password,.portal-login-card .login-remember{display:grid;gap:7px}.portal-login-card input[type=text],.portal-login-card input[type=password]{width:100%;padding:12px 13px;border:1px solid #bcc6cd;border-radius:8px}.portal-login-card input[type=submit]{border:0;border-radius:8px;padding:12px 18px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.policy-content{max-width:900px}.policy-content h2,.policy-content h3{font-family:var(--serif);font-weight:400;color:var(--navy)}.policy-content h2{font-size:2rem}.policy-content h3{font-size:1.35rem;margin-top:28px}@media(max-width:760px){.form-grid,.choice-grid,.portal-grid,.portal-meta{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.portal-event{grid-template-columns:1fr;gap:2px}}

/* ========================================================================== 
   Rhine Legal Media 0.4.0 production refinements
   ========================================================================== */

/* Desktop header is intentionally NOT sticky. */
.site-header{position:static!important;top:auto!important;backdrop-filter:none!important;background:var(--paper);z-index:60}
.brand img{height:68px;max-width:250px;object-fit:contain;object-position:left center}
.footer-logo{height:76px!important;max-width:280px!important;object-fit:contain}

/* Vendor Roll remains the unmodified vendor-supplied badge, but is presented
   as an intentional directory credential rather than a floating white block. */
.vendor-roll-block{margin-top:22px;max-width:286px}
.vendor-roll-kicker{display:block;color:#8998a5;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.footer-grid .vendor-roll-badge{display:block;margin:0;padding:7px;background:#f8f5ee;border:1px solid rgba(215,193,143,.55);border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.12);width:max-content;max-width:100%}
.footer-grid .vendor-roll-badge img{display:block;width:260px;height:72px;max-width:100%;object-fit:contain;filter:none!important;opacity:1!important;margin:0}
.footer-grid .vendor-roll-fallback{display:inline-block;margin:7px 0 0;color:#d7c18f;font-size:.74rem;text-decoration:none}
.footer-grid .vendor-roll-fallback:hover,.footer-grid .vendor-roll-fallback:focus{color:#fff;text-decoration:underline}

/* Services: equal-height cards and a consistent vertical rhythm. */
.services-detail-section{padding-bottom:72px}
.service-detail-grid{align-items:stretch;gap:20px}
.service-detail-card{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:255px;padding:34px}
.service-detail-card p{margin:0;line-height:1.68}
.service-detail-card .tagrow{margin-top:auto;padding-top:4px}
.service-actions-section{padding-top:72px;padding-bottom:82px;background:var(--paper)}
.service-cta-stack{display:grid;gap:24px}
.service-cta-stack .cta{margin:0;min-height:218px}

/* Better portal login presentation. */
.portal-login-wrap{min-height:auto;padding:72px 0;background:linear-gradient(135deg,#07121e 0%,#0d1b2a 70%,#13283e 100%)}
.portal-login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);gap:0;width:min(100%,1100px);margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:0 34px 100px rgba(0,0,0,.28);background:#fff}
.portal-login-brand-panel{padding:56px;background:#0d1b2a;color:#fff;position:relative;overflow:hidden}
.portal-login-brand-panel::after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(215,193,143,.18);border-radius:50%;right:-220px;bottom:-230px;box-shadow:0 0 0 60px rgba(183,154,97,.035),0 0 0 120px rgba(183,154,97,.02)}
.portal-login-brand-panel>*{position:relative;z-index:2}
.portal-login-brand-panel h1{font-family:var(--serif);font-size:clamp(2.25rem,4vw,3.65rem);font-weight:400;line-height:1.05;margin:9px 0 18px}
.portal-login-brand-panel p{color:#cbd6df;max-width:560px}
.portal-login-points{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px;color:#e6ebef}
.portal-login-points li{display:flex;gap:10px;align-items:flex-start}
.portal-login-points li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(215,193,143,.7);border-radius:50%;color:var(--gold-2);font-size:.7rem;flex:0 0 auto;margin-top:2px}
.portal-login-shell>.portal-login-card{border:0;border-radius:0;box-shadow:none;width:auto;padding:56px;display:flex;flex-direction:column;justify-content:center}
.portal-login-card h2,.portal-login-card h1{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:2.15rem;margin:7px 0 8px}
.portal-login-card>p{color:var(--slate);margin:0 0 24px}
.portal-login-card form{display:grid;gap:15px}
.portal-login-card form p{margin:0}
.portal-login-card label{display:grid;gap:7px;font-weight:750;color:#273543}
.portal-login-card input[type=text],.portal-login-card input[type=password]{width:100%;padding:12px 13px;border:1px solid #bcc6cd;border-radius:8px;min-height:48px}
.portal-login-card input[type=submit]{width:100%;border:0;border-radius:8px;padding:13px 18px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer;min-height:48px}
.portal-login-card .login-remember label{display:flex;align-items:center;gap:8px;font-weight:600}
.portal-login-card .login-remember input{width:auto}
.portal-login-help{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:4px;font-size:.78rem;color:var(--slate)}
.portal-login-help a{font-weight:750;color:#304d69}
.portal-login-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Client portal application shell. */
.portal-content{padding:58px 0 78px;background:#f3f4f2}
.client-portal-app{--portal-border:#ddd7cb;--portal-soft:#f7f4ed;--portal-green:#2f6955;--portal-blue:#376b95;--portal-amber:#8a6523;display:grid;gap:18px}
.portal-admin-preview{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff8e8;border:1px solid #e1d1aa;border-radius:12px;padding:13px 16px;color:#5d491f}
.portal-admin-preview strong,.portal-admin-preview span{display:block}.portal-admin-preview span{font-size:.78rem;margin-top:2px}.portal-admin-preview select{min-height:38px;border:1px solid #c9b47e;border-radius:7px;padding:6px 10px;background:#fff}
.client-portal-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;background:#fff;border:1px solid var(--portal-border);border-radius:16px;padding:34px 36px;box-shadow:0 10px 30px rgba(13,27,42,.045)}
.client-portal-hero h1{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:1.08;margin:7px 0 10px;color:var(--navy)}
.client-portal-hero p{margin:0;color:var(--slate);max-width:720px}
.client-portal-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.client-portal-tabs{display:flex;gap:4px;overflow-x:auto;background:#07121e;border-radius:12px;padding:6px;scrollbar-width:thin}
.client-portal-tabs button{appearance:none;border:0;background:transparent;color:#c8d3db;padding:11px 14px;border-radius:8px;white-space:nowrap;font-weight:750;font-size:.86rem;cursor:pointer}
.client-portal-tabs button span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.08);margin-left:5px;font-size:.7rem}
.client-portal-tabs button:hover{background:rgba(255,255,255,.06);color:#fff}
.client-portal-tabs button.active{background:#fff;color:var(--navy)}
.client-portal-panels{min-width:0}
.client-portal-panel{display:block}
.portal-enhanced .client-portal-panel{display:none}
.portal-enhanced .client-portal-panel.active{display:block;animation:portalFade .16s ease}
@keyframes portalFade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.portal-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:7px 0 20px}
.portal-page-head h2{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0;color:var(--navy)}
.portal-page-head p{margin:4px 0 0;color:var(--slate)}
.client-portal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.portal-metric{background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:18px}
.portal-metric small{display:block;color:var(--slate);font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.portal-metric strong{display:block;font-size:1.65rem;color:var(--navy);margin:4px 0 2px}
.portal-metric span{font-size:.75rem;color:var(--slate)}
.client-portal-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.portal-overview-side{display:grid;gap:18px;align-content:start}
.portal-card{background:#fff;border:1px solid var(--portal-border);border-radius:14px;box-shadow:0 8px 24px rgba(13,27,42,.035)}
.portal-card-pad{padding:22px}
.portal-card h2,.portal-card h3{color:var(--navy)}
.portal-card h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin-top:0}
.portal-section-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}
.portal-section-title h3{margin:0}
.portal-link-button{appearance:none;border:0;background:none;padding:0;color:#315879;font-weight:800;font-size:.78rem;cursor:pointer;text-decoration:none}
.portal-link-button:hover{text-decoration:underline}
.portal-job-list{display:grid;gap:12px}
.client-job-card{border:1px solid var(--portal-border);border-radius:11px;background:#fff;padding:18px}
.client-job-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.client-job-head h3,.client-job-head h4{margin:0;color:var(--navy)}
.client-job-head h3{font-family:var(--serif);font-weight:400;font-size:1.35rem}.client-job-head h4{font-size:.96rem}
.client-job-head p{margin:3px 0;color:var(--slate);font-size:.78rem}
.client-job-progress{height:6px;background:#e6eaec;border-radius:999px;overflow:hidden;margin:15px 0 8px}
.client-job-progress span{display:block;height:100%;background:var(--gold);border-radius:999px}
.client-job-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--slate);font-size:.8rem}
.client-update-list{display:grid}.client-update{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:9px 0;border-top:1px solid #ece8df}.client-update:first-child{border-top:0}.client-update-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e8f3ee;color:#2f6955;font-size:.65rem;font-weight:900}.client-update strong{display:block;font-size:.8rem}.client-update small{display:block;color:var(--slate);font-size:.72rem;margin-top:2px}
.client-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.client-quick-actions button,.client-quick-actions a{appearance:none;border:1px solid #dbe0e3;border-radius:9px;background:#fafbfb;padding:13px;text-align:left;text-decoration:none;color:var(--ink);cursor:pointer}.client-quick-actions strong{display:block;font-size:.82rem}.client-quick-actions span{display:block;font-size:.72rem;color:var(--slate);margin-top:3px}.client-quick-actions button:hover,.client-quick-actions a:hover{border-color:#c8b88f;background:#fffaf0}
.portal-empty{padding:34px;text-align:center;color:var(--slate);display:grid;gap:5px}.portal-empty strong{color:var(--navy)}.portal-empty.compact{padding:16px}
.portal-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-job-detail-card{display:flex;flex-direction:column;gap:4px}
.portal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.portal-meta div{background:var(--portal-soft);padding:11px;border-radius:8px;font-size:.83rem}.portal-meta small{display:block;color:var(--slate);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;margin-bottom:3px}
.client-tracking{margin-top:15px;border-top:1px solid #e9e4da;padding-top:12px}.client-tracking summary{cursor:pointer;font-weight:800;color:#315879;font-size:.82rem}
.portal-timeline{margin-top:12px}.portal-event{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:11px 0;border-top:1px solid #eee9df}.portal-event:first-child{border-top:0}.portal-event time{font-size:.74rem;color:var(--slate)}.portal-event strong,.portal-event span{display:block}.portal-event strong{font-size:.8rem}.portal-event span{font-size:.74rem;color:var(--slate);margin-top:2px}
.portal-info-banner{display:flex;flex-direction:column;gap:3px;background:#eef4f7;border:1px solid #d2e0e7;border-radius:10px;padding:14px 16px;color:#405767;margin-bottom:18px}.portal-info-banner strong{color:#18324b}.portal-info-banner span{font-size:.82rem}
.portal-file-list{display:grid}.portal-file-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-top:1px solid #ece8df}.portal-file-row:first-child{border-top:0}.portal-file-row strong,.portal-file-row span{display:block}.portal-file-row span{font-size:.76rem;color:var(--slate);margin-top:3px}
.portal-table-wrap{overflow:auto;border:1px solid var(--portal-border);border-radius:12px;background:#fff}.portal-table{width:100%;border-collapse:collapse;min-width:760px}.portal-table th,.portal-table td{padding:13px 14px;border-bottom:1px solid #e9e6df;text-align:left;font-size:.8rem;vertical-align:middle}.portal-table th{background:#f8f7f3;color:#687581;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}.portal-table tr:last-child td{border-bottom:0}
.client-new-matter-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.portal-new-matter-side{display:grid;gap:18px;align-content:start}.portal-next-steps{counter-reset:portalstep;list-style:none;padding:0;margin:0;display:grid;gap:15px}.portal-next-steps li{display:grid;grid-template-columns:32px 1fr;column-gap:11px}.portal-next-steps li::before{counter-increment:portalstep;content:counter(portalstep);grid-row:1/3;width:28px;height:28px;border:1px solid #d5c49b;border-radius:50%;display:grid;place-items:center;color:#775b23;font-weight:850;font-size:.72rem}.portal-next-steps strong,.portal-next-steps span{display:block}.portal-next-steps strong{font-size:.85rem}.portal-next-steps span{font-size:.76rem;color:var(--slate);margin-top:2px}
.account-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-definition-list{margin:0}.portal-definition-list div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-top:1px solid #ece8df}.portal-definition-list div:first-child{border-top:0}.portal-definition-list dt{font-size:.72rem;color:var(--slate);text-transform:uppercase;letter-spacing:.07em;font-weight:800}.portal-definition-list dd{margin:0}
.contractor-response{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}

/* Tags within the app use status semantics. */
.client-portal-app .tag{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:850;white-space:nowrap}.client-portal-app .tag.green{background:#e8f3ee;color:#2f6955}.client-portal-app .tag.amber{background:#fbf2dc;color:#8a6523}.client-portal-app .tag.blue{background:#e9f1f8;color:#376b95}.client-portal-app .tag.red{background:#fae9e9;color:#9d3e42}.client-portal-app .tag.gray{background:#edf0f2;color:#586572}

@media(max-width:1020px){
  .client-portal-metrics{grid-template-columns:repeat(2,1fr)}
  .client-portal-overview-grid,.client-new-matter-grid{grid-template-columns:1fr}
  .portal-job-grid{grid-template-columns:1fr}
}

@media(max-width:820px){
  /* Mobile may use a sticky compact navigation; desktop never does. */
  .site-header{position:sticky!important;top:0!important;z-index:60}
  .brand img{height:58px;max-width:220px}
  .footer-logo{height:72px!important}
  .portal-login-shell{grid-template-columns:1fr}.portal-login-brand-panel{padding:34px}.portal-login-shell>.portal-login-card{padding:34px}
  .client-portal-hero,.portal-page-head,.portal-file-row{align-items:flex-start;flex-direction:column}.client-portal-hero-actions{justify-content:flex-start}.client-portal-metrics{grid-template-columns:1fr 1fr}.account-security-grid{grid-template-columns:1fr}.portal-admin-preview{align-items:flex-start;flex-direction:column}
  .service-detail-card{min-height:auto}
}

@media(max-width:560px){
  .client-portal-metrics{grid-template-columns:1fr}.client-quick-actions{grid-template-columns:1fr}.portal-meta{grid-template-columns:1fr}.portal-event{grid-template-columns:1fr;gap:3px}.portal-login-help{align-items:flex-start;flex-direction:column}.portal-login-brand-panel{padding:28px 22px}.portal-login-shell>.portal-login-card{padding:28px 22px}.client-portal-hero{padding:27px 24px}.client-portal-tabs{border-radius:9px}.service-cta-stack{gap:18px}
}

/* MFA enrollment */
.mfa-enrollment{display:grid;gap:15px}.mfa-steps{padding-left:20px;margin:0;color:var(--ink)}.mfa-steps li{margin:8px 0}.mfa-secret{background:#f7f4ed;border:1px solid #ddd1bb;border-radius:10px;padding:14px}.mfa-secret small{display:block;color:var(--slate);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:5px}.mfa-secret code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.93rem;overflow-wrap:anywhere;color:#1f3243}.mfa-verify-form{display:grid;grid-template-columns:minmax(160px,220px) auto;gap:9px;align-items:end}.mfa-verify-form label{grid-column:1/-1;font-weight:800;font-size:.82rem}.mfa-verify-form input{min-height:46px;border:1px solid #bcc6cd;border-radius:8px;padding:10px 12px}.mfa-recovery-codes{margin-top:15px;padding:15px;background:#fff8e8;border:1px solid #e2d0a5;border-radius:10px}.mfa-recovery-codes>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.mfa-recovery-codes code{background:#fff;border:1px solid #e3d9c5;padding:7px 9px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:560px){.mfa-verify-form{grid-template-columns:1fr}.mfa-recovery-codes>div{grid-template-columns:1fr}}
.mfa-enrollment-methods{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}.mfa-qr-wrap{display:grid;gap:8px}.mfa-qr{width:240px;min-height:240px;border:1px solid #d9d1c2;border-radius:12px;background:#fff;display:grid;place-items:center;padding:8px;overflow:hidden}.mfa-qr svg{display:block;width:224px;height:224px;max-width:100%}.mfa-qr>span{font-size:.72rem;color:var(--slate);text-align:center}.mfa-qr-wrap small{font-size:.72rem;color:var(--slate);line-height:1.4}@media(max-width:700px){.mfa-enrollment-methods{grid-template-columns:1fr}.mfa-qr{width:min(240px,100%)}}

/* v0.4.1 production polish ------------------------------------------------ */

/* Desktop headers are never sticky. Mobile-only sticky behavior is defined
   in the narrow viewport media query below. */
.site-header,
body.admin-bar .site-header{
  position:static!important;
  top:auto!important;
}

/* Services: consistent rhythm and equal CTA treatment. */
.services-detail-section{padding-bottom:76px}
.service-detail-grid{gap:22px}
.service-detail-card{min-height:268px;padding:34px 34px 30px}
.service-actions-section{padding:76px 0 86px}
.service-cta-stack{gap:30px}
.service-cta-stack .cta{min-height:0;padding:42px 48px;margin:0}
.service-cta-stack .cta h2{margin-top:7px}

/* About: distinct ownership identities. */
.about-lead{font-size:2.55rem;font-weight:400;line-height:1.15;margin:8px 0 13px}
.ownership-section{border-top:1px solid #e9e1d4;border-bottom:1px solid #e9e1d4}
.ownership-heading{align-items:flex-start}
.ownership-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ownership-card{position:relative;display:grid;grid-template-columns:78px 1fr;gap:24px;padding:34px;border:1px solid #ddd4c5;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(13,27,42,.05)}
.ownership-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.ownership-card h3{font-family:var(--serif);font-weight:400;font-size:1.65rem;line-height:1.2;margin:7px 0 10px;color:var(--navy)}
.ownership-card p{margin:0;color:var(--slate)}
.ownership-mark{width:66px;height:66px;border:1px solid #d4c49f;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:2rem;color:var(--navy);background:var(--ivory)}
.veteran-owned-card{background:linear-gradient(145deg,#fff,#fbf8f1)}
.woman-owned-card{background:linear-gradient(145deg,#fff,#f7f8fa)}

/* Portal login: fill the viewport intentionally instead of leaving a large
   blank page when the sign-in form is present. Signed-in users are redirected
   directly to the portal by functions.php. */
.portal-login-wrap{min-height:calc(100vh - 122px);display:flex;align-items:center;padding:64px 0}
.portal-login-wrap>.container{width:min(calc(100% - 40px),1180px)}
.portal-login-shell{min-height:610px}
.portal-login-brand-panel{display:flex;flex-direction:column;justify-content:center}
.portal-login-shell>.portal-login-card{min-height:610px}

/* Portal workspace: closer to the approved R4 application model. */
.portal-content{padding:52px 0 76px;background:#f4f1ea}
.portal-content>.container{width:min(calc(100% - 40px),1380px)}
.client-portal-app{gap:20px}
.client-portal-hero{padding:30px 34px;background:linear-gradient(135deg,#fff,#fdfbf6)}
.client-portal-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.client-portal-sidebar{background:#07121e;color:#fff;border-radius:16px;overflow:hidden;min-height:690px;display:flex;flex-direction:column;position:sticky;top:24px;box-shadow:0 16px 42px rgba(13,27,42,.12)}
.client-portal-sidebar-head{padding:24px 22px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.client-portal-sidebar-head img{width:150px;height:auto;filter:brightness(0) invert(1);display:block;margin-bottom:12px}
.client-portal-sidebar-head span{display:block;color:#8fa0ad;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.client-portal-tabs{display:grid;gap:4px;background:transparent;border-radius:0;padding:14px 12px;overflow:visible}
.client-portal-tabs button{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;text-align:left;color:#cad4dc;padding:11px 12px;border-radius:9px;font-size:.84rem}
.client-portal-tabs button:hover{background:rgba(255,255,255,.07)}
.client-portal-tabs button.active{background:#fff;color:#07121e;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.client-portal-tabs button>span{margin:0;background:transparent;min-width:0;height:auto;padding:0;border-radius:0}
.client-portal-tabs .portal-nav-icon{display:grid;place-items:center;width:24px;height:24px;font-size:1rem;color:inherit}
.client-portal-tabs .portal-nav-label{display:block;font-size:.84rem}
.client-portal-tabs .portal-nav-count{justify-self:end;display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.68rem}
.client-portal-tabs button.active .portal-nav-count{background:#ece9e1}
.client-portal-sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:17px 18px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}
.portal-user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#07121e;font-weight:900}
.client-portal-sidebar-foot strong,.client-portal-sidebar-foot span{display:block}.client-portal-sidebar-foot strong{font-size:.78rem}.client-portal-sidebar-foot span{font-size:.68rem;color:#94a4b0;margin-top:2px}.client-portal-sidebar-foot a{grid-column:1/-1;color:#d6e0e7;text-decoration:none;font-size:.72rem;padding-top:4px}.client-portal-sidebar-foot a:hover{text-decoration:underline;color:#fff}
.client-portal-main{min-width:0}
.client-portal-panels{min-width:0}
.client-portal-panel{min-width:0}
.client-portal-mobile-nav{display:none}
.portal-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:4px 0 18px}.portal-page-head h2{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--navy);margin:0 0 4px}.portal-page-head p{margin:0;color:var(--slate)}
.client-portal-metrics{gap:16px}.portal-metric{border-radius:14px;padding:20px;background:#fff;border:1px solid var(--portal-border);box-shadow:0 8px 24px rgba(13,27,42,.035)}
.client-portal-overview-grid{gap:20px}.portal-overview-side{gap:20px}.portal-card{border-radius:15px}.portal-card-pad{padding:24px}
.portal-table-wrap{border-radius:14px}

/* Footer third-party badge must retain its own native appearance. */
.footer-grid .vendor-roll-badge{background:#fff!important}
.footer-grid .vendor-roll-badge img{background:#fff!important;filter:none!important;mix-blend-mode:normal!important}

@media(max-width:1020px){
  .ownership-grid{grid-template-columns:1fr}
  .client-portal-workspace{grid-template-columns:210px minmax(0,1fr)}
  .client-portal-sidebar{min-height:620px}
}

@media(max-width:820px){
  .site-header,body.admin-bar .site-header{position:sticky!important;top:0!important;z-index:60}
  .ownership-card{grid-template-columns:58px 1fr;padding:26px;gap:18px}.ownership-mark{width:52px;height:52px;font-size:1.55rem}
  .client-portal-workspace{display:block}
  .client-portal-sidebar{display:none}
  .client-portal-mobile-nav{display:grid;gap:7px;margin-bottom:16px;background:#07121e;color:#fff;border-radius:12px;padding:14px}
  .client-portal-mobile-nav label{font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#a9b6c0}
  .client-portal-mobile-nav select{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#fff;color:#07121e;padding:8px 10px}
  .portal-login-wrap{min-height:auto;padding:36px 0}
  .portal-login-shell,.portal-login-shell>.portal-login-card{min-height:0}
  .service-cta-stack .cta{padding:34px}
}

@media(max-width:560px){
  .ownership-card{grid-template-columns:1fr}.ownership-mark{margin-bottom:2px}
  .service-cta-stack{gap:22px}.service-cta-stack .cta{padding:28px}
  .portal-content{padding:30px 0 48px}.portal-content>.container{width:min(calc(100% - 24px),1380px)}
}


/* Rhine 1.0.1: one accessible responsive navigation panel.
   Desktop remains entirely non-sticky; mobile menu expands in normal
   document flow instead of overlapping page headings or CTA buttons. */
.site-header .nav-panel{display:contents}
.menu-toggle{align-items:center;justify-content:center;color:var(--navy);font-size:1.55rem;line-height:1}
.menu-toggle-icon{display:block;line-height:1}
@media(max-width:820px){
  .site-header .nav{grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:center}
  .site-header .brand{grid-column:1;grid-row:1;min-width:0}
  .site-header .menu-toggle{display:flex;grid-column:2;grid-row:1;justify-self:end;align-self:center}
  .site-header .nav-panel{display:none;grid-column:1/-1;grid-row:2;min-width:0;width:100%}
  .site-header .navlinks,.site-header .nav-actions{display:none}
  .site-header.open,body.admin-bar .site-header.open{position:static!important;top:auto!important}
  .site-header.open .nav-panel{display:flex;position:static;flex-direction:column;gap:0;align-items:stretch;background:var(--paper);padding:12px 0 20px;border-top:1px solid var(--line);max-width:100%}
  .site-header.open .nav-panel .navlinks{display:grid;position:static;top:auto;left:auto;right:auto;width:100%;min-width:0;gap:0;margin:0;padding:0 0 12px;flex-direction:initial;align-items:stretch;border:0;box-shadow:none;background:transparent}
  .site-header.open .nav-panel .navlinks a{display:flex;align-items:center;min-height:46px;padding:10px 3px;font-size:1rem;border-bottom:1px solid #e8e3d9}
  .site-header.open .nav-panel .navlinks a:after{display:none}
  .site-header.open .nav-panel .nav-actions{display:grid;position:static;top:auto;left:auto;right:auto;width:100%;gap:10px;margin:0;padding:10px 0 0;background:transparent}
  .site-header.open .nav-panel .nav-actions .button,
  .site-header.open .nav-panel .nav-actions .outline{display:inline-flex;width:100%;min-height:48px;padding:11px 14px;justify-content:center;white-space:normal;text-align:center}
}
@media(max-width:560px){
  .site-header.open .nav-panel{padding-bottom:18px}
  .site-header .brand img{max-width:min(100%,186px);height:54px}
}
