/* Aperture Research Works V191 corporate visual layer. V188 content governs. */
:root{--v191-navy:#0B2D5B;--v191-ink:#1F2937;--v191-cloud:#FFFFFF;--v191-slate:#E6EEF6;--v191-light:#F8FAFC;--v191-blue:#3B82F6;--v191-green:#22C55E;--v191-line:#DDE6F0;--v191-shadow:0 16px 38px rgba(11,45,91,.08)}
html{background:#fff}
body{background:#fff!important;color:var(--v191-ink)!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
body:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:100000;background:linear-gradient(90deg,#FF3B7A 0 16.6%,#FF8A00 16.6% 33.2%,#FFD43B 33.2% 49.8%,#22C55E 49.8% 66.4%,#3B82F6 66.4% 83%,#8B5CF6 83% 100%);pointer-events:none}
h1,h2,h3,h4,h5,h6{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif!important;color:var(--v191-navy)!important;letter-spacing:-.025em}
p,li,dd,dt{color:var(--v191-ink)}
a{color:#1F5FAF}
.site-header{background:rgba(255,255,255,.985)!important;border-bottom:1px solid var(--v191-slate)!important;box-shadow:0 8px 26px rgba(11,45,91,.055)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.daylight-prism .site-header:after{height:0!important;background:none!important}
.site-header .brand img{width:300px!important;max-width:34vw!important;height:auto!important;display:block!important;object-fit:contain!important}
.site-header .nav-shell{min-height:94px!important}
.site-nav a{color:var(--v191-navy)!important;font-weight:750!important}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.active{color:#1F5FAF!important}
.menu-button{border:1px solid #CAD7E5!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}
.menu-button span:not(.sr-only){background:var(--v191-navy)!important;height:3px!important;border-radius:2px!important}
.button,.v184-btn.primary,.v188-ai-btn,.work-sticky,.enquiry-sticky{background:var(--v191-navy)!important;border-color:var(--v191-navy)!important;color:#fff!important;box-shadow:none!important}
.button.secondary,.v184-btn.secondary,.v188-ai-btn.secondary{background:#fff!important;border:1px solid #C9D5E3!important;color:var(--v191-navy)!important}
/* Home hero: preserve V188 words; restore disciplined corporate scale. */
.v184-hero{background:linear-gradient(145deg,#fff 0%,#F7FAFD 62%,#EEF5FA 100%)!important;border-bottom:1px solid var(--v191-slate)!important;padding:74px 0 66px!important;overflow:hidden!important}
.v184-shell,.v188-ai-shell,.u-shell,.v180-shell,.v185-scale-shell{width:min(1180px,calc(100% - 44px))!important;margin-inline:auto!important}
.v184-eyebrow,.v184-kicker,.v184-scenarios .v184-kicker,.u-kicker,.v180-kicker,.v185-scale-kicker{color:var(--v191-navy)!important;letter-spacing:.18em!important;font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace!important;font-weight:700!important}
.v184-hero h1{max-width:980px!important;font-size:clamp(2.65rem,5.1vw,5rem)!important;line-height:1.03!important;margin-bottom:22px!important;overflow-wrap:normal!important;word-break:normal!important}
.v184-lead{max-width:850px!important;font-size:clamp(1.15rem,1.8vw,1.42rem)!important;line-height:1.52!important;color:#334155!important}
.v184-copy{max-width:900px!important;color:#475569!important}
.v184-proof{color:var(--v191-navy)!important}
.v188-ai-actions{max-width:1180px!important;margin:1.2rem auto 0!important;padding:0 22px!important}
.v188-ai-section,.v184-start,.v184-scenarios,.u-section,.v180-section,.v185-scale-section{background:#fff!important}
.v188-ai-section:nth-of-type(even),.v184-start,.u-section.u-soft,.v180-section.soft{background:var(--v191-light)!important}
.v188-ai-section h2,.v184-start h2,.v184-scenarios h2,.u-section h2,.v180-section h2,.v185-scale-section h2{font-size:clamp(1.9rem,3.1vw,3rem)!important;line-height:1.12!important;max-width:900px}
/* Corporate cards: restrained navy/neutral; prism only as a precise accent, never as large rainbow blocks. */
.v184-start-grid article,.v184-scenario-grid article,.service-card,.method-card,.u-card,.card,.v188-ai-card,.v180-card,.v185-scale-card{background:#fff!important;border:1px solid var(--v191-line)!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(11,45,91,.045)!important}
.service-card .icon,.scenario-number,.method-card>span,.steps span{background:#F4F8FC!important;color:var(--v191-navy)!important;border:1px solid #CFDCE9!important;box-shadow:none!important}
.tag{background:#EEF4FA!important;color:var(--v191-navy)!important;border:1px solid #D4E0EC!important}
/* Forms */
input,select,textarea{border-color:#C9D6E4!important;border-radius:10px!important;background:#fff!important;color:var(--v191-ink)!important}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(59,130,246,.12)!important;border-color:#3B82F6!important}
/* Contact + WhatsApp: keep recognisable WhatsApp green and original route panel semantics. */
.whatsapp-fab{background:#25D366!important;color:#fff!important;border-color:#25D366!important;box-shadow:0 10px 28px rgba(37,211,102,.22)!important}
.whatsapp-fab span,.whatsapp-fab strong{color:#fff!important}
.whatsapp-panel{border:1px solid #D7E2EC!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(11,45,91,.16)!important;background:#fff!important}
.whatsapp-choice,.whatsapp-email-route,.v189-voice-choice,.v191-ari-contact-choice{border:1px solid #D7E2EC!important;background:#fff!important;color:var(--v191-navy)!important;border-radius:12px!important;box-shadow:none!important}
.whatsapp-choice.urgent{background:#FFF7F5!important;border-color:#E8CCC5!important;color:#8B3A2F!important}
/* Voice modal */
.v189-voice-card{border-radius:18px!important;border:1px solid #D7E2EC!important;box-shadow:0 24px 70px rgba(11,45,91,.20)!important}
.v189-voice-btn{background:var(--v191-navy)!important;border-radius:10px!important}
.v189-voice-btn.secondary{background:#EEF4F9!important;color:var(--v191-navy)!important}
/* ARI: a small, separate assistant affordance; never the visual identity of Aperture itself. */
.v191-ari-fab{position:fixed;right:18px;bottom:88px;z-index:8997;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #D8E2EC;box-shadow:0 10px 26px rgba(11,45,91,.13);text-decoration:none!important;overflow:hidden}
.v191-ari-fab img{width:50px;height:50px;border-radius:50%;object-fit:cover;display:block}
.v191-ari-contact-choice{display:flex!important;align-items:center!important;gap:10px!important;margin-top:.7rem!important;padding:.78rem!important;text-decoration:none!important}
.v191-ari-contact-choice img{width:28px;height:28px;border-radius:50%}
.v191-ari-contact-choice span{font-weight:800;color:var(--v191-navy)!important}
/* New ARI page */
.v191-ari-hero{padding:72px 0 52px;background:linear-gradient(145deg,#fff,#F6F9FC);border-bottom:1px solid var(--v191-slate)}
.v191-ari-wrap{width:min(1040px,calc(100% - 44px));margin:auto}.v191-ari-head{display:grid;grid-template-columns:116px 1fr;gap:28px;align-items:center}.v191-ari-head img{width:112px;height:112px;border-radius:50%;border:1px solid #DCE6EF;box-shadow:0 12px 30px rgba(11,45,91,.08)}
.v191-ari-kicker{font:700 .78rem/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.17em;color:var(--v191-navy);text-transform:uppercase}.v191-ari-hero h1{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.02;margin:.55rem 0 1rem;max-width:850px}.v191-ari-lead{font-size:1.18rem;line-height:1.65;color:#475569;max-width:820px}.v191-ari-note{padding:18px 20px;border-left:4px solid var(--v191-navy);background:#F7FAFD;border-radius:0 12px 12px 0;color:#334155}.v191-ari-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:34px 0}.v191-ari-grid article{border:1px solid #DCE5EE;border-radius:16px;padding:22px;background:#fff}.v191-ari-grid h3{margin:0 0 8px;font-size:1.12rem}.v191-ari-form{margin:34px 0 0;border:1px solid #DCE5EE;border-radius:18px;padding:24px;background:#fff}.v191-ari-form label{display:block;font-weight:750;color:var(--v191-navy);margin:0 0 14px}.v191-ari-form input,.v191-ari-form textarea{width:100%;margin-top:6px;padding:12px 13px;font:inherit}.v191-ari-form textarea{min-height:150px;resize:vertical}.v191-ari-form .v191-check{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:#475569}.v191-ari-form .v191-check input{width:auto;margin-top:4px}.v191-ari-response{margin-top:14px;padding:12px;border-radius:10px;background:#F3F7FA;min-height:24px}.v191-ari-response[data-state="success"]{background:#EDF7F0;color:#1B5A34}.v191-ari-response[data-state="error"]{background:#FFF1F1;color:#8A2E2E}
/* Footer */
.site-footer{background:var(--v191-navy)!important;color:#fff!important;border-top:0!important}
.site-footer h3,.site-footer strong{color:#fff!important}.site-footer p,.site-footer span{color:#DBE7F3!important}.site-footer a{color:#E8F0F8!important}.site-footer a:hover{color:#fff!important}.site-footer .footer-logo{content:url('/assets/brand/aperture-logo-dark.png')!important;width:min(320px,100%)!important;height:auto!important;object-fit:contain!important;background:transparent!important}
.site-footer .footer-credibility-card{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important}
/* Release label exists on homepage footer only; not fixed, not repeated. */
.aperture-release-version{position:static!important;background:transparent!important;border:0!important;color:#BFD0E2!important;padding:0!important;font:600 .72rem/1 "IBM Plex Mono",ui-monospace,monospace!important;letter-spacing:.12em!important;box-shadow:none!important}
/* Mobile correction: no clipped hero text, no oversized menu, no floating-button collisions. */
@media(max-width:760px){
 body:before{height:3px}.site-header .nav-shell{min-height:84px!important;height:84px!important;padding-inline:16px!important}.site-header .brand img{width:185px!important;max-width:54vw!important}.menu-button{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;padding:10px!important}.site-nav.open{top:84px!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 100px)!important;padding:14px 16px 18px!important;border:1px solid #D7E2EC!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 48px rgba(11,45,91,.17)!important;overflow:auto!important}.site-nav.open .v161-nav-links{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.site-nav.open .v161-nav-links>a{display:block!important;padding:10px 4px!important;min-height:auto!important;border:0!important;font-size:1rem!important;line-height:1.25!important}.site-nav.open .menu-contact-row{margin-top:8px!important;padding-top:10px!important;border-top:1px solid #E4EBF2!important}.site-nav.open .menu-contact-row .button{min-height:46px!important;width:100%!important}.v184-hero{padding:48px 0 44px!important}.v184-shell,.v188-ai-shell,.u-shell,.v180-shell,.v185-scale-shell{width:min(100% - 32px,1180px)!important}.v184-hero h1{font-size:clamp(2.15rem,11vw,3.15rem)!important;line-height:1.02!important;letter-spacing:-.035em!important;margin-bottom:18px!important}.v184-lead{font-size:1.06rem!important;line-height:1.55!important}.v184-copy{font-size:1rem!important;line-height:1.62!important}.v188-ai-actions{padding:0 16px!important;display:grid!important;gap:10px!important}.v188-ai-btn{width:100%!important;text-align:center!important}.v184-start-grid,.v184-scenario-grid,.problem-grid,.service-grid,.integrity-grid,.v191-ari-grid{grid-template-columns:1fr!important}.work-sticky,.enquiry-sticky{left:12px!important;bottom:12px!important;right:auto!important;max-width:235px!important;padding:12px 16px!important;border-radius:14px!important;font-size:.95rem!important}.whatsapp-fab{right:12px!important;bottom:12px!important;min-width:54px!important;min-height:54px!important}.v191-ari-fab{right:13px;bottom:78px;width:54px;height:54px}.v191-ari-fab img{width:47px;height:47px}.v191-ari-head{grid-template-columns:72px 1fr;gap:16px}.v191-ari-head img{width:70px;height:70px}.v191-ari-hero h1{font-size:clamp(2rem,10vw,3rem)}.v191-ari-wrap{width:min(100% - 32px,1040px)}.footer-grid{gap:2rem!important}.site-footer .footer-logo{width:260px!important}}
@media(max-width:420px){.site-header .brand img{width:168px!important}.v184-hero h1{font-size:2.24rem!important}.work-sticky,.enquiry-sticky{max-width:205px!important;font-size:.9rem!important}.site-nav.open{left:8px!important;right:8px!important}.v191-ari-head{display:block}.v191-ari-head img{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.v191-ari-fab,.whatsapp-fab{transition:none!important}}

/* V191 contact dock correction — three equally deliberate floating routes.
   V188 content/navigation remain unchanged; this is an additive interaction layer only. */
.v191-floating-actions{
  position:fixed;
  left:18px;
  right:18px;
  bottom:max(16px,env(safe-area-inset-bottom));
  z-index:8998;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:end;
  gap:14px;
  pointer-events:none;
}
.v191-floating-actions>a{pointer-events:auto!important}
.v191-floating-actions .enquiry-sticky,
.v191-floating-actions .work-sticky,
.v191-floating-actions .whatsapp-fab,
.v191-floating-actions .v191-ari-fab{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
}
.v191-floating-actions .v191-float-discuss{justify-self:start!important}
.v191-floating-actions .v191-float-whatsapp{justify-self:end!important}
.v191-floating-actions .v191-ari-fab{
  justify-self:center!important;
  width:auto!important;
  min-width:190px!important;
  height:62px!important;
  padding:7px 16px 7px 9px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#fff!important;
  border:1px solid #C9D6E4!important;
  box-shadow:0 12px 32px rgba(11,45,91,.16)!important;
  overflow:visible!important;
  color:var(--v191-navy)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.v191-floating-actions .v191-ari-fab:hover,
.v191-floating-actions .v191-ari-fab:focus-visible{
  border-color:#8EA6C1!important;
  box-shadow:0 14px 36px rgba(11,45,91,.21)!important;
}
.v191-floating-actions .v191-ari-fab img{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}
.v191-ari-fab-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.06;color:var(--v191-navy)!important}
.v191-ari-fab-copy strong{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif!important;font-size:.98rem!important;font-weight:800!important;color:var(--v191-navy)!important;letter-spacing:-.01em!important}
.v191-ari-fab-copy small{font-family:Inter,system-ui,sans-serif!important;font-size:.68rem!important;font-weight:600!important;color:#607086!important;margin-top:3px!important}
.v191-ari-contact-choice>span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.v191-ari-contact-choice small{display:block;margin-top:3px;color:#64748B;font-size:.76rem;font-weight:600}

/* Keep the primary menu faithful to the V188 information architecture.
   No ARI entry is inserted into the main navigation. */
.site-nav .v161-nav-links>a[href="/ari.html"],
.site-nav .v161-nav-links>a[href="ari.html"]{display:none!important}

@media(max-width:760px){
  .v191-floating-actions{
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    gap:6px;
    grid-template-columns:minmax(0,1fr) auto auto;
  }
  .v191-floating-actions .v191-float-discuss{
    width:144px!important;
    max-width:144px!important;
    min-height:56px!important;
    padding:10px 11px!important;
    border-radius:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.80rem!important;
    line-height:1.1!important;
    white-space:normal!important;
  }
  .v191-floating-actions .v191-ari-fab{
    min-width:126px!important;
    width:126px!important;
    height:56px!important;
    padding:6px 9px 6px 6px!important;
    gap:6px!important;
  }
  .v191-floating-actions .v191-ari-fab img{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .v191-ari-fab-copy strong{font-size:.78rem!important}
  .v191-ari-fab-copy small{font-size:.54rem!important;margin-top:2px!important}
  .v191-floating-actions .v191-float-whatsapp{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
  }
  .v191-floating-actions .v191-float-whatsapp span{display:none!important}
  .v191-floating-actions .v191-float-whatsapp svg{width:29px!important;height:29px!important;margin:0!important}
}
@media(max-width:390px){
  .v191-floating-actions{left:6px;right:6px;gap:4px}
  .v191-floating-actions .v191-float-discuss{width:126px!important;max-width:126px!important;font-size:.72rem!important;padding-inline:8px!important}
  .v191-floating-actions .v191-ari-fab{width:116px!important;min-width:116px!important;padding-right:7px!important}
  .v191-floating-actions .v191-ari-fab img{width:32px!important;height:32px!important;flex-basis:32px!important}
  .v191-ari-fab-copy strong{font-size:.72rem!important}
  .v191-ari-fab-copy small{font-size:.49rem!important}
  .v191-floating-actions .v191-float-whatsapp{width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important}
}
