/* =========================================================
   Acme Oaks Ventures: shared styles
   Colours:  ink #0B1626 · ink 2 #14223A · paper #F2F4F6
             mist #E3E8EE · sky #B4CBE3 · steel #6E89AE · deep blue #2B4A73
   Fonts:    Newsreader (headlines), Instrument Sans (body), IBM Plex Mono (labels)
   Most section styling is inline in each page; this file holds the base,
   the shared header and menu, reveals, and behaviour states.
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:#F2F4F6;color:#0B1626;font:400 17px/1.65 'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;animation:aovIn .6s ease both}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;background:url(../assets/grain.svg);opacity:.07;mix-blend-mode:multiply}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl{margin:0}
ul,ol{padding:0;list-style:none}
a{color:#2B4A73;text-underline-offset:3px}
a:hover{color:#0B1626}
input,textarea,button,select{font:inherit;color:inherit}
::placeholder{color:#8A94A3}
::selection{background:#B4CBE3;color:#0B1626}
:focus-visible{outline:2px solid #6E89AE;outline-offset:3px}
[hidden]{display:none!important}
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:#F2F4F6;color:#0B1626;padding:12px 18px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{top:16px}

@keyframes aovIn{from{opacity:0}to{opacity:1}}
@keyframes aovUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes aovRing{0%{transform:scale(.05);opacity:0}12%{opacity:1}100%{transform:scale(1.25);opacity:0}}
@keyframes aovReveal{from{opacity:0;translate:0 34px}to{opacity:1;translate:0 0}}
@keyframes aovFade{from{opacity:0}to{opacity:1}}

/* Scroll reveals (main.js adds .is-in, then .is-done) */
.js [data-reveal]{opacity:0}
.js [data-reveal].is-in{animation:aovReveal 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms) both}
.js [data-reveal="fade"].is-in{animation-name:aovFade}
.js [data-reveal].is-done{opacity:1;animation:none}

