/* HGLR Studio: one visual language for the public site and private entry. */
:root {
  --bg:#091522; --surface:#112237; --surface-raised:#192d44;
  --ink:#f4f8ff; --muted:#b7c8db; --faint:#8da9c4;
  --accent:#8cc1ff; --line:rgba(166,199,235,.22); --max:1240px;
  --studio-shadow:0 24px 70px rgba(1,9,25,.22);
}
:root[data-theme=light] {
  --bg:#f0f5fa; --surface:#fff; --surface-raised:#e8f1fa;
  --ink:#152b45; --muted:#4d6278; --faint:#5e7690;
  --accent:#125cae; --line:rgba(45,91,135,.19);
  --studio-shadow:0 22px 60px rgba(21,52,91,.10);
}
body { background:var(--bg); }
body::before { display:none; }
.site-header { background:color-mix(in srgb,var(--bg) 94%,transparent); box-shadow:none; }
.site-header .wordmark,.site-header .desktop-nav a,.site-header .header-login { transition:color .2s,background .2s,border-color .2s; }
.site-header .wordmark:hover { color:var(--accent); }
.site-header .header-login { border-radius:11px; padding-inline:16px; }
.theme-switch { border-radius:11px; }
.eyebrow { font-size:11px; letter-spacing:.15em; }

/* A single stage frames the brand mark. No rings or offset panels. */
.hero {
  min-height:min(670px,calc(100svh - 76px));
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(42px,5vw,78px); padding-top:52px; padding-bottom:86px;
}
.hero-copy .eyebrow { margin-bottom:28px; border:0; border-left:3px solid var(--accent);
  background:transparent; border-radius:0; padding:6px 0 6px 14px; }
.hero-copy .eyebrow-line { display:none; }
.hero h1 { max-width:720px; margin-bottom:28px; font-size:clamp(57px,5.55vw,82px);
  line-height:1.045; font-weight:780; letter-spacing:-.075em; }
