@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap');

:root { --ph-max: 1280px; --ph-radius: 8px; }
body { background: var(--surface-50); color: var(--text-950); font-family: Inter, Arial, sans-serif; }
.phoslens-container { width: min(calc(100% - 48px), var(--ph-max)); margin-inline: auto; }
.phoslens-skip-link { position: fixed; left: 12px; top: -60px; z-index: 100; padding: 12px; background: #fff; color: var(--text-950); }
.phoslens-skip-link:focus { top: 12px; }
.phoslens-utility { background: var(--ink-900); color: #cbd5e1; font-size: 12px; }
.phoslens-utility__inner { min-height: 32px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.phoslens-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line-200); }
.phoslens-header__main { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.phoslens-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink-900); font: 700 20px/1 Manrope, sans-serif; letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.phoslens-brand__mark { width: 20px; height: 20px; border: 2px solid var(--tech-blue-700); border-radius: 50%; box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 6px var(--tech-blue-700); }
.phoslens-nav { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.phoslens-nav a, .phoslens-footer a { color: var(--text-600); font-size: 14px; font-weight: 600; text-decoration: none; }
.phoslens-nav a:hover, .phoslens-nav a:focus, .phoslens-footer a:hover { color: var(--tech-blue-700); }
.phoslens-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 6px; padding: 10px 17px; font-size: 14px; font-weight: 700; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s; }
.phoslens-button--primary { background: var(--tech-blue-700); color: #fff; }
.phoslens-button--primary:hover, .phoslens-button--primary:focus { background: var(--tech-blue-800); color: #fff; }
.phoslens-button--secondary { border-color: #94a3b8; color: #fff; }
.phoslens-button--secondary:hover, .phoslens-button--secondary:focus { background: #fff; color: var(--ink-900); }
.phoslens-mobile-nav { display: none; margin-left: auto; }
.phoslens-mobile-nav summary { min-width: 44px; min-height: 44px; display: grid; place-items: center; cursor: pointer; font-weight: 700; }
.phoslens-mobile-nav__panel { position: absolute; right: 24px; top: 76px; width: min(360px, calc(100vw - 48px)); display: grid; gap: 8px; padding: 16px; background: #fff; border: 1px solid var(--line-200); box-shadow: 0 16px 40px rgba(15,23,42,.15); }
.phoslens-mobile-nav__panel a:not(.phoslens-button) { min-height: 44px; padding: 12px; color: var(--text-950); font-weight: 600; text-decoration: none; }
.phoslens-hero { background: var(--ink-900); color: #fff; overflow: hidden; }
.phoslens-hero__grid { min-height: 590px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; }
.phoslens-eyebrow { margin: 0 0 14px; color: var(--tech-blue-700); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.phoslens-hero .phoslens-eyebrow { color: #7dd3fc; }
.phoslens-hero h1, .phoslens-section h2 { margin: 0; font-family: Manrope, sans-serif; font-weight: 700; letter-spacing: -.035em; }
.phoslens-hero h1 { color: #fff; }
.phoslens-hero h1 { max-width: 760px; font-size: clamp(40px, 5vw, 68px); line-height: 1.08; }
.phoslens-lead { max-width: 620px; margin: 24px 0 32px; color: #cbd5e1; font-size: 18px; line-height: 1.65; }
.phoslens-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.phoslens-optic-visual { position: relative; min-height: 360px; border: 1px solid #334155; background: radial-gradient(circle at 50% 50%, #1e3a5f 0, #0f172a 63%); overflow: hidden; }
.phoslens-hero-route { border: 1px solid #334155; padding: 28px; background: linear-gradient(135deg, rgba(3,105,161,.18), rgba(15,23,42,.1)); }.phoslens-hero-route h2 { margin: 0; color: #fff; font: 700 clamp(24px,2.2vw,34px)/1.18 Manrope, sans-serif; letter-spacing: -.03em; }.phoslens-hero-route ol { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 0; }.phoslens-hero-route li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid #334155; }.phoslens-hero-route li:first-child { border-top: 0; }.phoslens-hero-route li > span { color: #7dd3fc; font-size: 12px; font-weight: 700; letter-spacing: .1em; }.phoslens-hero-route strong { display: block; color: #fff; font: 700 16px/1.3 Manrope, sans-serif; }.phoslens-hero-route p { margin: 5px 0 0; color: #cbd5e1; font-size: 14px; line-height: 1.55; }
.phoslens-optic-visual__axis { position: absolute; inset: 50% 0 auto; border-top: 1px dashed #64748b; }
.phoslens-optic-visual__lens { position: absolute; top: 74px; left: calc(50% - 56px); width: 112px; height: 210px; border: 2px solid #7dd3fc; border-radius: 50%; background: rgba(14,165,233,.14); }
.phoslens-optic-visual__beam { position: absolute; left: 0; width: 100%; height: 2px; background: #38bdf8; transform-origin: left center; }
.phoslens-optic-visual__beam--one { top: 126px; transform: rotate(18deg); }.phoslens-optic-visual__beam--two { top: 254px; transform: rotate(-18deg); }
.phoslens-optic-visual p { position: absolute; right: 22px; bottom: 18px; margin: 0; color: #bae6fd; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-align: right; }
.phoslens-section { padding: 96px 0; }.phoslens-section--surface { background: var(--surface-50); }.phoslens-section--ink { background: var(--ink-900); color: #fff; }.phoslens-section--quote { background: #e0f2fe; }
.phoslens-catalog-hero { padding: 68px 0 54px; background: var(--ink-900); color: #fff; }.phoslens-catalog-hero h1 { margin: 12px 0 16px; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.06; }.phoslens-catalog-hero p:last-child { max-width: 680px; margin: 0; color: #cbd5e1; font-size: 18px; line-height: 1.6; }.phoslens-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; color: #cbd5e1; font-size: 14px; }.phoslens-breadcrumb a { color: #7dd3fc; text-decoration: none; }.phoslens-breadcrumb a:hover { text-decoration: underline; }
.phoslens-catalog-layout { padding: 54px 0 96px; }.phoslens-catalog-layout__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 42px; align-items: start; }.phoslens-catalog-sidebar { position: sticky; top: 28px; border: 1px solid var(--line-200); background: #fff; }.phoslens-catalog-sidebar h2 { margin: 0; padding: 20px 22px; background: var(--ink-900); color: #fff; font: 700 17px/1.3 Manrope, sans-serif; }.phoslens-catalog-sidebar nav { display: grid; }.phoslens-catalog-sidebar a { padding: 15px 22px; border-bottom: 1px solid var(--line-200); color: var(--text-700); font-size: 14px; line-height: 1.35; text-decoration: none; }.phoslens-catalog-sidebar a:last-child { border-bottom: 0; }.phoslens-catalog-sidebar a:hover, .phoslens-catalog-sidebar a:focus-visible, .phoslens-catalog-sidebar a.is-current { background: #e0f2fe; color: var(--tech-blue-700); }.phoslens-catalog-sidebar a:focus-visible { outline: 3px solid var(--tech-blue-700); outline-offset: -3px; }.phoslens-catalog-content > h2, .phoslens-catalog-empty h2 { margin: 0 0 24px; font-size: clamp(26px, 3vw, 38px); }.phoslens-catalog-content .phoslens-category-grid--catalog { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card { grid-column: span 2; min-height: 326px; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card:nth-last-child(2):nth-child(3n + 1) { grid-column: 2 / span 2; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card:last-child:nth-child(3n + 1) { grid-column: 3 / span 2; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card:last-child:nth-child(3n + 2) { grid-column: 4 / span 2; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card__image { height: 196px; margin: 10px 0 16px; }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card__image img { max-height: 188px; transform: scale(1.16); }.phoslens-catalog-empty { padding: 34px; border: 1px solid var(--line-200); background: #fff; }.phoslens-catalog-empty p { max-width: 560px; margin: 0; color: var(--text-600); line-height: 1.7; }
.phoslens-section-heading { max-width: 760px; margin-bottom: 42px; }.phoslens-section h2 { font-size: clamp(30px, 3vw, 46px); line-height: 1.16; }.phoslens-section-heading > p:last-child, .phoslens-split p { color: var(--text-600); line-height: 1.7; }.phoslens-section--ink .phoslens-split p { color: #cbd5e1; }
.phoslens-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }.phoslens-category-card { min-height: 286px; padding: 20px; border: 1px solid var(--line-200); border-radius: var(--ph-radius); background: #fff; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.phoslens-category-card:hover, .phoslens-category-card:focus-within { border-color: var(--tech-blue-700); box-shadow: 0 10px 22px rgba(15, 23, 42, .08); transform: translateY(-2px); }.phoslens-category-card__link { display: flex; flex: 1; flex-direction: column; color: inherit; text-decoration: none; }.phoslens-category-card__link:focus-visible { outline: 3px solid var(--tech-blue-700); outline-offset: 5px; }.phoslens-category-card__index { color: var(--tech-blue-700); font-size: 12px; font-weight: 700; }.phoslens-category-card__image { display: grid; place-items: center; height: 154px; margin: 8px 0 14px; overflow: hidden; }.phoslens-category-card__image img { max-width: 100%; max-height: 148px; width: auto; height: auto; object-fit: contain; transform: scale(1.16); }.phoslens-category-card h3 { margin: 8px 0 16px; font: 700 18px/1.3 Manrope, sans-serif; }.phoslens-category-card__state { margin-top: auto; color: var(--tech-blue-700); font-size: 12px; font-weight: 700; }
.phoslens-evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.phoslens-evidence-grid article { padding: 28px; border: 1px solid var(--line-200); border-radius: var(--ph-radius); background: #fff; }.phoslens-evidence-grid h3 { margin: 0 0 12px; font: 700 20px/1.3 Manrope, sans-serif; }.phoslens-evidence-grid p { margin: 0; color: var(--text-600); line-height: 1.65; }.phoslens-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.phoslens-footer { padding-top: 64px; background: var(--ink-900); color: #cbd5e1; }.phoslens-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 52px; }.phoslens-footer .phoslens-brand { color: #fff; }.phoslens-footer p { max-width: 420px; line-height: 1.65; }.phoslens-footer h2 { margin: 0 0 16px; color: #fff; font: 700 14px/1 Manrope, sans-serif; }.phoslens-footer a { display: block; margin: 0 0 12px; color: #cbd5e1; }.phoslens-footer__bottom { padding: 20px 0; border-top: 1px solid #334155; color: #94a3b8; font-size: 12px; }
@media (max-width: 1050px) { .phoslens-nav { gap: 13px; }.phoslens-category-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { .phoslens-container { width: min(calc(100% - 32px), var(--ph-max)); }.phoslens-nav, .phoslens-header__main > .phoslens-button { display: none; }.phoslens-mobile-nav { display: block; }.phoslens-hero__grid { min-height: auto; grid-template-columns: 1fr; gap: 40px; padding: 72px 0; }.phoslens-optic-visual { min-height: 280px; }.phoslens-hero-route { padding: 22px; }.phoslens-catalog-hero { padding: 52px 0 40px; }.phoslens-catalog-layout { padding: 32px 0 64px; }.phoslens-catalog-layout__grid { grid-template-columns: 1fr; gap: 28px; }.phoslens-catalog-sidebar { position: static; }.phoslens-section { padding: 64px 0; }.phoslens-category-grid, .phoslens-evidence-grid, .phoslens-footer__grid, .phoslens-split { grid-template-columns: 1fr; }.phoslens-category-grid { grid-template-columns: repeat(2, 1fr); }.phoslens-catalog-content .phoslens-category-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }.phoslens-catalog-content .phoslens-category-grid--catalog .phoslens-category-card { grid-column: span 2; }.phoslens-split { gap: 22px; }.phoslens-utility__inner { justify-content: center; }.phoslens-utility__inner span:last-child { display: none; } }
@media (max-width: 500px) { .phoslens-category-grid { grid-template-columns: 1fr; }.phoslens-hero h1 { font-size: 39px; }.phoslens-lead { font-size: 16px; }.phoslens-category-card { min-height: 132px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
