/* SquareWave.ai - shared stylesheet.
   Rules identical across every page live here. Anything page-specific stays in that
   page's inline <style>, which loads after this file and therefore wins.
   Generated from the per-page CSS on 2026-09-08. */

:root{
    --bg:#08080a; --ink:#f3ecde; --ink-strong:#fbf5e9; --muted:#9c9486; --faint:#6b6459;
    --warm:#ffd9a0; --warm-soft:#f3ecde; --magenta:#ff3d92; --cyan:#37cfe9;
    --line:rgba(255,255,255,.05); --hair:rgba(243,236,222,.12);
  }
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;position:relative;overflow-x:clip}
.bg-grid{position:fixed;inset:0;z-index:-3;pointer-events:none;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 95% at 65% 0%,#000 38%,transparent 100%);
    mask-image:radial-gradient(120% 95% at 65% 0%,#000 38%,transparent 100%)}
.bg-glow{position:fixed;inset:0;z-index:-2;pointer-events:none;
    background:radial-gradient(640px 460px at 74% 6%,rgba(255,205,140,.11),transparent 70%),
      radial-gradient(560px 520px at 8% 18%,rgba(255,61,146,.05),transparent 70%),
      radial-gradient(680px 520px at 92% 64%,rgba(55,207,233,.045),transparent 72%)}
.bg-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
a{color:inherit;text-decoration:none}
/* HEADER */
  header{position:sticky;top:0;z-index:30}
.hb{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;height:86px;
    max-width:1180px;margin:0 auto;transition:height .22s ease}
header,header.stuck{background:rgba(8,8,10,.86);backdrop-filter:blur(9px);border-bottom:1px solid var(--hair)}
header.scrolled .hb{height:62px}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand img{width:52px;height:52px;flex:0 0 auto;transition:width .22s ease,height .22s ease}
header.scrolled .brand img{width:42px;height:42px}
.lockup{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.brand .word{font-weight:600;font-size:22px;color:var(--ink-strong);transition:font-size .22s ease}
header.scrolled .brand .word{font-size:19px}
.tag{font-size:13.5px;color:var(--muted);letter-spacing:.005em;margin-top:3px;line-height:1.3;white-space:nowrap;
    max-height:44px;overflow:hidden;transition:max-height .22s ease,opacity .18s ease}
header.scrolled .tag{max-height:0;opacity:0;margin-top:0}
.right{display:flex;align-items:center;gap:24px}
.nav{display:flex;align-items:center;gap:20px;flex-wrap:nowrap;white-space:nowrap}
.nav a{font-size:14.5px;color:var(--muted);transition:color .15s}
.nav a:hover{color:var(--ink-strong)}
.drop-wrap{position:relative}
.drop-trigger{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:700;color:var(--muted);cursor:pointer}
.drop-wrap:hover .drop-trigger{color:var(--ink-strong)}
.chev{width:12px;height:12px;transition:transform .15s}
.drop-wrap:hover .chev,.drop-wrap.pinned .chev{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(6px);
    background:#101015;border:1px solid var(--hair);border-radius:12px;padding:7px;min-width:168px;
    opacity:0;visibility:hidden;transition:opacity .15s,transform .15s;box-shadow:0 20px 50px -20px rgba(0,0,0,.85)}
.drop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.drop-wrap:hover .drop,.drop-wrap.pinned .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--ink);transition:background .12s}
.drop a:hover{background:rgba(243,236,222,.07)}
.btn-coffee{display:inline-flex;align-items:center;gap:8px;background:var(--warm-soft);color:#17130c;
    font-weight:600;font-size:14px;border-radius:999px;padding:10px 18px;white-space:nowrap;
    box-shadow:0 0 0 1px rgba(255,217,160,.30),0 10px 30px -12px rgba(255,205,140,.6);cursor:pointer;
    transition:background .16s,box-shadow .16s,transform .16s}
.btn-coffee:hover{background:#fff7ec;box-shadow:0 0 0 1px rgba(255,217,160,.55),0 16px 46px -10px rgba(255,205,140,.9);transform:translateY(-1px)}
header.scrolled .btn-coffee{padding:8px 16px;font-size:13.5px}
.hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--hair);border-radius:10px;color:var(--ink);cursor:pointer;flex:0 0 auto;transition:border-color .15s}
.hamburger:hover{border-color:rgba(243,236,222,.4)}
.hamburger .ic-x{display:none}
.hamburger.active .ic-menu{display:none}
.hamburger.active .ic-x{display:block}
header.menu-open{background:rgba(8,8,10,.96);backdrop-filter:blur(9px)}
.mobile-menu{display:none;flex-direction:column;padding:10px 24px 22px;border-top:1px solid var(--hair)}
.mobile-menu a{font-size:16px;color:var(--ink);padding:13px 4px;border-bottom:1px solid rgba(243,236,222,.06);transition:color .15s}
.mobile-menu a:hover{color:var(--ink-strong)}
.mobile-menu .mm-label{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:16px 4px 2px}
.mobile-menu .btn-coffee{margin-top:20px;justify-content:center;width:100%;color:#17130c;padding:13px 18px;border-bottom:0}
.hero h1 .dot{color:var(--warm)}
.lede{font-size:clamp(1.04rem,1.5vw,1.2rem);color:var(--muted);max-width:52ch;margin:24px auto 0;line-height:1.72;text-align:left}
.brandname{font-weight:600;color:var(--ink-strong)}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;background:transparent;color:var(--ink);
    border:1px solid rgba(243,236,222,.24);border-radius:999px;font-weight:500;font-size:15px;padding:12px 22px;
    cursor:pointer;transition:border-color .16s,color .16s,background .16s}
