/* Segments Architects — shared base styles (fonts, colors, nav, footer, background, reveal, marquee) */

:root{
  --bg:#050e12;
  --ink:#eef3f2;
  --accent:#8fd0cf;
  --line:rgba(238,243,242,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent)}
::selection{background:#1e4d55;color:#fff}
img{max-width:100%;display:block}
button{font:inherit}

/* ---------- mobile nav ---------- */
.mnav-cb{display:none}
.burger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:6px;z-index:60}
.burger span{display:block;width:26px;height:2px;background:var(--ink);margin:4px 0;transition:transform .3s,opacity .3s}
.mobileMenu{position:fixed;inset:0;background:rgba(3,9,12,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;opacity:0;pointer-events:none;transition:opacity .35s;z-index:55}
.mobileMenu a{font-family:Jost,sans-serif;font-size:20px;letter-spacing:.3em;color:var(--ink)}
.mnav-cb:checked~.mobileMenu{opacity:1;pointer-events:auto}
.mnav-cb:checked~.burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mnav-cb:checked~.burger span:nth-child(2){opacity:0}
.mnav-cb:checked~.burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:600px){.burger{display:flex}.navlinks{display:none!important}}
@media(max-width:480px){.navlinks a.nlk{display:none}}

/* ---------- nav / footer chrome ---------- */
.sitenav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 44px;background:linear-gradient(180deg,rgba(5,14,18,.85),rgba(5,14,18,0));backdrop-filter:blur(2px)}
.sitenav .brand{display:flex;align-items:center;gap:14px}
.sitenav .brand span{font-family:Jost,sans-serif;font-weight:400;font-size:13px;letter-spacing:.42em;color:#fff}
.sitenav .brand span b{font-weight:200;color:rgba(255,255,255,.55)}
.navlinks{display:flex;align-items:center;gap:34px;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.22em}
.navlinks a.nlk{color:rgba(238,243,242,.75)}
.navlinks a.nlk.active{color:var(--accent)}
.navlinks a.cta{color:var(--bg);background:var(--ink);padding:10px 20px;border-radius:2px;transition:background .2s,color .2s}
.navlinks a.cta:hover{background:var(--accent);color:var(--bg)}
@media(max-width:1024px){.sitenav{padding:18px 28px}}

.sitefooter{position:relative;z-index:1;border-top:1px solid var(--line);padding:44px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.sitefooter .brand{display:flex;align-items:center;gap:12px;font-family:Jost,sans-serif;font-size:11px;letter-spacing:.38em;color:rgba(238,243,242,.8)}
.sitefooter .brand b{color:rgba(238,243,242,.45);font-weight:400}
.sitefooter .flinks{display:flex;gap:28px;font-family:Jost,sans-serif;font-size:11px;letter-spacing:.24em}
.sitefooter .flinks a{color:rgba(238,243,242,.55)}
.sitefooter .copy{font-family:Jost,sans-serif;font-size:11px;letter-spacing:.22em;color:rgba(238,243,242,.35)}

/* ---------- background ambience ---------- */
.bg-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg-swirl{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;background:conic-gradient(from 0deg,transparent 0%,rgba(22,65,74,.3) 12%,transparent 30%,rgba(15,48,56,.28) 55%,transparent 75%,rgba(30,90,88,.2) 88%,transparent 100%);filter:blur(80px);animation:bg-swirl 60s linear infinite}
.bg-noise{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22160%22 height=%22160%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%222%22/%3E%3C/filter%3E%3Crect width=%22160%22 height=%22160%22 filter=%22url(%23n)%22 opacity=%220.5%22/%3E%3C/svg%3E')}

@keyframes bg-swirl{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes blobA{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(14vw,-10vh) scale(1.25)}50%{transform:translate(6vw,8vh) scale(.9)}75%{transform:translate(-8vw,-4vh) scale(1.1)}}
@keyframes blobB{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-12vw,6vh) scale(.85)}50%{transform:translate(-4vw,-12vh) scale(1.2)}75%{transform:translate(10vw,4vh) scale(1)}}
@keyframes blobC{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-14vw,10vh) scale(1.3)}66%{transform:translate(12vw,-8vh) scale(.8)}}
@keyframes flowA{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-10vw,-8vh) scale(1.2)}50%{transform:translate(6vw,6vh) scale(.9)}75%{transform:translate(10vw,-5vh) scale(1.1)}}
@keyframes flowB{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-12vw,6vh) scale(.85)}50%{transform:translate(-4vw,-12vh) scale(1.2)}75%{transform:translate(10vw,4vh) scale(1)}}

/* ---------- marquee ---------- */
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- scroll reveal ---------- */
[data-rv]{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
[data-rv].rv-in{opacity:1;transform:none}
html.no-motion [data-rv]{opacity:1!important;transform:none!important;transition:none!important}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important}}

/* ---------- image placeholder (public-facing empty state) ---------- */
.imgph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);box-sizing:border-box;color:rgba(238,243,242,.35);font-family:Jost,sans-serif;font-size:11px;letter-spacing:.2em;text-align:center;padding:12px}