.hero h1 em { display:inline-block; color:var(--accent); white-space:nowrap; text-shadow:none; }
.hero-lead { max-width:490px; font-size:16px; line-height:1.72; }
.hero-actions .button.primary,.button.primary { border-radius:11px; box-shadow:0 15px 30px rgba(7,74,161,.2); }
.hero-visual {
  min-height:440px; width:100%; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));
  border-radius:21px; isolation:isolate;
  background:linear-gradient(135deg,#183b61 0%,#112d4b 36%,#0b1b30 67%,#123b67 100%);
  box-shadow:var(--studio-shadow),inset 0 1px 0 rgba(255,255,255,.16);
}
.hero-visual::before { content:""; display:block; position:absolute; inset:0; width:auto; aspect-ratio:auto;
  z-index:-1; border:0; border-radius:0;
  background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 37%),
    repeating-linear-gradient(135deg,transparent 0 53px,rgba(137,191,248,.055) 54px 55px);
}
.hero-visual::after { content:none; display:none; }
.hero-glow,.hero-visual-frame,.hero-coordinate { display:none; }
.hero-visual-code { top:23px; left:26px; right:26px; z-index:2; display:flex; justify-content:space-between;
  color:#c2dcfa; font-size:10px; letter-spacing:.11em; }
.hero-visual-code span { color:#8db9e7; }
.hero-symbol { position:relative; z-index:1; display:block; width:min(67%,330px); height:auto;
  margin:-18px 0 19px; filter:drop-shadow(0 24px 30px rgba(0,8,28,.56)); }
.hero-visual-note { inset:auto 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0; padding:0; color:#e3f0ff; border-top:1px solid rgba(200,225,255,.2);
  background:rgba(7,23,41,.62); backdrop-filter:blur(10px); }
.hero-visual-note span { padding:20px 8px; text-align:center; font-size:11px; font-weight:700;
  border-right:1px solid rgba(200,225,255,.16); }
.hero-visual-note span:last-child { border-right:0; }
.hero-foot { bottom:24px; border-top:1px solid var(--line); }

/* The same card geometry and readable section rhythm throughout. */
.section { padding-block:76px; }
.section-heading { align-items:end; gap:26px; margin-bottom:29px; }
.section-heading h2,.contact-intro h2 { font-size:clamp(36px,4.1vw,55px); line-height:1.1; }
.section-heading>p { max-width:350px; font-size:14px; }
.service-grid { gap:16px; }
.service-card { min-height:258px; padding:28px; border-radius:18px; background:var(--surface); box-shadow:none; }
.service-card::before { content:none; display:none; }
.service-card::after { height:3px; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--studio-shadow); }
.service-number { color:var(--accent); font-size:11px; }
.service-glyph { top:26px; right:28px; display:grid; place-items:center; width:44px; height:44px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); font-size:25px; }
.service-card h3 { margin-top:58px; font-size:27px; }
.service-card p { font-size:13px; }
.project-section { background:color-mix(in srgb,var(--surface) 38%,var(--bg)); }
.project-card { grid-template-columns:1fr 1fr; border-radius:20px; box-shadow:var(--studio-shadow); }
.project-art { min-height:326px; background:linear-gradient(135deg,#382535,#251d2b 50%,#141e31); }
.project-art::before,.project-art::after,.project-art .portal-orbit { content:none; display:none; }
.project-art::after { content:""; display:block; position:absolute; left:0; top:0; bottom:0; width:5px;
  border:0; border-radius:0; background:#de436a; }
.portal-original-logo { position:relative; z-index:1; }
.portal-caption { z-index:2; }
.project-copy { padding:clamp(28px,4vw,54px); background:var(--surface); }
.contact-section { background:var(--bg); }
.contact-layout { align-items:center; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,70px); }
.contact-form,.auth-card,.dashboard-card,.inquiry { border-radius:18px; background:var(--surface); box-shadow:var(--studio-shadow); }
.contact-form { padding:clamp(25px,3vw,38px); }
input,textarea,select { border-radius:10px; min-height:45px; }
.site-footer { background:var(--surface); }

.auth-view,.dashboard,.legal-view { position:relative; }
.auth-layout { grid-template-columns:minmax(0,1fr) minmax(360px,440px); gap:clamp(30px,6vw,90px); }
.auth-card { padding:clamp(25px,3vw,39px); }
.dashboard { padding-top:clamp(38px,5vw,70px); }
.dashboard-head { margin-bottom:27px; }
.dashboard-grid { gap:18px; }
.dashboard-card { min-height:255px; padding:27px; }
.dashboard-card:first-child { background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 11%,var(--surface)),var(--surface) 75%); }
.dashboard-card:hover { box-shadow:0 22px 45px rgba(4,30,69,.16); }
.dashboard-icon { border-radius:12px; width:51px; height:51px; font-size:25px; }
.dashboard-card h2 { font-size:27px; }
.inquiries-panel,.legal-editor { margin-top:42px; }
.legal-editor form { padding:25px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }

@media(max-width:1000px) {
  .hero { gap:25px; }
  .hero h1 { font-size:clamp(49px,5.8vw,67px); }
  .hero-visual { min-height:390px; }
  .hero-symbol { width:min(66%,280px); }
}
@media(max-width:760px) {
  .hero { min-height:0; grid-template-columns:1fr; gap:34px; padding-block:48px 78px; }
  .hero h1 { font-size:clamp(48px,9vw,74px); }
  .hero-visual { min-height:370px; }
  .hero-symbol { width:min(56%,270px); }
  .hero-foot { bottom:24px; }
  .section { padding-block:61px; }
  .project-card { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .auth-layout { grid-template-columns:1fr; gap:24px; min-height:0; }
}
@media(max-width:540px) {
  .hero h1 { font-size:clamp(42px,11vw,58px); }
  .hero h1 em { white-space:normal; }
  .hero-visual { min-height:310px; }
  .hero-symbol { width:min(62%,210px); }
  .hero-visual-note span { padding:15px 3px; font-size:9px; }
  .hero-visual-code { left:17px; right:17px; font-size:8px; }
  .hero-foot { flex-wrap:wrap; gap:9px; }
  .service-card { min-height:205px; padding:22px; }
  .service-card h3 { margin-top:38px; }
  .dashboard-card { min-height:220px; }
}
