/* AIDEEP — style.css (2026-10-01)
   Order: tokens > base > layout > motif > components > pages > motion > policy/404
   Font: Pretendard Variable (self-hosted, assets/fonts) · Theme v2 2026-10-02 (light · neutral · single red accent) · no build tools — hand-cleaned from 04_디자인/design.css */
:root{--c-navy-950:#0a0b0d;--c-navy-900:#111216;--c-navy-850:#17181d;--c-navy-800:#1e2026;--c-navy-700:#17181c;--c-navy-600:#3f424a;--c-navy-500:#6b6f78;--c-navy-400:#9a9ea6;--c-navy-300:#d1d5db;--c-navy-200:#e5e7eb;--c-navy-100:#f3f4f6;--c-white:#ffffff;--c-warm-50:#f9fafb;--c-warm-100:#f3f4f6;--c-red-500:#e6081f;--c-red-600:#c10619;--c-red-700:#9e0514;--c-red-50:#fdecee;--c-orange-500:#e6081f;--c-orange-600:#c10619;--c-orange-700:#c10619;--c-orange-50:#fdecee;--c-yellow-500:#ff5c6c;--c-yellow-50:#fdecee;--c-safe-500:#1f9d8a;--c-safe-600:#177a6b;--c-safe-50:#e6f5f2;--g-brand:linear-gradient(90deg,#e6081f 0%,#e6081f 100%);--g-privacy:var(--g-brand);--g-genai:var(--g-brand);--g-accent:var(--g-brand);--accent:var(--c-red-500);--text:#1f2125;--text-muted:#5f636b;--text-on-dark:#ffffff;--text-on-dark-muted:#b4b8bf;--text-on-dark-subtle:#868a93;--bg:#ffffff;--bg-warm:#f9fafb;--bg-dark:#0e0f12;--bg-dark-2:#18191e;--border:#e5e7eb;--border-strong:#d1d5db;--border-dark:rgba(255,255,255,.10);--border-dark-strong:rgba(255,255,255,.20);--focus:#e6081f;--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--font-label:var(--font-sans);--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"D2Coding","Liberation Mono",monospace;--fs-display:clamp(2.5rem,1.6rem + 3.6vw,4.25rem);--fs-h1:clamp(2.125rem,1.5rem + 2.4vw,3.25rem);--fs-h2:clamp(1.75rem,1.35rem + 1.5vw,2.625rem);--fs-h3:clamp(1.25rem,1.15rem + .4vw,1.5rem);--fs-h4:1.125rem;--fs-lead:clamp(1.0625rem,1rem + .3vw,1.1875rem);--fs-body:1rem;--fs-small:.875rem;--fs-xs:.8125rem;--fs-label:.8125rem;--fs-stat:clamp(2.25rem,1.8rem + 2vw,3.5rem);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--section-py:var(--sp-8);--head-gap:var(--sp-6);--card-pad:var(--sp-5);--gutter:16px;--container:1200px;--container-wide:1280px;--col-gap:16px;--header-h:60px;--subnav-h:48px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);--shadow-xl:0 24px 56px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.06);--px-slant:32%;--px-w:10px;--px-h:22px;--px-clip:polygon(0 0,100% var(--px-slant),100% 100%,0 calc(100% - var(--px-slant)));--ease:cubic-bezier(.2,.7,.2,1);--t-fast:150ms;--t-ui:250ms;--t-enter:600ms}
@media (min-width:768px){
  :root{--gutter:32px;--col-gap:20px;--section-py:72px;--head-gap:40px;--card-pad:28px;--fs-body:1.0625rem;--header-h:72px}
}
@media (min-width:1200px){
  :root{--gutter:40px;--col-gap:24px;--section-py:var(--sp-9);--head-gap:var(--sp-7);--card-pad:var(--sp-6)}
}
.page-deepprivacy{--g-accent:var(--g-privacy);--accent:var(--c-orange-500)}
.page-deepgenguard{--g-accent:var(--g-genai);--accent:var(--c-red-500)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--subnav-h) + 16px)}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.75;color:var(--text);background:var(--bg);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;color:inherit}
h1,h2,.lane__title,.ceo__quote{text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.2;letter-spacing:-.025em}
h2{font-size:var(--fs-h2);line-height:1.3;letter-spacing:-.02em}
h3{font-size:var(--fs-h3);line-height:1.4;letter-spacing:-.012em}
h4{font-size:var(--fs-h4);line-height:1.45;letter-spacing:-.005em}
p{margin:0}
p + p{margin-top:1em}
ul,ol{margin:0;padding:0}
dl,dd{margin:0}
figure{margin:0}
a{color:inherit;text-decoration:none}
address{font-style:normal}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
strong,b{font-weight:700}
small{font-size:var(--fs-small)}
::selection{background:rgba(230,8,31,.35);color:inherit}
.num,code,kbd{font-family:var(--font-label);font-feature-settings:"tnum"}
[hidden]{display:none !important}
:focus{outline:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
.section:not(.section--dark) :focus-visible,.site-header.is-scrolled :focus-visible,.site-header--solid :focus-visible,.gnb__panel :focus-visible{box-shadow:0 0 0 5px var(--c-navy-700)}
main:focus-visible{outline:none;box-shadow:none}
.container{width:min(100% - 2*var(--gutter), var(--container));margin-inline:auto}
.container--narrow{width:min(100% - 2*var(--gutter), 760px);margin-inline:auto}
.grid{display:grid;gap:var(--col-gap)}
.grid--2,.grid--3,.grid--4,.grid--5{grid-template-columns:1fr}
@media (min-width:768px){
  .grid--2,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.mt-4{margin-top:var(--sp-5)}
.mt-5{margin-top:var(--sp-6)}
.mt-6{margin-top:var(--sp-7)}
.mt-7{margin-top:var(--sp-8)}
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.br-desktop{display:none}
@media (min-width:1200px){
  .br-desktop{display:inline}
}
.skip-link{position:fixed;left:var(--sp-4);top:-100px;z-index:1000;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-navy-900);color:#fff;font-weight:700}
.skip-link:focus{top:var(--sp-4)}
.icon{width:24px;height:24px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--sm{width:18px;height:18px}
.icon--xs{width:16px;height:16px}
.px{display:inline-block;width:var(--px-w);height:var(--px-h);clip-path:var(--px-clip);background:var(--c-red-500);flex:none}
.px--o{background:var(--c-orange-500);width:calc(var(--px-w)*.82);height:calc(var(--px-h)*.82)}
.px--y{background:var(--c-yellow-500);width:calc(var(--px-w)*.54);height:calc(var(--px-h)*.54)}
.px-mark{display:inline-flex;align-items:flex-end;gap:3px;height:var(--px-h)}
.px-mark .px--o{margin-bottom:4px}
.px-mark .px--y{margin-bottom:9px}
.has-grid{position:relative;isolation:isolate}
.has-grid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image: linear-gradient(to right,rgba(0,0,0,.055) 1px,transparent 1px), linear-gradient(to bottom,rgba(0,0,0,.055) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 30%,transparent 100%)}
.section--dark.has-grid::before,.has-grid--dark::before{background-image: linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px), linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px)}
.list-px{list-style:none;display:grid;gap:var(--sp-2)}
.list-px > li{position:relative;padding-left:20px}
.list-px > li::before{content:"";position:absolute;left:2px;top:.58em;width:6px;height:11px;clip-path:var(--px-clip);background:var(--accent)}
.section--dark .list-px > li::before{background:var(--c-yellow-500)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 var(--sp-4);font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;color:var(--c-navy-600)}
.eyebrow::before{content:"";flex:none;width:22px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath fill='%23e6081f' d='M0 2.2L5 5.4V14L0 10.8Z'/%3E%3Cpath fill='%23e6081f' d='M8 1.4L12 4V11L8 8.4Z'/%3E%3Cpath fill='%23e6081f' d='M15.5 0L18.2 1.8V6.4L15.5 4.6Z'/%3E%3C/svg%3E") no-repeat center/contain}
.section--dark .eyebrow{color:var(--c-yellow-500)}
.motif{position:absolute;pointer-events:none;user-select:none;z-index:-1}
.btn{--btn-h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-h);min-width:44px;padding:0 22px;border:1.5px solid transparent;border-radius:var(--r-md);font-size:1rem;font-weight:700;line-height:1.2;letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.btn .icon{width:18px;height:18px;transition:transform var(--t-fast) var(--ease)}
.btn--sm{--btn-h:40px;padding:0 16px;font-size:.9375rem}
.btn--primary{background:var(--c-red-500);color:#fff}
.btn--primary:active{background:var(--c-red-700)}
.btn--secondary{background:#fff;color:var(--c-navy-700);border-color:var(--c-navy-700)}
.btn--secondary:active{background:var(--c-navy-200)}
.btn--on-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--on-dark:active{background:rgba(255,255,255,.14)}
.btn--ghost{background:transparent;color:var(--c-navy-700);border-color:var(--border)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .btn--primary:hover{background:var(--c-red-600)}
  .btn--secondary:hover{background:var(--c-navy-100)}
  .btn--on-dark:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.7)}
  .btn--ghost:hover{border-color:var(--c-navy-700)}
  .btn:hover .icon--arrow{transform:translateX(4px)}
}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--c-navy-700);line-height:1.4;min-height:44px}
.link-arrow .icon{width:18px;height:18px;transition:transform var(--t-fast) var(--ease)}
.section--dark .link-arrow{color:#fff}
@media (hover:hover) and (pointer:fine){
  .link-arrow:hover .icon,a:hover > .link-arrow .icon,a:hover .link-arrow .icon{transform:translateX(4px)}
  .link-arrow:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
}
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);color:#fff;transition:background-color var(--t-ui) var(--ease),box-shadow var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}
.site-header__inner{height:100%;display:flex;align-items:center;gap:var(--sp-5)}
.site-header__brand{display:inline-flex;align-items:center;min-height:44px;margin-right:auto}
.site-header__logo{height:26px;width:auto}
@media (min-width:768px){
  .site-header__logo{height:32px}
}
.site-header__logo--color{display:none}
.site-header.is-scrolled,.site-header--solid{background:rgba(255,255,255,.95);color:var(--c-navy-700);box-shadow:0 1px 0 var(--border)}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){
  .site-header.is-scrolled,.site-header--solid{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
}
.site-header.is-scrolled .site-header__logo--white,.site-header--solid .site-header__logo--white{display:none}
.site-header.is-scrolled .site-header__logo--color,.site-header--solid .site-header__logo--color{display:block}
.site-header--solid ~ main{padding-top:var(--header-h)}
.gnb{display:flex;align-items:center;gap:var(--sp-5)}
.gnb__list{list-style:none;display:flex;align-items:stretch;gap:var(--sp-2);height:var(--header-h)}
.gnb__item{position:relative;display:flex;align-items:center}
.gnb__link{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 2px 0 10px;font-size:.96875rem;font-weight:500;letter-spacing:-.01em;opacity:.92}
.gnb__link[aria-current="page"]{font-weight:700;opacity:1}
.gnb__link[aria-current="page"]::after{content:"";position:absolute;left:10px;right:-26px;bottom:-2px;height:2px;background:var(--g-accent)}
.gnb__toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;opacity:.7;transition:transform var(--t-ui) var(--ease),opacity var(--t-fast)}
.gnb__toggle[aria-expanded="true"]{opacity:1}
.gnb__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.gnb__toggle svg{transition:transform var(--t-ui) var(--ease)}
@media (hover:hover) and (pointer:fine){
  .gnb__link:hover{opacity:1}
  .gnb__toggle:hover{opacity:1}
}
.gnb__panel{position:absolute;top:calc(100% - 6px);left:-12px;z-index:10;width:280px;padding:var(--sp-4);background:#fff;color:var(--c-navy-700);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:grid;gap:var(--sp-4)}
.gnb__panel::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--g-accent);border-radius:var(--r-lg) var(--r-lg) 0 0}
.gnb__panel:has(.gnb__feature){width:560px;grid-template-columns:1fr 232px}
.gnb__panel--feature{left:auto;right:-12px;width:560px;grid-template-columns:1fr 232px}
.gnb__sub{list-style:none;display:grid;gap:2px}
.gnb__sub a{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:var(--r-md);font-size:.9375rem;font-weight:500;line-height:1.4}
.gnb__sub a::before{content:"";width:5px;height:9px;clip-path:var(--px-clip);background:var(--c-navy-300);transition:background var(--t-fast);flex:none}
@media (hover:hover) and (pointer:fine){
  .gnb__sub a:hover{background:var(--c-navy-100)}
  .gnb__sub a:hover::before{background:var(--accent)}
}
.gnb__feature{position:relative;display:flex;flex-direction:column;gap:8px;padding:var(--sp-4);border-radius:var(--r-md);background:var(--c-navy-900);color:#fff;overflow:hidden}
.gnb__feature::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--g-privacy)}
.gnb__feature--genai::after{background:var(--g-genai)}
.gnb__feature-label{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.08em;color:var(--c-yellow-500)}
.gnb__feature-text{font-size:var(--fs-small);line-height:1.6;color:var(--text-on-dark-muted)}
.gnb__feature-more{margin-top:auto;font-size:var(--fs-small);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.gnb__contact{display:none}
.lang-switch{font-family:var(--font-label);font-size:var(--fs-label)}
.site-header__cta{margin-left:var(--sp-2)}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;margin-right:-10px}
.menu-toggle .icon-close{display:none}
.menu-toggle[aria-expanded="true"] .icon-open{display:none}
.menu-toggle[aria-expanded="true"] .icon-close{display:block}
@media (min-width:768px) and (max-width:1199.98px){
  .gnb{gap:var(--sp-3)}
  .gnb__list{gap:0}
  .gnb__link{font-size:.9375rem;padding-left:6px}
  .gnb__panel{left:auto;right:-40px}
}
@media (max-width:767.98px){
  .menu-toggle{display:inline-flex}
  .gnb{position:fixed;inset:var(--header-h) 0 0 0;z-index:99;flex-direction:column;align-items:stretch;gap:0;padding:var(--sp-5) var(--gutter) calc(var(--sp-6) + env(safe-area-inset-bottom));background:var(--c-navy-900);color:#fff;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform var(--t-ui) var(--ease),visibility 0s linear var(--t-ui)}
  .gnb.is-open{transform:none;visibility:visible;transition:transform var(--t-ui) var(--ease),visibility 0s}
  .gnb::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px}
  .gnb__list{flex-direction:column;height:auto;gap:0}
  .gnb__item{flex-wrap:wrap;border-bottom:1px solid var(--border-dark)}
  .gnb__link{flex:1;height:auto;min-height:60px;padding:0;font-size:1.25rem;font-weight:700;opacity:1}
  .gnb__link[aria-current="page"]::after{left:0;right:auto;width:28px;bottom:12px}
  .gnb__toggle{width:52px;height:60px;opacity:1;margin-right:-12px}
  .gnb__panel{position:static;width:100% !important;grid-template-columns:1fr !important;padding:0 0 var(--sp-4);background:none;border:0;box-shadow:none;color:#fff}
  .gnb__panel::before{display:none}
  .gnb__sub a{min-height:44px;padding:8px 0;font-size:1rem;color:var(--text-on-dark-muted)}
  .gnb__sub a::before{background:var(--c-navy-500)}
  .gnb__feature{display:none}
  .site-header__cta{margin:var(--sp-6) 0 0;width:100%;--btn-h:52px}
  .gnb__contact{display:grid;gap:var(--sp-2);margin-top:var(--sp-5);font-family:var(--font-label);font-size:.9375rem;color:var(--text-on-dark-muted)}
  .gnb__contact a{min-height:44px;display:flex;align-items:center}
  .site-header.is-menu-open{background:var(--c-navy-900);color:#fff;box-shadow:0 1px 0 var(--border-dark);-webkit-backdrop-filter:none;backdrop-filter:none}
  .site-header.is-menu-open .site-header__logo--white{display:block}
  .site-header.is-menu-open .site-header__logo--color{display:none}
}
body.is-locked{overflow:hidden}
.section{position:relative;padding-block:var(--section-py)}
.section--white{background:var(--bg)}
.section--warm{background:var(--bg-warm)}
.section--dark{background:var(--c-navy-900);color:var(--text-on-dark)}
[id]{scroll-margin-top:calc(var(--header-h) + var(--subnav-h) + 16px)}
.section-head{max-width:780px;margin-bottom:var(--head-gap)}
.section-head h2{max-width:22ch}
.section-head .lead{margin-top:var(--sp-4)}
@media (min-width:1200px){
  .section-head--split{max-width:none;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--col-gap);align-items:end}
  .section-head--split .lead{margin-top:0;padding-bottom:6px}
  .section-head--split h2{max-width:none}
}
.lead{font-size:var(--fs-lead);line-height:1.7;color:var(--text-muted);max-width:68ch}
.section--dark .lead{color:var(--text-on-dark-muted)}
.subhead{font-size:var(--fs-h4);font-weight:700;margin:var(--sp-8) 0 var(--sp-5);display:flex;align-items:center;gap:12px}
.subhead::after{content:"";flex:1;height:1px;background:var(--border)}
.section--dark .subhead::after{background:var(--border-dark)}
.subhead .num{font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;color:var(--text-muted)}
.notice{margin-top:var(--sp-5);padding:2px 0 2px 14px;border-left:2px solid var(--c-navy-200);font-size:var(--fs-xs);line-height:1.65;color:var(--text-muted);max-width:80ch}
.section--dark .notice{border-color:var(--border-dark-strong);color:var(--text-on-dark-subtle)}
.source{display:block;font-size:var(--fs-label);line-height:1.5;color:var(--text-muted);letter-spacing:.01em}
.source::before{content:"출처 · ";font-family:var(--font-label);letter-spacing:.04em}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--c-navy-900);color:#fff;padding:calc(var(--header-h) + var(--sp-7)) 0 var(--sp-8)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;z-index:-1;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.7))}
.hero .eyebrow{color:var(--c-yellow-500)}
.hero__title{font-size:var(--fs-display);line-height:1.14;letter-spacing:-.03em}
.hero__title--sub{font-size:var(--fs-h1);line-height:1.2}
.hero__lead{margin-top:var(--sp-5);font-size:var(--fs-lead);line-height:1.75;color:var(--text-on-dark-muted);max-width:36em}
.hero .btn-row{margin-top:var(--sp-6)}
.hero__grid{display:grid;gap:var(--sp-7);align-items:center}
@media (min-width:1200px){
  .hero{padding:calc(var(--header-h) + var(--sp-9)) 0 var(--sp-9);min-height:min(100vh,880px);display:flex;align-items:center}
  .hero > .container{width:min(100% - 2*var(--gutter), var(--container))}
  .hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--col-gap)}
  .hero--sub{min-height:0;padding:calc(var(--header-h) + var(--sp-8)) 0 var(--sp-8)}
}
.hero--sub .hero__grid{align-items:end}
.hero__field{right:-120px;top:calc(var(--header-h) - 40px);width:760px;max-width:none;opacity:1}
@media (max-width:1199.98px){
  .hero__field{right:-260px;top:auto;bottom:-80px;width:620px;opacity:.6}
}
.hero-links{display:grid;gap:0;margin-top:var(--sp-7);border-top:1px solid var(--border-dark);max-width:560px}
@media (min-width:768px){
  .hero-links{grid-template-columns:1fr 1fr}
}
.hero-link{position:relative;display:flex;flex-direction:column;gap:2px;padding:var(--sp-4) var(--sp-5) var(--sp-4) 0;border-bottom:1px solid var(--border-dark)}
@media (min-width:768px){
  .hero-link{border-bottom:0}
  .hero-link + .hero-link{padding-left:var(--sp-5);border-left:1px solid var(--border-dark)}
}
.hero-link::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:2px;background:var(--g-privacy)}
.hero-link + .hero-link::before{background:var(--g-genai)}
@media (min-width:768px){
  .hero-link + .hero-link::before{left:var(--sp-5)}
}
.hero-link__label{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-on-dark-subtle)}
.hero-link__name{display:inline-flex;align-items:center;gap:8px;font-size:1.0625rem;font-weight:700}
.hero-link__name .icon{width:18px;height:18px;transition:transform var(--t-fast) var(--ease)}
@media (hover:hover) and (pointer:fine){
  .hero-link:hover .icon{transform:translateX(4px)}
  .hero-link:hover .hero-link__name{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
}
.fig-label{display:flex;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);font-family:var(--font-label);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-dark-subtle)}
.fig-label span:last-child{color:var(--c-navy-500)}
.hero-visual{position:relative;width:100%;max-width:480px;margin-inline:auto}
@media (min-width:1200px){
  .hero-visual{margin-right:0}
}
.mask-card{position:relative;overflow:hidden;background:#fff;color:var(--c-navy-700);border-radius:var(--r-lg);box-shadow:var(--shadow-xl)}
.mask-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:14px 20px;border-bottom:1px solid var(--border);background:var(--c-warm-50)}
.mask-card__file{display:flex;align-items:center;gap:10px;font-size:.9375rem;font-weight:700}
.mask-card__file .icon{width:20px;height:20px;color:var(--c-navy-500)}
.mask-card__status{font-family:var(--font-label);font-size:.6875rem;font-weight:500;letter-spacing:.08em;padding:3px 8px;border-radius:var(--r-sm);background:var(--c-navy-700);color:#fff;white-space:nowrap}
.mask-card__status::after{content:"MASKED · 3"}
.mask-card[data-state="orig"] .mask-card__status::after{content:"READY"}
.mask-card[data-state="scan"] .mask-card__status::after{content:"SCANNING"}
.mask-card[data-state="detect"] .mask-card__status::after,.mask-card[data-state="cover"] .mask-card__status::after{content:"PII · 3 DETECTED"}
.mask-card[data-state="detect"] .mask-card__status,.mask-card[data-state="cover"] .mask-card__status{background:var(--c-orange-700)}
.mask-card__rows{position:relative;padding:18px 20px 8px;display:grid;gap:4px}
.mask-card__row{display:grid;grid-template-columns:104px 1fr;align-items:center;gap:12px;min-height:52px;border-bottom:1px dashed var(--c-navy-200);padding-top:10px}
.mask-card__row:last-child{border-bottom:0}
.mask-card__row dt{font-size:var(--fs-xs);color:var(--text-muted)}
.mask-card__row dd{font-family:var(--font-label);font-size:1rem;font-weight:500;letter-spacing:.01em}
.mask-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 20px;border-top:1px solid var(--border);font-family:var(--font-label);font-size:.6875rem;letter-spacing:.06em;color:var(--text-muted)}
.mask-card__scan{position:absolute;left:0;right:0;top:0;height:56px;pointer-events:none;opacity:0;background:linear-gradient(to bottom,rgba(230,8,31,0),rgba(230,8,31,.10) 80%,rgba(230,8,31,.0));border-bottom:2px solid var(--c-orange-500);transform:translateY(-60px)}
.mask-card[data-state="scan"] .mask-card__scan{opacity:1;transform:translateY(calc(var(--scan-h,220px) + 10px));transition:transform 900ms cubic-bezier(.45,0,.4,1),opacity 120ms}
.mask{position:relative;display:inline-grid;vertical-align:middle;padding:1px 6px;margin-left:-6px;border-radius:var(--r-sm)}
.mask > .mask__orig,.mask > .mask__res{grid-area:1/1;white-space:nowrap;transition:opacity 200ms var(--ease)}
.mask__orig{opacity:0}
.mask__res{opacity:1}
.mask{background:var(--c-navy-100)}
.mask::after{content:"";position:absolute;inset:-2px;border:1.5px solid var(--c-orange-500);border-radius:4px;opacity:0;transition:opacity 150ms}
.mask__label{position:absolute;left:-2px;bottom:calc(100% + 5px);z-index:2;display:inline-flex;align-items:center;gap:5px;padding:2px 7px 2px 6px;border-radius:var(--r-sm);background:var(--c-navy-700);color:#fff;font-family:var(--font-sans);font-size:.6875rem;font-weight:500;line-height:1.5;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity 180ms var(--ease),transform 180ms var(--ease)}
.mask__label::before{content:"";width:4px;height:8px;clip-path:var(--px-clip);background:var(--c-orange-500)}
.mask__tiles{position:absolute;inset:-3px -2px;display:flex;gap:1px;pointer-events:none}
.mask__tiles i{flex:1 1 0;min-width:0;background:var(--c-navy-700);clip-path:polygon(0 0,100% 22%,100% 100%,0 78%);opacity:0;transform:translateY(-3px);transition:opacity 90ms linear,transform 120ms var(--ease);transition-delay:calc(var(--i,0) * 20ms)}
.mask__tiles i:nth-child(3n+2){background:var(--c-navy-600)}
.mask__tiles i:nth-child(5n+4){background:var(--c-orange-500)}
.mask-card[data-state="orig"] .mask,.mask-card[data-state="scan"] .mask,.mask-card[data-state="detect"] .mask,.mask-card[data-state="cover"] .mask{background:transparent}
.mask-card[data-state="orig"] .mask__orig,.mask-card[data-state="scan"] .mask__orig,.mask-card[data-state="detect"] .mask__orig,.mask-card[data-state="cover"] .mask__orig{opacity:1}
.mask-card[data-state="orig"] .mask__res,.mask-card[data-state="scan"] .mask__res,.mask-card[data-state="detect"] .mask__res,.mask-card[data-state="cover"] .mask__res{opacity:0}
.mask-card[data-state="detect"] .mask::after,.mask-card[data-state="cover"] .mask::after{opacity:1;transition-delay:calc(var(--k,0) * 150ms)}
.mask-card:not([data-state]) .mask__label,.mask-card[data-state="detect"] .mask__label,.mask-card[data-state="cover"] .mask__label,.mask-card[data-state="masked"] .mask__label{opacity:1;transform:none;transition-delay:calc(var(--k,0) * 150ms)}
.mask-card[data-state="masked"] .mask__label{opacity:.0;transition-delay:1.2s}
.mask-card[data-state="cover"] .mask__tiles i{opacity:1;transform:none}
.mask-card[data-state="masked"] .mask__tiles i{opacity:0;transition-delay:calc((12 - var(--i,0)) * 16ms)}
.mask-log{position:absolute;right:-28px;bottom:-44px;z-index:2;width:220px;padding:12px 14px;border-radius:var(--r-md);background:var(--c-navy-950);border:1px solid var(--border-dark-strong);box-shadow:var(--shadow-lg);font-family:var(--font-label);font-size:.6875rem;line-height:1.9;letter-spacing:.02em;color:var(--text-on-dark-subtle)}
.mask-log li{list-style:none;display:flex;gap:10px}
.mask-log li::before{content:"";width:5px;height:9px;margin-top:6px;clip-path:var(--px-clip);background:var(--c-navy-600);flex:none}
.mask-log li.is-on{color:#fff}
.mask-log li.is-on::before{background:var(--c-yellow-500)}
.mask-card[data-state] ~ .mask-log li{transition:color 200ms}
@media (max-width:1199.98px){
  .mask-log{right:-12px}
}
@media (max-width:767.98px){
  .mask-log{position:relative;right:auto;bottom:auto;width:auto;margin:12px 0 0}
}
.hero-visual{margin-bottom:44px}
@media (max-width:767.98px){
  .hero-visual{margin-bottom:0}
}
.gate{position:relative;container-type:inline-size;width:100%;max-width:520px;margin-inline:auto}
@media (max-width:479.98px){
  .gate{zoom:.78}
}
.gate__stage{position:relative;height:320px}
.gate__wall{position:absolute;left:40%;top:4px;bottom:40px;width:46px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:4px 6px}
.gate__wall i{clip-path:var(--px-clip);background:var(--c-red-500)}
.gate__wall i:nth-child(4n+2),.gate__wall i:nth-child(4n+3){background:var(--c-orange-500)}
.gate__wall i:nth-child(7n+5){background:var(--c-yellow-500)}
.gate__wall i:nth-child(n+13){opacity:.8}
.gate__name{position:absolute;left:40%;bottom:6px;transform:translateX(-50%);font-family:var(--font-label);font-size:.6875rem;letter-spacing:.1em;color:var(--c-yellow-500);white-space:nowrap}
.gate__llm{position:absolute;right:0;top:50%;transform:translateY(-58%);width:18cqi;min-width:80px;padding:16px 8px;text-align:center;border:1px solid var(--border-dark-strong);border-radius:var(--r-md);background:var(--c-navy-800);font-family:var(--font-label);font-size:.75rem;font-weight:700;line-height:1.5;color:#fff}
.gate__llm small{display:block;font-weight:400;font-size:.625rem;color:var(--text-on-dark-subtle);letter-spacing:.06em}
.gate__lane{position:absolute;left:0;right:18cqi;height:0}
.gate__lane--1{top:20%}
.gate__lane--2{top:48%}
.gate__lane--3{top:76%}
.gate__track{position:absolute;left:0;right:0;top:0;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0 4px,transparent 4px 10px)}
.gate__lane--3 .gate__track{right:60%}
.gate__pkt{position:absolute;left:0;top:0;transform:translate(0,-50%);display:inline-grid;padding:6px 10px;border-radius:var(--r-sm);background:var(--c-navy-800);border:1px solid var(--border-dark-strong);font-family:var(--font-label);font-size:.6875rem;line-height:1.4;color:#fff;white-space:nowrap}
.gate__pkt > span{grid-area:1/1}
.gate__pkt .b{opacity:0}
.gate__verdict{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:var(--r-sm);white-space:nowrap;font-family:var(--font-label);font-size:.625rem;font-weight:700;letter-spacing:.08em;color:#fff}
.gate__verdict .icon{width:12px;height:12px;stroke-width:2.75}
.gate__verdict--allow{background:var(--c-safe-600)}
.gate__verdict--mask{background:var(--c-orange-700)}
.gate__verdict--block{background:var(--c-red-500)}
.gate__shard{position:absolute;top:0;left:calc(40cqi - 34px);width:7px;height:14px;clip-path:var(--px-clip);background:var(--c-red-500);opacity:0}
.gate__shard:nth-of-type(3n){background:var(--c-orange-500);width:6px;height:12px}
.gate__shard:nth-of-type(4n){background:var(--c-yellow-500);width:4px;height:8px}
.gate__lane--1 .gate__pkt,.gate__lane--2 .gate__pkt{transform:translate(calc(82cqi - 100% - 12px),-50%)}
.gate__lane--2 .gate__pkt{border-color:var(--c-orange-500)}
.gate__lane--2 .gate__pkt .a{opacity:0}
.gate__lane--2 .gate__pkt .b{opacity:1}
.gate__lane--3 .gate__pkt{transform:translate(calc(40cqi - 100% - 30px),-50%);opacity:.4;text-decoration:line-through;text-decoration-color:var(--c-red-500)}
.gate__lane--1 .gate__verdict,.gate__lane--2 .gate__verdict{top:-34px;right:12px}
.gate__lane--3 .gate__verdict{top:22px;left:0}
@media (prefers-reduced-motion:no-preference){
  .gate.is-live .gate__pkt{opacity:0;text-decoration:none}
  .gate.is-live .gate__lane--1 .gate__pkt{animation:pkt-pass 7s var(--ease) infinite}
  .gate.is-live .gate__lane--2 .gate__pkt{animation:pkt-mask 7s var(--ease) .5s infinite}
  .gate.is-live .gate__lane--2 .gate__pkt .a{animation:txt-out 7s linear .5s infinite;opacity:1}
  .gate.is-live .gate__lane--2 .gate__pkt .b{animation:txt-in 7s linear .5s infinite}
  .gate.is-live .gate__lane--3 .gate__pkt{animation:pkt-block 7s var(--ease) 1s infinite}
  .gate.is-live .gate__verdict{opacity:0}
  .gate.is-live .gate__lane--1 .gate__verdict{animation:verdict 7s linear infinite}
  .gate.is-live .gate__lane--2 .gate__verdict{animation:verdict 7s linear .5s infinite}
  .gate.is-live .gate__lane--3 .gate__verdict{animation:verdict-block 7s linear 1s infinite}
  .gate.is-live .gate__shard{animation:shard 7s var(--ease) 1s infinite}
}
@keyframes pkt-pass{0%{ opacity:0; transform:translate(0,-50%); } 6%{ opacity:1; } 34%{ transform:translate(calc(40cqi - 100% - 30px),-50%); } 52%,86%{ transform:translate(calc(82cqi - 100% - 12px),-50%); opacity:1; } 94%,100%{ transform:translate(calc(82cqi - 100% - 12px),-50%); opacity:0; }}
@keyframes pkt-mask{0%{ opacity:0; transform:translate(0,-50%); border-color:rgba(255,255,255,.24); } 6%{ opacity:1; } 34%{ transform:translate(calc(40cqi - 100% - 30px),-50%); border-color:rgba(255,255,255,.24); } 40%{ border-color:#e6081f; } 52%,86%{ transform:translate(calc(82cqi - 100% - 12px),-50%); opacity:1; border-color:#e6081f; } 94%,100%{ transform:translate(calc(82cqi - 100% - 12px),-50%); opacity:0; border-color:#e6081f; }}
@keyframes txt-out{0%,36%{ opacity:1; } 40%,100%{ opacity:0; }}
@keyframes txt-in{0%,36%{ opacity:0; } 40%,94%{ opacity:1; } 100%{ opacity:0; }}
@keyframes pkt-block{0%{ opacity:0; transform:translate(0,-50%); } 6%{ opacity:1; } 34%{ transform:translate(calc(40cqi - 100% - 30px),-50%); opacity:1; } 38%,100%{ transform:translate(calc(40cqi - 100% - 30px),-50%) scale(.94); opacity:0; }}
@keyframes verdict{0%,50%{ opacity:0; } 56%,86%{ opacity:1; } 94%,100%{ opacity:0; }}
@keyframes verdict-block{0%,38%{ opacity:0; } 44%,86%{ opacity:1; } 94%,100%{ opacity:0; }}
@keyframes shard{0%,34%{ opacity:0; transform:translate(0,-50%); } 35%{ opacity:1; transform:translate(0,-50%); } 52%{ opacity:0; transform:translate(var(--dx),calc(-50% + var(--dy))) rotate(var(--rot)); } 100%{ opacity:0; }}
.gate__shard:nth-of-type(1){--dx:-38px;--dy:-26px;--rot:-20deg}
.gate__shard:nth-of-type(2){--dx:-52px;--dy:4px;--rot:14deg}
.gate__shard:nth-of-type(3){--dx:-30px;--dy:24px;--rot:30deg}
.gate__shard:nth-of-type(4){--dx:-64px;--dy:-12px;--rot:-8deg}
.gate__shard:nth-of-type(5){--dx:-18px;--dy:-34px;--rot:40deg}
.gate__shard:nth-of-type(6){--dx:-46px;--dy:30px;--rot:-36deg}
.gate__shard:nth-of-type(7){--dx:-72px;--dy:16px;--rot:22deg}
.gate__shard:nth-of-type(8){--dx:-24px;--dy:8px;--rot:-50deg}
.gate__shard:nth-of-type(9){--dx:-58px;--dy:-36px;--rot:12deg}
.gate__shard:nth-of-type(10){--dx:-40px;--dy:40px;--rot:-18deg}
.gate__shard:nth-of-type(11){--dx:-84px;--dy:-4px;--rot:28deg}
.gate__shard:nth-of-type(12){--dx:-14px;--dy:34px;--rot:-6deg}
.product-plate{position:relative;isolation:isolate;max-width:440px;margin-inline:auto;padding:36px 36px 28px;border-radius:var(--r-xl);background:var(--c-warm-50);box-shadow:var(--shadow-xl);overflow:hidden}
.product-plate::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to right,rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.07) 1px,transparent 1px);background-size:24px 24px}
.product-plate img{width:min(100%,320px);margin-inline:auto;mix-blend-mode:multiply}
.product-plate__cap{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-family:var(--font-label);font-size:.6875rem;letter-spacing:.08em;color:var(--text-muted)}
@media (min-width:1200px){
  .product-plate{margin-right:0}
}
.module-cards{display:grid;gap:12px;margin-top:var(--sp-6);max-width:600px}
@media (min-width:768px){
  .module-cards{grid-template-columns:1fr 1fr}
}
.module-card{position:relative;display:grid;gap:4px;padding:18px 20px 18px;border:1px solid var(--border-dark);border-radius:var(--r-lg);background:rgba(255,255,255,.03);transition:border-color var(--t-fast),background-color var(--t-fast)}
.module-card::before{content:"";position:absolute;left:20px;top:-1px;width:32px;height:2px;background:var(--g-accent)}
.module-card__key{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-yellow-500)}
.module-card__title{font-size:1.125rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}
.module-card__title .icon{width:18px;height:18px;transition:transform var(--t-fast) var(--ease)}
.module-card__text{font-size:var(--fs-small);color:var(--text-on-dark-muted);line-height:1.6}
@media (hover:hover) and (pointer:fine){
  .module-card:hover{border-color:var(--border-dark-strong);background:rgba(255,255,255,.06)}
  .module-card:hover .icon{transform:translateX(4px)}
}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border-dark);max-width:600px}
.subnav{position:sticky;top:var(--header-h);z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.02)}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){
  .subnav{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
}
.subnav ul{list-style:none;display:flex;gap:4px;height:var(--subnav-h);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav li{flex:none;scroll-snap-align:start}
.subnav a{position:relative;display:flex;align-items:center;height:100%;padding:0 12px;font-size:.9375rem;color:var(--text-muted);white-space:nowrap;transition:color var(--t-fast)}
.subnav a[aria-current="true"]{color:var(--c-navy-700);font-weight:700}
.subnav a[aria-current="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--g-accent)}
@media (hover:hover) and (pointer:fine){
  .subnav a:hover{color:var(--c-navy-700)}
}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media (min-width:1200px){
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.stat{position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--sp-5) var(--sp-4) var(--sp-5) 0}
.stat:nth-child(2n){padding-left:var(--sp-4);border-left:1px solid var(--border)}
.stat:nth-child(n+3){border-top:1px solid var(--border)}
@media (min-width:768px){
  .stat{padding:var(--sp-6) var(--sp-5) var(--sp-6) 0}
  .stat:nth-child(2n){padding-left:var(--sp-5)}
}
@media (min-width:1200px){
  .stat{padding:var(--sp-6) var(--sp-5) !important;border-top:0 !important;border-left:1px solid var(--border)}
  .stat:first-child{border-left:0;padding-left:0 !important}
}
.stat__num{font-family:var(--font-label);font-feature-settings:"tnum";font-size:var(--fs-stat);font-weight:500;line-height:1.05;letter-spacing:-.04em;color:var(--c-navy-700);display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.stat__num small{font-family:var(--font-sans);font-size:.4em;font-weight:700;letter-spacing:0;color:var(--c-navy-600)}
.stat__num::after{content:""}
.stat__bar{display:block;width:36px;height:3px;margin:6px 0 4px;background:var(--g-accent);clip-path:polygon(0 0,100% 0,calc(100% - 3px) 100%,0 100%)}
.stat__label{font-weight:700;font-size:1rem;line-height:1.45}
.stat__sub{font-size:var(--fs-small);color:var(--text-muted);line-height:1.5}
.stat .source{margin-top:auto;padding-top:6px}
.stats--sm .stat__num{font-size:clamp(1.875rem,1.5rem + 1.4vw,2.75rem)}
.stats-foot__note{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.04em;color:var(--text-muted)}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:3px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;font-size:var(--fs-small);line-height:1.4;color:var(--c-navy-700)}
.chip--mono{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.04em}
.section--dark .chip{background:rgba(255,255,255,.04);border-color:var(--border-dark-strong);color:#fff}
.section--warm .chip{background:#fff}
.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:2px;font-family:var(--font-label);font-size:.6875rem;font-weight:500;letter-spacing:.04em;line-height:1;background:var(--c-navy-100);color:var(--c-navy-700);white-space:nowrap}
.tag--dp,.tag--deid{background:var(--c-orange-50);color:var(--c-orange-700)}
.tag--dlp{background:var(--c-red-50);color:var(--c-red-600)}
.tag--dgg{background:var(--c-navy-100);color:var(--c-navy-700)}
.chip .tag + .tag{margin-left:-4px}
.badge-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px}
.badge-cert{display:inline-flex;align-items:center;gap:9px;font-size:.9375rem;font-weight:500;line-height:1.5}
.badge-cert::before{content:"";width:7px;height:13px;clip-path:var(--px-clip);background:var(--c-navy-300);flex:none}
.badge-cert--key{font-weight:700}
.badge-cert--key::before{background:var(--g-accent)}
.badge-cert small{font-family:var(--font-label);font-size:.6875rem;letter-spacing:.06em;color:var(--text-muted);font-weight:500}
.section--dark .badge-cert small,.hero .badge-cert small{color:var(--text-on-dark-subtle)}
.card{position:relative;display:block;padding:var(--card-pad);background:#fff;border:1px solid var(--border);border-radius:var(--r-lg)}
.card--warm{background:var(--c-warm-50);border-color:transparent}
.card__label{display:block;margin-bottom:var(--sp-3);font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.card h3,.card h4{margin-bottom:var(--sp-2)}
.card p{color:var(--text-muted);font-size:.9375rem;line-height:1.7}
.card--link{transition:box-shadow var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease),transform var(--t-ui) var(--ease)}
.card--link::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--g-accent);opacity:0;transition:opacity var(--t-ui) var(--ease)}
@media (hover:hover) and (pointer:fine){
  .card--link:hover{box-shadow:var(--shadow-md);border-color:var(--c-navy-200)}
  .card--link:hover::before{opacity:1}
}
.card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--sp-5);border-radius:var(--r-md);background:var(--c-navy-100);color:var(--c-navy-700)}
.card__icon .icon{width:26px;height:26px;stroke-width:1.6}
.card__num{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-muted)}
.card__num::after{content:"";width:24px;height:2px;background:var(--g-accent)}
.value{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);font-weight:500;line-height:1.5}
.value .icon{color:var(--accent);width:26px;height:26px;stroke-width:1.6}
.pillar-card{position:relative;display:flex;flex-direction:column;min-height:440px;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);transition:box-shadow var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease)}
.pillar-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--g-privacy);z-index:2}
.pillar-card--genai::before{background:var(--g-genai)}
.pillar-card__body{padding:var(--card-pad);padding-bottom:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}
.pillar-card__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pillar-card__label{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-muted)}
.pillar-card__name{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.375rem);line-height:1.15;letter-spacing:-.025em}
.pillar-card__oneline{font-size:.9375rem;color:var(--text-muted);margin-top:-4px}
.pillar-card__head{font-size:1.125rem;font-weight:700;line-height:1.5;margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border)}
.pillar-card__mods{display:grid;gap:10px}
.pillar-card__mods div{display:grid;grid-template-columns:72px 1fr;gap:12px;font-size:.9375rem;line-height:1.6;color:var(--text-muted)}
.pillar-card__mods dt{font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.06em;color:var(--c-orange-700);padding-top:3px}
.pillar-card__visual{position:relative;margin-top:auto;padding:0 var(--card-pad)}
.pillar-card__foot{display:flex;align-items:center;justify-content:space-between;padding:0 var(--card-pad) var(--sp-3);border-top:1px solid var(--border);margin-top:var(--sp-5)}
@media (hover:hover) and (pointer:fine){
  .pillar-card:hover{box-shadow:var(--shadow-lg);border-color:var(--c-navy-200)}
  .pillar-card:hover .link-arrow .icon{transform:translateX(4px)}
}
.pillar-card__box{position:absolute;right:calc(var(--card-pad) - 8px);bottom:-10px;width:132px;mix-blend-mode:multiply}
@media (max-width:767.98px){
  .pillar-card__box{width:96px}
}
.mini-gate{display:grid;grid-template-columns:1fr auto 1.25fr auto 1fr;align-items:center;gap:8px;padding:22px 18px;border-radius:var(--r-lg);background:var(--c-navy-900);color:#fff}
.mini-gate__node{padding:10px 8px;text-align:center;border:1px solid var(--border-dark-strong);border-radius:var(--r-md);font-size:.8125rem;font-weight:500;line-height:1.35}
.mini-gate__node small{display:block;font-family:var(--font-label);font-size:.625rem;letter-spacing:.06em;color:var(--text-on-dark-subtle);font-weight:400}
.mini-gate__core{position:relative;padding:12px 10px 10px;border:1.5px solid transparent;background:linear-gradient(var(--c-navy-900),var(--c-navy-900)) padding-box,var(--g-genai) border-box}
.mini-gate__core b{display:block;font-family:var(--font-label);font-size:.6875rem;letter-spacing:.06em}
.mini-gate__tiles{display:flex;justify-content:center;gap:3px;margin-bottom:6px}
.mini-gate__tiles i{width:6px;height:13px;clip-path:var(--px-clip);background:var(--c-red-500)}
.mini-gate__tiles i:nth-child(2){background:var(--c-orange-500)}
.mini-gate__tiles i:nth-child(3){background:var(--c-yellow-500)}
.mini-gate__arrow{width:22px;height:1px;background:rgba(255,255,255,.4);position:relative}
.mini-gate__arrow::after{content:"";position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left:5px solid rgba(255,255,255,.55);border-right:0}
.mini-gate__block{position:absolute;top:-9px;right:-9px;width:20px;height:20px;border-radius:3px;background:var(--c-red-500);display:grid;place-items:center}
.mini-gate__block .icon{width:12px;height:12px;stroke-width:2.75;color:#fff}
@media (max-width:420px){
  .mini-gate{grid-template-columns:1fr}
  .mini-gate__arrow{width:1px;height:14px;justify-self:center}
  .mini-gate__arrow::after{right:-3px;top:auto;bottom:-1px;border:3.5px solid transparent;border-top:5px solid rgba(255,255,255,.55);border-bottom:0}
}
.case-card{display:grid;gap:var(--sp-4)}
.case-card__cols{display:grid;gap:var(--sp-4)}
@media (min-width:768px){
  .case-card__cols{grid-template-columns:1fr 1fr}
}
.shot-frame{position:relative;overflow:hidden;background:#fff;border:1px solid var(--c-navy-200);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.shot-frame__bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:var(--c-navy-900)}
.shot-frame__bar i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22)}
.shot-frame__bar span{margin-left:10px;font-family:var(--font-label);font-size:.625rem;letter-spacing:.1em;color:var(--text-on-dark-subtle);text-transform:uppercase}
.shot-frame__img{display:block;width:100%;height:auto}
.shot-frame__crop{position:relative;overflow:hidden;aspect-ratio:var(--crop-ratio,16/10)}
.shot-frame__crop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--crop-pos,top left)}
.crop--kpi{--crop-ratio:16/7}
.crop--kpi img{width:165%;max-width:none;height:auto;inset:0 auto auto 0;object-fit:initial}
.crop--top60{--crop-ratio:1600/790;--crop-pos:top center}
.shot-frame figcaption{margin-top:var(--sp-3);font-size:var(--fs-xs);line-height:1.6;color:var(--text-muted)}
.feature-block{display:grid;gap:var(--sp-6);align-items:center}
.feature-block + .feature-block{margin-top:var(--sp-8)}
.feature-block__text .num{display:block;font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-3)}
.feature-block__text .num::after{content:"";display:block;width:28px;height:2px;margin-top:10px;background:var(--g-accent)}
.feature-block__text h3{margin-bottom:var(--sp-3)}
.feature-block__text p{color:var(--text-muted)}
.feature-block__text .chip-list{margin-top:var(--sp-4)}
@media (min-width:1200px){
  .feature-block{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8)}
  .feature-block--rev .feature-block__text{order:2}
  .feature-block--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.tabs__list{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:var(--sp-6)}
