/* ORBIT customer experience — calm paper-like container on a light grey canvas.
   Applies to proposal, agreement and confirmation. No decorative accent bars.
   The signed agreement's A4 print layout is intentionally unaffected. */
:root { --experience-canvas:#f2f3f5; --experience-border:#e6e8eb; --experience-radius:16px; }
html { background:var(--experience-canvas); }
body.orbit-experience { margin:0; padding:24px 24px 42px; min-height:100vh; background:var(--experience-canvas); color:#17191b; font-family:'DM Sans',Arial,sans-serif; }
body.orbit-experience .orbit-shell { width:min(1480px,100%); margin:0 auto; border:1px solid var(--experience-border); border-radius:var(--experience-radius); background:#fff; box-shadow:0 10px 32px rgba(14,23,34,.035); }
body.orbit-experience .orbit-shell:not(.page) { overflow:hidden; }
body.orbit-experience .orbit-shell > .site-header { border-bottom:1px solid #eceef0; background:transparent; }
body.orbit-experience .orbit-shell > .site-header .site-header-inner { max-width:none; padding-inline:42px; }
body.orbit-experience .orbit-shell > .proposal-page { width:100%; padding:34px 42px 40px; margin:0; max-width:none; }
body.orbit-experience .orbit-shell > .document { margin:0 auto; max-width:940px; width:calc(100% - 84px); padding:36px 0 54px; box-shadow:none; background:transparent; border:0; border-radius:0; }
/* Invoice confirmation has its own header and is one complete white container. */
body.orbit-experience.orbit-invoice > .page.orbit-shell { max-width:1340px; padding:0 46px; }
body.orbit-experience.orbit-invoice .site-header { padding-top:28px; }
body.orbit-experience.orbit-invoice .hero { padding:58px 0 47px; }
body.orbit-experience.orbit-invoice .details { padding:40px 0 46px; }
body.orbit-experience.orbit-invoice .bottom { padding:27px 0 40px; }
@media(max-width:900px) {
 body.orbit-experience { padding:18px 16px 30px; }
 body.orbit-experience .orbit-shell > .site-header .site-header-inner { padding-inline:26px; }
 body.orbit-experience .orbit-shell > .proposal-page { padding:30px 26px 34px; }
 body.orbit-experience .orbit-shell > .document { width:calc(100% - 52px); padding-top:28px; }
 body.orbit-experience.orbit-invoice > .page.orbit-shell { padding:0 30px; }
}
@media(max-width:639px) {
 :root { --experience-radius:13px; }
 body.orbit-experience { padding:10px 8px 22px; }
 body.orbit-experience .orbit-shell { box-shadow:0 3px 16px rgba(14,23,34,.025); }
 body.orbit-experience .orbit-shell > .site-header .site-header-inner { padding:7px 15px 5px; }
 body.orbit-experience .orbit-shell > .proposal-page { padding:25px 15px 28px; }
 body.orbit-experience .orbit-shell > .document { width:calc(100% - 30px); margin:0 auto; padding:25px 0 35px; }
 body.orbit-experience.orbit-invoice > .page.orbit-shell { padding:0 17px; }
 body.orbit-experience.orbit-invoice .site-header { padding-top:18px; }
 body.orbit-experience.orbit-invoice .hero { padding:42px 0 31px; }
 body.orbit-experience.orbit-invoice .details { padding:30px 0 33px; }
 body.orbit-experience.orbit-invoice .bottom { padding:23px 0 31px; }
}
@media(max-width:350px) {
 body.orbit-experience .orbit-shell > .site-header .site-header-inner { padding-inline:11px; }
 body.orbit-experience .orbit-shell > .proposal-page { padding-inline:11px; }
 body.orbit-experience .orbit-shell > .document { width:calc(100% - 22px); }
 body.orbit-experience.orbit-invoice > .page.orbit-shell { padding-inline:11px; }
}
@media print {
 html,body.orbit-experience { background:#fff!important; padding:0!important; }
 body.orbit-experience .orbit-shell { width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important; }
 body.orbit-experience .orbit-shell > .document { width:100%!important;max-width:none!important;padding:0!important; }
}
@media screen and (max-width:540px) {
 /* Keep the actual step labels visible on phones, not number-only navigation. */
 body.orbit-experience .site-header .journey-link { font-size:10.5px; flex:initial; justify-content:center; gap:5px; }
 body.orbit-experience .site-header .journey { width:100%; gap:5px; justify-content:space-between; }
}
