/* Ask Harvey app (PWA). ah. brand: Midnight #0A1628, Paper #FBF9F5, Sand #C4A574, Brass #A88B5A, Ink #1A2332. */
@font-face{font-family:"Cormorant Garamond";src:url(/app/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/app/fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Outfit;src:url(/app/fonts/outfit.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--midnight:#0A1628;--midnight2:#14233A;--paper:#FBF9F5;--sand:#C4A574;--brass:#A88B5A;--ink:#1A2332;--dune:#E8E0D0;--tide:#2C3E57;--rule:#DCD5C7;--muted:#5E6878;--hmuted:#AEB6C4;
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;background:var(--midnight)}
body{font-family:Outfit,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
em{font-style:italic}
.eyebrow{font-size:11px;line-height:16px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sand)}
.eyebrow.dark{color:var(--brass)}
.pill{border:0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1px #3A4A64}
.pill.sand{background:var(--sand);color:var(--midnight);box-shadow:none}
.x{border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);width:36px;height:36px}

.view{min-height:100%}
/* home */
.home{background:var(--paper)}
.home .bar{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + var(--st)) 20px 6px;background:var(--midnight)}
.home .lockup{height:32px;width:auto;display:block}
.hero{background:linear-gradient(170deg,#0A1628 40%,#14233A);color:var(--paper);padding:26px 20px 34px}
.hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:44px;line-height:1.02;letter-spacing:-.01em;margin:10px 0 14px}
.hero h1 em{color:var(--sand);font-weight:400}
.lede{font-weight:300;font-size:16.5px;line-height:1.55;color:#D9DEE6;max-width:34em}
.brag{margin-top:12px;font-weight:300;font-size:15px;line-height:1.5;color:var(--hmuted);max-width:34em}
.brag em{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:24px;line-height:1.2;color:var(--sand);margin-bottom:2px}
.ask{display:flex;align-items:center;gap:8px;margin-top:22px;background:var(--paper);border-radius:999px;padding:6px 6px 6px 20px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.ask:focus-within{box-shadow:0 0 0 3px rgba(196,165,116,.55),0 18px 50px rgba(0,0,0,.28)}
.ask input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;padding:12px 0;color:var(--ink)}
.ask input::placeholder{color:var(--muted)}
/* Oct 6 2026: the last question stays in the home bar, faded, so the next one is typed straight over it */
.ask input.prev::placeholder{color:var(--ink);opacity:.4;text-overflow:ellipsis}
.ask input.prev:focus::placeholder{opacity:.28}
.ask button{flex:0 0 48px;width:48px;height:48px;border:0;border-radius:50%;background:var(--sand);color:var(--midnight);display:flex;align-items:center;justify-content:center}
.ask button svg{width:22px;height:22px}
.nodumb{margin-top:14px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:20px;line-height:1.3;color:var(--hmuted)}
.nodumb em{color:var(--sand)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{border:1px solid #3A4A64;background:transparent;color:var(--paper);border-radius:999px;padding:8px 14px;font-size:14px}
.chip:active{border-color:var(--sand);color:var(--sand)}
.paper{padding:26px 20px calc(28px + var(--sb));max-width:720px;margin:0 auto}
.actions{display:grid;gap:10px;margin-top:12px}
.act{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:4px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink)}
.act svg{flex:0 0 26px;width:26px;height:26px;fill:none;stroke:var(--midnight);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.act span{display:flex;flex-direction:column;min-width:0}
.act b{font-weight:500;font-size:16px;line-height:1.3}
.act small{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-book{background:var(--sand);box-shadow:none;color:var(--midnight)}
.act-book small{color:#3D3424}
.act:active{transform:scale(.99)}
.install-card{display:flex;align-items:center;gap:12px;margin-top:22px;padding:14px;border-radius:6px;background:var(--midnight);color:var(--paper)}
.install-card img{border-radius:11px;flex:0 0 48px}
.install-card div{flex:1;display:flex;flex-direction:column;line-height:1.35}
.install-card b{font-weight:500;font-size:15px}
.install-card small{font-size:12.5px;color:var(--hmuted)}
.install-card .x{color:var(--hmuted);width:28px;margin-left:-4px}
.fine{margin-top:26px;border-top:1px solid var(--rule);padding-top:16px}
.fine p{font-size:11px;line-height:16px;color:var(--muted);margin-bottom:9px}
.fine a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}

/* chat */
.chat{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--midnight)}
.chatbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--st)) 10px 8px 4px;background:var(--midnight);color:var(--paper)}
.back{border:0;background:transparent;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.back svg{width:24px;height:24px;fill:none;stroke:var(--paper);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chatbar .mark{height:22px;width:auto}
.chatbar .title{font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;font-weight:500;white-space:nowrap}
.quick{margin-left:auto;display:flex;gap:4px}
.quick a{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:46px;padding:4px 6px;border-radius:8px;font-size:10.5px;letter-spacing:.04em;color:var(--hmuted)}
.quick a:first-child{color:var(--sand)}
.quick svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.quick a:first-child svg{stroke:var(--sand)}
.chat-host{flex:1;min-height:0}

/* offline + sheet */
.offline{position:fixed;left:12px;right:12px;bottom:calc(12px + var(--sb));z-index:30;background:var(--ink);color:var(--paper);font-size:13.5px;padding:10px 14px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.3);text-align:center}
.chat:not([hidden]) ~ .offline,.offline.top{bottom:auto;top:calc(64px + var(--st))}
.sheet{position:fixed;inset:0;z-index:40;background:rgba(10,22,40,.55);display:flex;align-items:flex-end;justify-content:center}
.sheet-card{position:relative;width:100%;max-width:520px;background:var(--paper);border-radius:18px 18px 0 0;padding:26px 22px calc(26px + var(--sb));text-align:center;animation:up .25s ease}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.sheet-card .x{position:absolute;right:10px;top:10px}
.sheet-card img{border-radius:14px}
.sheet-card h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:28px;line-height:1.1;margin:12px 0 16px}
.sheet-card h2 em{color:var(--brass)}
.sheet-card ol{text-align:left;margin:0 auto;max-width:330px;padding-left:20px;font-size:15.5px;line-height:1.5}
.sheet-card li{margin-bottom:10px}
.ios-share{width:20px;height:20px;vertical-align:-4px;fill:none;stroke:#0A84FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.small{font-size:13px;color:var(--muted);margin-top:8px}

@media (min-width:720px){.hero{padding:48px 20px 54px}.hero>*{max-width:720px;margin-left:auto;margin-right:auto}.hero h1{font-size:60px}.home .bar{padding-left:max(20px,calc(50% - 360px));padding-right:max(20px,calc(50% - 360px))}}
