:root {
  color-scheme:dark;
  --bg:#080d16; --bg2:#101827; --card:#131f30; --raised:#19283a;
  --ink:#f1f5f9; --muted:#a4b2c4; --faint:#8194aa; --line:#263649;
  --cyan:#36c7df; --teal:#20bfa9; --hel:#f6a410; --her:#9bb879; --hes:#8bc2bd;
  --container:1220px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; color:var(--ink); background:var(--bg); overflow-x:hidden; }
body.menu-open { overflow:hidden; }
::selection { background:#4ed6d2; color:#08202a; }
a { text-decoration:none; color:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
button,input,textarea,select { font:inherit; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid #72e4ec; outline-offset:4px; }
button { cursor:pointer; }
p,h1,h2,h3 { margin:0; }
p { line-height:1.75; }
h1,h2,h3 { letter-spacing:-.052em; line-height:1.12; }
img { max-width:100%; }
.container { width:min(calc(100% - 88px),var(--container)); margin-inline:auto; }
.section { padding:112px 0; }
.eyebrow { display:inline-flex; align-items:center; gap:13px; font-size:.68rem; line-height:1.5; letter-spacing:.19em; font-weight:800; color:#74d8e2; text-transform:uppercase; }
.line-mark { display:inline-block; width:21px; height:2px; background:currentColor; flex-shrink:0; }
.text-muted { color:#879aaf; }
.section-title { max-width:830px; margin-bottom:43px; }
.section-title h2 { font-size:clamp(2.55rem,4.2vw,4.7rem); margin-top:21px; }
.section-title>p { max-width:590px; font-size:1rem; color:var(--muted); margin-top:22px; }
.skip-link { position:absolute; z-index:200; left:20px; top:-90px; background:var(--ink); color:#081622; padding:12px 18px; font-weight:750; }
.skip-link:focus { top:12px; }
/* Header, navigation */
.site-header { position:sticky; z-index:80; top:0; border-bottom:1px solid rgba(142,173,206,.12); background:rgba(8,13,22,.93); transition:background .2s,box-shadow .2s; }
.site-header.is-scrolled { background:rgba(8,13,22,.95); box-shadow:0 9px 30px rgba(0,0,0,.19); }
@supports(backdrop-filter:blur(18px)) { .site-header { backdrop-filter:blur(18px); } }
.header-inner { min-height:81px; display:flex; align-items:center; gap:34px; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-symbol { width:42px; height:42px; color:#76e9e4; display:grid; place-items:center; }
.brand-symbol svg { width:100%; height:100%; }
.brand-type { display:grid; line-height:1.12; gap:4px; }
.brand-type strong { font-size:1rem; letter-spacing:.135em; font-weight:900; }
.brand-type small { font-size:.52rem; color:#aabecb; font-weight:800; letter-spacing:.315em; }
.desktop-nav { display:flex; align-items:center; gap:35px; margin-left:auto; }
.nav-link { display:inline-flex; align-items:center; gap:9px; cursor:pointer; color:#b2c2d2; font-size:.84rem; font-weight:650; transition:color .18s; }
.nav-link:hover,.nav-link.current,.nav-dropdown[open]>.nav-link { color:#fff; }
.nav-dropdown { position:relative; }
.nav-dropdown summary { list-style:none; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.chevron { width:7px; height:7px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
.nav-dropdown[open] .chevron { transform:translateY(2px) rotate(-135deg); }
.dropdown-panel { position:absolute; right:-128px; top:calc(100% + 26px); background:#111e2d; border:1px solid #304658; border-radius:12px; width:355px; padding:13px; box-shadow:0 30px 65px rgba(0,0,0,.52); }
.dropdown-panel::before { content:"";position:absolute;top:-27px;right:0;left:0;height:27px; }
.dropdown-all { display:flex; justify-content:space-between; padding:11px 12px 16px; font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; border-bottom:1px solid #2b4052; margin-bottom:7px; color:#7ddde1; }
.dropdown-product { display:flex; align-items:center; gap:13px; padding:11px 10px; border-radius:7px; }
.dropdown-product:hover,.dropdown-product:focus-visible { background:#1b3040; }
.dropdown-icon { display:grid;place-items:center; background:#0a1320; width:49px; height:48px; border-radius:7px; flex-shrink:0; overflow:hidden; }
.dropdown-icon img { width:100%; height:100%; object-fit:contain; }
.dropdown-icon.icon-herigen img { width:100%; height:80%; }
.dropdown-product span:nth-child(2) { display:grid; gap:3px; }
.dropdown-product strong { font-size:.89rem; font-weight:750; }
.dropdown-product small { font-size:.72rem; color:#a3b4c5; }
.nav-right { display:flex; align-items:center; gap:15px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:26px; min-height:52px; padding:14px 20px; font-size:.87rem; font-weight:750; border-radius:6px; border:1px solid transparent; transition:transform .2s,background .2s,border-color .2s,color .2s; }
.button span { font-size:1.1rem; line-height:1; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#052632; background:var(--cyan); }
.button-primary:hover { color:#062a34; background:#83e7ef; }
.button-outline { color:#e7f3fa; background:rgba(21,39,58,.42); border-color:#395164; }
.button-outline:hover { background:#192c3c; border-color:#65bacb; }
.button-nav { min-height:42px; background:#83eee8; color:#06232b; border-radius:6px; font-size:.77rem; gap:18px; padding:12px 17px; }
.button-nav:hover { background:#b0f7f2; }
.menu-toggle,.mobile-nav { display:none; }
/* Home hero */
.home-hero { overflow:hidden; position:relative; border-bottom:1px solid #233544; background:radial-gradient(ellipse 560px 520px at 76% 43%,rgba(25,99,113,.23),transparent 83%),linear-gradient(170deg,#0a101c 0%,#090f18 68%,#0b1622 100%); }
.home-hero::before,.page-hero::before { position:absolute; content:""; inset:0; pointer-events:none; background-image:linear-gradient(to right,rgba(115,159,188,.052) 1px,transparent 1px),linear-gradient(to bottom,rgba(115,159,188,.052) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(90deg,transparent 27%,black 100%); }
.hero-grid { display:grid; grid-template-columns:1.06fr .94fr; min-height:688px; align-items:center; gap:15px; position:relative; }
.hero-copy { padding:92px 0 94px; position:relative; z-index:2; }
.hero-copy h1 { font-size:clamp(3.5rem,5vw,5.9rem); max-width:750px; line-height:1.055; letter-spacing:-.071em; margin:28px 0 30px; font-weight:850; }
.hero-copy h1 em,.page-hero h1 em { color:#78e7e5; font-style:normal; }
.hero-copy>p { max-width:570px; font-size:1.055rem; color:#b8c9d5; }
.hero-copy>p.hero-secondary { color:#93aabd; margin-top:15px; font-size:.93rem; max-width:560px; }
.hero-cta { margin-top:33px; display:flex; flex-wrap:wrap; gap:11px; }
.hero-under { display:flex; align-items:center; gap:11px; margin-top:49px; color:#8faabc; font-weight:750; letter-spacing:.145em; font-size:.65rem; }
.small-square { display:inline-block; width:7px; height:7px; background:#a0efcb; box-shadow:0 0 15px #35c6aa; }
.hero-composition { position:relative; height:515px; min-width:0; margin:35px -9px 25px 10px; border:1px solid rgba(137,207,225,.1); border-radius:20px; background:radial-gradient(ellipse at 63% 38%,rgba(24,101,120,.16),transparent 64%); }
.comp-grid,.detail-art-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(123,185,196,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(123,185,196,.08) 1px,transparent 1px); background-size:35px 35px; mask-image:radial-gradient(ellipse at 60% 50%,black 10%,transparent 78%); pointer-events:none; }
.comp-label { position:absolute; color:#688ba0; font-size:.6rem; letter-spacing:.19em; font-weight:800; }
.top-label { left:25px; top:21px; }
.bottom-label { left:25px; bottom:22px; }
.comp-origin { position:absolute; z-index:1; left:55px; top:91px; display:flex; gap:13px; align-items:center; }
.comp-origin-mark { width:58px; height:58px; display:grid;place-items:center; color:#7de7e4; border:1px solid #285362; background:#102534; padding:11px; border-radius:10px; }
.comp-origin-mark svg { width:35px; height:35px; }
.comp-origin strong { display:block; letter-spacing:.14em; font-size:1.05rem; }
.comp-origin small { display:block; color:#84a7b8; letter-spacing:.19em; font-size:.59rem; margin-top:5px; }
.comp-spine { position:absolute; top:163px; left:83px; height:255px; width:2px; background:linear-gradient(#35c0d2,#418f8a,transparent); }
.comp-spine::before,.comp-spine::after { content:""; position:absolute; left:-3px; height:8px; width:8px; border-radius:50%; background:#5acfcf; box-shadow:0 0 12px rgba(71,217,221,.45); }
.comp-spine::before { top:49px; }.comp-spine::after { bottom:17px; }
.comp-product { position:absolute; z-index:2; left:124px; right:24px; display:flex; gap:14px; align-items:center; min-height:83px; padding:12px 16px; border:1px solid #2c4854; border-radius:10px; background:rgba(18,34,47,.96); box-shadow:0 15px 35px rgba(1,8,13,.23); transition:transform .2s,border-color .2s; }
.comp-product:hover { transform:translateX(4px); border-color:#6fcaca; }
.comp-helios { top:187px; }.comp-herigen { top:284px; }.comp-hestyn { top:381px; }
.comp-logo { display:grid;place-items:center; width:56px;height:56px; border-radius:8px; flex-shrink:0; background:#0b121a; overflow:hidden; }
.comp-logo img { width:100%;height:100%;object-fit:contain; }
.comp-logo .product-real-logo { padding:0; }
.comp-herigen .comp-logo img { height:80%; }
.comp-product>span:nth-child(2) { flex:1; min-width:0; }
.comp-product strong { display:block; font-size:.96rem; letter-spacing:-.02em; }
.comp-product small { color:#9eb5c3; display:block; margin-top:5px; font-size:.67rem; }
.comp-arrow { color:#b8ebef; }
/* Identity strip */
.identity-strip { background:#0b1420; border-bottom:1px solid #263749; }
.strip-inner { display:grid; grid-template-columns:repeat(3,1fr); }
.strip-item { padding:19px 22px; display:flex;align-items:center;gap:15px; min-width:0; border-right:1px solid #263649; transition:background .2s; }
.strip-item:first-child { border-left:1px solid #263649; }
.strip-item:hover { background:#152637; }
.strip-image { display:grid;place-items:center; width:55px;height:52px; flex:0 0 55px; }
.strip-image img { width:100%;height:100%;object-fit:contain; }
.strip-herigen .strip-image img { width:118%; }
.strip-item strong { display:block; font-size:.8rem; font-weight:850; letter-spacing:.13em; }
.strip-item small { display:block; font-size:.71rem; color:#9eafc0; margin-top:6px; }
.strip-go { margin-left:auto; color:#7c9bae; font-size:1rem; }
/* About philosophy */
.philosophy-section { background:#101927; }
.split-philosophy { display:grid; grid-template-columns:1fr .81fr; gap:110px; }
.split-philosophy h2 { font-size:clamp(2.7rem,4.1vw,4.4rem); margin:25px 0 27px; }
.split-philosophy>div:first-child>p { color:#b3c2cd; max-width:580px; }
.text-link { color:#8ee9e9; display:inline-flex;gap:18px;align-items:center;font-size:.84rem;font-weight:750;margin-top:22px; }
.text-link:hover { color:white; }
.principle-list { border-top:1px solid #375063; align-self:center; }
.principle-list>div { padding:22px 0; border-bottom:1px solid #375063; display:grid;grid-template-columns:40px 1fr;gap:6px 12px; }
.principle-list span { grid-row:span 2; color:#74d8e2;font-size:.72rem;font-weight:800; }
.principle-list strong { font-size:1.05rem; }
.principle-list p { color:#9aafbf; font-size:.85rem; }
/* cards */
.products-home { background:#080d16; }
.product-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px; }
.product-card { --p-accent:#4bd6e0; position:relative; overflow:hidden;display:flex;flex-direction:column; min-height:455px; border:1px solid #2b4051;background:#111e2b; padding:24px; border-radius:12px; transition:transform .22s,border-color .22s,box-shadow .22s; }
.product-card::before { content:"";position:absolute;inset:0 0 35%;pointer-events:none;background:radial-gradient(ellipse at 70% 30%,color-mix(in srgb,var(--p-accent) 14%,transparent),transparent 69%); }
.product-card:hover { transform:translateY(-5px);border-color:color-mix(in srgb,var(--p-accent) 54%,#2b4051);box-shadow:0 24px 55px rgba(0,0,0,.21); }
.product-helios { --p-accent:var(--hel);background:linear-gradient(155deg,#19232c,#101b2a); }
.product-herigen { --p-accent:var(--her);background:linear-gradient(155deg,#1b2c28,#101c26); }
.product-hestyn { --p-accent:var(--hes);background:linear-gradient(155deg,#182b34,#101b2a); }
.pc-meta { display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:10px;font-size:.66rem;letter-spacing:.12em;color:#bac9d7;font-weight:800; }
.pc-meta .corner { font-size:1.25rem;color:var(--p-accent); }
.pc-logo { height:155px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1; margin:12px auto 1px;width:100%; }
.pc-logo img { width:135px;height:130px;object-fit:contain;filter:drop-shadow(0 10px 25px rgba(0,0,0,.28)); }
.product-herigen .pc-logo img { width:240px;max-height:142px; }
.product-hestyn .pc-logo img { width:132px;height:132px;border-radius:12px; }
.pc-content { margin-top:auto;z-index:1;position:relative; }
.pc-title h3 { font-size:2rem; margin-bottom:12px; }
.status { display:inline-flex;gap:8px;align-items:center;width:max-content;max-width:100%;font-size:.64rem;line-height:1.4;white-space:normal;letter-spacing:.11em;text-transform:uppercase;font-weight:850;color:#a7d8d5;border:1px solid #365e65;border-radius:999px;padding:7px 11px;background:rgba(19,50,61,.45); }
.status-dot { display:inline-block; width:5px;height:5px;border-radius:50%; background:#83d4c7;flex:0 0 5px; }
.status.helios { color:#f3c887; border-color:#635133; background:rgba(94,65,26,.25); }.status.helios .status-dot { background:var(--hel); }
.status.herigen { color:#c2d7ad;border-color:#485e46;background:rgba(50,82,48,.24); }.status.herigen .status-dot { background:var(--her); }
.status.hestyn { color:#a3d3d2;border-color:#356065;background:rgba(31,71,74,.28); }.status.hestyn .status-dot { background:var(--hes); }
.pc-content p { color:#adbfc9;font-size:.89rem;margin:17px 0 23px;min-height:92px; }
.pc-link { display:flex;justify-content:space-between;align-items:center;border-top:1px solid #365062; padding-top:19px;font-size:.83rem;font-weight:750;color:#eef7fc; }
.pc-link span { color:var(--p-accent);font-size:1.15rem; }
/* Capability rows */
.capabilities-section { background:#0d1723; }
.capability-list { margin-top:47px;border-top:1px solid #2f4353; }
.capability-row { display:grid;grid-template-columns:190px 1fr 32px;gap:35px;align-items:center;padding:32px 5px;border-bottom:1px solid #2f4353;transition:background .2s,padding .2s; }
.capability-row:hover { background:rgba(24,45,62,.55);padding-left:18px; }
.cap-id { color:#7dd9da;font-size:.68rem;letter-spacing:.15em;font-weight:800;align-self:start;margin-top:10px; }
.capability-row h3 { font-size:1.5rem;margin-bottom:10px; }
.capability-row p { color:#a2b6c7;max-width:720px;font-size:.91rem; }
.cap-arrow { font-size:1.3rem;color:#7abccc; }
/* Founder */
.founder-preview { background:#101827; }
.founder-grid { display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center; }
.founder-photo-wrap,.about-founder-picture { position:relative;overflow:hidden;border:1px solid #425669;background:#172331;box-shadow:16px 17px 0 rgba(32,75,88,.17); }
.founder-photo { display:block;aspect-ratio:1.02; width:100%;object-fit:cover;object-position:50% 12%; }
.founder-caption { position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:start;gap:6px;padding:35px 27px 20px;background:linear-gradient(transparent,rgba(5,13,24,.89)); }
.founder-caption span { font-size:.62rem;letter-spacing:.2em;color:#83e3e4;font-weight:750; }
.founder-caption strong { letter-spacing:.14em;font-size:.84rem; }
.founder-copy h2 { margin:25px 0; font-size:clamp(2.8rem,4.5vw,5.1rem); }
.founder-copy p { color:#afc0cd;margin:0 0 16px;max-width:550px; }
.founder-copy .button { margin-top:19px; }
/* Stages */
.status-section { background:#0a111c;border-block:1px solid #182a3a; }
.status-header { display:flex;justify-content:space-between;gap:30px;align-items:end; }
.status-header .section-title { margin-bottom:38px; }
.status-header .section-title h2 { font-size:clamp(2.2rem,3.2vw,3.4rem); }
.status-header>p { margin-bottom:45px;max-width:310px;color:#9bb0c0;font-size:.9rem; }
.stage-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.stage-item { display:grid;grid-template-columns:32px 1fr 15px;align-items:center;gap:8px 12px;border:1px solid #283c4c;background:#111c2a;padding:23px 20px;border-radius:7px;transition:background .2s,border-color .2s; }
.stage-item:hover { background:#17293a;border-color:#567a87; }
.stage-number { font-size:.7rem;color:#7edce0;grid-row:span 2;font-weight:850; }
.stage-item strong { font-size:1.05rem; }
.stage-item .status { grid-column:2; }
.stage-arrow { grid-column:3;grid-row:1 / 3;color:#8ea8bc; }
/* CTA */
.final-cta { background:#080d16;padding-top:84px;padding-bottom:120px; }
.cta-panel { overflow:hidden;position:relative;border-radius:14px;background:radial-gradient(circle at 89% 35%,rgba(31,123,137,.19),transparent 46%),linear-gradient(135deg,#143040 0%,#0f1e2d 60%,#0b1724 100%);border:1px solid #305568; }
.cta-panel::before { position:absolute;content:"";inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(to right,rgba(145,214,226,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(145,214,226,.10) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 32%,black); }
.cta-panel-inner { position:relative;z-index:2; padding:64px 66px 68px;max-width:710px; }
.cta-panel h2 { font-size:clamp(2.8rem,4.5vw,5rem);margin:22px 0 18px; }
.cta-panel p { color:#b7ccd5;max-width:525px;margin-bottom:30px; }
.cta-deco { position:absolute;right:65px;top:50%;transform:translateY(-50%);width:250px;height:250px;opacity:.17;color:#79e0e0; }
.cta-deco svg { width:100%;height:100%; }
/* Open to new development — simple invitation, not a services claim */
.new-development-section { background:linear-gradient(135deg,#0d1b28,#101e2b);border-block:1px solid #284151; }
.new-development-grid { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.75fr);align-items:center;gap:clamp(42px,7vw,125px); }
.new-development-copy h2 {font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.08;margin:24px 0 27px;letter-spacing:-.055em;}
.new-development-copy p {max-width:690px;color:#b7c8d4;font-size:1.03rem;margin:0 0 13px;line-height:1.74;}
.new-development-copy .button {margin-top:22px;}
.new-development-note {position:relative;background:#132739;border:1px solid #3b5b6c;border-radius:10px;padding:35px 32px 30px;box-shadow:0 15px 55px rgba(0,0,0,.08);}
.new-development-note::before {position:absolute;content:'';height:3px;top:0;left:32px;right:32px;background:linear-gradient(90deg,var(--cyan),transparent);}
.new-development-note .note-label {font:800 .7rem/1.4 system-ui,sans-serif;letter-spacing:.16em;color:#72d6e0;}
.new-development-note h3 {font-size:clamp(1.65rem,2.4vw,2.2rem);margin:22px 0 16px;letter-spacing:-.035em;}
.new-development-note p {color:#bccdda;line-height:1.7;font-size:.94rem;}
.new-development-note .note-foot {display:flex;gap:13px;align-items:flex-start;margin-top:33px;padding-top:22px;border-top:1px solid #355267;}
.new-development-note .note-line {display:block;width:9px;height:9px;flex:0 0 9px;background:#6ad1da;border-radius:2px;margin-top:5px;}
.new-development-note small {color:#a2b9c9;font-size:.79rem;line-height:1.65;}
@media (max-width:900px) {.new-development-grid {grid-template-columns:1fr;gap:34px;} .new-development-note {max-width:690px;} }
@media (max-width:520px) {.new-development-copy h2 {font-size:clamp(2.3rem,10vw,3.1rem);} .new-development-copy .button {width:100%;} .new-development-note {padding:27px 22px;} }
/* Page hero */
.page-hero { position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 40%,rgba(26,91,105,.23),transparent 48%),#0c1420;border-bottom:1px solid #263b4d; }
.page-hero-content { padding:106px 0 103px;position:relative; }
.page-hero h1 { font-size:clamp(3.7rem,6.3vw,6.8rem);line-height:1.05;max-width:1000px;margin:26px 0 28px;letter-spacing:-.07em; }
.page-hero p { color:#b0c2d1;font-size:1.1rem;max-width:710px; }
/* Portfolio */
.product-features { background:#0a121c; }
.portfolio-row { --accent:var(--cyan);display:grid;grid-template-columns:.88fr 1fr;gap:70px;align-items:center;padding:38px 0 71px;margin-bottom:27px;border-bottom:1px solid #2a4053; }
.portfolio-row:first-child { padding-top:0; }
.portfolio-visual { position:relative;min-height:368px;display:grid;place-items:center;overflow:hidden;border:1px solid #345064;border-radius:11px;background:radial-gradient(circle at 55% 44%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 60%),linear-gradient(135deg,#132333,#0b1621); }
.portfolio-visual::after { content:"";position:absolute;inset:0;opacity:.17;background-image:linear-gradient(to right,#82aec0 1px,transparent 1px),linear-gradient(to bottom,#82aec0 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at center,black,transparent 75%); }
.portfolio-helios { --accent:var(--hel); }.portfolio-herigen { --accent:var(--her); }.portfolio-hestyn { --accent:var(--hes); }
.portfolio-visual .portfolio-logo { width:min(40%,210px);height:230px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 15px 30px rgba(0,0,0,.25)); }
.portfolio-herigen .portfolio-logo { width:65%;height:200px; }
.portfolio-visual-foot,.portfolio-number { position:absolute;z-index:2;left:23px;color:#b9cad5;font-size:.67rem;font-weight:800;letter-spacing:.17em; }
.portfolio-number { top:21px; }.portfolio-visual-foot { bottom:23px; }
.portfolio-copy h2 { font-size:clamp(3.1rem,5vw,5.4rem);margin:19px 0; }
.portfolio-description { font-size:1.04rem;color:#b7c8d5;max-width:550px;margin:28px 0; }
.portfolio-tags { display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px; }
.portfolio-tags span { padding:9px 11px;font-size:.73rem;color:#c1d0da;border:1px solid #314a59;background:#152332;border-radius:4px; }
.portfolio-disclosure { border-left:2px solid #66c7ce; padding:6px 22px;margin:19px 0 0;color:#aabaca;max-width:940px; }
.portfolio-disclosure strong { color:#f1f5f9; }.portfolio-disclosure p { margin-top:10px;font-size:.9rem; }
/* Product details */
.detail-hero { position:relative;overflow:hidden;background:#0b1320;border-bottom:1px solid #2c4251;padding:48px 0 104px; }
.detail-helios { --accent:var(--hel);background:radial-gradient(ellipse at 78% 42%,rgba(176,102,16,.13),transparent 49%),#0b1320; }
.detail-herigen { --accent:var(--her);background:radial-gradient(ellipse at 78% 42%,rgba(116,155,100,.14),transparent 49%),#0b1320; }
.detail-hestyn { --accent:var(--hes);background:radial-gradient(ellipse at 78% 42%,rgba(73,150,155,.13),transparent 49%),#0b1320; }
.breadcrumb { font-size:.82rem;font-weight:700;color:#aac7d4;display:inline-block;margin-bottom:75px; }
.breadcrumb:hover { color:white; }
.detail-hero-grid { display:grid;grid-template-columns:1fr .83fr;gap:85px;align-items:center; }
.detail-copy .eyebrow { color:var(--accent); }
.detail-copy h1 { font-size:clamp(4.6rem,7vw,8rem);margin:18px 0 22px; }
.detail-copy h2 { font-size:clamp(1.95rem,2.6vw,2.9rem);margin:30px 0 18px;max-width:630px; }
.detail-copy p { color:#b0c3d1;font-size:1rem;max-width:650px;margin-bottom:27px; }
.detail-art { display:grid;place-items:center;min-height:420px;position:relative;overflow:hidden;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 12%,transparent),transparent 64%),#111f2d;border:1px solid #345366;border-radius:14px; }
.detail-art-logo { position:relative;z-index:2;width:min(60%,290px);height:270px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.26)); }
.detail-herigen .detail-art-logo { width:80%;max-height:240px; }
.detail-art-footer { position:absolute;z-index:3;bottom:22px;left:25px;font-size:.67rem;letter-spacing:.18em;color:#9bb1c2;font-weight:750; }
.detail-content { background:#0e1724; }
.detail-section-intro { display:grid;grid-template-columns:1fr .6fr;gap:60px;align-items:end;margin-bottom:45px; }
.detail-section-intro .eyebrow { grid-column:1/-1; }
.detail-section-intro h2 { font-size:clamp(2.7rem,4vw,4.5rem); }
.detail-section-intro p { color:#a5b9c8;max-width:390px; }
.detail-item-list { border-top:1px solid #344758; }
.detail-item { display:grid;grid-template-columns:.63fr 1fr;gap:55px;padding:41px 0;border-bottom:1px solid #344758; }
.detail-item-num { font-size:.72rem;letter-spacing:.14em;font-weight:800;color:#8de0df;padding-top:9px; }
.detail-item h3 { font-size:1.75rem;margin-bottom:12px; }
.detail-item p { color:#abbdc9;max-width:720px; }
.detail-status-section { padding-top:78px;background:#0e1724; }
.status-banner { display:flex;justify-content:space-between;gap:50px;align-items:center;background:#102433;border:1px solid #366172;padding:43px 50px;border-radius:11px; }
.status-banner .eyebrow { margin-bottom:19px; }
.status-banner h2 { font-size:clamp(1.8rem,2.6vw,2.8rem);margin-bottom:14px; }
.status-banner p { color:#b2c7d2;max-width:800px;font-size:.92rem; }
.status-banner-emblem { flex-shrink:0;width:115px;height:115px;display:grid;place-items:center; }
.status-banner-emblem img { max-width:100%;max-height:100%;object-fit:contain; }
.status-banner-herigen { background:#152720;border-color:#42604c; }
.status-banner-helios { background:#25251e;border-color:#66593e; }
.detail-outro { background:#0a121c; }
.detail-outro>.container { display:flex;align-items:center;justify-content:space-between;gap:35px; }
.detail-outro h2 { font-size:clamp(2.2rem,3.6vw,4rem);margin:13px 0; }
.detail-outro p { color:#a4b7c6; }
/* About */
.about-founder-section { background:#0e1724; }
.about-founder-grid { display:grid;grid-template-columns:.92fr 1fr;gap:95px;align-items:center; }
.about-founder-picture { margin:0; }
.about-portrait { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 10%; }
.about-picture-label { position:absolute;right:0;bottom:0;left:0;padding:22px 25px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#d4e4e7;font-size:.67rem;font-weight:800;letter-spacing:.14em; }
.about-founder-text h2 { font-size:clamp(2.8rem,4vw,4.6rem);margin:23px 0 28px; }
.founder-title { display:block;font-size:1rem;font-weight:650;color:#7ad4d5;letter-spacing:.01em;margin-top:13px; }
.about-founder-text p { font-size:1rem;color:#b3c5d3;margin-bottom:18px; }
.founder-keyline { display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid #365163;margin-top:33px;padding-top:23px;font-size:.67rem;font-weight:800;letter-spacing:.13em;color:#91adbf; }
.about-story-section { background:#111d2b; }
.story-grid { display:grid;grid-template-columns:1fr 1fr;gap:95px; }
.story-grid h2 { font-size:clamp(2.7rem,4vw,4.4rem);margin-top:22px; }
.story-grid>div:nth-child(2) { padding-top:28px; }
.story-grid p { color:#afc0cd;margin-bottom:18px; }
.about-principles { background:#0a111b; }
.approach-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:25px; }
.approach-grid>div { border-top:1px solid #436375;padding-top:24px; }
.approach-grid span { color:#75d7df;font-size:.72rem;letter-spacing:.15em;font-weight:800; }
.approach-grid h3 { font-size:1.6rem;margin:24px 0 14px; }
.approach-grid p { font-size:.91rem;color:#a4b9c9; }
/* Contact */
.contact-body { background:#0b1420; }
.contact-grid { display:grid;grid-template-columns:.84fr 1fr;gap:90px; }
.contact-aside h2 { font-size:clamp(2.45rem,3.7vw,4rem);margin:24px 0; }
.contact-aside>p { color:#adbecc;max-width:460px; }
.contact-interests { border-top:1px solid #30465a;margin-top:36px; }
.contact-interests a { display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid #30465a; }
.contact-interests a:hover span { color:#8beced; }
.contact-interests strong { font-size:.95rem; }.contact-interests span { color:#8fa9bb;font-size:.81rem;text-align:right; }
.sensitive-note { border-left:2px solid #6ac9d5;padding-left:16px;font-size:.83rem;margin-top:35px; }
.contact-form-card { align-self:start;padding:40px;background:#142332;border:1px solid #344b5d;border-radius:11px; }
.form-head h2 { font-size:2.1rem;margin:15px 0 12px; }
.form-head p { font-size:.88rem;color:#aebfcc;margin-bottom:28px; }
.contact-form-card form { display:grid;gap:19px; }
.contact-form-card label { display:grid;gap:9px;color:#dce7ef;font-size:.79rem;font-weight:750; }
.contact-form-card label span { color:#8da6b8;font-weight:500; }
.form-two { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.contact-form-card input,.contact-form-card select,.contact-form-card textarea { appearance:none;border:1px solid #405b70;background:#0b1724;border-radius:5px;color:#e9f2f7;padding:13px 14px;width:100%;min-width:0;resize:vertical; }
.contact-form-card input::placeholder,.contact-form-card textarea::placeholder { color:#7d95a9; }
.contact-form-card textarea { min-height:150px; }
.form-button { width:100%;margin-top:2px; }
.form-footnote { color:#a0b4c3;font-size:.78rem;text-align:center; }
.direct-address { display:inline-block;margin-top:23px;color:#8fe7e8;font-size:.84rem; }
/* privacy */
.privacy-body { background:#0d1623; }
.privacy-layout { display:grid;grid-template-columns:240px minmax(0,740px);justify-content:space-between;gap:80px; }
.privacy-layout aside { display:flex;flex-direction:column;align-items:flex-start;gap:16px;align-self:start;position:sticky;top:122px; }
.privacy-layout aside>span { font-size:.66rem;letter-spacing:.15em;color:#75d5dc;font-weight:850;margin-bottom:6px; }
.privacy-layout aside>a { font-size:.84rem;color:#b0c4d0; }.privacy-layout aside>a:hover { color:#85e7e6; }
.privacy-copy section { border-bottom:1px solid #293d4e;padding-bottom:29px;margin-bottom:34px;scroll-margin-top:125px; }
.privacy-copy h2 { font-size:1.67rem;margin-bottom:15px; }
.privacy-copy p { color:#b0c2cf;margin-bottom:13px; }
.privacy-copy a { color:#8fe3e6;text-decoration:underline;text-underline-offset:4px; }
.lost-hero .page-hero-content { min-height:60vh; }
.lost-hero .button { margin-top:24px; }
/* footer */
.footer { background:#070c14;border-top:1px solid #253646;padding-top:70px; }
.footer-main { display:flex;justify-content:space-between;gap:90px;padding-bottom:67px; }
.footer-brand { max-width:350px; }
.footer-brand p { font-size:.85rem;color:#94a8b8;max-width:330px;margin-top:21px; }
.footer-mail { display:inline-flex;gap:13px;align-items:center;font-size:.82rem;color:#7bdddf;margin-top:20px; }
.footer-links { display:flex;gap:70px; }
.footer-links>div { display:flex;flex-direction:column;gap:13px;min-width:95px; }
.footer-links strong { font-size:.82rem;margin-bottom:8px; }.footer-links a { font-size:.81rem;color:#9eb1c0; }
.footer-links a:hover,.footer-bottom a:hover { color:#8ae7e9; }
.footer-bottom { border-top:1px solid #243342;min-height:75px;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#8195a5;font-size:.72rem; }
.footer-bottom a { color:#bdc9d4; }
/* animation enhancement: content is visible by default even without JS */
@media(prefers-reduced-motion:no-preference) { .reveal { animation:subtle-enter .66s ease-out both; } @keyframes subtle-enter { from { opacity:.5; transform:translateY(15px); } to { opacity:1; transform:none; } } }
/* Responsive */
@media(max-width:1130px) {
 .container { width:min(calc(100% - 62px),var(--container)); }
 .desktop-nav { gap:21px; }
 .hero-grid { grid-template-columns:1fr .85fr; }
 .hero-copy h1 { font-size:clamp(3.2rem,5vw,5rem); }
 .hero-composition { margin-right:-24px; }
 .comp-origin { left:31px; }.comp-spine { left:60px; }.comp-product { left:92px;right:12px; }
 .comp-product small { font-size:.61rem; }
 .split-philosophy,.founder-grid,.about-founder-grid { gap:62px; }
 .portfolio-row { gap:50px; }
 .contact-grid { gap:55px; }
}
@media(max-width:880px) {
 .container { width:min(calc(100% - 48px),var(--container)); }
 .desktop-nav,.button-nav { display:none; }
 .header-inner { min-height:72px; }
 .menu-toggle { display:grid;align-content:center;justify-items:center;gap:5px;width:44px;height:43px;border:1px solid #30475b;background:#132434;border-radius:6px; }
 .menu-toggle span { width:20px;height:2px;background:#d7ebef;display:block; }
 .mobile-nav:not([hidden]) { display:flex;position:absolute;top:100%;left:0;right:0;min-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow:auto;flex-direction:column;background:#0e1a29;padding:15px 24px 36px;border-bottom:1px solid #30465b;box-shadow:0 20px 40px rgba(0,0,0,.4); }
 .mobile-nav a { padding:16px 9px;border-bottom:1px solid #263b4a;font-size:1rem;font-weight:700; }
 .mobile-nav a.mobile-sub { padding-left:30px;color:#b0e5e2;font-size:.88rem; }
 .mobile-sub span { display:block;color:#8fa6b8;font-size:.7rem;margin-top:5px;font-weight:500; }
 .section { padding:85px 0; }
 .hero-grid { display:block;min-height:auto; }
 .hero-copy { padding:90px 0 45px; }
 .hero-copy h1 { max-width:760px;font-size:clamp(3.4rem,8vw,5.4rem); }
 .hero-composition { max-width:650px;height:440px;margin:0 auto 66px; }
 .comp-origin { top:55px; }.comp-spine { top:128px;height:239px; }
 .comp-helios { top:146px; }.comp-herigen { top:235px; }.comp-hestyn { top:324px; }
 .comp-product { min-height:76px; }
 .bottom-label { bottom:11px; }
 .strip-item { padding:16px 12px;gap:8px; }.strip-image { width:40px;height:40px;flex-basis:40px; }
 .strip-item small { font-size:.6rem; }.strip-item strong { font-size:.69rem; }.strip-go { display:none; }
 .split-philosophy { grid-template-columns:1fr;gap:45px; }
 .product-card-grid { grid-template-columns:repeat(2,1fr); }
 .product-card:last-child { grid-column:span 2;min-height:390px; }
 .product-card:last-child .pc-content p { min-height:unset; }
 .product-card:last-child .pc-logo { margin-top:16px;height:128px; }
 .founder-grid { gap:50px; }
 .founder-copy h2 { font-size:3.1rem; }
 .status-header { display:block; }.status-header>p { margin:0 0 30px; }
 .stage-grid { grid-template-columns:1fr; }
 .portfolio-row { grid-template-columns:1fr 1fr;gap:30px; }
 .portfolio-visual { min-height:340px; }
 .detail-hero-grid { gap:35px; }
 .detail-art { min-height:340px; }
 .about-founder-grid,.story-grid { gap:44px; }
 .contact-grid { gap:38px; }
 .footer-main { gap:35px; }.footer-links { gap:28px; }
}
@media(max-width:650px) {
 .container { width:calc(100% - 38px); }
 .section { padding:69px 0; }
 .header-inner { min-height:68px; }
 .mobile-nav:not([hidden]) { min-height:calc(100dvh - 68px);max-height:calc(100dvh - 68px); }
 .brand-symbol { width:36px;height:36px; }.brand-type strong { font-size:.88rem; }.brand-type small { font-size:.46rem; }
 .eyebrow { font-size:.61rem;letter-spacing:.13em;gap:9px; }.line-mark { width:14px; }
 .home-hero { background:radial-gradient(ellipse at 85% 10%,rgba(21,117,131,.22),transparent 58%),#090f1a; }
 .home-hero::before { mask-image:linear-gradient(90deg,transparent,black); }
 .hero-copy { padding:69px 0 45px; }
 .hero-copy h1 { font-size:clamp(2.95rem,11.3vw,4.8rem);margin:22px 0; }
 .hero-copy>p { font-size:.97rem; }.hero-copy>p.hero-secondary { font-size:.87rem; }
 .hero-cta { flex-direction:column; }.hero-cta .button { width:100%; }
 .hero-under { font-size:.58rem;margin-top:29px; }
 .hero-composition { height:389px;margin-bottom:40px;border-radius:10px; }
 .top-label { left:14px;top:16px;font-size:.52rem; }.bottom-label { left:14px;font-size:.5rem; }
 .comp-origin { left:18px;top:53px;gap:8px; }.comp-origin-mark { width:48px;height:48px;padding:8px; }.comp-origin strong { font-size:.9rem; }.comp-origin small { font-size:.51rem; }
 .comp-spine { left:42px;top:109px;height:227px; }
 .comp-product { left:61px;right:9px;min-height:69px;padding:8px 10px;gap:9px; }
 .comp-helios { top:122px; }.comp-herigen { top:204px; }.comp-hestyn { top:286px; }
 .comp-logo { width:45px;height:45px;flex-basis:45px; }.comp-product strong { font-size:.82rem; }.comp-product small { font-size:.57rem; }.comp-arrow { display:none; }
 .strip-inner { grid-template-columns:1fr; }.strip-item { border-right:1px solid #263649;border-bottom:1px solid #263649;padding:11px 13px; }.strip-item:first-child { border-top:0; }.strip-item:last-child { border-bottom:0; }.strip-item small { font-size:.7rem; }.strip-item strong { font-size:.78rem; }.strip-go { display:block; }
 .section-title h2,.split-philosophy h2 { font-size:clamp(2.5rem,9vw,3.6rem); }
 .section-title>p { font-size:.92rem; }
 .product-card-grid { grid-template-columns:1fr; }.product-card:last-child { grid-column:auto; }.product-card { min-height:420px; }.product-card:last-child { min-height:420px; }.pc-logo { height:145px; }.pc-title h3 { font-size:1.88rem; }.pc-content p { min-height:0; }
 .capability-row { grid-template-columns:1fr 25px;gap:10px;padding:26px 0; }.cap-id { grid-column:1/-1;margin:0 0 10px; }.capability-row h3 { font-size:1.3rem; }.capability-row p { font-size:.87rem; }
 .founder-grid,.about-founder-grid,.story-grid { grid-template-columns:1fr;gap:38px; }.founder-copy h2 { font-size:clamp(2.6rem,10vw,3.7rem); }.founder-photo { aspect-ratio:1.1; }
 .status-header .section-title h2 { font-size:2.6rem; }
 .cta-panel-inner { padding:43px 26px 46px; }.cta-panel h2 { font-size:2.8rem; }.cta-deco { width:180px;height:180px;right:-48px;opacity:.11; }
 .page-hero-content { padding:78px 0 74px; }.page-hero h1 { font-size:clamp(3.1rem,10.5vw,5rem);margin:22px 0; }.page-hero p { font-size:.96rem; }
 .portfolio-row { grid-template-columns:1fr;gap:30px;padding:23px 0 55px; }.portfolio-visual { min-height:300px; }.portfolio-visual .portfolio-logo { height:190px; }.portfolio-copy h2 { font-size:3.7rem; }.portfolio-description { font-size:.97rem; }
 .detail-hero { padding:26px 0 69px; }.breadcrumb { margin-bottom:49px; }.detail-hero-grid { grid-template-columns:1fr;gap:40px; }.detail-copy h1 { font-size:clamp(4rem,14vw,6rem); }.detail-copy h2 { font-size:2.2rem; }.detail-art { min-height:310px; }.detail-art-logo { height:210px; }.detail-herigen .detail-art-logo { max-height:185px; }
 .detail-section-intro { display:block; }.detail-section-intro h2 { font-size:2.6rem;margin:18px 0; }.detail-item { grid-template-columns:1fr;gap:12px;padding:28px 0; }.detail-item h3 { font-size:1.43rem; }.detail-item p { font-size:.91rem; }
 .status-banner { padding:25px; }.status-banner-emblem { display:none; }.status-banner h2 { font-size:1.85rem; }.detail-outro>.container { flex-direction:column;align-items:start; }.detail-outro .button { width:100%; }
 .about-portrait { aspect-ratio:1; }.about-founder-text h2 { font-size:3.2rem; }.story-grid h2 { font-size:3.1rem; }.story-grid>div:nth-child(2) { padding:0; }.approach-grid { grid-template-columns:1fr;gap:30px; }
 .contact-grid { grid-template-columns:1fr;gap:50px; }.contact-form-card { padding:24px 20px; }.form-two { grid-template-columns:1fr; }.contact-interests { max-width:none; }.contact-aside h2 { font-size:2.8rem; }
 .privacy-layout { grid-template-columns:1fr;gap:35px; }.privacy-layout aside { position:static;display:none; }
 .footer { padding-top:55px; }.footer-main { display:block;padding-bottom:46px; }.footer-links { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px; }.footer-links>div { min-width:0; }.footer-bottom { align-items:start;flex-direction:column;gap:14px;font-size:.68rem; }
}
@media(max-width:380px) {
 .comp-product small { font-size:.5rem; }
 .comp-origin small { font-size:.45rem; }
 .pc-meta { font-size:.57rem; }
 .status { font-size:.56rem; }
 .footer-links a { font-size:.73rem; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .button,.product-card,.comp-product,.strip-item,.stage-item,.dropdown-product,.capability-row { transition:none; }
 .reveal { animation:none!important; }
}
