/* Shared public website presentation, independent of the signed-in application. */
:root{color-scheme:dark}
.rw-site,.rwp,body.rw-public{--public-bg:#07111d;--public-panel:#0d1c2c;--public-panel-2:#091724;--public-line:rgba(160,191,220,.17);--public-text:#f7fbff;--public-muted:#9fb3c7;--public-blue:#46a8ff;--public-amber:#f59e0b;--public-photo:url('/images/rivetway-transport-hero.webp');--public-photo-position:center 48%;color:var(--public-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Page-specific photographic themes. Modern browsers support :has(); older browsers keep the transport fallback. */
.rwp:has(#demo){--rwp-photo:url('/images/rivetway-transport-hero.webp');--rwp-photo-position:center 48%}
.rwp:has(.rwp-nav-links a[href="/product"].active):not(:has(#demo)){--rwp-photo:url('https://images.pexels.com/photos/13961751/pexels-photo-13961751.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 42%}
.rwp:has(.rwp-nav-links a[href="/security"].active){--rwp-photo:url('https://images.pexels.com/photos/5408005/pexels-photo-5408005.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 50%}
.rwp:has(.rwp-nav-links a[href="/compliance"].active){--rwp-photo:url('https://images.pexels.com/photos/6720547/pexels-photo-6720547.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 48%}
.rwp:has(.rwp-nav-links a[href="/about"].active){--rwp-photo:url('https://images.pexels.com/photos/7541982/pexels-photo-7541982.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 46%}
.rwp:has(.rwp-price-grid){--rwp-photo:url('https://images.pexels.com/photos/35501717/pexels-photo-35501717.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 46%}
.rwp:has(.rwp-tacho-install){--rwp-photo:url('https://images.pexels.com/photos/10911533/pexels-photo-10911533.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 43%}
.rwp:has(.rwp-legal-list){--rwp-photo:url('https://images.pexels.com/photos/8152746/pexels-photo-8152746.jpeg?auto=compress&cs=tinysrgb&w=1920');--rwp-photo-position:center 48%}
body.rw-public:has(.contact-grid){--public-photo:url('/images/rivetway-transport-desk.webp');--public-photo-position:center 48%}
body.rw-public:has(.flow){--public-photo:url('https://images.pexels.com/photos/13961751/pexels-photo-13961751.jpeg?auto=compress&cs=tinysrgb&w=1920');--public-photo-position:center 44%}

/* React public pages use their own top-photo pseudo-element; static public pages get the same treatment here. */
body.rw-public{position:relative;min-height:100vh;margin:0;background:radial-gradient(circle at 78% 3%,rgba(46,136,255,.11),transparent 28%),linear-gradient(180deg,#07111d 0%,#091521 48%,#07111d 100%);overflow-x:hidden}
body.rw-public:before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:760px;background:linear-gradient(90deg,rgba(5,14,24,.94) 0%,rgba(6,17,29,.84) 42%,rgba(7,17,29,.66) 70%,rgba(7,17,29,.82) 100%),linear-gradient(180deg,rgba(7,17,29,.18) 0%,rgba(7,17,29,.34) 56%,#07111d 100%),var(--public-photo) var(--public-photo-position)/cover no-repeat;pointer-events:none}
body.rw-public>header,body.rw-public>main,body.rw-public>footer{position:relative;z-index:2}

/* Shared width and navigation. Keep the already-approved homepage navigation intact. */
:is(.rwp-shell,.rw-public .shell){width:min(1180px,calc(100% - 40px));margin-inline:auto}
.rwp-nav,.rw-public .nav{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:14px 18px;min-height:72px;border:1px solid rgba(160,191,220,.17);border-radius:17px;background:rgba(5,15,25,.72);box-shadow:0 18px 48px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
.rwp-brand,.rw-public .brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;background:transparent!important;border:0!important;box-shadow:none!important;font-weight:850;letter-spacing:-.035em;padding:0}
.rw-static-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#198cff,#46a8ff);color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(29,139,255,.25)}
.rwp-nav-links,.rw-public .navlinks,.rw-public .nav-links{display:flex;gap:24px;align-items:center;color:#b8c7d6;font-size:14px;font-weight:800}
.rwp-nav-links a,.rw-public .navlinks a,.rw-public .nav-links a{position:relative;color:inherit;text-decoration:none;padding:9px 0}
.rwp-nav-links a:hover,.rw-public .navlinks a:hover,.rw-public .nav-links a:hover,.rwp-nav-links a.active,.rw-public .navlinks a.active,.rw-public .nav-links a.active{color:#fff}
.rwp-nav-links a.active:after,.rw-public .nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#46a8ff,#f59e0b)}
.rwp-nav-actions,.rw-public .nav-actions,.rw-public .actions{display:flex;gap:10px;align-items:center}

/* Buttons are uniform on every public page. */
:is(.rw-site .rw-btn,.rwp .rwp-btn,.rw-public .btn){min-height:46px;border-radius:12px;padding:12px 18px;font-weight:850;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
:is(.rw-site .rw-btn,.rwp .rwp-btn,.rw-public .btn):hover{transform:translateY(-2px)}
:is(.rw-site .rw-btn-primary,.rwp .rwp-btn-primary,.rw-public .btn-primary,.rw-public .primary){background:linear-gradient(135deg,#198cff,#4eafff)!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 12px 32px rgba(29,139,255,.24)!important}
:is(.rw-site .rw-btn-primary,.rwp .rwp-btn-primary,.rw-public .btn-primary,.rw-public .primary):hover{box-shadow:0 16px 38px rgba(29,139,255,.31)!important}
:is(.rw-site .rw-btn-secondary,.rwp .rwp-btn-secondary,.rw-public .btn-secondary,.rw-public .secondary){background:rgba(255,255,255,.065)!important;color:#eaf4ff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;backdrop-filter:blur(8px)}

/* Public React heroes. */
.rwp .rwp-hero{padding-top:86px;padding-bottom:78px}
.rwp .rwp-hero h1{color:#fff;font-weight:800;letter-spacing:-.052em;line-height:1;text-shadow:0 8px 32px rgba(0,0,0,.32)}
.rwp .rwp-lead{color:#c7d4df!important;text-shadow:0 4px 22px rgba(0,0,0,.28)}
.rwp :is(.rwp-kicker,.rwp-eyebrow){color:#8bcbff;font-weight:900}
.rwp .rwp-kicker:before{background:#f59e0b}
.rwp .rwp-hero-card{background:linear-gradient(180deg,rgba(18,36,54,.88),rgba(9,23,37,.92))!important;color:#f7fbff;border:1px solid rgba(151,191,226,.22)!important;border-radius:22px!important;box-shadow:0 38px 95px rgba(0,0,0,.38)!important;backdrop-filter:blur(14px)}
.rwp .rwp-hero-card :is(h2,h3,strong){color:#f7fbff!important}
.rwp .rwp-hero-card p{color:#a6bacb!important}
.rwp .rwp-mini-row{border-color:rgba(160,191,220,.16)!important;background:rgba(255,255,255,.035)!important;color:#d0deea!important;border-radius:11px!important}
.rwp .rwp-card-label{color:#83a8c7!important}

/* Static SEO/contact heroes. */
.rw-public .hero{padding:82px 0 62px}
.rw-public h1{color:#fff;font-size:clamp(46px,6vw,72px);font-weight:800;line-height:1;letter-spacing:-.052em;text-shadow:0 8px 32px rgba(0,0,0,.32)}
.rw-public .lead{color:#c7d4df!important;text-shadow:0 4px 22px rgba(0,0,0,.28)}
.rw-public :is(.kicker,.eyebrow){color:#8bcbff!important;font-weight:900}
.rw-public .hero-card{background:linear-gradient(180deg,rgba(18,36,54,.88),rgba(9,23,37,.92))!important;border:1px solid rgba(151,191,226,.22)!important;border-radius:22px!important;box-shadow:0 38px 95px rgba(0,0,0,.38)!important;backdrop-filter:blur(14px)}
.rw-public .hero-card :is(h2,h3,strong){color:#f7fbff!important}.rw-public .hero-card p{color:#a6bacb!important}.rw-public .mini span{background:rgba(255,255,255,.035)!important;color:#d0deea!important;border-color:rgba(160,191,220,.16)!important;border-radius:11px!important}

/* Cards and sections. */
:is(.rwp .rwp-section,.rw-public .section){padding-top:66px;padding-bottom:84px}
.rwp .rwp-section-intro,.rw-public .section-intro{color:#9db2c4!important}
:is(.rwp .rwp-feature,.rwp .rwp-price-card,.rwp .rwp-tacho-card,.rwp .rwp-legal-card,.rw-public .card,.rw-public .step,.rw-public .strength,.rw-public .links,.rw-public .faq details){background:linear-gradient(180deg,rgba(19,39,58,.76),rgba(8,23,36,.74))!important;border:1px solid rgba(160,191,220,.17)!important;color:#f7fbff!important;border-radius:17px!important;box-shadow:0 18px 48px rgba(0,0,0,.14)!important;backdrop-filter:blur(8px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
:is(.rwp .rwp-feature,.rwp .rwp-price-card,.rwp .rwp-tacho-card,.rwp .rwp-legal-card,.rw-public .card,.rw-public .step,.rw-public .strength,.rw-public .links,.rw-public .faq details):hover{transform:translateY(-3px);border-color:rgba(90,174,247,.34)!important;box-shadow:0 24px 60px rgba(0,0,0,.22)!important}
:is(.rwp .rwp-feature,.rwp .rwp-price-card,.rwp .rwp-tacho-card,.rwp .rwp-legal-card,.rw-public .card,.rw-public .faq details) :is(h2,h3,strong,summary){color:#f7fbff!important}
:is(.rwp .rwp-feature,.rwp .rwp-price-card,.rwp .rwp-tacho-card,.rwp .rwp-legal-card,.rw-public .card,.rw-public .faq details) :is(p,li,small){color:#96adbf!important}
:is(.rwp .rwp-icon,.rwp .rwp-founder-icon,.rwp .rwp-legal-icon){background:rgba(70,168,255,.12)!important;color:#75c0ff!important;border-radius:12px!important}
.rwp .rwp-price-card.featured{border-color:rgba(70,168,255,.58)!important;box-shadow:0 28px 78px rgba(29,139,255,.14)!important}.rwp .rwp-price-badge{background:rgba(245,158,11,.11)!important;color:#fbbf24!important}.rwp .rwp-price-list span{color:#c1d2e0!important}.rwp .rwp-price small{color:#8299af!important}
:is(.rwp .rwp-callout,.rwp .rwp-founder,.rw-public .truth){background:radial-gradient(circle at 92% 10%,rgba(245,158,11,.08),transparent 30%),linear-gradient(145deg,rgba(34,113,181,.18),rgba(11,27,42,.75))!important;border:1px solid rgba(89,174,255,.24)!important;border-radius:20px!important;box-shadow:0 24px 70px rgba(0,0,0,.14)!important}
:is(.rwp .rwp-callout,.rwp .rwp-founder,.rw-public .truth) :is(h2,h3,strong){color:#f7fbff!important}:is(.rwp .rwp-callout,.rwp .rwp-founder,.rw-public .truth) p{color:#a3b8c9!important}
.rw-public .flow .step{min-height:145px}.rw-public .num{color:#70baff!important}.rw-public .strength{color:#c5d5e2!important}.rw-public .link-grid a{background:rgba(255,255,255,.035)!important;color:#a9d8ff!important;border-color:rgba(160,191,220,.16)!important}
.rw-public .faq summary{color:#f7fbff!important}.rw-public .faq p{color:#9eb3c5!important}

/* CTA/final panels. The React final card keeps its page photo from PublicMarketingChrome. */
.rw-public .cta{background:linear-gradient(90deg,rgba(8,24,39,.94),rgba(15,48,72,.8)),var(--public-photo) var(--public-photo-position)/cover no-repeat!important;color:#f7fbff;border:1px solid rgba(88,174,255,.3)!important;border-radius:24px!important;box-shadow:0 28px 80px rgba(0,0,0,.24)!important}
.rw-public .cta :is(h2,h3){color:#fff!important}.rw-public .cta p{color:#afc1d0!important}

/* Contact page. */
.rw-public .contact-grid{padding-bottom:88px}
.rw-public .info,.rw-public .form-card{background:linear-gradient(180deg,rgba(18,36,54,.9),rgba(9,23,37,.94))!important;border:1px solid rgba(160,191,220,.18)!important;color:#f7fbff;border-radius:22px!important;box-shadow:0 30px 80px rgba(0,0,0,.24)!important;backdrop-filter:blur(12px)}
.rw-public .info :is(h2,strong),.rw-public .form-card h2,.rw-public .field label{color:#f7fbff!important}.rw-public .info p,.rw-public .reason span,.rw-public .field small,.rw-public .status{color:#96adbf!important}.rw-public .reason{background:rgba(255,255,255,.035)!important;border-color:rgba(160,191,220,.16)!important}.rw-public .privacy-note{border-color:rgba(160,191,220,.16)!important}.rw-public .privacy-note a{color:#79bfff!important}
.rw-public .field input,.rw-public .field textarea{background:rgba(5,18,30,.86)!important;color:#f7fbff!important;border:1px solid rgba(160,191,220,.2)!important}.rw-public .field input:focus,.rw-public .field textarea:focus{border-color:rgba(70,168,255,.72)!important;box-shadow:0 0 0 3px rgba(70,168,255,.1)!important}.rw-public .status.ok{color:#fbbf24!important}.rw-public .status.error{color:#ff9d9d!important}


/* Homepage and transport image panels. */
.rwp .rwp-home-grid{grid-template-columns:minmax(0,.95fr) minmax(420px,.86fr);gap:54px}
.rwp .rwp-home-visual{position:relative;min-height:520px;border:1px solid rgba(151,191,226,.22);border-radius:24px;overflow:hidden;box-shadow:0 38px 95px rgba(0,0,0,.38);background:#091724}
.rwp .rwp-home-visual img,.rwp .rwp-photo-frame img{width:100%;height:100%;display:block;object-fit:cover}
.rwp .rwp-home-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,29,0) 38%,rgba(7,17,29,.84) 100%)}
.rwp .rwp-visual-overlay{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(5,15,25,.76);backdrop-filter:blur(12px)}
.rwp .rwp-visual-overlay span{display:block;color:#8bcbff;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.rwp .rwp-visual-overlay strong{display:block;color:#fff;font-size:20px;letter-spacing:-.025em}
.rwp .rwp-visual-meter{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:14px}.rwp .rwp-visual-meter span{display:block;width:82%;height:100%;background:linear-gradient(90deg,#46a8ff,#f59e0b)}
.rwp .rwp-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
.rwp .rwp-stat{padding:14px;border:1px solid rgba(160,191,220,.16);border-radius:13px;background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}.rwp .rwp-stat strong{display:block;color:#fff;font-size:21px;letter-spacing:-.03em}.rwp .rwp-stat span{display:block;color:#9fb3c7;font-size:12px;font-weight:750;margin-top:3px}
.rwp .rwp-badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.rwp .rwp-badge-row span{padding:8px 11px;border:1px solid rgba(160,191,220,.17);border-radius:999px;background:rgba(255,255,255,.05);color:#d5e5f3;font-size:12px;font-weight:850}
.rwp .rwp-photo-showcase{display:grid;grid-template-columns:minmax(0,.94fr) minmax(360px,.74fr);gap:34px;align-items:center}
.rwp .rwp-photo-frame{min-height:430px;margin:0;border:1px solid rgba(151,191,226,.22);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28);background:#091724}
.rwp .rwp-card-image{width:calc(100% + 56px);height:220px;margin:-28px -28px 22px;display:block;object-fit:cover;border-bottom:1px solid rgba(151,191,226,.18)}
.rwp .rwp-faq{display:grid;gap:12px}.rwp .rwp-faq details{border:1px solid rgba(160,191,220,.17);border-radius:17px;background:linear-gradient(180deg,rgba(19,39,58,.76),rgba(8,23,36,.74));padding:20px 22px;box-shadow:0 18px 48px rgba(0,0,0,.14)}.rwp .rwp-faq summary{cursor:pointer;color:#f7fbff;font-weight:850}.rwp .rwp-faq p{color:#96adbf;line-height:1.68;margin:12px 0 0}
@media(max-width:1080px){.rwp .rwp-home-grid,.rwp .rwp-photo-showcase{grid-template-columns:1fr}.rwp .rwp-home-visual{min-height:420px}.rwp .rwp-stat-strip{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.rwp .rwp-home-visual,.rwp .rwp-photo-frame{min-height:320px}.rwp .rwp-stat-strip{grid-template-columns:1fr}.rwp .rwp-card-image{height:190px}}

/* Footer. */
:is(.rwp .rwp-footer,.rw-public .footer){color:#7892a9!important;border-color:rgba(160,191,220,.14)!important;padding-top:36px;padding-bottom:42px}.rwp .rwp-footer a:hover,.rw-public .footer a:hover{color:#c9dbea!important}

/* Mobile navigation. */
.rw-mobile-menu{display:none;position:relative}.rw-mobile-menu summary{cursor:pointer;list-style:none;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:11px 13px;font-weight:800;color:#eef7ff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}.rw-mobile-menu summary::-webkit-details-marker{display:none}.rw-mobile-menu nav{position:absolute;right:0;top:53px;width:245px;background:rgba(7,20,32,.98);border:1px solid rgba(160,191,220,.17);border-radius:12px;padding:10px;box-shadow:0 18px 42px rgba(0,0,0,.4);display:grid;z-index:100}.rw-mobile-menu nav a,.rw-mobile-menu nav button{display:block;padding:12px;color:#dceaff;text-decoration:none;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer}.rw-mobile-menu nav a:hover,.rw-mobile-menu nav button:hover{background:rgba(70,168,255,.1);border-radius:8px}.rw-skip{position:absolute;top:-100px;left:20px;z-index:200;padding:12px 20px;background:#198cff;color:#fff}.rw-skip:focus{top:12px}

:is(.rw-site,.rwp,.rw-public) :is(a,button,summary,input,textarea):focus-visible{outline:3px solid #46a8ff;outline-offset:4px}

@media(max-width:1080px){:is(.rwp-nav-links,.rw-public .navlinks,.rw-public .nav-links){display:none}.rw-mobile-menu{display:block}.rwp-nav,.rw-public .nav{flex-wrap:wrap}.rw-mobile-menu{margin-left:auto}.rwp .rwp-hero-grid,.rw-public .hero-grid{grid-template-columns:1fr;gap:38px}.rwp:before,body.rw-public:before{height:900px}}
@media(max-width:680px){:is(.rwp-shell,.rw-public .shell){width:calc(100% - 28px)}.rwp-nav,.rw-public .nav{margin-top:10px;padding:12px 14px;min-height:66px;gap:10px}.rwp-nav-actions,.rw-public .nav-actions,.rw-public .nav>.actions{display:none}.rwp .rwp-hero,.rw-public .hero{padding:52px 0 56px}.rwp .rwp-hero h1,.rw-public h1{font-size:43px}.rwp:before,body.rw-public:before{height:1060px;background:linear-gradient(90deg,rgba(5,14,24,.93),rgba(6,17,29,.78)),linear-gradient(180deg,rgba(7,17,29,.15),rgba(7,17,29,.3) 60%,#07111d 100%),var(--rwp-photo,var(--public-photo)) var(--rwp-photo-position,var(--public-photo-position))/cover no-repeat}.rwp .rwp-section,.rw-public .section{padding:50px 0 64px}.rw-public .contact-grid{padding-bottom:64px}.rw-public .info,.rw-public .form-card{padding:25px!important}.rw-public .form-grid{grid-template-columns:1fr!important}.rw-public .field.full{grid-column:auto!important}.rw-public .submit-row{display:block!important}.rw-public .submit-btn{width:100%;margin-bottom:13px}.rw-public .footer-row{display:block}.rw-public .footer-links{margin-top:14px}}
@media(prefers-reduced-motion:reduce){:is(.rw-site,.rwp,.rw-public) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