.tabs__list::-webkit-scrollbar{display:none}
.tabs__tab{position:relative;flex:none;scroll-snap-align:start;min-height:48px;padding:0 16px;font-size:1rem;font-weight:500;color:var(--text-muted);white-space:nowrap;transition:color var(--t-fast)}
.tabs__tab[aria-selected="true"]{color:var(--c-navy-700);font-weight:700}
.tabs__tab[aria-selected="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--g-accent)}
@media (hover:hover) and (pointer:fine){
  .tabs__tab:hover{color:var(--c-navy-700)}
}
.tabs__panel:focus-visible{outline-offset:8px}
.section--dark .tabs__list{display:inline-flex;max-width:100%;padding:4px;gap:4px;border:1px solid var(--border-dark);border-radius:var(--r-md);background:rgba(255,255,255,.03)}
.section--dark .tabs__tab{min-height:40px;padding:0 16px;border-radius:4px;color:var(--text-on-dark-muted);font-size:.9375rem}
.section--dark .tabs__tab[aria-selected="true"]{background:var(--bg-dark-2);color:#fff;box-shadow:inset 0 0 0 1px var(--border-dark-strong)}
.section--dark .tabs__tab[aria-selected="true"]::after{left:14px;right:auto;width:18px;bottom:5px}
@media (hover:hover) and (pointer:fine){
  .section--dark .tabs__tab:hover{color:#fff}
}
.no-js .tabs__panel[hidden]{display:block !important}
.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.data-table{font-size:.9375rem;line-height:1.6}
.data-table caption{caption-side:top;text-align:left;padding:18px 20px;font-weight:700;border-bottom:1px solid var(--border)}
.data-table caption small{display:block;font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;color:var(--text-muted)}
.data-table th,.data-table td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.data-table thead th{padding-block:12px;background:var(--c-warm-50);font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}
.data-table tbody tr:last-child > *{border-bottom:0}
.data-table tbody th{font-weight:700}
.data-table .dim{color:var(--text-muted);font-size:var(--fs-small)}
@media (min-width:768px){
  .data-table .dim{white-space:nowrap}
}
.data-table td.is-key{font-weight:700}
.data-table .mark-red{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.data-table .mark-red::before{content:"";width:7px;height:13px;clip-path:var(--px-clip);background:var(--c-red-500);flex:none}
@media (hover:hover) and (pointer:fine){
  .data-table tbody tr:hover > *{background:#fbfbfa}
}
.data-table .col-after{position:relative;background:var(--c-warm-50)}
.data-table thead .col-after{color:var(--c-navy-700);background:var(--c-navy-100)}
.data-table thead .col-after::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--g-accent)}
.data-table .check{display:flex;gap:10px}
.data-table .check .icon{width:18px;height:18px;margin-top:3px;color:var(--c-safe-600);stroke-width:2.25}
.table-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:var(--sp-4)}
.table-filter__btn{min-height:40px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff;font-size:.9375rem;font-weight:500}
.table-filter__btn[aria-pressed="true"]{background:var(--c-navy-700);border-color:var(--c-navy-700);color:#fff}
.table-filter__count{margin-left:auto;font-family:var(--font-label);font-size:var(--fs-label);color:var(--text-muted)}
@media (max-width:767.98px){
  .data-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .data-table--stack,.data-table--stack tbody,.data-table--stack tr,.data-table--stack th,.data-table--stack td{display:block;width:100%}
  .data-table--stack tr{padding:14px 16px;border-bottom:1px solid var(--border)}
  .data-table--stack tbody tr:last-child{border-bottom:0}
  .data-table--stack th,.data-table--stack td{padding:4px 0;border:0}
  .data-table--stack tbody th{font-size:1rem;margin-bottom:4px}
  .data-table--stack td[data-label]::before{content:attr(data-label);display:block;font-family:var(--font-label);font-size:.6875rem;letter-spacing:.06em;color:var(--text-muted);margin-top:6px}
  .data-table--stack td.col-after{margin-top:8px;padding:8px 12px;border-radius:var(--r-md)}
  .data-table caption{padding:14px 16px}
}
.acc{border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.acc + .acc{margin-top:10px}
.acc > summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 20px;cursor:pointer;font-weight:700;line-height:1.5}
.acc > summary::-webkit-details-marker{display:none}
.acc > summary .tag{margin-left:auto;flex:none}
.acc > summary .icon{flex:none;color:var(--text-muted);transition:transform var(--t-ui) var(--ease)}
.acc[open] > summary .icon{transform:rotate(180deg)}
.acc[open] > summary{border-bottom:1px solid var(--border)}
.acc__body{padding:4px 0 8px}
.acc__body .data-table th,.acc__body .data-table td{padding:12px 20px}
.timeline{list-style:none;position:relative}
.timeline::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:var(--c-navy-200)}
.timeline__year{position:relative;display:grid;gap:6px 32px;padding:0 0 var(--sp-6) 36px}
.timeline__year::before{content:"";position:absolute;left:0;top:6px;width:14px;height:26px;clip-path:var(--px-clip);background:var(--c-navy-300)}
.timeline__year:first-child::before{background:var(--g-genai)}
.timeline__num{font-family:var(--font-label);font-size:1.5rem;font-weight:500;line-height:1.4;letter-spacing:-.02em;color:var(--c-navy-700)}
.timeline__items{list-style:none;display:grid;gap:10px;padding-top:4px}
.timeline__items li{position:relative;padding-left:18px;line-height:1.65}
.timeline__items li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:1px;background:var(--c-navy-400)}
.timeline__items strong{color:var(--c-navy-700)}
@media (min-width:768px){
  .timeline::before{left:113px}
  .timeline__year{grid-template-columns:96px 1fr;padding-left:0}
  .timeline__year::before{left:107px}
  .timeline__items{padding-left:36px}
}
.timeline-more{margin-top:var(--sp-2)}
.timeline-more > summary{list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff;font-weight:700;cursor:pointer}
.timeline-more > summary::-webkit-details-marker{display:none}
.timeline-more > summary .icon{transition:transform var(--t-ui)}
.timeline-more[open] > summary .icon{transform:rotate(180deg)}
.timeline-more[open] > summary{margin-bottom:var(--sp-6)}
@media (min-width:768px){
  .timeline-more > summary{margin-left:132px}
}
.gallery{list-style:none;display:grid;gap:var(--col-gap);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1200px){
  .gallery--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px) and (max-width:1199.98px){
  .gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.thumb{display:flex;flex-direction:column;width:100%;height:100%;text-align:left;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;overflow:hidden;transition:box-shadow var(--t-ui) var(--ease),border-color var(--t-ui)}
.thumb__img{position:relative;aspect-ratio:5/6;padding:18px 18px 0;background:var(--c-warm-50);overflow:hidden}
.thumb__img img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:2px 2px 0 0;box-shadow:0 2px 10px rgba(0,0,0,.12);background:#fff}
.thumb__zoom{position:absolute;right:10px;top:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);background:rgba(0,0,0,.8);color:#fff;opacity:0;transition:opacity var(--t-fast)}
.thumb__zoom .icon{width:16px;height:16px}
.thumb__body{display:grid;gap:4px;padding:14px 16px 16px;border-top:1px solid var(--border)}
.thumb__cap{font-size:.9375rem;font-weight:700;line-height:1.45}
.thumb__no{font-family:var(--font-label);font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.02em}
@media (hover:hover) and (pointer:fine){
  .thumb:hover{box-shadow:var(--shadow-md);border-color:var(--c-navy-200)}
  .thumb:hover .thumb__zoom{opacity:1}
}
.thumb:focus-visible .thumb__zoom{opacity:1}
.gallery--compact .thumb__img{padding:14px 14px 0}
.gallery--compact .thumb__cap{font-size:var(--fs-small)}
.lightbox{width:min(100% - 32px, 760px);max-width:none;max-height:none;padding:0;border:0;border-radius:var(--r-xl);background:transparent;color:#fff;overflow:visible}
.lightbox::backdrop{background:rgba(0,0,0,.88)}
.lightbox__inner{display:grid;gap:14px;justify-items:center}
.lightbox__img{max-height:min(78vh,700px);width:auto;max-width:100%;background:#fff;border-radius:4px;box-shadow:var(--shadow-xl)}
.lightbox__cap{font-weight:700;text-align:center}
.lightbox__cap small{display:block;font-family:var(--font-label);font-weight:400;color:var(--text-on-dark-muted)}
.lightbox__bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.lightbox__count{font-family:var(--font-label);font-size:var(--fs-label);color:var(--text-on-dark-muted);align-self:center;min-width:52px;text-align:center}
.lightbox .btn--on-dark{--btn-h:44px;padding:0 14px}
.node{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:14px 16px;min-height:64px;background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:.9375rem;font-weight:500;line-height:1.45;color:var(--c-navy-700)}
.node small{font-size:var(--fs-xs);font-weight:400;color:var(--text-muted);line-height:1.5}
.section--dark .node{background:var(--bg-dark-2);border-color:var(--border-dark-strong);color:#fff}
.section--dark .node small{color:var(--text-on-dark-muted)}
.node--protect{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-accent) border-box;padding-top:30px;box-shadow:var(--shadow-md);font-weight:700}
.section--dark .node--protect{background:linear-gradient(var(--c-navy-850),var(--c-navy-850)) padding-box,var(--g-accent) border-box;box-shadow:none}
.node--protect.node--privacy{background:linear-gradient(#fff,#fff) padding-box,var(--g-privacy) border-box}
.node--protect.node--genai{background:linear-gradient(#fff,#fff) padding-box,var(--g-genai) border-box}
.node__tag{position:absolute;left:14px;top:9px;display:flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:.625rem;font-weight:500;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}
.section--dark .node__tag{color:var(--c-yellow-500)}
.node__tag::before{content:"";width:18px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath fill='%23e6081f' d='M0 2.2L5 5.4V14L0 10.8Z'/%3E%3Cpath fill='%23e6081f' d='M8 1.4L12 4V11L8 8.4Z'/%3E%3Cpath fill='%23e6081f' d='M15.5 0L18.2 1.8V6.4L15.5 4.6Z'/%3E%3C/svg%3E") no-repeat center/contain}
a.node{transition:box-shadow var(--t-ui) var(--ease),transform var(--t-ui) var(--ease)}
a.node .icon{position:absolute;right:12px;top:10px;width:16px;height:16px;color:var(--text-muted);transition:transform var(--t-fast)}
@media (hover:hover) and (pointer:fine){
  a.node:hover{box-shadow:var(--shadow-lg)}
  a.node:hover .icon{transform:translateX(3px)}
}
.link{position:relative;flex:none;align-self:center;width:2px;height:28px;margin-inline:auto}
.link::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,var(--c-navy-400) 0 4px,transparent 4px 9px);background-size:100% 18px}
.link::after{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);border:5px solid transparent;border-top:6px solid var(--c-navy-400);border-bottom:0}
.section--dark .link::before{background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.45) 0 4px,transparent 4px 9px)}
.section--dark .link::after{border-top-color:rgba(255,255,255,.55)}
.link__label{position:absolute;left:16px;top:50%;transform:translateY(-50%);white-space:nowrap;font-family:var(--font-label);font-size:.625rem;letter-spacing:.06em;color:var(--text-muted)}
@media (min-width:1200px){
  .link{width:auto;min-width:28px;height:2px;flex:1;margin:0}
  .link::before{background:repeating-linear-gradient(90deg,var(--c-navy-400) 0 4px,transparent 4px 9px);background-size:18px 100%}
  .link::after{left:auto;right:-2px;top:50%;bottom:auto;transform:translateY(-50%);border:5px solid transparent;border-left:6px solid var(--c-navy-400);border-right:0}
  .section--dark .link::before{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 4px,transparent 4px 9px)}
  .section--dark .link::after{border-top-color:transparent;border-left-color:rgba(255,255,255,.55)}
  .link__label{left:50%;top:auto;bottom:10px;transform:translateX(-50%);text-align:center}
}
@media (prefers-reduced-motion:no-preference){
  .is-in .link::before{animation:dash-flow 1.2s linear 1}
  @media (min-width:1200px){
    .is-in .link::before{animation-name:dash-flow-x}
  }
}
@keyframes dash-flow{from{ background-position:0 -36px; clip-path:inset(0 0 100% 0); } to{ background-position:0 0; clip-path:inset(0 0 0 0); }}
@keyframes dash-flow-x{from{ background-position:-36px 0; clip-path:inset(0 100% 0 0); } to{ background-position:0 0; clip-path:inset(0 0 0 0); }}
.lanes{display:grid;gap:var(--sp-5)}
.lane{display:grid;gap:0;padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.lane__title{display:flex;align-items:baseline;gap:10px;margin-bottom:var(--sp-4);font-weight:700;line-height:1.45}
.lane__title .num{font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;color:var(--text-muted)}
.lane .node--protect{min-height:92px}
@media (min-width:1200px){
  .lanes{gap:14px}
  .lane{grid-template-columns:200px minmax(0,1fr) 44px minmax(0,1.25fr) 44px minmax(0,1.1fr);align-items:center;padding:14px 18px 14px 22px}
  .lane__title{margin:0;padding-right:18px;flex-direction:column;gap:2px}
}
.lane.is-in .node--protect::after{content:"";position:absolute;right:14px;bottom:12px;width:7px;height:13px;clip-path:var(--px-clip);background:var(--c-orange-500);animation:tile-flash 900ms var(--ease) 1.1s 1 both}
@keyframes tile-flash{0%{ opacity:0; transform:scale(.4); } 40%{ opacity:1; transform:scale(1.25); } 100%{ opacity:.9; transform:scale(1); }}
.basebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;padding:16px 22px;border-radius:var(--r-lg);background:var(--c-navy-900);color:#fff;font-size:.9375rem;line-height:1.55}
.basebar__key{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-yellow-500)}
.basebar__items{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none}
.basebar__items li{display:inline-flex;align-items:center;gap:8px}
.basebar__items li::before{content:"";width:5px;height:9px;clip-path:var(--px-clip);background:var(--c-orange-500)}
.steps{list-style:none;display:grid;gap:12px;counter-reset:step}
.step{position:relative;display:grid;align-content:start;gap:6px;padding:18px 20px 20px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.section--warm .step{background:#fff}
.section--dark .step{background:var(--bg-dark-2);border-color:var(--border-dark)}
.step__num{display:flex;align-items:center;gap:10px;font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.1em;color:var(--text-muted)}
.step__num::before{content:"";width:7px;height:13px;clip-path:var(--px-clip);background:var(--c-navy-300)}
.step--key .step__num::before{background:var(--g-accent)}
.step__title{font-weight:700;font-size:1.0625rem;line-height:1.45}
.step__desc{font-size:var(--fs-small);color:var(--text-muted);line-height:1.6}
.section--dark .step__desc{color:var(--text-on-dark-muted)}
.step.step--key{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-accent) border-box;border-width:1.5px}
.step:not(:last-child)::after{content:"";position:absolute;left:28px;bottom:-13px;width:1px;height:13px;background:var(--c-navy-300)}
@media (min-width:1200px){
  .steps{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:20px}
  .step:not(:last-child)::after{left:auto;right:-20px;bottom:auto;top:32px;width:20px;height:1px}
  .step:not(:last-child)::before{content:"";position:absolute;right:-13px;top:28px;border:4px solid transparent;border-left:6px solid var(--c-navy-300);border-right:0;z-index:1}
}
.steps--3{max-width:900px}
.arch{position:relative;padding:var(--sp-5);border:1px solid var(--border-dark);border-radius:var(--r-xl);background:rgba(0,0,0,.5)}
@media (min-width:1200px){
  .arch{padding:var(--sp-7) var(--sp-6) var(--sp-6)}
}
.arch__row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
@media (min-width:1200px){
  .arch__row{flex-direction:row;align-items:center;gap:0}
  .arch__row > .node{flex:0 0 auto;width:170px}
  .arch__row > .node--wide{width:360px}
  .arch__row > .link{min-width:56px}
}
.arch__modules{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.arch__modules span{padding:8px 10px;border:1px solid var(--border-dark-strong);border-radius:4px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:500;line-height:1.4;color:#fff;background:rgba(255,255,255,.03)}
.arch__return{display:flex;align-items:center;gap:12px;margin-top:var(--sp-5);padding:12px 16px;border:1px dashed var(--border-dark-strong);border-radius:var(--r-md);font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.arch__return .icon{color:var(--c-yellow-500);transform:scaleX(-1)}
.arch__sample{display:grid;gap:10px;margin-top:var(--sp-5);padding:16px 18px;border-radius:var(--r-md);background:var(--c-navy-950);font-family:var(--font-label);font-size:var(--fs-small);color:#fff}
@media (min-width:768px){
  .arch__sample{grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:16px}
}
.arch__sample-k{font-size:.625rem;letter-spacing:.1em;color:var(--text-on-dark-subtle)}
.zones{display:grid;gap:14px}
@media (min-width:1200px){
  .zones{grid-template-columns:minmax(0,1fr) 150px 240px;align-items:stretch}
}
.zone{position:relative;padding:40px 16px 16px;border:1px dashed var(--border-dark-strong);border-radius:var(--r-lg)}
.zone__label{position:absolute;left:16px;top:12px;font-family:var(--font-label);font-size:.6875rem;letter-spacing:.1em;color:var(--text-on-dark-subtle)}
.zone__grid{display:grid;gap:10px}
@media (min-width:768px){
  .zone__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.zone--public{display:flex;flex-direction:column;justify-content:center}
.firewall{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;text-align:center;border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 6px,transparent 6px 12px);border:1px solid var(--border-dark);font-weight:700;font-size:.9375rem}
.firewall small{font-weight:400;font-size:var(--fs-xs);color:var(--text-on-dark-muted);line-height:1.5}
.firewall .icon{color:var(--c-yellow-500)}
.proxy-steps{list-style:none;display:grid;gap:2px;margin-top:6px;font-size:var(--fs-xs);font-weight:400;color:var(--text-on-dark-muted)}
.proxy-steps li{display:flex;gap:8px}
.proxy-steps .num{color:var(--c-yellow-500)}
.layers{display:grid;gap:var(--sp-5)}
@media (min-width:1200px){
  .layers{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch}
}
.layers__stack{display:grid;gap:10px}
.layer{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 16px;width:100%;text-align:left;padding:18px 20px;border:1px solid var(--border-dark-strong);border-radius:var(--r-lg);background:var(--bg-dark-2);color:#fff;transition:border-color var(--t-ui),background-color var(--t-ui)}
.layer__num{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-on-dark-subtle)}
.layer__title{font-weight:700;font-size:1.0625rem;line-height:1.45}
.layer__chev{width:18px;height:18px;color:var(--text-on-dark-subtle);transition:transform var(--t-ui) var(--ease)}
.layer__items{grid-column:1 / -1;list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.layer__items li{padding:3px 8px;border:1px solid var(--border-dark);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--text-on-dark-muted)}
.layer[aria-pressed="true"]{border-color:rgba(230,8,31,.7);background:var(--c-navy-850)}
.layer[aria-pressed="true"] .layer__chev{color:var(--c-yellow-500);transform:translateX(3px)}
.layer--core{border:2px solid transparent;background:linear-gradient(var(--bg-dark-2),var(--bg-dark-2)) padding-box,var(--g-genai) border-box}
.layer--core[aria-pressed="true"]{background:linear-gradient(var(--c-navy-850),var(--c-navy-850)) padding-box,var(--g-genai) border-box}
.layer--core .layer__num{color:var(--c-yellow-500)}
@media (hover:hover) and (pointer:fine){
  .layer:hover{border-color:rgba(255,255,255,.4)}
  .layer--core:hover{border-color:transparent}
}
.layer-detail{position:sticky;top:calc(var(--header-h) + var(--subnav-h) + 24px);padding:var(--sp-6);border-radius:var(--r-xl);background:#fff;color:var(--c-navy-700)}
.layer-detail__num{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-muted)}
.layer-detail h3{margin:8px 0 var(--sp-5);font-size:1.375rem}
.layer-detail .list-px{gap:12px}
.layer-detail__note{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-small);color:var(--text-muted)}
@media (max-width:1199.98px){
  .layer-detail{display:none}
  .layer__chev{display:none}
}
@media (min-width:1200px){
  .layer__items{display:none}
}
.pairs{display:grid;gap:12px}
.pair{display:grid;gap:0;align-items:stretch}
@media (min-width:768px){
  .pair{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}
}
.pair__card{padding:20px 22px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.pair__card h3{font-size:1.0625rem;margin:6px 0 4px}
.pair__card p{font-size:var(--fs-small);color:var(--text-muted);line-height:1.6}
.pair__card--threat{background:var(--c-warm-50);border-color:var(--c-navy-200)}
.pair__key{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:.6875rem;letter-spacing:.1em;color:var(--text-muted)}
.pair__card--threat .pair__key::before{content:"";width:6px;height:11px;clip-path:var(--px-clip);background:var(--c-red-500)}
.pair__card--fix .pair__key::before{content:"";width:6px;height:11px;clip-path:var(--px-clip);background:var(--c-safe-500)}
.pair__arrow{display:grid;place-items:center;height:28px;color:var(--c-navy-400)}
.pair__arrow .icon{transform:rotate(90deg)}
@media (min-width:768px){
  .pair__arrow{height:auto}
  .pair__arrow .icon{transform:none}
}
.quote-band{position:relative;margin-top:var(--sp-7);padding:var(--sp-5) 0 var(--sp-5) 36px;font-size:clamp(1.1875rem,1.05rem + .6vw,1.5rem);font-weight:700;line-height:1.55;letter-spacing:-.015em;max-width:40em}
.quote-band::before{content:"";position:absolute;left:0;top:calc(var(--sp-5) + 4px);width:12px;height:26px;clip-path:var(--px-clip);background:var(--c-red-500)}
.quote-band::after{content:"";position:absolute;left:16px;top:calc(var(--sp-5) + 1px);width:6px;height:13px;clip-path:var(--px-clip);background:var(--c-orange-500)}
.owasp{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:1200px){
  .owasp{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.owasp li{position:relative;display:grid;gap:4px;min-height:96px;padding:14px 14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;font-size:.9375rem;font-weight:500;line-height:1.45}
.owasp code{font-size:var(--fs-label);letter-spacing:.06em;color:var(--text-muted)}
.owasp .is-hl{border:1.5px solid var(--c-orange-500)}
.owasp .is-hl .tag{position:absolute;right:10px;top:12px}
.owasp-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:14px;font-size:var(--fs-small);color:var(--text-muted)}
.owasp-legend span{display:inline-flex;align-items:center;gap:8px}
.owasp-legend i{width:16px;height:12px;border:1.5px solid var(--c-orange-500);border-radius:2px}
.owasp-legend i.off{border:1px solid var(--border-strong)}
.verdicts{display:grid;gap:12px}
@media (min-width:768px){
  .verdicts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.verdict{position:relative;padding:22px 22px 24px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.verdict::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--v-c)}
.verdict__key{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:var(--fs-label);font-weight:500;letter-spacing:.1em;color:var(--v-t)}
.verdict__icon{width:26px;height:26px;display:grid;place-items:center;border-radius:4px;background:var(--v-c);color:#fff}
.verdict__icon .icon{width:15px;height:15px;stroke-width:2.5}
.verdict h3{margin:14px 0 6px;font-size:1.25rem}
.verdict p{color:var(--text-muted);font-size:.9375rem}
.verdict--allow{--v-c:var(--c-safe-600);--v-t:var(--c-safe-600)}
.verdict--mask{--v-c:var(--c-orange-500);--v-t:var(--c-orange-700)}
.verdict--block{--v-c:var(--c-red-500);--v-t:var(--c-red-600)}
.route{display:flex;flex-direction:column;gap:10px}
.route__stage{align-self:flex-start}
.principles{list-style:none;display:grid;gap:10px}
@media (min-width:768px){
  .principles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .principles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.principles li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--c-navy-900);color:#fff;font-weight:500;font-size:.9375rem;line-height:1.45}
.principles .num{font-size:var(--fs-label);color:var(--c-yellow-500)}
.spec-line{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.spec-line > div{flex:1 1 180px;padding:16px 20px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 -1px -1px 0}
.spec-line dt{font-family:var(--font-label);font-size:.6875rem;letter-spacing:.1em;color:var(--text-muted)}
.spec-line dd{font-family:var(--font-label);font-size:1.0625rem;font-weight:500}
.dl-table{display:grid;border-top:2px solid var(--c-navy-700)}
.dl-table > div{display:grid;grid-template-columns:1fr;gap:2px;padding:14px 0;border-bottom:1px solid var(--border)}
@media (min-width:768px){
  .dl-table > div{grid-template-columns:148px 1fr;gap:16px}
}
.dl-table dt{font-size:var(--fs-small);color:var(--text-muted);padding-top:2px}
.dl-table dd{font-weight:500;line-height:1.65}
.dl-table a{text-decoration:underline;text-decoration-color:var(--c-navy-300);text-underline-offset:3px}
.stackbar{display:flex;height:44px;gap:3px}
.stackbar span{display:flex;align-items:center;padding:0 12px;font-family:var(--font-label);font-size:var(--fs-small);color:#fff;white-space:nowrap;overflow:hidden}
.stackbar .s1{flex:85;background:var(--c-navy-700);border-radius:var(--r-sm) 0 0 var(--r-sm)}
.stackbar .s2{flex:10;background:var(--c-orange-500);padding:0}
.stackbar .s3{flex:5;background:var(--c-navy-300);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:0}
.stackbar-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:var(--fs-small)}
.stackbar-legend li{display:inline-flex;align-items:center;gap:8px}
.stackbar-legend i{width:10px;height:10px;border-radius:2px}
.stackbar-legend .num{font-weight:700}
.key-s1{background:var(--c-navy-700)}
.key-s2{background:var(--c-orange-500)}
.key-s3{background:var(--c-navy-300)}
.org{display:grid;justify-items:center;gap:0}
.org__top{padding:12px 28px;border-radius:var(--r-md);background:var(--c-navy-900);color:#fff;font-weight:700}
.org__stem{width:1px;height:24px;background:var(--c-navy-300)}
.org__row{list-style:none;position:relative;display:grid;gap:8px;width:100%}
.org__row li{padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff;text-align:center;font-size:var(--fs-small);font-weight:500;line-height:1.4}
@media (min-width:768px){
  .org__row{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:20px}
  .org__row::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:var(--c-navy-300)}
  .org__row li{position:relative;display:grid;place-items:center}
  .org__row li::before{content:"";position:absolute;top:-21px;left:50%;width:1px;height:20px;background:var(--c-navy-300)}
}
.ceo{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .ceo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8);align-items:start}
}
.ceo__photo{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:flex-end;min-height:360px;padding-top:40px;border-bottom:2px solid var(--c-navy-700)}
.ceo__photo img{width:min(100%,320px)}
.ceo__photo .motif{left:0;top:0;width:78%;opacity:.9}
.ceo__quote{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);line-height:1.45;letter-spacing:-.02em;font-weight:700;margin:var(--sp-4) 0 var(--sp-6);max-width:22em}
.ceo__body p{color:var(--text-muted);line-height:1.85}
.ceo__sign{margin-top:var(--sp-6);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ceo__sign span{color:var(--text-muted);font-size:.9375rem}
.ceo__sign strong{font-size:1.25rem;letter-spacing:.1em}
.map-card{position:relative;isolation:isolate;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:var(--sp-5);border-radius:var(--r-xl);background:var(--c-navy-900);color:#fff;overflow:hidden}
.map-card::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px}
.map-card__roads{position:absolute;inset:0;z-index:-1}
.map-card__pin{position:absolute;left:58%;top:36%;display:grid;justify-items:center;gap:6px}
.map-card__pin i{width:16px;height:30px;clip-path:var(--px-clip);background:var(--c-red-500)}
.map-card__pin span{font-family:var(--font-label);font-size:.6875rem;letter-spacing:.08em;padding:3px 8px;border-radius:var(--r-sm);background:#fff;color:var(--c-navy-700);white-space:nowrap}
.map-card__addr{font-size:var(--fs-small);color:var(--text-on-dark-muted);max-width:30em}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.transit{list-style:none;display:grid;gap:8px}
.transit li{display:flex;gap:12px;align-items:center}
.transit .tag{min-width:48px;justify-content:center}
.contact-band{position:relative;isolation:isolate;overflow:hidden;background:var(--c-navy-900);color:#fff;padding-block:var(--section-py)}
.contact-band .motif{left:-60px;bottom:-150px;width:420px;opacity:.75}
.contact-band .eyebrow{color:var(--c-yellow-500)}
.contact-band__inner{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .contact-band__inner{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--sp-8);align-items:start}
}
.contact-band h2{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);line-height:1.3;max-width:16em}
.contact-band__lead{margin-top:var(--sp-4);color:var(--text-on-dark-muted);font-size:var(--fs-lead);line-height:1.7;max-width:32em}
.contact-band__list{list-style:none;display:grid;border-top:1px solid var(--border-dark-strong)}
.contact-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:var(--sp-5) 0;border-bottom:1px solid var(--border-dark)}
.contact-item__label{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-yellow-500)}
.contact-item__label .icon{width:16px;height:16px}
.contact-item__value{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:700;line-height:1.4;letter-spacing:-.01em;color:#fff;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;text-decoration-thickness:2px;transition:text-decoration-color var(--t-fast);justify-self:start}
.contact-item__value--address{font-size:1.0625rem;font-weight:500;line-height:1.6;text-decoration:none}
@media (hover:hover) and (pointer:fine){
  a.contact-item__value:hover{text-decoration-color:var(--c-yellow-500)}
}
.contact-item__copy{min-height:40px;padding:0 14px;border:1px solid var(--border-dark-strong);border-radius:var(--r-md);font-size:var(--fs-small);font-weight:500;color:#fff;display:inline-flex;align-items:center;gap:8px}
.contact-item__copy .icon{width:16px;height:16px}
.contact-item__copy.is-done{border-color:var(--c-yellow-500);color:var(--c-yellow-500)}
@media (hover:hover) and (pointer:fine){
  .contact-item__copy:hover{background:rgba(255,255,255,.08)}
}
.contact-item__meta{font-size:var(--fs-small);color:var(--text-on-dark-muted);display:inline-flex;align-items:center;gap:6px;min-height:40px}
a.contact-item__meta{font-weight:700;color:#fff}
a.contact-item__meta .icon{width:16px;height:16px}
.site-footer{background:var(--c-navy-950);color:var(--c-navy-300);padding:var(--sp-8) 0 var(--sp-6);font-size:var(--fs-small)}
.site-footer__inner{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .site-footer__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--sp-8)}
}
.site-footer__logo{height:28px;width:auto}
.site-footer__tagline{margin-top:var(--sp-4);max-width:24em;line-height:1.7}
.site-footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6) var(--col-gap)}
@media (min-width:768px){
  .site-footer__nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.site-footer__heading{margin-bottom:var(--sp-3);font-weight:700;color:#fff;font-size:.9375rem}
.site-footer__col ul{list-style:none;display:grid;gap:2px}
.site-footer__col a{display:inline-flex;align-items:center;min-height:32px;transition:color var(--t-fast)}
@media (hover:hover) and (pointer:fine){
  .site-footer a:hover{color:#fff}
}
.site-footer__info{grid-column:1 / -1;display:grid;gap:6px;padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.08);line-height:1.7}
.site-footer__info p,.site-footer__info address{display:flex;flex-wrap:wrap}
.site-footer__info span{display:inline-flex;align-items:center}
.site-footer__info span + span::before{content:"";width:1px;height:11px;margin:0 12px;background:rgba(255,255,255,.18)}
.site-footer__info a{margin-left:6px}
.site-footer__bottom{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-3)}
.site-footer__policy{color:#fff;min-height:44px;display:inline-flex;align-items:center}
.site-footer__copy{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.04em;color:var(--c-navy-400)}
.mobile-contact-bar{display:none}
@media (max-width:767.98px){
  .mobile-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom));background:rgba(0,0,0,.96);border-top:1px solid var(--border-dark);transform:translateY(110%);transition:transform var(--t-ui) var(--ease)}
  .mobile-contact-bar.is-visible{transform:none}
  .mobile-contact-bar__btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:.9375rem}
  .mobile-contact-bar__btn .icon{width:18px;height:18px}
  .mobile-contact-bar__btn--primary{background:var(--c-red-500);border-color:var(--c-red-500)}
  body.has-mobile-bar .site-footer{padding-bottom:calc(var(--sp-6) + 72px + env(safe-area-inset-bottom))}
}
.trust{padding-block:var(--sp-7) var(--sp-6)}
.trust-certs{display:grid;gap:12px 24px;align-items:center;margin-top:var(--sp-5);padding:18px 20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--c-warm-50);transition:border-color var(--t-ui),box-shadow var(--t-ui)}
@media (min-width:1200px){
  .trust-certs{grid-template-columns:auto 1fr auto}
}
.trust-certs__key{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.12em;color:var(--text-muted)}
.trust-certs__more{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9375rem;white-space:nowrap}
.trust-certs__more .icon{width:18px;height:18px;transition:transform var(--t-fast)}
@media (hover:hover) and (pointer:fine){
  .trust-certs:hover{border-color:var(--c-navy-300);box-shadow:var(--shadow-sm)}
  .trust-certs:hover .icon{transform:translateX(4px)}
}
.trust .stats-foot__note{margin-top:var(--sp-3)}
.pillar-card__points{font-size:.9375rem;color:var(--text-muted);line-height:1.6}
.pillars .grid{align-items:stretch}
.lane__ico{display:inline-block;vertical-align:-3px;margin-right:8px;color:var(--text-muted)}
.lane .node{display:block}
.lane .node small{display:block}
.reg-card{display:flex;flex-direction:column;gap:8px;min-height:260px}
.reg-card__key{font-family:var(--font-label);font-size:.9375rem;font-weight:500;letter-spacing:.02em;color:var(--c-navy-700);padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.reg-card h3{font-size:1.25rem;margin:0}
.reg-card__foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center}
.reg-card__foot .icon{width:20px;height:20px;transition:transform var(--t-fast)}
@media (hover:hover) and (pointer:fine){
  .reg-card:hover .reg-card__foot .icon{transform:translateX(4px)}
}
.reg-cloud{margin-top:var(--sp-6);padding:var(--sp-5);border-radius:var(--r-lg);background:#fff;border:1px solid var(--border)}
.reg-cloud__legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:var(--fs-xs);color:var(--text-muted)}
.reg-cloud__legend .tag:not(:first-child){margin-left:10px}
.proof__grid{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .proof__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--sp-8);align-items:start}
}
.proof__intro h2{margin-bottom:var(--sp-6)}
.proof__product{display:grid;gap:10px;padding:18px 0;border-top:2px solid var(--c-navy-700);border-bottom:1px solid var(--border)}
.proof__product-key{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}
.proof__stat{display:flex;flex-direction:column;gap:4px;padding:18px 0 22px;margin-bottom:var(--sp-3);border-bottom:1px solid var(--border)}
@media (min-width:768px){
  .proof__gallery.gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.fact-row{display:grid;gap:12px;margin-top:var(--sp-5)}
@media (min-width:1200px){
  .fact-row{grid-template-columns:1fr 1fr}
}
.fact-row > p + p{margin-top:0}
.fact{display:grid;gap:6px;padding:16px 20px;border-radius:var(--r-lg);background:var(--c-warm-50);font-size:.9375rem;line-height:1.65}
.fact__k{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-muted)}
.values{list-style:none}
.features{display:grid}
.crop--detail{--crop-ratio:800/560}
.crop--detail img{width:200%;max-width:none;height:auto;inset:auto;right:0;top:-123%;object-fit:initial}
.dash-panel__desc{margin-bottom:var(--sp-4);color:var(--text-muted)}
.usecase{display:flex;flex-direction:column}
.usecase__title{font-size:1.1875rem;margin-bottom:var(--sp-4) !important}
.usecase__dl{display:grid;gap:14px}
.usecase__dl div{padding-top:12px;border-top:1px solid var(--border)}
.usecase__dl dt{font-family:var(--font-label);font-size:.6875rem;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px}
.usecase__dl dd{font-size:.9375rem;line-height:1.65}
.dlp-strip{display:grid;gap:12px;margin-top:var(--col-gap);padding:var(--card-pad);border-radius:var(--r-lg);background:var(--c-navy-900);color:#fff}
.dlp-strip .tag{justify-self:start}
.dlp-strip__lead{font-weight:700;font-size:1.0625rem;line-height:1.6}
.dlp-strip .list-px{color:var(--text-on-dark-muted);font-size:.9375rem}
.dlp-strip .list-px > li::before{background:var(--c-yellow-500)}
@media (min-width:1200px){
  .dlp-strip{grid-template-columns:auto 1fr;column-gap:24px}
  .dlp-strip .tag{grid-row:span 2;margin-top:4px}
}
.scenario{display:grid;gap:var(--col-gap)}
@media (min-width:1200px){
  .scenario{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:stretch}
}
.scenario .steps{max-width:none;align-content:start}
.diff{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:18px;align-content:start}
.diff .card__icon{grid-row:span 2;margin:0}
.verdict__title{margin:14px 0 6px;font-size:1.25rem}
.link--wide{min-width:120px !important}
@media (max-width:1199.98px){
  .link--wide{height:64px}
}
.node > .icon{display:inline-block;margin:0 0 6px;color:var(--text-muted)}
.section--dark .node > .icon{color:var(--c-yellow-500)}
.node--wide .arch__modules{font-weight:500}
.hero-tags{margin-top:var(--sp-5)}
.gate-cap{margin-top:12px;font-size:var(--fs-label);color:var(--text-on-dark-subtle);text-align:right}
.feat-grid{display:grid;gap:var(--col-gap)}
@media (min-width:768px){
  .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .feat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .feat-grid > *{grid-column:span 2}
}
@media (min-width:1200px){
  .feat-grid > :nth-child(4){grid-column:1 / span 3}
  .feat-grid > :nth-child(5){grid-column:4 / span 3}
}
.feat__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-4)}
.feat__top .card__icon{margin:0;background:var(--c-navy-900);color:var(--c-yellow-500)}
.feat__num{font-family:var(--font-label);font-size:1.75rem;font-weight:500;line-height:1;color:var(--c-navy-200);letter-spacing:-.02em}
.feat h3{margin-bottom:var(--sp-3)}
.feat .list-px{font-size:.9375rem;color:var(--text-muted);line-height:1.6}
.strengths{display:grid;gap:12px;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border)}
@media (min-width:1200px){
  .strengths{grid-template-columns:140px 1fr;align-items:center}
}
.strengths__key{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.12em;color:var(--text-muted)}
.strengths .chip .icon{color:var(--c-red-500)}
.table-wrap--hl{border:2px solid var(--c-navy-700)}
.effect{padding:var(--card-pad);border-radius:var(--r-lg);background:var(--c-navy-900);color:#fff}
.effect__key{display:block;margin-bottom:var(--sp-4);font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-yellow-500)}
.effect .list-px > li::before,.dlp-strip .list-px > li::before{background:var(--c-yellow-500)}
.effect .list-px{gap:12px;font-weight:500;line-height:1.6}
.layer__modules{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.layer__modules span{padding:4px 9px;border-radius:var(--r-sm);background:rgba(230,8,31,.14);border:1px solid rgba(230,8,31,.5);font-family:var(--font-label);font-size:.6875rem;letter-spacing:.02em;color:#fff}
@media (max-width:1199.98px){
  .layer__modules{display:none}
}
.hero--about .hero__grid{align-items:center}
.about-visual{position:relative;min-height:280px}
.about-visual__lattice{width:100%;max-width:560px;margin-left:auto}
.about-visual__facts{position:absolute;left:0;bottom:0;display:flex;gap:0;border:1px solid var(--border-dark-strong);border-radius:var(--r-md);background:rgba(0,0,0,.85)}
.about-visual__facts div{padding:12px 18px;border-left:1px solid var(--border-dark)}
.about-visual__facts div:first-child{border-left:0}
.about-visual__facts dt{font-family:var(--font-label);font-size:.625rem;letter-spacing:.12em;color:var(--text-on-dark-subtle)}
.about-visual__facts dd{font-family:var(--font-label);font-size:1.125rem;font-weight:500;color:#fff}
@media (max-width:767.98px){
  .about-visual{min-height:0}
  .about-visual__facts{position:relative;margin-top:-24px}
}
.overview{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .overview{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-8);align-items:start}
}
.overview__side{display:grid;gap:var(--col-gap)}
.panel{padding:var(--card-pad);border-radius:var(--r-lg);background:var(--c-warm-50)}
.panel__title{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-5);font-size:1.125rem}
.panel__title .num{font-size:.6875rem;font-weight:500;letter-spacing:.12em;color:var(--text-muted)}
.panel .org__row li{background:#fff}
.panel .notice{margin-top:var(--sp-4)}
.panel .org{justify-items:start}
.panel .org__stem{margin-left:24px;height:14px}
.panel .org__row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;margin-left:24px;width:calc(100% - 24px);padding:14px 0 0 20px !important;border-left:1px solid var(--c-navy-300)}
.panel .org__row::before{display:none}
.panel .org__row li{position:relative;text-align:left;display:block}
.panel .org__row li::before{content:"";position:absolute;top:50%;left:-21px;width:20px;height:1px;background:var(--c-navy-300)}
.panel .org__row li:nth-child(2n)::before{display:none}
.cap__title{font-size:1.1875rem}
.rnd{list-style:none;display:grid;border-top:1px solid var(--border)}
.rnd li{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border);font-weight:500;line-height:1.6}
.rnd__year{font-family:var(--font-label);font-size:var(--fs-small);color:var(--c-orange-700)}
.product-certs{margin-bottom:var(--sp-2)}
.product-cert{display:flex;align-items:center;gap:22px;padding:22px 26px;border-radius:var(--r-lg);background:var(--c-navy-900);color:#fff}
.product-cert__mark{display:inline-flex;align-items:flex-end;gap:4px}
.product-cert__mark .px{--px-w:14px;--px-h:30px}
.product-cert__mark .px--o{margin-bottom:6px}
.product-cert__mark .px--y{margin-bottom:12px}
.product-cert__product{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-yellow-500)}
.product-cert__name{font-size:1.5rem;font-weight:700;line-height:1.35;letter-spacing:-.015em}
.product-cert__year{margin-top:2px !important;font-family:var(--font-label);font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.timeline-more > summary .icon{width:18px;height:18px}
.location{display:grid;gap:var(--col-gap)}
@media (min-width:1200px){
  .location{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
}
.location__card{display:flex;flex-direction:column;gap:var(--sp-5)}
.location__addr{font-size:1.25rem;font-weight:700;line-height:1.55;color:var(--c-navy-700) !important}
.location__contact{display:grid;gap:6px;padding:var(--sp-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.location__contact div{display:grid;grid-template-columns:84px 1fr;font-size:.9375rem}
.location__contact dt{color:var(--text-muted)}
.location__contact dd{font-weight:500}
.location__contact a{text-decoration:underline;text-decoration-color:var(--c-navy-300);text-underline-offset:3px}
.location .btn-row .icon{width:14px;height:14px}
.map-card{min-height:380px}
.map-card .btn .icon{width:16px;height:16px}
.map-card .btn{align-self:flex-start}
.gallery--3 .thumb__img{aspect-ratio:4/3}
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity var(--t-enter) var(--ease),transform var(--t-enter) var(--ease);transition-delay:calc(var(--stagger,0) * 60ms)}
  .js [data-reveal].is-in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{
  .site-header,.mobile-contact-bar,.subnav,.motif{display:none !important}
  .hero,.section--dark,.contact-band{background:#fff !important;color:#000 !important}
}
.page-policy main,.page-error main{padding-top:var(--header-h)}
.policy{padding-block:var(--sp-8) var(--sp-9)}
.policy__head{padding-bottom:var(--sp-6);border-bottom:1px solid var(--border)}
.policy__head .eyebrow{margin-bottom:var(--sp-3)}
.policy__meta{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:4px 20px;font-size:var(--fs-small);color:var(--text-muted)}
.policy__meta span:first-child{font-family:var(--font-label);letter-spacing:.02em;color:var(--c-orange-700);font-weight:500}
.policy__intro{margin-top:var(--sp-6);color:var(--text)}
.toc{margin-top:var(--sp-6);padding:var(--sp-5);background:var(--bg-warm);border-radius:var(--r-lg)}
.toc__title{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-2)}
.toc ol{list-style:none;display:grid;gap:0 var(--sp-5)}
@media (min-width:768px){
  .toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.toc a{display:inline-flex;align-items:center;min-height:36px;font-size:.9375rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color var(--t-fast)}
@media (hover:hover) and (pointer:fine){
  .toc a:hover{text-decoration-color:var(--c-orange-500)}
}
.policy-sec{padding-top:var(--sp-7)}
.policy-sec h2{display:flex;align-items:baseline;gap:12px;margin-bottom:var(--sp-4);font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.4}
.policy-sec h2 .num{flex:none;font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;color:var(--c-orange-700)}
.policy-sec p,.policy-sec li{line-height:1.85}
.policy-sec p + ul,.policy-sec p + ol,.policy-sec ul + p,.policy-sec ol + p,.policy-table-wrap + p{margin-top:var(--sp-3)}
.policy-sec ul,.policy-sec ol{display:grid;gap:6px;padding-left:1.25em}
.policy-sec ul{list-style:disc}
.policy-sec ol{list-style:decimal}
.policy-sec li::marker{color:var(--text-muted)}
.policy-sec a,.policy-contact a{text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.policy-note{margin-top:var(--sp-4);padding-left:14px;border-left:2px solid var(--c-navy-200);font-size:var(--fs-small);color:var(--text-muted)}
.policy-table-wrap{margin-top:var(--sp-4)}
.policy-table{font-size:.9375rem;line-height:1.65}
.policy-table th,.policy-table td{padding:12px 14px;border:1px solid var(--border);text-align:left;vertical-align:top}
.policy-table thead th{background:var(--c-navy-100);font-weight:700;white-space:nowrap}
.policy-table tbody th{font-weight:700;background:var(--bg-warm)}
@media (max-width:767.98px){
  .policy-table,.policy-table tbody,.policy-table tr,.policy-table th,.policy-table td{display:block;width:100%}
  .policy-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .policy-table tr{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
  .policy-table tr + tr{margin-top:var(--sp-3)}
  .policy-table th,.policy-table td{border:0;padding:8px 14px}
  .policy-table tbody > tr > :first-child{padding-top:12px}
  .policy-table tbody > tr > :last-child{padding-bottom:12px}
}
.policy-contact{margin-top:var(--sp-4);display:grid;gap:4px;padding:var(--sp-5);border:1px solid var(--border);border-left:3px solid var(--c-orange-500);border-radius:var(--r-md)}
.policy-contact div{display:flex;flex-wrap:wrap;gap:4px 16px}
.policy-contact dt{min-width:9em;color:var(--text-muted);font-size:.9375rem}
.policy-contact dd{font-weight:700}
.policy__foot{margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--border);font-size:var(--fs-small);color:var(--text-muted)}
.error-page{padding-block:var(--sp-9);min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));display:grid;align-items:center;overflow:hidden}
.error-page__inner{display:grid;gap:var(--sp-7);align-items:center}
@media (min-width:1200px){
  .error-page__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.error-page h1{margin-top:var(--sp-4);font-size:var(--fs-h1)}
.error-page .lead{margin-top:var(--sp-5)}
.error-page__links{margin-top:var(--sp-6);display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.error-page__art{position:relative;max-width:480px;width:100%;justify-self:center}
.error-page__art img{width:100%}
.error-page__code{position:absolute;right:6%;bottom:4%;font-family:var(--font-label);font-size:clamp(3rem,2rem + 4vw,5.5rem);font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--c-navy-700)}
.policy :focus-visible,.error-page :focus-visible{box-shadow:0 0 0 5px var(--c-navy-700)}
/* ───────── Theme v2 (2026-10-02) — light · neutral gray · single red accent ───────── */
body{letter-spacing:-.011em;line-height:1.7}
h1,h2,.hero__title{letter-spacing:-.035em}
h3,h4{letter-spacing:-.02em}
::selection{background:rgba(230,8,31,.16)}
.mask-card__row dd,.mask-log,.gate__pkt,.arch__sample,code,kbd{font-family:var(--font-mono)}
.eyebrow,.card__label,.card__num,.pillar-card__label,.hero-link__label,.module-card__key,.fig-label,.step__num,.layer__num,.layer-detail__num,.trust-certs__key,.strengths__key,.effect__key,.basebar__key,.contact-item__label,.zone__label,.node__tag,.pair__key,.verdict__key,.usecase__dl dt,.fact__k,.proof__product-key,.product-cert__product,.toc__title,.subhead .num,.lane__title .num,.panel__title .num,.feature-block__text .num,.gnb__feature-label,.data-table caption small,.data-table thead th,.spec-line dt,.arch__sample-k,.about-visual__facts dt,.mask-card__foot,.product-plate__cap,.shot-frame__bar span,.link__label,.stats-foot__note,.site-footer__copy,.reg-card__key,.thumb__no,.timeline__num,.rnd__year,.policy-sec h2 .num,.table-filter__count,.lightbox__count,.chip--mono,.badge-cert small,.lang-switch,.data-table--stack td[data-label]::before{letter-spacing:0;text-transform:none}
/* eyebrow: plain accent text, no glyph */
.eyebrow{gap:0;font-size:.9375rem;font-weight:600;color:var(--c-red-500);margin-bottom:var(--sp-3)}
.eyebrow::before{display:none}
.section--dark .eyebrow,.contact-band .eyebrow{color:var(--c-yellow-500)}
/* section heads: centered, like a product landing */
.section-head{margin-inline:auto;text-align:center;max-width:820px}
.section-head h2{margin-inline:auto}
.section-head .lead{margin-inline:auto}
@media (min-width:1200px){
  .section-head--split{display:block;max-width:820px}
  .section-head--split .lead{margin-top:var(--sp-4);padding-bottom:0}
}
.lead{line-height:1.65}
/* buttons */
.btn{border-width:1px;font-weight:600;letter-spacing:-.01em}
.btn--secondary{border-color:var(--border-strong);color:var(--text)}
.btn--ghost{border-color:var(--border)}
@media (hover:hover) and (pointer:fine){
  .btn--secondary:hover{background:var(--c-navy-100);border-color:var(--border-strong)}
  .btn--ghost:hover{border-color:var(--border-strong);background:var(--c-navy-100)}
}
.link-arrow{font-weight:600}
/* header: always solid white */
.site-header{background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 1px 0 var(--border)}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){
  .site-header{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
}
.site-header__logo--white{display:none}
.site-header__logo--color{display:block}
.site-header__logo{height:24px}
@media (min-width:768px){
  .site-header__logo{height:28px}
}
.gnb__link{font-size:.9375rem;font-weight:500;color:var(--c-navy-600);opacity:1}
.gnb__link[aria-current="page"]{color:var(--text);font-weight:600}
.gnb__link[aria-current="page"]::after{display:none}
@media (hover:hover) and (pointer:fine){
  .gnb__link:hover{color:var(--text)}
}
.gnb__panel{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-3)}
.gnb__panel::before{display:none}
.gnb__sub a{font-weight:500;color:var(--c-navy-600)}
.gnb__sub a::before{display:none}
@media (hover:hover) and (pointer:fine){
  .gnb__sub a:hover{color:var(--text)}
}
.gnb__feature{background:var(--bg-warm);color:var(--text);border:1px solid var(--border)}
.gnb__feature::after{display:none}
.gnb__feature-label{color:var(--c-red-500);font-weight:600}
.gnb__feature-text{color:var(--text-muted)}
@media (max-width:767.98px){
  .gnb{background:#fff;color:var(--text)}
  .gnb::before{display:none}
  .gnb__item{border-bottom-color:var(--border)}
  .gnb__link{color:var(--text)}
  .gnb__panel{color:var(--text)}
  .gnb__sub a{color:var(--text-muted)}
  .gnb__contact{color:var(--text-muted)}
  .site-header.is-menu-open{background:#fff;color:var(--text);box-shadow:0 1px 0 var(--border)}
  .site-header.is-menu-open .site-header__logo--white{display:none}
  .site-header.is-menu-open .site-header__logo--color{display:block}
}
/* hero: white */
.has-grid::before,.motif{display:none}
.hero{background:#fff;color:var(--text)}
.hero::after{display:none}
.hero .eyebrow{color:var(--c-red-500)}
.hero__title{font-weight:700}
.hero__lead{color:var(--text-muted)}
.hero .btn--on-dark{color:var(--text);border-color:var(--border-strong);background:#fff}
@media (hover:hover) and (pointer:fine){
  .hero .btn--on-dark:hover{background:var(--c-navy-100);border-color:var(--border-strong)}
}
.hero-links{border-top-color:var(--border)}
.hero-link{border-color:var(--border) !important}
.hero-link::before{display:none}
.hero-link__label{color:var(--text-muted)}
.hero .badge-cert small{color:var(--text-muted)}
.hero-badges{border-top-color:var(--border)}
.hero .fig-label{color:var(--text-muted)}
.hero .fig-label span:last-child{color:var(--c-navy-400)}
.mask-card{border:1px solid var(--border);box-shadow:var(--shadow-xl)}
.mask-card__head{background:var(--bg-warm)}
.hero .module-card{border-color:var(--border);background:#fff}
.hero .module-card::before{display:none}
.hero .module-card__key{color:var(--c-red-500);font-weight:600}
.hero .module-card__text{color:var(--text-muted)}
@media (hover:hover) and (pointer:fine){
  .hero .module-card:hover{border-color:var(--border-strong);background:#fff;box-shadow:var(--shadow-md)}
}
.hero .gate{padding:28px 22px 18px;border-radius:var(--r-xl);background:var(--c-navy-900);color:#fff;box-shadow:var(--shadow-xl)}
.hero .gate-cap{color:var(--text-muted)}
.hero .about-visual__facts{background:#fff;border-color:var(--border);box-shadow:var(--shadow-md)}
.hero .about-visual__facts div{border-left-color:var(--border)}
.hero .about-visual__facts dt{color:var(--text-muted)}
.hero .about-visual__facts dd{color:var(--text);font-family:var(--font-sans);font-weight:700}
.product-plate{background:var(--bg-warm);box-shadow:none;border:1px solid var(--border)}
.product-plate::before{display:none}
/* dark surfaces */
.section--dark,.contact-band{background:var(--bg-dark)}
.site-footer{background:#18181b;color:#a1a1aa}
.site-footer__copy{color:#71717a}
/* stats */
.stat__num{font-family:var(--font-sans);font-weight:700;letter-spacing:-.04em;color:var(--text)}
.stat__num small{color:var(--text-muted)}
.stat__bar{display:none}
.stat__label{font-weight:600}
/* cards & surfaces */
.card,.pillar-card,.thumb,.lane,.step,.acc,.verdict,.pair__card,.owasp li,.table-wrap,.spec-line,.reg-cloud,.value{border-color:var(--border)}
.card--link::before,.pillar-card::before,.verdict::before{display:none}
.card--link{transition:box-shadow var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease),transform var(--t-ui) var(--ease)}
@media (hover:hover) and (pointer:fine){
  .card--link:hover,.pillar-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
}
.card__icon{background:var(--c-red-50);color:var(--c-red-500);border-radius:var(--r-md)}
.feat__top .card__icon{background:var(--c-red-50);color:var(--c-red-500)}
.feat__num{font-family:var(--font-sans);font-weight:700;color:var(--c-navy-300)}
.card__num::after,.feature-block__text .num::after{display:none}
.pillar-card__mods dt{color:var(--c-red-500);font-weight:600}
.timeline__num{font-family:var(--font-sans);font-weight:700}
.product-cert{background:var(--bg-dark)}
.principles li,.effect,.dlp-strip,.basebar,.mini-gate,.org__top{background:var(--bg-dark)}
.verdict__key{font-weight:600}
/* pills */
.tag{height:22px;padding:0 9px;border-radius:999px;font-size:.75rem;font-weight:600}
.chip{border-radius:999px;padding:3px 12px}
.table-filter__btn{border-radius:999px;border-color:var(--border)}
.table-filter__btn[aria-pressed="true"]{background:var(--text);border-color:var(--text)}
/* replace parallelogram glyphs with dots */
.list-px > li{padding-left:18px}
.list-px > li::before{clip-path:none;width:5px;height:5px;border-radius:50%;left:4px;top:.72em}
.badge-cert::before,.step__num::before,.mask-log li::before,.basebar__items li::before,.pair__card--threat .pair__key::before,.pair__card--fix .pair__key::before,.data-table .mark-red::before,.mask__label::before{clip-path:none;width:6px;height:6px;border-radius:50%;margin-top:0}
.mask-log li{align-items:center}
.mask-log li::before{margin-top:0}
.node__tag::before{display:none}
.timeline__year::before{clip-path:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--border-strong);top:9px}
.timeline__year:first-child::before{background:var(--c-red-500);border-color:var(--c-red-500)}
.quote-band{border-left:3px solid var(--c-red-500);padding-left:24px}
.quote-band::before,.quote-band::after{display:none}
.map-card__pin i{clip-path:none;width:18px;height:18px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px var(--c-red-500)}
.map-card,.map-card::before{background-image:none}
.map-card{background:var(--bg-dark)}
.data-table thead th{background:var(--bg-warm);font-weight:600}
.data-table thead .col-after::before{display:none}
.contact-item__label{font-weight:600}
@media (min-width:1200px){
  .hero{min-height:0;padding:calc(var(--header-h) + 120px) 0 112px}
  .hero--sub{padding:calc(var(--header-h) + 88px) 0 88px}
}
.about-visual__lattice{display:none}
.about-visual{min-height:0;display:flex;align-items:center;justify-content:flex-end}
.hero .about-visual__facts{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:520px;border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}
.hero .about-visual__facts div{padding:28px 24px}
.hero .about-visual__facts dt{font-size:.8125rem;margin-bottom:6px}
.hero .about-visual__facts dd{font-size:clamp(1.375rem,1.1rem + 1vw,2rem);letter-spacing:-.03em}
@media (max-width:767.98px){
  .about-visual{justify-content:flex-start}
  .hero .about-visual__facts{margin-top:0}
  .hero .about-visual__facts div{padding:16px 14px}
}
.hero .about-visual__facts{grid-template-columns:repeat(3,auto);width:auto;max-width:100%}
.hero .about-visual__facts dd{white-space:nowrap}
.error-page__art img{display:none}
.error-page__art{display:flex;justify-content:center}
.error-page__code{position:static;font-family:var(--font-sans);font-size:clamp(6rem,4rem + 8vw,11rem);font-weight:800;letter-spacing:-.06em;color:var(--c-navy-100);-webkit-text-stroke:0}
.mobile-contact-bar{background:rgba(255,255,255,.96);border-top-color:var(--border)}
.mobile-contact-bar__btn{color:var(--text);border-color:var(--border-strong)}
.mobile-contact-bar__btn--primary{color:#fff}
/* ───────── Theme v2.1 (2026-10-02) — ink buttons, red as micro-accent only, roomier rhythm ───────── */
:root{--c-ink:#111214;--c-ink-hover:#2a2c31;--c-red-500:#d0112b;--c-red-600:#b00e24;--c-red-50:#fbeef0;--c-orange-500:#d0112b;--c-orange-700:#b00e24;--accent:#d0112b;--g-brand:linear-gradient(90deg,#d0112b 0%,#d0112b 100%)}
@media (min-width:768px){
  :root{--section-py:104px;--head-gap:56px}
}
@media (min-width:1200px){
  :root{--section-py:136px;--head-gap:64px}
}
.btn--primary{background:var(--c-ink);color:#fff}
.btn--primary:active{background:#000}
@media (hover:hover) and (pointer:fine){
  .btn--primary:hover{background:var(--c-ink-hover)}
}
.mobile-contact-bar__btn--primary{background:var(--c-ink);border-color:var(--c-ink)}
/* red stays only on: logo, eyebrow text, tiny status cues. Everything else goes neutral. */
.list-px > li::before,.badge-cert--key::before,.basebar__items li::before{background:var(--c-navy-400)}
.section--dark .list-px > li::before,.effect .list-px > li::before,.dlp-strip .list-px > li::before{background:var(--c-navy-500)}
.card__icon,.feat__top .card__icon{background:var(--c-navy-100);color:var(--c-ink)}
.tag--dp,.tag--deid,.tag--dlp{background:var(--c-navy-100);color:var(--c-ink)}
.pillar-card__mods dt{color:var(--c-ink)}
.hero .module-card__key{color:var(--text-muted)}
.node--protect,.node--protect.node--privacy,.node--protect.node--genai,.step.step--key{background:#fff;border:1.5px solid var(--c-ink)}
.section--dark .node--protect{background:var(--bg-dark-2);border-color:rgba(255,255,255,.6)}
.layer--core,.layer--core[aria-pressed="true"]{background:var(--bg-dark-2);border:1.5px solid rgba(255,255,255,.55)}
.layer[aria-pressed="true"]{border-color:rgba(255,255,255,.55)}
.layer__modules span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.owasp .is-hl{border:1.5px solid var(--c-ink)}
.owasp-legend i{border-color:var(--c-ink)}
.lane.is-in .node--protect::after{display:none}
.quote-band{border-left-color:var(--c-ink)}
.tabs__tab[aria-selected="true"]::after,.subnav a[aria-current="true"]::after{background:var(--c-ink)}
.timeline__year:first-child::before{background:var(--c-ink);border-color:var(--c-ink)}
.section--dark .eyebrow,.contact-band .eyebrow{color:#ff6b7a}
:focus-visible{outline-color:var(--c-ink)}
/* home · numbers + cert line */
.trust{padding-block:var(--sp-7) var(--sp-8)}
.stats{border-top:0}
.cert-line{margin-top:var(--sp-6);text-align:center}
.cert-line a{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px 0;font-size:.9375rem;color:var(--text-muted)}
.cert-line a > *{display:inline-flex;align-items:center}
.cert-line a > * + *::before{content:"";width:3px;height:3px;margin:0 14px;border-radius:50%;background:var(--c-navy-300)}
.cert-line strong{color:var(--text);font-weight:600}
@media (hover:hover) and (pointer:fine){
  .cert-line a:hover{color:var(--text)}
}
.cert-line__note{margin-top:var(--sp-2);text-align:center;font-size:var(--fs-label);color:var(--c-navy-400)}
/* home · product cards */
.product-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:36px 36px 0;background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);transition:box-shadow var(--t-ui) var(--ease),transform var(--t-ui) var(--ease),border-color var(--t-ui)}
@media (max-width:767.98px){
  .product-card{padding:24px 20px 0}
}
.product-card__label{font-size:var(--fs-small);font-weight:500;color:var(--text-muted)}
.product-card__name{margin-top:6px;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.25rem);line-height:1.15;letter-spacing:-.035em}
.product-card__text{margin-top:var(--sp-3);max-width:30em;color:var(--text-muted);line-height:1.65}
.product-card__more{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-5);font-weight:600;font-size:.9375rem}
.product-card__more .icon{width:16px;height:16px;transition:transform var(--t-fast) var(--ease)}
.product-card__visual{margin-top:var(--sp-6);margin-inline:-1px;display:flex;align-items:flex-end;min-height:200px;flex:1}
.product-card__visual > *{width:100%}
.product-card .shot-frame{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:0;box-shadow:0 -8px 24px rgba(0,0,0,.05)}
.product-card .mini-gate{border-radius:var(--r-lg) var(--r-lg) 0 0;padding:40px 20px}
@media (hover:hover) and (pointer:fine){
  .product-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
  .product-card:hover .product-card__more .icon{transform:translateX(4px)}
}
/* home · three moments (column rules, no boxes) */
.moments{list-style:none;display:grid;gap:var(--sp-6)}
@media (min-width:768px){
  .moments{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
}
.moment{display:flex;flex-direction:column;gap:var(--sp-4);padding:4px var(--sp-5) 4px 0}
@media (min-width:768px){
  .moment{padding:4px var(--sp-6);border-left:1px solid var(--border)}
}
.moment__icon{width:28px;height:28px;stroke-width:1.5;color:var(--c-ink)}
.moment__text{font-size:1.0625rem;line-height:1.7;color:var(--text-muted)}
.moment__text strong{color:var(--text);font-weight:600}
.moment__link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);font-weight:600;color:var(--text)}
.moment__link .icon{width:15px;height:15px;transition:transform var(--t-fast) var(--ease)}
@media (hover:hover) and (pointer:fine){
  .moment__link:hover .icon{transform:translateX(3px)}
}
/* home · compliance (dark) */
.comply{display:grid;gap:var(--sp-7)}
@media (min-width:1200px){
  .comply{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:var(--sp-9);align-items:center}
}
.comply h2{font-size:var(--fs-h2)}
.comply .lead{margin-top:var(--sp-4);max-width:30em}
.comply__links{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:var(--sp-5)}
.comply__list{list-style:none;display:grid;border-top:1px solid var(--border-dark)}
.comply__list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:22px 0;border-bottom:1px solid var(--border-dark)}
.comply__list strong{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);font-weight:600;letter-spacing:-.02em}
.comply__list span{font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.comply__note{grid-column:1 / -1;font-size:var(--fs-label);color:var(--text-on-dark-subtle)}
/* home · CTA */
.cta{padding-block:calc(var(--section-py) * .9);background:var(--bg-warm);border-top:1px solid var(--border)}
.cta__inner{text-align:center}
.cta h2{font-size:clamp(1.875rem,1.4rem + 2vw,3rem);line-height:1.25;letter-spacing:-.04em}
.cta__lead{margin:var(--sp-4) auto 0;max-width:34em;font-size:var(--fs-lead);color:var(--text-muted)}
.cta__btns{justify-content:center;margin-top:var(--sp-6)}
.cta__meta{margin-top:var(--sp-5);font-size:var(--fs-small);color:var(--text-muted)}
.cta__meta a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}
.product-card .mini-gate{min-height:254px;align-content:center}
.trust .stats{border-bottom:0}
.strengths .chip .icon{color:var(--text-muted)}
.product-card__head{margin-top:var(--sp-4);font-size:clamp(1.125rem,1rem + .5vw,1.375rem);font-weight:700;line-height:1.4;letter-spacing:-.03em;color:var(--text)}
.product-card__head + .product-card__text{margin-top:var(--sp-2)}
.moment{gap:0}
.moment__icon{margin-bottom:var(--sp-5)}
.moment__when{font-size:var(--fs-small);font-weight:500;color:var(--text-muted)}
.moment__head{margin-top:6px;font-size:clamp(1.375rem,1.2rem + .7vw,1.75rem);line-height:1.3;letter-spacing:-.035em}
.moment__text{margin-top:var(--sp-3);font-size:1rem}
.moment__link{margin-top:var(--sp-5)}
/* about · hero product summary */
.prod-sum{display:grid;border:1px solid var(--border);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-lg);overflow:hidden;max-width:520px;width:100%;margin-left:auto}
.prod-sum__item{display:grid;gap:4px;padding:24px 26px;transition:background-color var(--t-fast)}
.prod-sum__item + .prod-sum__item{border-top:1px solid var(--border)}
.prod-sum__top{display:flex;align-items:center;justify-content:space-between}
.prod-sum__top .icon{width:18px;height:18px;color:var(--text-muted);transition:transform var(--t-fast) var(--ease),color var(--t-fast)}
.prod-sum__name{font-size:1.375rem;font-weight:700;letter-spacing:-.03em}
.prod-sum__one{font-size:var(--fs-small);color:var(--text-muted)}
.prod-sum__specs{display:grid;gap:6px;margin-top:14px}
.prod-sum__specs div{display:grid;grid-template-columns:40px 1fr;gap:12px;font-size:.9375rem;line-height:1.5}
.prod-sum__specs dt{color:var(--text-muted);font-size:var(--fs-small);padding-top:1px}
.prod-sum__specs dd{color:var(--text);font-weight:500}
.prod-sum__badge{justify-self:start;margin-top:14px;padding:3px 10px;border-radius:999px;background:var(--c-navy-100);font-size:.75rem;font-weight:600;color:var(--c-ink)}
@media (hover:hover) and (pointer:fine){
  .prod-sum__item:hover{background:var(--bg-warm)}
  .prod-sum__item:hover .prod-sum__top .icon{transform:translateX(4px);color:var(--text)}
}
@media (max-width:1199.98px){
  .prod-sum{margin-left:0}
}
@media (max-width:767.98px){
  .prod-sum__item{padding:20px}
}
.page-home .hero__lead{max-width:40em}
/* certification badges (official marks) */
.cert-badges{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--sp-6)}
.cert-badge{display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.cert-badge__mark{width:64px;height:44px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.cert-badge__text{display:grid;gap:1px;line-height:1.35}
.cert-badge__text strong{font-size:.9375rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.cert-badge__text small{font-size:.8125rem;color:var(--text-muted)}
@media (max-width:479.98px){
  .cert-badges{flex-direction:column}
}
.product-card__label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.product-card__pill{padding:3px 10px;border-radius:999px;background:var(--c-navy-100);font-size:.75rem;font-weight:600;color:var(--c-ink)}
.product-cert{background:#fff;color:var(--text);border:1px solid var(--border);gap:20px}
.product-cert__logo{width:96px;height:72px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.product-cert__product{color:var(--text-muted);font-weight:600}
.product-cert__name{font-size:1.375rem}
.product-cert__desc{margin-top:2px !important;font-size:var(--fs-small);color:var(--text-muted)}
.product-cert__year{color:var(--text-muted)}
/* cert line: product certs (with marks) + company certs in one quiet row */
.cert-line a{align-items:center;gap:10px 0}
.cert-line__key{gap:8px;color:var(--text);font-weight:600}
.cert-line__key img{height:30px;width:auto;mix-blend-mode:multiply}
/* lighter badge style (DeepPrivacy hero): no box, just mark + text */
.cert-badges{gap:12px 28px;margin-top:var(--sp-5)}
.cert-badge{padding:0;border:0;border-radius:0;background:none;gap:10px}
.cert-badge__mark{width:auto;height:34px}
.cert-badge__text strong{font-size:.875rem;font-weight:600}
.cert-badge__text small{font-size:.75rem}
@media (max-width:479.98px){
  .cert-badges{flex-direction:row}
}
@media (max-width:767.98px){
  .cert-line a{gap:10px 18px}
  .cert-line a > * + *::before{display:none}
}
/* cert line v3: product certs as outlined badges, company certs as gray text */
.cert-line a{gap:10px 0}
.cert-line__key{gap:6px;height:34px;padding:0 14px 0 11px;border:1px solid var(--c-ink);border-radius:999px;font-size:.875rem;font-weight:600;color:var(--c-ink);background:#fff}
.cert-line__key .icon{width:15px;height:15px;stroke-width:2.4}
.cert-line__key + .cert-line__key{margin-left:8px}
.cert-line__key + .cert-line__key::before,.cert-line__key + span:not(.cert-line__key)::before{display:none}
.cert-line__key + span:not(.cert-line__key){margin-left:20px}
@media (hover:hover) and (pointer:fine){
  .cert-line a:hover .cert-line__key{background:var(--c-navy-100)}
}
@media (max-width:767.98px){
  .cert-line__key + .cert-line__key{margin-left:0}
  .cert-line__key + span:not(.cert-line__key){margin-left:0}
  .cert-line a{column-gap:8px}
  .cert-line a > span:not(.cert-line__key){padding:0 6px}
}
@media (max-width:767.98px){
  .cert-line a > span:not(.cert-line__key){padding:0 4px;font-size:.875rem}
}
/* cert pills (home): product certs = ink outline + check, company certs = light outline */
.cert-pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:var(--sp-6)}
.cert-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:.875rem;font-weight:500;color:var(--text-muted);white-space:nowrap;transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.cert-pill .icon{width:15px;height:15px;stroke-width:2.4}
.cert-pill--key{padding-left:11px;border-color:var(--c-ink);font-weight:600;color:var(--c-ink)}
@media (hover:hover) and (pointer:fine){
  .cert-pill:hover{border-color:var(--c-ink);color:var(--c-ink);background:var(--c-navy-100)}
  .cert-pill--key:hover{background:var(--c-ink);color:#fff}
}
.cert-pills + .cert-line__note{margin-top:var(--sp-3)}
@media (max-width:767.98px){
  .cert-pills{gap:6px}
  .cert-pill{height:32px;padding:0 12px;font-size:.8125rem}
  .cert-pill--key{padding-left:9px}
}
@media (max-width:767.98px){
  .cert-pill{padding:0 10px}
  .cert-pill--key{padding-left:8px}
}
@media (max-width:767.98px){
  .cert-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cert-pill{width:100%;justify-content:center;padding:0 8px}
}
@media (max-width:1199.98px){
  .cert-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:480px;margin-inline:auto}
  .cert-pill{width:100%;justify-content:center}
}
.nowrap{white-space:nowrap}
/* DeepPrivacy hero: module list (hairline rows, no boxes) */
.hero-funcs{list-style:none;display:grid;gap:12px;margin-top:var(--sp-5);max-width:36em}
.hero-funcs li{display:grid;grid-template-columns:64px 1fr;align-items:baseline;gap:12px}
.hero-funcs .tag{justify-content:center;height:24px;font-size:.75rem}
.hero-funcs p{font-size:1rem;line-height:1.6;color:var(--text-muted)}
.hero-funcs strong{font-weight:600;color:var(--text);margin-right:4px}
.cert-badge__mark{width:52px;height:34px;object-fit:contain}
/* DeepPrivacy hero: certs sit inside the product plate, under the box */
.product-plate{display:flex;flex-direction:column}
.product-plate .plate-certs{justify-content:center;gap:10px 28px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.product-plate .plate-certs img{width:52px;height:34px;mix-blend-mode:multiply}
@media (max-width:479.98px){
  .product-plate{padding:24px 20px 20px}
  .product-plate .plate-certs{flex-direction:column;align-items:flex-start;gap:12px;padding-inline:8px}
}
.product-plate .plate-certs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-inline:0}
.product-plate .plate-certs .cert-badge{flex-direction:column;align-items:center;text-align:center;gap:8px}
.product-plate .plate-certs .cert-badge__text{justify-items:center}
@media (max-width:479.98px){
  .product-plate .plate-certs{display:grid;flex-direction:initial;align-items:initial;gap:12px;padding-inline:0}
}
/* product heroes: vertically center visual against copy; smaller box so plate doesn't tower over the text */
.hero--sub .hero__grid{align-items:center}
.product-plate{padding:28px 28px 22px}
.product-plate > img{width:min(100%,250px)}
.product-plate .plate-certs img{width:64px;height:40px}
@media (min-width:1200px){
  .page-deepprivacy .hero .hero-visual{transform:translateY(56px)}
  .page-deepprivacy .hero{padding-bottom:144px}
}
@media (min-width:1200px){
  .page-deepgenguard .hero .hero-visual{transform:translateY(56px)}
  .page-deepgenguard .hero{padding-bottom:144px}
}
@media (min-width:1200px){
  .page-deepgenguard .hero .hero-visual{transform:translateY(22px)}
  .page-deepgenguard .hero{padding-bottom:112px}
}
/* ───────── Product page v2 (2026-10-02) — website rhythm, fewer boxes ───────── */
/* screenshots: light window bar instead of dark mock bar */
.shot-frame{border-color:var(--border);box-shadow:0 20px 48px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04)}
.shot-frame__bar{background:var(--c-navy-100);border-bottom:1px solid var(--border)}
.shot-frame__bar i{background:var(--c-navy-300)}
.shot-frame__bar span{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:.75rem}
/* big figures (no boxes, no rules) */
.figures{display:grid;gap:var(--sp-6);text-align:center}
@media (min-width:768px){
  .figures{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.figure{display:grid;gap:6px;justify-items:center}
.figure__num{font-size:clamp(2.75rem,2rem + 3vw,4rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:var(--text)}
.figure__num small{font-size:.38em;font-weight:600;letter-spacing:0;margin-left:2px;color:var(--text-muted)}
.figure__label{margin-top:8px;font-size:1rem;font-weight:500;color:var(--text)}
.figure__src{font-size:var(--fs-label);color:var(--c-navy-400)}
/* why AI: column rules, no cards */
.why{margin-top:calc(var(--section-py) * .8)}
.why__title{text-align:center;font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);letter-spacing:-.035em;margin-bottom:var(--sp-7)}
.why__list{list-style:none;display:grid;gap:var(--sp-5)}
@media (min-width:768px){
  .why__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6) 0}
}
@media (min-width:1200px){
  .why__list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.why__list li{padding:2px var(--sp-5);border-left:1px solid var(--border)}
.why__list strong{display:block;font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}
.why__list p{font-size:.9375rem;line-height:1.65;color:var(--text-muted)}
/* feature rows */
.feature-block + .feature-block{margin-top:calc(var(--section-py) * .9)}
.feature-block__text h3{font-size:clamp(1.5rem,1.3rem + .8vw,2rem);line-height:1.3;letter-spacing:-.035em;margin-bottom:var(--sp-4)}
.feature-block__text p{font-size:1.0625rem;line-height:1.75}
.feature-block__formats{margin-top:var(--sp-4);font-size:var(--fs-small) !important;color:var(--c-navy-400) !important;letter-spacing:.01em}
/* AI DLP verdicts: three open columns with icon */
.verdict-row{list-style:none;display:grid;gap:var(--sp-6)}
@media (min-width:768px){
  .verdict-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-7)}
}
.vd{display:grid;gap:8px;justify-items:center;text-align:center}
.vd__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:8px;border-radius:50%;background:var(--c-navy-100);color:var(--c-ink)}
.vd__icon .icon{width:24px;height:24px;stroke-width:1.8}
.vd--allow .vd__icon{background:#e7f5f1;color:var(--c-safe-600)}
.vd--block .vd__icon{background:var(--c-red-50);color:var(--c-red-500)}
.vd strong{font-size:1.25rem;font-weight:700;letter-spacing:-.03em}
.vd p{max-width:20em;font-size:.9375rem;line-height:1.65;color:var(--text-muted)}
/* AI DLP routes: hairline rows */
.routes{margin-top:calc(var(--section-py) * .8);max-width:960px;margin-inline:auto}
.routes__title{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);letter-spacing:-.035em;text-align:center;margin-bottom:var(--sp-6)}
.routes__list{list-style:none;border-top:1px solid var(--border)}
.routes__list li{display:grid;gap:4px 24px;padding:24px 4px;border-bottom:1px solid var(--border)}
@media (min-width:768px){
  .routes__list li{grid-template-columns:120px 220px 1fr;align-items:baseline}
}
.routes__stage{font-size:var(--fs-small);font-weight:600;color:var(--text-muted)}
.routes__list strong{font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.routes__list p{font-size:.9375rem;line-height:1.7;color:var(--text-muted)}
/* use cases: simple open cards */
.usecases{list-style:none;display:grid;gap:var(--col-gap)}
@media (min-width:768px){
  .usecases{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .usecases{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.uc{display:flex;flex-direction:column;padding:28px 24px;border-radius:var(--r-xl);background:var(--bg-warm)}
.uc__industry{font-size:var(--fs-small);font-weight:600;color:var(--c-red-500)}
.uc h3{margin-top:6px;font-size:1.1875rem;line-height:1.4;letter-spacing:-.03em}
.uc dl{display:grid;gap:12px;margin-top:var(--sp-5)}
.uc dt{font-size:var(--fs-label);color:var(--c-navy-400);margin-bottom:2px}
.uc dd{font-size:.9375rem;line-height:1.6;color:var(--text-muted)}
/* compliance: key rows + collapsible full table */
.reg-list{list-style:none;max-width:960px;margin-inline:auto;border-top:1px solid var(--border)}
.reg-list li{display:grid;gap:4px 24px;padding:22px 4px;border-bottom:1px solid var(--border)}
@media (min-width:768px){
  .reg-list li{grid-template-columns:180px 1fr;grid-template-rows:auto auto}
  .reg-list strong{grid-row:span 2}
}
.reg-list strong{font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.reg-list span{font-size:var(--fs-small);color:var(--c-navy-400)}
.reg-list p{font-size:.9375rem;line-height:1.65;color:var(--text)}
.reg-more{max-width:960px;margin:var(--sp-5) auto 0}
.reg-more > summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:.9375rem;font-weight:600;cursor:pointer}
.reg-more > summary::-webkit-details-marker{display:none}
.reg-more > summary .icon{width:16px;height:16px;transition:transform var(--t-ui) var(--ease)}
.reg-more[open] > summary .icon{transform:rotate(180deg)}
.reg-more[open] > summary{margin-bottom:var(--sp-4)}
.reg-more{text-align:center}
.reg-more .table-wrap{text-align:left}
/* specs: two-column, hairline definition rows */
.specs{display:grid;gap:var(--sp-6)}
@media (min-width:1200px){
  .specs{grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:var(--sp-9);align-items:start}
}
.specs__note{margin-top:var(--sp-4);max-width:28em;font-size:.9375rem;line-height:1.7;color:var(--text-muted)}
.specs__list{border-top:1px solid var(--border)}
.specs__list div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 4px;border-bottom:1px solid var(--border)}
.specs__list dt{font-size:var(--fs-small);color:var(--text-muted)}
.specs__list dd{font-weight:500}
.vd{align-content:start}
@media (max-width:1199.98px){
  .link--wide{min-width:0 !important;width:2px;height:64px}
}
/* ───────── Site-wide v2 pass (2026-10-02) — retire slide-deck patterns on all pages ───────── */
/* sub-headings: centered title, no English tag, no rule line */
.subhead{justify-content:center;margin:calc(var(--section-py) * .8) 0 var(--sp-6);font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);letter-spacing:-.035em}
.subhead::after,.subhead .num{display:none}
/* cards: soft fill instead of outlined boxes, no 01/02 counters */
.card{border:0;background:var(--bg-warm)}
.section--warm .card,.section--warm .value,.section--warm .step,.section--warm .pair__card,.section--warm .owasp li{background:#fff}
.card__num,.feat__num{display:none}
.card--link{border:1px solid transparent}
@media (hover:hover) and (pointer:fine){
  .card--link:hover{border-color:var(--border)}
}
.card__label{color:var(--text-muted);font-weight:600}
/* steps: keep sequence, lighter boxes */
.step{border-color:var(--border);background:#fff}
.step__num{color:var(--c-navy-400)}
/* threat/solution pairs, owasp grid: borders quieter */
.pair__card{border-color:var(--border)}
.pair__card--threat{background:var(--bg-warm);border-color:transparent}
.owasp li{border-color:var(--border)}
/* quote band: plain centered statement */
.quote-band{max-width:none;margin-inline:auto;padding:0;border-left:0;text-align:center;font-size:clamp(1.25rem,1.1rem + .7vw,1.625rem)}
/* timeline years: sans numerals */
.timeline__num{font-size:1.375rem;letter-spacing:-.03em}
.panel__title .num{display:none}
/* ───────── DeepGenGuard v2 ───────── */
.why__list--threats{margin-top:0}
.why__fix{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-strong);color:var(--text) !important;font-weight:500}
.why__fix::before{content:"대응  ";color:var(--c-red-500);font-weight:600;white-space:pre}
/* feature list: open items with icon, 3 + 2 */
.fx-list{list-style:none;display:grid;gap:var(--sp-6) var(--sp-5)}
@media (min-width:768px){
  .fx-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .fx-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-7) var(--sp-6)}
  .fx-list > *{grid-column:span 2}
  .fx-list > :nth-child(4){grid-column:2 / span 2}
}
.fx{display:grid;gap:8px;align-content:start}
.fx__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:8px;border-radius:12px;background:#fff;color:var(--c-ink);box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 1px var(--border)}
.fx__icon .icon{width:24px;height:24px;stroke-width:1.6}
.fx strong{font-size:1.1875rem;font-weight:700;letter-spacing:-.03em}
.fx p{font-size:.9375rem;line-height:1.7;color:var(--text-muted)}
/* flow steps: open columns with top rule instead of boxes */
#flow .tabs__list{justify-content:center}
#flow .steps{gap:0}
#flow .step{padding:20px 20px 4px 0;border:0;border-top:2px solid var(--border);border-radius:0;background:none}
#flow .step.step--key{border-top-color:var(--c-ink);background:none}
#flow .step::before,#flow .step::after{display:none}
#flow .step__num::before{display:none}
#flow .step__title{font-size:1.125rem}
@media (max-width:1199.98px){
  #flow .step{padding:16px 0 18px}
}
/* N2SF requirement -> response rows */
.n2sf{max-width:960px;margin-inline:auto}
.n2sf__list{list-style:none;border-top:1px solid var(--border)}
.n2sf__list li{display:grid;gap:4px 24px;padding:18px 4px;border-bottom:1px solid var(--border)}
@media (min-width:768px){
  .n2sf__list li{grid-template-columns:1fr 1fr;align-items:baseline}
}
.n2sf__list span{color:var(--text-muted);font-size:.9375rem}
.n2sf__list p{font-weight:600;font-size:.9375rem}
.n2sf__list p::before{content:"→ ";color:var(--c-navy-400);font-weight:400}
/* OWASP compact */
.owasp-lite{max-width:960px;margin:calc(var(--section-py) * .7) auto 0}
.owasp-lite__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:768px){
  .owasp-lite__list{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.owasp-lite__list li{display:grid;gap:2px;padding:14px 14px;border-radius:var(--r-md);background:#fff;font-size:.875rem;line-height:1.45;color:var(--c-navy-400)}
.owasp-lite__list li.is-on{color:var(--text);font-weight:600;box-shadow:0 0 0 1px var(--c-ink) inset}
.owasp-lite__list code{font-size:.75rem;font-weight:500;color:var(--c-navy-400)}
.owasp-lite__cap{margin-top:12px;text-align:center;font-size:var(--fs-label);color:var(--c-navy-400)}
#compliance .reg-more{margin-top:calc(var(--section-py) * .6)}
.reg-more__body{text-align:left}
/* Home · DeepPrivacy demo video */
.demo__grid{display:grid;gap:var(--sp-6);align-items:center}
.demo__copy h2{margin-bottom:var(--sp-4)}
.demo__steps{list-style:none;counter-reset:demo;display:grid;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-4)}
.demo__steps li{counter-increment:demo;display:flex;align-items:center;gap:12px;font-weight:500;color:var(--text)}
.demo__steps li::before{content:counter(demo,decimal-leading-zero);flex:none;font-family:var(--font-label);font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;color:var(--accent)}
.demo__media{margin:0;min-width:0}
.demo__video{display:block;width:100%;height:auto;aspect-ratio:1290/1080;background:#fff;object-fit:contain}
@media (max-width:767.98px){
  .demo__steps{display:none}
}
@media (min-width:1200px){
  .demo__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8)}
}
