/* Ghostly Gadgets — Ghost Crew design system (2026-07-12 execution overhaul)
   Discipline: headlines serif, ALL numbers/labels mono, body sans.
   Palette and class vocabulary unchanged — refinement pass only. */
:root{
  --paper:#efece3; --paper-card:#f7f5ec; --paper-deep:#e7e3d4;
  --ink:#202b33; --ink-2:#42505a; --mut:#5b6a72;
  --safety:#c2401b; --lamp:#2e6b3f; --dial:#e8a33d;
  --line:#d8d4c6; --line-ink:#35434e;
  --serif:Georgia,'Times New Roman',serif;
  --mono:Consolas,'Cascadia Mono','SF Mono',Menlo,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --shadow-print:6px 6px 0 var(--ink);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.dots{background-image:radial-gradient(circle at 1px 1px, rgba(32,43,51,.08) 1px, transparent 1.6px);background-size:15px 15px}
::selection{background:var(--safety);color:#fff}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--safety);outline-offset:2px}
img,svg{max-width:100%}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
section[id],main [id]{scroll-margin-top:84px}

/* ── Chrome ───────────────────────────────────────────── */
.statusbar{border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:11.5px;letter-spacing:1.2px;background:var(--paper)}
.statusbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px;gap:10px;flex-wrap:wrap}
.statusbar .lamp{color:var(--lamp);font-weight:700}
.nav{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(32,43,51,.04)}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:19px;text-decoration:none;color:var(--ink)}
.navlinks{display:flex;gap:20px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;flex-wrap:wrap}
.navlinks a{color:var(--mut);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.navlinks a:hover{color:var(--safety);border-bottom-color:var(--safety)}
.navlinks a.cta{color:var(--ink);border:1.5px solid var(--ink);border-radius:4px;padding:9px 16px;font-weight:700}
.navlinks a.cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ── Hero ─────────────────────────────────────────────── */
.hero{padding:clamp(48px,7vw,76px) 0 clamp(48px,6vw,64px)}
.stamp{transform:rotate(-3deg);display:inline-block;border:2px solid var(--safety);color:var(--safety);border-radius:4px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;margin-bottom:26px;background:var(--paper)}
h1{font-family:var(--serif);font-size:clamp(34px,5.6vw,58px);line-height:1.04;letter-spacing:-.6px;max-width:20ch;text-wrap:balance}
h1 em{color:var(--safety)}
.lede{font-size:clamp(16px,2vw,18.5px);color:var(--ink-2);max-width:56ch;margin-top:22px}
.cta-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;background:var(--ink);color:var(--paper);font-weight:700;font-size:15px;padding:15px 26px;border-radius:4px;text-decoration:none;border:0;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.btn:hover{background:var(--safety);color:#fff;transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn-line{border-bottom:2px solid var(--safety);font-weight:700;font-size:15px;color:var(--ink);padding-bottom:2px;text-decoration:none}
.btn-line:hover{color:var(--safety)}
.hero-art{margin:clamp(34px,5vw,48px) 0 0;border:2px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--paper-card);box-shadow:var(--shadow-print)}
.hero-art img,.hero-art video{display:block;width:100%;height:auto}
.hero-art video[hidden],.hero-art img[hidden]{display:none}

/* ── Sections ─────────────────────────────────────────── */
section{padding:clamp(52px,8vw,80px) 0}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.sec-head h2{font-family:var(--mono);font-size:12px;letter-spacing:2.8px;text-transform:uppercase;color:var(--safety);font-weight:700;white-space:nowrap}
.sec-head .line{flex:1;height:1px;background:var(--line)}
.sec-intro{font-family:var(--serif);font-size:clamp(23px,3.2vw,33px);line-height:1.14;max-width:30ch;letter-spacing:-.4px;text-wrap:balance}
.sec-sub{color:var(--mut);font-size:15.5px;max-width:62ch;margin-top:12px}

/* ── Crew cards ───────────────────────────────────────── */
.crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:18px;margin-top:34px}
.member{background:var(--paper-card);border:2px solid var(--ink);border-radius:4px;padding:24px 18px 18px;text-align:center;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:box-shadow .15s,transform .15s}
a.member:hover{transform:translate(-2px,-4px);box-shadow:var(--shadow-print)}
.member svg{margin:0 auto;color:var(--ink)}
.member .cap{font-family:var(--mono);font-size:12px;letter-spacing:1.8px;font-weight:700;margin-top:14px}
.member .job{font-size:13.5px;color:var(--mut);margin-top:6px;flex:1;line-height:1.5}
.member .fee{font-family:var(--mono);font-size:11.5px;color:var(--safety);font-weight:700;margin-top:14px;border-top:1px solid var(--line);padding-top:12px;letter-spacing:.6px}
.roster{margin-top:18px;font-size:13.5px;color:var(--mut);max-width:72ch}
.roster b{color:var(--ink)}
.mono-fee{font-family:var(--mono);font-weight:700}

