:root{
  --brand:#1a3344;
  --accent:#2fb08a;
  --ink:#0e2230;
  --bg:#f6f8fa;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;position:relative}
a{color:var(--brand)}
html{scrollbar-gutter:stable both-edges;scrollbar-width:none;-ms-overflow-style:none}
body::-webkit-scrollbar{width:0;height:0}
html::-webkit-scrollbar{width:0;height:0}
html::-webkit-scrollbar-thumb{background:transparent}
body::-webkit-scrollbar-thumb{background:transparent}
.navbar{position:sticky;top:0;z-index:1030;background:#fff !important;padding-top:.25rem;padding-bottom:.25rem}
.navbar-brand{font-weight:800;letter-spacing:.2px}
.navbar-brand img{height:72px;width:auto;display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.05));transition:transform .2s ease}
.navbar-brand img:hover{transform:scale(1.02)}
.navbar-brand span{font-size:1.5rem}

.nav-link{font-weight:500}
.nav-link.active{color:var(--accent)!important}

.hero{padding:88px 0;background:radial-gradient(1200px 600px at 10% 0%, #eaf6f3 0%, rgba(255,255,255,0) 60%), linear-gradient(180deg,#fff,#f6f8fa)}
.hero h1{color:var(--brand)}

.btn-primary{background:var(--accent);border-color:var(--accent)}
.btn-primary:hover{filter:brightness(.95)}
.btn-outline-secondary{border-color:var(--brand);color:var(--brand)}
.btn-outline-secondary:hover{background:var(--brand);color:#fff}

.section-title{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.section-title::before{content:"";width:12px;height:12px;border-radius:999px;background:var(--accent)}

.card{border:0;border-radius:18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.card:not(.team-card) img{object-fit:cover;height:200px;width:100%}
.team-card img{object-fit:contain;object-position:center;height:auto;width:100%;display:block;background:#f1f3f6}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}

.badge-chip{display:inline-block;border:1px solid rgba(0,0,0,.08);padding:.35rem .6rem;border-radius:999px;background:#fff;margin:.25rem .25rem 0 0;font-size:.9rem}

footer{border-top:1px solid #e9eef3;padding:28px 0;margin-top:48px;background:#fff}

@media (max-width: 576px){
  .navbar-brand img{height:56px}
}

.page-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:0 1.5rem;background:linear-gradient(135deg,#1a3344 0%,#20445a 55%,#2fb08a 100%);color:#fff;z-index:3000;opacity:1;visibility:visible;pointer-events:all;transition:opacity .6s ease,visibility .6s ease}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-loader.is-hidden .page-loader__spinner,.page-loader.is-hidden .page-loader__spinner::after{animation-play-state:paused}
.page-loader__spinner{position:relative;width:18px;height:18px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 0 rgba(47,176,138,.36);animation:loader-pulse 1.3s ease-in-out infinite}
.page-loader__spinner::after{content:"";position:absolute;inset:-16px;border-radius:inherit;border:2px solid rgba(255,255,255,.22);opacity:0;transform:scale(.6);animation:loader-ring 1.3s ease-in-out infinite}
.page-loader__text{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;opacity:.82}
@keyframes loader-pulse{0%,100%{transform:scale(.82);box-shadow:0 0 0 0 rgba(47,176,138,.36)}50%{transform:scale(1.1);box-shadow:0 0 0 18px rgba(47,176,138,0)}}
@keyframes loader-ring{0%{opacity:0;transform:scale(.55)}40%{opacity:.65}100%{opacity:0;transform:scale(1.12)}}
body.is-transitioning{cursor:progress}
body.is-transitioning .navbar{pointer-events:none}


.layout{padding-right:calc(env(safe-area-inset-right,0) + 12px)}
.layout--no-scrollbar{padding-right:env(safe-area-inset-right,0)}
.scroll-indicator{position:fixed;top:0;right:0;bottom:0;width:12px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2200;opacity:0;transition:opacity .3s ease}
.scroll-indicator.is-visible{opacity:1}
.scroll-indicator__track{position:relative;height:calc(100% - 12px);width:6px;margin:6px 0;border-radius:999px;background:rgba(26,51,68,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);overflow:hidden}
.scroll-indicator__progress{position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(180deg,#2fb08a 0%,#1a3344 100%);transform:scaleY(0);transform-origin:top center;transition:transform .12s linear}
@media (max-width: 768px){
  .layout{padding-right:calc(env(safe-area-inset-right,0) + 10px)}
  .layout.layout--no-scrollbar{padding-right:env(safe-area-inset-right,0)}
  .scroll-indicator{width:10px;right:0}
  .scroll-indicator__track{height:calc(100% - 12px);width:4px}
}

.review-card{background:#fff;border:1px solid #e5ebf0;border-radius:18px;padding:1.5rem;box-shadow:0 10px 24px rgba(17,41,56,.06);transition:transform .2s ease,box-shadow .2s ease}
.review-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,41,56,.1)}
.review-card__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem}
.review-card__author{font-weight:600;color:var(--brand)}
.review-card__rating{color:#f5a623;font-weight:600;letter-spacing:.1em;min-width:6ch;text-align:right;}
.review-card__date{font-size:.85rem;color:#6d7a83;text-align:right;}
.review-card__body{margin:0;color:var(--ink)}
[data-review-status].is-success{color:var(--accent);font-weight:600}
[data-review-status].is-error{color:#b42318;font-weight:600}
[data-review-list].is-loading::before{content:"";display:block;height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(47,176,138,.15) 0%,rgba(26,51,68,.35) 100%);animation:reviews-loading 1.2s ease-in-out infinite}
@keyframes reviews-loading{0%{opacity:0;transform:scaleX(.25)}50%{opacity:.9;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.25)}}

.review-card__info{display:flex;align-items:center;gap:.75rem;margin-left:auto}




