:root {
  --gold-bg: #fbf1cf;
  --gold-soft: #fff8e2;
  --gold: #f5c542;
  --blue: #064f9e;
  --blue-deep: #062f61;
  --blue-bright: #1688ff;
  --ink: #101316;
  --muted: #4e5963;
  --steel: #6d7780;
  --line: rgba(16,19,22,.16);
  --panel: rgba(255,255,255,.74);
  --shadow: 0 22px 55px rgba(20,30,45,.12);
  --radius: 22px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 0%, rgba(22,136,255,.12), transparent 32rem),
    radial-gradient(circle at 88% 20%, rgba(245,197,66,.26), transparent 26rem),
    linear-gradient(180deg, var(--gold-bg), #fffdf6 72%);
  line-height: 1.6;
}
a { color: var(--blue); text-decoration-thickness: .12em; text-underline-offset: .18em; }
a:hover { color: var(--blue-deep); }
img { max-width: 100%; height: auto; }
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left: 1rem; top: 1rem; width:auto; height:auto; z-index: 20; background: #fff; padding:.7rem 1rem; border-radius:.7rem; }
.site-header {
  position: sticky; top: 0; z-index: 10;
  background: linear-gradient(90deg, var(--blue-deep), var(--blue));
  border-bottom: 4px solid var(--gold);
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
}
.header-inner { max-width: var(--max); margin: 0 auto; padding: .65rem 1.25rem; display:flex; align-items:center; gap:1.4rem; justify-content:space-between; }
.brand-link { display:flex; align-items:center; min-width: 210px; }
.brand-link img { width: min(280px, 48vw); filter: drop-shadow(0 2px 0 rgba(0,0,0,.18)); }
.top-nav { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.top-nav a { color: var(--gold); font-weight: 800; letter-spacing: .045em; font-size: .86rem; text-decoration:none; padding:.42rem .55rem; border-radius:.65rem; }
.top-nav a:hover, .top-nav a.active { background: rgba(255,255,255,.13); color:#fff1a3; }
.experimental-link { display:inline-flex; align-items:center; gap:.3rem; }
.experimental-link img { width: 22px; height:22px; }
main { max-width: var(--max); margin: 0 auto; padding: 0 1.25rem 3rem; }
.hero { min-height: 74vh; display:grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 2rem; align-items:center; padding: 4.5rem 0 3rem; }
.hero-copy h1 { font-size: clamp(3.1rem, 7vw, 6.8rem); line-height:.9; margin:.15rem 0; letter-spacing:-.055em; }
.tagline { font-size: clamp(1.35rem, 3vw, 2.1rem); margin: .6rem 0 1rem; font-weight: 850; color: var(--blue-deep); }
.lead { font-size: clamp(1.08rem, 1.8vw, 1.32rem); color: var(--muted); max-width: 760px; }
.eyebrow { color: var(--blue); text-transform:uppercase; letter-spacing:.14em; font-weight: 850; font-size: .78rem; margin:0 0 .5rem; }
.hero-panel, .side-card, .notice, .callout, .app-feature, .tinted {
  background: var(--panel); border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.hero-panel { padding: 2rem; text-align:center; }
.hero-panel h2 { margin:.7rem 0 .4rem; }
.button-row { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.5rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height: 46px; border-radius: 999px; padding:.75rem 1.1rem; text-decoration:none; font-weight: 850; border: 2px solid transparent; cursor:pointer; font: inherit; }
.button.primary { background: var(--blue); color:white; box-shadow: 0 10px 22px rgba(6,79,158,.24); }
.button.primary:hover { background: var(--blue-deep); color:white; }
.button.secondary { background: var(--gold-soft); color: var(--blue-deep); border-color: rgba(6,79,158,.22); }
.section { margin: 1.6rem 0; padding: clamp(1.4rem, 3vw, 2.2rem); }
.split { display:grid; grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); gap: 2rem; align-items:start; }
.section h2, .page-hero h1 { line-height:1.05; letter-spacing:-.03em; }
.section h2 { font-size: clamp(1.9rem, 3.2vw, 3rem); margin:.1rem 0 1rem; }
.page-hero { padding: 4rem 0 1.3rem; }
.page-hero.narrow { max-width: 850px; }
.page-hero h1 { font-size: clamp(2.55rem, 5vw, 5rem); margin:.1rem 0 .7rem; }
.feature-list { display:grid; gap:.9rem; }
.feature-list div { background: rgba(255,255,255,.65); border:1px solid var(--line); border-radius: 18px; padding: 1rem; }
.feature-list strong { display:block; color: var(--blue-deep); }
.cards-section { padding-left:0; padding-right:0; }
.section-head { max-width: 790px; margin-bottom: 1rem; }
.card-grid { display:grid; gap:1rem; }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.legal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-link { display:block; min-height: 150px; padding:1.25rem; background: rgba(255,255,255,.78); border:1px solid var(--line); border-radius: var(--radius); text-decoration:none; color:var(--ink); box-shadow: 0 12px 28px rgba(20,30,45,.08); }
.card-link:hover { transform: translateY(-2px); border-color: rgba(6,79,158,.32); box-shadow: var(--shadow); color:var(--ink); }
.card-title { display:block; font-weight: 900; font-size:1.25rem; color: var(--blue-deep); margin-bottom:.4rem; }
.prose { max-width: 900px; }
.prose h2 { margin-top: 1.8rem; }
.prose h3 { margin-top: 1.4rem; }
.prose p, .prose li { color: #26313a; }
.prose table { width:100%; border-collapse: collapse; overflow:auto; }
.prose th, .prose td { border:1px solid var(--line); padding:.6rem; text-align:left; }
.prose code, code { background: rgba(6,79,158,.08); padding:.14rem .28rem; border-radius:.35rem; }
.legal-doc { background: rgba(255,255,255,.72); border:1px solid var(--line); border-radius: var(--radius); padding: clamp(1.2rem, 3vw, 2rem); box-shadow: var(--shadow); }
.side-card { padding:1.35rem; }
.clean-list { padding-left:1.1rem; }
.callout, .notice { padding: clamp(1.4rem, 3vw, 2rem); }
.app-feature { display:grid; grid-template-columns: 120px minmax(0,1fr); gap:1.4rem; padding:clamp(1.4rem, 3vw, 2rem); }
.app-mark { display:flex; align-items:flex-start; justify-content:center; padding-top:.3rem; }
.contact-layout { grid-template-columns: minmax(0,1fr) minmax(300px,.75fr); }
.contact-form { display:grid; gap: 1rem; background: rgba(255,255,255,.78); border:1px solid var(--line); border-radius: var(--radius); padding: clamp(1.2rem,3vw,2rem); box-shadow: var(--shadow); }
.contact-form label { display:grid; gap:.35rem; font-weight: 800; }
.contact-form input, .contact-form textarea, .contact-form select { width:100%; padding:.8rem .9rem; border:1px solid rgba(16,19,22,.25); border-radius:.85rem; font: inherit; background: #fff; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { outline: 3px solid rgba(22,136,255,.28); border-color: var(--blue); }
.hidden { display:none; }
.site-footer { background: #101821; color: #e8edf3; margin-top: 3rem; }
.footer-grid { max-width: var(--max); margin: 0 auto; padding: 2rem 1.25rem; display:grid; grid-template-columns: 1.4fr .7fr 1fr 1.1fr; gap:1.5rem; }
.footer-logo { width: 260px; background: rgba(255,255,255,.05); border-radius: 12px; }
.site-footer h2 { font-size:1rem; color: var(--gold); margin:0 0 .6rem; }
.site-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:.25rem; }
.site-footer a { color:#fff4b9; }
.muted { color:#bdc7d1; }
.experimental-wrap { max-width:760px; min-height:100vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:2rem; }
@media (max-width: 860px) {
  .header-inner { align-items:flex-start; flex-direction:column; gap:.45rem; }
  .top-nav { justify-content:flex-start; }
  .top-nav a { font-size:.78rem; padding:.35rem .42rem; }
  .hero, .split, .contact-layout, .app-feature { grid-template-columns: 1fr; }
  .hero { min-height:auto; padding: 3rem 0 1.5rem; }
  .card-grid.three, .legal-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}


/* 2026-07-03 public-site update */
.site-header, main, .site-footer { position: relative; z-index: 1; }
:focus-visible { outline: 3px solid var(--blue-bright); outline-offset: 3px; }
.top-nav button { color: var(--gold); font-weight: 800; letter-spacing: .045em; font-size: .86rem; text-decoration:none; padding:.42rem .55rem; border-radius:.65rem; border:0; background:transparent; cursor:pointer; font-family:inherit; }
.top-nav button:hover, .top-nav button[aria-expanded="true"] { background:rgba(255,255,255,.13); color:#fff1a3; }
.nav-toggle { display:none; border:1px solid rgba(255,255,255,.26); border-radius:.7rem; padding:.5rem .7rem; background:rgba(255,255,255,.09); color:var(--gold); font:inherit; font-weight:850; gap:.45rem; align-items:center; }
.team-teaser { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; background:rgba(255,255,255,.62); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.team-teaser-mark { display:flex; align-items:center; gap:.7rem; font-weight:900; font-size:clamp(1rem,2.3vw,1.45rem); }
.team-teaser-mark span { display:inline-flex; min-width:72px; min-height:72px; align-items:center; justify-content:center; border-radius:50%; }
.team-teaser-mark .human-mark { background:rgba(245,197,66,.3); border:2px solid rgba(151,108,0,.45); }
.team-teaser-mark .ai-mark { background:rgba(22,136,255,.17); border:2px solid rgba(6,79,158,.42); }
.team-hero { max-width:980px; }
.team-intro { background:rgba(255,255,255,.54); border:1px solid var(--line); border-radius:var(--radius); }
.transparency-note { background:rgba(6,79,158,.08); border-left:4px solid var(--blue); padding:1.2rem 1.3rem; border-radius:0 16px 16px 0; }
.transparency-note strong { display:block; color:var(--blue-deep); margin-bottom:.35rem; }
.team-section { padding-left:0; padding-right:0; }
.team-grid { display:grid; gap:1.2rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.profile-card { overflow:hidden; display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); background:rgba(255,255,255,.78); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 16px 42px rgba(20,30,45,.11); }
.profile-card.human { border-top:4px solid #c79212; }
.profile-card.ai { border-top:4px solid var(--blue-bright); }
.profile-media { min-height:100%; background:#e8e1cb; }
.profile-media picture, .profile-media img { width:100%; height:100%; display:block; }
.profile-media img { object-fit:cover; object-position:center top; }
.profile-body { padding:clamp(1.15rem,2.5vw,1.7rem); }
.profile-badge { display:inline-flex; border-radius:999px; padding:.25rem .62rem; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.profile-badge.human { background:rgba(245,197,66,.28); color:#6b4b00; border:1px solid rgba(151,108,0,.3); }
.profile-badge.ai { background:rgba(22,136,255,.12); color:var(--blue-deep); border:1px solid rgba(6,79,158,.28); }
.profile-card h3 { font-size:clamp(1.65rem,3vw,2.35rem); line-height:1; letter-spacing:-.035em; margin:.65rem 0 .3rem; }
.profile-title { margin:0 0 1rem; color:var(--blue-deep); font-weight:850; }
.profile-bio p { color:#26313a; }
.profile-contact { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.15rem; padding-top:1rem; border-top:1px solid var(--line); }
.contact-chip { display:inline-flex; flex-direction:column; min-width:0; padding:.55rem .72rem; border-radius:.8rem; background:rgba(6,79,158,.07); text-decoration:none; overflow-wrap:anywhere; }
.contact-chip span { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.65rem; font-weight:900; }
.generation-panel { background:linear-gradient(135deg,rgba(245,197,66,.16),rgba(22,136,255,.10)); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.generation-panel > p:not(.eyebrow):not(.generation-number) { max-width:920px; }
.generation-number { display:inline-flex; flex-direction:column; margin-top:1rem; padding:1rem 1.25rem; border-radius:16px; background:rgba(6,47,97,.92); color:white; }
.generation-number span { text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; color:#b9ddff; font-weight:900; }
.generation-number strong { color:#ffe48d; font-size:1.6rem; }
.team-contact-callout { text-align:center; }
.coming-soon-panel { min-height:68vh; max-width:820px; margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:4rem 1rem; }
.coming-soon-panel h1 { font-size:clamp(3rem,8vw,7rem); margin:.2rem 0; letter-spacing:-.055em; line-height:.92; }
.form-privacy-note { font-size:.82rem; color:var(--muted); margin:.1rem 0 0; }
@media (max-width:1080px) { .team-grid { grid-template-columns:1fr; } }
@media (max-width:960px) {
  .header-inner { flex-direction:row; align-items:center; flex-wrap:wrap; gap:.55rem; }
  .brand-link { min-width:0; flex:1; }
  .brand-link img { width:min(250px,62vw); }
  .nav-toggle { display:inline-flex; }
  .top-nav { width:100%; justify-content:flex-start; }
  .js-ready .top-nav { display:none; }
  .js-ready .top-nav[data-open="true"] { display:flex; }
  .top-nav a, .top-nav button { font-size:.76rem; padding:.48rem .5rem; }
}
@media (max-width:760px) {
  .profile-card { grid-template-columns:1fr; }
  .profile-media { aspect-ratio:1/1; }
  .team-teaser { grid-template-columns:1fr; }
  .team-teaser-mark { justify-content:center; }
}
