/* Royal Developer Company Pages — Modern Shared Theme
   Brand colors supplied by Royal Developer:
   Primary   #00B3CC
   Secondary #0086A7
*/
:root{
  --rd-primary:#00B3CC;
  --rd-secondary:#0086A7;
  --rd-primary-rgb:0,179,204;
  --rd-secondary-rgb:0,134,167;
  --rd-ink:#0B2230;
  --rd-ink-2:#173746;
  --rd-muted:#617985;
  --rd-bg:#FFFFFF;
  --rd-soft:#F5FBFC;
  --rd-soft-2:#ECF8FA;
  --rd-aqua:#E6F8FB;
  --rd-line:#D7EBEF;
  --rd-line-strong:#BDE2E8;
  --rd-success:#18A875;
  --rd-shadow:0 28px 80px rgba(8,62,79,.13);
  --rd-shadow-md:0 18px 48px rgba(8,62,79,.10);
  --rd-shadow-sm:0 10px 30px rgba(8,62,79,.075);
  --rd-radius-xl:34px;
  --rd-radius:24px;
  --rd-radius-sm:16px;
  --rd-max:1216px;
  --rd-ease:cubic-bezier(.2,.75,.25,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rd-bg);scroll-padding-top:110px}
body{
  margin:0;
  color:var(--rd-ink);
  background:
    radial-gradient(circle at 8% 0%,rgba(var(--rd-primary-rgb),.055),transparent 25rem),
    var(--rd-bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.drawer-open,body.modal-open{overflow:hidden;overscroll-behavior:none}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid rgba(var(--rd-primary-rgb),.32);outline-offset:4px}
::selection{background:rgba(var(--rd-primary-rgb),.22);color:var(--rd-ink)}

.skip-link{position:fixed;left:16px;top:-90px;z-index:9999;padding:11px 17px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-secondary);box-shadow:var(--rd-shadow-md);font-weight:800;text-decoration:none}
.skip-link:focus{top:16px}
.container{width:min(calc(100% - 44px),var(--rd-max));margin-inline:auto}
.section{position:relative;padding:clamp(76px,8.2vw,118px) 0}
.section-soft{background:linear-gradient(180deg,var(--rd-soft),#fff)}
.section-soft:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 18%,rgba(var(--rd-primary-rgb),.065),transparent 25rem)}
.section-aqua{background:linear-gradient(145deg,#fff 0%,var(--rd-soft-2) 48%,#fff 100%)}
.section>.container{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;padding:7px 11px 7px 8px;border:1px solid rgba(var(--rd-primary-rgb),.20);border-radius:999px;background:rgba(var(--rd-primary-rgb),.075);color:var(--rd-secondary);font-size:.73rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;line-height:1.1}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rd-primary);box-shadow:0 0 0 5px rgba(var(--rd-primary-rgb),.11)}
.section-title{max-width:850px;margin:0;color:var(--rd-ink);font-size:clamp(2.15rem,4.15vw,3.6rem);line-height:1.02;letter-spacing:-.052em;text-wrap:balance}
.section-title:after{content:"";display:block;width:72px;height:5px;margin-top:22px;border-radius:99px;background:linear-gradient(90deg,var(--rd-primary),var(--rd-secondary))}
.section-lead{max-width:780px;margin:20px 0 0;color:var(--rd-muted);font-size:clamp(1rem,1.5vw,1.16rem)}
.muted{color:var(--rd-muted)}
.kicker{font-weight:850;color:var(--rd-secondary)}

/* slim brand bar */
.topbar{position:relative;z-index:1002;background:linear-gradient(90deg,var(--rd-secondary),var(--rd-primary));color:#fff;font-size:.79rem}
.topbar .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar a{position:relative;text-decoration:none;font-weight:700;opacity:.94}
.topbar a:hover{opacity:1}
.topbar-links a+a:before{content:"";position:absolute;left:-9px;top:50%;width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.7)}

/* floating glass header */
.site-header{position:sticky;top:0;z-index:1000;padding:10px 0;background:rgba(247,252,253,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:padding .28s var(--rd-ease),background .28s var(--rd-ease)}
.header-inner{min-height:72px;padding:0 15px 0 18px;border:1px solid rgba(199,229,234,.86);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 12px 36px rgba(15,72,88,.08);display:flex;align-items:center;justify-content:space-between;gap:22px;transition:min-height .28s var(--rd-ease),box-shadow .28s var(--rd-ease),border-color .28s var(--rd-ease)}
.site-header.is-scrolled{padding:6px 0;background:rgba(247,252,253,.9)}
.site-header.is-scrolled .header-inner{min-height:64px;box-shadow:0 15px 42px rgba(15,72,88,.12);border-color:rgba(var(--rd-primary-rgb),.18)}
.brand{display:flex;align-items:center;text-decoration:none;min-width:0}
.brand img{width:auto;height:48px;object-fit:contain;transition:height .25s var(--rd-ease)}
.site-header.is-scrolled .brand img{height:44px}
.desktop-nav{display:flex;align-items:center;gap:2px}
.desktop-nav>a,.nav-menu>button{position:relative;border:0;background:transparent;padding:10px 11px;border-radius:12px;color:#294955;text-decoration:none;font-size:.9rem;font-weight:780;white-space:nowrap;transition:color .2s ease,background .2s ease}
.desktop-nav>a:after,.nav-menu>button:before{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:99px;background:var(--rd-primary);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--rd-ease)}
.desktop-nav>a:hover,.nav-menu>button:hover,.desktop-nav a[aria-current="page"],.nav-menu>button[aria-expanded="true"]{background:rgba(var(--rd-primary-rgb),.065);color:var(--rd-secondary)}
.desktop-nav>a:hover:after,.desktop-nav a[aria-current="page"]:after,.nav-menu>button:hover:before,.nav-menu>button[aria-expanded="true"]:before{transform:scaleX(1)}
.nav-menu{position:relative}
.nav-menu>button{display:flex;align-items:center;gap:6px}
.nav-menu>button:after{content:"⌄";font-size:.8rem;transition:transform .22s var(--rd-ease)}
.nav-menu>button[aria-expanded="true"]:after{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 16px);left:0;width:290px;padding:10px;border:1px solid rgba(193,224,230,.9);border-radius:20px;background:rgba(255,255,255,.98);box-shadow:var(--rd-shadow-md);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:top;transition:opacity .2s ease,transform .22s var(--rd-ease),visibility .2s}
.dropdown:before{content:"";position:absolute;top:-8px;left:27px;width:14px;height:14px;background:#fff;border-left:1px solid var(--rd-line);border-top:1px solid var(--rd-line);transform:rotate(45deg)}
.nav-menu.open .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{position:relative;display:block;padding:11px 13px;border-radius:12px;text-decoration:none;color:#31515c;font-size:.88rem;font-weight:720;transition:.2s}
.dropdown a:hover,.dropdown a[aria-current="page"]{padding-left:17px;background:var(--rd-aqua);color:var(--rd-secondary)}
.header-cta{display:flex;align-items:center;gap:8px}

.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 19px;border:1px solid transparent;border-radius:15px;text-decoration:none;font-weight:850;line-height:1.2;transition:transform .22s var(--rd-ease),box-shadow .22s var(--rd-ease),background .2s ease,border-color .2s ease;color .2s ease}
.btn:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.22) 46%,transparent 70%);transform:translateX(-130%);transition:transform .55s var(--rd-ease)}
.btn:hover{transform:translateY(-3px)}
.btn:hover:before{transform:translateX(130%)}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));box-shadow:0 13px 30px rgba(var(--rd-secondary-rgb),.23)}
.btn-primary:hover{box-shadow:0 17px 38px rgba(var(--rd-secondary-rgb),.30)}
.btn-dark{color:#fff;background:var(--rd-ink)}
.btn-light{color:var(--rd-secondary);background:#fff;border-color:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(5,52,66,.08)}
.btn-ghost{color:var(--rd-secondary);background:rgba(var(--rd-primary-rgb),.08);border-color:rgba(var(--rd-primary-rgb),.16)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--rd-line);border-radius:14px;background:#fff;color:var(--rd-secondary);font-size:1.3rem;box-shadow:var(--rd-shadow-sm)}
.mobile-drawer,.drawer-overlay{display:none}

/* breadcrumbs */
.breadcrumb-wrap{position:relative;z-index:2;background:transparent}
.breadcrumb{min-height:44px;display:flex;align-items:center;gap:9px;overflow:auto;white-space:nowrap;font-size:.8rem;color:var(--rd-muted);scrollbar-width:none}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb a{text-decoration:none;color:var(--rd-secondary);font-weight:780}
.breadcrumb a:hover{color:var(--rd-primary)}

/* high-impact hero */
.page-hero{position:relative;overflow:hidden;padding:clamp(72px,8vw,116px) 0 clamp(94px,9vw,132px);background:linear-gradient(135deg,#f8fdfe 0%,#eef9fb 50%,#fff 100%)}
.page-hero:before{content:"";position:absolute;width:610px;height:610px;right:-160px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rd-primary-rgb),.22) 0%,rgba(var(--rd-primary-rgb),.065) 42%,transparent 70%);filter:blur(2px)}
.page-hero:after{content:"";position:absolute;width:360px;height:360px;left:-160px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rd-secondary-rgb),.11),transparent 68%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);gap:clamp(42px,6vw,82px);align-items:center}
.hero-copy{position:relative}
.hero-copy:before{content:"";position:absolute;left:-28px;top:65px;width:4px;height:116px;border-radius:99px;background:linear-gradient(var(--rd-primary),transparent);opacity:.38}
.hero-copy h1{margin:0;max-width:860px;color:var(--rd-ink);font-size:clamp(2.8rem,5.3vw,5.35rem);font-weight:880;line-height:.95;letter-spacing:-.062em;text-wrap:balance}
.hero-copy h1 span{position:relative;color:var(--rd-secondary)}
.hero-copy h1 span:after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.12em;border-radius:99px;background:rgba(var(--rd-primary-rgb),.24);z-index:-1}
.hero-copy>p{max-width:740px;margin:25px 0 0;color:#526d78;font-size:clamp(1.03rem,1.55vw,1.2rem);line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.hero-points{display:flex;gap:11px 18px;flex-wrap:wrap;margin:27px 0 0;padding:0;list-style:none;color:#486672;font-size:.9rem;font-weight:760}
.hero-points li{display:flex;align-items:center;gap:8px}
.hero-points li:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 6px 14px rgba(var(--rd-secondary-rgb),.18)}
.hero-visual{position:relative;min-width:0}
.hero-visual:before{content:"";position:absolute;left:-28px;top:-28px;width:116px;height:116px;border-radius:30px;background:linear-gradient(135deg,rgba(var(--rd-primary-rgb),.30),rgba(var(--rd-secondary-rgb),.08));transform:rotate(-12deg)}
.hero-visual:after{content:"";position:absolute;right:-28px;bottom:-34px;width:150px;height:150px;background-image:radial-gradient(rgba(var(--rd-secondary-rgb),.28) 1.5px,transparent 1.5px);background-size:12px 12px;mask-image:linear-gradient(135deg,#000,transparent 78%)}
.hero-image-card{position:relative;z-index:2;padding:10px;border:1px solid rgba(255,255,255,.82);border-radius:34px;background:rgba(255,255,255,.72);box-shadow:0 34px 86px rgba(10,70,88,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:rotate(1deg);transition:transform .45s var(--rd-ease),box-shadow .45s var(--rd-ease)}
.hero-image-card:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 42px 96px rgba(10,70,88,.22)}
.hero-image-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(var(--rd-primary-rgb),.7),rgba(255,255,255,.2),rgba(var(--rd-secondary-rgb),.4));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-image-card img{width:100%;min-height:390px;max-height:510px;object-fit:cover;border-radius:26px;background:var(--rd-soft)}
.hero-stat{position:absolute;z-index:4;left:-38px;bottom:34px;max-width:235px;padding:18px 19px 17px;border:1px solid rgba(194,226,231,.92);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 22px 52px rgba(9,64,80,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero-stat:before{content:"";position:absolute;left:16px;top:-4px;width:44px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--rd-primary),var(--rd-secondary))}
.hero-stat strong{display:block;color:var(--rd-secondary);font-size:1.34rem;line-height:1.1;letter-spacing:-.025em}
.hero-stat span{display:block;margin-top:7px;color:var(--rd-muted);font-size:.8rem;line-height:1.5}

/* floating metrics */
.stats-strip{position:relative;z-index:6;margin-top:-43px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px;border:1px solid rgba(196,226,232,.9);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 24px 60px rgba(10,67,83,.11);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.stat{position:relative;padding:22px 16px;text-align:center;border-radius:19px;background:linear-gradient(145deg,#fff,var(--rd-soft));transition:transform .24s var(--rd-ease),background .24s ease}
.stat:hover{transform:translateY(-4px);background:var(--rd-aqua)}
.stat+.stat{border-left:0}
.stat strong{display:block;color:var(--rd-secondary);font-size:1.52rem;line-height:1.05;letter-spacing:-.035em}
.stat span{display:block;margin-top:8px;color:var(--rd-muted);font-size:.8rem;font-weight:700}

/* reusable modern grids/cards */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{position:relative;overflow:hidden;padding:28px;border:1px solid rgba(202,229,234,.92);border-radius:var(--rd-radius);background:linear-gradient(145deg,#fff 0%,#fbfefe 100%);box-shadow:0 12px 36px rgba(12,68,84,.055);transition:transform .3s var(--rd-ease),box-shadow .3s var(--rd-ease),border-color .3s ease}
.card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rd-primary),var(--rd-secondary));transform:scaleX(.28);transform-origin:left;opacity:.75;transition:transform .32s var(--rd-ease)}
.card:hover{transform:translateY(-8px);box-shadow:0 24px 58px rgba(11,72,89,.11);border-color:rgba(var(--rd-primary-rgb),.34)}
.card:hover:before{transform:scaleX(1)}
.card h2,.card h3{position:relative;margin-top:0;color:var(--rd-ink);line-height:1.18;letter-spacing:-.022em}
.card h3{font-size:1.16rem}
.card p{position:relative;color:#5a737e}
.card p:last-child{margin-bottom:0}
.icon-card{position:relative;overflow:hidden}
.icon-card:after{content:"";position:absolute;right:-44px;top:-44px;width:125px;height:125px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rd-primary-rgb),.14),rgba(var(--rd-primary-rgb),.02) 62%,transparent 64%)}
.icon-badge{position:relative;z-index:2;display:grid;place-items:center;width:50px;height:50px;margin-bottom:20px;border:1px solid rgba(255,255,255,.38);border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));font-weight:900;box-shadow:0 12px 28px rgba(var(--rd-secondary-rgb),.20);transform:rotate(-4deg);transition:transform .25s var(--rd-ease)}
.icon-card:hover .icon-badge{transform:rotate(0deg) scale(1.05)}

