﻿/* ABYSS / ICE — FHG's deep-ocean blue and luminous cyan visual system. */
:root {
  --bg:#071c34; --surface:#0d2948; --text:#f1f8ff; --muted:#abc1d7;
  --line:#a6dcff26; --cyan:#60e9ff; --blue:#8ebeff;
  --ice:#defaff; --navy:#071c34; color-scheme:dark;
}
body { background:var(--bg); color:var(--text); }
::selection { background:#60e9ff; color:#071c34; }
a:focus-visible,button:focus-visible { outline-color:#60e9ff; }
.announcement { height:34px; background:#103b5d; color:#d6f9ff; letter-spacing:.12em; border-bottom:1px solid #70dfff25; }
.announcement a { color:#7eeeff; }
.live-dot { background:#66eeff; box-shadow:0 0 12px #66eeff80; }
.nav { height:80px; background:#071c34eb; border-color:#9cddff20; color:#f1faff; backdrop-filter:blur(24px); }
.nav nav a { color:#b0c8dd; }
.nav nav a:hover { color:#77ecff; }
.nav .brand img { filter:invert(1); }
.brand { gap:10px; }
.brand b { font-size:28px; }
.button { border-radius:3px; padding:15px 28px; letter-spacing:.02em; }
.primary,.nav .primary { background:#69eaff; color:#08253f; box-shadow:0 0 0 1px #b6f7ff22; }
.primary:hover,.nav .primary:hover { background:#a7f4ff; box-shadow:0 8px 24px #4de7ff28; }
.ghost { background:#a6e4ff08; border:1px solid #9ad7fa42; color:#d6efff; }
.small { padding:9px 18px; }
.eyebrow { color:#82b5d5; letter-spacing:.21em; font-size:10px; }
.small-line { background:#64e9ff; width:32px; }
.hero {
  min-height:700px; grid-template-columns:1fr 1.08fr; padding-top:65px;
  background:radial-gradient(ellipse at 78% 32%,#126a9850,transparent 47%),linear-gradient(115deg,#071c34 20%,#092e50 70%,#0a3d5b);
  isolation:isolate;
}
.hero:before {
  content:"";position:absolute;z-index:-1;width:560px;height:560px;right:3%;top:6%;
  background:radial-gradient(ellipse,#38ddff26 0%,#2ad7ff10 40%,transparent 70%);
  animation:ice-glow 8s ease-in-out infinite alternate;
}
.hero:after {
  content:"";position:absolute;inset:auto 0 0;height:160px;
  background:linear-gradient(transparent,#071c3455);pointer-events:none;z-index:-1;
}
.hero .eyebrow { color:#85d9ee; }
h1 { font-size:clamp(48px,5.4vw,78px); letter-spacing:-.055em; font-weight:700; line-height:1.28; }
.gradient-text { background:none; color:#73ebff; -webkit-text-fill-color:#73ebff; }
.hero-description { color:#b4cde0; font-size:15px; }
.hero-cta { margin-top:35px; }
.hero .primary { background:#6be9ff; box-shadow:0 12px 36px #35d6ff20; }
.hero .ghost { background:#1038557a; }
.hero-price .price { color:#ecfbff; font-size:28px; font-weight:600; }
.hero-price>span:last-child { color:#8cacc7; }
.hero-grid {
  opacity:.55; background-image:linear-gradient(#55c8ee10 1px,transparent 1px),linear-gradient(90deg,#55c8ee10 1px,transparent 1px);
  background-size:68px 68px; mask-image:linear-gradient(90deg,transparent 35%,#000);
}
.orbital-one { width:780px;height:780px;right:-25px;top:-52px;border-color:#65ddff20; }
.orbital-two { width:620px;height:620px;right:55px;top:28px;border-color:#65ddff16; }
.hero-visual { height:510px; }
.hero-visual:before {
  content:"01"; position:absolute;right:-6%;top:-13%;font:500 260px/1 var(--font);letter-spacing:-25px;
  color:transparent;-webkit-text-stroke:1px #94dcfa16;pointer-events:none;z-index:0;
}
.product-hero { mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;width:106%;height:114%;filter:drop-shadow(0 30px 24px #00112270); }
.visual-ring { width:91%;height:20%;bottom:3%;border-color:#6de7ff66;box-shadow:0 0 25px #54dfff15,inset 0 0 24px #52d6ff10; }
.product-tag { background:#0c3451d4;border:1px solid #8cecff55;border-radius:2px;color:#c2f3ff;padding:10px 13px;box-shadow:0 6px 24px #00102030; }
.tag-top { right:-1%;top:9%; }
.tag-bottom { bottom:12%;left:0; }
.product-tag .live-dot { width:4px;height:4px; }
.crosshair { color:#6ceaff; }
.hero-bottom { color:#7298b6; }
.render-note { color:#90b2c9;font-size:9px; }
.feature-strip { background:#0d2c48;border-color:#8ed3ff1f;padding-top:30px;padding-bottom:30px; }
.feature-strip>span { border-color:#88cfff25; }
.feature-strip b { color:#86edff;letter-spacing:.13em;font-size:13px; }
.feature-strip em { color:#96b4cc; }
.section { padding-top:105px;padding-bottom:105px; }
.section-heading h2 { font-weight:650; }
.section-heading p { color:#a5bed3; }
.design-section { max-width:none;background:#edf4f8;color:#0d2942; }
.design-section .eyebrow { color:#48728d; }
.design-section .section-heading p { color:#657d90; }
.design-grid { gap:8%; }
.design-stage { background:radial-gradient(ellipse at 50% 30%,#fff 10%,#d7e5ee 75%,#c6dbe7);border:1px solid #c8d9e4;border-radius:3px;box-shadow:none; }
.technical-lines { background-image:linear-gradient(#4e789820 1px,transparent 1px),linear-gradient(90deg,#4e789820 1px,transparent 1px); }
.device-illustration { box-shadow:10px 9px 0 #5b6870,11px 10px 0 #84949f,24px 35px 45px #23486140,inset 0 1px 3px #fff; }
.dimension { color:#54788e;border-color:#68899d55; }
.stage-caption { color:#617f90; }
.view-controls { background:#f5fafdc9;border:1px solid #fff;border-radius:3px;padding:4px;gap:3px; }
.chip { border-radius:2px;background:transparent;border:0;color:#57748a;padding:6px 18px; }
.chip.active { background:#0e4a71;color:#e3fbff; }
.label { color:#1d7398; }
.design-copy h3 { color:#14334c;font-size:38px; }
.design-copy p { color:#60798b; }
.material small { color:#688293; }
.swatch { border-color:#e1eaf0;outline-color:#90a4b2; }
.design-notes { border-color:#64839729;color:#3182a3; }
.design-notes b { color:#3e6078; }
.features-section { max-width:none;background:linear-gradient(135deg,#09233f,#0b3050); }
.features-section .eyebrow { color:#76cce3; }
.bento { gap:20px; }
.feature-card { background:#0d3455;border:1px solid #96dbff2b;border-radius:4px;padding:36px;box-shadow:none; }
.feature-card h3 { color:#e5f7ff;font-size:31px; }
.feature-card p { color:#acc9dd; }
.feature-card>small,.nfc-card small { color:#8badc5; }
.card-number { color:#68cbe4;letter-spacing:.18em; }
.sim-card { background:radial-gradient(ellipse at 80% 100%,#087b9c25,transparent 70%),#103751; }
.sim-unit { border-radius:7px 7px 18px 7px;background:linear-gradient(130deg,#244b66,#173c57);border:1px solid #78afce60;color:#e9f8ff;box-shadow:0 12px 25px #00132450; }
.sim-unit.selected { background:linear-gradient(130deg,#c0f7ff,#65cbe7);color:#103e5b;border-color:#c2f9ff;box-shadow:0 10px 30px #5cdeff24; }
.sim-unit small { color:#a1c5d8; }
.sim-unit.selected small { color:#2c6483; }
.sim-chip { color:#a7d9e8; }
.sim-unit.selected .sim-chip { color:#39748d; }
.connection-line { background:linear-gradient(90deg,transparent,#71e5ff,transparent); }
.simulation-label { color:#91bfd5; }
.recording-card { background:#0d2d51; }
.waveform i { background:linear-gradient(#b4f8ff,#4bbcec);opacity:.8; }
.record-button { background:#2baec321;border-color:#8eeaff70; }
.record-button span { background:#89eeff; }
.rec-controls>span { color:#d3f7ff; }
.rec-controls small { color:#8aafc8; }
.nfc-card { background:linear-gradient(110deg,#0e425d,#0d3452);border-color:#69d5ea33;min-height:300px; }
.nfc-card h3 { color:#d5f7ff; }
.nfc-animation i { border-color:#65e7ff50; }
.nfc-animation>span { color:#8ff1ff; }
.nfc-phone { border-color:#90d8f0;background:linear-gradient(145deg,#7dabc0,#234c69);box-shadow:8px 10px 28px #00162860;opacity:.9; }
.daily-section { max-width:none;background:#071e38;border-color:#8dceff20; }
.daily-section .eyebrow { color:#6bafcc; }
.daily-layout h2 { color:#f1f8ff; }
.timeline article>span { color:#7ec8df; }
.timeline article:before { background:#77c8e632; }
.timeline article:after { background:#7aebff;box-shadow:0 0 13px #75e8ff60; }
.timeline h3 { color:#d5ecfa; }
.timeline p { color:#96b7cf; }
.specs-section { max-width:none;background:#edf4f8;color:#16334b; }
.specs-section .eyebrow { color:#477a97; }
.specs-section .section-heading p { color:#657e90; }
.specs-grid { gap:0;border:1px solid #b9cedd;border-bottom:0;border-right:0; }
.specs-grid>div { border:0;border-bottom:1px solid #b9cedd;border-right:1px solid #b9cedd;background:transparent;padding:32px; }
.specs-grid small { color:#57768b; }
.specs-grid strong { color:#143d59;font-size:26px; }
.specs-grid span { color:#607e91; }
.spec-footnote { color:#637f90; }
.reserve-section { max-width:none;background:linear-gradient(112deg,#0d506d,#087a97);border-color:#60e9ff44; }
.reserve-glow { background:radial-gradient(ellipse,#4ce4ff18,transparent 60%); }
.reserve-section .eyebrow { color:#91e9f6; }
.reserve-layout h2 { color:#f1fdff;font-size:46px; }
.reserve-layout h2+p { color:#b1e3ef; }
.reserve-price { color:#a1f6ff;font-size:64px; }
.reserve-price span { color:#8fd4e4; }
.reserve-layout .muted { color:#add8e6; }
.purchase-card { background:#f7fcff;color:#183b50;border-color:#d7f8ff;border-radius:4px;box-shadow:0 20px 60px #002c4655; }
.purchase-card-head { border-color:#9db7c73d; }
.purchase-card-head img { filter:none; }
.purchase-card .badge { background:#e1f4fa;color:#216880;border-color:#afdae9;border-radius:2px; }
.purchase-row>span { color:#668294; }
.stepper { background:#edf5f9;border-color:#b2c9d6;border-radius:2px; }
.stepper button { color:#32647f; }
.total { border-color:#9db7c73d; }
.total strong { color:#0a5b7e; }
.purchase-card .primary { background:#0c668d;color:#fff;box-shadow:none; }
.purchase-card .primary:hover { background:#074f70; }
.purchase-notice { color:#668395; }
.payments { border-color:#9db7c73d;color:#577b8e; }
.payments b { color:#39677e; }
.faq-section { max-width:none;background:#09253f; }
.faq-section .eyebrow { color:#6daec9; }
.faq-list details { border-color:#8aceec26; }
.faq-list summary { color:#d9ecfa; }
.faq-list p { color:#a6c2d6; }
.faq-list a { color:#7feaff; }
.faq-list summary:after { color:#7acde4; }
footer { background:#06182e;border-color:#7acde42b; }
.footer-top>span { color:#90afc5; }
.footer-top>a:last-child { color:#91bfd6; }
.footer-bottom { border-color:#85b6d323;color:#8ba9c0; }
.footer-draft { color:#7191a9; }
.notice { background:#17405a;color:#b8e5f4;border-color:#75cbeb38; }
.toast { background:#16465d;border-color:#76d5ed66;color:#d8f8ff; }
.muted { color:#97b9cf; }
dialog { background:#0b2a46;color:#e5f3ff;border-color:#7fd2ef55;border-radius:4px;box-shadow:0 35px 130px #00101fd9; }
dialog::backdrop { background:#001329b5;backdrop-filter:blur(12px); }
.dialog-heading .eyebrow { color:#79bdd7; }
.icon-button { color:#9bcee1; }
form>label,legend { color:#b0d2e4; }
input:not([type=checkbox]):not([type=radio]),textarea,select { background:#071d35;border-color:#7bbbd044;color:#e1f5ff;border-radius:3px; }
.check-label a { color:#78e8ff; }
.order-info { background:#071f39;border-color:#8cc7e438; }
.order-info code { color:#aed7e8; }
.order-info strong { color:#8eeeff; }
.form-error { color:#ffbcae; }
.success-icon { background:#77ecff15;color:#81eeff; }
.legal-layout h1,.legal-layout h2,.legal-layout h3 { color:#e3f6ff; }
.legal-layout p,.legal-layout li { color:#abc8dc; }
.legal-layout .en { color:#8cacbf; }
.legal-layout a { color:#7ae7ff; }
.legal-layout .draft-data { background:#10334f; }
.admin-login,.admin-stats>div { background:#0c2a46; }
.admin-heading h1,.admin-login h2 { color:#e2f5ff; }
.admin-stats>div { color:#91b6cb; }
.admin-stats strong { color:#82e7ff; }
.admin-shell td { color:#bddbed; }
@keyframes ice-glow { from{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.06)} }
@media(min-width:1600px) { .hero{min-height:780px}.hero-visual{height:590px} }
@media(max-width:1050px) {
  .hero{min-height:640px}.hero-visual{height:440px}.hero h1{font-size:54px}
  .feature-card{padding:28px}.design-copy h3{font-size:32px}.reserve-layout h2{font-size:39px}
}
@media(max-width:760px) {
  .announcement{height:30px;font-size:8px}.nav{height:64px;background:#071c34f5}.nav .brand b{font-size:23px}
  .hero{padding:46px 6% 65px;min-height:auto;background:radial-gradient(ellipse at 50% 80%,#126f9360,transparent 58%),linear-gradient(155deg,#071e39,#0a3657)}
  .hero:before{width:360px;height:360px;right:calc(50% - 180px);top:44%}.hero:after{height:100px}
  .hero h1{font-size:46px;line-height:1.3}.hero-description{font-size:12px}.hero-visual{height:365px}
  .hero-visual:before{font-size:170px;right:-3%;top:9%;letter-spacing:-16px}.product-hero{width:108%;height:108%}
  .hero-cta{margin-top:25px}.hero-price .price{font-size:25px}.tag-top{top:18%;right:0}.tag-bottom{bottom:11%;left:-1%}
  .product-tag{padding:8px 10px;font-size:7px}.render-note{font-size:7px}.feature-strip{padding:24px 6%}
  .section{padding:65px 6%}.section-heading h2{font-size:30px}.design-stage{height:410px}.design-copy h3{font-size:30px}
  .feature-card{padding:28px;border-radius:4px}.feature-card h3{font-size:28px}.bento{gap:15px}.nfc-card{min-height:0}
  .specs-grid>div{padding:22px 16px}.specs-grid strong{font-size:20px}.reserve-layout h2{font-size:35px}.reserve-price{font-size:50px}
  .purchase-card{padding:25px}.footer-bottom{font-size:9px}.footer-draft{font-size:8px}
}
@media(prefers-reduced-motion:reduce) { .hero:before{animation:none} }
