:root{--bg:#f6f8fa;--bg-elevated:#ffffff;--bg-subtle:#eff2f5;--surface:rgba(255,255,255,0.88);--surface-strong:#ffffff;--text:#1f2328;--text-soft:#57606a;--text-faint:#6e7781;--border:#d0d7de;--border-strong:#afb8c1;--accent:#0969da;--accent-strong:#0550ae;--accent-soft:#ddf4ff;--accent-contrast:#ffffff;--success:#1a7f37;--warning:#9a6700;--danger:#cf222e;--header:rgba(246,248,250,0.9);--shadow-sm:0 1px 2px rgba(31,35,40,0.05),0 8px 22px rgba(31,35,40,0.05);--shadow-md:0 16px 42px rgba(31,35,40,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--container:1160px;--header-height:72px;--transition:160ms ease;}
[data-theme="dark"]{--bg:#0d1117;--bg-elevated:#161b22;--bg-subtle:#21262d;--surface:rgba(22,27,34,0.94);--surface-strong:#161b22;--text:#f0f3f6;--text-soft:#a7b0bb;--text-faint:#7d8590;--border:#30363d;--border-strong:#484f58;--accent:#58a6ff;--accent-strong:#79b8ff;--accent-soft:#21262d;--accent-contrast:#0d1117;--success:#3fb950;--warning:#d29922;--danger:#f47067;--header:rgba(13,17,23,0.94);--shadow-sm:0 1px 2px rgba(0,0,0,0.24),0 8px 22px rgba(0,0,0,0.16);--shadow-md:0 18px 46px rgba(0,0,0,0.28);}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);}
body{min-width:320px;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color var(--transition),color var(--transition);}
body.menu-open{overflow:hidden;}
body.menu-open main,body.menu-open footer{pointer-events:none;user-select:none;}
img,svg{display:block;max-width:100%;}
button,a{-webkit-tap-highlight-color:transparent;}
button,input,textarea,select{font:inherit;}
a{color:inherit;text-decoration:none;}
p,h1,h2,h3,h4{margin-top:0;}
p:last-child{margin-bottom:0;}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:3px;}
::selection{background:var(--accent);color:var(--accent-contrast);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--text);color:var(--bg);transform:translateY(-160%);transition:transform var(--transition);}
.skip-link:focus{transform:translateY(0);}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto;}
.section{position:relative;padding-block:100px;}
.section-compact{padding-block:72px;}
.section-alt{border-block:1px solid var(--border);background:var(--bg-subtle);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--accent);font-size:0.78rem;font-weight:750;letter-spacing:0.1em;line-height:1.3;text-transform:uppercase;}
.eyebrow::before{width:22px;height:2px;border-radius:var(--radius-pill);background:currentColor;content:"";}
.section-heading{max-width:760px;margin-bottom:46px;}
.section-heading h2{max-width:720px;margin-bottom:18px;font-size:clamp(2rem,4.2vw,3.35rem);font-weight:720;letter-spacing:-0.045em;line-height:1.08;}
.section-heading p{max-width:680px;color:var(--text-soft);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.75;}
.section-heading.centered{margin-inline:auto;text-align:center;}
.section-heading.centered p{margin-inline:auto;}
.section-heading.centered .eyebrow::before{display:none;}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:12px 19px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-weight:680;line-height:1.2;transition:transform var(--transition),border-color var(--transition),background-color var(--transition),color var(--transition),box-shadow var(--transition);}
.button:hover{transform:translateY(-1px);}
.button-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:none;}
.button-primary:hover{background:var(--accent-strong);box-shadow:none;}
.button-secondary{border-color:var(--border-strong);background:var(--surface-strong);color:var(--text);}
.button-secondary:hover{border-color:var(--accent);color:var(--accent);}
.button svg{width:18px;height:18px;flex:0 0 auto;}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:var(--header-height);border-bottom:1px solid transparent;background:var(--header);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color var(--transition),box-shadow var(--transition);}
.site-header.scrolled{border-color:var(--border);box-shadow:0 8px 28px rgba(7,12,20,0.06);}
.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.02rem;font-weight:800;letter-spacing:0.13em;line-height:1;}
.brand-monogram{display:grid;width:36px;height:36px;place-items:center;border-right:1px solid var(--border-strong);color:var(--accent);font-size:1.35rem;font-weight:800;letter-spacing:0;opacity:1;}
.brand-name{display:inline-flex;align-items:baseline;}
.brand-ti{color:var(--accent);}
.desktop-nav{display:flex;align-items:center;gap:6px;}
.desktop-nav a{padding:9px 11px;border-radius:8px;color:var(--text-soft);font-size:0.88rem;font-weight:620;transition:background-color var(--transition),color var(--transition);}
.desktop-nav a:hover,.desktop-nav a.active{background:var(--bg-subtle);color:var(--text);}
.header-actions{display:flex;align-items:center;gap:9px;}
.icon-button{display:inline-grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-strong);color:var(--text-soft);cursor:pointer;transition:border-color var(--transition),color var(--transition),transform var(--transition);}
.icon-button:hover{border-color:var(--border-strong);color:var(--accent);transform:translateY(-1px);}
.icon-button svg{width:19px;height:19px;}
.theme-icon-sun,[data-theme="dark"] .theme-icon-moon{display:none;}
[data-theme="dark"] .theme-icon-sun{display:block;}
.menu-button{display:none;}
.mobile-panel{position:fixed;z-index:90;inset:var(--header-height) 0 auto;max-height:calc(100vh - var(--header-height));overflow-y:auto;border-bottom:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity var(--transition),transform var(--transition);}
.mobile-panel.open{opacity:1;pointer-events:auto;transform:translateY(0);}
.mobile-nav{display:grid;gap:4px;padding-block:18px 24px;}
.mobile-nav a{padding:13px 12px;border-radius:9px;color:var(--text-soft);font-weight:640;}
.mobile-nav a:hover{background:var(--bg-subtle);color:var(--text);}
.hero{min-height:740px;padding-top:calc(var(--header-height) + 88px);padding-bottom:82px;}
.hero::before{position:absolute;z-index:-1;inset:var(--header-height) 0 0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:64px 64px;content:"";mask-image:linear-gradient(to bottom,rgba(0,0,0,0.3),transparent 72%);opacity:0.14;}
.hero-grid{display:grid;min-height:560px;grid-template-columns:minmax(0,1.12fr) minmax(390px,0.88fr);align-items:center;gap:68px;}
.hero-copy h1{max-width:780px;margin-bottom:25px;font-size:clamp(2.85rem,5.6vw,4.8rem);font-weight:740;letter-spacing:-0.052em;line-height:1.02;}
.hero-copy h1 span{color:var(--accent);}
.hero-copy > p{max-width:680px;margin-bottom:24px;color:var(--text-soft);font-size:clamp(1.04rem,1.7vw,1.18rem);line-height:1.72;}
.hero-scope{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none;}
.hero-scope li{padding:6px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-faint);font-size:0.76rem;font-weight:650;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
.hero-note{display:flex;align-items:center;gap:11px;color:var(--text-faint);font-size:0.92rem;}
.hero-note::before{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 14%,transparent);content:"";}
.diagnostic-card{position:relative;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.diagnostic-card::before{display:none;}
.diagnostic-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.diagnostic-title{display:flex;align-items:center;gap:12px;font-size:0.92rem;font-weight:720;}
.diagnostic-title span:first-child{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);}
.diagnostic-title svg{width:18px;height:18px;}
.status-badge{padding:6px 9px;border:1px solid color-mix(in srgb,var(--success) 32%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success);font-size:0.7rem;font-weight:760;letter-spacing:0.05em;text-transform:uppercase;}
.diagnostic-flow{display:grid;gap:10px;margin-top:20px;}
.flow-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);}
.flow-number{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--bg-subtle);color:var(--text-soft);font-size:0.78rem;font-weight:780;}
.flow-item.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:var(--accent-soft);}
.flow-item.active .flow-number{background:var(--accent);color:var(--accent-contrast);}
.flow-item strong,.flow-item small{display:block;}
.flow-item strong{margin-bottom:2px;font-size:0.88rem;}
.flow-item small{color:var(--text-faint);font-size:0.76rem;}
.flow-check{color:var(--success);font-weight:800;}
.diagnostic-footer{display:flex;align-items:center;gap:10px;margin-top:18px;padding:13px 14px;border-radius:12px;background:var(--bg-subtle);color:var(--text-soft);font-size:0.82rem;}
.diagnostic-footer svg{width:17px;height:17px;flex:0 0 auto;color:var(--accent);}
.trust-bar{border-block:1px solid var(--border);background:var(--surface);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-item{padding:24px 22px;border-right:1px solid var(--border);text-align:center;}
.trust-item:last-child{border-right:0;}
.trust-item strong,.trust-item span{display:block;}
.trust-item strong{margin-bottom:3px;font-size:0.94rem;}
.trust-item span{color:var(--text-faint);font-size:0.78rem;}
.about-grid{display:grid;grid-template-columns:0.92fr 1.08fr;align-items:start;gap:86px;}
.about-copy h2,.services-intro h2{margin-bottom:18px;font-size:clamp(2rem,4vw,3.15rem);font-weight:720;letter-spacing:-0.043em;line-height:1.1;}
.about-copy p{color:var(--text-soft);font-size:1.05rem;}
.about-copy .lead{color:var(--text);font-size:1.24rem;line-height:1.65;}
.principle-list{display:grid;gap:14px;}
.principle{display:grid;grid-template-columns:44px 1fr;gap:15px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.principle-icon,.card-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent);}
.principle-icon svg,.card-icon svg{width:20px;height:20px;}
.principle h3{margin-bottom:4px;font-size:1rem;}
.principle p{color:var(--text-soft);font-size:0.9rem;line-height:1.6;}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.card{position:relative;min-height:100%;padding:25px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-sm);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);}
.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.card .card-icon{margin-bottom:20px;}
.card h3{margin-bottom:9px;font-size:1.12rem;letter-spacing:-0.02em;}
.card p{color:var(--text-soft);font-size:0.93rem;line-height:1.7;}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.audience-panel{padding:34px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.audience-panel.business{border-top:2px solid var(--accent);background:var(--surface-strong);}
.audience-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-soft);font-size:0.76rem;font-weight:720;}
.audience-label svg{width:15px;height:15px;color:var(--accent);}
.audience-panel h3{max-width:480px;margin-bottom:14px;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-0.035em;line-height:1.15;}
.audience-panel > p{margin-bottom:24px;color:var(--text-soft);}
.check-list,.plain-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.check-list li{display:flex;align-items:flex-start;gap:10px;color:var(--text-soft);font-size:0.92rem;}
.check-list li::before{display:grid;width:19px;height:19px;flex:0 0 auto;place-items:center;margin-top:3px;border-radius:50%;background:var(--accent-soft);color:var(--accent);content:"✓";font-size:0.7rem;font-weight:850;}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:process;}
.process-step{position:relative;padding:28px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);counter-increment:process;}
.process-step::before{display:grid;width:36px;height:36px;place-items:center;margin-bottom:48px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);color:var(--accent);content:"0" counter(process);font-size:0.75rem;font-weight:800;}
.process-step:not(:last-child)::after{position:absolute;z-index:2;top:45px;right:-16px;width:30px;height:1px;background:var(--accent);content:"";}
.process-step h3{margin-bottom:9px;font-size:1.18rem;}
.process-step p{color:var(--text-soft);font-size:0.93rem;}
.process-commitments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;}
.process-note{display:flex;align-items:flex-start;gap:14px;margin:0;padding:17px 20px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text-soft);font-size:0.92rem;}
.process-note svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px;color:var(--accent);}
.service-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;}
.service-info-item{padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);}
.service-info-item dt{margin-bottom:8px;font-size:0.78rem;font-weight:760;letter-spacing:0.06em;text-transform:uppercase;}
.service-info-item dd{margin:0;color:var(--text-soft);font-size:0.9rem;line-height:1.6;}
.service-info-note{margin-top:18px;padding-left:14px;border-left:2px solid var(--accent);color:var(--text-soft);font-size:0.88rem;}
.placeholder{color:var(--warning);font-weight:720;overflow-wrap:anywhere;}
.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.signal-item{display:flex;align-items:flex-start;gap:16px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);transition:border-color var(--transition),transform var(--transition);}
.signal-item:hover{border-color:var(--border-strong);transform:translateX(3px);}
.signal-mark{display:grid;width:37px;height:37px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--bg-subtle);color:var(--accent);}
.signal-mark svg{width:19px;height:19px;}
.signal-item h3{margin-bottom:4px;font-size:1rem;}
.signal-item p{color:var(--text-soft);font-size:0.87rem;line-height:1.6;}
.services-layout{display:grid;grid-template-columns:0.72fr 1.28fr;align-items:start;gap:50px;}
.services-intro{position:sticky;top:calc(var(--header-height) + 28px);}
.services-intro p{color:var(--text-soft);}
.services-groups{display:grid;gap:14px;}
.service-group{padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);}
.service-group-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.service-group-header h3{display:flex;align-items:center;gap:10px;margin-bottom:0;font-size:1.05rem;}
.service-group-header svg{width:19px;height:19px;color:var(--accent);}
.service-group-header span{color:var(--text-faint);font-size:0.76rem;}
.service-group > p{margin-bottom:17px;color:var(--text-soft);font-size:0.88rem;line-height:1.65;}
.service-tags{display:flex;flex-wrap:wrap;gap:8px;}
.service-tags span{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--text-soft);font-size:0.8rem;}
.boundaries{display:grid;grid-template-columns:0.9fr 1.1fr;gap:28px;padding:36px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.boundaries-copy h2{margin-bottom:14px;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-0.04em;line-height:1.12;}
.boundaries-copy p{color:var(--text-soft);}
.boundary-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.boundary-item{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--danger) 20%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--danger) 6%,var(--bg-elevated));color:var(--text-soft);font-size:0.88rem;}
.boundary-item svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--danger);}
.future-note{margin-top:15px;padding:14px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-soft);font-size:0.84rem;}
.security-grid,.consulting-grid{display:grid;grid-template-columns:0.96fr 1.04fr;align-items:center;gap:68px;}
.security-visual{padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.audit-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;padding:4px 4px 18px;border-bottom:1px solid var(--border);}
.audit-head span,.audit-head strong{display:block;}
.audit-head span{margin-bottom:3px;color:var(--text-faint);font-size:0.72rem;font-weight:720;letter-spacing:0.07em;text-transform:uppercase;}
.audit-head strong{font-size:1rem;}
.audit-status{padding:6px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--accent)!important;font-size:0.68rem!important;white-space:nowrap;}
.audit-list{display:grid;}
.audit-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:15px 4px;border-bottom:1px solid var(--border);}
.audit-row span{display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:0.86rem;}
.audit-row span::before{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--accent);content:"";}
.audit-row strong{color:var(--text-faint);font-size:0.72rem;font-weight:680;}
.audit-foot{margin-top:16px;padding:13px 14px;border-left:2px solid var(--accent);background:var(--bg-subtle);color:var(--text-soft);font-size:0.8rem;line-height:1.55;}
.security-copy h2,.consulting-copy h2{margin-bottom:18px;font-size:clamp(2rem,4.2vw,3.35rem);letter-spacing:-0.045em;line-height:1.08;}
.security-copy > p,.consulting-copy > p{color:var(--text-soft);font-size:1.02rem;}
.security-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;padding:0;list-style:none;}
.security-list li{display:flex;align-items:center;gap:9px;color:var(--text-soft);font-size:0.88rem;}
.security-list li::before{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--accent);content:"";}
.consulting-map{display:grid;gap:12px;}
.consulting-item{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.consulting-item > span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--bg-subtle);color:var(--accent);font-size:0.78rem;font-weight:800;}
.consulting-item h3{margin-bottom:3px;font-size:1rem;}
.consulting-item p{color:var(--text-soft);font-size:0.86rem;line-height:1.6;}
.privacy-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.privacy-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-sm);}
.privacy-card > span{display:inline-grid;width:34px;height:34px;place-items:center;margin-bottom:22px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--accent);font-size:0.72rem;font-weight:800;}
.privacy-card h3{margin-bottom:8px;font-size:1.03rem;}
.privacy-card p{color:var(--text-soft);font-size:0.88rem;line-height:1.65;}
.privacy-documents{display:grid;max-width:920px;gap:10px;margin:30px auto 0;}
.legal-detail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);overflow:hidden;scroll-margin-top:calc(var(--header-height) + 28px);}
.legal-detail summary{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;cursor:pointer;font-weight:680;list-style:none;}
.legal-detail summary::-webkit-details-marker{display:none;}
.legal-detail summary::after{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:7px;color:var(--accent);content:"+";font-size:1.1rem;font-weight:400;transition:transform var(--transition);}
.legal-detail[open] summary::after{transform:rotate(45deg);}
.legal-content{padding:0 20px 22px;color:var(--text-soft);font-size:0.9rem;line-height:1.7;}
.legal-content p{margin-bottom:12px;}
.legal-content ul{display:grid;gap:8px;margin:0;padding-left:20px;}
.legal-content strong{color:var(--text);}
.legal-content h3{margin:26px 0 10px;color:var(--text);font-size:1rem;}
.legal-content a{text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 22px;}
.legal-grid div{padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);}
.legal-grid dt{margin-bottom:3px;color:var(--text);font-size:0.78rem;font-weight:720;}
.legal-grid dd{margin:0;font-size:0.84rem;}
.privacy-revision{margin-top:18px;color:var(--text-faint);font-size:0.76rem;text-align:center;}
.faq-list{display:grid;max-width:880px;gap:10px;margin-inline:auto;}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);overflow:hidden;}
.faq-item summary{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;font-weight:680;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--accent);content:"+";font-size:1.15rem;font-weight:400;transition:transform var(--transition);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-answer{max-width:780px;padding:0 20px 21px;color:var(--text-soft);font-size:0.93rem;}
.contact-shell{position:relative;display:grid;grid-template-columns:1.08fr 0.92fr;gap:44px;padding:52px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:28px;background:radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 26rem),var(--surface-strong);box-shadow:var(--shadow-md);}
[data-theme="dark"] .contact-shell{background:var(--surface-strong);}
.contact-copy h2{max-width:620px;margin-bottom:17px;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-0.055em;line-height:1.02;}
.contact-copy > p{max-width:590px;margin-bottom:28px;color:var(--text-soft);font-size:1.02rem;}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.contact-channel{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.contact-channel[href]{transition:border-color var(--transition),background-color var(--transition),transform var(--transition);}
.contact-channel[href]:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px);}
.contact-channel svg{width:20px;height:20px;flex:0 0 auto;color:var(--accent);}
.contact-channel span,.contact-channel strong{display:block;}
.contact-channel span{color:var(--text-faint);font-size:0.75rem;}
.contact-channel strong{font-size:0.92rem;}
.contact-privacy-notice{margin:14px 0 0!important;color:var(--text-faint)!important;font-size:0.78rem!important;line-height:1.55!important;}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.contact-guide{align-self:center;padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-subtle) 84%,transparent);}
.contact-guide h3{margin-bottom:15px;font-size:1rem;}
.contact-guide ol{display:grid;gap:11px;margin:0;padding:0;list-style:none;counter-reset:contact;}
.contact-guide li{display:grid;grid-template-columns:25px 1fr;gap:10px;color:var(--text-soft);font-size:0.85rem;counter-increment:contact;}
.contact-guide li::before{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent);content:counter(contact);font-size:0.7rem;font-weight:800;}
.site-footer{padding-block:38px 24px;border-top:1px solid var(--border);background:var(--bg-elevated);}
.footer-main{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(250px,1fr) auto;align-items:start;gap:36px;padding-bottom:28px;}
.footer-brand{max-width:420px;}
.footer-brand .brand{margin-bottom:13px;}
.footer-brand p{color:var(--text-soft);font-size:0.88rem;}
.footer-identity{display:grid;gap:5px;color:var(--text-soft);font-size:0.79rem;font-style:normal;}
.footer-identity strong{color:var(--text);}
.footer-identity a{text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;}
.footer-nav a{color:var(--text-soft);font-size:0.84rem;transition:color var(--transition);}
.footer-nav a:hover{color:var(--accent);}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:17px;border-top:1px solid var(--border);}
.footer-legal a{color:var(--text-soft);font-size:0.78rem;transition:color var(--transition);}
.footer-legal a:hover{color:var(--accent);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;color:var(--text-faint);font-size:0.77rem;}
.back-to-top{display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font-weight:650;}
.back-to-top svg{width:15px;height:15px;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity 420ms ease,transform 420ms ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.no-js .reveal{opacity:1;transform:none;}
@media (max-width:1050px){.desktop-nav,.header-cta{display:none;}
.menu-button{display:inline-grid;}
.hero-grid{grid-template-columns:1fr;gap:54px;}
.hero-copy{max-width:780px;}
.diagnostic-card{width:min(100%,690px);}
.about-grid,.security-grid,.consulting-grid{gap:48px;}
.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.services-layout{grid-template-columns:1fr;}
.services-intro{position:static;}
.service-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));}
.footer-nav{grid-column:1/-1;justify-content:flex-start;}
}
@media (max-width:820px){.section{padding-block:82px;}
.hero{min-height:auto;padding-top:calc(var(--header-height) + 68px);}
.hero-grid{min-height:auto;}
.trust-grid{grid-template-columns:repeat(2,1fr);}
.trust-item:nth-child(2){border-right:0;}
.trust-item:nth-child(-n + 2){border-bottom:1px solid var(--border);}
.about-grid,.audience-grid,.security-grid,.consulting-grid,.boundaries,.contact-shell{grid-template-columns:1fr;}
.privacy-principles{grid-template-columns:1fr;}
.legal-grid{grid-template-columns:1fr;}
.process-grid{grid-template-columns:1fr;}
.process-commitments{grid-template-columns:1fr;}
.process-step::before{margin-bottom:28px;}
.process-step:not(:last-child)::after{display:none;}
.security-visual{order:2;}
.contact-shell{padding:36px;}
}
@media (max-width:620px){:root{--header-height:66px;}
.container{width:min(calc(100% - 28px),var(--container));}
.section,.section-compact{padding-block:68px;}
.section-heading{margin-bottom:32px;}
.brand{font-size:0.95rem;}
.brand-monogram{width:32px;height:32px;font-size:1.18rem;}
.hero{padding-top:calc(var(--header-height) + 52px);padding-bottom:60px;}
.hero-copy h1{font-size:clamp(2.65rem,14vw,4rem);}
.hero-actions{display:grid;}
.hero-actions .button{width:100%;}
.contact-actions{display:grid;}
.contact-actions .button{width:100%;}
.diagnostic-card{padding:16px;border-radius:18px;}
.diagnostic-top{align-items:flex-start;}
.status-badge{display:none;}
.flow-item{grid-template-columns:36px 1fr;}
.flow-check{display:none;}
.trust-item{padding:20px 12px;}
.about-grid{gap:38px;}
.card-grid,.signal-grid,.security-list,.service-info-grid,.contact-channels{grid-template-columns:1fr;}
.audience-panel,.boundaries,.contact-shell{padding:24px;border-radius:18px;}
.signal-item:hover{transform:none;}
.service-group{padding:20px;}
.service-group-header{align-items:flex-start;}
.service-group-header span{display:none;}
.security-visual{padding:20px;}
.audit-head{align-items:flex-start;}
.footer-main,.footer-bottom{display:grid;}
.footer-nav{justify-content:flex-start;}
.footer-legal{display:grid;gap:10px;}
}
@supports not (color:color-mix(in srgb,#000 50%,#fff)){:focus-visible{outline-color:var(--accent);}
.hero-note::before{box-shadow:0 0 0 5px var(--bg-subtle);}
.status-badge{border-color:var(--border);background:var(--bg-subtle);}
.flow-item{background:var(--bg-elevated);}
.flow-item.active{border-color:var(--accent);}
.process-note{border-color:var(--accent);}
.boundary-item{border-color:var(--border);background:var(--bg-elevated);}
.contact-shell{border-color:var(--border);background:var(--surface-strong);}
.contact-guide{background:var(--bg-subtle);}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;}
.reveal{opacity:1;transform:none;}
}
@media print{.site-header,.mobile-panel,.hero-actions,.back-to-top{display:none !important;}
body{background:#ffffff;color:#111111;}
.hero{min-height:auto;padding-top:40px;}
.section{padding-block:38px;}
}