/* editorial split sections */
.split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(42px,6vw,82px);align-items:center}
.split.reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.split.reverse .split-media{order:2}
.split-media{position:relative;padding:14px}
.split-media:before{content:"";position:absolute;inset:0;border-radius:32px;background:linear-gradient(135deg,rgba(var(--rd-primary-rgb),.14),rgba(var(--rd-secondary-rgb),.025));transform:rotate(-3deg)}
.split.reverse .split-media:before{transform:rotate(3deg)}
.split-media:after{content:"";position:absolute;width:76px;height:76px;right:-6px;bottom:-6px;border-radius:22px;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));opacity:.16;transform:rotate(10deg)}
.split-media img{position:relative;z-index:2;width:100%;min-height:360px;max-height:535px;border:1px solid rgba(202,229,234,.82);border-radius:26px;box-shadow:var(--rd-shadow-md);object-fit:cover}
.split-content{position:relative}
.split-content h2{margin:0;color:var(--rd-ink);font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.04;letter-spacing:-.048em;text-wrap:balance}
.split-content p{color:#566f7a}
.split-content>.eyebrow{margin-bottom:15px}
.check-list{display:grid;gap:10px;margin:25px 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding:14px 16px 14px 48px;border:1px solid rgba(205,230,235,.88);border-radius:16px;background:rgba(255,255,255,.88);color:#405f6b;box-shadow:0 8px 22px rgba(12,68,84,.04);transition:transform .22s var(--rd-ease),border-color .22s ease}
.check-list li:hover{transform:translateX(5px);border-color:rgba(var(--rd-primary-rgb),.36)}
.check-list li:before{content:"✓";position:absolute;left:14px;top:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));color:#fff;font-size:.72rem;font-weight:950;box-shadow:0 6px 14px rgba(var(--rd-secondary-rgb),.16)}

.quote-panel{position:relative;overflow:hidden;padding:clamp(28px,4vw,44px);border:1px solid rgba(198,227,233,.95);border-radius:30px;background:linear-gradient(135deg,#fff 0%,var(--rd-soft-2) 100%);box-shadow:var(--rd-shadow-sm)}
.quote-panel:before{content:"“";position:absolute;right:24px;top:-22px;color:rgba(var(--rd-primary-rgb),.13);font-family:Georgia,serif;font-size:10rem;line-height:1}
.quote-panel:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--rd-primary),var(--rd-secondary))}
.quote-panel p{position:relative;margin:0;color:#355864;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.78}
.quote-panel strong{display:block;margin-top:18px;color:var(--rd-secondary)}

/* timeline */
.timeline{position:relative;display:grid;gap:15px;margin-top:38px}
.timeline:before{content:"";position:absolute;left:22px;top:12px;bottom:12px;width:2px;background:linear-gradient(var(--rd-primary),rgba(var(--rd-primary-rgb),.08))}
.timeline-item{position:relative;padding:0 0 0 68px}
.timeline-dot{position:absolute;left:5px;top:16px;display:grid;place-items:center;width:36px;height:36px;border:7px solid #fff;border-radius:12px;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));box-shadow:0 8px 22px rgba(var(--rd-secondary-rgb),.20);transform:rotate(45deg)}
.timeline-card{position:relative;padding:23px 25px;border:1px solid var(--rd-line);border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(12,68,84,.045);transition:transform .25s var(--rd-ease),box-shadow .25s ease}
.timeline-card:hover{transform:translateX(5px);box-shadow:0 16px 38px rgba(12,68,84,.085)}
.timeline-card .date{display:inline-flex;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:rgba(var(--rd-primary-rgb),.09);color:var(--rd-secondary);font-size:.71rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.timeline-card h3{margin:0;color:var(--rd-ink);font-size:1.13rem;letter-spacing:-.02em}
.timeline-card p{margin:8px 0 0;color:var(--rd-muted)}

/* galleries */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.gallery-card{position:relative;overflow:hidden;border:1px solid rgba(202,229,234,.92);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(12,68,84,.055);transition:transform .3s var(--rd-ease),box-shadow .3s var(--rd-ease)}
.gallery-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(12,68,84,.11)}
.gallery-card button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;overflow:hidden}
.gallery-card button:after{content:"↗";position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.9);color:var(--rd-secondary);box-shadow:0 8px 20px rgba(12,68,84,.12);opacity:0;transform:translateY(5px);transition:.25s}
.gallery-card:hover button:after{opacity:1;transform:none}
.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--rd-soft);transition:transform .5s var(--rd-ease),filter .4s ease}
.gallery-card:hover img{transform:scale(1.055);filter:saturate(1.04)}
.gallery-card figcaption{padding:16px 18px 18px;color:#486774;font-size:.87rem;font-weight:760}
.cert-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.cert-gallery .gallery-card img{aspect-ratio:3/4;object-fit:contain;padding:12px;background:linear-gradient(145deg,#fff,var(--rd-soft))}
.lightbox{position:fixed;inset:0;z-index:2500;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(5,30,39,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.lightbox.open{display:flex;animation:rd-fade .22s ease}
.lightbox-content{position:relative;max-width:min(1100px,94vw);max-height:90vh}
.lightbox-media{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:88vh}
.lightbox-media img{max-width:100%;max-height:88vh;border:8px solid rgba(255,255,255,.9);border-radius:24px;background:#fff;object-fit:contain;box-shadow:0 38px 90px rgba(0,0,0,.26)}
.lightbox-close{position:absolute;right:-14px;top:-14px;width:44px;height:44px;border:0;border-radius:14px;background:#fff;color:var(--rd-secondary);font-size:1.4rem;box-shadow:var(--rd-shadow-md)}

/* profile / facts */
.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:27px}
.fact{position:relative;padding:17px 18px;border:1px solid var(--rd-line);border-radius:17px;background:linear-gradient(145deg,#fff,var(--rd-soft));transition:transform .22s var(--rd-ease)}
.fact:hover{transform:translateY(-3px)}
.fact small{display:block;color:var(--rd-muted);font-size:.74rem;font-weight:760;text-transform:uppercase;letter-spacing:.05em}
.fact strong{display:block;margin-top:5px;color:var(--rd-secondary);font-size:1rem}
.service-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}
.service-pills a{padding:10px 14px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-secondary);text-decoration:none;font-size:.82rem;font-weight:820;box-shadow:0 6px 18px rgba(12,68,84,.035);transition:.2s}
.service-pills a:hover{border-color:rgba(var(--rd-primary-rgb),.36);background:var(--rd-aqua);transform:translateY(-2px)}

/* FAQ */
.faq-list{max-width:920px;margin:38px auto 0;display:grid;gap:12px}
.faq-item{overflow:hidden;border:1px solid rgba(199,228,233,.92);border-radius:20px;background:#fff;box-shadow:0 9px 27px rgba(12,68,84,.045);transition:border-color .22s ease,box-shadow .22s ease}
.faq-item.open{border-color:rgba(var(--rd-primary-rgb),.38);box-shadow:0 16px 38px rgba(12,68,84,.075)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:0;background:#fff;color:var(--rd-ink);text-align:left;font-weight:840;font-size:.98rem}
.faq-q:after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(var(--rd-primary-rgb),.085);color:var(--rd-secondary);font-size:1.25rem;transition:transform .22s var(--rd-ease),background .22s ease}
.faq-q[aria-expanded="true"]:after{content:"−";transform:rotate(180deg);background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));color:#fff}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--rd-ease)}
.faq-a>div{overflow:hidden}
.faq-a p{margin:0;padding:0 22px 22px;color:var(--rd-muted)}
.faq-item.open .faq-a{grid-template-rows:1fr}

/* CTA */
.cta-section{position:relative;padding:0 0 clamp(76px,8vw,116px);background:linear-gradient(180deg,#fff,var(--rd-soft))}
.cta-panel{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.22fr .78fr;gap:32px;align-items:center;padding:clamp(34px,5vw,58px);border-radius:34px;color:#fff;background:linear-gradient(125deg,var(--rd-secondary) 0%,var(--rd-primary) 58%,#22c6d9 100%);box-shadow:0 30px 74px rgba(var(--rd-secondary-rgb),.24)}
.cta-panel:before{content:"";position:absolute;z-index:-1;left:-95px;bottom:-150px;width:340px;height:340px;border-radius:50%;border:70px solid rgba(255,255,255,.08)}
.cta-panel:after{content:"";position:absolute;z-index:-1;right:-45px;top:-65px;width:240px;height:240px;background-image:radial-gradient(rgba(255,255,255,.28) 1.5px,transparent 1.5px);background-size:13px 13px;transform:rotate(12deg);opacity:.65}
.cta-panel h2{position:relative;margin:0;font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.03;letter-spacing:-.048em;text-wrap:balance}
.cta-panel p{position:relative;margin:15px 0 0;max-width:720px;color:rgba(255,255,255,.87);font-size:1.02rem}
.cta-actions{position:relative;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cta-panel .btn-primary{background:var(--rd-ink);box-shadow:0 13px 30px rgba(4,38,49,.20)}

/* footer */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(135deg,#092A37 0%,#0B3948 55%,#07303E 100%);color:#DAEDF1;padding:68px 0 102px}
.site-footer:before{content:"";position:absolute;right:-160px;top:-210px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rd-primary-rgb),.15),transparent 68%)}
.site-footer .container{position:relative}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:38px}
.footer-brand img{height:53px;width:auto;filter:brightness(0) invert(1)}
.footer-brand p{max-width:430px;color:#B8D2D8;font-size:.9rem}
.footer-col h2{margin:0 0 16px;color:#fff;font-size:.91rem;letter-spacing:.04em;text-transform:uppercase}
.footer-col a,.footer-col span{display:block;margin:10px 0;color:#BCD3D8;text-decoration:none;font-size:.86rem;transition:color .2s ease,transform .2s ease}
.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:23px;border-top:1px solid rgba(255,255,255,.11);color:#8FB4BC;font-size:.79rem}

/* mobile dock */
.mobile-dock{display:none}

/* reveal + progress */
.reveal{opacity:1;transform:none}
.reveal.reveal-init{opacity:0;transform:translateY(24px) scale(.99);filter:blur(3px);transition:opacity .72s var(--rd-ease),transform .72s var(--rd-ease),filter .72s var(--rd-ease)}
.reveal.reveal-init.in{opacity:1;transform:none;filter:none}
.rd-scroll-progress{position:fixed;z-index:3000;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,var(--rd-primary),var(--rd-secondary));box-shadow:0 1px 7px rgba(var(--rd-primary-rgb),.32);pointer-events:none}
@keyframes rd-fade{from{opacity:0}to{opacity:1}}

@media (max-width:1080px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:grid;place-items:center}
  .mobile-drawer{display:block;position:fixed;top:10px;right:10px;bottom:10px;z-index:2200;width:min(400px,calc(100vw - 20px));height:auto;padding:18px;border:1px solid rgba(199,228,233,.9);border-radius:26px;background:rgba(255,255,255,.98);transform:translateX(calc(100% + 26px));transition:transform .32s var(--rd-ease);overflow:auto;box-shadow:0 36px 90px rgba(5,43,55,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-drawer.open{transform:none}
  .drawer-overlay{display:block;position:fixed;inset:0;z-index:2100;background:rgba(5,35,46,.42);opacity:0;visibility:hidden;transition:.25s;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .drawer-overlay.open{opacity:1;visibility:visible}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 16px;border-bottom:1px solid var(--rd-line)}
  .drawer-head img{height:44px;width:auto}
  .drawer-close{width:42px;height:42px;border:1px solid var(--rd-line);border-radius:13px;background:var(--rd-soft);color:var(--rd-secondary);font-size:1.25rem}
  .drawer-nav{display:grid;gap:4px;padding:16px 0}
  .drawer-nav a{padding:12px 13px;border-radius:13px;color:#34545F;text-decoration:none;font-weight:760;transition:.2s}
  .drawer-nav a:hover,.drawer-nav a[aria-current="page"]{padding-left:17px;background:var(--rd-aqua);color:var(--rd-secondary)}
  .drawer-group{margin:14px 0 4px;padding:0 13px;color:var(--rd-secondary);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .drawer-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{max-width:900px}
  .hero-visual{max-width:720px;margin-inline:auto;width:100%}
  .hero-stat{left:18px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .cert-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid .footer-col:last-child{grid-column:2/4}
}

@media (max-width:760px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom));background:#fff}
  .topbar{display:none}
  .container{width:min(calc(100% - 28px),var(--rd-max))}
  .section{padding:64px 0}
  .site-header{padding:8px 0;background:rgba(247,252,253,.92)}
  .header-inner{min-height:62px;padding:0 9px 0 13px;border-radius:18px}
  .brand img,.site-header.is-scrolled .brand img{height:42px}
  .menu-toggle{width:43px;height:43px;border-radius:13px;box-shadow:none}
  .breadcrumb{min-height:39px;font-size:.76rem}
  .page-hero{padding:52px 0 78px}
  .page-hero:before{width:380px;height:380px;right:-180px;top:-100px}
  .hero-grid{gap:38px}
  .hero-copy:before{display:none}
  .hero-copy h1{font-size:clamp(2.45rem,12vw,4rem);line-height:.96;letter-spacing:-.058em}
  .hero-copy>p{font-size:.99rem;line-height:1.7}
  .hero-actions{gap:9px;margin-top:25px}
  .hero-actions .btn{flex:1 1 145px;min-height:50px}
  .hero-points{font-size:.82rem;gap:9px 13px;margin-top:22px}
  .hero-image-card{padding:8px;border-radius:24px;transform:none;box-shadow:0 24px 58px rgba(10,70,88,.16)}
  .hero-image-card img{min-height:300px;max-height:410px;border-radius:18px}
  .hero-visual:before{left:-10px;top:-18px;width:82px;height:82px;border-radius:22px}
  .hero-visual:after{right:-10px;bottom:-12px;width:100px;height:100px}
  .hero-stat{position:relative;left:auto;bottom:auto;margin:-25px 12px 0;max-width:none;border-radius:17px;padding:15px 17px}
  .stats-strip{margin-top:-28px}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px;border-radius:22px}
  .stat{padding:17px 10px;border-radius:15px}
  .stat strong{font-size:1.3rem}
  .stat span{font-size:.74rem}
  .section-title{font-size:clamp(2rem,9vw,2.65rem)}
  .section-title:after{width:56px;height:4px;margin-top:18px}
  .grid-2,.grid-3,.grid-4,.split,.split.reverse,.cta-panel{grid-template-columns:1fr}
  .split{gap:34px}
  .split.reverse .split-media{order:0}
  .split-media{padding:9px}
  .split-media img{min-height:280px;border-radius:20px}
  .card{padding:23px;border-radius:21px}
  .card:hover{transform:none}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .gallery-card{border-radius:19px}
  .cert-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact-list{grid-template-columns:1fr}
  .quote-panel{border-radius:23px}
  .cta-panel{gap:25px;border-radius:26px;padding:31px 23px}
  .cta-actions{justify-content:flex-start}
  .cta-actions .btn{flex:1 1 160px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-grid .footer-col:last-child{grid-column:auto}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:7px}

  .mobile-dock{position:fixed;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));z-index:1800;display:grid;grid-template-columns:repeat(4,1fr);padding:7px;border:1px solid rgba(190,222,228,.88);border-radius:23px;background:rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(9,58,72,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-dock a{position:relative;display:flex;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:16px;color:#55717C;text-decoration:none;font-size:.64rem;font-weight:820;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,background .15s ease,color .15s ease}
  .mobile-dock a:active{transform:scale(.95);background:var(--rd-aqua)}
  .mobile-dock a.primary{color:#fff;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));box-shadow:0 8px 20px rgba(var(--rd-secondary-rgb),.20)}
  .dock-icon{font-size:1.08rem;line-height:1}
  .timeline:before{left:14px}
  .timeline-item{padding-left:48px}
  .timeline-dot{left:-2px;width:32px;height:32px}
}

@media (max-width:480px){
  .container{width:min(calc(100% - 22px),var(--rd-max))}
  .breadcrumb{font-size:.72rem}
  .page-hero{padding-top:42px}
  .hero-copy h1{font-size:clamp(2.25rem,12vw,3.3rem)}
  .hero-points{display:grid;grid-template-columns:1fr 1fr}
  .gallery,.cert-gallery{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid .footer-col:last-child{grid-column:auto}
  .drawer-cta{grid-template-columns:1fr}
  .quote-panel{padding:24px 22px}
  .stat strong{font-size:1.22rem}
}

@media (hover:none){
  .card:hover,.gallery-card:hover,.stat:hover,.hero-image-card:hover,.service-pills a:hover{transform:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal.reveal-init{opacity:1;transform:none;filter:none}
}

.mt-32{margin-top:32px}
.mt-34{margin-top:34px}
.panel-heading{margin:0;color:var(--rd-ink);font-size:1.55rem;line-height:1.18;letter-spacing:-.025em}





/* ===== Compact Header V4 ===== */
.compact-topbar{position:relative;z-index:1010;background:linear-gradient(90deg,#0086A7,#00B3CC);color:#fff}
.compact-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.78rem;font-weight:760}
.compact-topbar-left,.compact-topbar-links{display:flex;align-items:center;gap:9px;white-space:nowrap}
.compact-topbar-links a{color:#fff;text-decoration:none;opacity:.96}
.compact-topbar-links a:hover{opacity:1;text-decoration:underline}
.topbar-badge{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.12);font-size:.72rem}
.site-header.compact-header{position:sticky;top:0;z-index:1000;padding:8px 0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,179,204,.10);box-shadow:0 8px 24px rgba(9,79,97,.06)}
.compact-header-inner{min-height:70px;display:flex;align-items:center;gap:22px;padding:0 6px}
.compact-header .brand{flex:0 0 auto}
.compact-header .brand img,.compact-header.is-scrolled .brand img{height:48px;width:auto}
.compact-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:2px}
.compact-nav>a,.compact-nav .nav-menu>button{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:#183947;text-decoration:none;font-size:.86rem;font-weight:800;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease}
.compact-nav>a:hover,.compact-nav a[aria-current="page"],.compact-nav .nav-menu>button:hover,.compact-nav .nav-menu>button[aria-expanded="true"]{background:rgba(0,179,204,.09);color:#0086A7}
.compact-nav .nav-menu>button:after{content:"⌄";margin-left:6px;font-size:.74rem;transition:transform .2s ease}
.compact-nav .nav-menu>button[aria-expanded="true"]:after{transform:rotate(180deg)}
.compact-header .dropdown{top:calc(100% + 10px);padding:10px;border:1px solid rgba(0,179,204,.14);border-radius:16px;background:#fff;box-shadow:0 22px 54px rgba(8,79,99,.15);transform:translateY(8px);transform-origin:top;z-index:1200}
.compact-header .nav-menu.open .dropdown{transform:none}
.compact-header .dropdown:before{display:none}
.compact-company-dropdown{left:0;width:270px}
.compact-company-dropdown a{display:block;padding:10px 12px;border-radius:10px;color:#294b57;text-decoration:none;font-size:.86rem;font-weight:740}
.compact-company-dropdown a:hover,.compact-company-dropdown a[aria-current="page"]{padding-left:15px;background:rgba(0,179,204,.09);color:#0086A7}
.compact-mega-menu{left:50%;width:min(980px,calc(100vw - 44px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;transform:translate(-50%,8px)}
.compact-header .nav-menu.open .compact-mega-menu{transform:translate(-50%,0)}
.compact-mega-menu .mega-col{padding:4px}
.compact-mega-menu a{display:block;padding:9px 10px;border-radius:9px;color:#294b57;text-decoration:none;font-size:.82rem;font-weight:720;line-height:1.25;border-bottom:1px dashed rgba(0,179,204,.12)}
.compact-mega-menu a:last-child{border-bottom:0}
.compact-mega-menu a:hover{background:rgba(0,179,204,.08);color:#0086A7;transform:translateX(2px)}
.compact-demo-cta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:12px;color:#fff;text-decoration:none;font-size:.86rem;font-weight:850;background:linear-gradient(135deg,#00B3CC,#0086A7);box-shadow:0 10px 24px rgba(0,134,167,.20);transition:transform .2s ease,box-shadow .2s ease}
.compact-demo-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,134,167,.26)}
.compact-header.is-scrolled{padding:5px 0}
.compact-header.is-scrolled .compact-header-inner{min-height:62px}
.floating-whatsapp{position:fixed;left:16px;bottom:18px;z-index:1750;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:linear-gradient(135deg,#22C55E,#12A84B);box-shadow:0 16px 36px rgba(25,158,72,.30);color:#fff;text-decoration:none;font-weight:900;transition:transform .22s ease,box-shadow .22s ease}
.floating-whatsapp:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(25,158,72,.34)}
.wa-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.17)}
.wa-text{font-size:.9rem}
.mouse-orb{position:absolute;left:0;top:0;width:220px;height:220px;border-radius:50%;pointer-events:none;opacity:.28;background:radial-gradient(circle,rgba(0,179,204,.20),transparent 70%);transform:translate(calc(var(--x,80%) - 50%),calc(var(--y,24%) - 50%));filter:blur(18px);transition:transform .16s linear;mix-blend-mode:multiply}
@media (max-width:1180px){
  .compact-nav>a,.compact-nav .nav-menu>button{padding:0 9px;font-size:.81rem}
  .compact-demo-cta{padding:0 13px;font-size:.81rem}
  .compact-header-inner{gap:13px}
}
@media (max-width:1080px){
  .compact-nav,.compact-demo-cta{display:none}
  .compact-header-inner{justify-content:space-between}
  .compact-header .menu-toggle{display:grid;place-items:center}
}
@media (max-width:760px){
  .compact-topbar-inner{min-height:34px;font-size:.72rem;justify-content:center}
  .compact-topbar-links{display:none}
  .site-header.compact-header{padding:6px 0}
  .compact-header-inner{min-height:58px;padding:0}
  .compact-header .brand img,.compact-header.is-scrolled .brand img{height:40px}
  .compact-header .menu-toggle{width:42px;height:42px}
  .floating-whatsapp{left:10px;bottom:calc(82px + env(safe-area-inset-bottom));padding:10px}
  .wa-text{display:none}
  .mouse-orb{display:none}
}


/* ===== V4.1 Header overlap fix ===== */
.compact-topbar .container,
.compact-header .container{
  width:min(calc(100% - 32px),1460px);
  max-width:none;
}
.compact-header-inner{
  gap:12px;
  min-width:0;
}
.compact-header .brand{
  flex:0 0 auto;
  max-width:235px;
}
.compact-header .brand img,
.compact-header.is-scrolled .brand img{
  width:min(235px,21vw);
  height:auto;
  max-height:44px;
  object-fit:contain;
}
.compact-nav{
  min-width:0;
  gap:0;
  justify-content:flex-end;
}
.compact-nav>a,
.compact-nav .nav-menu>button{
  min-width:0;
  padding-inline:9px;
  font-size:.82rem;
}
.compact-demo-cta{
  flex:0 0 auto;
  min-width:126px;
  padding-inline:13px;
  white-space:nowrap;
}
@media (max-width:1320px){
  .compact-topbar .container,
  .compact-header .container{width:min(calc(100% - 24px),1320px)}
  .compact-header .brand{max-width:205px}
  .compact-header .brand img,
  .compact-header.is-scrolled .brand img{width:205px;max-height:40px}
  .compact-header-inner{gap:8px}
  .compact-nav>a,
  .compact-nav .nav-menu>button{padding-inline:7px;font-size:.77rem}
  .compact-demo-cta{min-width:116px;padding-inline:10px;font-size:.77rem}
}
@media (max-width:1160px){
  .compact-nav,.compact-demo-cta{display:none!important}
  .compact-header-inner{justify-content:space-between}
  .compact-header .menu-toggle{display:grid!important;place-items:center}
}


/* ===== V4.2 refined compact header ===== */
.compact-header{padding:10px 0 8px;background:rgba(248,252,253,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,179,204,.08)}
.compact-header .container{width:min(calc(100% - 44px),1460px)}
.compact-header-inner{min-height:76px;padding:0 18px 0 22px;border:1px solid rgba(0,179,204,.10);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(8,79,95,.08);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;transition:min-height .25s var(--rd-ease),box-shadow .25s var(--rd-ease),transform .25s var(--rd-ease)}
.site-header.is-scrolled.compact-header{padding:7px 0 6px;background:rgba(248,252,253,.95)}
.site-header.is-scrolled.compact-header .compact-header-inner{min-height:68px;box-shadow:0 16px 38px rgba(8,79,95,.10)}
.compact-header .brand{min-width:240px;max-width:320px;font-size:0;line-height:0;overflow:hidden}
.compact-header .brand img{height:44px;max-width:100%;width:auto;object-fit:contain;display:block}
.site-header.is-scrolled.compact-header .brand img{height:40px}
.compact-nav{justify-content:center;gap:2px;min-width:0;flex-wrap:nowrap}
.compact-nav>a,.compact-header .nav-menu>button{padding:11px 14px;border-radius:12px;color:#1f4350;font-size:.92rem;font-weight:790;line-height:1.15}
.compact-nav>a:hover,.compact-header .nav-menu>button:hover,.compact-nav a[aria-current="page"],.compact-header .nav-menu>button[aria-expanded="true"]{background:rgba(0,179,204,.08);color:#0086A7}
.compact-nav>a:after,.compact-header .nav-menu>button:before{bottom:5px}
.compact-header .nav-menu>button:after{font-size:.72rem;margin-left:2px}
.compact-header-cta{display:flex;align-items:center;justify-content:flex-end}
.compact-header-cta .btn{min-height:50px;padding:0 22px;border-radius:14px;font-size:.95rem;white-space:nowrap;box-shadow:0 12px 30px rgba(0,134,167,.18)}
.compact-header-cta .btn:hover{box-shadow:0 15px 34px rgba(0,134,167,.24)}
.compact-header .dropdown{top:calc(100% + 12px);border-radius:18px;border-color:rgba(0,179,204,.12);box-shadow:0 18px 44px rgba(8,79,95,.14)}
.compact-company-dropdown{width:280px}
.compact-company-dropdown a{font-size:.88rem;font-weight:740;padding:10px 12px}
.compact-mega-menu{left:50%;width:min(1120px,calc(100vw - 64px));padding:12px 14px;transform:translate(-50%,10px) scale(.985);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nav-menu.open .compact-mega-menu{transform:translate(-50%,0) scale(1)}
.compact-mega-menu .mega-col{padding:2px}
.compact-mega-menu .mega-col a{min-height:40px;padding:9px 10px;border-radius:12px;font-size:.84rem;font-weight:720;line-height:1.3;border-bottom:1px dashed rgba(0,179,204,.12)}
.compact-mega-menu .mega-col a:hover{transform:translateX(2px);background:rgba(0,179,204,.07)}
.compact-mega-menu .mega-col a:last-child{border-bottom:none}
.compact-topbar{box-shadow:none}
.compact-topbar-inner{min-height:44px;font-size:.84rem;font-weight:780}
.topbar-badge{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.16);font-size:.72rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.compact-topbar-links{gap:12px}
.compact-topbar-links span{opacity:.9}
@media (max-width:1330px){
  .compact-header .container{width:min(calc(100% - 34px),1320px)}
  .compact-header-inner{padding:0 14px 0 18px;gap:18px}
  .compact-header .brand{min-width:210px;max-width:260px}
  .compact-nav>a,.compact-header .nav-menu>button{padding:10px 11px;font-size:.88rem}
  .compact-header-cta .btn{padding:0 18px;font-size:.9rem}
  .compact-mega-menu{width:min(1000px,calc(100vw - 40px))}
}
@media (max-width:1200px){
  .compact-header-inner{display:flex;justify-content:space-between;gap:14px}
  .compact-nav,.compact-header-cta{display:none}
  .menu-toggle{display:grid;place-items:center}
}
@media (max-width:760px){
  .compact-topbar-inner{min-height:40px;font-size:.78rem}
  .compact-topbar-left{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .compact-topbar-left span:last-child{overflow:hidden;text-overflow:ellipsis}
  .compact-header{padding:8px 0 6px}
  .compact-header .container{width:min(calc(100% - 24px),1460px)}
  .compact-header-inner{min-height:60px;padding:0 12px 0 14px;border-radius:16px}
  .compact-header .brand{min-width:0;max-width:74%}
  .compact-header .brand img,.site-header.is-scrolled.compact-header .brand img{height:38px}
}

/* =========================================================
   Royal Developer Service Pages — shared additions
   Used by all /our-services/ redesigned pages.
========================================================= */
.service-hero-panel{position:relative;overflow:hidden;min-height:410px;padding:30px;border:1px solid rgba(var(--rd-primary-rgb),.18);border-radius:30px;background:linear-gradient(145deg,#fff 0%,var(--rd-aqua) 100%);box-shadow:var(--rd-shadow);display:flex;flex-direction:column;justify-content:space-between}
.service-hero-panel:before{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rd-primary-rgb),.22),transparent 68%)}
.service-hero-panel>*{position:relative;z-index:1}
.service-hero-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));color:#fff;font-weight:950;font-size:1.35rem;letter-spacing:-.03em;box-shadow:0 18px 38px rgba(var(--rd-secondary-rgb),.22)}
.service-hero-panel h2{margin:30px 0 10px;font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.08;letter-spacing:-.035em}
.service-hero-panel p{margin:0;color:var(--rd-muted)}
.service-hero-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.service-hero-list li{display:flex;gap:10px;align-items:flex-start;color:#244653;font-weight:700}
.service-hero-list li:before{content:"✓";display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:8px;background:#fff;color:var(--rd-secondary);box-shadow:0 5px 14px rgba(12,68,84,.08);font-size:.75rem;font-weight:950}
.service-image-card{overflow:hidden;border:1px solid var(--rd-line);border-radius:28px;background:#fff;box-shadow:var(--rd-shadow-md)}
.service-image-card img{width:100%;height:100%;min-height:390px;object-fit:cover}
.service-copy h2{margin:0 0 18px;font-size:clamp(2rem,3.5vw,3rem);line-height:1.04;letter-spacing:-.045em}
.service-copy h3{margin:30px 0 10px;font-size:1.25rem;line-height:1.2}
.service-copy p{margin:0 0 16px;color:var(--rd-muted)}
.service-copy p:last-child{margin-bottom:0}
.service-copy strong{color:var(--rd-ink)}
.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.service-card{position:relative;padding:27px;border:1px solid var(--rd-line);border-radius:22px;background:#fff;box-shadow:var(--rd-shadow-sm)}
.service-card .num{display:inline-flex;margin-bottom:16px;color:var(--rd-secondary);font-weight:950;letter-spacing:.06em}
.service-card h3{margin:0 0 10px;font-size:1.13rem;line-height:1.22}
.service-card p{margin:0;color:var(--rd-muted);font-size:.95rem}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px;counter-reset:service-step}
.process-step{counter-increment:service-step;padding:26px;border:1px solid rgba(var(--rd-primary-rgb),.16);border-radius:22px;background:rgba(255,255,255,.8)}
.process-step:before{content:"0" counter(service-step);display:block;margin-bottom:16px;color:var(--rd-primary);font-size:.78rem;font-weight:950;letter-spacing:.12em}
.process-step h3{margin:0 0 9px;font-size:1.08rem}
.process-step p{margin:0;color:var(--rd-muted);font-size:.93rem}
.service-note{margin-top:28px;padding:22px 24px;border-left:4px solid var(--rd-primary);border-radius:0 18px 18px 0;background:var(--rd-aqua);color:#31535f}
.service-note strong{color:var(--rd-ink)}
.related-services{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.related-services a{padding:10px 14px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-secondary);text-decoration:none;font-weight:800;font-size:.84rem;transition:.2s}
.related-services a:hover{transform:translateY(-2px);border-color:rgba(var(--rd-primary-rgb),.4);background:var(--rd-aqua)}
.service-inline-image{margin-top:30px;overflow:hidden;border-radius:25px;border:1px solid var(--rd-line);box-shadow:var(--rd-shadow-sm)}
.service-inline-image img{width:100%;max-height:470px;object-fit:cover}
.service-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.service-trust{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--rd-line)}
.service-trust strong{display:block;margin-bottom:5px;color:var(--rd-secondary)}
.service-trust span{color:var(--rd-muted);font-size:.9rem}
@media(max-width:980px){.service-card-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.service-trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.service-card-grid,.process-grid,.service-trust-grid{grid-template-columns:1fr}.service-hero-panel{min-height:auto;padding:24px}.service-image-card img{min-height:280px}.service-card{padding:22px}}


/* ==========================================================
   SERVICE MAIN CONTENT — VARIED MINIMAL MODERN LAYOUT SYSTEM
   Header, topbar, drawers, footer and floating UI are NOT restyled here.
   All rules below are deliberately scoped to main.svc-main.
   Brand colors remain #00B3CC and #0086A7.
   ========================================================== */
main.svc-main{
  --svc-ink:#0b1c22;--svc-muted:#60767e;--svc-line:#d8e9ec;--svc-soft:#f6fbfc;
  --svc-cyan:#00B3CC;--svc-blue:#0086A7;--svc-dark:#09232b;
  background:#fff;color:var(--svc-ink);overflow:hidden;
}
main.svc-main .section{padding:clamp(70px,7vw,106px) 0}
main.svc-main .section-title{font-size:clamp(2.1rem,4vw,3.55rem);letter-spacing:-.05em;line-height:1.03;max-width:880px}
main.svc-main .section-title:after{display:none}
main.svc-main .section-lead{max-width:820px;color:var(--svc-muted)}
main.svc-main .eyebrow{padding:0;border:0;border-radius:0;background:none;font-size:.7rem;letter-spacing:.17em;color:var(--svc-blue)}
main.svc-main .eyebrow:before{width:24px;height:2px;border-radius:0;box-shadow:none}
main.svc-main .card{box-shadow:none}
main.svc-main .section-soft{background:var(--svc-soft)}
main.svc-main .section-soft:before{display:none}
main.svc-main .section-aqua{background:var(--svc-dark);color:#fff}
main.svc-main .section-aqua .eyebrow{color:#67e7f5}
main.svc-main .section-aqua h2,main.svc-main .section-aqua h3{color:#fff}
main.svc-main .section-aqua p{color:#bed0d4}
main.svc-main .btn{border-radius:5px;box-shadow:none}
main.svc-main .btn:hover{transform:translateY(-2px)}

/* ---------- Eight distinct hero systems ---------- */
main.svc-main.hero-1 .page-hero{padding:0;background:#fff}
main.svc-main.hero-1 .page-hero:before,main.svc-main.hero-1 .page-hero:after{display:none}
main.svc-main.hero-1 .hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:0;align-items:stretch;border-left:1px solid var(--svc-line);border-right:1px solid var(--svc-line)}
main.svc-main.hero-1 .hero-copy{padding:clamp(70px,8vw,118px) clamp(28px,5vw,74px)}
main.svc-main.hero-1 .hero-copy h1{font-size:clamp(3.4rem,6.2vw,6.7rem);line-height:.91;letter-spacing:-.07em;max-width:900px}
main.svc-main.hero-1 .hero-visual{border-left:1px solid var(--svc-line);background:var(--svc-soft);padding:52px 36px;display:flex;align-items:center}
main.svc-main.hero-1 .hero-image-card{border:0;border-radius:0;box-shadow:none;background:transparent}
main.svc-main.hero-1 .hero-image-card img{border-radius:0;max-height:520px;object-fit:contain}
main.svc-main.hero-1 .hero-stat{left:auto;right:24px;bottom:24px;border-radius:0;box-shadow:none;border:1px solid var(--svc-line)}

main.svc-main.hero-2 .page-hero{padding:88px 0 0;background:#fff;border-bottom:1px solid var(--svc-line)}
main.svc-main.hero-2 .page-hero:before,main.svc-main.hero-2 .page-hero:after{display:none}
main.svc-main.hero-2 .hero-grid{display:block}
main.svc-main.hero-2 .hero-copy{text-align:center;max-width:1040px;margin:auto;padding-bottom:62px}
main.svc-main.hero-2 .hero-copy .eyebrow{justify-content:center}
main.svc-main.hero-2 .hero-copy h1{font-size:clamp(3.5rem,7vw,7.2rem);line-height:.9;letter-spacing:-.075em;margin-inline:auto}
main.svc-main.hero-2 .hero-copy>p{max-width:800px;margin-inline:auto}
main.svc-main.hero-2 .hero-actions,main.svc-main.hero-2 .hero-points{justify-content:center}
main.svc-main.hero-2 .hero-visual{min-height:420px;border-top:1px solid var(--svc-line);background:linear-gradient(90deg,#fff,var(--svc-soft),#fff);padding:42px 7vw;display:grid;place-items:center}
main.svc-main.hero-2 .hero-image-card{max-width:760px;border:0;box-shadow:none;background:transparent}
main.svc-main.hero-2 .hero-image-card img{max-height:380px;object-fit:contain;border-radius:0}
main.svc-main.hero-2 .hero-stat{left:50%;right:auto;transform:translateX(-50%);bottom:18px;border-radius:999px;box-shadow:none}

main.svc-main.hero-3 .page-hero{background:var(--svc-dark);color:#fff;padding:clamp(76px,8vw,120px) 0}
main.svc-main.hero-3 .page-hero:before{inset:auto -130px -210px auto;width:560px;height:560px;background:radial-gradient(circle,rgba(0,179,204,.22),transparent 66%)}
main.svc-main.hero-3 .page-hero:after{display:none}
main.svc-main.hero-3 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:clamp(40px,7vw,100px)}
main.svc-main.hero-3 .hero-copy h1{color:#fff;font-size:clamp(3.4rem,6vw,6.3rem);line-height:.92;letter-spacing:-.065em}
main.svc-main.hero-3 .hero-copy>p,main.svc-main.hero-3 .hero-points{color:#b9cdd1}
main.svc-main.hero-3 .hero-points li{border-color:#24454d}
main.svc-main.hero-3 .hero-image-card{border:1px solid #28464d;border-radius:2px;background:#102d35;box-shadow:none;transform:rotate(2deg)}
main.svc-main.hero-3 .hero-image-card img{border-radius:0;filter:saturate(.92)}
main.svc-main.hero-3 .hero-stat{border-radius:2px;box-shadow:none;background:#fff;color:var(--svc-ink)}

main.svc-main.hero-4 .page-hero{padding:90px 0 108px;background:linear-gradient(180deg,#fff 0 72%,var(--svc-soft) 72%)}
main.svc-main.hero-4 .page-hero:before,main.svc-main.hero-4 .page-hero:after{display:none}
main.svc-main.hero-4 .hero-grid{grid-template-columns:.88fr 1.12fr;gap:clamp(42px,6vw,88px);align-items:end}
main.svc-main.hero-4 .hero-copy h1{font-size:clamp(3.25rem,5.5vw,5.8rem);line-height:.94;letter-spacing:-.06em}
main.svc-main.hero-4 .hero-visual{padding:0 0 44px 44px;border-left:1px solid var(--svc-line)}
main.svc-main.hero-4 .hero-image-card{border:0;border-radius:0;box-shadow:none}
main.svc-main.hero-4 .hero-image-card:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--svc-cyan);z-index:-1}
main.svc-main.hero-4 .hero-image-card img{border-radius:0;max-height:500px;object-fit:contain}
main.svc-main.hero-4 .hero-stat{left:0;right:auto;bottom:0;border-radius:0;box-shadow:none;background:var(--svc-cyan);color:#07343c;border:0}

main.svc-main.hero-5 .page-hero{padding:74px 0;background:#fff}
main.svc-main.hero-5 .page-hero:before,main.svc-main.hero-5 .page-hero:after{display:none}
main.svc-main.hero-5 .hero-grid{grid-template-columns:150px minmax(0,1fr) minmax(320px,.68fr);gap:0;border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line)}
main.svc-main.hero-5 .hero-grid:before{content:"SERVICE / ROYAL DEVELOPER";writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--svc-line);font-size:.65rem;letter-spacing:.22em;font-weight:900;color:var(--svc-blue)}
main.svc-main.hero-5 .hero-copy{padding:64px 5vw}
main.svc-main.hero-5 .hero-copy h1{font-size:clamp(3.1rem,5.7vw,6rem);line-height:.92;letter-spacing:-.065em}
main.svc-main.hero-5 .hero-visual{border-left:1px solid var(--svc-line);padding:42px 28px;display:flex;align-items:center;background:var(--svc-soft)}
main.svc-main.hero-5 .hero-image-card{border:0;border-radius:0;background:transparent;box-shadow:none}
main.svc-main.hero-5 .hero-image-card img{border-radius:0;object-fit:contain}
main.svc-main.hero-5 .hero-stat{border-radius:0;box-shadow:none;left:18px;right:18px}

main.svc-main.hero-6 .page-hero{padding:80px 0 0;background:#fff}
main.svc-main.hero-6 .page-hero:before,main.svc-main.hero-6 .page-hero:after{display:none}
main.svc-main.hero-6 .hero-grid{display:block}
main.svc-main.hero-6 .hero-copy{display:grid;grid-template-columns:1fr minmax(260px,.42fr);column-gap:60px;align-items:end;padding-bottom:54px}
main.svc-main.hero-6 .hero-copy .eyebrow,main.svc-main.hero-6 .hero-copy h1{grid-column:1}
main.svc-main.hero-6 .hero-copy h1{font-size:clamp(3.5rem,7.2vw,7.8rem);line-height:.87;letter-spacing:-.078em;margin-bottom:0}
main.svc-main.hero-6 .hero-copy>p,main.svc-main.hero-6 .hero-actions,main.svc-main.hero-6 .hero-points{grid-column:2}
main.svc-main.hero-6 .hero-visual{height:360px;border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);padding:24px;background:var(--svc-soft)}
main.svc-main.hero-6 .hero-image-card{height:100%;border:0;border-radius:0;box-shadow:none;background:transparent}
main.svc-main.hero-6 .hero-image-card img{height:100%;width:100%;object-fit:contain;border-radius:0}
main.svc-main.hero-6 .hero-stat{right:28px;left:auto;bottom:28px;border-radius:0;box-shadow:none}

main.svc-main.hero-7 .page-hero{padding:96px 0;background:#f8fcfd;border-bottom:1px solid var(--svc-line)}
main.svc-main.hero-7 .page-hero:before{width:10px;height:100%;left:0;top:0;border-radius:0;background:var(--svc-cyan);filter:none}
main.svc-main.hero-7 .page-hero:after{display:none}
main.svc-main.hero-7 .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.72fr);gap:80px}
main.svc-main.hero-7 .hero-copy{padding-left:clamp(20px,4vw,68px);border-left:1px solid var(--svc-line)}
main.svc-main.hero-7 .hero-copy h1{font-size:clamp(3.2rem,5.9vw,6.2rem);line-height:.93;letter-spacing:-.066em}
main.svc-main.hero-7 .hero-visual{display:grid;place-items:center}
main.svc-main.hero-7 .hero-image-card{border:0;border-radius:50%;aspect-ratio:1;overflow:hidden;background:#eaf8fa;box-shadow:none;padding:34px}
main.svc-main.hero-7 .hero-image-card img{width:100%;height:100%;object-fit:contain;border-radius:0}
main.svc-main.hero-7 .hero-stat{right:0;bottom:0;border-radius:0;box-shadow:none}

main.svc-main.hero-8 .page-hero{padding:64px 0 100px;background:#fff}
main.svc-main.hero-8 .page-hero:before,main.svc-main.hero-8 .page-hero:after{display:none}
main.svc-main.hero-8 .hero-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:0;border:1px solid var(--svc-line)}
main.svc-main.hero-8 .hero-copy{padding:56px 48px;background:var(--svc-soft)}
main.svc-main.hero-8 .hero-copy h1{font-size:clamp(3rem,5vw,5.25rem);line-height:.94;letter-spacing:-.06em}
main.svc-main.hero-8 .hero-visual{min-height:520px;padding:58px;background:#fff;border-left:1px solid var(--svc-line);display:flex;align-items:center;justify-content:center}
main.svc-main.hero-8 .hero-image-card{border:0;border-radius:0;box-shadow:none;background:transparent;max-width:620px}
main.svc-main.hero-8 .hero-image-card img{border-radius:0;object-fit:contain}
main.svc-main.hero-8 .hero-stat{left:auto;right:20px;bottom:20px;border-radius:0;box-shadow:none;border-bottom:3px solid var(--svc-cyan)}

/* ---------- Stats treatments rotate with module family ---------- */
main.svc-main .stats-strip{margin-top:0;z-index:4}
main.svc-main.module-1 .stats-grid{border-radius:0;box-shadow:none;border:1px solid var(--svc-line);transform:none}
main.svc-main.module-1 .stat{border-radius:0;background:#fff}
main.svc-main.module-2 .stats-grid{border:0;border-top:1px solid var(--svc-ink);border-bottom:1px solid var(--svc-line);border-radius:0;box-shadow:none;transform:none}
main.svc-main.module-2 .stat{background:#fff;border-right:1px solid var(--svc-line);text-align:left;padding-left:26px}
main.svc-main.module-3 .stats-grid{border:0;border-radius:0;box-shadow:none;transform:none;gap:10px;background:transparent}
main.svc-main.module-3 .stat{border:1px solid var(--svc-line)!important;border-radius:0;background:var(--svc-soft)}
main.svc-main.module-4 .stats-grid{border:0;border-radius:0;box-shadow:none;transform:none;background:var(--svc-dark)}
main.svc-main.module-4 .stat{background:transparent;color:#fff;border-color:#28464d}
main.svc-main.module-4 .stat span{color:#9fb7bc}

/* ---------- Four content/card systems ---------- */
main.svc-main.module-1 .grid-3{gap:0;border-top:1px solid var(--svc-line);border-left:1px solid var(--svc-line)}
main.svc-main.module-1 .grid-3>.card{border-radius:0;border:0;border-right:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);padding:34px;background:#fff}
main.svc-main.module-1 .icon-badge{border-radius:0;background:none;color:var(--svc-blue);padding:0;width:auto;height:auto;font-size:.72rem;letter-spacing:.15em}

main.svc-main.module-2 .grid-3{display:block;border-top:1px solid var(--svc-ink)}
main.svc-main.module-2 .grid-3>.card{display:grid;grid-template-columns:90px minmax(180px,.36fr) 1fr;gap:26px;align-items:start;border:0;border-bottom:1px solid var(--svc-line);border-radius:0;padding:26px 0;background:#fff;box-shadow:none}
main.svc-main.module-2 .grid-3>.card .icon-badge{grid-column:1;grid-row:1 / span 2;border:0;background:none;color:var(--svc-cyan);font-size:1rem;width:auto;height:auto}
main.svc-main.module-2 .grid-3>.card h3{grid-column:2;margin-top:0}
main.svc-main.module-2 .grid-3>.card p{grid-column:3;margin:0}

main.svc-main.module-3 .grid-3{grid-template-columns:repeat(12,1fr);gap:14px}
main.svc-main.module-3 .grid-3>.card{grid-column:span 4;border-radius:2px;box-shadow:none;border:1px solid var(--svc-line);padding:34px;background:#fff}
main.svc-main.module-3 .grid-3>.card:nth-child(1),main.svc-main.module-3 .grid-3>.card:nth-child(5){grid-column:span 7;background:var(--svc-soft)}
main.svc-main.module-3 .grid-3>.card:nth-child(2),main.svc-main.module-3 .grid-3>.card:nth-child(6){grid-column:span 5}
main.svc-main.module-3 .icon-badge{border-radius:999px;width:38px;height:38px}

main.svc-main.module-4 .svc-role-included{background:var(--svc-dark);color:#fff}
main.svc-main.module-4 .svc-role-included .section-title,main.svc-main.module-4 .svc-role-included h3{color:#fff}
main.svc-main.module-4 .svc-role-included .section-lead,main.svc-main.module-4 .svc-role-included p{color:#adc2c7}
main.svc-main.module-4 .svc-role-included .eyebrow{color:#58dfea}
main.svc-main.module-4 .grid-3{gap:1px;background:#28464d;border:1px solid #28464d}
main.svc-main.module-4 .grid-3>.card{border:0;border-radius:0;background:#0e2a32;color:#fff;padding:34px}
main.svc-main.module-4 .grid-3>.card h3{color:#fff}
main.svc-main.module-4 .grid-3>.card p{color:#a9c0c5}
main.svc-main.module-4 .icon-badge{background:var(--svc-cyan);color:#06343b;border-radius:2px}

/* Approach / long-form editorial composition */
main.svc-main .svc-role-approach .container{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);column-gap:clamp(48px,8vw,120px)}
main.svc-main .svc-role-approach .eyebrow,main.svc-main .svc-role-approach .section-title{grid-column:1}
main.svc-main .svc-role-approach .section-lead{grid-column:2;grid-row:1 / span 3;margin-top:0;font-size:1.06rem}
main.svc-main.module-2 .svc-role-approach .container{grid-template-columns:minmax(0,1fr);max-width:980px}
main.svc-main.module-2 .svc-role-approach .eyebrow,main.svc-main.module-2 .svc-role-approach .section-title,main.svc-main.module-2 .svc-role-approach .section-lead{grid-column:1;grid-row:auto}
main.svc-main.module-2 .svc-role-approach .section-title{font-size:clamp(2.7rem,5.5vw,5.5rem)}
main.svc-main.module-3 .svc-role-approach{border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line)}
main.svc-main.module-3 .svc-role-approach .container{grid-template-columns:1fr 1fr}
main.svc-main.module-4 .svc-role-approach .container{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}

/* ---------- Four process systems ---------- */
main.svc-main.process-1 .timeline{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--svc-ink)}
main.svc-main.process-1 .timeline:before{display:none}
main.svc-main.process-1 .timeline-item{padding:0;border-right:1px solid var(--svc-line)}
main.svc-main.process-1 .timeline-item:last-child{border-right:0}
main.svc-main.process-1 .timeline-dot{display:none}
main.svc-main.process-1 .timeline-card{border:0;border-radius:0;box-shadow:none;padding:30px 24px 24px;background:#fff;min-height:220px}
main.svc-main.process-1 .timeline-card:hover{transform:none}
main.svc-main.process-1 .timeline-card .date{background:none;padding:0;border-radius:0}

main.svc-main.process-2 .timeline{max-width:880px;margin-left:auto}
main.svc-main.process-2 .timeline:before{left:0;background:var(--svc-line)}
main.svc-main.process-2 .timeline-item{padding-left:44px}
main.svc-main.process-2 .timeline-dot{left:-9px;width:20px;height:20px;border:5px solid #fff;border-radius:50%;transform:none;box-shadow:none}
main.svc-main.process-2 .timeline-card{border:0;border-bottom:1px solid var(--svc-line);border-radius:0;box-shadow:none;padding:8px 0 28px;background:transparent}
main.svc-main.process-2 .timeline-card:hover{transform:none;box-shadow:none}

main.svc-main.process-3 .timeline{grid-template-columns:repeat(2,1fr);gap:14px}
main.svc-main.process-3 .timeline:before{display:none}
main.svc-main.process-3 .timeline-item{padding:0}
main.svc-main.process-3 .timeline-dot{display:none}
main.svc-main.process-3 .timeline-card{border-radius:2px;box-shadow:none;border:1px solid var(--svc-line);min-height:210px;padding:34px;background:var(--svc-soft)}
main.svc-main.process-3 .timeline-card:hover{transform:translateY(-3px);box-shadow:none}

main.svc-main.process-4 .timeline{display:flex;gap:0;border-bottom:1px solid var(--svc-line);padding-bottom:22px}
main.svc-main.process-4 .timeline:before{left:0;right:0;top:auto;bottom:0;width:auto;height:2px;background:linear-gradient(90deg,var(--svc-cyan),var(--svc-blue))}
main.svc-main.process-4 .timeline-item{flex:1;padding:0 24px 0 0}
main.svc-main.process-4 .timeline-dot{display:none}
main.svc-main.process-4 .timeline-card{border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}
main.svc-main.process-4 .timeline-card:hover{transform:none;box-shadow:none}
main.svc-main.process-4 .timeline-card .date{font-size:2rem;background:none;padding:0;color:var(--svc-cyan);letter-spacing:-.04em}

/* Split/practical sections vary by family */
main.svc-main .split{gap:clamp(40px,6vw,86px)}
main.svc-main .split-media:before,main.svc-main .split-media:after{display:none}
main.svc-main .split-media img{border-radius:2px;box-shadow:none;border:1px solid var(--svc-line);object-fit:contain;background:#fff}
main.svc-main.module-2 .split{grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);align-items:start}
main.svc-main.module-2 .split-media{order:2!important;position:sticky;top:120px}
main.svc-main.module-2 .split-content{order:1!important}
main.svc-main.module-3 .split{grid-template-columns:1fr 1fr;border:1px solid var(--svc-line);gap:0}
main.svc-main.module-3 .split-media{padding:38px;background:var(--svc-soft)}
main.svc-main.module-3 .split-content{padding:clamp(38px,5vw,70px)}
main.svc-main.module-4 .split-media img{border-color:#31525b;background:#0f2c34}
main.svc-main.module-4 .section-aqua .card{background:#0e2a32;border-color:#31525b}

/* Related services — four presentations */
main.svc-main.module-1 .svc-role-related .service-pills{gap:0;border-top:1px solid var(--svc-ink)}
main.svc-main.module-1 .svc-role-related .service-pills a{width:50%;border:0;border-bottom:1px solid var(--svc-line);border-radius:0;padding:20px 0;background:transparent;font-size:1.05rem}
main.svc-main.module-1 .svc-role-related .service-pills a:nth-child(odd){border-right:1px solid var(--svc-line);padding-right:24px}
main.svc-main.module-1 .svc-role-related .service-pills a:nth-child(even){padding-left:24px}
main.svc-main.module-2 .svc-role-related .service-pills{display:grid;grid-template-columns:1fr}
main.svc-main.module-2 .svc-role-related .service-pills a{border:0;border-bottom:1px solid var(--svc-line);border-radius:0;padding:16px 0;background:transparent;font-size:1.2rem}
main.svc-main.module-3 .svc-role-related .service-pills a{border-radius:2px;padding:12px 16px;background:var(--svc-soft)}
main.svc-main.module-4 .svc-role-related{background:var(--svc-cyan)}
main.svc-main.module-4 .svc-role-related .eyebrow,main.svc-main.module-4 .svc-role-related .section-title,main.svc-main.module-4 .svc-role-related .section-lead{color:#07343b}
main.svc-main.module-4 .svc-role-related .service-pills a{background:#07343b;color:#fff;border:0;border-radius:2px}

/* ---------- Four FAQ systems ---------- */
main.svc-main.faq-1 .faq-list{max-width:980px;margin-left:0;gap:0;border-top:1px solid var(--svc-ink)}
main.svc-main.faq-1 .faq-item{border-bottom:1px solid var(--svc-line);border-radius:0;background:transparent;box-shadow:none}
main.svc-main.faq-1 .faq-q{padding:22px 0;border-radius:0}
main.svc-main.faq-1 .faq-a>div{padding-left:0;padding-right:0}

main.svc-main.faq-2 .svc-role-faq .container{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:70px;align-items:start}
main.svc-main.faq-2 .svc-role-faq .eyebrow,main.svc-main.faq-2 .svc-role-faq .section-title,main.svc-main.faq-2 .svc-role-faq .section-lead{grid-column:1}
main.svc-main.faq-2 .svc-role-faq .faq-list{grid-column:2;grid-row:1 / span 4;margin-top:0}
main.svc-main.faq-2 .faq-item{border-radius:0;box-shadow:none;border-width:0 0 1px;background:#fff}

main.svc-main.faq-3 .faq-list{grid-template-columns:repeat(2,1fr);max-width:none;gap:12px}
main.svc-main.faq-3 .faq-item{border-radius:2px;box-shadow:none;border:1px solid var(--svc-line);background:#fff}
main.svc-main.faq-3 .faq-q{padding:20px 22px}
main.svc-main.faq-3 .faq-a>div{padding:0 22px 20px}

main.svc-main.faq-4 .svc-role-faq{background:var(--svc-dark);color:#fff}
main.svc-main.faq-4 .svc-role-faq .eyebrow{color:#58dfeb}
main.svc-main.faq-4 .svc-role-faq .section-title{color:#fff}
main.svc-main.faq-4 .svc-role-faq .section-lead{color:#a9c0c5}
main.svc-main.faq-4 .faq-list{max-width:1000px;margin-left:0;gap:0}
main.svc-main.faq-4 .faq-item{border:0;border-bottom:1px solid #2b4b53;border-radius:0;background:transparent;box-shadow:none}
main.svc-main.faq-4 .faq-q{color:#fff;padding:22px 0}
main.svc-main.faq-4 .faq-a{color:#b8cbd0}
main.svc-main.faq-4 .faq-a>div{padding-left:0}

/* Why-us closing section gets editorial quote treatment without touching footer */
main.svc-main .svc-role-why{border-top:1px solid var(--svc-line)}
main.svc-main .svc-role-why .quote-panel{border-radius:2px;box-shadow:none;background:var(--svc-soft);border:0;border-left:3px solid var(--svc-cyan);padding:34px}
main.svc-main.module-2 .svc-role-why .split{grid-template-columns:1.25fr .75fr}
main.svc-main.module-3 .svc-role-why{background:var(--svc-soft)}
main.svc-main.module-4 .svc-role-why .quote-panel{background:var(--svc-dark);color:#fff}
main.svc-main.module-4 .svc-role-why .quote-panel cite{color:#8fb1b8}

/* Mild per-layout rhythm differences. Only main is affected. */
main.svc-main.layout-03 .svc-role-closer,main.svc-main.layout-11 .svc-role-closer,main.svc-main.layout-19 .svc-role-closer,main.svc-main.layout-27 .svc-role-closer{border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line)}
main.svc-main.layout-04 .svc-role-approach,main.svc-main.layout-12 .svc-role-approach,main.svc-main.layout-20 .svc-role-approach,main.svc-main.layout-28 .svc-role-approach{background:linear-gradient(90deg,#fff 0 58%,var(--svc-soft) 58%)}
main.svc-main.layout-05 .svc-role-practical,main.svc-main.layout-13 .svc-role-practical,main.svc-main.layout-21 .svc-role-practical,main.svc-main.layout-29 .svc-role-practical{border-top:1px solid var(--svc-line)}
main.svc-main.layout-06 .svc-role-process,main.svc-main.layout-14 .svc-role-process,main.svc-main.layout-22 .svc-role-process,main.svc-main.layout-30 .svc-role-process{background:#fbfefe}
main.svc-main.layout-07 .svc-role-related,main.svc-main.layout-15 .svc-role-related,main.svc-main.layout-23 .svc-role-related,main.svc-main.layout-31 .svc-role-related{border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line)}
main.svc-main.layout-08 .svc-role-included,main.svc-main.layout-16 .svc-role-included,main.svc-main.layout-24 .svc-role-included,main.svc-main.layout-32 .svc-role-included{border-top:4px solid var(--svc-cyan)}

@media(max-width:1180px){
  main.svc-main.hero-5 .hero-grid{grid-template-columns:84px minmax(0,1fr) minmax(300px,.62fr)}
  main.svc-main.hero-6 .hero-copy{grid-template-columns:1fr;row-gap:18px}
  main.svc-main.hero-6 .hero-copy .eyebrow,main.svc-main.hero-6 .hero-copy h1,main.svc-main.hero-6 .hero-copy>p,main.svc-main.hero-6 .hero-actions,main.svc-main.hero-6 .hero-points{grid-column:1}
  main.svc-main.process-1 .timeline{grid-template-columns:repeat(2,1fr)}
  main.svc-main.process-4 .timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
}
@media(max-width:900px){
  main.svc-main .svc-role-approach .container,main.svc-main.module-3 .svc-role-approach .container,main.svc-main.module-4 .svc-role-approach .container{grid-template-columns:1fr}
  main.svc-main .svc-role-approach .eyebrow,main.svc-main .svc-role-approach .section-title,main.svc-main .svc-role-approach .section-lead{grid-column:1;grid-row:auto}
  main.svc-main .svc-role-approach .section-lead{margin-top:22px}
  main.svc-main.hero-1 .hero-grid,main.svc-main.hero-3 .hero-grid,main.svc-main.hero-4 .hero-grid,main.svc-main.hero-7 .hero-grid,main.svc-main.hero-8 .hero-grid{grid-template-columns:1fr}
  main.svc-main.hero-1 .hero-visual,main.svc-main.hero-8 .hero-visual{border-left:0;border-top:1px solid var(--svc-line)}
  main.svc-main.hero-4 .hero-visual{border-left:0;padding:32px 0 48px}
  main.svc-main.hero-5 .hero-grid{grid-template-columns:1fr}
  main.svc-main.hero-5 .hero-grid:before{display:none}
  main.svc-main.hero-5 .hero-visual{border-left:0;border-top:1px solid var(--svc-line)}
  main.svc-main.module-2 .grid-3>.card{grid-template-columns:62px 1fr}
  main.svc-main.module-2 .grid-3>.card h3{grid-column:2}
  main.svc-main.module-2 .grid-3>.card p{grid-column:2}
  main.svc-main.module-3 .grid-3{grid-template-columns:1fr}
  main.svc-main.module-3 .grid-3>.card,main.svc-main.module-3 .grid-3>.card:nth-child(n){grid-column:1}
  main.svc-main.module-2 .split,main.svc-main.module-3 .split{grid-template-columns:1fr}
  main.svc-main.module-2 .split-media{position:relative;top:auto;order:0!important}
  main.svc-main.faq-2 .svc-role-faq .container{grid-template-columns:1fr;gap:28px}
  main.svc-main.faq-2 .svc-role-faq .eyebrow,main.svc-main.faq-2 .svc-role-faq .section-title,main.svc-main.faq-2 .svc-role-faq .section-lead,main.svc-main.faq-2 .svc-role-faq .faq-list{grid-column:1;grid-row:auto}
  main.svc-main.faq-3 .faq-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  main.svc-main .section{padding:62px 0}
  main.svc-main.hero-1 .hero-copy,main.svc-main.hero-5 .hero-copy,main.svc-main.hero-8 .hero-copy{padding:48px 22px}
  main.svc-main.hero-1 .hero-copy h1,main.svc-main.hero-2 .hero-copy h1,main.svc-main.hero-3 .hero-copy h1,main.svc-main.hero-4 .hero-copy h1,main.svc-main.hero-5 .hero-copy h1,main.svc-main.hero-6 .hero-copy h1,main.svc-main.hero-7 .hero-copy h1,main.svc-main.hero-8 .hero-copy h1{font-size:clamp(2.7rem,13vw,4rem);line-height:.94}
  main.svc-main.hero-2 .page-hero,main.svc-main.hero-6 .page-hero{padding-top:52px}
  main.svc-main.hero-2 .hero-visual,main.svc-main.hero-6 .hero-visual{min-height:300px;height:auto}
  main.svc-main.hero-3 .page-hero,main.svc-main.hero-4 .page-hero,main.svc-main.hero-7 .page-hero{padding:58px 0}
  main.svc-main.hero-8 .hero-visual{min-height:330px;padding:32px 18px}
  main.svc-main.module-1 .svc-role-related .service-pills a{width:100%;border-right:0!important;padding:16px 0!important}
  main.svc-main.process-1 .timeline,main.svc-main.process-3 .timeline,main.svc-main.process-4 .timeline{grid-template-columns:1fr}
  main.svc-main.process-1 .timeline-item{border-right:0;border-bottom:1px solid var(--svc-line)}
}

/* =========================================================
   RESPONSIVE / FUNCTIONAL QA FIXES — 2026-08-22
   Technical corrections only. Header/footer markup and visual
   design are unchanged.
========================================================= */

/* Keep the hidden desktop mega-menu centered in its closed state too.
   This prevents its invisible box from increasing page scrollWidth. */
.compact-header .compact-mega-menu{
  transform:translate(-50%,10px) scale(.985);
}
.compact-header .nav-menu.open .compact-mega-menu{
  transform:translate(-50%,0) scale(1);
}

/* The compact header switches to the hamburger at <=1200px, while the
   original drawer styles started only at <=1080px. Fill that 1081–1200px
   gap so the hamburger always opens a visible, usable drawer. */
@media (min-width:1081px) and (max-width:1200px){
  .mobile-drawer{
    display:block;
    position:fixed;
    top:10px;
    right:10px;
    bottom:10px;
    z-index:2200;
    width:min(400px,calc(100vw - 20px));
    height:auto;
    padding:18px;
    border:1px solid rgba(199,228,233,.9);
    border-radius:26px;
    background:rgba(255,255,255,.98);
    transform:translateX(calc(100% + 26px));
    transition:transform .32s var(--rd-ease);
    overflow:auto;
    box-shadow:0 36px 90px rgba(5,43,55,.22);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mobile-drawer.open{transform:none}
  .drawer-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:2100;
    background:rgba(5,35,46,.42);
    opacity:0;
    visibility:hidden;
    transition:.25s;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  .drawer-overlay.open{opacity:1;visibility:visible}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 16px;border-bottom:1px solid var(--rd-line)}
  .drawer-head img{height:44px;width:auto}
  .drawer-close{width:42px;height:42px;border:1px solid var(--rd-line);border-radius:13px;background:var(--rd-soft);color:var(--rd-secondary);font-size:1.25rem}
  .drawer-nav{display:grid;gap:4px;padding:16px 0}
  .drawer-nav a{padding:12px 13px;border-radius:13px;color:#34545F;text-decoration:none;font-weight:760;transition:.2s}
  .drawer-nav a:hover,.drawer-nav a[aria-current="page"]{padding-left:17px;background:var(--rd-aqua);color:var(--rd-secondary)}
  .drawer-group{margin:14px 0 4px;padding:0 13px;color:var(--rd-secondary);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .drawer-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
}

/* =========================================================
   GLOBAL SERVICE-PAGE CONTRAST / READABILITY FIXES — 2026-08-22
   Audited across all 32 redesigned /our-services/ pages.
   Header/footer rules above are preserved; these fixes are scoped to
   main.svc-main so they do not redesign the approved header/footer.
========================================================= */
main.svc-main{
  /* Darker reading tones on light surfaces while keeping brand cyan/teal
     for backgrounds, borders and decorative accents. */
  --svc-muted:#506970;
  --svc-blue-text:#006A83;
  --rd-muted:#506970;
}

/* General light-surface readability */
main.svc-main .section-lead,
main.svc-main .service-copy p,
main.svc-main .service-card p,
main.svc-main .service-trust span,
main.svc-main .timeline-card p,
main.svc-main .faq-a p{
  color:var(--svc-muted);
}
main.svc-main .eyebrow,
main.svc-main .service-card .num,
main.svc-main .service-trust strong,
main.svc-main .service-pills a,
main.svc-main .related-services a,
main.svc-main .btn-light{
  color:var(--svc-blue-text);
}
main.svc-main .stat strong,
main.svc-main .timeline-card .date{
  color:var(--svc-blue-text);
}

/* Dark sections keep intentionally light copy. These rules sit after the
   light-surface defaults so dark section text can never inherit a dark tone. */
main.svc-main .section-aqua > .container > .eyebrow,
main.svc-main .section-aqua .split-content > .eyebrow{
  color:#67e7f5;
}
main.svc-main .section-aqua .split-content > h2,
main.svc-main .section-aqua .split-content > h3{
  color:#fff;
}
main.svc-main .section-aqua .split-content > p,
main.svc-main .section-aqua > .container > .section-lead{
  color:#c5d5d9;
}

/* FIX 1: Light process cards placed inside a dark section.
   Previously white/light text was inherited from .section-aqua, producing
   almost invisible text on the semi-white process cards. */
main.svc-main .section-aqua .process-step{
  background:#f7fbfc;
  border-color:#c6e3e8;
  color:var(--svc-ink);
}
main.svc-main .section-aqua .process-step:before{
  color:var(--svc-blue-text);
}
main.svc-main .section-aqua .process-step h3{
  color:var(--svc-ink) !important;
}
main.svc-main .section-aqua .process-step p{
  color:#455f68 !important;
}

/* FIX 2: White editorial cards inside dark "Closer look" sections.
   Applies to the light-card module families only; module-4 keeps its
   intentionally dark card treatment below. */
main.svc-main:not(.module-4) .section-aqua .card{
  background:#fff;
  color:var(--svc-ink);
}
main.svc-main:not(.module-4) .section-aqua .card h2,
main.svc-main:not(.module-4) .section-aqua .card h3,
main.svc-main:not(.module-4) .section-aqua .card .panel-heading{
  color:var(--svc-ink) !important;
}
main.svc-main:not(.module-4) .section-aqua .card .eyebrow{
  color:var(--svc-blue-text) !important;
}
main.svc-main:not(.module-4) .section-aqua .card p{
  color:var(--svc-muted) !important;
}

/* Preserve the intentionally dark cards used by module-4 pages. */
main.svc-main.module-4 .section-aqua .card{
  background:#0e2a32;
  color:#fff;
}
main.svc-main.module-4 .section-aqua .card h2,
main.svc-main.module-4 .section-aqua .card h3,
main.svc-main.module-4 .section-aqua .card .panel-heading{
  color:#fff !important;
}
main.svc-main.module-4 .section-aqua .card .eyebrow{
  color:#67e7f5 !important;
}

/* FIX 3: FAQ family 4 uses a dark FAQ section. The global FAQ button had a
   white background while this family also set white text. Make the button
   transparent and keep answer copy light. */
main.svc-main.faq-4 .svc-role-faq .faq-q{
  background:transparent !important;
  color:#fff !important;
}
main.svc-main.faq-4 .svc-role-faq .faq-q:after{
  background:#12343d;
  color:#72e6f0;
}
main.svc-main.faq-4 .svc-role-faq .faq-q[aria-expanded="true"]:after{
  background:#00B3CC;
  color:#062f37;
}
main.svc-main.faq-4 .svc-role-faq .faq-a,
main.svc-main.faq-4 .svc-role-faq .faq-a p{
  color:#c2d3d7 !important;
}

/* FIX 4: Module-4 related-service section has a cyan surface. Force its
   pill links to remain dark blocks with white text instead of browser-link blue. */
main.svc-main.module-4 .svc-role-related .service-pills a,
main.svc-main.module-4 .svc-role-related .service-pills a:link,
main.svc-main.module-4 .svc-role-related .service-pills a:visited{
  background:#07343b !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:#07343b !important;
}
main.svc-main.module-4 .svc-role-related .service-pills a:hover,
main.svc-main.module-4 .svc-role-related .service-pills a:focus-visible{
  background:#0b4550 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* FIX 5: Improve small teal labels/numbers on light cards and step tracks. */
main.svc-main.process-1 .timeline-card .date,
main.svc-main.process-2 .timeline-card .date,
main.svc-main.process-3 .timeline-card .date,
main.svc-main.process-4 .timeline-card .date{
  color:var(--svc-blue-text);
}

/* Dark module stats need a bright accent rather than dark teal text. */
main.svc-main.module-4 .stats-grid .stat strong{
  color:#69e4ef;
}
main.svc-main.module-4 .stats-grid .stat span{
  color:#b8cbd0;
}

/* Keep dark module content cards legible after the global muted-text update. */
main.svc-main.module-4 .svc-role-included .card p{
  color:#b9cbd0 !important;
}

/* Accessible focus treatment for text links on the service pages. */
main.svc-main a:focus-visible,
main.svc-main button:focus-visible{
  outline-color:#006A83;
}

/* Hero family 4 uses cyan stat blocks: child text must be dark, not teal/muted. */
main.svc-main.hero-4 .hero-stat strong,
main.svc-main.hero-4 .hero-stat span{
  color:#07343c !important;
  -webkit-text-fill-color:#07343c !important;
}

/* Paint a guaranteed dark backing for module-4 related links in every browser. */
main.svc-main.module-4 .svc-role-related .service-pills a{
  box-shadow:inset 0 0 0 999px #07343b !important;
}
main.svc-main.module-4 .svc-role-related .service-pills a:hover,
main.svc-main.module-4 .svc-role-related .service-pills a:focus-visible{
  box-shadow:inset 0 0 0 999px #0b4550 !important;
}
