@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800;900&display=swap");

:root {
  --blue: #29459a;
  --blue-dark: #16265f;
  --blue-soft: #edf1ff;
  --yellow: #ffc857;
  --ink: #12172a;
  --muted: #62697d;
  --line: #e6e8ef;
  --paper: #fffdf9;
  --white: #fff;
  --radius: 18px;
  --shadow: 0 14px 40px rgba(21, 33, 79, .09);
  --shell: min(1160px, calc(100% - 40px));
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.55 "Roboto", Arial, Helvetica, sans-serif; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .35; background-image: radial-gradient(#29459a12 .7px, transparent .7px); background-size: 15px 15px; z-index: -1; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 4.2vw, 4.2rem); }
h2 { font-size: clamp(1.55rem, 2.5vw, 2.45rem); }
h3 { font-size: clamp(1.18rem, 1.65vw, 1.5rem); }
.section-shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: 58px; }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-150%); background: #fff; color: var(--blue); padding: 10px 14px; z-index: 999; border-radius: 8px; }
.skip-link:focus { transform: none; }

.site-header { background: rgba(255,253,249,.96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); }
.brand-row { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; position: relative; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 170px; }
.brand img { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; }
.brand strong { font-size: 1.15rem; letter-spacing: .08em; color: var(--blue); }
.main-nav { display: flex; align-items: center; gap: clamp(18px, 2.6vw, 34px); font-size: .85rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.main-nav a { position: relative; padding-block: 26px; }
.main-nav a::after { content: ""; position: absolute; height: 3px; border-radius: 9px; background: var(--yellow); left: 0; right: 100%; bottom: 18px; transition: right .2s; }
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { right: 0; }
.menu-toggle { display: none; border: 0; background: var(--blue); color: #fff; width: 44px; height: 44px; border-radius: 12px; }
.tool-nav-wrap { border-top: 1px solid var(--line); }
.tool-nav { width: var(--shell); margin-inline: auto; display: flex; justify-content: center; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 8px 0; }
.tool-nav::-webkit-scrollbar { display: none; }
.tool-nav a { flex: 0 0 auto; color: #43506f; border-radius: 999px; padding: 8px 13px; font-size: .79rem; font-weight: 700; }
.tool-nav a:hover { background: var(--blue-soft); color: var(--blue); }

.eyebrow, .mini-heading, .tool-kicker, .article-meta, .result-label { color: var(--blue); font-size: .75rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.home-banner { position:relative; min-height:590px; overflow:hidden; background:var(--blue-dark); isolation:isolate; }
.home-banner__image,.home-banner__shade { position:absolute; inset:0; width:100%; height:100%; }
.home-banner__image { object-fit:cover; object-position:center 42%; z-index:-2; }
.home-banner__shade { z-index:-1; background:linear-gradient(90deg,rgba(9,18,56,.92) 0%,rgba(14,31,87,.77) 38%,rgba(13,26,70,.22) 67%,rgba(9,17,45,.12) 100%); }
.home-banner__inner { min-height:590px; display:flex; align-items:center; }
.home-banner__copy { width:min(610px,54%); color:#fff; padding:54px 0; }
.home-banner .eyebrow { color:var(--yellow); }.home-banner h1 { color:#fff; font-size:clamp(2.8rem,5.2vw,4.7rem); margin-bottom:20px; }.home-banner .hero-lead { color:#eef2ff; font-size:1.08rem; }
.home-banner .trust-line { color:#eef2ff; }.home-banner .trust-line span::before { color:var(--yellow); }
.liu-latest { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr); gap:42px; padding-top:58px; padding-bottom:54px; }
.liu-feature-image { display:block; aspect-ratio:16/8.4; overflow:hidden; border-radius:18px; background:var(--blue); margin-bottom:20px; box-shadow:var(--shadow); }
.liu-feature-image img { width:100%; height:100%; object-fit:cover; object-position:center 38%; transition:transform .3s ease; }.liu-feature-image:hover img { transform:scale(1.02); }
.liu-latest__feature h2 { font-size:clamp(1.75rem,2.7vw,2.65rem); margin-bottom:13px; max-width:820px; }.liu-latest__feature h2 a:hover { color:var(--blue); }.liu-latest__feature > p:last-child { color:var(--muted); max-width:800px; margin-bottom:0; }
.liu-latest__side { align-self:start; }.liu-latest__side .mini-heading { margin-bottom:0; }
.home-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr); align-items:center; gap:clamp(42px,7vw,90px); padding-top:54px; padding-bottom:38px; }
.home-hero__copy { max-width:610px; }.home-hero h1 { max-width:600px; margin-bottom:18px; font-size:clamp(2.6rem,5vw,4.5rem); }
.hero-lead { color:var(--muted); font-size:1.08rem; max-width:590px; margin-bottom:26px; }
.hero-actions { margin-bottom:24px; }.button--soft { background:var(--blue-soft); color:var(--blue); border:1px solid #d6defa; }
.trust-line { display:flex; flex-wrap:wrap; gap:10px 20px; color:#59627a; font-size:.79rem; font-weight:700; }.trust-line span::before { content:"✓"; color:var(--blue); margin-right:6px; }
.home-hero__media { margin:0; position:relative; border-radius:26px; overflow:hidden; background:var(--blue); aspect-ratio:1.08; box-shadow:var(--shadow); }
.home-hero__media img { width:100%; height:100%; object-fit:cover; object-position:55% center; }
.home-hero__media figcaption { position:absolute; inset:auto 16px 16px; display:flex; flex-direction:column; gap:2px; padding:13px 16px; border-radius:14px; background:rgba(255,255,255,.93); color:var(--ink); box-shadow:0 8px 22px rgba(14,24,63,.15); backdrop-filter:blur(8px); }
.home-hero__media figcaption strong { font-size:.9rem; }.home-hero__media figcaption span { color:var(--muted); font-size:.75rem; }
.quick-paths { padding:22px 0 54px; display:grid; grid-template-columns:260px 1fr; align-items:center; gap:28px; }
.quick-paths__intro h2 { font-size:1.45rem; margin:0; }.quick-paths__intro .eyebrow { margin-bottom:7px; }
.quick-paths__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.quick-paths__grid > a { display:flex; align-items:center; gap:13px; min-height:86px; padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 6px 20px rgba(21,33,79,.045); transition:.2s ease; }
.quick-paths__grid > a:hover { border-color:#aebce7; transform:translateY(-2px); box-shadow:var(--shadow); }
.quick-paths__grid strong,.quick-paths__grid small { display:block; }.quick-paths__grid strong { font-size:.9rem; line-height:1.25; }.quick-paths__grid small { color:var(--muted); font-size:.74rem; margin-top:4px; }
.quick-icon { flex:0 0 42px; width:42px; height:42px; border-radius:13px; display:grid; place-items:center; background:var(--blue-soft); color:var(--blue); font-weight:900; font-size:1.05rem; }
.latest-compact { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:50px; padding:34px 0 58px; border-top:1px solid var(--line); }
.latest-compact__lead { padding:24px; border-radius:20px; background:linear-gradient(145deg,var(--blue) 0%,#3f5bbb 100%); color:#fff; }.latest-compact__lead .eyebrow { color:var(--yellow); }.latest-compact__lead h2 { font-size:1.75rem; }.latest-compact__lead p:not(.eyebrow) { color:#dfe5ff; }
.text-action { display:inline-flex; min-height:42px; align-items:center; padding:10px 14px; border-radius:10px; background:#fff; color:var(--blue); font-size:.85rem; font-weight:850; }
.latest-compact__list { align-self:center; }.latest-compact__list .side-story:first-child { border-top:1px solid var(--line); }
.latest { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr); gap: 44px; padding-top: 48px; padding-bottom: 64px; }
.feature-media { display: block; margin-bottom: 24px; border-radius: 22px; overflow: hidden; background: var(--blue); aspect-ratio: 16/9; box-shadow: var(--shadow); }
.feature-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; transition: transform .35s ease; }
.feature-media:hover img { transform: scale(1.025); }
.latest h1 { max-width: 860px; margin-bottom: 14px; }
.latest h1 a:hover { color: var(--blue); }
.latest__feature > p:last-child { color: var(--muted); max-width: 780px; font-size: 1.04rem; }
.latest__list { align-self: end; padding-bottom: 5px; }
.mini-heading { border-bottom: 2px solid var(--blue); padding-bottom: 11px; margin-bottom: 8px; }
.side-story { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.side-story:hover strong { color: var(--blue); }
.story-thumb { aspect-ratio: 1.35; border-radius: 11px; display: grid; place-items: center; color: var(--blue-dark); font: 850 .75rem/1 ui-monospace, monospace; }
.thumb--yellow { background: #ffe09a; }.thumb--blue { background: #cdd9ff; }.thumb--lilac { background: #e2d5ff; }.thumb--mint { background: #c8f0e5; }

.tool-band { background: var(--blue-dark); color: #fff; padding: 62px 0 70px; position: relative; overflow: hidden; scroll-margin-top:128px; }
.tool-band::after { content: ""; position: absolute; width: 420px; height: 420px; border: 90px solid rgba(255,200,87,.12); border-radius: 50%; right: -170px; top: -210px; }
.section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 28px; position: relative; z-index: 1; }
.section-heading h2 { margin-bottom: 0; }.section-heading > p { color: #cbd3f1; max-width: 480px; margin-bottom: 2px; }.tool-band .eyebrow { color: var(--yellow); }
.tool-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 10px; position: relative; z-index: 1; scrollbar-width:none; }.tool-switcher::-webkit-scrollbar { display:none; }
.tool-tab { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; border-radius: 14px; padding: 15px 18px; font-weight: 750; text-align: left; }
.tool-tab span { color: var(--yellow); margin-right: 8px; }.tool-tab.is-active { background: var(--yellow); border-color: var(--yellow); color: var(--blue-dark); }.tool-tab.is-active span { color: var(--blue); }
.tool-stage { background: #fff; color: var(--ink); border-radius: 22px; box-shadow: 0 24px 60px rgba(0,0,0,.2); position: relative; z-index: 1; }
.tool-panel { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 52px; align-items: center; padding: clamp(28px, 5vw, 60px); min-height: 440px; }
.tool-panel.is-active { display: grid; }.tool-panel[hidden] { display: none; }
.tool-panel--tryon { grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr); gap:clamp(28px,4vw,54px); }
.dia-copy > p:not(.tool-kicker) { color:var(--muted); }
.dia-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:24px 0 12px; }
.dia-choices button { min-height:54px; border:1px solid #d9dce7; border-radius:11px; background:#fff; color:#3e4864; display:grid; place-items:center; gap:1px; padding:7px 5px; }.dia-choices button span { font-weight:850; }.dia-choices button small { color:#7a8297; font-size:.68rem; font-weight:650; }.dia-choices button:hover { border-color:#91a2dc; }.dia-choices button.is-active { background:var(--blue); color:#fff; border-color:var(--blue); box-shadow:0 7px 18px rgba(41,69,154,.18); }.dia-choices button.is-active small { color:#dbe2ff; }
.dia-result { margin-top:14px; padding:15px 16px; border-left:4px solid var(--yellow); border-radius:0 12px 12px 0; background:#f5f7ff; }.dia-result > span { display:block; color:var(--muted); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.dia-result strong { display:block; margin:1px 0 3px; color:var(--blue); font-size:1.18rem; }.dia-result p { margin:0; color:#555f77; font-size:.78rem; line-height:1.55; }
.dia-tryon-card { min-width:0; }.dia-tryon-stage { position:relative; aspect-ratio:1216/464; overflow:hidden; border-radius:19px; background:#e8e2df; box-shadow:0 20px 45px rgba(31,39,69,.16),inset 0 0 0 1px rgba(31,39,69,.08); isolation:isolate; }
.dia-model { display:block; width:100%; height:100%; object-fit:cover; }
.eye-aperture {
  position:absolute;
  z-index:3;
  left:66.5%;
  top:42%;
  width:21.4%;
  height:36%;
  overflow:hidden;
  -webkit-clip-path:polygon(0 51%,7% 38%,20% 27%,38% 20%,58% 18%,77% 26%,92% 39%,100% 51%,94% 61%,88% 69%,78% 78%,68% 84%,58% 88%,48% 89%,38% 88%,28% 84%,18% 78%,10% 70%,4% 61%);
  clip-path:polygon(0 51%,7% 38%,20% 27%,38% 20%,58% 18%,77% 26%,92% 39%,100% 51%,94% 61%,88% 69%,78% 78%,68% 84%,58% 88%,48% 89%,38% 88%,28% 84%,18% 78%,10% 70%,4% 61%);
  pointer-events:none;
}
.natural-iris-scale {
  position:absolute;
  z-index:1;
  top:50.3%;
  left:50%;
  width:46.26%;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(var(--iris-scale));
  transform-origin:center;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .18s ease;
  -webkit-mask-image:radial-gradient(circle,#000 0 91%,rgba(0,0,0,.96) 94%,rgba(0,0,0,.48) 98%,transparent 100%);
  mask-image:radial-gradient(circle,#000 0 91%,rgba(0,0,0,.96) 94%,rgba(0,0,0,.48) 98%,transparent 100%);
  pointer-events:none;
}
.natural-iris-source {
  position:absolute;
  z-index:1;
  display:block;
  width:1010.1%;
  height:auto;
  max-width:none;
  left:-729.8%;
  top:-181.6%;
}
.dia-tryon-stage.is-original .natural-iris-scale { opacity:0; }
.dia-tryon-stage.is-changing .natural-iris-scale { filter:contrast(1.01); }
.dia-photo-label,.dia-eye-label { position:absolute; z-index:5; color:#fff; background:rgba(17,25,51,.78); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); border:1px solid rgba(255,255,255,.26); }.dia-photo-label { left:14px; bottom:14px; padding:8px 11px; border-radius:10px; font-size:.72rem; }.dia-photo-label strong { color:var(--yellow); margin-left:3px; }.dia-eye-label { top:10px; padding:5px 9px; border-radius:999px; font-size:.64rem; font-weight:800; transform:translateX(-50%); }.dia-eye-label--left { left:24.85%; }.dia-eye-label--right { left:77.5%; background:rgba(41,69,154,.88); }.dia-eye-divider { position:absolute; z-index:4; left:50%; top:13%; bottom:13%; border-left:1px dashed rgba(255,255,255,.72); box-shadow:1px 0 rgba(32,35,50,.18); }
.dia-tryon-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 2px 5px; }.dia-tryon-footer p { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0; color:var(--muted); font-size:.74rem; }.compare-dot { display:inline-block; width:9px; height:9px; border-radius:50%; }.compare-dot--natural { background:#4a2e22; }.compare-dot--dia { background:#29459a; margin-left:5px; box-shadow:0 0 0 2px #dbe2ff; }
.compare-button { min-height:40px; padding:8px 13px; border:1px solid #cdd4e8; border-radius:10px; background:#fff; color:var(--blue); font-weight:800; white-space:nowrap; }.compare-button:hover,.compare-button[aria-pressed="true"] { background:#eef2ff; border-color:#aab8e8; }
.dia-disclaimer { color:var(--muted); font-size:.72rem; line-height:1.5; margin:4px 2px 0; }
.tool-kicker { color: var(--blue); }.tool-copy > p:not(.tool-kicker):not(.tool-warning) { color: var(--muted); max-width: 650px; }
.tool-warning { color: #8a2c2c; background: #fff0ef; border-radius: 10px; padding: 11px 13px; font-size: .87rem; margin-top: 16px; }
.range-label { display: flex; justify-content: space-between; gap: 20px; font-weight: 700; margin-top: 28px; }.range-label output { color: var(--blue); }
input[type="range"] { width: 100%; accent-color: var(--blue); margin: 16px 0 5px; }.mini-scale { display: flex; justify-content: space-between; color: var(--muted); font-size: .78rem; }
.eye-demo { text-align: center; background: var(--blue-soft); border-radius: 18px; padding: 40px 24px 24px; }.eye-demo p { margin: 24px auto 0; color: var(--muted); font-size: .85rem; max-width: 300px; }
.eye-shape { height: 120px; background: white; border-radius: 80% 15%; transform: rotate(45deg); display: grid; place-items: center; overflow: hidden; box-shadow: inset 0 0 25px #b8bdd0; }
.iris-ring { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #d1a66d, #59422f 45%, #171a21 72%); transform: rotate(-45deg); transition: width .2s, height .2s; box-shadow: 0 0 0 7px rgba(41,69,154,.11); }.iris-ring i { width: 28px; height: 28px; border-radius: 50%; background: #080a10; box-shadow: -10px -9px 0 -7px #fff; }
.button { min-height: 46px; border: 0; border-radius: 12px; padding: 12px 18px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }.button--primary { background: var(--blue); color: #fff; }.button--accent { background: var(--yellow); color: var(--blue-dark); }.button--light { background: #fff; color: var(--blue); }.button:hover { filter: brightness(.97); transform: translateY(-1px); }.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.tool-panel--vision { grid-template-columns:minmax(280px,.74fr) minmax(430px,1.26fr); gap:clamp(30px,4vw,54px); align-items:start; }
.vision-intro h3 { margin-bottom:12px; }.vision-intro > p:not(.tool-kicker):not(.tool-warning):not(.vision-privacy) { color:var(--muted); }
.vision-steps { list-style:none; padding:0; margin:22px 0; display:grid; gap:11px; }.vision-steps li { display:grid; grid-template-columns:34px 1fr; gap:11px; align-items:center; }.vision-steps li > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-weight:900; font-size:.84rem; }.vision-steps strong,.vision-steps small { display:block; }.vision-steps strong { font-size:.9rem; }.vision-steps small { color:var(--muted); font-size:.78rem; line-height:1.45; margin-top:2px; }
.vision-main-actions { margin-top:4px; }.vision-main-actions .button { flex:1; min-width:130px; }.vision-privacy { color:#5f687d; font-size:.78rem; margin:11px 0 0; }.vision-privacy::before { content:"●"; color:#28a26a; margin-right:7px; }
.vision-workspace { min-width:0; background:#f4f6fb; border:1px solid #e0e4f0; border-radius:20px; padding:14px; box-shadow:0 16px 40px rgba(30,42,84,.1); }
.vision-camera-shell { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:15px; background:linear-gradient(145deg,#101934,#1d2c5f); isolation:isolate; }
#vision-camera-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scaleX(-1); opacity:0; transition:opacity .2s ease; }#vision-camera-video.is-ready { opacity:1; }
.vision-camera-placeholder { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:8px; padding:24px; text-align:center; color:#fff; }.vision-camera-placeholder > span { color:var(--yellow); font:800 2.8rem/1 Arial,sans-serif; letter-spacing:.02em; }.vision-camera-placeholder strong { font-size:1rem; }.vision-camera-placeholder small { color:#cbd3eb; font-size:.8rem; }
.vision-face-guide { position:absolute; z-index:2; inset:10% 13% 19%; border:2px dashed rgba(255,200,87,.82); border-radius:48% 48% 44% 44%; opacity:0; transition:border-color .2s,box-shadow .2s,opacity .2s; pointer-events:none; }.vision-workspace[data-state="camera"] .vision-face-guide,.vision-workspace[data-state="testing"] .vision-face-guide { opacity:1; }.vision-face-guide.is-aligned { border-color:#5fe2a2; box-shadow:0 0 0 999px rgba(6,14,39,.12),0 0 26px rgba(95,226,162,.35); }
.vision-eye-marker { position:absolute; top:40%; width:27%; height:16%; border:2px solid var(--yellow); border-radius:50%; }.vision-eye-marker--left { left:17%; }.vision-eye-marker--right { right:17%; }.vision-face-guide.is-aligned .vision-eye-marker { border-color:#5fe2a2; }
.vision-camera-status { position:absolute; z-index:3; left:10px; right:10px; bottom:9px; margin:0; padding:7px 10px; border-radius:10px; background:rgba(9,16,40,.8); color:#fff; font-size:.76rem; font-weight:700; text-align:center; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }.vision-camera-status[data-tone="success"] { color:#9ff5c7; }.vision-camera-status[data-tone="warning"] { color:#ffe09a; }.vision-camera-status[data-tone="error"] { color:#ffaaa4; }
.vision-setup { padding:14px 3px 2px; }.vision-distance-row { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:10px; color:#50596e; font-size:.83rem; }.vision-distance-row strong { color:var(--blue); font-size:1.12rem; }.vision-distance-check { display:flex; align-items:flex-start; gap:9px; border:1px solid #d8deed; border-radius:11px; background:#fff; padding:11px 12px; color:#3f485e; font-size:.83rem; line-height:1.4; cursor:pointer; }.vision-distance-check input { flex:0 0 auto; width:18px; height:18px; margin:1px 0 0; accent-color:var(--blue); }.vision-setup .button { width:100%; margin-top:10px; }.vision-setup .button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.vision-exam { padding:13px 3px 2px; }.vision-exam-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }.vision-exam-head div > span,.vision-exam-head div > small { display:block; }.vision-exam-head div > span { color:var(--blue); font-weight:900; }.vision-exam-head div > small { color:var(--muted); font-size:.76rem; margin-top:2px; }.vision-exam-head > strong { min-width:76px; padding:7px 10px; border-radius:10px; background:var(--blue-dark); color:#fff; font:850 1.05rem/1 ui-monospace,monospace; text-align:center; }.vision-exam-head > strong.is-urgent { background:#b33434; }
.vision-eye-instruction { color:#4f586d; font-size:.84rem; margin:11px 0 4px; }.vision-letter-wrap { min-height:145px; display:grid; place-items:center; overflow:hidden; }.vision-letter { font:900 7.4rem/1 Arial,sans-serif; color:var(--ink); margin:0; transform:rotate(0deg); transition:font-size .15s ease; }
.direction-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.direction-grid button { border:1px solid #cfd6e8; border-radius:11px; background:#fff; color:var(--blue-dark); min-height:50px; font-size:1.35rem; font-weight:900; }.direction-grid button:hover:not(:disabled) { border-color:var(--blue); background:var(--blue-soft); }.direction-grid button:focus-visible { outline:3px solid #b9c8ff; outline-offset:2px; }.direction-grid button:disabled { opacity:.42; cursor:not-allowed; }
.vision-switch-eye { min-height:145px; display:grid; place-content:center; justify-items:center; text-align:center; padding:12px; }.vision-switch-eye > strong { color:var(--blue); font-size:1.08rem; }.vision-switch-eye p { color:var(--muted); margin:5px 0 12px; font-size:.85rem; }
.vision-results { padding:16px 4px 3px; }.vision-results__head { display:flex; justify-content:space-between; align-items:start; gap:14px; }.vision-results__head div > span { color:var(--blue); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.vision-results__head h4 { font-size:1.08rem; margin:3px 0 0; }.vision-camera-off { flex:0 0 auto; color:#287952; background:#def6e9; border-radius:999px; padding:5px 8px; font-size:.7rem; font-weight:800; }
.vision-results:focus { outline:0; }.vision-workspace[data-state="result"] .vision-camera-shell { display:none; }
.vision-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:14px 0; }.vision-result-grid article { min-width:0; padding:13px; border:1px solid #dfe3ee; border-radius:12px; background:#fff; }.vision-result-grid article > span,.vision-result-grid article > strong,.vision-result-grid article > small { display:block; }.vision-result-grid article > span { color:var(--muted); font-size:.74rem; font-weight:700; }.vision-result-grid article > strong { color:var(--blue); font-size:1.6rem; margin:2px 0; }.vision-result-grid article > small { color:#4e576b; font-size:.72rem; line-height:1.4; }
.vision-summary { color:#35405a; font-size:.86rem; margin:0 0 10px; }.vision-result-limit { color:#6e3c1b; background:#fff2df; border-radius:10px; padding:10px 11px; font-size:.76rem; line-height:1.45; }.vision-result-limit strong { display:block; }.vision-results > .button { width:100%; }
.rx-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 24px; }.rx-form label { color: var(--muted); font-size: .82rem; font-weight: 750; }.rx-form input, .rx-form select { display: block; width: 100%; padding: 11px; border: 1px solid #d9dce7; border-radius: 9px; background: #fff; color: var(--ink); margin-top: 5px; }.rx-form .button { grid-column: 1/-1; }.rx-result { background: var(--blue-soft); border-radius: 18px; padding: 34px; }.rx-result strong { display: block; color: var(--blue); font-size: 1.75rem; margin-bottom: 12px; }.rx-result p:last-child { color: var(--muted); margin-bottom: 0; }

.topic-section { padding-top: 52px; padding-bottom: 12px; }.section-title { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 23px; border-left: 5px solid var(--yellow); padding-left: 13px; }.section-title h2 { font-size: clamp(1.35rem,2vw,1.9rem); margin-bottom: 0; }.section-title a { color: var(--blue); font-weight: 750; font-size: .86rem; white-space: nowrap; }
.story-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }.story-card { display: block; }.story-card:hover strong { color: var(--blue); }.story-card strong { display: block; font-family:"Roboto",Arial,sans-serif; font-size: 1.02rem; line-height: 1.35; font-weight:700; transition: color .2s; }
.visual { aspect-ratio: 1.55; border-radius: 15px; display: grid; place-items: center; overflow: hidden; margin-bottom: 11px; position: relative; isolation: isolate; }.visual::before, .visual::after { content:""; position:absolute; border-radius:50%; z-index:-1; }.visual::before { width: 115px; height:115px; background:rgba(255,255,255,.5); }.visual::after { width: 45px; height:45px; border:14px solid rgba(255,255,255,.8); }.visual b { background: rgba(255,255,255,.88); color: var(--blue-dark); padding: 7px 11px; border-radius: 999px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.visual--hands,.visual--peach { background:#f7cbbd; }.visual--blue { background:#afc4ff; }.visual--mint,.visual--case { background:#aee5d7; }.visual--rings { background:#ced8ff; }.visual--brown { background:#b7876d; }.visual--yellow,.visual--calendar { background:#ffdc82; }.visual--lilac { background:#d9c7ff; }.visual--alert { background:#ffb6b0; }.visual--night { background:#3a467e; }
.popular { padding-bottom: 10px; }.popular-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.popular-grid a { min-height: 160px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 7px 22px rgba(21,33,79,.05); }.popular-grid span { color:var(--yellow); font:900 2rem/1 "Roboto",Arial,sans-serif; }.popular-grid strong { font-family:"Roboto",Arial,sans-serif; font-size:1rem; }.popular-grid a:hover { border-color:#aebce7; transform:translateY(-2px); }
.archive-preview { padding-bottom: 70px; }.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.archive-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 7px 22px rgba(21,33,79,.05); }.archive-card .visual { border-radius:0; margin:0; aspect-ratio:1.9; }.archive-card > div { padding:18px; }.article-meta { font-size:.68rem; margin-bottom:8px; }.archive-card h3 { font:700 1.12rem/1.3 "Roboto",Arial,sans-serif; margin-bottom:8px; }.archive-card h3 a:hover { color:var(--blue); }.archive-card div > p:last-child { color:var(--muted); font-size:.88rem; margin-bottom:0; }
.shop-cta { display:flex; justify-content:space-between; align-items:center; gap:40px; background:var(--blue); color:#fff; border-radius:24px; padding:45px clamp(25px,5vw,64px); margin-bottom:70px; box-shadow:var(--shadow); }.shop-cta h2 { margin-bottom:10px; }.shop-cta p:last-child { color:#dbe2ff; margin-bottom:0; }.shop-cta .eyebrow { color:var(--yellow); }

.page-hero { padding:64px 0 38px; max-width:850px; }.page-hero h1 { margin-bottom:16px; }.page-hero > p:last-child { color:var(--muted); font-size:1.08rem; }.crumbs { color:var(--blue); font-weight:750; font-size:.8rem; margin-bottom:18px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }.filter-button { border:1px solid var(--line); background:#fff; padding:9px 14px; border-radius:999px; font-weight:750; color:#4d5874; }.filter-button.is-active { color:#fff; background:var(--blue); border-color:var(--blue); }.search-box { display:flex; gap:8px; max-width:620px; margin-bottom:6px; }.search-box input { flex:1; min-width:0; border:1px solid #cfd5e4; border-radius:14px; padding:14px 16px 14px 46px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2329459a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 15px center; box-shadow:0 6px 20px rgba(21,33,79,.04); }.search-box input:focus { outline:3px solid #dce4ff; border-color:var(--blue); }.search-help { color:var(--muted); font-size:.78rem; margin-bottom:22px; }
.articles-featured { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,.75fr); gap:38px; padding:22px 0 60px; }
.articles-featured__image { display:block; aspect-ratio:16/8.4; border-radius:18px; overflow:hidden; background:var(--blue); margin-bottom:20px; }.articles-featured__image img { width:100%; height:100%; object-fit:cover; object-position:center 38%; transition:transform .3s; }.articles-featured__image:hover img { transform:scale(1.02); }
.articles-featured__lead h2 { font:750 clamp(1.65rem,2.6vw,2.45rem)/1.15 "Roboto",Arial,sans-serif; margin-bottom:12px; }.articles-featured__lead h2 a:hover { color:var(--blue); }.articles-featured__lead > p:last-child { color:var(--muted); margin-bottom:0; }
.articles-featured__side { align-self:start; }.articles-featured__side .mini-heading { margin-bottom:0; }.library-title { margin-top:0; }.library-title span { color:var(--muted); font-size:.82rem; font-weight:700; }
.library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.library-card { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; }.library-card.is-hidden { display:none; }.library-card .visual { border-radius:0; margin:0; }.library-card__body { padding:20px; }.library-card h2 { font:700 1.22rem/1.32 "Roboto",Arial,sans-serif; margin-bottom:9px; }.library-card p:last-child { color:var(--muted); font-size:.9rem; }.load-row { display:flex; justify-content:center; padding:34px 0 70px; }.library-status { color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:999px; padding:9px 15px; font-size:.8rem; }
.prose-shell { width:min(880px, calc(100% - 40px)); margin-inline:auto; }.prose { background:#fff; border:1px solid var(--line); border-radius:22px; padding:clamp(24px,5vw,58px); margin-bottom:70px; box-shadow:var(--shadow); }.prose h2 { font-size:1.65rem; margin-top:36px; }.prose h3 { font-size:1.2rem; margin-top:26px; }.prose p,.prose li { color:#41495d; }.prose a { color:var(--blue); text-decoration:underline; }.note { background:var(--blue-soft); border-left:4px solid var(--blue); padding:17px 19px; border-radius:10px; }.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0; }.trust-card { border:1px solid var(--line); border-radius:14px; padding:20px; }.trust-card strong { display:block; color:var(--blue); margin-bottom:5px; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; padding-bottom:70px; }.contact-card,.contact-form { background:#fff; border:1px solid var(--line); border-radius:20px; padding:clamp(22px,4vw,38px); }.contact-links { display:grid; gap:10px; margin-top:24px; }.contact-links button { width:100%; }.contact-form { display:grid; gap:15px; }.contact-form label { font-weight:750; font-size:.86rem; }.contact-form input,.contact-form textarea,.contact-form select { display:block; width:100%; margin-top:6px; border:1px solid #d9dce7; border-radius:10px; padding:12px; background:#fff; }.contact-form textarea { min-height:130px; resize:vertical; }.form-note { color:var(--muted); font-size:.82rem; }

.site-footer { background:#111a3d; color:#fff; padding:52px 0 100px; }.footer-grid { width:var(--shell); margin:auto; display:grid; grid-template-columns:1.3fr .7fr .8fr; gap:50px; }.footer-brand { display:flex; gap:13px; align-items:center; margin-bottom:16px; }.footer-brand img { width:54px; height:54px; object-fit:cover; border-radius:13px; }.footer-brand strong { letter-spacing:.08em; }.site-footer p,.site-footer li { color:#c2c9e2; font-size:.87rem; }.site-footer h2 { font-size:.95rem; letter-spacing:.08em; text-transform:uppercase; }.footer-links { list-style:none; padding:0; margin:0; display:grid; gap:8px; }.footer-links a:hover { color:var(--yellow); }.footer-bottom { width:var(--shell); margin:38px auto 0; border-top:1px solid rgba(255,255,255,.12); padding-top:20px; color:#929bbd; font-size:.78rem; }
.mobile-cta { display:none; }.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,130%); z-index:100; background:#10162a; color:#fff; border-radius:12px; padding:12px 17px; box-shadow:var(--shadow); opacity:0; transition:.25s; max-width:min(420px,calc(100% - 28px)); text-align:center; }.toast.is-visible { transform:translate(-50%,0); opacity:1; }

@media (max-width: 900px) {
  :root { --shell:min(100% - 28px, 720px); }
  .menu-toggle { display:block; }
  .brand-row { min-height:68px; }
  .main-nav { position:absolute; top:68px; left:14px; right:14px; transform:none; display:none; background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px; box-shadow:var(--shadow); flex-direction:column; align-items:stretch; gap:0; white-space:normal; }
  .tool-nav { justify-content:flex-start; }
  .main-nav.is-open { display:flex; }.main-nav a { padding:13px; }.main-nav a::after { display:none; }
  .home-banner,.home-banner__inner { min-height:540px; }.home-banner__copy { width:min(650px,70%); }.home-banner__shade { background:linear-gradient(90deg,rgba(9,18,56,.93),rgba(14,31,87,.68) 55%,rgba(9,17,45,.18)); }.liu-latest { grid-template-columns:1fr; gap:24px; }.liu-latest__side { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }.liu-latest__side .mini-heading { grid-column:1/-1; }
  .home-hero { grid-template-columns:1fr; gap:30px; padding-top:36px; }.home-hero__copy { max-width:720px; }.home-hero__media { aspect-ratio:16/9; }.quick-paths { grid-template-columns:1fr; gap:18px; }.latest-compact { grid-template-columns:1fr; gap:22px; }
  .latest { grid-template-columns:1fr; gap:25px; padding-top:28px; }.latest__list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px; }.latest__list .mini-heading { grid-column:1/-1; }
  .section-heading { align-items:start; flex-direction:column; gap:8px; }.tool-panel { grid-template-columns:1fr; gap:28px; }
  .tool-panel--tryon { grid-template-columns:1fr; }.dia-tryon-card { width:min(100%,720px); margin-inline:auto; }
  .tool-panel--vision { grid-template-columns:1fr; }.vision-workspace { width:min(100%,720px); margin-inline:auto; }
  .story-grid,.popular-grid { grid-template-columns:repeat(2,1fr); }.archive-grid,.library-grid { grid-template-columns:repeat(2,1fr); }
  .articles-featured { grid-template-columns:1fr; gap:22px; }.articles-featured__side { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }.articles-featured__side .mini-heading { grid-column:1/-1; }
  .shop-cta { align-items:flex-start; flex-direction:column; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid > div:first-child { grid-column:1/-1; }
  .trust-grid { grid-template-columns:1fr; }.contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  body { padding-bottom:60px; }.section { padding-block:38px; }
  .brand { min-width:auto; }.brand strong { font-size:1rem; }.brand img { width:42px; height:42px; }
  .home-banner,.home-banner__inner { min-height:620px; }.home-banner__image { object-position:63% center; }.home-banner__shade { background:linear-gradient(0deg,rgba(7,16,52,.98) 0%,rgba(11,27,81,.8) 52%,rgba(10,21,60,.22) 100%); }.home-banner__inner { align-items:flex-end; }.home-banner__copy { width:100%; padding:190px 0 48px; }.home-banner h1 { font-size:2.55rem; margin-bottom:15px; }.home-banner .hero-lead { font-size:1rem; }.home-banner .hero-actions { display:grid; grid-template-columns:1fr; margin-bottom:18px; }.home-banner .trust-line { display:grid; grid-template-columns:1fr 1fr; gap:7px 10px; }.liu-latest { padding-top:38px; padding-bottom:38px; }.liu-feature-image { aspect-ratio:4/3; border-radius:15px; }.liu-latest__feature h2 { font-size:1.8rem; }.liu-latest__side { grid-template-columns:1fr; }.quick-paths { padding:10px 0 40px; }.quick-paths__grid { grid-template-columns:1fr; }.quick-paths__grid > a { min-height:76px; }.latest-compact { padding:30px 0 42px; }.latest-compact__lead { padding:22px; }.latest-compact__lead h2 { font-size:1.55rem; }
  .home-hero { display:flex; flex-direction:column; padding-top:24px; padding-bottom:24px; gap:22px; }.home-hero__copy { display:contents; }.home-hero__copy .eyebrow { order:1; margin-bottom:-12px; }.home-hero h1 { order:2; font-size:2.45rem; margin:0; }.home-hero .hero-lead { order:3; font-size:1rem; margin:0; }.home-hero .hero-actions { order:5; }.home-hero .trust-line { order:6; }.home-hero__media { order:4; width:100%; aspect-ratio:4/3; border-radius:18px; }.home-hero__media figcaption { inset:auto 10px 10px; }
  .latest { padding-bottom:45px; }.latest h1 { font-size:2rem; }.feature-media { border-radius:16px; aspect-ratio:4/3; }.latest__list { grid-template-columns:1fr; }.side-story { grid-template-columns:72px 1fr; }
  .tool-band { padding:44px 0; }.tool-switcher { display:flex; overflow-x:auto; }.tool-tab { min-width:145px; }.tool-panel { padding:24px; min-height:0; }.rx-form { grid-template-columns:1fr; }.eye-demo { padding:30px 18px 20px; }.vision-letter { font-size:6rem; }.tool-panel--tryon,.tool-panel--vision { padding:18px; }.vision-workspace { padding:10px; border-radius:16px; }.vision-camera-shell { aspect-ratio:4/3; }.vision-face-guide { inset:11% 7% 21%; }.vision-eye-marker { width:29%; }.vision-eye-marker--left { left:14%; }.vision-eye-marker--right { right:14%; }.vision-result-grid { gap:7px; }.vision-result-grid article { padding:11px; }.dia-tryon-stage { border-radius:14px; }.dia-choices { grid-template-columns:repeat(3,1fr); }.dia-choices button:last-child { grid-column:2; }.dia-tryon-footer { align-items:center; }.dia-tryon-footer p { display:grid; grid-template-columns:9px auto; gap:3px 7px; }.compare-dot--dia { margin-left:0; }
  .topic-section { padding-top:38px; }.section-title { align-items:flex-start; }.section-title a { font-size:.75rem; }.story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 11px; }.story-card strong { font-size:.95rem; }.visual { border-radius:12px; }.popular-grid { grid-template-columns:1fr 1fr; gap:10px; }.popular-grid a { min-height:145px; padding:17px; }
  .archive-grid,.library-grid { grid-template-columns:1fr; }.archive-card { display:grid; grid-template-columns:120px 1fr; }.archive-card .visual { height:100%; aspect-ratio:auto; }.archive-card > div { padding:15px; }.archive-card h3 { font-size:1rem; }.archive-card div > p:last-child { display:none; }
  .articles-featured { padding-top:14px; padding-bottom:42px; }.articles-featured__image { aspect-ratio:4/3; border-radius:15px; }.articles-featured__lead h2 { font-size:1.7rem; }.articles-featured__side { grid-template-columns:1fr; }
  .shop-cta { margin-bottom:40px; border-radius:18px; padding:28px 22px; }.shop-cta .button-row { width:100%; }.shop-cta .button { flex:1; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }.footer-grid > div:first-child { grid-column:auto; }
  .mobile-cta { display:grid; grid-template-columns:1fr 1fr; position:fixed; inset:auto 0 0; z-index:70; height:60px; background:#fff; border-top:1px solid var(--line); padding:7px 10px; gap:8px; }.mobile-cta button { border:0; border-radius:10px; background:var(--yellow); color:var(--blue-dark); font-weight:850; }.mobile-cta button:last-child { background:var(--blue); color:#fff; }
  .toast { bottom:73px; }.page-hero { padding-top:40px; }.prose-shell { width:min(100% - 28px,880px); }.prose { margin-bottom:40px; }.contact-grid { padding-bottom:40px; }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