.btn-ghost:hover{border-color:rgba(243,236,222,.55);color:var(--ink-strong);background:rgba(243,236,222,.03)}
.btn-coffee.lg{font-size:15px;padding:13px 24px}
.divider{width:100%;overflow:hidden;line-height:0;opacity:.8}
.divider svg{width:100%;height:42px;display:block}
.placeholder{padding:48px 0 120px;text-align:center}
.placeholder span{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.22em;
    text-transform:uppercase;color:rgba(243,236,222,.16)}
.section{padding:46px 0 90px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:7px;height:7px;background:var(--magenta);transform:rotate(45deg);box-shadow:0 0 10px 1px rgba(255,61,146,.65)}
.sec-head h2{font-size:clamp(2.1rem,4vw,2.9rem);font-weight:700;letter-spacing:-.022em;color:var(--ink-strong);margin-top:12px}
.sec-sub{font-size:clamp(1.2rem,2.1vw,1.55rem);font-weight:500;color:var(--ink);margin-top:12px;letter-spacing:-.01em}
.sec-lead{font-size:1.05rem;color:var(--muted);margin-top:14px;max-width:60ch;line-height:1.7}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:42px}
.pillar{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0));border:1px solid var(--hair);border-radius:16px;padding:28px 26px 26px;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.pillar:hover{border-color:rgba(243,236,222,.30);transform:translateY(-3px)}
.pillar-num{position:absolute;top:20px;right:22px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--faint)}
.pillar-top{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.pillar-ico{width:42px;height:42px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);border-radius:11px;color:var(--warm)}
.pillar h3{font-size:1.3rem;font-weight:600;color:var(--ink-strong)}
.pillar p{font-size:15px;color:var(--muted);line-height:1.62}
.pillar-list{margin-top:16px;padding-top:14px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted);line-height:1.78}
.pillar-more{margin-top:auto;padding-top:18px;font-size:14px;color:var(--ink);font-weight:500;display:inline-flex;align-items:center;gap:7px;transition:gap .15s,color .15s}
.pillar-more:hover{gap:11px;color:var(--ink-strong)}
.pillar-more .ar{color:var(--warm)}
.sec-foot{margin-top:36px}
.verticals{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px;margin-top:40px}
.vert{border:1px solid var(--hair);border-radius:14px;padding:22px 20px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));transition:border-color .18s,transform .18s}
.vert:hover{border-color:rgba(243,236,222,.28);transform:translateY(-3px)}
.vert-ico{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);border-radius:10px;color:var(--warm);margin-bottom:14px}
.vert h4{font-size:1.02rem;font-weight:600;color:var(--ink-strong);margin-bottom:5px;letter-spacing:-.005em}
.vert p{font-size:12.5px;color:var(--muted);line-height:1.5}
.connect .eyebrow{justify-content:center}
.tenets{display:grid;grid-template-columns:repeat(2,1fr);gap:0 46px;margin-top:42px}
.tenet{border-top:1px solid var(--hair);padding:24px 0 26px}
.tenet h4{font-size:1.08rem;font-weight:600;color:var(--ink-strong);margin-bottom:9px}
.tenet p{font-size:14px;color:var(--muted);line-height:1.62}
.team-founder{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;margin-top:36px;border:1px solid var(--hair);border-radius:16px;padding:30px 32px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.team-photo{width:100%;height:auto;border-radius:16px;display:block;border:1px solid var(--hair)}
.team-photo-ph{width:100%;aspect-ratio:4/5;border-radius:16px;display:block}
.team-photo-ph{border:1px dashed rgba(243,236,222,.22);background:linear-gradient(180deg,rgba(255,205,140,.05),rgba(255,255,255,.012));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--faint);text-align:center;padding:20px}
.team-photo-ph svg{color:var(--muted);opacity:.55}
.team-photo-ph span{font-size:11px;font-family:'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.founder-name{font-size:1.5rem;font-weight:600;color:var(--ink-strong);letter-spacing:-.02em}
.founder-title{font-size:14px;color:var(--warm);font-weight:500;margin-top:5px}
.founder-contact{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:13.5px}
.founder-contact a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);transition:color .15s}
.founder-contact a:hover{color:var(--ink-strong)}
.founder-bio{font-size:15px;color:var(--muted);line-height:1.72;margin-top:18px;max-width:56ch}
.team-partners{margin-top:22px;border:1px solid var(--hair);border-radius:16px;padding:28px 30px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.partners-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm);border:1px solid rgba(255,217,160,.3);border-radius:999px;padding:4px 11px;margin-bottom:14px}
.team-partners h3{font-size:1.5rem;font-weight:600;color:var(--ink-strong);margin-bottom:10px}
.team-partners p{font-size:14.5px;color:var(--muted);line-height:1.65;max-width:66ch}
.team-more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:14px;font-weight:500;color:var(--ink);transition:gap .15s,color .15s}
.team-more:hover{gap:11px;color:var(--ink-strong)}
.team-more .ar{color:var(--warm)}
.c2-panel{display:grid;grid-template-columns:0.85fr 1.15fr;border:1px solid var(--hair);border-radius:18px;overflow:hidden;margin-top:40px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.c2-left{padding:36px 34px;border-right:1px solid var(--hair);display:flex;flex-direction:column}
.c2-right{padding:36px 34px;background:rgba(255,255,255,.012)}
.c2-left h3,.c2-right h3{font-size:1.4rem;font-weight:600;color:var(--ink-strong);margin-bottom:10px}
.c2-left p,.c2-right .form-lead{font-size:14px;color:var(--muted);line-height:1.6}
.c2-left .btn-coffee{margin-top:20px;width:100%;justify-content:center}
.c2-contact{display:flex;flex-direction:column;padding-top:8px}
.c2-or{font-size:14px;color:var(--muted);line-height:1.6;margin-top:24px}
.c2-contact a{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--muted);padding:7px 0;transition:color .15s}
.c2-contact a:hover{color:var(--ink-strong)}
.sw-form{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--muted);font-weight:500}
.field .req{color:var(--magenta)}
.field input,.field select{background:rgba(255,255,255,.03);border:1px solid var(--hair);border-radius:10px;padding:11px 13px;font-size:14px;color:var(--ink);font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}
.field input::placeholder{color:var(--faint)}
.field input:focus,.field select:focus{outline:none;border-color:rgba(255,217,160,.5);box-shadow:0 0 0 3px rgba(255,205,140,.12)}
.field select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239c9486' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.field select option{background:#15151a;color:var(--ink)}
.sw-form .btn-coffee{margin-top:6px;width:100%;justify-content:center;font-family:inherit;color:#17130c}
.ml-thanks{display:none;padding:30px 4px;font-size:15px;color:var(--muted);line-height:1.6}
.ml-thanks .chk{display:block;color:var(--warm);font-weight:600;font-size:1.1rem;margin-bottom:6px}
footer{border-top:1px solid var(--hair);margin-top:30px;padding:0;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)}
.svc-bar{text-align:center;font-size:clamp(10px,3.8vw,18px);font-weight:500;letter-spacing:.03em;color:var(--ink);padding:11px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);white-space:nowrap;background:radial-gradient(50% 165% at 50% 50%,rgba(255,205,140,.11),rgba(255,205,140,.042) 55%,transparent 85%)}
.svc-bar .d{color:var(--warm);margin:0 0.45em}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.5fr;gap:40px;margin:50px 0}
.foot-lockup{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;border:1px solid var(--hair);border-radius:16px;padding:26px 24px;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0));transition:border-color .18s}
.foot-lockup:hover{border-color:rgba(243,236,222,.28)}
.foot-lockup .word{font-weight:600;font-size:20px;color:var(--ink-strong);letter-spacing:.01em}
.foot-lockup img{display:block}
.foot-tagline{font-size:12.5px;color:var(--muted);line-height:1.45}
.foot-col h5,.foot-cta h5{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.foot-col a{display:block;font-size:14px;color:var(--muted);padding:6px 0;transition:color .15s}
.foot-col a:hover{color:var(--ink-strong)}
.foot-cta .btn-coffee{margin-top:6px}
.foot-cta .foot-contact-head{margin-top:26px}
.foot-contact{font-size:13.5px;color:var(--muted);margin-top:0;line-height:1.9}
.foot-contact a{color:var(--muted)}
.foot-contact a:hover{color:var(--ink-strong)}
.foot-bottom{border-top:1px solid var(--hair);padding:28px 0}
.foot-bottom .copy{display:block;text-align:center;font-size:12.5px;color:var(--faint)}
@media (max-width:980px){
    .nav{display:none}
    .hb .btn-coffee{display:none}
    .hamburger{display:flex}
    .hb{padding:0 22px}
    .mobile-menu.open{display:flex}
  }
@media (max-width:820px){
    .hero h1{font-size:clamp(1.9rem,8.5vw,2.7rem)}
    .pillars{grid-template-columns:1fr}
    .tenets{grid-template-columns:1fr}
    .team-founder{grid-template-columns:1fr;gap:26px}
    .team-founder .team-photo-wrap{order:-1;max-width:280px;margin:0 auto}
    .c2-panel{grid-template-columns:1fr}
    .c2-left{border-right:none;border-bottom:1px solid var(--hair)}
    .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  }
@media (max-width:520px){
    .verticals{grid-template-columns:1fr 1fr;gap:10px}
    .vert{padding:18px 14px}
  }
@media (max-width:440px){
    header .tag{font-size:12px}
    .hb{padding:0 16px}
    .form-row{grid-template-columns:1fr}
  }
@media (max-width:520px){
    .foot-grid{grid-template-columns:1fr;gap:30px}
  }
.svc-bar a:hover{color:var(--ink-strong)}
.nav a[href*="#"]{font-style:italic}
.mobile-menu a[href*="#"]{font-style:italic}
.drop-wrap{margin-left:8px}
/* ---- HEADER: oversized logo overhanging the rule ---------------------- */
  header{--logo-size:84px;--logo-drop:14px}
header.scrolled{--logo-size:62px;--logo-drop:10px}
.brand{gap:11px;position:relative;z-index:2}
.brand img{width:var(--logo-size);height:var(--logo-size);position:relative;top:var(--logo-drop);
    transition:width .22s ease,height .22s ease,top .22s ease}
header.scrolled .brand img{width:var(--logo-size);height:var(--logo-size)}
header.menu-open .brand img{top:0}
@media (max-width:1120px){
    header{--logo-size:76px;--logo-drop:14px}
    header.scrolled{--logo-size:60px;--logo-drop:10px}
  }
@media (max-width:980px){
    header{--logo-size:78px;--logo-drop:14px}
    header.scrolled{--logo-size:60px;--logo-drop:10px}
  }
@media (max-width:600px){
    header{--logo-size:70px;--logo-drop:15px}
    header.scrolled{--logo-size:56px;--logo-drop:11px}
  }
@media (max-width:440px){
    header{--logo-size:52px;--logo-drop:0px}
    header.scrolled{--logo-size:44px;--logo-drop:0px}
    .brand{gap:9px}
  }
.svc-bar .pair{white-space:nowrap}
.svc-bar .brk{display:none}
@media (max-width:560px){
    .svc-bar{white-space:normal;line-height:1.7}
    .svc-bar .mid{display:none}
    /* Stack the two halves and line their separator dots up on the bar's centre
       axis, so this reads as one column hinged on the dot rather than two
       separately centred lines. Each pair becomes its own grid row, which makes
       the <br> redundant, so .brk stays hidden. 1fr auto 1fr puts the dot dead
       centre; the words then hug it from either side. */
    .svc-bar .wrap{display:grid;row-gap:2px}
    .svc-bar .pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline}
    .svc-bar .pair > :first-child{justify-self:end}
    .svc-bar .pair > :last-child{justify-self:start}
  }
/* anchors clear the expanded bar (86px) plus the logo overhang (13px) */
  section[id]{scroll-margin-top:72px}
#ml-form{scroll-margin-top:110px}
