:root {
  --ink: #10151d;
  --ink-2: #18212c;
  --paper: #f5f2ea;
  --paper-2: #ebe7dc;
  --muted: #aeb6bf;
  --muted-dark: #65707c;
  --cyan: #8ff3e0;
  --cyan-deep: #2bbca8;
  --coral: #ff806b;
  --yellow: #f3d46c;
  --line: rgba(255,255,255,.14);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 24px 0; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.04em; font-size:1.1rem; }
.brand-mark { width:22px; height:22px; border: 2px solid var(--cyan); border-radius:50%; position:relative; }
.brand-mark:after { content:''; position:absolute; inset:4px; background:var(--cyan); border-radius:50%; }
.nav { display:flex; gap:18px; align-items:center; color:var(--muted); font-size:.85rem; }
.nav a:hover, .nav a.active { color:var(--paper); }
.button { border:0; border-radius:999px; padding:11px 16px; cursor:pointer; background:var(--cyan); color:var(--ink); font-weight:800; }
.button.ghost { background:transparent; border:1px solid rgba(16,21,29,.18); color:var(--ink); }
.dark .button.ghost { border-color:var(--line); color:var(--paper); }
.kicker { color:var(--cyan); font: 700 .72rem var(--mono); text-transform:uppercase; letter-spacing:.12em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.8rem, 9vw, 6.7rem); line-height:.92; letter-spacing:-.075em; max-width:800px; margin-bottom:28px; }
h2 { font-size:clamp(2rem, 5vw, 4rem); line-height:1; letter-spacing:-.065em; }
h3 { letter-spacing:-.035em; }
.lede { font-size:clamp(1.1rem, 2vw, 1.35rem); color:var(--muted); max-width:58ch; }
.hero { padding: 76px 0 66px; }
.hero .lede { margin-bottom:32px; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.rule { height:1px; background:var(--line); }
.stat-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin: 48px 0 0; }
.stat { padding:20px 0; background:var(--ink); }
.stat strong { display:block; font-size:1.6rem; color:var(--cyan); }
.stat span { color:var(--muted); font-size:.82rem; }
.section { padding:72px 0; }
.section-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:28px; }
.section-head p { max-width:42ch; color:var(--muted); margin-bottom:0; }
.paper { background:var(--paper); color:var(--ink); }
.paper .muted { color:var(--muted-dark); }
.brief-shell { padding-bottom:70px; }
.brief-hero { padding:24px 0 36px; }
.brief-top { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.date { color:var(--muted); font: .74rem var(--mono); }
.brief-title { font-size:clamp(2.6rem, 9vw, 5.5rem); max-width:760px; margin:44px 0 18px; }
.brief-title em { color:var(--cyan-deep); font-style:normal; }
.brief-sub { font-family:var(--serif); font-size:1.2rem; max-width:48ch; }
.brief-nav { display:flex; gap:8px; overflow:auto; padding: 15px 0; border-top:1px solid #d3d0c8; border-bottom:1px solid #d3d0c8; }
.chip { white-space:nowrap; border:1px solid #c6c2b7; background:transparent; color:var(--muted-dark); border-radius:999px; padding:8px 12px; cursor:pointer; font-size:.82rem; }
.chip.active, .chip:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.brief-grid { display:grid; grid-template-columns: 1.4fr .8fr; gap:24px; padding-top:28px; }
.brief-card { border-top:2px solid var(--ink); padding:17px 0 23px; cursor:pointer; }
.brief-card:hover h3 { color:var(--cyan-deep); }
.brief-card h3 { font-size:clamp(1.25rem,2.7vw,2rem); margin:7px 0 8px; max-width:25ch; }
.brief-card p { color:var(--muted-dark); max-width:58ch; }
.card-meta { display:flex; gap:10px; align-items:center; font-size:.74rem; color:var(--muted-dark); }
.label { font:700 .66rem var(--mono); letter-spacing:.08em; text-transform:uppercase; padding:5px 7px; border-radius:4px; background:#d7f5ef; color:#107466; }
.label.claim { background:#fff1c2; color:#735d00; }
.label.analysis { background:#e5e1f8; color:#51449a; }
.label.disputed { background:#ffdcd5; color:#9b3727; }
.sidebar-note { background:var(--ink); color:var(--paper); padding:22px; border-radius:14px; align-self:start; }
.sidebar-note h3 { font-family:var(--serif); font-size:1.7rem; color:var(--cyan); }
.sidebar-note p { color:var(--muted); font-size:.9rem; }
.source-list { border-top:1px solid var(--line); margin-top:20px; }
.source-list div { padding:12px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:10px; font-size:.8rem; color:var(--muted); }
.source-list b { color:var(--paper); font-weight:600; }
.today { background:var(--cyan); color:var(--ink); padding:22px; border-radius:14px; margin:22px 0; }
.today h3 { font-size:1.45rem; margin-bottom:8px; }
.today p { margin:0; }
.footer { border-top:1px solid var(--line); padding:26px 0 42px; color:var(--muted); font-size:.82rem; }
.footer nav { display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; }
.note-main { background:var(--paper); color:var(--ink); min-height:100vh; }
.note-main .topbar { border-bottom:1px solid #d3d0c8; }
.note-main .nav { color:var(--muted-dark); }
.note-main .nav a.active,.note-main .nav a:hover { color:var(--ink); }
.note-wrap { width:min(900px, calc(100% - 32px)); margin:0 auto; padding:70px 0 90px; }
.note-wrap h1 { max-width:760px; }
.note-wrap .lede { color:var(--muted-dark); margin-bottom:54px; }
.note-grid { display:grid; grid-template-columns: 1fr 260px; gap:70px; }
.note-body { max-width:68ch; }
.note-body h2 { font-size:2rem; margin:54px 0 14px; }
.note-body h3 { font-size:1.1rem; margin-top:28px; }
.note-body p { color:#414b54; }
.note-body blockquote { border-top:2px solid var(--cyan-deep); margin:34px 0; padding:15px 0 8px; font: 1.55rem/1.25 var(--serif); }
.note-body ul { padding-left:20px; color:#414b54; }
.note-body li { margin:10px 0; }
.note-aside { border-top:2px solid var(--ink); padding-top:14px; font-size:.85rem; }
.note-aside strong { display:block; margin-bottom:8px; }
.note-aside p { color:var(--muted-dark); }
.back { display:inline-flex; align-items:center; gap:8px; color:var(--muted-dark); font-size:.82rem; margin-bottom:42px; }
.back:hover { color:var(--ink); }
.index-hero { padding:90px 0 55px; }
.index-hero h1 { max-width:900px; }
.index-hero h1 span { color:var(--cyan); }
.index-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:end; }
.product-map { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); margin:56px 0 90px; }
.map-link { background:var(--ink); min-height:250px; padding:25px; border:1px solid transparent; transition:.25s ease; }
.map-link:hover { background:var(--ink-2); border-color:var(--cyan); transform:translateY(-4px); }
.map-link:nth-child(1) { grid-column:span 2; min-height:320px; background:var(--cyan); color:var(--ink); }
.map-link:nth-child(1) .kicker { color:#116f62; }
.map-link:nth-child(1) p { color:#1e534c; }
.map-link h2 { margin:50px 0 12px; max-width:13ch; font-size:clamp(2rem,5vw,4rem); }
.map-link h3 { font-size:1.5rem; margin-top:46px; }
.map-link p { color:var(--muted); max-width:35ch; }
.manifesto { border-top:1px solid var(--line); padding-top:28px; max-width:700px; }
.manifesto p { font:clamp(1.7rem,4vw,3rem)/1.08 var(--serif); letter-spacing:-.04em; }
.toast { position:fixed; bottom:18px; left:50%; transform:translate(-50%,120px); background:var(--ink); color:var(--paper); padding:13px 17px; border:1px solid var(--line); border-radius:999px; transition:.3s; z-index:10; font-size:.84rem; }
.toast.show { transform:translate(-50%,0); }
.studio { background:#e9eef2; color:#16212a; min-height:100vh; }
.studio .topbar { border-bottom:1px solid #cdd6dc; }
.studio .nav { color:#667581; }
.studio .nav a.active,.studio .nav a:hover { color:#16212a; }
.studio-hero { padding:62px 0 48px; }
.studio-hero h1 { max-width:850px; margin-bottom:20px; }
.studio-hero h1 span { color:#218f7d; }
.studio-hero .lede { color:#586a76; }
.option-list { display:grid; gap:18px; padding-bottom:72px; }
.option { background:#fff; border:1px solid #d5dde2; border-radius:18px; padding:24px; box-shadow:0 7px 18px rgba(38,59,73,.06); }
.option-head { display:flex; justify-content:space-between; gap:20px; align-items:start; border-bottom:1px solid #e0e6e9; padding-bottom:18px; }
.option h2 { font-size:clamp(1.65rem, 4vw, 2.65rem); margin:8px 0 8px; }
.option-intro { color:#596b77; max-width:48ch; margin-bottom:0; }
.option-tag { font:700 .68rem var(--mono); text-transform:uppercase; letter-spacing:.08em; background:#e4f8f3; color:#167966; border-radius:999px; padding:7px 9px; white-space:nowrap; }
.option-body { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; padding-top:24px; }
.option-copy h3 { margin:0 0 9px; font-size:1rem; }
.option-copy p { color:#596b77; font-size:.9rem; }
.option-copy ul { padding-left:18px; color:#596b77; font-size:.88rem; }
.option-copy li { margin:8px 0; }
.tradeoff { border-top:1px solid #e0e6e9; padding-top:14px; margin-top:18px; font-size:.82rem; color:#596b77; }
.tradeoff strong { color:#16212a; }
.phone { width:min(100%, 300px); min-height:350px; margin:auto; border:7px solid #17242c; border-radius:28px; padding:17px 13px; background:#f8f8f4; box-shadow:0 12px 20px rgba(27,44,54,.18); color:#17242c; }
.phone-top { display:flex; justify-content:space-between; font:700 .62rem var(--mono); color:#6b7c84; margin-bottom:20px; }
.phone h3 { font-size:1.35rem; letter-spacing:-.06em; line-height:1; margin:0 0 10px; }
.phone p { font-size:.67rem; color:#61717a; }
.phone-card { background:#fff; border:1px solid #dce4e6; padding:10px; border-radius:10px; margin-top:9px; }
.phone-card strong { display:block; font-size:.73rem; line-height:1.15; }
.phone-card small { color:#6a7a82; font-size:.6rem; }
.phone-pill { display:inline-block; font:700 .56rem var(--mono); color:#227b68; background:#def7f0; border-radius:999px; padding:4px 6px; margin-bottom:6px; }
.phone-nav { border-top:1px solid #dce4e6; display:flex; justify-content:space-around; padding-top:12px; margin-top:16px; color:#62737d; font-size:.62rem; }
.phone-nav b { color:#197967; }
.phone.paperdesk { background:#f2eee2; }
.phone.paperdesk .phone-card { border:0; border-top:2px solid #18252b; border-radius:0; background:transparent; padding-left:0; padding-right:0; }
.phone.paperdesk .phone-pill { background:#f5db6b; color:#675900; }
.phone.mosaic { background:#f8fafb; }
.phone.mosaic .phone-card { min-height:72px; display:flex; flex-direction:column; justify-content:space-between; }
.phone.mosaic .phone-card:nth-of-type(2) { background:#f7e0d9; }
.phone.mosaic .phone-card:nth-of-type(3) { background:#dceff0; }
.phone.journal { background:#edf4f7; }
.phone.journal .phone-card { border-radius:0; border-width:0 0 1px; background:transparent; padding-left:0; padding-right:0; }
.studio-footer { padding:24px 0 46px; color:#687984; font-size:.82rem; }
@media (max-width:760px) { .option-body { grid-template-columns:1fr; } .option-head { display:block; } .option-tag { display:inline-block; margin-top:12px; } .phone { max-width:280px; } }
.modern { background:#f7f8fa; color:#14202a; min-height:100vh; }
.modern .topbar { border-bottom:1px solid #e2e6ea; }
.modern .nav { color:#71808b; }
.modern .nav a.active,.modern .nav a:hover { color:#14202a; }
.modern-hero { padding:58px 0 34px; }
.modern-hero h1 { max-width:870px; margin-bottom:17px; }
.modern-hero h1 span { color:#e56d57; }
.modern-hero .lede { color:#687985; }
.modern-options { display:grid; gap:22px; padding:28px 0 70px; }
.modern-option { background:#fff; border:1px solid #e3e8ec; border-radius:22px; padding:24px; box-shadow:0 14px 28px rgba(31,49,63,.07); }
.modern-option-head { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.modern-option h2 { font-size:clamp(1.7rem,4vw,2.8rem); margin:7px 0 9px; }
.modern-option .intro { color:#667783; max-width:48ch; margin-bottom:0; }
.modern-number { color:#e56d57; font:700 .72rem var(--mono); }
.modern-content { display:grid; grid-template-columns:1fr 1.1fr; gap:34px; align-items:center; border-top:1px solid #e9edef; margin-top:24px; padding-top:25px; }
.modern-content h3 { font-size:1rem; margin-bottom:10px; }
.modern-content ul { padding-left:18px; color:#637580; font-size:.88rem; }
.modern-content li { margin:9px 0; }
.modern-fit { font-size:.82rem; color:#637580; border-top:1px solid #e9edef; padding-top:14px; margin-top:20px; }
.modern-fit strong { color:#14202a; }
.app-screen { width:min(100%,420px); margin:auto; min-height:330px; border-radius:25px; padding:18px; border:8px solid #17242c; background:#fbfbf8; box-shadow:0 17px 28px rgba(32,48,58,.18); }
.screen-bar { display:flex; justify-content:space-between; align-items:center; color:#73828b; font:700 .6rem var(--mono); margin-bottom:22px; }
.screen-avatar { width:24px; height:24px; border-radius:50%; background:#efc9a5; display:inline-block; vertical-align:middle; margin-right:5px; }
.screen-greeting { font-size:1.65rem; font-weight:780; letter-spacing:-.065em; line-height:1; margin-bottom:8px; }
.screen-muted { color:#73828b; font-size:.68rem; }
.screen-row { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:18px; }
.screen-progress { height:5px; border-radius:99px; background:#e5eaec; overflow:hidden; flex:1; }
.screen-progress i { display:block; width:46%; height:100%; background:#3cb7a3; }
.screen-progress-label { color:#3a9f8e; font:700 .58rem var(--mono); }
.story-line { display:grid; grid-template-columns:70px 1fr; gap:10px; border-top:1px solid #e8ecee; padding:12px 0; margin-top:12px; }
.story-time { color:#8a969d; font:700 .58rem var(--mono); }
.story-line strong { display:block; font-size:.7rem; line-height:1.2; }
.story-line small { color:#72818a; font-size:.57rem; }
.screen-tabs { display:flex; justify-content:space-around; border-top:1px solid #e4e9eb; padding-top:12px; margin-top:15px; color:#809098; font-size:.59rem; }
.screen-tabs b { color:#e56d57; }
.media-visual { position:relative; overflow:hidden; border-radius:12px; height:96px; margin:12px 0; background:#dbe5e7; }
.media-visual img { width:100%; height:100%; object-fit:cover; display:block; }
.media-visual.tall { height:120px; }
.media-visual .media-caption { position:absolute; left:9px; bottom:8px; color:#fff; font-size:.58rem; font-weight:700; text-shadow:0 1px 6px rgba(0,0,0,.5); }
.play-button { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:37px; height:37px; border-radius:50%; border:2px solid rgba(255,255,255,.9); background:rgba(12,25,30,.58); color:#fff; display:grid; place-items:center; font-size:.85rem; padding-left:2px; }
.media-rail { display:flex; gap:8px; overflow:hidden; margin-top:13px; }
.media-rail .media-visual { flex:1; height:58px; margin:0; }
.app-page { background:#eef2f3; color:#14202a; min-height:100vh; }
.app-page .topbar { border-bottom:1px solid #dce4e7; }
.app-page .nav { color:#71808b; }
.app-page .nav a.active,.app-page .nav a:hover { color:#14202a; }
.app-wrap { width:min(1120px, calc(100% - 28px)); margin:0 auto; padding:28px 0 70px; }
.app-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:24px; align-items:start; }
.app-main { background:#fff; border:1px solid #dfe6e9; border-radius:25px; padding:clamp(20px,4vw,38px); box-shadow:0 15px 35px rgba(38,58,68,.07); }
.app-topline { display:flex; justify-content:space-between; gap:16px; align-items:center; color:#73818a; font:700 .65rem var(--mono); letter-spacing:.05em; }
.app-topline .avatar { width:30px; height:30px; border-radius:50%; background:#f0c9a8; display:inline-grid; place-items:center; color:#714b39; margin-right:7px; font:700 .72rem var(--sans); }
.app-greeting { font-size:clamp(2.2rem,5vw,4.25rem); line-height:.92; letter-spacing:-.075em; margin:50px 0 12px; }
.app-greeting em { color:#e56d57; font-style:normal; }
.app-subline { color:#6f7e87; margin-bottom:24px; }
.app-progress-row { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.app-progress-track { height:7px; background:#e4eaec; border-radius:99px; flex:1; overflow:hidden; }
.app-progress-track i { display:block; width:42%; background:#3cb7a3; height:100%; }
.app-progress-label { color:#3a9f8e; font:700 .66rem var(--mono); }
.visual-lead { position:relative; overflow:hidden; border-radius:17px; min-height:250px; background:#dbe5e7; margin-bottom:24px; }
.visual-lead img { width:100%; height:100%; min-height:250px; object-fit:cover; display:block; }
.visual-lead-copy { position:absolute; inset:auto 18px 18px; color:#fff; max-width:390px; text-shadow:0 1px 8px rgba(0,0,0,.45); }
.visual-lead-copy .label { display:inline-block; background:rgba(255,255,255,.86); color:#166e61; margin-bottom:8px; }
.visual-lead-copy h2 { font-size:clamp(1.45rem,3vw,2.3rem); line-height:1; margin:0 0 6px; letter-spacing:-.055em; }
.visual-lead-copy p { margin:0; font-size:.82rem; }
.story-stream { border-top:1px solid #e1e7e9; }
.story-item { display:grid; grid-template-columns:92px 1fr auto; gap:15px; align-items:center; padding:16px 0; border-bottom:1px solid #e1e7e9; cursor:pointer; }
.story-item:hover h3 { color:#218f7d; }
.story-thumb { width:92px; height:72px; border-radius:11px; overflow:hidden; position:relative; background:#dfe7e9; }
.story-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.story-thumb .play-button { width:27px; height:27px; font-size:.65rem; }
.story-meta { color:#778790; font:700 .61rem var(--mono); letter-spacing:.02em; }
.story-item h3 { font-size:1.05rem; line-height:1.1; margin:5px 0 4px; letter-spacing:-.03em; }
.story-item p { color:#71818b; font-size:.77rem; margin:0; }
.story-save { border:0; background:transparent; color:#70808a; cursor:pointer; font-size:1.05rem; padding:6px; }
.story-save.saved { color:#e56d57; }
.app-side { display:grid; gap:14px; }
.side-card { background:#fff; border:1px solid #dfe6e9; border-radius:18px; padding:20px; box-shadow:0 10px 22px rgba(38,58,68,.05); }
.side-card.teal { background:#dff5ef; border-color:#bfe9df; }
.side-card h3 { font-size:1.3rem; margin:7px 0 8px; }
.side-card p { color:#647680; font-size:.84rem; }
.side-card.teal p { color:#2e695f; }
.side-stat { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid rgba(26,57,62,.12); color:#60737b; font-size:.78rem; }
.side-stat b { color:#14202a; }
.app-tabs { display:flex; gap:7px; overflow:auto; padding:14px 0 18px; }
.app-tab { white-space:nowrap; border:1px solid #d8e1e4; background:#fff; color:#6c7d86; border-radius:999px; padding:9px 13px; cursor:pointer; font-size:.76rem; }
.app-tab.active,.app-tab:hover { background:#14202a; border-color:#14202a; color:#fff; }
.app-bottom-nav { display:flex; justify-content:space-around; border-top:1px solid #e2e8ea; padding-top:18px; margin-top:25px; color:#7c8b93; font-size:.72rem; }
.app-bottom-nav b { color:#e56d57; }
.app-finish { border:0; border-radius:999px; background:#14202a; color:#fff; width:100%; padding:12px 15px; font-weight:750; cursor:pointer; }
.app-finish-mobile { display:none; margin:22px 0 4px; padding:16px; border-radius:15px; background:#dff5ef; color:#28695f; }
.app-finish-mobile p { margin:0 0 12px; }
.app-panel[hidden] { display:none; }
.saved-empty { padding:42px 0 52px; text-align:center; color:#6e7e87; }
.saved-empty strong { display:block; color:#14202a; font-size:1.4rem; margin-bottom:7px; }
.settings-list { border-top:1px solid #e1e7e9; }
.interest-intro { margin:30px 0 16px; padding:17px; border-radius:14px; background:#e8f5f2; color:#2d675d; font-size:.82rem; }
.interest-intro strong { color:#175f52; }
.interest-grid { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 18px; }
.interest-chip { appearance:none; border:1px solid #d7e1e3; background:#fff; color:#52656e; border-radius:999px; padding:9px 12px; font:600 .76rem var(--sans); cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.interest-chip:hover { border-color:#8ccfbe; color:#1b7566; }
.interest-chip.selected { background:#14202a; border-color:#14202a; color:#fff; }
.interest-footer { display:flex; justify-content:space-between; gap:12px; align-items:center; color:#73838c; font-size:.76rem; margin:0 0 26px; }
.interest-footer button { border:0; background:transparent; padding:0; color:#218f7d; cursor:pointer; font-weight:700; }
.setting-row { display:flex; justify-content:space-between; gap:18px; align-items:center; border-bottom:1px solid #e1e7e9; padding:17px 0; }
.setting-row strong { display:block; font-size:.9rem; }
.setting-row span { color:#75858d; font-size:.76rem; }
.toggle { appearance:none; width:42px; height:24px; border-radius:99px; background:#d7e0e3; position:relative; cursor:pointer; transition:.2s; }
.toggle:after { content:''; width:18px; height:18px; border-radius:50%; background:#fff; position:absolute; top:3px; left:3px; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.2s; }
.toggle:checked { background:#3cb7a3; }
.toggle:checked:after { transform:translateX(18px); }
.detail-page { background:#eef2f3; color:#14202a; min-height:100vh; }
.detail-wrap { width:min(860px,calc(100% - 28px)); margin:0 auto; padding:34px 0 80px; }
.detail-back { display:inline-flex; gap:7px; color:#6f7f88; font-size:.8rem; margin-bottom:28px; }
.detail-card { background:#fff; border:1px solid #dfe6e9; border-radius:24px; padding:clamp(20px,5vw,48px); box-shadow:0 15px 35px rgba(38,58,68,.07); }
.detail-kicker { color:#218f7d; font:700 .67rem var(--mono); letter-spacing:.06em; }
.detail-card h1 { font-size:clamp(2.5rem,7vw,5.6rem); max-width:760px; margin:15px 0 17px; }
.detail-dek { color:#637580; font-size:1.08rem; max-width:60ch; }
.detail-media { position:relative; overflow:hidden; border-radius:16px; margin:28px 0; }
.detail-media img { display:block; width:100%; max-height:450px; object-fit:cover; }
.detail-body { display:grid; grid-template-columns:1fr 230px; gap:42px; margin-top:28px; }
.detail-body p { color:#536671; max-width:65ch; }
.detail-body h2 { font-size:1.7rem; margin-top:0; }
.detail-aside { border-top:2px solid #14202a; padding-top:12px; font-size:.78rem; color:#71818a; }
.detail-aside strong { display:block; color:#14202a; margin-bottom:9px; }
.detail-aside div { padding:9px 0; border-bottom:1px solid #e2e8ea; }
.source-button { display:inline-block; border:1px solid #d7e0e3; border-radius:999px; padding:10px 13px; color:#536671; font-size:.77rem; cursor:pointer; }
.source-drawer { margin-top:13px; border-top:1px solid #dfe7e9; font-size:.8rem; color:#61737e; }
.source-drawer > strong { display:block; color:#14202a; padding:12px 0 6px; }
.source-drawer div { padding:9px 0; border-bottom:1px solid #e4eaec; }
.source-drawer b { color:#14202a; }
.video-status { margin:11px 0; font-size:.78rem; color:#39786d; }
.video-transcript { margin:13px 0; padding:13px; background:#eff5f6; border-radius:12px; color:#536671; font-size:.85rem; }
.is-text-first .visual-lead img,.is-text-first .story-thumb img { opacity:.28; }
.is-text-first .story-thumb:after { content:'Text-first'; position:absolute; inset:0; display:grid; place-items:center; color:#304f5a; font-size:.6rem; font-weight:700; background:rgba(238,244,245,.72); }
.is-low-data .visual-lead { min-height:150px; background:#dfeaec; }
.is-low-data .visual-lead img { display:none; }
.is-low-data .visual-lead-copy { color:#14202a; text-shadow:none; }
.is-low-data .visual-lead-copy .label { background:#cfeee7; }
@media (max-width:560px) { .app-finish-mobile { display:block; } }
@media (max-width:680px) { .detail-body { grid-template-columns:1fr; gap:24px; } .detail-aside { order:-1; } }
@media (max-width:800px) { .app-layout { grid-template-columns:1fr; } .app-side { grid-template-columns:1fr 1fr; } .app-side .side-card:first-child { grid-column:span 2; } }
@media (max-width:560px) { .app-wrap { width:min(100% - 18px,1120px); padding-top:12px; } .app-main { padding:18px; border-radius:20px; } .app-layout { display:block; } .app-side { display:none; } .story-item { grid-template-columns:74px 1fr auto; gap:10px; } .story-thumb { width:74px; height:65px; } .story-item h3 { font-size:.92rem; } .story-item p { display:none; } }
.screen-card { border-radius:15px; padding:14px; margin-top:12px; background:#e9f6f2; }
.screen-card.coral { background:#f8e8e3; }
.screen-card.blue { background:#e7eff8; }
.screen-card span { font:700 .57rem var(--mono); color:#328e7f; }
.screen-card.coral span { color:#bc5d4b; }
.screen-card.blue span { color:#537da4; }
.screen-card strong { display:block; font-size:.78rem; line-height:1.18; margin:7px 0 4px; }
.screen-card small { color:#657680; font-size:.6rem; }
.screen-deck { display:flex; gap:8px; margin-top:13px; }
.deck-dot { flex:1; height:4px; background:#dce4e6; border-radius:9px; }
.deck-dot.active { background:#e56d57; }
.screen-quote { font:1.45rem/1.06 var(--serif); letter-spacing:-.04em; max-width:12ch; margin:24px 0; }
.screen-button { display:inline-block; background:#14202a; color:#fff; border-radius:999px; padding:9px 13px; font-size:.64rem; font-weight:700; }
.modern-footer { color:#71808b; font-size:.82rem; padding:0 0 48px; }
@media (max-width:760px) { .modern-content { grid-template-columns:1fr; } .modern-option-head { display:block; } .app-screen { max-width:330px; } }
@media (max-width:760px) {
  .shell { width:min(100% - 24px, 1160px); }
  .topbar { padding:18px 0; }
  .nav a:not(.active) { display:none; }
  .hero { padding:60px 0 46px; }
  .stat-strip { grid-template-columns:1fr; gap:0; }
  .stat { padding:14px 0; border-bottom:1px solid var(--line); }
  .section-head, .brief-top { display:block; }
  .section-head p { margin-top:15px; }
  .brief-grid, .note-grid, .index-intro { grid-template-columns:1fr; gap:28px; }
  .brief-card h3 { max-width:33ch; }
  .note-wrap { padding:54px 0 70px; }
  .note-wrap h1 { font-size:clamp(2.8rem, 14vw, 5rem); }
  .note-aside { order:-1; }
  .product-map { grid-template-columns:1fr; margin-bottom:60px; }
  .map-link:nth-child(1) { grid-column:auto; }
  .map-link { min-height:210px; }
  .map-link:nth-child(1) { min-height:270px; }
}
@media (prefers-reduced-motion:reduce) { *, *:before, *:after { scroll-behavior:auto!important; transition:none!important; } }

/* Daymark project library: a light, visual entry point into the prototype and notes. */
.daymark-hub { background:#f4f7f7; color:#14202a; min-height:100vh; }
.hub-shell { width:min(1160px,calc(100% - 40px)); margin:auto; }
.hub-topbar { display:flex; align-items:center; justify-content:space-between; padding:25px 0; border-bottom:1px solid #dce4e7; }
.hub-brand { color:#14202a; font-weight:820; font-size:1.12rem; letter-spacing:-.05em; display:flex; align-items:center; gap:9px; }
.hub-brand span { width:17px; height:17px; border-radius:50% 50% 50% 3px; transform:rotate(-45deg); background:#e56d57; display:block; }
.hub-top-action { color:#53717a; font-weight:750; font-size:.8rem; }
.hub-top-action b { color:#e56d57; font-size:1.1rem; margin-left:5px; }
.hub-intro { display:grid; grid-template-columns:1.15fr .65fr; gap:50px; padding:76px 0 35px; align-items:end; }
.hub-overline { color:#3a9f8e; font:750 .67rem var(--mono); text-transform:uppercase; letter-spacing:.08em; margin:0 0 11px; }
.hub-intro h1 { max-width:730px; font-size:clamp(3.25rem,7.3vw,6.4rem); line-height:.89; letter-spacing:-.065em; margin:0; }
.hub-intro h1 em { color:#e56d57; font-style:normal; }
.hub-lede { color:#61727c; font-size:1rem; line-height:1.55; max-width:38ch; margin:0 0 5px; }
.hub-feature { margin:26px 0 100px; }
.hub-feature-link { position:relative; display:block; min-height:510px; overflow:hidden; border-radius:20px; color:#fff; background:#c8d9da; box-shadow:0 18px 44px rgba(29,54,62,.14); isolation:isolate; }
.hub-feature-link img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.hub-feature-link:hover img { transform:scale(1.035); }
.hub-feature-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,28,34,.79) 0%,rgba(14,28,34,.31) 58%,rgba(14,28,34,.04) 100%); }
.hub-feature-copy { position:relative; z-index:1; max-width:510px; padding:clamp(26px,5vw,58px); min-height:510px; display:flex; flex-direction:column; align-items:flex-start; }
.hub-tag { display:inline-block; border-radius:999px; background:rgba(255,255,255,.88); color:#1b7566; font:750 .62rem var(--mono); letter-spacing:.045em; padding:7px 10px; }
.hub-count { margin:70px 0 10px; color:#d7e7e6; font:700 .72rem var(--mono); letter-spacing:.04em; }
.hub-count i { color:#87d5c6; font-style:normal; margin-left:10px; }
.hub-feature h2 { font-size:clamp(2.6rem,5.7vw,5.3rem); line-height:.88; letter-spacing:-.06em; margin:0 0 15px; }
.hub-feature-copy > p:not(.hub-count) { color:#e1e9e9; max-width:37ch; font-size:.91rem; line-height:1.5; margin:0; }
.hub-arrow { margin-top:auto; background:#fff; color:#14202a; border-radius:999px; padding:12px 15px; font-size:.78rem; font-weight:800; }
.hub-arrow b { color:#e56d57; font-size:1rem; margin-left:7px; }
.hub-section { margin-bottom:100px; }
.hub-section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px; }
.hub-section-head h2 { font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.95; margin:0; }
.hub-section-head > p { max-width:39ch; color:#657782; font-size:.88rem; line-height:1.5; margin:0 0 4px; }
.hub-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hub-card-grid-two { grid-template-columns:repeat(2,1fr); max-width:790px; }
.hub-single-card { display:grid; grid-template-columns:minmax(280px,.9fr) 1.1fr; overflow:hidden; background:#fff; color:#14202a; border-radius:16px; box-shadow:0 10px 24px rgba(34,58,66,.07); transition:transform .25s ease,box-shadow .25s ease; }.hub-single-card:hover { transform:translateY(-4px); box-shadow:0 18px 31px rgba(34,58,66,.13); }.hub-single-card .hub-card-image { height:100%; min-height:270px; }.hub-single-copy { padding:clamp(24px,4vw,44px); align-self:center; }.hub-single-copy h3 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.06em; line-height:.94; margin:0 0 13px; }.hub-single-copy > p:not(.hub-overline) { color:#647680; max-width:37ch; font-size:.94rem; line-height:1.5; margin:0 0 24px; }.hub-single-copy > span { color:#218f7d; font-size:.78rem; font-weight:800; }.hub-single-copy b { color:#e56d57; font-size:1rem; margin-left:3px; }
.hub-card { background:#fff; color:#14202a; overflow:hidden; border-radius:16px; box-shadow:0 10px 24px rgba(34,58,66,.07); transition:transform .25s ease,box-shadow .25s ease; }
.hub-card:hover { transform:translateY(-5px); box-shadow:0 18px 31px rgba(34,58,66,.13); }
.hub-card-image { position:relative; height:205px; overflow:hidden; background:#dbe7e8; }
.hub-card-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s cubic-bezier(.16,1,.3,1); }
.hub-card:hover img { transform:scale(1.06); }
.hub-card-image .hub-tag { position:absolute; top:13px; left:13px; }
.hub-card-city img { object-position:74% center; }
.hub-card-copy { padding:20px 21px 21px; }
.hub-card-copy p { color:#73848d; font:700 .61rem var(--mono); letter-spacing:.03em; margin:0 0 10px; }
.hub-card-copy h3 { min-height:2.1em; font-size:1.45rem; letter-spacing:-.045em; line-height:1.04; margin:0 0 23px; }
.hub-card-copy span { color:#218f7d; font-size:.76rem; font-weight:800; }
.hub-card-copy b { color:#e56d57; font-size:1rem; margin-left:3px; }
.hub-section-head-small { margin-bottom:18px; }
.hub-section-head-small h2 { font-size:clamp(1.8rem,3vw,2.6rem); }
.hub-extra-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.hub-extra-grid a { display:grid; grid-template-columns:40px 1fr auto; gap:14px; align-items:center; padding:17px; background:#fff; color:#14202a; border:1px solid #e1e8ea; border-radius:14px; transition:border-color .2s,transform .2s; }
.hub-extra-grid a:hover { border-color:#9fd6c9; transform:translateY(-2px); }
.hub-extra-grid strong { font-size:.9rem; display:block; margin-bottom:3px; }
.hub-extra-grid p { color:#71828b; font-size:.75rem; margin:0; }
.hub-extra-grid > a > b { color:#e56d57; font-size:1.08rem; }
.hub-extra-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; font-size:1.1rem; font-weight:800; }
.hub-extra-icon.coral { color:#b85343; background:#fae4dd; }.hub-extra-icon.blue { color:#4a749c; background:#e2edf7; }.hub-extra-icon.green { color:#237a6b; background:#dff3ed; }.hub-extra-icon.gold { color:#92751b; background:#f8edbd; }
.hub-next { display:grid; grid-template-columns:1fr .85fr; gap:clamp(32px,7vw,100px); align-items:center; padding:clamp(30px,6vw,62px); margin:95px 0; background:#dff5ef; border-radius:18px; }.hub-next h2 { font-size:clamp(2.5rem,5vw,4.7rem); margin:0 0 16px; }.hub-next-copy > p:not(.hub-overline) { color:#346b63; max-width:42ch; line-height:1.55; margin:0 0 24px; }.hub-next-checklist { display:grid; grid-template-columns:34px 1fr; column-gap:13px; align-items:center; border-top:1px solid rgba(35,104,94,.18); }.hub-next-checklist span { color:#e56d57; font:800 .72rem var(--mono); padding:15px 0; border-bottom:1px solid rgba(35,104,94,.18); }.hub-next-checklist p { color:#255e55; font-size:.83rem; font-weight:720; margin:0; padding:15px 0; border-bottom:1px solid rgba(35,104,94,.18); }
.hub-closing { margin:100px 0 45px; padding:48px 0; border-top:1px solid #dce4e7; border-bottom:1px solid #dce4e7; text-align:center; }
.hub-closing p { margin:0 0 8px; color:#71828b; font-size:.9rem; }.hub-closing h2 { font-size:clamp(2.5rem,5vw,4.8rem); line-height:.92; letter-spacing:-.065em; margin:0 0 22px; }.hub-closing a { color:#218f7d; font-size:.88rem; font-weight:800; }.hub-closing b { color:#e56d57; font-size:1.1rem; margin-left:5px; }
.hub-footer { display:flex; justify-content:space-between; gap:30px; padding:0 0 45px; color:#71828b; font-size:.72rem; }.hub-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:13px; }.hub-footer a { color:#526871; }.hub-footer a:hover { color:#218f7d; }
@media (max-width:760px) { .hub-shell { width:min(100% - 24px,1160px); }.hub-topbar { padding:19px 0; }.hub-intro { display:block; padding:53px 0 18px; }.hub-intro h1 { font-size:clamp(3rem,14vw,5rem); }.hub-lede { margin-top:22px; }.hub-feature { margin:18px 0 68px; }.hub-feature-link,.hub-feature-copy { min-height:455px; }.hub-feature-shade { background:linear-gradient(0deg,rgba(14,28,34,.86),rgba(14,28,34,.06) 72%); }.hub-feature-copy { padding:22px; }.hub-count { margin:118px 0 10px; }.hub-section { margin-bottom:66px; }.hub-section-head { display:block; }.hub-section-head > p { margin-top:14px; }.hub-card-grid,.hub-extra-grid { grid-template-columns:1fr; }.hub-card-image { height:190px; }.hub-card-copy h3 { min-height:0; }.hub-closing { margin-top:70px; padding:39px 8px; }.hub-footer { display:block; }.hub-footer nav { justify-content:flex-start; margin-top:14px; row-gap:9px; } }

/* Shared Daymark document shell. New pages should use this rather than a separate visual theme. */
.doc-page { background:#f4f7f7; color:#14202a; min-height:100vh; }
.doc-shell { width:min(1160px,calc(100% - 40px)); margin:auto; }
.doc-main { padding:28px 0 82px; }
.doc-back { display:inline-flex; color:#647782; font-size:.78rem; font-weight:720; margin-bottom:26px; }.doc-back:hover { color:#218f7d; }
.doc-hero { display:grid; grid-template-columns:1.02fr .98fr; min-height:390px; overflow:hidden; background:#fff; border-radius:18px; box-shadow:0 14px 30px rgba(34,58,66,.08); }
.doc-hero-copy { padding:clamp(27px,5vw,60px); display:flex; flex-direction:column; justify-content:center; }.doc-hero-copy h1 { font-size:clamp(3rem,6vw,5.7rem); line-height:.89; letter-spacing:-.07em; margin:0 0 18px; }.doc-hero-copy h1 em { color:#e56d57; font-style:normal; }.doc-hero-copy > p:not(.hub-overline) { max-width:37ch; color:#647680; font-size:1rem; line-height:1.55; margin:0; }
.doc-hero-media { position:relative; min-height:300px; overflow:hidden; background:#dbe7e8; }.doc-hero-media img { display:block; width:100%; height:100%; object-fit:cover; }.doc-hero-media .hub-tag { position:absolute; left:18px; bottom:18px; }
.doc-reading { display:grid; grid-template-columns:minmax(0,1fr) 255px; align-items:start; gap:52px; margin-top:38px; }.doc-body { max-width:68ch; padding:0 0 20px 8px; }.doc-body h2 { font-size:clamp(1.55rem,3vw,2.2rem); line-height:1; letter-spacing:-.05em; margin:45px 0 13px; }.doc-body h2:first-child { margin-top:0; }.doc-body p,.doc-body li { color:#4f626d; font-size:.98rem; line-height:1.68; }.doc-body ul { padding-left:20px; }.doc-body li { margin:10px 0; }.doc-body blockquote { margin:35px 0; padding:22px 0; border-top:2px solid #3cb7a3; border-bottom:1px solid #d9e3e5; color:#14202a; font:clamp(1.45rem,3vw,2rem)/1.2 var(--serif); letter-spacing:-.035em; }.doc-aside { position:sticky; top:20px; padding:20px; background:#dff5ef; border-radius:14px; }.doc-aside .hub-overline { color:#2a776b; }.doc-aside ul { padding:0; margin:12px 0 22px; list-style:none; }.doc-aside li { padding:9px 0; color:#316c63; border-bottom:1px solid rgba(35,104,94,.14); font-size:.78rem; }.doc-aside a { color:#1d6f61; font-size:.77rem; font-weight:800; }.doc-aside b { color:#e56d57; font-size:1rem; margin-left:3px; }
/* The two direction documents remain explorations, but now share the Daymark document environment. */
.studio,.modern { background:#f4f7f7; color:#14202a; }.studio .topbar,.modern .topbar { border-bottom:1px solid #dce4e7; }.studio .brand,.modern .brand { color:#14202a; }.studio .brand-mark,.modern .brand-mark { width:17px; height:17px; border:0; border-radius:50% 50% 50% 3px; transform:rotate(-45deg); background:#e56d57; }.studio .brand-mark:after,.modern .brand-mark:after { display:none; }.studio .nav,.modern .nav { color:#6f8089; }.studio .nav a.active,.studio .nav a:hover,.modern .nav a.active,.modern .nav a:hover { color:#14202a; }.studio-hero,.modern-hero { padding-top:74px; }.studio-hero h1 span,.modern-hero h1 span { color:#e56d57; }.studio-hero .kicker,.modern-hero .kicker { color:#3a9f8e; }.option,.modern-option { border:0; border-radius:16px; box-shadow:0 10px 24px rgba(34,58,66,.07); }.studio-footer,.modern-footer { color:#71828b; }.modern-number { color:#e56d57; }
.app-page .brand,.detail-page .brand { color:#14202a; }.app-page .brand-mark,.detail-page .brand-mark { width:17px; height:17px; border:0; border-radius:50% 50% 50% 3px; transform:rotate(-45deg); background:#e56d57; }.app-page .brand-mark:after,.detail-page .brand-mark:after { display:none; }.app-page .nav,.detail-page .nav { color:#6f8089; }.app-page .nav a.active,.app-page .nav a:hover,.detail-page .nav a.active,.detail-page .nav a:hover { color:#14202a; }
.plan-page .doc-hero { margin-bottom:0; }.plan-intro { max-width:780px; margin:38px 0 58px; font:clamp(1.35rem,2.5vw,2rem)/1.28 var(--serif); letter-spacing:-.03em; color:#375660; }.plan-grid { display:grid; gap:17px; }.plan-step { display:grid; grid-template-columns:76px 1fr; gap:24px; padding:28px; background:#fff; border-radius:16px; box-shadow:0 8px 20px rgba(34,58,66,.055); }.plan-number { color:#e56d57; font:800 1rem var(--mono); }.plan-step h2 { font-size:clamp(1.65rem,3vw,2.45rem); line-height:1; letter-spacing:-.05em; margin:0 0 10px; }.plan-step p,.plan-step li { color:#556872; font-size:.92rem; line-height:1.6; }.plan-step p { max-width:68ch; margin:0 0 13px; }.plan-step ul { margin:0; padding-left:19px; }.plan-step li { margin:7px 0; }.business-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; margin:84px 0; padding:clamp(28px,5vw,52px); background:#14202a; color:#fff; border-radius:18px; }.business-section h2 { font-size:clamp(2.3rem,4.5vw,4.2rem); line-height:.93; letter-spacing:-.065em; margin:0 0 16px; }.business-section > div > p:not(.hub-overline) { color:#c4d0d3; max-width:36ch; font-size:.9rem; line-height:1.55; }.business-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.business-grid article { padding:19px; background:#202e37; border-radius:13px; }.business-grid .hub-tag { background:#dff5ef; }.business-grid h3 { font-size:1.2rem; letter-spacing:-.04em; margin:14px 0 7px; }.business-grid p { color:#b9c7ca; font-size:.8rem; line-height:1.5; margin:0; }.plan-close { text-align:center; padding:12px 0 22px; }.plan-close p { color:#71828b; margin:0 0 7px; }.plan-close h2 { font-size:clamp(2.2rem,4.5vw,4.1rem); letter-spacing:-.06em; line-height:.95; margin:0 0 23px; }
@media (max-width:760px) { .hub-card-grid-two { grid-template-columns:1fr; }.hub-single-card { grid-template-columns:1fr; }.hub-single-card .hub-card-image { height:205px; min-height:0; }.hub-next { grid-template-columns:1fr; gap:28px; margin:68px 0; }.plan-intro { margin:28px 0 40px; }.plan-step { grid-template-columns:1fr; gap:10px; padding:22px; }.business-section { grid-template-columns:1fr; gap:28px; margin:60px 0; }.business-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .doc-shell { width:min(100% - 24px,1160px); }.doc-main { padding-top:19px; }.doc-hero { grid-template-columns:1fr; }.doc-hero-copy { min-height:335px; }.doc-hero-media { min-height:250px; }.doc-reading { grid-template-columns:1fr; gap:22px; margin-top:25px; }.doc-body { padding-left:0; }.doc-aside { position:static; order:-1; }.doc-body h2 { margin-top:36px; } }
