:root {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif;
  color: #151515; background: #f3f3f0; font-synthesis: none; text-rendering: optimizeLegibility;
  --ink:#151515; --muted:#6e6e69; --paper:#f3f3f0; --card:#fafaf7;
  --line:rgba(21,21,21,.10); --lime:#c8ff5a; --violet:#a58bff; --sky:#9edcff; --peach:#ffba8d;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; min-height:100vh; background:var(--paper); overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 4% 35%,rgba(255,255,255,.8),transparent 27%),radial-gradient(circle at 96% 12%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 27%); }
a { color:inherit; text-decoration:none; }
::selection { background:var(--accent,var(--lime)); color:#111; }
.privacy-page { --accent:var(--violet); --accent-soft:#e8e1ff; }
.changelog-page { --accent:var(--lime); --accent-soft:#e8ffbd; }
.legal-page { --accent:var(--sky); --accent-soft:#dff3ff; }
.contact-page { --accent:var(--peach); --accent-soft:#ffe7d6; }
.subpage-topbar { width:min(1160px,calc(100% - 48px)); height:96px; margin:0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.subpage-brand { width:fit-content; display:flex; align-items:center; }
.subpage-brand img { width:150px; height:auto; display:block; }
.subpage-nav { display:flex; align-items:center; gap:30px; color:#666660; font-size:13px; }
.subpage-nav a { transition:opacity .2s ease; }
.subpage-nav a:hover { opacity:.5; }
.back-link { justify-self:end; display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:999px; background:#fff; border:1px solid rgba(0,0,0,.06); font-size:12px; font-weight:750; box-shadow:0 8px 24px rgba(0,0,0,.045); }
.back-link span { font-size:12px; transition:transform .2s ease; }
.back-link:hover span { transform:translate(2px,-2px); }
.policy-shell { width:min(1160px,calc(100% - 48px)); margin:0 auto 78px; }
.policy-hero { min-height:570px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); align-items:stretch; border-radius:38px; background:rgba(250,250,247,.93); border:1px solid var(--line); box-shadow:0 30px 80px rgba(35,32,50,.07); }
.policy-hero::before { content:''; position:absolute; width:520px; height:520px; border:58px solid color-mix(in srgb,var(--accent) 18%,transparent); border-radius:50%; left:-415px; bottom:-250px; pointer-events:none; }
.hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:82px 32px 78px 72px; }
.kicker,.visual-eyebrow { font-size:10px; letter-spacing:.16em; font-weight:850; color:#85857f; }
.policy-hero h1 { max-width:720px; margin:19px 0 24px; font:800 clamp(58px,6.8vw,94px)/.91 -apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',sans-serif; letter-spacing:-.075em; }
.policy-hero .hero-copy>p { max-width:660px; margin:0; color:var(--muted); font-size:17px; line-height:1.62; letter-spacing:-.018em; }
.policy-meta { display:flex; gap:9px; flex-wrap:wrap; margin-top:30px; }
.policy-meta span { padding:9px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#777771; font-size:10px; font-weight:700; box-shadow:0 4px 14px rgba(0,0,0,.025); }
.hero-visual { position:relative; min-width:0; overflow:hidden; margin:26px 26px 26px 8px; border-radius:29px; padding:34px; background:var(--accent-soft); display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(21,21,21,.055); }
.hero-visual::before,.hero-visual::after { content:''; position:absolute; border-radius:50%; background:rgba(255,255,255,.32); pointer-events:none; }
.hero-visual::before { width:300px; height:300px; right:-150px; top:-130px; }
.hero-visual::after { width:190px; height:190px; left:-105px; bottom:-100px; }
.visual-eyebrow { position:absolute; left:34px; top:31px; color:rgba(21,21,21,.48); }
.visual-status { position:relative; z-index:2; display:flex; gap:7px; flex-wrap:wrap; margin-top:26px; }
.visual-status span { background:rgba(255,255,255,.72); border:1px solid rgba(21,21,21,.07); border-radius:999px; padding:8px 10px; font-size:9px; font-weight:700; color:#5e5e58; }
.visual-status i { display:inline-block; width:5px; height:5px; border-radius:50%; background:#66a52c; margin-right:5px; }
.privacy-orbit { position:relative; z-index:1; width:270px; height:270px; margin:24px auto 0; border-radius:50%; border:1px solid rgba(47,34,91,.15); display:grid; place-items:center; box-shadow:0 0 0 44px rgba(255,255,255,.22),0 0 0 88px rgba(255,255,255,.12); }
.privacy-core { width:148px; height:148px; border-radius:50%; display:grid; place-items:center; align-content:center; gap:5px; background:#171717; color:#fff; box-shadow:0 18px 40px rgba(55,43,92,.18); }
.privacy-core span { font-size:10px; color:#b9b9b2; text-transform:uppercase; letter-spacing:.12em; }
.privacy-core strong { font-size:34px; letter-spacing:-.05em; }
.change-card { position:relative; z-index:1; display:grid; grid-template-columns:12px 1fr; gap:14px; padding:22px; margin-top:16px; border-radius:20px; background:#fff; border:1px solid rgba(21,21,21,.08); box-shadow:0 16px 40px rgba(50,57,25,.08); }
.change-card:first-of-type { margin-top:54px; transform:rotate(-1.5deg); }
.change-card.muted-card { margin-left:36px; background:rgba(255,255,255,.62); transform:rotate(1deg); }
.change-dot { width:9px; height:9px; border-radius:50%; background:#151515; margin-top:5px; }
.change-card small,.identity-lockup small,.identity-row small,.mail-card small { display:block; font-size:8px; letter-spacing:.14em; color:#8a8a83; font-weight:850; }
.change-card strong { display:block; margin:5px 0 4px; font-size:18px; letter-spacing:-.03em; }
.change-card p { margin:0; color:#777770; font-size:11px; line-height:1.5; }
.identity-lockup { position:relative; z-index:1; display:flex; align-items:center; gap:17px; margin-top:38px; padding:24px; border-radius:22px; background:#fff; border:1px solid rgba(21,21,21,.08); box-shadow:0 16px 40px rgba(31,60,75,.07); }
.identity-lockup img { width:62px; height:62px; }
.identity-lockup strong { display:block; margin-top:4px; font-size:28px; letter-spacing:-.05em; }
.identity-row { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.identity-row span { padding:19px; border-radius:18px; background:rgba(255,255,255,.66); border:1px solid rgba(21,21,21,.07); }
.identity-row b { display:block; margin-top:6px; font-size:13px; }
.mail-card { position:relative; z-index:1; display:flex; align-items:center; gap:18px; margin-top:42px; padding:24px; border-radius:23px; background:#171717; color:#fff; box-shadow:0 20px 44px rgba(92,58,40,.14); }
.mail-at { width:58px; height:58px; flex:0 0 auto; border-radius:18px; display:grid; place-items:center; background:var(--peach); color:#171717; font-size:29px; font-weight:850; }
.mail-card strong { display:block; margin:5px 0 4px; font-size:18px; letter-spacing:-.03em; }
.mail-card p { margin:0; color:#a9a9a2; font-size:10px; }
.routing-chips { position:relative; z-index:1; display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }
.routing-chips span { padding:8px 10px; border-radius:999px; background:rgba(255,255,255,.67); border:1px solid rgba(21,21,21,.07); font-size:9px; font-weight:750; }
.policy-content { display:grid; grid-template-columns:238px minmax(0,1fr); gap:56px; padding:74px 18px 0; }
.policy-nav { position:sticky; top:24px; align-self:start; padding:16px; border-radius:20px; background:rgba(250,250,247,.72); border:1px solid var(--line); backdrop-filter:blur(14px); }
.policy-nav strong { display:block; padding:4px 8px 12px; font-size:9px; color:#999994; letter-spacing:.14em; }
.policy-nav a { display:flex; align-items:center; justify-content:space-between; padding:10px 9px; border-radius:10px; color:#74746e; font-size:11px; font-weight:700; transition:.18s ease; }
.policy-nav a::after { content:'↗'; opacity:0; transform:translate(-3px,3px); transition:.18s ease; }
.policy-nav a:hover { background:#fff; color:#151515; }
.policy-nav a:hover::after { opacity:.55; transform:none; }
.policy-article { min-width:0; counter-reset:section; }
.policy-section { counter-increment:section; position:relative; padding:0 0 48px; margin:0 0 48px; border-bottom:1px solid var(--line); }
.policy-section:last-child { border-bottom:0; }
.policy-section h2 { margin:0 0 16px; font:780 clamp(30px,3vw,42px)/1 -apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',sans-serif; letter-spacing:-.05em; }
.policy-section h2::before { content:'0' counter(section); display:block; margin-bottom:12px; font-size:9px; line-height:1; letter-spacing:.14em; color:#a0a09a; font-weight:850; }
.policy-section h3 { margin:26px 0 9px; font-size:15px; }
.policy-section p,.policy-section li { color:#666660; font-size:14px; line-height:1.75; }
.policy-section p { max-width:760px; }
.policy-section ul { margin:15px 0 0; padding-left:20px; }
.policy-section a { text-decoration:underline; text-decoration-color:#b8b8b2; text-underline-offset:3px; text-decoration-thickness:1px; }
.policy-section:first-child { padding:30px 32px 32px; border:1px solid var(--line); border-radius:25px; background:rgba(255,255,255,.55); box-shadow:0 12px 34px rgba(0,0,0,.035); }
.policy-section:first-child h2::before { color:color-mix(in srgb,var(--accent) 72%,#555); }
.info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.info-card { min-height:144px; padding:23px; border-radius:21px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 24px rgba(0,0,0,.025); transition:transform .2s ease,box-shadow .2s ease; }
.info-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.045); }
.info-card small { display:block; margin-bottom:10px; color:#93938d; font-size:8px; font-weight:850; letter-spacing:.14em; }
.info-card strong { display:block; margin-bottom:8px; font-size:17px; letter-spacing:-.025em; }
.info-card p { margin:0; font-size:11px; line-height:1.6; }
.timeline { display:flex; flex-direction:column; gap:15px; }
.release { position:relative; overflow:hidden; padding:28px 29px 30px; border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:0 12px 32px rgba(0,0,0,.035); }
.release::before { content:''; position:absolute; inset:0 auto 0 0; width:5px; background:var(--accent); }
.release-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:17px; }
.release-head h2 { margin:0; max-width:560px; font-size:25px; letter-spacing:-.045em; }
.release-head time { flex:0 0 auto; padding:7px 9px; border-radius:999px; background:var(--accent-soft); color:#65655f; font-size:9px; font-weight:750; }
.release ul { margin:0; padding-left:18px; }
.release li { color:#676762; font-size:12px; line-height:1.75; }
.contact-cta { display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:14px 18px; border-radius:999px; background:var(--ink); color:#fff; font-size:12px; font-weight:800; box-shadow:0 9px 24px rgba(0,0,0,.12); transition:transform .2s ease; }
.contact-cta:hover { transform:translateY(-1px); }
.page-switcher { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:70px 0 0; padding:9px; border-radius:29px; background:#171717; box-shadow:0 24px 55px rgba(0,0,0,.11); }
.page-switcher a { min-height:112px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:18px; border-radius:21px; color:#fff; border:1px solid rgba(255,255,255,.08); font-size:12px; font-weight:800; transition:background .2s ease,transform .2s ease; }
.page-switcher a:hover { background:#252524; transform:translateY(-1px); }
.page-switcher a span { display:block; max-width:150px; margin-top:6px; color:#8f8f89; font-size:9px; line-height:1.45; font-weight:550; }
.page-switcher a b { position:absolute; right:16px; top:15px; color:#72726d; font-size:11px; }
.privacy-page .page-switcher a[href="/privacy/"],.changelog-page .page-switcher a[href="/changelog/"],.legal-page .page-switcher a[href="/legal/"],.contact-page .page-switcher a[href="/contact/"] { background:var(--accent); color:#151515; border-color:transparent; }
.privacy-page .page-switcher a[href="/privacy/"] span,.changelog-page .page-switcher a[href="/changelog/"] span,.legal-page .page-switcher a[href="/legal/"] span,.contact-page .page-switcher a[href="/contact/"] span { color:rgba(21,21,21,.58); }
.privacy-page .page-switcher a[href="/privacy/"] b,.changelog-page .page-switcher a[href="/changelog/"] b,.legal-page .page-switcher a[href="/legal/"] b,.contact-page .page-switcher a[href="/contact/"] b { color:rgba(21,21,21,.55); }
.subpage-footer { width:min(1160px,calc(100% - 48px)); margin:0 auto; padding:31px 4px 46px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; color:#8b8b85; font-size:9px; }
.subpage-footer img { width:104px; height:auto; display:block; }
.subpage-footer>span:not(.team-signature) { justify-self:center; }
.subpage-footer .team-signature { justify-self:end; }
.subpage-footer .team-signature a { color:#50504b; font-weight:800; }
@media (max-width:900px) {
  .subpage-topbar,.policy-shell,.subpage-footer { width:calc(100% - 32px); }
  .subpage-nav { display:none; }
  .subpage-topbar { grid-template-columns:1fr auto; }
  .policy-hero { grid-template-columns:1fr; min-height:0; }
  .hero-copy { padding:68px 34px 54px; }
  .hero-visual { min-height:360px; margin:0 18px 18px; padding:30px; }
  .policy-content { grid-template-columns:1fr; gap:30px; padding:54px 5px 0; }
  .policy-nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; padding:0; border:0; background:transparent; backdrop-filter:none; }
  .policy-nav strong { width:100%; padding:0 0 8px; }
  .policy-nav a { padding:9px 11px; background:#fff; border:1px solid var(--line); }
  .policy-nav a::after { display:none; }
}
@media (max-width:620px) {
  .subpage-topbar,.policy-shell,.subpage-footer { width:calc(100% - 28px); }
  .subpage-topbar { height:78px; }
  .subpage-brand img { width:126px; }
  .back-link { padding:10px 12px; font-size:10px; }
  .back-link span { display:none; }
  .policy-hero { border-radius:29px; }
  .hero-copy { padding:55px 24px 42px; }
  .policy-hero h1 { font-size:clamp(48px,14vw,64px); }
  .policy-hero .hero-copy>p { font-size:15px; }
  .hero-visual { min-height:315px; margin:0 12px 12px; border-radius:23px; padding:24px; }
  .visual-eyebrow { left:24px; top:23px; }
  .privacy-orbit { width:205px; height:205px; box-shadow:0 0 0 32px rgba(255,255,255,.22),0 0 0 64px rgba(255,255,255,.12); }
  .privacy-core { width:116px; height:116px; }
  .privacy-core strong { font-size:28px; }
  .change-card:first-of-type { margin-top:42px; }
  .change-card.muted-card { margin-left:14px; }
  .mail-card { padding:19px; gap:13px; }
  .mail-at { width:48px; height:48px; border-radius:15px; }
  .mail-card strong { font-size:14px; }
  .identity-lockup { padding:19px; }
  .identity-row { grid-template-columns:1fr; }
  .policy-content { padding-top:42px; }
  .policy-section { padding-bottom:38px; margin-bottom:38px; }
  .policy-section:first-child { padding:25px 22px 27px; }
  .policy-section h2 { font-size:31px; }
  .policy-section p,.policy-section li { font-size:13px; }
  .info-grid { grid-template-columns:1fr; }
  .release { padding:24px 22px 25px; }
  .release-head { flex-direction:column; gap:9px; }
  .page-switcher { grid-template-columns:1fr 1fr; border-radius:24px; }
  .page-switcher a { min-height:102px; }
  .subpage-footer { grid-template-columns:1fr; align-items:start; gap:12px; }
  .subpage-footer>span:not(.team-signature),.subpage-footer .team-signature { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Contact page — deliberately more human than a support portal. */
.contact-page .contact-hero { min-height:610px; }
.contact-page .contact-hero .hero-copy { padding-right:48px; }
.contact-page .contact-hero h1 { max-width:690px; }
.hero-mail-link { width:fit-content; margin-top:30px; display:inline-flex; align-items:center; gap:15px; padding:10px 10px 10px 17px; border-radius:999px; background:#171717; color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.13); font-size:13px; font-weight:800; }
.hero-mail-link b { width:31px; height:31px; border-radius:50%; display:grid; place-items:center; background:var(--peach); color:#171717; font-size:12px; }
.contact-page .visual-contact { justify-content:flex-start; padding:34px 32px; background:#ffe2cf; }
.contact-orbit { position:relative; flex:1; min-height:390px; display:grid; place-items:center; }
.orbit-ring { position:absolute; border:1px solid rgba(21,21,21,.12); border-radius:50%; }
.ring-one { width:250px; height:250px; }
.ring-two { width:355px; height:355px; border-style:dashed; opacity:.58; }
.contact-core { position:relative; z-index:3; width:178px; height:178px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:#171717; color:#fff; box-shadow:0 22px 50px rgba(64,37,20,.22); }
.contact-core small { margin-bottom:5px; color:#a9a39e; font-size:8px; font-weight:850; letter-spacing:.16em; }
.contact-core strong { font-size:25px; letter-spacing:-.045em; }
.contact-core span { margin-top:7px; color:#d1ccc7; font-size:9px; }
.route-node { position:absolute; z-index:4; display:flex; align-items:center; gap:7px; padding:10px 12px; border-radius:999px; background:#fff; border:1px solid rgba(21,21,21,.08); box-shadow:0 9px 20px rgba(71,42,24,.07); font-size:10px; font-weight:800; }
.route-node b { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:#f3f3f0; color:#8a837d; font-size:7px; }
.node-product { left:2%; top:24%; transform:rotate(-5deg); }
.node-security { right:1%; top:31%; transform:rotate(4deg); }
.node-privacy { left:7%; bottom:18%; transform:rotate(3deg); }
.node-team { right:5%; bottom:15%; transform:rotate(-4deg); }
.visual-note { position:relative; z-index:3; margin:0; color:#7a6658; text-align:center; font-size:10px; font-weight:700; letter-spacing:.01em; }
.contact-section-kicker { display:block; margin-bottom:12px; color:#c27a4f; font-size:9px; font-weight:850; letter-spacing:.14em; }
.contact-reach h2 { max-width:650px; font-size:clamp(42px,5vw,65px); line-height:.96; }
.contact-reach>p { max-width:670px; }
.contact-address { margin-top:28px; min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 24px 23px 27px; border-radius:26px; background:#171717; color:#fff; text-decoration:none!important; box-shadow:0 20px 48px rgba(0,0,0,.12); transition:transform .2s ease; }
.contact-address:hover { transform:translateY(-2px); }
.contact-address span { display:flex; flex-direction:column; gap:7px; font-size:clamp(22px,3vw,36px); font-weight:800; letter-spacing:-.045em; }
.contact-address small { color:#9d9d97; font-size:8px; font-weight:850; letter-spacing:.15em; }
.contact-address b { width:54px; height:54px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:var(--peach); color:#171717; font-size:20px; }
.routing-intro { max-width:600px; margin-top:-2px!important; }
.route-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.route-card { min-height:170px; position:relative; overflow:hidden; display:grid; grid-template-columns:42px 1fr; gap:14px; padding:23px; border-radius:23px; background:#fff; border:1px solid var(--line); box-shadow:0 9px 25px rgba(0,0,0,.025); }
.route-card::after { content:''; position:absolute; width:105px; height:105px; border-radius:50%; right:-45px; bottom:-55px; background:var(--route-accent); opacity:.33; }
.route-index { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--route-accent); font-size:9px; font-weight:850; }
.route-card small { display:block; margin:2px 0 7px; color:#94948e; font-size:8px; font-weight:850; letter-spacing:.14em; }
.route-card strong { display:block; font-size:18px; letter-spacing:-.025em; }
.route-card p { position:relative; z-index:2; margin:8px 0 0; font-size:11px; line-height:1.55; }
.product-route { --route-accent:var(--lime); }.security-route { --route-accent:var(--sky); }.privacy-route { --route-accent:var(--violet); }.team-route { --route-accent:var(--peach); }
.contact-note-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:38px; }
.contact-note { margin:0!important; padding:28px!important; border:1px solid var(--line)!important; border-radius:25px; background:#fafaf7; }
.contact-note h2 { font-size:29px; }
.text-arrow-link { display:inline-flex; align-items:center; gap:8px; margin-top:12px; color:#171717!important; font-size:11px; font-weight:800; text-decoration:none!important; }
.text-arrow-link span { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#fff; border:1px solid var(--line); }
@media (max-width:760px) {
  .contact-page .contact-hero .hero-copy { padding-right:24px; }
  .hero-mail-link { margin-top:24px; }
  .contact-orbit { min-height:330px; }
  .ring-one { width:215px; height:215px; }.ring-two { width:300px; height:300px; }
  .contact-core { width:150px; height:150px; }
  .route-node { font-size:9px; padding:8px 9px; }
  .route-grid,.contact-note-grid { grid-template-columns:1fr; }
  .contact-address { min-height:102px; padding:19px; }
}
@media (max-width:520px) {
  .contact-page .visual-contact { padding:24px 18px; }
  .contact-orbit { min-height:300px; }
  .ring-one { width:190px; height:190px; }.ring-two { width:265px; height:265px; }
  .contact-core { width:135px; height:135px; }
  .contact-core strong { font-size:21px; }
  .contact-core span { font-size:8px; }
  .route-node { gap:5px; padding:7px 8px; }
  .route-node b { width:17px; height:17px; }
  .node-product { left:-2%; top:20%; }.node-security { right:-3%; top:28%; }.node-privacy { left:1%; bottom:17%; }.node-team { right:-2%; bottom:12%; }
  .contact-address span { font-size:21px; }
  .contact-address b { width:44px; height:44px; font-size:16px; }
}

/* Contact page — concise variant. */
.contact-simple { max-width:860px; margin:66px auto 0; }
.contact-topics { padding:0; }
.contact-topics h2 { margin:0 0 25px; font:800 clamp(42px,5vw,64px)/.96 -apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',sans-serif; letter-spacing:-.055em; }
.contact-page .contact-topics .route-grid { margin-top:0; }
.contact-page .route-card { min-height:132px; grid-template-columns:38px 1fr; padding:20px; }
.contact-page .route-card strong { font-size:17px; }
.contact-page .route-card p { margin-top:6px; }
.contact-brief { margin:26px 0 0; padding:24px 0 0; border-top:1px solid var(--line); }
.contact-brief p { max-width:720px; margin:0; color:#777771; font-size:12px; line-height:1.7; }
.contact-brief a { color:#171717; font-weight:750; text-decoration:underline; text-decoration-color:#c8c8c2; text-underline-offset:3px; }
.contact-page .page-switcher { margin-top:58px; }
@media (max-width:760px) {
  .contact-simple { margin-top:44px; }
  .contact-page .route-card { min-height:116px; }
}

/* Contact hero: keep information singular; routing lives below. */
.contact-core-minimal strong { font-size:58px; line-height:1; letter-spacing:-.08em; }
.contact-dot { position:absolute; z-index:4; width:18px; height:18px; border-radius:50%; box-shadow:0 5px 14px rgba(0,0,0,.07); }
.dot-lime { left:18%; top:25%; background:var(--lime); }
.dot-sky { right:17%; top:31%; background:var(--sky); }
.dot-violet { left:22%; bottom:22%; background:var(--violet); }
.dot-peach { right:20%; bottom:18%; background:#ffad79; }
.contact-page .policy-meta { display:none; }

/* Contact mobile composition: designed as mobile, not stacked desktop. */
@media (max-width:760px) {
  .contact-page .contact-hero { min-height:0; }
  .contact-page .contact-hero .hero-copy { padding:52px 24px 30px; }
  .contact-page .contact-hero h1 { max-width:430px; font-size:clamp(46px,12vw,60px); line-height:.92; margin-bottom:20px; }
  .contact-page .contact-hero .hero-copy>p { max-width:410px; line-height:1.55; }
  .contact-page .hero-mail-link { margin-top:22px; font-size:12px; padding:8px 8px 8px 15px; }
  .contact-page .hero-mail-link b { width:29px; height:29px; }
  .contact-page .visual-contact { min-height:245px; margin:0 12px 12px; padding:20px 18px; }
  .contact-page .contact-orbit { min-height:205px; }
  .contact-page .ring-one { width:150px; height:150px; }
  .contact-page .ring-two { width:210px; height:210px; }
  .contact-page .contact-core { width:104px; height:104px; }
  .contact-page .contact-core-minimal strong { font-size:44px; }
  .contact-page .contact-dot { width:13px; height:13px; }
  .contact-page .dot-lime { left:20%; top:24%; }
  .contact-page .dot-sky { right:19%; top:30%; }
  .contact-page .dot-violet { left:22%; bottom:20%; }
  .contact-page .dot-peach { right:21%; bottom:17%; }
  .contact-page .visual-eyebrow { font-size:8px; }
}
@media (max-width:520px) {
  .contact-page .contact-hero .hero-copy { padding:48px 24px 27px; }
  .contact-page .contact-hero h1 { font-size:clamp(44px,11.8vw,55px); }
  .contact-page .visual-contact { min-height:220px; padding:18px 16px; }
  .contact-page .contact-orbit { min-height:180px; }
  .contact-page .ring-one { width:132px; height:132px; }
  .contact-page .ring-two { width:184px; height:184px; }
  .contact-page .contact-core { width:92px; height:92px; }
  .contact-page .contact-core-minimal strong { font-size:39px; }
}