/* ── Night log ────────────────────────────────────────── */
.nightlog{background:var(--ink);color:var(--paper);border-radius:6px;padding:26px 30px;margin-top:34px;border:2px solid var(--ink);box-shadow:var(--shadow-print);position:relative}
.nl-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:1.8px;color:#9fb0ba;margin-bottom:20px}
.nl-head .live{color:#5fd08a}
.readings{display:flex;gap:40px;flex-wrap:wrap}
.reading b{display:block;font-family:var(--mono);font-size:clamp(24px,3vw,30px);font-variant-numeric:tabular-nums;color:#fff;font-weight:700}
.reading b .u{color:var(--dial);font-size:.6em}
.reading span{font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px;color:#9fb0ba}
.nl-note{margin-top:18px;font-size:12.5px;color:#b8c3cb;border-top:1px solid var(--line-ink);padding-top:14px}

/* ── Night Log report page ────────────────────────────── */
.nl-section{margin-top:22px;border-top:1px solid var(--line-ink);padding-top:16px}
.nl-sec-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--dial);font-weight:700;margin-bottom:10px}
.nl-sec-head .nl-sec-sys{color:#9fb0ba;font-size:10px;letter-spacing:1.4px;font-weight:400}
.nl-row{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:14px}
.nl-row-label{color:#d5dde2;white-space:nowrap}
.nl-row-dots{flex:1;border-bottom:1px dotted var(--line-ink);transform:translateY(-4px)}
.nl-row-val{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#fff;font-weight:700;font-size:16px}
.nl-why{margin-top:10px;padding:10px 14px;border-left:3px solid var(--dial);background:rgba(232,163,61,.07);font-size:13.5px;line-height:1.55;color:#d5dde2}
.nl-why-tag{font-family:var(--mono);font-size:10px;letter-spacing:1.6px;color:var(--dial);font-weight:700;display:block;margin-bottom:4px}
.nl-badge{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;border:1.5px solid var(--dial);color:var(--dial);border-radius:999px;padding:2px 10px;font-weight:700}
@media(max-width:480px){.nl-row{font-size:13px}.nl-row-label{white-space:normal}}

/* ── Steps / pilot ────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.step{background:var(--paper-card);border:2px solid var(--ink);border-radius:4px;padding:24px 22px}
.step .no{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--safety);letter-spacing:1.6px}
.step h3{font-family:var(--serif);font-size:20px;margin:12px 0 8px}
.step p{font-size:14.5px;color:var(--ink-2)}
.pilot{margin-top:26px;border:2px dashed var(--safety);border-radius:5px;background:var(--paper-card);padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.pilot h3{font-family:var(--serif);font-size:23px}
.pilot p{color:var(--ink-2);font-size:14.5px;margin-top:6px;max-width:56ch}

/* ── ROI ──────────────────────────────────────────────── */
.roi{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;margin-top:34px}
.field{margin-bottom:18px}
.field label{display:block;font-size:13.5px;color:var(--mut);margin-bottom:6px}
.field .val{font-family:var(--mono);color:var(--ink);font-weight:700}
input[type=range]{width:100%;accent-color:var(--safety)}
.roi-out{border:2px solid var(--ink);border-radius:5px;background:var(--paper-card);text-align:center;padding:30px 24px;box-shadow:var(--shadow-print)}
.roi-out .lbl{font-family:var(--mono);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--mut)}
.roi-out .big{font-family:var(--mono);font-size:clamp(40px,6vw,56px);font-weight:700;color:var(--safety);font-variant-numeric:tabular-nums;line-height:1.1;margin:8px 0 2px}
.roi-out .per{font-size:13px;color:var(--mut)}
.roi-out .note{margin-top:14px;font-size:13px;color:var(--ink-2)}
.fine{font-size:12px;color:var(--mut);margin-top:14px;max-width:68ch}

/* ── Proof / contact ──────────────────────────────────── */
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.proof-card{background:var(--paper-card);border:2px solid var(--ink);border-radius:4px;padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.proof-card:hover{transform:translate(-2px,-4px);box-shadow:var(--shadow-print)}
.proof-card .top{display:flex;justify-content:space-between;align-items:center}
.proof-card h3{font-family:var(--serif);font-size:21px}
.proof-card .pill{font-family:var(--mono);font-size:10px;letter-spacing:1px;border:1.5px solid var(--lamp);color:var(--lamp);border-radius:999px;padding:2px 9px;font-weight:700}
.proof-card .kase{font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--safety);margin:6px 0 10px}
.proof-card p{font-size:13.5px;color:var(--ink-2);flex:1}
.proof-card .visit{font-family:var(--mono);font-size:12px;margin-top:14px;font-weight:700}
.contact{border:2px solid var(--ink);border-radius:5px;background:var(--paper-card);text-align:center;padding:clamp(40px,6vw,56px) 28px;box-shadow:var(--shadow-print)}
.contact h2{font-family:var(--serif);font-size:clamp(27px,4vw,40px);letter-spacing:-.5px;text-wrap:balance}
.contact p{color:var(--ink-2);max-width:58ch;margin:14px auto 26px}
.contact .cta-row{justify-content:center}
.contact .small{font-family:var(--mono);font-size:11.5px;letter-spacing:1px;color:var(--mut);margin-top:22px}

/* ── Footer ───────────────────────────────────────────── */
footer{border-top:2px solid var(--ink);margin-top:24px;background:var(--paper)}
footer .wrap{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:46px;font-size:13px;color:var(--mut)}
footer nav{display:flex;gap:8px 18px;flex-wrap:wrap}
footer a{color:var(--mut)}
footer a:hover{color:var(--safety)}

/* ── Service pages ────────────────────────────────────── */
.page-hero{padding:clamp(44px,6vw,64px) 0 28px}
.page-hero h1{max-width:24ch}
.included{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;max-width:760px;list-style:none}
.included li{padding-left:26px;position:relative;font-size:14.5px;color:var(--ink-2)}
.included li::before{content:"■";position:absolute;left:0;top:3px;color:var(--safety);font-size:11px}
.pricebox{margin-top:32px;border:2px solid var(--ink);border-radius:5px;background:var(--paper-card);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pricebox .amt{font-family:var(--mono);font-weight:700;font-size:22px;color:var(--safety)}
.pricebox .amt span{color:var(--mut);font-size:13px;font-weight:400}
.faq{margin-top:10px;max-width:760px}
.faq details{border:1.5px solid var(--line);border-radius:4px;background:var(--paper-card);padding:0;margin-bottom:10px;transition:border-color .15s}
.faq details[open]{border-color:var(--ink)}
.faq summary{font-weight:700;cursor:pointer;font-size:15px;list-style:none;padding:16px 44px 16px 18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:18px;font-weight:700;color:var(--safety);transition:transform .15s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0;padding:0 18px 16px;font-size:14.5px;color:var(--ink-2);max-width:64ch}

/* ── Insights / blog ──────────────────────────────────── */
.post-list{display:grid;gap:16px;margin-top:34px;list-style:none}
.post-card{background:var(--paper-card);border:2px solid var(--ink);border-radius:4px;padding:24px 26px;text-decoration:none;color:var(--ink);display:block;transition:transform .15s,box-shadow .15s}
.post-card:hover{transform:translate(-2px,-4px);box-shadow:var(--shadow-print)}
.post-card .kase{font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--safety);margin-bottom:8px}
.post-card h3{font-family:var(--serif);font-size:22px;letter-spacing:-.3px}
.post-card p{font-size:14.5px;color:var(--ink-2);margin-top:8px}
.post-card .visit{font-family:var(--mono);font-size:12px;margin-top:12px;font-weight:700;color:var(--safety)}
.post-empty{border:1.5px dashed var(--mut);border-radius:5px;background:var(--paper-card);padding:26px;color:var(--mut);font-size:14.5px}
.post{max-width:720px;margin:0 auto}
.post-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--mut);margin-bottom:18px;display:flex;gap:14px;flex-wrap:wrap}
.post h2{font-family:var(--serif);font-size:clamp(23px,3vw,29px);letter-spacing:-.3px;margin:36px 0 12px;line-height:1.2}
.post h3{font-family:var(--serif);font-size:19.5px;margin:26px 0 8px}
.post p{font-size:16.5px;color:var(--ink-2);margin:0 0 17px}
.post ul,.post ol{margin:0 0 18px 22px}
.post li{font-size:16.5px;color:var(--ink-2);margin-bottom:8px}
.post a{color:var(--safety);font-weight:700;text-decoration:underline}
.post blockquote{border-left:3px solid var(--safety);padding:6px 0 6px 18px;margin:0 0 18px;color:var(--ink);font-style:italic}
.post-cta{margin-top:38px;border:2px dashed var(--safety);border-radius:5px;background:var(--paper-card);padding:26px 28px}
.post-cta h3{font-family:var(--serif);font-size:22px;margin-bottom:6px}
.post-cta p{font-size:14.5px;color:var(--ink-2);margin-bottom:14px}
.post-foot{font-size:12px;color:var(--mut);border-top:1px solid var(--line);margin-top:34px;padding-top:14px;max-width:720px}

/* ── Ghost Crew illustration assets (2026-07 makeover) ── */
.member img.gg-art{display:block;margin:0 auto;width:128px;height:128px;max-width:100%;border-radius:4px;animation:ggfloat 3.2s ease-in-out infinite}
.crew .member:nth-child(5) img.gg-art{animation-delay:2s}
.crew .member:nth-child(2) img.gg-art{animation-delay:.5s}
.crew .member:nth-child(3) img.gg-art{animation-delay:1s}
.crew .member:nth-child(4) img.gg-art{animation-delay:1.5s}
.page-hero::after{content:"";display:table;clear:both}
.page-hero img.gg-art{float:right;width:150px;height:150px;border-radius:4px;margin:6px 0 18px 26px;animation:ggfloat 3.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  .member img.gg-art,.page-hero img.gg-art{animation:none}
  .hero-art video{display:none}
  .hero-art video+img[hidden]{display:block}
}

/* ── Crew motion — subtle, restrained, print-instrument feel ── */
.member svg.gg-svg{overflow:visible;animation:ggfloat 3.2s ease-in-out infinite}
.crew .member:nth-child(2) svg.gg-svg{animation-delay:.5s}
.crew .member:nth-child(3) svg.gg-svg{animation-delay:1s}
.crew .member:nth-child(4) svg.gg-svg{animation-delay:1.5s}
.gg-svg .eyes{transform-box:fill-box;transform-origin:center;animation:ggblink 5s ease-in-out infinite}
.crew .member:nth-child(2) .gg-svg .eyes{animation-delay:1.3s}
.crew .member:nth-child(3) .gg-svg .eyes{animation-delay:2.6s}
.crew .member:nth-child(4) .gg-svg .eyes{animation-delay:3.9s}
.gg-svg .star{transform-box:fill-box;transform-origin:center;animation:ggtwinkle 2.8s ease-in-out infinite}
.gg-svg .pin{transform-box:fill-box;transform-origin:center;animation:ggpinbob 2.2s ease-in-out infinite}
.gg-svg .ping{transform-box:fill-box;transform-origin:center;animation:ggping 2.2s ease-out infinite}
.gg-svg .wave{transform-box:fill-box;transform-origin:center;animation:ggwave 1.8s ease-out infinite}
.gg-svg .wave.w2{animation-delay:.6s}
.gg-svg .book{animation:ggbook 3s ease-in-out infinite}
.statusbar .lamp .dot{display:inline-block;animation:ggpulse 1.6s ease-in-out infinite}
.nl-head .live{animation:ggpulse 2s ease-in-out infinite}
@keyframes ggfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ggblink{0%,90%,100%{transform:scaleY(1)}95%{transform:scaleY(.12)}}
@keyframes ggpulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes ggtwinkle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-10deg) scale(1.14)}}
@keyframes ggpinbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes ggping{0%{transform:scale(.4);opacity:.55}100%{transform:scale(1.5);opacity:0}}
@keyframes ggwave{0%{transform:scale(.5);opacity:.6}100%{transform:scale(1.5);opacity:0}}
@keyframes ggbook{0%,40%{opacity:.15}55%,85%{opacity:1}100%{opacity:.15}}
@media(prefers-reduced-motion:reduce){
  .member svg.gg-svg,.gg-svg .eyes,.gg-svg .star,.gg-svg .pin,.gg-svg .ping,.gg-svg .wave,.gg-svg .book,.statusbar .lamp .dot,.nl-head .live{animation:none!important}
}

