:root{
      /* Brand palette */
      --sun: #F8A829;     /* Sun Yellow */
      --orange: #F47A20;  /* Bright Orange */
      --navy: #1C365D;    /* Deep Navy */
      --steel: #688DAC;   /* Steel Blue */
      --olive: #6D9441;   /* Olive Green */

      --bg: var(--navy);
      --text: #F2F6FF;
      --muted: rgba(242,246,255,.78);
      --card: rgba(255,255,255,.06);
      --line: rgba(255,255,255,.14);
      --shadow: 0 20px 70px rgba(0,0,0,.35);
      --radius: 18px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color: var(--text);
      background: radial-gradient(1200px 600px at 20% 10%, rgba(104,141,172,.25), transparent 55%),
                  radial-gradient(900px 500px at 80% 35%, rgba(248,168,41,.14), transparent 60%),
                  radial-gradient(700px 500px at 50% 100%, rgba(109,148,65,.14), transparent 60%),
                  var(--bg);
      overflow-x:hidden;
    }

    /* Subtle “circuit” texture */
    .circuit {
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: .35;
      background-image:
        linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 64px 64px;
      mask-image: radial-gradient(900px 600px at 50% 20%, #000 45%, transparent 75%);
    }

    .wrap{
      min-height:100%;
      display:flex;
      flex-direction:column;
    }

    header{
      padding: 22px 20px;
    }

    .brand{
      max-width: 1100px;
      margin: 0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
    }

    .logo{
  font-size:16px;
}

    .mark{
  width:1em;
  height:1em;
  border-radius:.28em;
  display:inline-block;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  flex:0 0 auto;
}

    .mark img{
      width:100%;height:100%;display:block;
      object-fit:cover;
    }

    main{
      flex:1;
      display:flex;
      align-items:center;
      padding: 28px 20px 54px;
    }

    .grid{
      max-width: 1100px;
      margin: 0 auto;
      width:100%;
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 22px;
    }

    @media (max-width: 940px){
      .grid{ grid-template-columns: 1fr; }
    }

    .heroCard{
      background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
      border:1px solid rgba(255,255,255,.14);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 34px;
      position:relative;
      overflow:hidden;
    }

    .heroCard:before{
      content:"";
      position:absolute; inset:-2px;
      background:
        radial-gradient(500px 220px at 18% 12%, rgba(248,168,41,.22), transparent 55%),
        radial-gradient(520px 260px at 82% 18%, rgba(104,141,172,.22), transparent 60%),
        radial-gradient(520px 260px at 45% 95%, rgba(109,148,65,.18), transparent 55%);
      opacity:.9;
      z-index:0;
    }

    .heroInner{ position:relative; z-index:1; }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(28,54,93,.55);
      border: 1px solid rgba(255,255,255,.14);
      color: rgba(242,246,255,.88);
      font-size: 12px;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .dot{
      width:9px;height:9px;border-radius:999px;background: var(--sun);
      box-shadow: 0 0 0 6px rgba(248,168,41,.12);
    }

    h1{
      margin: 18px 0 10px;
      font-size: clamp(34px, 4.2vw, 58px);
      line-height: 1.05;
      letter-spacing:-.02em;
    }

    .accent{
      color: var(--sun);
      text-shadow: 0 12px 40px rgba(248,168,41,.18);
    }

    .tagline{
      margin: 12px 0 0;
      font-size: 16px;
      color: rgba(242,246,255,.86);
      max-width: 62ch;
    }

    .about{
      margin-top: 18px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
      max-width: 70ch;
    }

    .sideCard{
      background: rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.14);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 26px;
      display:flex;
      flex-direction:column;
      gap:16px;
    }

    .sideTitle{
      font-size: 18px;
      letter-spacing:-.01em;
      margin: 0;
    }

    .sideCopy{
      margin: 0;
      color: var(--muted);
      line-height: 1.6;
      font-size: 14px;
    }

    .form{
      display:flex;
      gap:10px;
      margin-top: 4px;
    }

    .input{
      flex:1;
      background: rgba(28,54,93,.35);
      border:1px solid rgba(104,141,172,.55);
      border-radius: 12px;
      padding: 14px 14px;
      color: var(--text);
      outline:none;
      font-size:14px;
    }
    .input::placeholder{ color: rgba(242,246,255,.55); }

    .btn{
      background: linear-gradient(180deg, rgba(244,122,32,1), rgba(244,122,32,.92));
      border:1px solid rgba(255,255,255,.18);
      color: #fff;
      padding: 14px 16px;
      border-radius: 12px;
      cursor:pointer;
      font-weight:700;
      letter-spacing:.02em;
      box-shadow: 0 14px 34px rgba(244,122,32,.18);
      min-width: 132px;
    }
    .btn:hover{ filter: brightness(1.03); }

    .micro{
      margin: 0;
      font-size: 12px;
      color: rgba(242,246,255,.65);
    }

    .divider{
      height: 3px;
      width: 100%;
      border-radius: 999px;
      background: linear-gradient(90deg, transparent, rgba(109,148,65,.9), transparent);
      margin-top: 6px;
    }

    .social{
      display:flex;
      gap:10px;
      align-items:center;
      margin-top: 8px;
      flex-wrap:wrap;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 10px 12px;
      border-radius: 999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(28,54,93,.35);
      color: rgba(242,246,255,.84);
      text-decoration:none;
      font-size: 13px;
    }
    .pill:hover{ border-color: rgba(248,168,41,.55); color:#fff; }

    footer{
      padding: 22px 20px 28px;
      border-top: 1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.12);
    }

    .foot{
      max-width:1100px;
      margin: 0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      color: rgba(242,246,255,.70);
      font-size: 13px;
    }

    .foot a{ color: rgba(242,246,255,.78); text-decoration:none; }
    .foot a:hover{ color:#fff; }

    /* Small hint for later Odoo migration */
    .odooHint{
      display:none; /* stays hidden on public page */
    }

/* Legal pages */
.card h1{font-size:22px; margin:0 0 10px;}
.legal-content{
  line-height: 1.55;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}
.legal-content pre{
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
  margin: 0;
}
.legal-content hr{border:0; border-top:1px solid rgba(255,255,255,.12); margin:18px 0;}
.legal-content a{color: rgba(255,255,255,.95); text-decoration: underline;}
/* Accessibility */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Top navigation */
.topnav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.topnav a{
  color: rgba(242,246,255,.82);
  text-decoration:none;
  font-size: 13px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(28,54,93,.28);
}
.topnav a:hover{
  border-color: rgba(248,168,41,.55);
  color:#fff;
}

/* Brand mark: scale with adjacent text (~12pt/16px). */
.logo{
  font-size:16px;
}
.mark{
  width:1em;
  height:1em;
  border-radius:.28em;
  display:inline-block;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  flex:0 0 auto;
}
.mark img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

/* Small utility */
.accent-link{
  color: rgba(248,168,41,.95);
  text-decoration:none;
}
.accent-link:hover{ text-decoration: underline; }

/* Legal pages: keep headings tidy */
.card h1{
  margin:0 0 10px;
  font-size: 22px;
}

/* Improve long pre readability */
.legal-content pre{
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
}
