/* Shared pages and the glass brand artwork. */
:root { --ease-out: cubic-bezier(.23, 1, .32, 1); --ease-in-out: cubic-bezier(.77, 0, .175, 1); }
.desktop-nav a[aria-current="page"]::after { width:100%; }
.hero-art { animation:none; will-change:auto; }
.hero-foot { gap:18px; }
.hero-services { margin-left:auto; }
.section-route { margin-top:30px; }
.page-cta { padding:90px 0; text-align:center; background:#e4edfb; }
.page-cta .eyebrow { justify-content:center; color:var(--blue); }
.page-cta h2 { margin:25px 0 31px; }
.footer-sitemap { display:grid; grid-template-columns:1.4fr 1fr 1fr .8fr; gap:40px; }
.footer-sitemap>div>p { color:var(--steel); font-size:12px; margin-top:20px; }
.footer-sitemap nav { display:flex; flex-direction:column; align-items:flex-start; gap:11px; font-size:12px; }
.footer-sitemap nav>span { font-size:10px; font-weight:650; color:var(--steel); margin-bottom:9px; text-transform:uppercase; letter-spacing:.08em; }
.footer-sitemap nav a:hover { color:var(--blue); }
.breadcrumb { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--steel); padding-block:28px; }
.breadcrumb>a:hover { color:var(--blue); }
.inner-hero { padding-bottom:0; }
.inner-hero>.eyebrow { margin-top:35px; color:var(--blue); }
.inner-hero h1 { font-size:clamp(48px,5.8vw,85px); line-height:1.03; letter-spacing:-.065em; }
.inner-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; padding-block:30px 70px; }
.page-lead { margin-top:27px; color:var(--steel); font-size:16px; line-height:1.7; max-width:620px; }
.inner-hero .button { margin-top:30px; }
.service-hero-image { height:410px; border-radius:8px; overflow:hidden; position:relative; }
.service-hero-image>img { height:100%; }
.service-hero-image::after,.institutional-photo::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#091d34c9); }
.photo-label { position:absolute; bottom:30px; left:30px; right:30px; z-index:1; color:#fff; }
.photo-label>span { display:block; font-size:11px; opacity:.85; }
.photo-label strong { display:block; font-family:var(--display); font-size:22px; font-weight:500; letter-spacing:-.04em; margin-top:8px; }
.page-subnav { display:flex; align-items:center; border-block:1px solid var(--line); }
.page-subnav>a { padding:24px 20px; display:flex; align-items:center; justify-content:space-between; flex:1; font-size:13px; border-right:1px solid var(--line); }
.page-subnav>a:first-child { padding-left:0; }
.page-subnav>a:last-child { border-right:0; padding-right:0; }
.page-subnav svg { width:18px; height:18px; color:var(--blue); }
.page-subnav>a:hover { color:var(--blue); }
.service-detail { display:grid; grid-template-columns:1fr 1fr; gap:40px 85px; }
.detail-heading>.eyebrow { color:var(--blue); margin-bottom:23px; }
.detail-heading h2 { font-size:43px; }
.detail-heading>p:not(.eyebrow) { font-size:15px; line-height:1.7; color:var(--steel); margin-top:25px; max-width:530px; }
.detail-heading>.text-link { margin-top:28px; }
.service-icon { display:block; width:45px; height:45px; margin-bottom:22px; color:var(--blue); }
.service-icon svg { width:40px; height:40px; }
.spec-grid { padding-top:15px; }
.spec-grid article { border-top:1px solid var(--line); padding:24px 0; }
.spec-grid article>span,.use-case-list article>span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--blue); }
.spec-grid article h3 { font-size:24px; margin-top:10px; }
.spec-grid article p { color:var(--steel); font-size:14px; line-height:1.65; margin-top:13px; max-width:420px; }
.service-detail>.section-route { margin-top:0; }
.model-section { background:var(--mist); }
.model-section .eyebrow,.operations-layout .eyebrow,.planning-section .eyebrow,.responsibilities .eyebrow { color:var(--blue); margin-bottom:25px; }
.model-picker { display:grid; grid-template-columns:.85fr 1.5fr; gap:70px; margin-top:55px; }
.model-tabs { display:flex; flex-direction:column; }
.model-tabs button { text-align:left; padding:23px 0; font-family:var(--display); font-size:25px; letter-spacing:-.04em; border-top:1px solid #c9d6e7; display:flex; justify-content:space-between; align-items:center; color:var(--steel); }
.model-tabs button:last-child { border-bottom:1px solid #c9d6e7; }
.model-tabs button[aria-selected="true"] { color:var(--blue); }
.model-tabs button span { font-size:20px; }
#model-description { background:white; padding:40px; border-radius:8px; min-height:350px; }
#model-description>.tiny-label { color:var(--blue); }
#model-description h3 { font-size:35px; line-height:1.14; margin-top:23px; }
#model-description>p { margin-top:21px; font-size:14px; line-height:1.7; color:var(--steel); }
.model-consideration { border-top:1px solid var(--line); padding-top:20px; margin-top:25px; }
.model-consideration>span { font-size:10px; color:var(--steel); }
.model-consideration>p { font-size:12px; margin-top:7px; }
#model-description .model-availability { font-size:10px; margin-top:23px; }
.deployment-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; padding-top:43px; }
.deployment-strip svg { color:var(--blue); width:19px; }
.operations-layout { display:grid; grid-template-columns:1.25fr 1fr; gap:90px; align-items:start; }
.operations-layout h2 { font-size:46px; }
.operations-layout .page-lead { font-size:15px; }
.operations-layout .text-link { margin-top:30px; }
.operations-list article { display:flex; gap:22px; padding:25px 0; border-top:1px solid var(--line); }
.operations-list article>svg { width:27px; height:27px; color:var(--blue); }
.operations-list h3 { font-size:23px; }
.operations-list p { font-size:14px; color:var(--steel); line-height:1.7; margin-top:12px; }
.institutional-hero>h1 { margin-top:30px; }
.institutional-photo { position:relative; height:460px; overflow:hidden; margin-top:45px; border-radius:8px; }
.institutional-photo img { height:100%; object-position:center 45%; }
.institutional-hero .page-subnav { margin-top:35px; }
.institution-detail { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.use-case-list article { padding:27px 0; border-top:1px solid var(--line); }
.use-case-list h3 { font-size:25px; line-height:1.2; margin-top:14px; max-width:460px; }
.use-case-list p { color:var(--steel); font-size:14px; line-height:1.7; margin-top:15px; max-width:450px; }
.research-band { background:var(--ink); color:white; }
.research-band .eyebrow { color:#a2bfff; }
.research-band .page-lead { color:#b0bfd1; }
.research-topics article { border-top:1px solid #ffffff30; padding:23px 0; display:grid; grid-template-columns:30px 1fr; gap:12px 10px; }
.research-topics article>span { font-size:11px; color:#a2bfff; margin-top:5px; }
.research-topics h3 { font-size:25px; }
.research-topics p { grid-column:2; font-size:14px; color:#b0bfd1; line-height:1.65; }
.workload-note { display:flex; align-items:center; gap:20px; padding-block:24px; border-top:1px solid var(--line); margin-bottom:60px; color:var(--steel); }
.workload-note>svg { color:var(--blue); }
.workload-note>p { font-size:12px; max-width:740px; }
.approach-visual { border-radius:8px; padding:32px; background:#e8f0fc; display:flex; flex-direction:column; gap:20px; }
.approach-visual>.tiny-label { color:var(--blue); margin-bottom:7px; }
.approach-visual>div { padding:23px 22px; border:1px solid #becfea; border-radius:4px; display:flex; justify-content:space-between; align-items:center; font-family:var(--display); font-size:19px; }
.approach-visual>div:first-of-type { margin-right:45px; }
.approach-visual>div:last-of-type { margin-left:45px; }
.approach-visual>.approach-center { background:var(--blue); color:white; border-color:var(--blue); }
.approach-visual>p { font-size:11px; color:var(--steel); text-align:center; }
.journey-section { padding-top:15px; }
.journey-step { display:grid; grid-template-columns:70px 1.25fr 1fr; gap:45px; border-top:1px solid var(--line); padding:50px 0; }
.journey-number { font-family:var(--display); font-size:41px; letter-spacing:-.05em; color:#8caade; }
.journey-step .eyebrow { color:var(--blue); margin-bottom:17px; }
.journey-step h2 { font-size:38px; }
.journey-step p:not(.eyebrow) { margin-top:23px; color:var(--steel); font-size:14px; line-height:1.7; max-width:470px; }
.deliverable { border-left:1px solid var(--line); padding-left:35px; padding-top:8px; }
.deliverable>.tiny-label { color:var(--steel); }
.deliverable ul { padding:0; list-style:none; font-size:13px; line-height:1.65; }
.deliverable li { margin-top:13px; padding-left:20px; position:relative; }
.deliverable li::before { content:'↗'; color:var(--blue); position:absolute; left:0; }
.responsibilities { background:var(--mist); }
.responsibilities h2 { font-size:45px; }
.responsibility-table { overflow:auto; margin-top:50px; }
.responsibility-table table { border-collapse:collapse; width:100%; text-align:left; min-width:610px; }
.responsibility-table th,.responsibility-table td { border-bottom:1px solid #cbd8e9; padding:23px 25px 23px 0; }
.responsibility-table thead th { font-size:11px; font-weight:600; color:var(--steel); }
.responsibility-table tbody th { font-weight:550; font-size:14px; width:23%; }
.responsibility-table td { font-size:13px; line-height:1.6; color:var(--steel); width:38%; }
.three-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:55px; margin-top:45px; }
.three-columns article { border-top:1px solid var(--line); padding-top:25px; }
.three-columns h3 { font-size:24px; }
.three-columns p { margin-top:16px; color:var(--steel); font-size:14px; line-height:1.7; }
.contact-copy h1 { font-size:clamp(55px,5.5vw,84px); line-height:1.04; margin-top:29px; }
.contact-emails { margin-top:35px; }
.contact-emails h2 { font-family:var(--body); font-size:16px; line-height:1.5; font-weight:600; letter-spacing:0; margin:0; }
.contact-email-list { display:grid; gap:18px; margin-top:18px; font-style:normal; }
.contact-email-list>div { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; }
.contact-email-list span { font-size:12px; color:#52647a; }
.contact-email-list a { font-size:16px; line-height:1.5; color:var(--ink); text-decoration:underline; text-decoration-color:#91aacc; text-underline-offset:4px; overflow-wrap:anywhere; }
.contact-email-list a:hover { color:var(--blue); text-decoration-color:currentColor; }
.contact-email-list a:focus-visible { outline:2px solid var(--blue); outline-offset:5px; border-radius:2px; }
.enquiry-context { font-size:11px; font-weight:600; color:var(--blue); padding-bottom:16px; border-bottom:1px solid #afc2df; }
.contact-next>.eyebrow { color:var(--blue); }
.contact-next>h2 { font-size:43px; margin-top:23px; }
[data-page="contact"]>.breadcrumb { background:var(--mist); }
@media (hover:hover) and (pointer:fine) {
  .model-tabs button:hover { color:var(--blue); }
}
@media(max-width:1150px) {
  .hero-services { gap:12px; }
  .inner-hero-grid { gap:35px; }
  .service-detail,.institution-detail { gap:45px; }
  .detail-heading h2 { font-size:38px; }
  .model-picker { gap:35px; }
  .operations-layout { gap:50px; }
  .operations-layout h2 { font-size:40px; }
  .journey-step { gap:30px; grid-template-columns:50px 1.2fr 1fr; }
  .footer-sitemap { gap:25px; }
}
@media(max-width:900px) {
  .inner-hero h1 { font-size:51px; }
  .inner-hero-grid { grid-template-columns:1.1fr 1fr; }
  .service-hero-image { height:360px; }
  .page-lead { font-size:14px; }
  .photo-label { left:23px; bottom:23px; }
  .photo-label strong { font-size:19px; }
  .page-subnav>a { font-size:12px; }
  .service-detail { gap:35px; }
  .detail-heading h2 { font-size:34px; }
  .detail-heading>p:not(.eyebrow) { font-size:14px; }
  .model-picker { grid-template-columns:.8fr 1.3fr; gap:30px; }
  #model-description { padding:27px; }
  #model-description h3 { font-size:29px; }
  .model-tabs button { font-size:23px; }
  .operations-layout { gap:35px; }
  .operations-layout h2 { font-size:34px; }
  .institution-detail { gap:40px; }
  .journey-step { grid-template-columns:40px 1fr 1fr; gap:25px; }
  .journey-step h2 { font-size:30px; }
  .deliverable { padding-left:22px; }
  .responsibilities h2 { font-size:36px; }
  .three-columns { gap:25px; }
  .three-columns h3 { font-size:21px; }
  .footer-sitemap { grid-template-columns:1fr 1fr; gap:40px; }
}
@media(max-width:700px) {
  .hero-foot { gap:15px; }
  .hero-services { margin-inline:0 auto; gap:8px; font-size:7px; }
  .breadcrumb { padding-block:20px; font-size:10px; }
  .inner-hero>.eyebrow { margin-top:25px; }
  .inner-hero h1 { font-size:45px; }
  .inner-hero-grid { grid-template-columns:1fr; gap:33px; padding-block:25px 35px; }
  .page-lead { font-size:15px; margin-top:24px; }
  .inner-hero .button { margin-top:25px; }
  .service-hero-image { height:310px; }
  .page-subnav { overflow:auto; }
  .page-subnav>a { font-size:10px; padding:17px 12px; flex-shrink:0; gap:12px; white-space:nowrap; }
  .page-subnav>a svg { width:14px; }
  .service-detail { grid-template-columns:1fr; gap:22px; }
  .detail-heading h2 { font-size:36px; }
  .spec-grid { padding-top:5px; }
  .spec-grid article { padding:23px 0; }
  .model-picker { grid-template-columns:1fr; gap:25px; margin-top:30px; }
  .model-tabs { flex-direction:row; overflow:auto; }
  .model-tabs button { padding:15px 12px; font-size:16px; border-top:0; border-bottom:1px solid #c9d6e7; white-space:nowrap; gap:12px; flex:1; }
  .model-tabs button:first-child { padding-left:0; }
  .model-tabs button:last-child { padding-right:0; }
  .model-tabs button span { display:none; }
  #model-description { padding:27px 24px; min-height:350px; }
  #model-description h3 { font-size:30px; }
  .deployment-strip { gap:8px; font-size:10px; flex-wrap:wrap; padding-top:30px; }
  .deployment-strip svg { width:14px; }
  .operations-layout { grid-template-columns:1fr; gap:35px; }
  .operations-layout h2 { font-size:36px; }
  .operations-list article { padding:22px 0; }
  .page-cta { padding:66px 0; }
  .page-cta h2 { font-size:36px; margin:22px 0 27px; }
  .page-cta .button { font-size:12px; }
  .institutional-hero>h1 { margin-top:25px; }
  .institutional-photo { height:330px; margin-top:30px; }
  .institutional-photo img { object-position:58% center; }
  .institution-detail { grid-template-columns:1fr; gap:30px; }
  .use-case-list h3 { font-size:24px; }
  .workload-note { align-items:flex-start; margin-bottom:40px; }
  .workload-note>p { font-size:11px; }
  .approach-visual { padding:25px; }
  .journey-section { padding-top:20px; }
  .journey-step { grid-template-columns:35px 1fr; gap:22px; padding:35px 0; }
  .journey-number { font-size:29px; }
  .journey-step h2 { font-size:30px; }
  .journey-step .eyebrow { margin-top:6px; }
  .journey-step p:not(.eyebrow) { margin-top:18px; }
  .deliverable { grid-column:2; border-left:0; border-top:1px solid var(--line); padding:20px 0 0; margin-top:3px; }
  .responsibilities h2 { font-size:34px; }
  .responsibility-table { margin-top:30px; }
  .three-columns { grid-template-columns:1fr; gap:28px; margin-top:35px; }
  .three-columns h3 { font-size:25px; }
  .contact-copy h1 { font-size:clamp(48px,14vw,64px); margin-top:25px; }
  .contact-next>h2 { font-size:36px; }
  .footer-sitemap { gap:35px 25px; }
  .footer-sitemap>div { grid-column:1/-1; }
  .footer-sitemap nav { font-size:11px; gap:12px; }
  .footer-sitemap nav>span { font-size:9px; }
}
@media(max-width:370px) {
  .hero-services { font-size:6px; gap:6px; }
  .hero-foot { gap:10px; }
  .inner-hero h1 { font-size:39px; }
}

/* Preserve the original glass artwork; only its highlights move. */
.hero-art .hero-light,.hero-art .hero-reflection {
  position:absolute; inset:0; pointer-events:none;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  opacity:0;
}
.hero-light {
  filter:brightness(2) saturate(1.12);
  -webkit-mask-image:radial-gradient(ellipse 190px 130px at var(--light-x,80%) var(--light-y,25%),#000 0%,#0009 35%,transparent 100%);
  mask-image:radial-gradient(ellipse 190px 130px at var(--light-x,80%) var(--light-y,25%),#000 0%,#0009 35%,transparent 100%);
}
.hero-reflection {
  filter:brightness(1.6) saturate(1.2);
  -webkit-mask-image:linear-gradient(112deg,transparent 0%,transparent calc(var(--reflection,50%) - 4%),#0009 var(--reflection,50%),transparent calc(var(--reflection,50%) + 4%),transparent 100%);
  mask-image:linear-gradient(112deg,transparent 0%,transparent calc(var(--reflection,50%) - 4%),#0009 var(--reflection,50%),transparent calc(var(--reflection,50%) + 4%),transparent 100%);
}
@media(prefers-reduced-motion:reduce) {
  .hero-art .hero-light,.hero-art .hero-reflection { display:none; }
}

/* CTA hit areas follow their visible content, including inside grids. */
.button,.text-link { width:fit-content; max-width:100%; justify-self:start; }

/* Approved single-colour etched wordmark; alpha supplies the shape only. */
.brand { gap:0; }
.brand-wordmark {
  display:block; width:154px; height:54px; background:var(--ink);
  -webkit-mask:url('/assets/zerqilo-wordmark-navy.png') center / 100% auto no-repeat;
  mask:url('/assets/zerqilo-wordmark-navy.png') center / 100% auto no-repeat;
}
.contact-brand>img { width:72px; height:auto; opacity:.2; }
@media(max-width:900px) { .brand-wordmark { width:140px; height:49px; } }
@media(max-width:700px) { .brand-wordmark { width:132px; height:47px; } }
@media(max-width:370px) { .brand-wordmark { width:122px; height:43px; } }

/* Give the deployment layers enough room for a clearly visible signal. */
.service-visual { min-height:540px; }
.stack-illustration { top:108px; left:12%; right:12%; }
.stack-link {
  flex:none; height:52px; width:4px; border-radius:4px;
  background:#b7d5ff42; box-shadow:0 0 10px #5da5ff24;
}
.stack-link::after {
  width:4px; height:23px; border-radius:4px;
  background:linear-gradient(180deg,transparent,#88c9ff 35%,#f3fcff 75%,#b4e2ff);
  box-shadow:0 0 12px #91caff;
  animation:stack-signal 1.65s linear infinite;
}
.stack-link:nth-of-type(4)::after { animation-delay:.825s; }
@keyframes stack-signal {
  from { transform:translateY(-25px); }
  to { transform:translateY(55px); }
}
@media(max-width:900px) {
  .stack-illustration { top:105px; left:8%; right:8%; }
}
@media(max-width:700px) {
  .service-visual { min-height:550px; }
  .stack-illustration { top:104px; left:10%; right:10%; }
}
@media(prefers-reduced-motion:reduce) {
  .stack-link::after { animation:none; transform:translateY(15px); }
}

/* Bring more of the original glass Z into the composition. */
.hero-art { inset:-3% -4% -3% -8%; }
.hero-art img { object-position:72% center; }
.hero-signals { position:absolute; inset:0; overflow:hidden; pointer-events:none; opacity:0; }
.light-ready .hero-signals { opacity:1; }
.hero-signals>svg { position:absolute; max-width:none; height:auto; overflow:visible; }
.glass-stream path {
  fill:none; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:125 1000; animation:glass-travel 3.8s linear infinite;
  animation-play-state:var(--hero-play-state,running);
}
.glass-stream .stream-glow { stroke:#45bfff; stroke-width:9; opacity:.8; filter:url('#glass-glow'); }
.glass-stream .stream-core { stroke:#e8fcff; stroke-width:2.5; }
.stream-1 path { animation-delay:-.45s; }
.stream-2 path { animation-delay:-.9s; }
@keyframes glass-travel { from { stroke-dashoffset:125; } to { stroke-dashoffset:-1000; } }
.footer-bottom>span:last-child { margin-left:auto; order:initial; flex-basis:auto; }
@media(max-width:700px) {
  .hero-art { inset:auto -4% 8%; }
  .hero-art img { object-position:right center; }
  .hero-signals { transform:scale(1.13) translateX(-4%); }
}
@media(prefers-reduced-motion:reduce) { .hero-signals { display:none; } }