/* ---------- Header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:80}
.hdr-top{height:38px;overflow:hidden;background:#07101D;color:#A9B2C0;font:500 13px/1 'Instrument Sans',sans-serif;transition:height .45s cubic-bezier(.2,.7,.2,1)}
.hdr-top-in{max-width:1320px;margin:0 auto;height:38px;padding:0 clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr-top-links{display:flex;gap:28px;align-items:center}
.hdr-top a{color:#F2F4F6;text-decoration:none;display:flex;gap:8px;align-items:center;transition:color .2s}
.hdr-top a:hover{color:#B4CBE3}
.hdr-top-loc{display:flex;gap:18px;align-items:center;font:500 12px/1 'IBM Plex Mono',monospace;letter-spacing:.04em}
.hdr-top-loc .dot{width:3px;height:3px;border-radius:50%;background:#6E89AE}
.hdr-bar{border-bottom:1px solid rgba(242,244,246,.1);transition:background .45s,border-color .45s}
.hdr-in{max-width:1320px;margin:0 auto;padding:18px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .45s cubic-bezier(.2,.7,.2,1)}
.hdr-logo{display:flex;color:#F2F4F6;transition:color .35s}
.hdr-logo svg{width:204px;height:auto;display:block;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.hdr-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,34px)}
.nav-link{position:relative;color:#F2F4F6;text-decoration:none;font:500 15px/1 'Instrument Sans',sans-serif;padding:10px 0;transition:color .25s}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.nav-link[aria-current="page"]::after,.nav-link:hover::after{transform:scaleX(1)}
.nav-link:hover{color:#B4CBE3}
.btn-quote{display:inline-flex;align-items:center;gap:10px;background:#F2F4F6;color:#0B1626;text-decoration:none;font:600 14.5px/1 'Instrument Sans',sans-serif;padding:13px 20px;border-radius:999px;transition:background .35s,color .35s,translate .45s cubic-bezier(.2,.7,.2,1)}
.btn-quote:hover{background:#B4CBE3;color:#0B1626}
.hdr-mob{display:none;align-items:center;gap:8px}
.hdr-call{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#F2F4F6;border:1px solid rgba(242,244,246,.3);transition:color .35s,border-color .35s}
.hdr-burger{width:44px;height:44px;border-radius:50%;border:none;background:#F2F4F6;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;transition:background .35s}
.hdr-burger span{width:18px;height:1.5px;background:#0B1626;display:block;transition:background .35s}
.is-scrolled .hdr-top{height:0}
.is-scrolled .hdr-bar{background:rgba(242,244,246,.86);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-color:rgba(11,22,38,.1)}
.is-scrolled .hdr-in{padding-top:10px;padding-bottom:10px}
.is-scrolled .hdr-logo{color:#0B1626}
.is-scrolled .hdr-logo svg{width:172px}
.is-scrolled .nav-link{color:#0B1626}
.is-scrolled .nav-link:hover{color:#2B4A73}
.is-scrolled .btn-quote,.is-scrolled .hdr-burger{background:#0B1626;color:#F2F4F6}
.is-scrolled .btn-quote:hover{background:#2B4A73;color:#F2F4F6}
.is-scrolled .hdr-burger span{background:#F2F4F6}
.is-scrolled .hdr-call{color:#0B1626;border-color:rgba(11,22,38,.2)}
@media (max-width:999px){
  .hdr-top,.hdr-nav{display:none}
  .hdr-mob{display:flex}
  .hdr-in{padding-top:14px;padding-bottom:14px}
  .hdr-logo svg,.is-scrolled .hdr-logo svg{width:156px}
}

/* ---------- Mobile menu (full screen overlay) ---------- */
.mmenu{position:fixed;inset:0;z-index:90;background:#0B1626;color:#F2F4F6;clip-path:circle(0% at calc(100% - 42px) 38px);visibility:hidden;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s linear .7s;display:flex;flex-direction:column;padding:16px 20px 32px;overflow-y:auto}
.mmenu.is-open{clip-path:circle(160% at calc(100% - 42px) 38px);visibility:visible;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s}
.mm-rings{position:absolute;right:-300px;bottom:-320px;width:760px;height:760px;background:url(../assets/rings-dark.svg) center/contain no-repeat;pointer-events:none}
.mm-top{position:relative;display:flex;align-items:center;justify-content:space-between}
.mm-logo{color:#F2F4F6;display:flex;padding:8px 0}
.mm-logo svg{width:160px;height:auto;display:block}
.mm-close{width:44px;height:44px;border-radius:50%;border:1px solid rgba(242,244,246,.3);background:transparent;color:#F2F4F6;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.mm-nav{position:relative;margin-top:auto;padding-top:40px;display:flex;flex-direction:column}
.mm-link{display:flex;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid rgba(242,244,246,.1);color:#F2F4F6;text-decoration:none;opacity:0;translate:0 28px;transition:opacity .5s ease,translate .6s cubic-bezier(.2,.7,.2,1)}
.mm-link .n{font:500 11px/1 'IBM Plex Mono',monospace;color:#6E89AE;width:22px}
.mm-link .t{font-family:'Newsreader',Georgia,serif;font-size:clamp(36px,10vw,50px);line-height:1.05;letter-spacing:-.02em}
.mm-link[aria-current="page"]{color:#B4CBE3}
.mmenu.is-open .mm-link{opacity:1;translate:0 0}
.mmenu.is-open .mm-link:nth-child(1){transition-delay:.18s}
.mmenu.is-open .mm-link:nth-child(2){transition-delay:.24s}
.mmenu.is-open .mm-link:nth-child(3){transition-delay:.30s}
.mmenu.is-open .mm-link:nth-child(4){transition-delay:.36s}
.mmenu.is-open .mm-link:nth-child(5){transition-delay:.42s}
.mmenu.is-open .mm-link:nth-child(6){transition-delay:.48s}
.mm-foot{position:relative;margin-top:32px;display:flex;flex-direction:column;gap:18px}
.mm-quote{display:flex;justify-content:center;align-items:center;gap:10px;background:#F2F4F6;color:#0B1626;text-decoration:none;font:600 16px/1 'Instrument Sans',sans-serif;padding:18px 22px;border-radius:999px}
.mm-contact{display:flex;flex-wrap:wrap;gap:8px 20px;font:500 15px/1.4 'Instrument Sans',sans-serif}
.mm-contact a{color:#F2F4F6}
@media (min-width:1000px){.mmenu{display:none}}

/* ---------- Home: "Two branches" panels expand on hover ---------- */
@media (hover:hover){
  [data-mouseenter="hoverC"],[data-mouseenter="hoverS"]{transition:flex-grow .8s cubic-bezier(.2,.7,.2,1)!important}
  [data-mouseenter="hoverC"]:hover,[data-mouseenter="hoverS"]:hover{flex-grow:1.45!important}
  [data-mouseenter="hoverC"]:hover>div:first-child,[data-mouseenter="hoverS"]:hover>div:first-child{scale:1.15!important}
  [data-mouseenter="hoverC"]:hover h3~span>span,[data-mouseenter="hoverS"]:hover h3~span>span{rotate:-45deg!important}
}
#stripRef::-webkit-scrollbar{display:none}

/* ---------- Consultancy: service rows highlight on hover ---------- */
@media (hover:hover){
  [data-mouseenter="s.enter"]:hover{background:#E3E8EE!important;border-radius:14px!important}
  [data-mouseenter="s.enter"]:hover>div>span:first-child{color:#2B4A73!important}
}

/* ---------- Gallery lightbox: hide arrows on phones (swipe instead) ---------- */
@media (max-width:639px){#lightbox [data-click="prev"],#lightbox [data-click="next"]{display:none!important}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1}
}

/* ---------- Footer hover states ---------- */
.f1:hover{background:#F2F4F6 !important;color:#0B1626 !important}
.f2:hover{background:#F2F4F6 !important;color:#0B1626 !important}
.f3:hover{background:#F2F4F6 !important;color:#0B1626 !important}
.f4:hover{background:#F2F4F6 !important;color:#0B1626 !important}
.f5:hover{color:#B4CBE3 !important}
.f6:hover{color:#B4CBE3 !important}
.f7:hover{color:#B4CBE3 !important}
.f8:hover{color:#B4CBE3 !important}
.f9:hover{color:#B4CBE3 !important}
.f10:hover{color:#B4CBE3 !important}
.f11:hover{color:#B4CBE3 !important}
.f12:hover{color:#B4CBE3 !important}
.f13:hover{color:#B4CBE3 !important}
.f14:hover{background:#14223A !important;color:#F2F4F6 !important}