/* ── Responsive ───────────────────────────────────────── */
@media(max-width:860px){
  .crew{grid-template-columns:repeat(2,1fr)}
  .roi{grid-template-columns:1fr}
}
@media(max-width:680px){
  .steps{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr}
  .included{grid-template-columns:1fr}
  .nav .wrap{padding-top:10px;padding-bottom:10px}
  .navlinks{gap:12px;font-size:11px}
  .navlinks a.cta{padding:8px 12px}
  .page-hero img.gg-art{float:none;display:block;width:120px;height:120px;margin:0 0 14px}
}
@media(max-width:480px){
  .crew{grid-template-columns:1fr}
  .member img.gg-art{width:104px;height:104px}
  .readings{gap:24px}
}

/* ── Exposure check (security-assessments page) ── */
.xp-form{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;max-width:620px}
.xp-form input{flex:1;min-width:220px;border:2px solid var(--ink);border-radius:4px;background:var(--paper-card);padding:14px 15px;font-family:var(--mono);font-size:15px;letter-spacing:.4px;color:var(--ink)}
.xp-form input::placeholder{color:var(--mut);letter-spacing:.4px}
.xp-form .btn{font-family:var(--mono);letter-spacing:1.4px;font-size:13px}
.xp-note{font-family:var(--mono);font-size:11px;letter-spacing:.8px;color:var(--mut);margin-top:12px;max-width:620px}
#xp-out{margin-top:26px}
.xp-loading{background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:6px;box-shadow:var(--shadow-print);padding:22px 26px;font-family:var(--mono);font-size:14px;letter-spacing:.4px}
.xp-loading .xp-sub{display:block;margin-top:8px;color:#9fb0ba;font-size:12px;letter-spacing:.6px}
/* Report panel reuses the Night Log dark look */
.xp-report{background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:6px;box-shadow:var(--shadow-print);padding:24px 28px}
.xp-report .nl-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:1.6px;color:#9fb0ba;margin-bottom:16px}
.xp-score{font-weight:700;letter-spacing:1.8px;padding:3px 10px;border-radius:3px;border:1.5px solid currentColor}
.xp-score-ok{color:#5fd08a}
.xp-score-warn{color:var(--dial)}
.xp-score-risk{color:#ff7a5c}
.xp-headline{font-family:var(--serif);font-size:clamp(19px,2.6vw,24px);line-height:1.25;color:#fff;margin-bottom:20px;text-wrap:balance}
.xp-findings{display:flex;flex-direction:column;gap:8px}
.xp-finding{border:1px solid var(--line-ink);border-radius:4px;background:rgba(255,255,255,.02);overflow:hidden}
.xp-finding summary{display:flex;align-items:center;gap:11px;cursor:pointer;padding:12px 14px;font-size:14px;color:#eef2f4;list-style:none}
.xp-finding summary::-webkit-details-marker{display:none}
.xp-finding summary::after{content:"+";margin-left:auto;font-family:var(--mono);font-size:17px;font-weight:700;color:#9fb0ba;transition:transform .15s}
.xp-finding[open] summary::after{transform:rotate(45deg)}
.xp-glyph{font-size:13px;line-height:1;flex:none}
.xp-glyph-ok{color:#5fd08a}
.xp-glyph-warn{color:var(--dial)}
.xp-glyph-risk{color:#ff7a5c}
.xp-title{font-family:var(--mono);letter-spacing:.4px;font-size:13px}
.xp-body{padding:0 14px 14px 39px}
.xp-body p{font-size:13.5px;color:#c8d1d7;line-height:1.55;margin-bottom:8px}
.xp-fix{color:#b8c3cb}
.xp-fix span{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;color:var(--dial);border:1px solid var(--dial);border-radius:3px;padding:1px 6px;margin-right:7px}
.xp-disclaimer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-ink);font-size:12px;line-height:1.55;color:#9fb0ba}
.xp-report-err{padding:22px 26px}
.xp-report-err p{color:#ffd9cf;font-size:14px}
.xp-report-err a{color:#fff;font-weight:700}
/* Lead form under the report */
.xp-lead{margin-top:22px;border:2px dashed var(--safety);border-radius:5px;background:var(--paper-card);padding:24px 26px}
.xp-lead h3{font-family:var(--serif);font-size:22px}
.xp-lead>p{color:var(--ink-2);font-size:14.5px;margin:6px 0 16px;max-width:56ch}
.xp-lead-form{display:flex;gap:10px;flex-wrap:wrap}
.xp-lead-form input{flex:1;min-width:180px;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);padding:11px 13px;font:inherit;font-size:14px;color:var(--ink)}
.xp-lead-form .btn{font-size:14px}
.xp-lead-msg{margin-top:12px;font-size:13.5px;color:var(--safety)}
.xp-lead-msg.xp-lead-ok{color:var(--lamp)}
.xp-book{margin-top:14px;font-size:13.5px;color:var(--mut)}
.xp-book a{color:var(--safety);font-weight:700;text-decoration:underline}
@media(max-width:520px){
  .xp-form input{min-width:0}
  .xp-report{padding:20px 18px}
  .xp-body{padding-left:14px}
}

/* ── Chat ghost ── */
.gg-chat{position:fixed;right:18px;bottom:18px;z-index:90}
.gg-chat-launch{display:flex;align-items:center;gap:9px;background:var(--paper-card);color:var(--ink);border:2px solid var(--ink);border-radius:4px;box-shadow:4px 4px 0 var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:1.6px;font-weight:700;padding:10px 15px;cursor:pointer;transition:transform .15s,box-shadow .15s,color .15s,border-color .15s}
.gg-chat-launch:hover{transform:translate(-1px,-2px);box-shadow:5px 5px 0 var(--ink);color:var(--safety);border-color:var(--safety)}
.gg-chat-launch svg{color:var(--ink);animation:ggfloat 3.2s ease-in-out infinite}
.gg-chat-panel{position:fixed;right:18px;bottom:18px;width:min(370px,calc(100vw - 36px));max-height:min(540px,calc(100vh - 36px));display:flex;flex-direction:column;background:var(--paper);border:2px solid var(--ink);border-radius:5px;box-shadow:var(--shadow-print);overflow:hidden}
.gg-chat-panel[hidden]{display:none}
.gg-chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:2px solid var(--ink);background:var(--paper-card)}
.gg-chat-head svg{color:var(--ink);flex:none}
.gg-chat-title{flex:1;min-width:0}
.gg-chat-title h2{font-family:var(--serif);font-size:18px;line-height:1.1;letter-spacing:-.2px}
.gg-chat-status{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:1.6px;color:var(--lamp);font-weight:700;margin-top:3px}
.gg-chat-x{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:4px;font-size:17px;line-height:1;width:30px;height:30px;cursor:pointer}
.gg-chat-x:hover{color:var(--safety);border-color:var(--safety)}
.gg-chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:180px}
.gg-msg{max-width:86%;border:1.5px solid var(--ink);border-radius:4px;padding:9px 12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word}
.gg-msg-assistant{align-self:flex-start;background:var(--paper-card);color:var(--ink)}
.gg-msg-user{align-self:flex-end;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gg-msg-err{border-color:var(--safety);color:var(--safety)}
.gg-msg-err a{color:var(--safety);font-weight:700}
.gg-chat-form{display:flex;gap:8px;padding:12px 14px;border-top:2px solid var(--ink);background:var(--paper-card)}
.gg-chat-form input{flex:1;min-width:0;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);padding:9px 11px;font:inherit;font-size:14px;color:var(--ink)}
.gg-chat-send{border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:4px;font-family:var(--mono);font-size:11px;letter-spacing:1.4px;font-weight:700;padding:9px 13px;cursor:pointer}
.gg-chat-send:hover{background:var(--safety);border-color:var(--safety)}
.gg-chat-send:disabled,.gg-chat-form input:disabled{opacity:.55;cursor:default}
.gg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:520px){
  .gg-chat{right:12px;bottom:12px}
  .gg-chat-panel{left:0;right:0;bottom:0;width:auto;max-height:88vh;border-radius:5px 5px 0 0;border-left:0;border-right:0;border-bottom:0}
}
@media(prefers-reduced-motion:reduce){
  .gg-chat-launch,.gg-chat-launch svg{animation:none!important;transition:none!important}
}
