/* The dashboard showcase extends the site's existing Rapidsoft design system. */
.dashboard-page{--dash-accent:#f18b77;--dash-surface:#192023}
.dash-hero{padding:164px 0 0;background:#101719;color:#fff;overflow:hidden;position:relative}
.dash-hero:before{content:'';position:absolute;inset:25% -20% 0 40%;background:radial-gradient(ellipse,#397b8529,transparent 64%);pointer-events:none}
.dash-hero .wrap{position:relative}
.dash-announcement{display:inline-flex;align-items:center;gap:10px;border:1px solid #ffffff29;border-radius:30px;padding:7px 13px;color:#d6dfdc;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:30px}
.dash-announcement:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--dash-accent);box-shadow:0 0 12px #f18b7755}
.dash-hero-copy{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:end;margin-bottom:50px}
.dash-hero h1{font-size:clamp(3.4rem,5.4vw,6rem);line-height:1.04;letter-spacing:-.06em;margin-bottom:0}
.dash-hero h1 span{color:var(--dash-accent)}
.dash-hero-intro{padding-bottom:5px;max-width:430px}
.dash-hero-intro p{color:#bdc9c6;line-height:1.85;font-size:.95rem;margin-bottom:25px}
.dash-hero-intro strong{font-weight:500;color:#fff}
.dash-hero .button{background:var(--dash-accent);border-color:var(--dash-accent);color:#141819;gap:35px}
.dash-hero .button:hover{background:#ffa48f;border-color:#ffa48f;transform:translateY(-2px)}
.dash-hero-secondary{display:inline-flex;align-items:center;gap:12px;color:#d3dcda;font-size:.78rem;margin-top:18px}
.dash-hero-secondary:hover{color:#fff}
.dash-window{border:1px solid #ffffff2e;border-radius:9px 9px 0 0;background:#222b2d;padding:9px 9px 0;box-shadow:0 0 100px #6f9aa30d;position:relative}
.dash-window-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 15px;color:#c3cfcb;font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;gap:15px}
.dash-window-bar>span{display:flex;align-items:center;gap:14px}
.dash-window-dots{display:inline-flex;gap:5px}
.dash-window-dots i{width:5px;height:5px;background:#798582;border-radius:50%}
.dash-image-link{display:block;position:relative;overflow:hidden;cursor:zoom-in;background:#eef0f7}
.dash-image-link img{width:100%;transition:filter .25s}
.dash-image-link:hover img{filter:brightness(.94)}
.dash-image-link:focus-visible{outline-offset:-5px}
.dash-open-label{position:absolute;right:20px;bottom:20px;background:#101719eb;border:1px solid #ffffff38;color:#fff;border-radius:3px;display:flex;gap:22px;align-items:center;padding:10px 15px;font-size:.72rem;box-shadow:0 8px 30px #0002}
.dash-hero-caption{display:flex;justify-content:space-between;gap:20px;padding:19px 0 24px;color:#a9b9b3;font-size:.69rem}
.dash-hero-caption span:first-child{color:#e2e9e6}
.dash-principles{background:#e9eeea;border-bottom:1px solid #d8dfd9}
.dash-principles .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.dash-principle{padding:30px 36px;border-left:1px solid #d1dad3;display:flex;align-items:center;gap:18px;font-size:.8rem}
.dash-principle:first-child{border-left:0;padding-left:0}
.dash-principle svg{width:25px;height:25px;color:#9c3d32;flex-shrink:0}
.dash-principle span{display:block;color:#64706a;font-size:.68rem;margin-top:2px}
.dash-intro{padding:110px 0 90px}
.dash-intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}
.dash-intro h2{max-width:850px;font-size:clamp(2.5rem,4.2vw,4.4rem)}
.dash-intro p{color:var(--muted);max-width:740px;font-size:.95rem}
.dash-gallery{padding:0 0 110px}
.dash-section-top{display:flex;justify-content:space-between;gap:40px;align-items:end;border-top:1px solid var(--line);padding-top:30px;margin-bottom:36px}
.dash-section-top .eyebrow{margin:0}
.dash-section-top>p{margin:0;color:var(--muted);font-size:.75rem;max-width:400px}
.dash-chapters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 25px}
.dash-chapter{display:flex;align-items:center;gap:12px;padding:12px 17px;background:none;color:#59615d;border:1px solid #d1d8d2;border-radius:3px;font-size:.74rem}
.dash-chapter>span{font-size:.63rem;opacity:.6}
.dash-chapter[aria-selected=true]{background:#14201c;border-color:#14201c;color:#fff}
.dash-chapter:hover{border-color:#14201c;color:#14201c}
.dash-chapter[aria-selected=true]:hover{color:#fff}
.dash-panel{margin-bottom:30px}
.dash-panel-layout{display:grid;grid-template-columns:1fr 3.4fr;gap:35px;align-items:center;background:#e8ece8;border:1px solid #d8dfd8;padding:36px;border-radius:4px}
.dash-panel-number{display:block;color:#9a4b40;font-size:.7rem;letter-spacing:.1em;margin-bottom:20px}
.dash-panel-copy h3{font-size:clamp(1.7rem,2.7vw,2.5rem);line-height:1.12;letter-spacing:-.04em}
.dash-panel-copy p{font-size:.78rem;line-height:1.9;color:#5d6860;margin-bottom:22px}
.dash-panel-copy small{font-size:.65rem;color:#69746c;display:block;border-top:1px solid #cbd4cb;padding-top:17px}
.dash-panel .dash-image-link{border:1px solid #cad2cb;border-radius:3px;box-shadow:0 16px 30px #192b1910}
.dash-panel .dash-open-label{right:12px;bottom:12px;font-size:.65rem;padding:7px 10px;gap:20px}
.dash-gallery-note{display:flex;justify-content:space-between;gap:25px;font-size:.66rem;color:#697169;margin:19px 0 35px}
.dash-all-images{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dash-all-images summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.85rem;padding:23px 0;cursor:pointer;font-weight:500}
.dash-all-images summary::-webkit-details-marker{display:none}
.dash-all-images summary:after{content:'+';font-size:1.4rem;font-weight:400;color:var(--red)}
.dash-all-images[open] summary:after{content:'−'}
.dash-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0 0 30px}
.dash-thumb{min-width:0;display:block}
.dash-thumb img{width:100%;border:1px solid #ccd4cd;border-radius:3px;transition:transform .2s;aspect-ratio:2560/1540;background:#e8ece8}
.dash-thumb:hover img{transform:translateY(-3px)}
.dash-thumb span{display:block;font-size:.65rem;line-height:1.6;margin-top:10px;color:#59635c}
.dash-benefits{background:#14201c;color:#fff;padding:100px 0}
.dash-benefits .eyebrow{color:#c3cec8}
.dash-benefits h2{max-width:790px;margin-bottom:55px}
.dash-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.dash-benefit{border-top:1px solid #ffffff30;padding-top:25px}
.dash-benefit>span{display:block;font-size:.7rem;color:var(--dash-accent);margin-bottom:32px}
.dash-benefit h3{font-size:1.7rem;line-height:1.2;max-width:300px}
.dash-benefit p{font-size:.8rem;line-height:1.9;color:#b7c5bc;margin:0;max-width:350px}
.dash-next{padding:110px 0}
.dash-next-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}
.dash-next h2{max-width:640px}
.dash-next-intro{color:var(--muted);font-size:.9rem;max-width:540px}
.dash-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.dash-steps li{display:grid;grid-template-columns:38px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:26px 0}
.dash-steps li>span{color:var(--red);font-size:.7rem;padding-top:4px}
.dash-steps h3{font-size:1.3rem;letter-spacing:-.02em;margin-bottom:10px}
.dash-steps p{color:var(--muted);font-size:.78rem;margin:0;line-height:1.85}
.dash-faq{margin-top:65px;border-top:1px solid var(--line)}
.dash-faq details{border-bottom:1px solid var(--line);padding:22px 0}
.dash-faq summary{font-size:.9rem;cursor:pointer;line-height:1.65;padding-right:20px}
.dash-faq details p{color:var(--muted);font-size:.8rem;margin:18px 0 0;max-width:850px}
.dash-invitation{background:#e9eeea;padding:70px 0;border-top:1px solid #d4dcd4}
.dash-invitation .wrap{display:flex;justify-content:space-between;gap:55px;align-items:center}
.dash-invitation .eyebrow{margin-bottom:20px}
.dash-invitation h2{font-size:clamp(2.4rem,3.8vw,4rem);max-width:850px;margin-bottom:15px}
.dash-invitation p{color:var(--muted);font-size:.83rem;margin:0;max-width:640px}
.dash-invitation-contact{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.dash-invitation-contact>span{font-size:.75rem;color:#58665b;user-select:text}
.dash-lightbox{width:calc(100% - 48px);max-width:1840px;max-height:calc(100dvh - 40px);border:1px solid #ffffff36;padding:0;border-radius:7px;background:#15201d;color:#fff;overflow:hidden;box-shadow:0 30px 100px #0006}
.dash-lightbox::backdrop{background:#07100eed;backdrop-filter:blur(7px)}
.dash-lightbox-top,.dash-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px}
.dash-lightbox-top h2{font-family:var(--body);font-size:.8rem;letter-spacing:0;margin:0;line-height:1.6}
.dash-lightbox-top>div{display:flex;gap:8px;align-items:center;flex-shrink:0}
.dash-lightbox button{border:1px solid #ffffff48;background:transparent;color:#fff;border-radius:3px;padding:7px 13px;font-size:.75rem;min-width:40px;min-height:40px}
.dash-lightbox button:hover{background:#ffffff20}
.dash-lightbox-viewport{max-height:calc(100dvh - 188px);overflow:auto;background:#e7eaed;overscroll-behavior:contain;position:relative}
.dash-lightbox-viewport img{width:100%;max-height:calc(100dvh - 188px);object-fit:contain;margin:auto}
.dash-lightbox-viewport.is-zoomed img{width:2560px;max-width:none;max-height:none;object-fit:initial}
.dash-lightbox-bottom{font-size:.7rem;color:#b5c4bb;min-height:69px}
.dash-lightbox-bottom>div{display:flex;align-items:center;gap:15px}
.dash-lightbox-open{overflow:hidden}
.dash-lightbox-status{min-width:50px;text-align:center;font-variant-numeric:tabular-nums}
.dash-enhanced .dash-chapters{display:flex}
.dash-chapters{display:none}
@media(min-width:1700px){.dash-hero .wrap,.dash-gallery .wrap{max-width:1360px}}
@media(max-width:1100px){.dash-hero-copy{gap:40px;grid-template-columns:1.4fr 1fr}.dash-panel-layout{padding:24px;gap:25px;grid-template-columns:1fr 2.8fr}.dash-panel-copy h3{font-size:1.8rem}.dash-next-grid{gap:50px}.dash-principle{padding:25px 20px}.dash-invitation .wrap{gap:35px}.dash-invitation h2{font-size:3rem}}
@media(max-width:800px){.dash-hero{padding-top:145px}.dash-hero-copy{grid-template-columns:1fr;gap:30px;margin-bottom:36px}.dash-hero h1{font-size:clamp(3.8rem,9vw,5rem)}.dash-hero-intro{max-width:580px}.dash-hero-intro p{font-size:.88rem}.dash-hero-secondary{margin-left:22px}.dash-hero-caption{font-size:.6rem}.dash-window-bar{font-size:.55rem}.dash-window-bar>span:last-child{display:none}.dash-principles .wrap{grid-template-columns:1fr}.dash-principle,.dash-principle:first-child{padding:17px 0;border-left:0;border-bottom:1px solid #d1dad3}.dash-principle:last-child{border:0}.dash-principle span{display:inline;margin-left:10px}.dash-intro,.dash-next{padding:75px 0}.dash-intro-grid{grid-template-columns:1fr;gap:0}.dash-intro h2{max-width:680px}.dash-section-top{align-items:start}.dash-panel-layout{grid-template-columns:1fr;padding:25px}.dash-panel-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.dash-panel-number{grid-column:1/-1;margin-bottom:15px}.dash-panel-copy h3{grid-row:2/4;font-size:2.2rem}.dash-panel-copy small{padding-top:10px}.dash-panel-copy p{margin-bottom:15px}.dash-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dash-gallery{padding-bottom:75px}.dash-benefits{padding:75px 0}.dash-benefit-grid{gap:25px}.dash-benefit h3{font-size:1.4rem}.dash-benefit p{font-size:.75rem}.dash-next-grid{grid-template-columns:1fr;gap:30px}.dash-invitation .wrap{flex-direction:column;align-items:start}.dash-invitation-contact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.dash-invitation h2{font-size:3rem}}
@media(max-width:540px){.dash-hero{padding-top:128px}.dash-announcement{font-size:.53rem;letter-spacing:.07em;margin-bottom:25px}.dash-hero h1{font-size:clamp(2.6rem,11vw,3.7rem)}.dash-hero-copy{gap:25px}.dash-hero-intro p{font-size:.8rem}.dash-hero .button{font-size:.75rem;min-height:50px;padding:12px 17px}.dash-hero-secondary{margin-left:0;margin-top:16px;display:flex;font-size:.7rem}.dash-window{padding:4px 4px 0;border-radius:5px 5px 0 0}.dash-window-bar{padding:6px 6px 10px;letter-spacing:.02em;font-size:.5rem}.dash-window-dots{display:none}.dash-open-label{font-size:.57rem;right:8px;bottom:8px;padding:6px 8px;gap:10px}.dash-hero-caption{flex-direction:column;gap:4px;padding:15px 0 20px}.dash-principle{font-size:.72rem;gap:14px}.dash-principle span{display:block;margin:2px 0 0}.dash-intro{padding:60px 0 35px}.dash-intro .eyebrow{margin-bottom:25px}.dash-intro h2{font-size:2.4rem}.dash-intro p{font-size:.82rem}.dash-section-top{flex-direction:column;gap:12px;margin-bottom:25px;padding-top:22px}.dash-section-top>p{font-size:.7rem}.dash-chapters{gap:7px}.dash-chapter{padding:10px 11px;font-size:.65rem;gap:7px;flex:1 1 auto;justify-content:center}.dash-chapter>span{font-size:.55rem}.dash-panel-layout{padding:17px;gap:20px}.dash-panel-copy{display:block}.dash-panel-number{font-size:.6rem;margin-bottom:14px}.dash-panel-copy h3{font-size:2rem;margin-bottom:16px}.dash-panel-copy p{font-size:.75rem}.dash-panel-copy small{font-size:.62rem}.dash-gallery-note{font-size:.6rem;flex-direction:column;gap:6px}.dash-all-images summary{font-size:.77rem}.dash-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.dash-thumb span{font-size:.58rem}.dash-benefits{padding:60px 0}.dash-benefits h2{font-size:2.4rem;margin-bottom:35px}.dash-benefit-grid{grid-template-columns:1fr;gap:30px}.dash-benefit{padding-top:20px}.dash-benefit>span{margin-bottom:18px}.dash-benefit h3{font-size:1.65rem;max-width:none;margin-bottom:16px}.dash-benefit p{font-size:.8rem;max-width:none}.dash-next{padding:60px 0}.dash-next h2{font-size:2.4rem}.dash-next-intro{font-size:.82rem}.dash-faq{margin-top:40px}.dash-faq summary{font-size:.8rem}.dash-faq details p{font-size:.75rem}.dash-invitation{padding:50px 0}.dash-invitation h2{font-size:2.5rem}.dash-invitation p{font-size:.78rem}.dash-invitation-contact{gap:18px}.dash-lightbox{width:calc(100% - 16px);max-height:calc(100dvh - 20px)}.dash-lightbox-top,.dash-lightbox-bottom{padding:10px 12px;gap:10px}.dash-lightbox-top h2{font-size:.65rem;max-width:200px}.dash-lightbox-bottom>span{display:none}.dash-lightbox-bottom>div{width:100%;justify-content:space-between}.dash-lightbox-viewport,.dash-lightbox-viewport img{max-height:calc(100dvh - 170px)}}
@media(prefers-reduced-motion:no-preference){.dash-hero-copy{animation:dash-rise .8s both}.dash-window{animation:dash-rise .9s .15s both}.dash-panel:not([hidden]) .dash-image-link{animation:dash-fade .3s both}@keyframes dash-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes dash-fade{from{opacity:.5}to{opacity:1}}}
