/* ==========================================================================
   Rilegr v2: neutral corporate system. Purple is an accent, not a theme:
   buttons, eyebrows, numbers, links on hover and small highlights only.
   ========================================================================== */
:root{
  --accent:#6C3CE0; --accent-dark:#5428c4; --accent-soft:#efe9fd;
  --ink:#101114; --text:#2a2b33; --muted:#6a6c78; --line:#e6e7ec;
  --bg:#fff; --soft:#f5f6f8; --dark:#0f1014; --dark-2:#191a20;
  --head:'Manrope',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
  --container:1240px; --pad:clamp(20px,4vw,48px); --section:clamp(64px,8vw,112px);
  --radius:14px; --header-h:76px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.15;letter-spacing:-.015em}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.container{width:100%;max-width:calc(var(--container) + var(--pad)*2);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:calc(820px + var(--pad)*2)} .narrow-wide{max-width:calc(1040px + var(--pad)*2)}
.section{padding:var(--section) 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--dark);color:#c9cad3}
.section-dark h2,.section-dark h3{color:#fff}
.muted{color:var(--muted)}

.eyebrow{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.eyebrow-light{color:#b9a3f5}
.section-head{max-width:720px;margin-bottom:48px}
.section-head h2{font-size:clamp(28px,3.4vw,42px)}
.section-head.split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.section-head.split>p{max-width:460px;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.two-col h2{font-size:clamp(26px,3vw,38px)}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--muted);max-width:640px;margin-top:16px}
.lead-dark{font-size:clamp(18px,1.6vw,22px);color:var(--ink);line-height:1.5;margin-bottom:24px}
.list-title{font-size:20px;margin-bottom:18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--head);font-weight:700;font-size:15px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s}
.btn-lg{padding:15px 30px;font-size:16px}
.btn-solid{background:var(--accent);color:#fff}.btn-solid:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn-line{border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn.full{width:100%}
.more{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:700;font-size:14px;color:var(--ink);margin-top:14px}
.more::after{content:"→";transition:transform .25s var(--ease)}
a:hover>.more::after,.more:hover::after{transform:translateX(5px)} a:hover .more{color:var(--accent)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(16,17,20,.07)}
.header-inner{max-width:calc(var(--container) + var(--pad)*2);margin:0 auto;padding:0 var(--pad);height:var(--header-h);display:flex;align-items:center;gap:32px}
.logo img{height:34px;width:auto}
.primary-nav{margin-left:auto}
.primary-nav>ul{display:flex;gap:4px}
.primary-nav>ul>li{position:static}
.primary-nav>ul>li>a{display:flex;align-items:center;height:var(--header-h);padding:0 14px;font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink);position:relative}
.primary-nav>ul>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:20px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.primary-nav>ul>li:hover>a::after,.primary-nav>ul>li.is-open>a::after{transform:scaleX(1)}
.has-mega>.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 24px 48px rgba(16,17,20,.1);padding:36px var(--pad);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
.has-mega.is-open>.mega{opacity:1;visibility:visible;transform:none}
.mega-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.mega-sm{left:auto;right:auto;min-width:260px;padding:22px 26px;border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}
.primary-nav>ul>li.has-mega{position:relative}
.primary-nav>ul>li.has-mega:nth-child(2){position:static}
.mega-col h4{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.mega-col h4 a{color:var(--ink)}.mega-col h4 a:hover{color:var(--accent)}
.mega-col>a{display:block;padding:6px 0;font-size:15px;color:var(--text);transition:color .2s,padding .2s}
.mega-col>a:hover{color:var(--accent);padding-left:6px}
.tag{font-size:11px;font-weight:700;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:99px;margin-left:6px}
.header-cta .btn{padding:10px 20px}
.nav-toggle{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.nav-toggle span{width:22px;height:2px;background:var(--ink);transition:transform .3s,opacity .3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none}
@media (max-width:1020px){
  .primary-nav,.header-cta{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .mobile-nav{display:block;position:fixed;inset:var(--header-h) 0 0 0;background:#fff;padding:12px var(--pad) 40px;overflow-y:auto;transform:translateX(100%);transition:transform .35s var(--ease);visibility:hidden}
  .mobile-nav.is-open{transform:none;visibility:visible}
  .mobile-nav summary,.mobile-nav .m-link{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--head);font-weight:700;font-size:18px;color:var(--ink);cursor:pointer;list-style:none}
  .mobile-nav details a{display:block;padding:11px 0 11px 14px;color:var(--text)}
  .mobile-nav details a.is-parent{font-weight:700;color:var(--ink)}
  .mobile-nav details a.is-child{padding-left:30px;color:var(--muted)}
  .mobile-nav .btn{margin-top:24px}
  body.nav-open{overflow:hidden}
}

/* Hero (home) */
.hero{position:relative;min-height:min(82vh,820px);background:var(--dark);color:#fff;overflow:hidden}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s}
.hero-slide.is-active{opacity:1;visibility:visible;position:relative;min-height:inherit}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 8s linear}
.hero-slide.is-active .hero-bg{transform:scale(1)}
.hero-bg.ph{background:radial-gradient(900px 400px at 85% 20%,rgba(108,60,224,.28),transparent 60%),linear-gradient(135deg,#17181f,#0b0c10)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,15,.86) 0%,rgba(10,11,15,.55) 50%,rgba(10,11,15,.15) 100%)}
.hero-copy{position:relative;width:100%;max-width:1600px;padding-top:clamp(72px,9vh,120px);padding-bottom:clamp(100px,12vh,140px)}
.hero h1{color:#fff;font-size:clamp(38px,5.6vw,78px);max-width:19ch;margin-bottom:12px;letter-spacing:-.035em}
.hero .lead{color:#eef0f6;max-width:min(900px,72vw);font-size:clamp(17px,1.35vw,22px);line-height:1.55;margin-bottom:34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-controls{position:absolute;left:0;right:0;bottom:36px;display:flex;gap:10px;z-index:2}
.hero-dot{width:44px;height:4px;border-radius:4px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero-dot.is-active{background:#fff}

@media (min-width: 1200px){.hero-copy{padding-left:clamp(32px,6.5vw,120px);padding-right:clamp(32px,6.5vw,120px)}.hero-shade{background:linear-gradient(90deg,rgba(7,9,16,.82) 0%,rgba(7,9,16,.65) 38%,rgba(7,9,16,.24) 70%,rgba(7,9,16,.08) 100%)}}
@media (max-width: 767px){.hero{min-height:660px}.hero-copy{padding:72px 24px 110px}.hero h1{max-width:13ch;font-size:clamp(36px,10vw,52px)}.hero .lead{max-width:100%;font-size:17px}.hero-shade{background:linear-gradient(90deg,rgba(7,9,16,.82),rgba(7,9,16,.52)),linear-gradient(0deg,rgba(7,9,16,.4),transparent)}}

/* Placeholder (until a real photo is chosen) */
.ph{display:block;width:100%;height:100%;min-height:200px;background:linear-gradient(135deg,#e9eaef,#f6f6f9 55%,#e4e5eb)}
.section-dark .ph,.product-visual .ph{background:linear-gradient(135deg,#23242c,#15161b)}

/* Stats */
.stats-strip{padding:56px 0;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.stat strong{display:block;font-family:var(--head);font-size:clamp(32px,4vw,52px);color:var(--ink);line-height:1}
.stat strong::after{content:"";display:block;width:28px;height:3px;background:var(--accent);margin-top:12px}
.stat span{display:block;margin-top:12px;color:var(--muted);font-size:15px;max-width:22ch}

/* Service cards */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.service-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .3s,transform .3s var(--ease),border-color .3s}
.service-card:hover{box-shadow:0 18px 40px rgba(16,17,20,.1);transform:translateY(-4px);border-color:transparent}
.service-media{aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.service-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.service-card:hover .service-media img{transform:scale(1.05)}
.service-body{padding:24px;display:flex;flex-direction:column;flex:1}
.service-body h3{font-size:21px;margin-bottom:10px}
.service-body p{color:var(--muted);font-size:15px;flex:1}

/* Product feature */
.product-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,88px);align-items:center}
.product-copy h2{font-size:clamp(30px,3.6vw,46px)}
.product-copy .lead{color:#fff;margin-bottom:14px}
.product-copy p{margin-bottom:20px}
.product-visual{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--dark-2)}
.product-visual img{width:100%;height:100%;object-fit:cover}
.check-list{margin:0 0 30px}
.check-list li{position:relative;padding:8px 0 8px 30px;color:#e2e3ea}
.check-list li::before{content:"";position:absolute;left:0;top:15px;width:16px;height:16px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.9' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/cover}

/* Cards (posts, case studies) */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.card-grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:box-shadow .3s,transform .3s var(--ease)}
.card:hover{box-shadow:0 18px 40px rgba(16,17,20,.1);transform:translateY(-4px)}
.card-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.card-media img,.card-media .ph{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-media img{transform:scale(1.05)}
.card-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.card-meta span:first-child{color:var(--accent)}
.card h3{font-size:19px;margin-bottom:10px}
.card h3 a:hover{color:var(--accent)}
.card-body>p:not(.card-meta):not(.card-stat){color:var(--muted);font-size:15px;flex:1}
.card-stat{font-family:var(--head);font-weight:700;color:var(--ink);font-size:17px;flex:1}
.tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:box-shadow .3s,transform .3s var(--ease)}
a.tile:hover{box-shadow:0 18px 40px rgba(16,17,20,.1);transform:translateY(-4px)}
.tile h3{font-size:20px;margin-bottom:10px}.tile p{color:var(--muted);font-size:15px;flex:1}
.num{font-family:var(--head);font-weight:800;color:var(--accent);font-size:15px;margin-bottom:16px;display:block}
.empty-state{padding:40px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}

/* Industries */
.industry-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--line)}
.industry-list li{padding:22px 4px;border-bottom:1px solid var(--line);font-family:var(--head);font-weight:600;font-size:18px;color:var(--ink);transition:color .2s,padding .25s var(--ease)}
.industry-list li:hover{color:var(--accent);padding-left:12px}

/* Inner page hero */
.page-hero{background:var(--soft);padding:clamp(48px,6vw,88px) 0 clamp(44px,5vw,72px);border-bottom:1px solid var(--line)}
.page-hero-inner{display:grid;gap:48px;align-items:center}
.page-hero.has-visual .page-hero-inner{grid-template-columns:1.05fr 1fr}
.page-hero h1{font-size:clamp(32px,4.4vw,56px);max-width:18ch}
.page-hero .meta{color:var(--muted);margin-top:18px;font-size:15px}
.page-hero-visual{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:var(--line)}
.page-hero-visual img,.page-hero-visual .ph{width:100%;height:100%;object-fit:cover}
.crumbs{display:flex;gap:10px;font-size:13px;color:var(--muted);margin-bottom:20px;flex-wrap:wrap}
.crumbs a:hover{color:var(--accent)}

/* Services overview + detail */
.service-block:nth-of-type(even){background:var(--soft)}
.service-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.service-block:nth-of-type(odd) .service-block-media{order:2}
.service-block-media{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:var(--line)}
.service-block-media img,.service-block-media .ph{width:100%;height:100%;object-fit:cover}
.service-block h2{font-size:clamp(26px,3vw,38px);margin-bottom:14px}
.service-block h2 a:hover{color:var(--accent)}
.service-block p{color:var(--muted);margin-bottom:20px}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.pill-list a{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:99px;font-size:14px;font-weight:600;color:var(--ink);background:#fff;transition:border-color .2s,color .2s}
.pill-list a:hover{border-color:var(--accent);color:var(--accent)}
.feature-list li{padding:16px 0 16px 34px;border-bottom:1px solid var(--line);position:relative;color:var(--ink)}
.feature-list li:first-child{border-top:1px solid var(--line)}
.feature-list li::before{content:"";position:absolute;left:4px;top:25px;width:14px;height:2px;background:var(--accent)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px;counter-reset:s}
.steps li{padding-top:20px;border-top:2px solid var(--ink)}
.steps h3{font-size:19px;margin:6px 0 8px}.steps p{color:var(--muted);font-size:15px}
.steps .num{font-size:14px}

/* CTA band */
.cta-band{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.cta-bg{position:absolute;inset:0;opacity:.35}
.cta-bg img,.cta-bg .ph{width:100%;height:100%;object-fit:cover}
.cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,20,.95),rgba(15,16,20,.6))}
.cta-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-top:72px;padding-bottom:72px}
.cta-inner h2{color:#fff;font-size:clamp(26px,3.2vw,40px);max-width:20ch}
.cta-inner p{color:#c9cad3;margin-top:10px;max-width:520px}

/* Blog / filters / prose */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.filter-row a{display:inline-block;padding:8px 18px;border:1px solid var(--line);border-radius:99px;font-weight:600;font-size:14px;color:var(--ink);transition:all .2s}
.filter-row a:hover,.filter-row a.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.prose{font-size:18px;line-height:1.75}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:30px;margin-top:1.8em}.prose h3{font-size:23px;margin-top:1.6em}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose ul{list-style:disc;padding-left:1.4em}.prose ol{list-style:decimal;padding-left:1.4em}
.prose blockquote{border-left:3px solid var(--accent);padding-left:20px;color:var(--ink);font-size:1.15em}
.article-image{border-radius:var(--radius);overflow:hidden;margin-top:-1px}
.article-image img{width:100%}
.navigation.pagination{margin-top:48px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.page-numbers{padding:9px 16px;border:1px solid var(--line);border-radius:99px;font-weight:600}
.page-numbers.current,.page-numbers:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rilegr-search-form input{width:100%;max-width:520px;padding:14px 18px;border:1px solid var(--line);border-radius:99px;font-size:16px;margin-bottom:32px}

/* FAQ */
.faq{border-bottom:1px solid var(--line)}
.faq summary{padding:22px 0;font-family:var(--head);font-weight:700;font-size:19px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--accent);font-size:24px;line-height:1}
.faq[open] summary::after{content:"–"}
.faq p{padding:0 0 24px;color:var(--muted);max-width:68ch}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,88px)}
.contact-info h2{font-size:28px;margin-bottom:24px}.contact-info p{margin-bottom:20px}
.contact-info a{color:var(--accent)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form .field.full{grid-column:1/-1}
.contact-form label{display:block;font-weight:600;font-size:14px;color:var(--ink);margin-bottom:6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #cfd1d9;border-radius:10px;font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.contact-form textarea{min-height:140px;resize:vertical}
.form-note{margin-top:14px;font-size:14px;color:var(--muted)}.form-note.is-error{color:#b3261e}

/* Footer */
.site-footer{background:var(--dark);color:#a9abb6;padding-top:72px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px}
.footer-brand .logo img{height:36px;margin-bottom:20px}
.footer-brand p{max-width:34ch;font-size:15px;margin-bottom:22px}
.footer-col h4{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.footer-col h4.mt{margin-top:28px}
.footer-col li a{display:inline-block;padding:5px 0;font-size:15px;transition:color .2s}
.footer-col li a:hover,.footer-legal a:hover{color:#fff}
.social-row{display:flex;gap:10px}
.social-row a{width:40px;height:40px;border:1px solid #33343d;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;transition:background .2s,border-color .2s}
.social-row a:hover{background:var(--accent);border-color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;padding-bottom:28px;border-top:1px solid #272831;font-size:14px}
.footer-legal{display:flex;gap:24px}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (max-width:960px){
  .two-col,.product-grid,.service-block-grid,.contact-grid,.page-hero.has-visual .page-hero-inner{grid-template-columns:1fr}
  .service-block:nth-of-type(odd) .service-block-media{order:0}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .contact-form{grid-template-columns:1fr}
  .hero-shade{background:linear-gradient(180deg,rgba(10,11,15,.55),rgba(10,11,15,.85))}
}
@media (max-width:520px){.footer-top{grid-template-columns:1fr}.hero-copy{padding-bottom:96px}}


/* Rilegr v3: home pillars and ecosystem pages */
.home-pillars{padding-top:34px;padding-bottom:58px;background:#fff}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pillar-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:310px;padding:34px 30px 30px;background:#fafafa;border:1px solid #eeeaf5;border-radius:4px;box-shadow:0 10px 28px rgba(50,24,88,.055);transition:transform .25s,box-shadow .25s,border-color .25s}
.pillar-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(50,24,88,.1);border-color:#d8c4fa}
.pillar-icon{display:block;width:58px;height:58px;color:var(--accent);margin-bottom:16px}.pillar-icon svg{width:100%;height:100%}
.pillar-card h2{font-size:clamp(22px,2vw,28px);margin-bottom:12px}.pillar-card p{color:var(--muted);font-size:17px;line-height:1.75;max-width:39ch;flex:1}.pillar-card .more{margin-top:18px}
.ecosystem-section{border-top:1px solid var(--line)}.ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ecosystem-card{display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .25s,border-color .25s,box-shadow .25s}
.ecosystem-card:hover{transform:translateY(-4px);border-color:#d9c5fa;box-shadow:0 16px 32px rgba(30,20,50,.07)}
.ecosystem-index{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--accent);margin-bottom:24px}.ecosystem-card h3{font-size:25px;margin-bottom:10px}.ecosystem-card p{color:var(--muted);font-size:15px;flex:1}.ecosystem-card .more{margin-top:20px}
.page-rilegr-tech .page-hero,.page-rilegr-ed .page-hero,.page-rilegr-circle .page-hero{background:linear-gradient(135deg,#f8f7fb,#fff 65%)}
@media(max-width:850px){.pillar-grid,.ecosystem-grid{grid-template-columns:1fr}.pillar-card{min-height:0}.pillar-card p{max-width:52ch}.ecosystem-card{min-height:0}}


/* Rilegr v4 - enterprise editorial layouts inspired by the supplied reference */
:root{--accent:#6c18df;--accent-dark:#5010ae;--accent-soft:#f1e8ff;--warm:#f2efeb;--warm-deep:#ddd8d2}
.page-hero{background:#f1efec;border:0;padding:0;overflow:hidden}
.page-hero-inner{max-width:none;padding:0;gap:0;grid-template-columns:1fr;min-height:390px}.page-hero.has-visual .page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-hero-copy{background:#31006f;color:#fff;padding:clamp(36px,5.5vw,78px) clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.page-hero-copy .crumbs{color:#d8c8f5;margin-bottom:28px}.page-hero-copy .crumbs a{color:#fff}.page-hero-copy h1{color:#fff;max-width:14ch;font-size:clamp(34px,4.2vw,58px);line-height:1.04;letter-spacing:-.04em}
.page-hero-copy .lead{color:#f0e8fa;max-width:58ch;font-size:clamp(16px,1.35vw,19px);line-height:1.7;margin-top:22px}
.page-hero-visual{border-radius:0;aspect-ratio:auto;min-height:390px;height:100%;background:#d9d5d0}
.page-hero-visual img,.page-hero-visual .ph{height:100%;min-height:390px;object-fit:cover}
.page-hero-copy:after{content:"";display:block;width:54px;height:3px;background:#a77aff;margin-top:26px;order:5}
.page-hero-copy .lead:after{content:""}
.service-intro-section{background:var(--warm)}.service-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);align-items:start}
.service-intro-copy h2{font-size:clamp(29px,3.3vw,44px);line-height:1.12;max-width:18ch;margin-bottom:22px}.service-intro-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#55545a;max-width:62ch;margin-bottom:26px}
.service-benefit-panel{background:#fff;padding:clamp(22px,3vw,38px);box-shadow:0 12px 34px rgba(29,17,41,.045)}.service-benefit-panel>.eyebrow{margin-bottom:12px}
.service-benefit{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid #e9e5e1}.service-benefit:last-child{border-bottom:0;padding-bottom:0}.service-benefit>span{font-family:var(--head);font-weight:800;color:var(--accent);font-size:15px}.service-benefit h3{font-size:18px;margin-bottom:6px}.service-benefit p{font-size:14px;line-height:1.65;color:var(--muted)}
.service-deliver-section{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:stretch;background:#fff}.service-deliver-image{min-height:570px;overflow:hidden;background:#e2dfdc}.service-deliver-image img,.service-deliver-image .ph{width:100%;height:100%;min-height:570px;object-fit:cover}.service-deliver-content{padding:clamp(44px,6vw,90px) clamp(28px,6vw,92px);align-self:center}.service-deliver-content h2{font-size:clamp(30px,3.4vw,44px);max-width:18ch;margin-bottom:16px}.deliver-lead{color:var(--muted);max-width:55ch;margin-bottom:22px}.deliver-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.deliver-item{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:16px 0;border-top:1px solid var(--line);align-items:start}.deliver-item span{color:var(--accent);font-size:12px;font-weight:800;padding-top:3px}.deliver-item p{font-size:15px;line-height:1.55;color:var(--ink)}
.service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-related-card{background:#fff;padding:28px;border:1px solid #e4dfd9;min-height:245px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}.service-related-card:hover{transform:translateY(-4px);border-color:#c9a9f8;box-shadow:0 16px 32px rgba(30,20,50,.07)}.service-related-mark{color:var(--accent);font-size:24px;margin-bottom:22px}.service-related-card h3{font-size:21px;margin-bottom:10px}.service-related-card p{font-size:15px;color:var(--muted);flex:1}.service-related-card .more{align-self:flex-start}
.service-method-section{background:#f2efeb}.service-method-section .steps li{border-color:#c8c1b9;padding:24px 18px 18px;background:rgba(255,255,255,.55)}.service-method-section .steps h3{font-size:21px}
.client-proof{background:#f1efec;padding:54px 0 62px;border-top:1px solid #e7e2dd;border-bottom:1px solid #e7e2dd}.client-proof-head{text-align:center;max-width:680px;margin:0 auto 32px}.client-proof-head .eyebrow{margin-bottom:9px}.client-proof-head h2{font-size:clamp(25px,3vw,36px);margin-bottom:10px}.client-proof-head>p:last-child{color:var(--muted);font-size:15px}.client-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-logo{min-height:100px;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px 22px;border:1px solid #e8e4e0;transition:transform .2s,border-color .2s}.client-logo:hover{transform:translateY(-3px);border-color:#d4bafa}.client-logo img{width:auto;height:auto;max-width:100%;max-height:62px;object-fit:contain}.client-logo:nth-child(2) img{max-height:74px}.client-logo:nth-child(5) img{max-height:84px}.client-logo:nth-child(6) img{max-height:68px}
.about-story{background:#fff}.about-story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(36px,7vw,100px);align-items:center}.about-story-visual{position:relative;min-height:470px;background:#ddd7d0}.about-story-visual>img,.about-story-visual>.ph{width:100%;height:470px;object-fit:cover}.about-visual-caption{position:absolute;left:22px;bottom:22px;background:#fff;padding:16px 20px;box-shadow:0 10px 28px #00000012;display:flex;flex-direction:column;gap:4px}.about-visual-caption span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:800}.about-visual-caption strong{font-family:var(--head);font-size:18px;color:var(--ink)}.about-story-copy h2{font-size:clamp(30px,3.4vw,44px);max-width:17ch;margin-bottom:22px}.about-story-copy p:not(.eyebrow){color:#595861;line-height:1.8;margin-bottom:16px;font-size:16px}.about-story-copy .btn{margin-top:10px}
.about-mission-band{background:#31006f;color:#fff;padding:clamp(48px,7vw,88px) 0}.about-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,100px);align-items:center}.about-mission-grid h2{font-size:clamp(32px,4vw,50px);max-width:12ch;color:#fff}.about-mission-grid>p{font-size:clamp(17px,1.5vw,20px);line-height:1.8;color:#e4d8f6}.about-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.about-value-card{background:#fff;padding:26px 24px;min-height:245px;border-top:3px solid var(--accent)}.about-value-number{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--accent);display:block;margin-bottom:28px}.about-value-card h3{font-size:20px;margin-bottom:12px}.about-value-card p{font-size:15px;color:var(--muted);line-height:1.7}.about-product-strip{background:#17151b;color:#fff;padding:clamp(48px,7vw,88px) 0}.about-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.about-product-grid h2{font-size:clamp(30px,3.5vw,44px);color:#fff;max-width:16ch;margin-bottom:16px}.about-product-grid p:not(.eyebrow){color:#d4d0db;max-width:55ch;margin-bottom:24px}.about-product-image{overflow:hidden;min-height:300px}.about-product-image img,.about-product-image .ph{width:100%;height:100%;min-height:300px;object-fit:cover}
/* Refined warm-neutral corporate palette with restrained purple accents */
.section-soft{background:#f2efeb}.tile,.card,.ecosystem-card{border-radius:2px}.pillar-card{border-radius:2px;box-shadow:none;background:#f7f6f5}.pillar-card p{font-size:16px}.cta-band{background:#30006d}.cta-inner{padding-top:clamp(48px,6vw,76px);padding-bottom:clamp(48px,6vw,76px)}
@media(max-width:960px){.page-hero-inner{grid-template-columns:1fr!important}.page-hero-copy{padding:38px var(--pad)}.page-hero-visual,.page-hero-visual img,.page-hero-visual .ph{min-height:280px;height:300px}.service-intro-grid,.about-story-grid,.about-mission-grid,.about-product-grid{grid-template-columns:1fr}.service-deliver-section{grid-template-columns:1fr}.service-deliver-image,.service-deliver-image img,.service-deliver-image .ph{min-height:320px;height:340px}.service-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-story-visual,.about-story-visual>img,.about-story-visual>.ph{min-height:350px;height:350px}.about-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-logo{min-height:88px;padding:14px}.service-related-grid,.deliver-list{grid-template-columns:1fr}.service-related-card{min-height:0}.about-values-grid{grid-template-columns:1fr}.about-value-card{min-height:0}.page-hero-copy h1{font-size:38px}.service-deliver-content{padding:42px 24px}.about-mission-grid h2{max-width:16ch}}

/* Product and ecosystem pages inherit the same editorial system */
.page-inventory-management-solutions .tile{background:#fff;border:1px solid #e7e2dd;padding:28px 26px;min-height:220px;border-radius:2px}.page-inventory-management-solutions .tile .num{color:var(--accent);font-weight:800}.page-inventory-management-solutions .section-dark{background:#19171d}.page-services .service-block{padding-top:clamp(52px,7vw,92px);padding-bottom:clamp(52px,7vw,92px)}.page-services .service-block:nth-of-type(even){background:#f2efeb}.page-services .service-block-media{border-radius:0;min-height:320px}.page-services .service-block-media img{min-height:320px;object-fit:cover}


/* Rilegr v5 refinements: consistent square geometry and proportionate inner-page banners */
*, *::before, *::after { border-radius: 0 !important; }
.page-about-us .page-hero-inner { min-height: 340px; }
.page-about-us .page-hero-copy { min-height: 340px; }
.page-about-us .page-hero-visual { height: 340px; min-height: 340px; max-height: 340px; align-self: stretch; overflow: hidden; }
.page-about-us .page-hero-visual img, .page-about-us .page-hero-visual .ph { width: 100%; height: 340px; min-height: 340px; max-height: 340px; object-fit: cover; object-position: center 42%; }
.service-usecase-section { background: #fff; }
.service-usecase-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: clamp(32px,6vw,84px); align-items: start; }
.service-usecase-copy h2 { font-size: clamp(30px,3.4vw,44px); line-height: 1.12; max-width: 20ch; margin-bottom: 18px; }
.service-usecase-copy .lead-dark { color: #55545a; font-size: 17px; line-height: 1.8; max-width: 68ch; margin-bottom: 28px; }
.service-usecase-copy h3 { font-size: 21px; margin: 28px 0 12px; }
.service-outcomes-panel { padding: clamp(26px,3vw,40px); background: #f2efeb; border-top: 3px solid var(--accent); }
.service-outcomes-panel h3 { font-size: 25px; line-height: 1.2; margin-bottom: 12px; }
.service-outcomes-panel > p:not(.eyebrow) { color: #5c5960; line-height: 1.75; margin-bottom: 18px; }
.service-outcomes-panel .btn { margin-top: 16px; }
@media(max-width:960px) { .page-about-us .page-hero-inner { min-height: 0; } .page-about-us .page-hero-copy { min-height: 0; } .page-about-us .page-hero-visual, .page-about-us .page-hero-visual img, .page-about-us .page-hero-visual .ph { height: 280px; min-height: 280px; max-height: 280px; } .service-usecase-grid { grid-template-columns: 1fr; } }
.rilegr-tech-capabilities .service-related-card { padding: 0 0 26px; overflow: hidden; }
.rilegr-tech-capabilities .service-block-media { width: 100%; height: 170px; min-height: 170px; margin-bottom: 22px; overflow: hidden; background: #e4e0dc; }
.rilegr-tech-capabilities .service-block-media img { width: 100%; height: 100%; object-fit: cover; }
.rilegr-tech-capabilities .service-related-mark, .rilegr-tech-capabilities h3, .rilegr-tech-capabilities p, .rilegr-tech-capabilities .more { margin-left: 25px; margin-right: 25px; }
.rilegr-tech-all-services { margin-top: 30px; text-align: center; }

/* Rilegr v7: editorial, human-led visual system and unified image/text hero geometry */
:root{--rilegr-purple:#6b16d9;--rilegr-deep:#2e075f;--rilegr-paper:#f5f2ee;--rilegr-rule:#ded9d2}
/* Eliminate the image/text offset that made hero panels look detached. Both columns now share one grid row and height. */
.page-hero{display:block!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important;isolation:isolate}
.page-hero-inner{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:0!important;min-height:clamp(360px,36vw,560px)!important;margin:0!important;padding:0!important;position:relative}
.page-hero.has-visual .page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.page-hero-copy{box-sizing:border-box;min-width:0;min-height:0!important;height:auto!important;margin:0!important;align-self:stretch!important;justify-content:center;padding:clamp(34px,5.2vw,82px) clamp(26px,5vw,78px)!important;position:relative;z-index:1;background:var(--rilegr-deep);}
.page-hero-copy .crumbs{margin:0 0 clamp(22px,2.8vw,38px)!important;font-size:14px;letter-spacing:.015em}
.page-hero-copy h1{max-width:13ch;font-size:clamp(35px,4.25vw,66px)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance;margin:0 0 18px!important}
.page-hero-copy .lead{max-width:54ch!important;font-size:clamp(16px,1.3vw,20px)!important;line-height:1.65!important;margin:0!important;color:#eee6f9}
.page-hero-copy:after{margin-top:30px!important;width:58px!important;height:3px!important;background:#b38aff!important}
.page-hero-visual{display:block!important;position:relative!important;box-sizing:border-box!important;align-self:stretch!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;background:#d9d5d0}
.page-hero-visual img,.page-hero-visual .ph{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;transform:none!important}
.page-hero-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,12,28,.04),transparent 32%)}
/* Remove accidental vertical offsets left by page-specific rules. */
.page-about-us .page-hero-inner,.page-about-us .page-hero-copy,.page-about-us .page-hero-visual{min-height:0!important;height:auto!important;max-height:none!important}
.page-about-us .page-hero-visual img,.page-about-us .page-hero-visual .ph{height:100%!important;min-height:0!important;max-height:none!important;object-position:center 38%!important}
/* More considered, editorial rhythm: varied section treatments rather than repeating identical card grids. */
.section{position:relative}
.section .eyebrow,.page-hero .eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}
.section h2{letter-spacing:-.035em;text-wrap:balance}
.service-intro-grid{align-items:start}
.service-usecase-section{border-bottom:1px solid var(--rilegr-rule)}
.service-usecase-copy h2:after{content:"";display:block;width:48px;height:3px;background:var(--rilegr-purple);margin-top:22px}
.service-outcomes-panel{background:linear-gradient(145deg,#f3f0ec,#faf8f5)!important;border-top:3px solid var(--rilegr-purple)!important}
.service-benefit-panel{border-top:1px solid var(--rilegr-rule);border-bottom:1px solid var(--rilegr-rule)}
.service-benefit{grid-template-columns:36px minmax(0,1fr);gap:18px}
.service-benefit>span{font-size:12px;letter-spacing:.08em}
.service-related-card{position:relative;box-shadow:none!important;border-color:#e2ddd7!important;transition:background .2s,border-color .2s,transform .2s!important}
.service-related-card:hover{background:#faf8fc;border-color:#bda0e8!important;transform:translateY(-2px)!important}
.service-related-card h3{letter-spacing:-.025em}
.service-method-section .steps li{background:#fbfaf8;border-top:2px solid #c9b2e9}
/* The site uses square corners consistently; preserve that geometry without forcing odd clipping on images. */
.btn,.service-card,.product-visual,.card,.tile,.ecosystem-card,.page-hero-visual,.service-block-media,.service-related-card,.client-logo,.about-story-visual,.about-product-image,.service-deliver-image{border-radius:0!important}
/* Improve real-image crops and avoid fixed-height image spill on all inner pages. */
.service-block-media,.service-deliver-image,.about-story-visual,.about-product-image{position:relative;overflow:hidden}
.service-block-media img,.service-deliver-image img,.about-story-visual>img,.about-product-image img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:960px){
 .page-hero-inner,.page-hero.has-visual .page-hero-inner{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
 .page-hero-copy{padding:38px var(--pad)!important;min-height:0!important}
 .page-hero-copy h1{max-width:16ch!important;font-size:clamp(34px,6vw,52px)!important}
 .page-hero-visual{height:clamp(250px,45vw,360px)!important;min-height:0!important}
 .page-hero-visual img,.page-hero-visual .ph{position:absolute!important;height:100%!important;min-height:0!important}
}
@media(max-width:620px){
 .page-hero-copy{padding:32px 22px!important}
 .page-hero-copy .crumbs{margin-bottom:20px!important}
 .page-hero-copy h1{font-size:36px!important}
 .page-hero-copy .lead{font-size:16px!important}
 .page-hero-visual{height:245px!important}
 .section{padding-top:48px;padding-bottom:48px}
}

/* Rilegr v8: wide, cinematic homepage hero and stronger editorial composition */
.hero{min-height:clamp(620px,78vh,900px)!important;isolation:isolate}
.hero-slide{min-height:inherit}
.hero-slide.is-active{min-height:inherit}
.hero-copy{max-width:none!important;width:100%!important;padding-left:clamp(28px,7vw,140px)!important;padding-right:clamp(28px,7vw,140px)!important;padding-top:clamp(90px,13vh,160px)!important;padding-bottom:clamp(120px,16vh,180px)!important}
.hero h1{max-width:18ch!important;width:min(100%,1200px)!important;font-size:clamp(44px,6.2vw,92px)!important;line-height:1.02!important;text-wrap:balance;letter-spacing:-.045em!important}
.hero .lead{max-width:min(1120px,88vw)!important;font-size:clamp(18px,1.55vw,25px)!important;line-height:1.5!important}
.hero-shade{background:linear-gradient(90deg,rgba(8,8,18,.72) 0%,rgba(8,8,18,.48) 48%,rgba(8,8,18,.18) 100%)!important}
.hero-bg{background-position:center 48%!important;background-size:cover!important;transform:scale(1.015)!important}
.hero-controls{bottom:30px!important}
.hero-actions{gap:14px}
.hero .btn{border-radius:0!important}
@media(min-width:1200px){.hero-copy{padding-left:clamp(44px,7vw,150px)!important;padding-right:clamp(44px,7vw,150px)!important}.hero h1{max-width:20ch!important}}
@media(max-width:767px){.hero{min-height:700px!important}.hero-copy{padding:90px 24px 125px!important}.hero h1{max-width:14ch!important;font-size:clamp(38px,9vw,58px)!important}.hero .lead{max-width:100%!important;font-size:17px!important}.hero-shade{background:linear-gradient(90deg,rgba(8,8,18,.78),rgba(8,8,18,.5)),linear-gradient(0deg,rgba(8,8,18,.38),transparent)!important}}

/* Rilegr v9: confident colour-block system inspired by the supplied reference.
   Purple is the primary brand block; green is a softened, slightly deeper mint;
   white remains a deliberate contrast surface rather than a default for every section. */
:root{
  --accent:#7203ea;
  --accent-dark:#5600b8;
  --accent-soft:#f0e5ff;
  --rilegr-green:#86df91;
  --rilegr-green-ink:#073d28;
  --rilegr-deep:#31006f;
  --rilegr-paper:#f4f2ef;
}
body{background:#fff}
/* Homepage: replace the sea of white cards with a deliberate purple/green/white rhythm. */
.home-pillars{background:var(--rilegr-paper);padding-top:clamp(28px,4vw,54px);padding-bottom:clamp(42px,6vw,76px)}
.pillar-grid{gap:clamp(16px,2.2vw,28px)}
.pillar-card{min-height:340px;padding:clamp(28px,3.2vw,48px);border:0!important;border-radius:0!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:flex-start;transition:transform .22s ease,filter .22s ease}
.pillar-card:nth-child(1){background:var(--accent)!important;color:#fff}
.pillar-card:nth-child(1) h2,.pillar-card:nth-child(1) p,.pillar-card:nth-child(1) .more{color:#fff!important}
.pillar-card:nth-child(1) .pillar-icon{color:#fff}
.pillar-card:nth-child(2){background:var(--rilegr-green)!important;color:var(--rilegr-green-ink)}
.pillar-card:nth-child(2) h2,.pillar-card:nth-child(2) p,.pillar-card:nth-child(2) .more{color:var(--rilegr-green-ink)!important}
.pillar-card:nth-child(2) .pillar-icon{color:var(--rilegr-green-ink)}
.pillar-card:nth-child(3){background:#fff!important;color:var(--rilegr-deep);border:1px solid #e9e4ee!important}
.pillar-card:nth-child(3) h2,.pillar-card:nth-child(3) .more{color:var(--rilegr-deep)!important}
.pillar-card:nth-child(3) p{color:#55515d!important}
.pillar-card .pillar-icon{width:62px;height:62px;margin-bottom:24px}
.pillar-card .pillar-icon svg{width:100%;height:100%}
.pillar-card h2{font-size:clamp(24px,2.1vw,32px);letter-spacing:-.035em;margin-bottom:14px}
.pillar-card p{font-size:clamp(15px,1.15vw,17px);line-height:1.7;max-width:42ch;margin-bottom:28px}
.pillar-card .more{margin-top:auto;font-weight:800}
.pillar-card:hover{transform:translateY(-4px);filter:saturate(1.04)}
/* A brand-colour marker and clean canvas keep the client strip from looking like generic cards. */
.client-proof{background:#fff;padding:clamp(48px,6vw,82px) 0;border-bottom:1px solid #e9e5ec}
.client-proof-head .eyebrow,.eyebrow{color:var(--accent)}
.client-logo-grid{gap:12px}
.client-logo{border-radius:0!important;background:#fff;border:1px solid #ece8f0!important;box-shadow:none!important}
/* Alternate homepage content surfaces: warm canvas, white editorial panels, dark product panel. */
.home .section{background:#fff}
.home .section.section-soft,.home .ecosystem-section{background:var(--rilegr-paper)!important}
.home .product-feature{background:var(--rilegr-deep)!important;color:#fff}
.home .product-feature h2,.home .product-feature h3{color:#fff}
.home .product-feature .eyebrow{color:#c7a6ff}
.home .product-feature .lead,.home .product-feature p{color:#f0e7ff}
.home .product-feature .check-list li{border-color:rgba(255,255,255,.22)}
.home .product-feature .product-visual{background:#fff}
.home .cta-band{background:var(--accent)!important}
/* Section headings and links carry the purple accent; avoid over-colouring body copy. */
.eyebrow,.more:hover,.service-related-mark,.ecosystem-index,.about-value-number{color:var(--accent)}
.btn-solid{background:var(--accent);color:#fff;border-radius:0!important}
.btn-solid:hover{background:var(--accent-dark)}
.btn-line{border-radius:0!important}
/* Internal pages: use purposeful colour blocks instead of repeating identical white layouts. */
.page-hero-copy{background:var(--accent)!important}
.page-hero-copy:after{background:var(--rilegr-green)!important}
.page-hero-copy .crumbs{color:#e8d8ff}
.page-hero-copy .lead{color:#f5efff}
.service-intro-section{background:var(--rilegr-paper)!important}
.service-method-section{background:#fff!important}
.service-method-section .steps li{background:var(--rilegr-paper)!important;border-top-color:var(--rilegr-green)!important}
.service-related-card{background:#fff!important;border:1px solid #e7e2eb!important}
.service-related-card:nth-child(3n+2){background:var(--rilegr-paper)!important}
.service-related-card:hover{background:#f5edff!important;border-color:#c5a0f4!important}
.about-mission-band{background:var(--accent)!important}
.about-value-card{border-top-color:var(--rilegr-green)!important}
.about-value-number{color:var(--accent)!important}
.about-product-strip{background:#16131b!important}
.page-services .service-block:nth-of-type(even){background:var(--rilegr-paper)!important}
.page-inventory-management-solutions .tile{background:#fff;border-top:4px solid var(--rilegr-green)!important}
.page-inventory-management-solutions .section-dark{background:var(--rilegr-deep)!important}
/* Common elements stay square-cornered and consistent across all templates. */
.btn,.service-card,.product-visual,.card,.tile,.ecosystem-card,.page-hero-visual,.service-block-media,.service-related-card,.client-logo,.about-story-visual,.about-product-image,.service-deliver-image,.pillar-card{border-radius:0!important}
@media(max-width:850px){
 .pillar-card{min-height:290px}
 .pillar-grid{gap:12px}
}
@media(max-width:620px){
 .pillar-card{min-height:0;padding:28px 24px}
 .pillar-card .pillar-icon{width:48px;height:48px;margin-bottom:18px}
 .pillar-card p{margin-bottom:22px}
}


/* Rilegr v17: fix mobile navigation overlay positioning.
   backdrop-filter on a sticky header can make fixed descendants use the header
   as their containing block; disable it on small screens so the menu fills the viewport. */
@media (max-width: 1020px) {
  .site-header {
    z-index: 1000;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .header-inner {
    position: relative;
    z-index: 1002;
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
  }
  .mobile-nav {
    position: fixed !important;
    top: var(--header-h) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - var(--header-h)) !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    z-index: 1001 !important;
    margin: 0 !important;
    padding: 12px clamp(20px, 4vw, 32px) max(32px, env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-nav.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .mobile-nav:not(.is-open) {
    transform: translateX(100%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .nav-toggle {
    position: relative;
    z-index: 1003;
    flex: 0 0 44px;
  }
}
@media (max-width: 620px) {
  .header-inner { gap: 12px !important; }
  .site-header .logo img { height: 40px !important; width: auto !important; }
  .mobile-nav summary,
  .mobile-nav .m-link { padding: 15px 0 !important; font-size: 17px !important; }
}
