:root{
  --bg:#080808;--panel:#111;--panel2:#171717;--panel3:#1d1d1d;
  --cream:#efe5d7;--muted:#a49d94;--gold:#c78e49;--gold2:#e1ad67;
  --green:#5ca165;--line:rgba(199,142,73,.34);--line2:rgba(255,255,255,.08);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:14px}
button,input,textarea,select{font:inherit}button{color:inherit}.portal-shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#0b0b0b,#111);border-right:1px solid var(--line2);padding:24px 12px}
.brand{padding:0 10px 24px;border-bottom:1px solid var(--line2)}.wordmark{font-family:var(--serif);font-size:30px;letter-spacing:.05em}.brand-sub{font-size:8px;letter-spacing:.19em;margin-top:4px}
.project-card{display:grid;grid-template-columns:68px 1fr;gap:10px;padding:16px 7px;border:1px solid var(--line2);border-radius:7px;margin:16px 0}.project-card img{width:68px;height:68px;object-fit:cover;border-radius:7px}.project-card strong,.project-card span{display:block}.project-card strong{font-size:11px;margin-top:4px}.project-card span{font-size:8px;color:var(--muted);margin-top:5px}.project-card button{border:0;background:transparent;color:var(--gold2);font-size:8px;padding:7px 0 0;cursor:pointer;text-align:left}
.sidebar-label{color:var(--gold2);text-transform:uppercase;letter-spacing:.13em;font-size:8px;margin:20px 10px 10px}.portal-nav{display:grid;gap:3px}.nav-item{border:0;background:transparent;padding:12px 10px;display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;font-size:10px;border-radius:4px}.nav-item span{font-size:18px;color:#c8c1b7}.nav-item.active{background:linear-gradient(90deg,rgba(199,142,73,.17),rgba(199,142,73,.03));color:var(--gold2)}.nav-item.active span{color:var(--gold2)}
.help-card{margin:26px 6px 0;border:1px solid var(--line2);padding:14px;display:grid;grid-template-columns:38px 1fr;gap:9px}.help-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1b1b1b}.help-card strong{font-size:9px;color:var(--gold2)}.help-card p{margin:3px 0;color:var(--muted);font-size:8px;line-height:1.5}.help-card button{grid-column:1/-1;border:1px solid var(--gold);background:transparent;min-height:36px;text-transform:uppercase;letter-spacing:.12em;font-size:8px;cursor:pointer}
blockquote{margin:46px 18px 24px;font-family:var(--serif);font-size:19px;line-height:1.55;color:#d7c2a7}.sidebar-monogram{font-family:var(--serif);font-size:62px;color:var(--gold2);text-align:center;margin-top:38px}
.main-area{min-width:0}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line2);background:#0c0c0c;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-family:var(--serif);font-size:28px;font-weight:500}.topbar p{margin:4px 0 0;color:var(--muted);font-size:9px}.topbar-actions{display:flex;align-items:center;gap:14px}.topbar-actions>button{border:0;background:transparent;color:var(--gold2);font-size:18px;cursor:pointer}.client-chip{display:flex;gap:8px;align-items:center}.client-chip strong,.client-chip span{display:block}.client-chip strong{font-size:9px}.client-chip span{font-size:8px;color:var(--muted);margin-top:2px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d2a06b,#6f432e);color:#111;font-weight:700}.avatar.large{width:52px;height:52px}.avatar.small{width:32px;height:32px;font-size:9px}
.hero-banner{min-height:255px;display:grid;grid-template-columns:1.05fr 1.35fr 260px;border-bottom:1px solid var(--line2)}.hero-copy{padding:38px 28px;background:linear-gradient(90deg,#111,#14110e)}.eyebrow{color:var(--gold2);text-transform:uppercase;letter-spacing:.13em;font-size:8px;margin:0 0 10px}.hero-progress-line{display:flex;align-items:flex-end;gap:8px}.hero-progress-line strong{font-family:var(--serif);font-size:52px;font-weight:500;line-height:.8}.hero-progress-line span{font-family:var(--serif);font-size:24px}.progress-track{height:9px;border-radius:20px;background:#3d3a35;overflow:hidden;margin:20px 0}.progress-fill{height:100%;width:62%;background:linear-gradient(90deg,var(--gold),var(--gold2))}.hero-copy>p:not(.eyebrow){color:#beb7ae;font-size:10px}.hero-image{background:linear-gradient(90deg,rgba(8,8,8,.25),rgba(8,8,8,.08)),url("assets/soleil-hero.jpg") center/cover}.manager-card{margin:18px;background:linear-gradient(180deg,#171717,#111);border:1px solid var(--line);padding:18px}.manager-profile{display:flex;align-items:center;gap:12px}.manager-profile strong,.manager-profile span{display:block}.manager-profile strong{font-size:10px}.manager-profile span{font-size:8px;color:var(--muted);margin-top:4px}.manager-icons{display:flex;gap:18px;font-size:18px;margin:17px 0}
.outline-button,.gold-button{min-height:40px;border:1px solid var(--gold);background:transparent;padding:0 18px;text-transform:uppercase;letter-spacing:.11em;font-size:8px;cursor:pointer}.gold-button{background:linear-gradient(90deg,var(--gold),var(--gold2));color:#111}.full{width:100%}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;padding:16px}.main-dashboard{display:grid;gap:14px}.dashboard-section,.rail-card{background:linear-gradient(180deg,#151515,#101010);border:1px solid var(--line2);border-radius:6px;padding:18px}.section-title-row{display:flex;justify-content:space-between;align-items:center}.section-title-row h2{margin:0;color:var(--gold2);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.section-title-row button{border:0;background:transparent;color:var(--gold2);font-size:8px;cursor:pointer}
.journey{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:22px}.journey-step{text-align:center;position:relative}.journey-step:not(:last-child)::after{content:"";position:absolute;left:60%;right:-40%;top:20px;height:1px;background:#46413b}.journey-icon{width:40px;height:40px;border-radius:50%;border:1px solid #57514a;display:grid;place-items:center;margin:0 auto 12px;color:#888}.journey-step.complete .journey-icon{background:var(--green);border-color:var(--green);color:white}.journey-step.active .journey-icon{border:3px solid #6e4c29;color:var(--gold2);box-shadow:0 0 0 1px var(--gold)}.journey-step strong,.journey-step span,.journey-step small{display:block}.journey-step strong{font-size:8px}.journey-step span{color:var(--muted);font-size:7px;margin-top:5px}.journey-step.complete span{color:var(--green)}.journey-step.active span{color:var(--gold2)}.journey-step small{color:#7f7972;font-size:7px;margin-top:5px}
.current-focus{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:center}.focus-copy h2{font-family:var(--serif);font-size:28px;font-weight:500;margin:0 0 8px}.focus-copy>p:not(.eyebrow){color:#c1bab1;line-height:1.65;font-size:10px}.current-focus img{width:100%;max-height:250px;object-fit:cover;border:1px solid var(--line);border-radius:6px}
.deliverables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.deliverable-card{border:1px solid var(--line2);background:#151515;padding-bottom:12px;position:relative}.deliverable-card img{width:100%;height:115px;object-fit:cover}.deliverable-card strong,.deliverable-card span{display:block;padding:0 12px}.deliverable-card strong{font-size:9px;margin-top:10px}.deliverable-card span{font-size:7px;color:var(--muted);margin-top:5px}.deliverable-card button{position:absolute;inset:0;border:0;background:transparent;color:transparent;cursor:pointer}
.launch-strip{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;background:linear-gradient(90deg,#17120d,#151515);border:1px solid var(--line);padding:18px}.launch-icon{font-size:33px;color:var(--gold2)}.launch-strip p{margin:4px 0;color:#b9b2a9;font-size:9px}
.right-rail{display:grid;gap:14px;align-content:start}.action-list{display:grid;margin-top:12px}.action-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line2)}.action-row input{accent-color:var(--gold);margin-top:3px}.action-row strong,.action-row small{display:block}.action-row strong{font-size:9px}.action-row small{font-size:7px;color:var(--muted);margin-top:5px}.action-row button{border:0;background:transparent;color:var(--gold2);font-size:20px;cursor:pointer}.rail-link{width:100%;border:0;border-top:1px solid var(--line2);background:transparent;color:var(--gold2);padding:13px 0 0;text-transform:uppercase;letter-spacing:.1em;font-size:8px;cursor:pointer}
.milestone-list{display:grid;margin-top:12px}.milestone-list div{display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;padding:10px 0}.milestone-list time{color:#cfc7bc;font-size:8px}.milestone-list span{font-size:8px}.milestone-list em{font-style:normal;border:1px solid var(--gold);padding:4px 6px;color:var(--gold2);text-transform:uppercase;font-size:6px}
.message-preview{display:grid;grid-template-columns:34px 1fr;gap:10px;margin-top:14px}.message-preview strong{font-size:9px}.message-preview p{color:#bbb4aa;font-size:8px;line-height:1.55}.message-preview span{color:var(--muted);font-size:7px}
.view-panel{display:none;margin:0 16px 18px;padding:24px;background:linear-gradient(180deg,#161616,#0f0f0f);border:1px solid var(--line)}.view-panel.open{display:block}.view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.view-header h2{font-family:var(--serif);font-size:30px;font-weight:500;margin:0}.view-header button{border:0;background:transparent;font-size:28px;cursor:pointer}.timeline-detailed{display:grid;gap:10px}.timeline-detailed article{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:14px;border:1px solid var(--line2)}.timeline-detailed article>span{width:38px;height:38px;border-radius:50%;border:1px solid #555;display:grid;place-items:center;color:#777}.timeline-detailed article.done>span{background:var(--green);color:white}.timeline-detailed article.current>span{border-color:var(--gold);color:var(--gold2)}.timeline-detailed strong{font-size:10px}.timeline-detailed p{color:var(--muted);font-size:8px}.timeline-detailed small{color:var(--gold2);font-size:7px}
.deliverables-table{display:grid}.deliverables-table>div,.invoice-row{display:grid;grid-template-columns:1fr 160px 90px 90px;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line2)}.deliverables-table strong,.deliverables-table span,.deliverables-table time,.invoice-row{font-size:8px}.deliverables-table span,.deliverables-table time{color:var(--muted)}.deliverables-table button,.invoice-row button{border:1px solid var(--gold);background:transparent;color:var(--gold2);padding:8px;font-size:7px;cursor:pointer}
.feedback-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.feedback-layout img{width:100%;border:1px solid var(--line)}.feedback-form{display:grid;gap:14px}.feedback-form label{font-size:8px;color:#c7bfb5}.feedback-form textarea,.feedback-form select,.message-composer textarea{width:100%;margin-top:7px;background:#181818;color:var(--cream);border:1px solid var(--line2);padding:12px}.feedback-form textarea{min-height:100px}
.conversation{display:grid;gap:12px}.conversation article{max-width:70%;padding:14px;border:1px solid var(--line2);background:#151515}.conversation .outgoing{margin-left:auto;border-color:var(--line)}.conversation strong,.conversation small{font-size:8px}.conversation p{font-size:9px;color:#bfb8ae}.conversation small{color:var(--muted)}.message-composer{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px}.message-composer textarea{min-height:70px;margin:0}
.upload-box{position:relative;min-height:150px;border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#151515}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-box strong{font-size:10px}.upload-box span{font-size:8px;color:var(--muted);margin-top:6px}.uploaded-list{margin-top:16px}.uploaded-list div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line2);font-size:8px}
.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.payment-summary article{border:1px solid var(--line2);padding:18px}.payment-summary small,.payment-summary strong{display:block}.payment-summary small{font-size:7px;color:var(--muted)}.payment-summary strong{font-family:var(--serif);font-size:27px;color:var(--gold2);margin-top:7px}
.launch-lounge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.launch-lounge-grid article{border:1px solid var(--line2);padding:18px}.launch-lounge-grid span{color:var(--gold2);font-family:var(--serif);font-size:26px}.launch-lounge-grid strong{display:block;margin-top:12px;font-size:9px}.launch-lounge-grid p{font-size:8px;color:var(--muted);line-height:1.6}
.portal-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line2);padding:20px 32px}.portal-footer p{font-family:var(--serif);font-size:17px;color:#d4bd9d}.portal-footer span{font-family:var(--serif);font-size:48px;color:var(--gold2)}
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.modal-panel{position:relative;z-index:1;width:min(520px,94vw);padding:34px;background:#121212;border:1px solid var(--line)}.modal-panel h2{font-family:var(--serif);font-size:34px;margin:0}.modal-panel>p:not(.eyebrow){color:var(--muted)}.modal-close{position:absolute;right:14px;top:9px;border:0;background:transparent;font-size:28px;cursor:pointer}
.toast{position:fixed;right:20px;bottom:20px;background:#181510;border:1px solid var(--gold);padding:12px 16px;transform:translateY(80px);opacity:0;transition:.25s;font-size:8px;z-index:120}.toast.show{transform:none;opacity:1}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:repeat(3,1fr)}.hero-banner{grid-template-columns:1fr 1fr}.manager-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.manager-card .eyebrow{display:none}.manager-icons{margin:0}.manager-card .full{width:auto}}
@media(max-width:780px){.portal-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.brand{padding-bottom:14px}.project-card,.help-card,blockquote,.sidebar-monogram{display:none}.sidebar-label{margin-top:14px}.portal-nav{display:flex;overflow-x:auto;gap:7px}.nav-item{min-width:155px;border:1px solid var(--line2)}.topbar{height:auto;padding:14px 16px}.topbar h1{font-size:23px}.topbar-actions>button,.client-chip>div:not(.avatar),.client-chip>span{display:none}.hero-banner{grid-template-columns:1fr;min-height:0}.hero-image{min-height:200px;order:-1}.hero-copy{padding:26px 18px}.manager-card{margin:0;border-inline:0;grid-template-columns:auto 1fr}.manager-icons{display:none}.manager-card .full{grid-column:1/-1;width:100%}.dashboard-grid{padding:10px}.journey{grid-template-columns:1fr}.journey-step{display:grid;grid-template-columns:46px 1fr;gap:12px;text-align:left;align-items:center}.journey-step:not(:last-child)::after{left:20px;top:42px;bottom:-10px;right:auto;width:1px;height:auto}.journey-icon{margin:0}.journey-step strong,.journey-step span,.journey-step small{grid-column:2}.journey-step span,.journey-step small{margin-top:-8px}.current-focus{grid-template-columns:1fr}.deliverables-grid{grid-template-columns:1fr 1fr}.launch-strip{grid-template-columns:50px 1fr}.launch-strip button{grid-column:1/-1}.right-rail{grid-template-columns:1fr}.feedback-layout{grid-template-columns:1fr}.deliverables-table>div,.invoice-row{grid-template-columns:1fr 1fr}.payment-summary{grid-template-columns:1fr}.launch-lounge-grid{grid-template-columns:1fr 1fr}.message-composer{grid-template-columns:1fr}.portal-footer{padding:20px}.portal-footer p{font-size:14px}.view-panel{margin:0 10px 12px;padding:18px}}
@media(max-width:460px){.deliverables-grid,.launch-lounge-grid{grid-template-columns:1fr}.hero-progress-line strong{font-size:46px}.hero-progress-line span{font-size:21px}}
/* =========================================================
   CLIENT PORTAL V2 — DEMO BANNER
   ========================================================= */

   .portal-demo-bar{
    position:sticky;
    top:0;
    z-index:999;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:10px 22px;
    border-bottom:1px solid rgba(211,160,84,.28);
    background:
      linear-gradient(
        90deg,
        rgba(9,8,7,.98),
        rgba(18,13,9,.98)
      );
    box-shadow:0 8px 24px rgba(0,0,0,.22);
  }
  
  .portal-demo-copy{
    min-width:0;
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
  }
  
  .portal-demo-label{
    flex:0 0 auto;
    padding:6px 10px;
    border:1px solid rgba(221,168,85,.55);
    color:#e0aa57;
    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  
  .portal-demo-text{
    color:#bfb5a8;
    font-size:11px;
    line-height:1.5;
  }
  
  .portal-demo-actions{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:10px;
  }
  
  .portal-demo-link,
  .portal-demo-login{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:9px;
    white-space:nowrap;
  }
  
  .portal-demo-link{
    border:1px solid rgba(211,160,84,.35);
    color:#d9d0c4;
    background:transparent;
  }
  
  .portal-demo-link:hover{
    border-color:#d7a24f;
    color:#f1e8dc;
  }
  
  .portal-demo-login{
    border:1px solid #e0aa57;
    background:linear-gradient(135deg,#cf9546,#efc176);
    color:#110c06;
    font-weight:700;
  }
  
  .portal-demo-login:hover{
    filter:brightness(1.05);
  }
  
  @media(max-width:760px){
  
    .portal-demo-bar{
      position:relative;
      align-items:flex-start;
      flex-direction:column;
      gap:10px;
      padding:12px 14px;
    }
  
    .portal-demo-copy{
      display:block;
    }
  
    .portal-demo-label{
      display:inline-block;
      margin-bottom:8px;
    }
  
    .portal-demo-text{
      display:block;
      font-size:10px;
    }
  
    .portal-demo-actions{
      width:100%;
    }
  
    .portal-demo-link,
    .portal-demo-login{
      flex:1;
    }
  
  }