/* Generated by scripts/build-theme-css.mjs. Edit the source stylesheets, then run npm run build:theme-css. */

/* Source: site.css */
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-geist-sans:Geist,sans-serif}
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--happy:#fdb913;--sunny:#f26522;--black:#000;--ground:#613335;--wine:#b43c40;--magenta:#c14782;--midnight:#004185;--indigo:#3763af;--water:#0086bd;--sea:#54a0a0;--ink:#151515;--muted:#66635f;--line:#dedbd5;--paper:#fff;--soft:#f7f5f1;--warm:#fff8eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}main{min-height:100vh;overflow:hidden}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #00000017;grid-template-columns:minmax(224px,1fr) auto minmax(224px,1fr);align-items:center;min-height:82px;padding:14px clamp(24px,5vw,78px);display:grid;position:sticky;top:0}.brand-link{width:224px;max-width:100%;min-width:0;display:inline-flex}.brand-logo{object-fit:contain;object-position:left center;width:100%;height:54px}.site-nav{align-items:center;gap:clamp(24px,2.5vw,42px);font-size:14px;font-weight:590;display:flex}.site-nav a{padding:12px 0;position:relative}.site-nav a:after{background:var(--sunny);content:"";transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a.nav-current:after{transform:scaleX(1)}.login-button,.menu-button{cursor:pointer;background:0 0;border:0}.login-button{border-left:1px solid var(--line);justify-self:end;padding:12px 0 12px 18px;font-size:14px;font-weight:650}.login-button span{color:var(--sunny);margin-left:8px}.menu-button{width:42px;height:42px;padding:12px 8px;display:none}.menu-button span{background:var(--black);height:2px;margin:5px 0;display:block}.visual-hero{background:var(--paper);padding:clamp(30px,4vw,62px) clamp(18px,5vw,78px) 0}.hero-live-card{background:#fff;border:1px solid #e3ded7;border-radius:18px;width:min(100%,1320px);margin:0 auto;padding:clamp(34px,4.6vw,72px) clamp(26px,5vw,78px) 14px;overflow:hidden;box-shadow:0 24px 65px #61333514}.hero-live-copy h1{max-width:1060px;color:var(--black);letter-spacing:-.065em;margin:0;font-size:clamp(46px,5.8vw,86px);font-weight:680;line-height:.98}.hero-accent-rule{background:var(--happy);width:150px;height:4px;margin:28px 0 20px;display:block}.hero-live-copy p{color:#24211f;letter-spacing:-.025em;margin:0;font-size:clamp(18px,1.8vw,28px);line-height:1.3}.hero-stack-scroll{margin-top:clamp(38px,5vw,70px);padding-bottom:8px;overflow-x:hidden;display:flex;justify-content:center}.hero-stack{grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;width:100%;max-width:100%;display:grid}.stack-layer{border-right:1px solid #d9d3cb;place-items:center;min-width:0;padding:0 22px 22px;display:grid;position:relative}.stack-layer:last-child{border-right:0}.stack-icon{aspect-ratio:1;width:clamp(58px,5vw,78px);color:var(--ground);place-items:center;display:grid}.stack-icon svg{width:100%;height:100%}.stack-layer:first-child .stack-icon{color:var(--happy)}.stack-layer:nth-child(2) .stack-icon{color:var(--ground)}.stack-layer:nth-child(3) .stack-icon{color:var(--sunny)}.stack-layer:nth-child(4) .stack-icon{color:var(--wine)}.stack-layer:nth-child(5) .stack-icon{color:var(--sunny)}.stack-layer>span{color:var(--black);letter-spacing:.06em;text-transform:uppercase;margin-top:10px;font-size:13px;font-weight:790}.stack-arrow{z-index:2;width:28px;color:var(--sunny);background:#fff;position:absolute;top:30px;right:-14px}.hero-color-rule{grid-template-columns:16% 68% 16%;height:4px;margin-top:14px;display:grid}.hero-color-rule i:first-child{background:var(--happy)}.hero-color-rule i:nth-child(2){background:var(--ground)}.hero-color-rule i:nth-child(3){background:var(--sunny)}.hero-context{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:38px;width:min(100%,1320px);margin:0 auto;padding:24px 4px 32px;display:flex}.hero-context p{max-width:490px;color:var(--muted);align-items:center;gap:16px;margin:0;font-size:13px;line-height:1.45;display:flex}.hero-context strong{color:var(--sunny);letter-spacing:-.05em;font-size:34px;font-weight:570;line-height:1}.hero-context-actions{align-items:center;gap:26px;display:flex}.portal-actions,.closing-actions{align-items:center;gap:28px;margin-top:30px;display:flex}.section-label{color:var(--ground);letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px;font-size:12px;font-weight:720}.button{cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:16px;min-height:54px;padding:14px 22px;font-weight:680;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--sunny);color:#fff;box-shadow:0 8px 24px #f2652233}.button-primary:hover{background:#dd5417;box-shadow:0 12px 28px #f2652247}.button-dark{background:var(--black);color:#fff}.text-link{border-bottom:1px solid;align-items:center;gap:10px;padding:8px 0 5px;font-weight:680;display:inline-flex}.text-link span{color:var(--sunny)}.button-link{cursor:pointer;background:0 0;border:0}.section{padding:clamp(72px,7.5vw,120px) clamp(24px,7vw,112px)}.section-heading h2,.history-copy h2,.portal-copy h2,.closing-section h2{color:var(--black);letter-spacing:-.055em;margin:0;font-size:clamp(40px,4.6vw,70px);font-weight:560;line-height:1.04}.impact-section{grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:54px 9vw;display:grid}.impact-heading h2{max-width:850px}.impact-intro{border-left:3px solid var(--happy);align-self:end;max-width:550px;padding-left:28px}.impact-intro p{color:var(--muted);margin:0;font-size:18px;line-height:1.65}.impact-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:28px;display:grid}.impact-card{border-right:1px solid var(--line);background:#fff;min-height:0;padding:28px 30px;transition:background .2s,transform .2s;display:flex;flex-direction:column;position:relative}.impact-card:last-child{border-right:0}.impact-card:hover{background:var(--warm);transform:translateY(-3px)}.impact-card.featured{background:var(--warm)}.impact-number{color:var(--sunny);letter-spacing:.15em;font-size:12px;font-weight:780}.impact-card h3{letter-spacing:-.035em;margin:28px 0 14px;font-size:27px}.impact-card p{max-width:370px;color:var(--muted);margin:0 0 20px;line-height:1.65}.impact-card a{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:18px;font-size:14px;font-weight:700;display:flex;position:static}.impact-card a span{color:var(--sunny)}.history-band{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:8vw;padding:clamp(62px,6vw,94px) clamp(24px,7vw,112px);display:grid}.history-copy h2{font-size:clamp(40px,4vw,62px)}.history-copy>p:not(.section-label){max-width:680px;color:var(--muted);margin:30px 0 28px;font-size:18px;line-height:1.7}.history-timeline{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;display:grid}.timeline-item strong{color:var(--sunny);letter-spacing:-.05em;margin-bottom:9px;font-size:38px;font-weight:560;display:block}.timeline-item span{color:#4f4b47;max-width:150px;font-size:13px;font-weight:620;line-height:1.4;display:block}.timeline-line{background:#c6c0b7;width:clamp(30px,3.4vw,60px);height:1px;margin:0 16px}.research-heading-wrap{grid-template-columns:minmax(0,1.1fr) minmax(380px,.85fr);align-items:end;gap:8vw;display:grid}.research-heading-wrap .section-heading h2{max-width:800px}.research-description{border:1px solid var(--line);padding:30px}.research-description img{object-fit:contain;object-position:left center;width:230px;max-height:85px}.research-description p{color:var(--muted);margin:22px 0 18px;line-height:1.65}.research-description .text-link{font-size:14px}.report-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px;display:grid}.report-card{border:1px solid var(--line);flex-direction:column;min-height:330px;padding:32px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.report-card:before{background:var(--accent);content:"";width:8px;position:absolute;top:0;bottom:0;right:0}.report-card.sunny{--accent:var(--sunny)}.report-card.happy{--accent:var(--happy)}.report-card.magenta{--accent:var(--magenta)}.report-card.sea{--accent:var(--sea)}.report-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #00000014}.report-card-top{color:#706c67;letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;gap:16px;font-size:11px;font-weight:720;display:flex}.report-card-top span:first-child{color:var(--accent)}.report-card h3{letter-spacing:-.045em;max-width:560px;margin:70px 0 16px;font-size:clamp(29px,2.5vw,42px);font-weight:580;line-height:1.05}.report-card p{max-width:560px;color:var(--muted);margin:0 0 34px;line-height:1.6}.report-cta{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:18px;font-size:14px;font-weight:720;display:flex}.report-cta b{color:var(--accent)}.portal-section{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(340px,.78fr) minmax(560px,1.22fr);align-items:center;gap:clamp(44px,5.5vw,82px);padding:clamp(72px,7.5vw,120px) clamp(24px,7vw,112px);display:grid}.portal-copy>p:not(.section-label){max-width:650px;color:var(--muted);margin:30px 0;font-size:18px;line-height:1.7}.portal-features{border-top:1px solid var(--line);margin:36px 0 0;padding:0;list-style:none}.portal-features li{border-bottom:1px solid var(--line);color:#3e3a37;gap:18px;padding:16px 0;font-size:14px;line-height:1.45;display:flex}.portal-features span{color:var(--sunny);letter-spacing:.1em;font-size:11px;font-weight:760}.portal-preview{color:#f8fafc;background:#071a32;border:1px solid #25558e;border-radius:16px;padding:18px;box-shadow:0 34px 90px #00295733}.portal-bar{border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;padding:10px 10px 22px;display:flex}.portal-brand{align-items:center;gap:11px;display:flex}.portal-cube{aspect-ratio:1;background:var(--sunny);color:#fff;border-radius:8px;place-items:center;width:34px;font-size:11px;font-weight:820;display:grid}.portal-brand b{font-size:14px}.portal-brand em{color:var(--sunny);font-style:normal}.portal-status{color:#a9b7c9;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.portal-status i{background:var(--happy);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.agent-card{background:#12345f;border:1px solid #245487;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;margin-top:18px;padding:22px;display:grid}.agent-icon{aspect-ratio:1;width:50px;color:var(--sunny);background:#f265222e;border-radius:12px;place-items:center;font-size:24px;display:grid}.agent-label,.answer-kicker{color:#91a5bd;letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:760}.agent-card h3{margin:5px 0 3px;font-size:20px}.agent-card p{color:#aebed0;margin:0;font-size:12px}.agent-modes{gap:6px;display:grid}.agent-modes button{color:#aec0d4;cursor:pointer;background:#0a2342;border:1px solid #315f91;border-radius:6px;min-width:82px;padding:9px 11px;font-size:11px;font-weight:670}.agent-modes button.active{border-color:var(--sunny);background:var(--sunny);color:#fff}.prompt-tabs{gap:8px;padding:18px 2px 8px;display:flex;overflow-x:auto}.prompt-tabs button{color:#91a5bd;cursor:pointer;background:0 0;border:1px solid #26476c;border-radius:999px;flex:none;padding:9px 12px;font-size:10px}.prompt-tabs button.active{border-color:var(--happy);color:#fff;background:#fdb9131a}.portal-answer{background:#0d2749;border-radius:12px;margin-top:10px;padding:24px}.portal-answer h4{max-width:630px;margin:9px 0 18px;font-size:clamp(17px,1.6vw,23px);line-height:1.35}.answer-rule{background:linear-gradient(90deg, var(--sunny), #ffffff0f);height:1px}.portal-answer p{color:#c0cede;margin:20px 0;font-size:13px;line-height:1.65}.answer-source{color:#aebed0;background:#ffffff0f;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:10px;display:inline-flex}.answer-source span{color:var(--happy)}.media-header{grid-template-columns:1fr auto;align-items:end;gap:50px;display:grid}.media-header .section-heading h2{max-width:620px}.channel-proof{border:1px solid var(--line);align-items:center;gap:14px;min-width:420px;padding:18px;display:flex}.youtube-mark{aspect-ratio:1;background:var(--wine);color:#fff;border-radius:50%;place-items:center;width:46px;display:grid}.channel-proof div{gap:4px;display:grid}.channel-proof strong{font-size:13px}.channel-proof small{color:var(--muted)}.channel-proof a{color:var(--sunny);margin-left:auto;font-size:12px;font-weight:720}.media-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}.media-card{border-bottom:1px solid var(--line);flex-direction:column;min-width:0;padding-bottom:22px;display:flex}.media-image{aspect-ratio:16/10;background:#ece8e1;position:relative;overflow:hidden}.media-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.media-card:hover .media-image img{transform:scale(1.035)}.play-button{aspect-ratio:1;background:var(--sunny);color:#fff;border-radius:50%;place-items:center;width:48px;display:grid;position:absolute;bottom:16px;left:16px;box-shadow:0 8px 24px #0003}.duration{color:#fff;background:#000000bf;padding:5px 7px;font-size:10px;position:absolute;bottom:12px;right:12px}.media-label{color:var(--sunny);letter-spacing:.12em;text-transform:uppercase;margin-top:21px;font-size:10px;font-weight:760}.media-card h3{letter-spacing:-.035em;margin:12px 0 20px;font-size:clamp(21px,2vw,29px);font-weight:600;line-height:1.17}.watch-link{color:#4d4945;justify-content:space-between;margin-top:auto;font-size:13px;font-weight:680;display:flex}.watch-link b{color:var(--sunny)}.closing-section{background:var(--happy);grid-template-columns:minmax(0,1.2fr) auto;align-items:end;gap:8vw;padding:clamp(66px,6.5vw,102px) clamp(24px,7vw,112px);display:grid}.closing-section h2{max-width:960px;font-size:clamp(43px,5vw,76px)}.closing-actions{flex-direction:column;align-items:stretch;min-width:230px;margin:0}.closing-actions .text-link{justify-content:center}.site-footer{background:var(--black);color:#fff;grid-template-columns:230px 1fr auto;align-items:center;gap:40px;padding:40px clamp(24px,7vw,112px);display:grid}.site-footer img{width:210px}.site-footer p{color:#b7b7b7;margin:0;font-size:13px}.site-footer div{gap:24px;font-size:12px;display:flex}.site-footer a:hover{color:var(--happy)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000009e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal{background:#fff;width:min(100%,500px);padding:38px;position:relative;box-shadow:0 30px 90px #0000004d}.modal-close{cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:12px;right:16px}.login-modal h2{letter-spacing:-.045em;margin:0;font-size:41px}.login-modal>p:not(.section-label):not(.login-message){color:var(--muted);line-height:1.55}.login-modal form{gap:9px;margin-top:28px;display:grid}.login-modal label{color:#4c4844;margin-top:7px;font-size:12px;font-weight:680}.login-modal input{border:1px solid var(--line);border-radius:2px;outline:none;width:100%;height:49px;padding:0 13px}.login-modal input:focus{border-color:var(--sunny);box-shadow:0 0 0 3px #f265221f}.login-modal form .button{margin-top:13px}.login-message{border-left:3px solid var(--happy);background:var(--warm);color:var(--ground);margin:18px 0 0;padding:13px;font-size:12px;line-height:1.5}.login-modal small{color:#8a8580;margin-top:18px;font-size:10px;line-height:1.5;display:block}.team-page{background:var(--paper)}.team-login{align-items:center;display:inline-flex}.team-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);gap:46px 8vw;padding:clamp(64px,7vw,108px) clamp(24px,7vw,112px) 0;display:grid}.team-hero-copy h1{max-width:900px;color:var(--black);letter-spacing:-.07em;margin:0;font-size:clamp(58px,7vw,108px);font-weight:580;line-height:.92}.team-hero-note{border-left:3px solid var(--happy);align-self:end;padding:0 0 12px 28px}.team-hero-note p{color:var(--muted);margin:0 0 24px;font-size:17px;line-height:1.65}.team-hero-note a{border-bottom:1px solid var(--black);align-items:center;gap:12px;padding-bottom:6px;font-size:13px;font-weight:720;display:inline-flex}.team-hero-note svg{width:16px;color:var(--sunny)}.team-spectrum{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(5,1fr);margin-top:clamp(30px,4vw,60px);display:grid}.team-spectrum div{border-right:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;min-height:96px;padding:22px 20px;display:flex}.team-spectrum div:last-child{border-right:0}.team-spectrum div:first-child{border-top:4px solid var(--happy)}.team-spectrum div:nth-child(2){border-top:4px solid var(--ground)}.team-spectrum div:nth-child(3){border-top:4px solid var(--sunny)}.team-spectrum div:nth-child(4){border-top:4px solid var(--wine)}.team-spectrum div:nth-child(5){border-top:4px solid var(--magenta)}.team-spectrum span{color:#8d8882;letter-spacing:.12em;font-size:10px;font-weight:720}.team-spectrum strong{letter-spacing:.04em;text-transform:uppercase;font-size:13px}.team-members-section{padding:clamp(72px,7.5vw,118px) clamp(24px,7vw,112px)}.members-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);align-items:end;gap:8vw;display:grid}.members-heading h2{color:var(--black);letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,76px);font-weight:560;line-height:1.02}.members-heading>p{border-left:3px solid var(--happy);color:var(--muted);margin:0 0 8px;padding-left:24px;font-size:16px;line-height:1.7}.team-members-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(44px,5vw,68px);display:grid}.team-member-card{--member-accent:var(--sunny);background:#fff;min-width:0}.member-sunny{--member-accent:var(--sunny)}.member-happy{--member-accent:var(--happy)}.member-magenta{--member-accent:var(--magenta)}.member-indigo{--member-accent:var(--indigo)}.member-sea{--member-accent:var(--sea)}.member-ground{--member-accent:var(--ground)}.member-image{aspect-ratio:4/4.15;background:#ece8e1;position:relative;overflow:hidden}.member-image:after{border-top:4px solid var(--member-accent);content:"";pointer-events:none;position:absolute;inset:0}.member-image img{object-fit:cover;filter:saturate(.78)contrast(1.01);width:100%;height:100%;transition:transform .45s,filter .45s}.team-member-card:hover .member-image img{filter:saturate();transform:scale(1.022)}.member-copy{padding:26px 28px 30px}.member-role{min-height:14px;color:var(--member-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:10px;font-weight:760}.member-copy h3{color:var(--black);letter-spacing:-.05em;margin:0;font-size:clamp(29px,2.7vw,42px);font-weight:580;line-height:1}.member-summary{min-height:116px;color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.65}.member-focus{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:22px 0 0;padding:18px 0 0;list-style:none;display:flex}.member-focus li{border:1px solid var(--line);color:#4e4945;letter-spacing:.055em;text-transform:uppercase;padding:7px 9px;font-size:9px;font-weight:690}.team-principle{background:var(--happy);padding:clamp(72px,7.5vw,118px) clamp(24px,7vw,112px)}.team-principle blockquote{max-width:1160px;color:var(--black);letter-spacing:-.06em;margin:0;font-size:clamp(42px,5.5vw,82px);font-weight:550;line-height:1.03}.principle-footer{border-top:1px solid #00000040;justify-content:space-between;align-items:center;gap:40px;margin-top:clamp(38px,4.5vw,60px);padding-top:24px;display:flex}.principle-footer>span{font-size:13px;font-weight:660}.principle-footer .button svg{width:18px}@media (width<=1100px){.site-header{grid-template-columns:minmax(0,1fr) auto}.site-nav{gap:20px}.hero-context{align-items:flex-start}.portal-section{grid-template-columns:1fr}.portal-copy{max-width:780px}.media-header{grid-template-columns:1fr}.channel-proof{width:min(100%,520px);min-width:0}.team-hero{grid-template-columns:1fr}.team-hero-note{max-width:650px}.team-members-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.site-header{grid-template-columns:1fr auto;min-height:72px;padding:10px 22px}.brand-link{width:190px}.brand-logo{height:46px}.login-button{display:none}.menu-button{justify-self:end;display:block}.site-nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 22px;display:none;position:absolute;top:72px;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a{border-bottom:1px solid #eeeae4;padding:14px 0}.visual-hero{padding-top:24px}.hero-live-card{border-radius:12px}.hero-context{flex-direction:column;align-items:flex-start;gap:22px}.impact-section,.research-heading-wrap,.history-band,.impact-grid{grid-template-columns:1fr}.impact-card{border-right:0;border-bottom:1px solid var(--line)}.impact-card:last-child{border-bottom:0}.history-timeline{margin-top:22px}.report-grid{grid-template-columns:1fr}.agent-card{grid-template-columns:auto minmax(0,1fr)}.agent-modes{grid-column:1/-1;grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:1fr;gap:42px}.closing-section,.site-footer{grid-template-columns:1fr}.closing-actions{align-items:flex-start;margin-top:20px}.site-footer div{flex-wrap:wrap}.team-spectrum{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto}.members-heading{grid-template-columns:1fr}.members-heading>p{max-width:600px}}@media (width<=560px){.visual-hero{padding-inline:10px}.hero-live-card{border-radius:9px;padding:30px 18px 10px}.hero-live-copy h1{font-size:clamp(39px,12.5vw,58px)}.hero-accent-rule{width:96px;height:3px;margin:22px 0 16px}.hero-live-copy p{font-size:17px}.hero-stack-scroll{margin-top:34px}.hero-context{padding:18px 6px 24px}.hero-context p{align-items:flex-start}.hero-context strong{font-size:30px}.hero-context-actions,.portal-actions{flex-direction:column;align-items:flex-start}.history-timeline{grid-template-columns:1fr;gap:18px}.timeline-line{width:1px;height:28px;margin:0 0 0 8px}.research-description img{width:205px}.portal-preview{border-radius:10px;margin-inline:-8px;padding:10px}.agent-card{padding:16px}.agent-icon{display:none}.channel-proof{flex-wrap:wrap;align-items:flex-start}.channel-proof a{width:100%;margin:4px 0 0 60px}.login-modal{padding:30px 24px}.login-modal h2{font-size:35px}.team-hero{padding-top:62px}.team-hero-copy h1{font-size:clamp(50px,16vw,74px)}.team-hero-note{padding-left:20px}.team-spectrum{margin-inline:-14px}.team-spectrum div{min-height:80px;padding:16px 14px}.team-members-grid{grid-template-columns:1fr}.member-image{aspect-ratio:4/3.8}.member-copy{padding:24px 22px 26px}.member-summary{min-height:0}.principle-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important}}


/* Source: footer.css */
.site-footer > img {
    width: 210px;
}

.site-footer-links {
    align-items: center;
    gap: 24px;
    display: flex;
}

.site-footer-nav {
    align-items: center;
    gap: 24px;
    font-size: 12px;
    display: flex;
}

.site-footer-social {
    border-left: 1px solid #ffffff35;
    align-items: center;
    gap: 9px;
    padding-left: 22px;
    display: flex;
}

.site-footer-social a {
    border: 1px solid #ffffff35;
    border-radius: 50%;
    place-items: center;
    width: 34px;
    height: 34px;
    transition: color .2s, border-color .2s, background .2s;
    display: grid;
}

.site-footer-social a:hover,
.site-footer-social a:focus-visible {
    background: var(--happy);
    color: var(--black);
    border-color: var(--happy);
}

.site-footer-social svg {
    fill: currentColor;
    width: 15px;
    height: 15px;
}

@media (width <= 820px) {
    .site-footer-links,
    .site-footer-nav {
        flex-wrap: wrap;
    }

    .site-footer-social {
        border-left: 0;
        padding-left: 0;
    }
}


/* Source: portal-preview.css */
.portal-preview {
    --ds-background: #fafaf8;
    --ds-foreground: #1a1a1a;
    --ds-card: #fff;
    --ds-primary: #ad4119;
    --ds-secondary: #103d7a;
    --ds-muted: #f2f4f6;
    --ds-muted-foreground: #626974;
    --ds-border: #e5e7eb;
    color: var(--ds-foreground);
    background: var(--ds-card);
    border: 1px solid var(--ds-border);
    border-radius: 22px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 18px 60px -36px rgba(0, 0, 0, .45);
}

.portal-section .portal-actions {
    gap: 22px;
}

.portal-section .portal-actions .button {
    white-space: nowrap;
    padding-inline: 18px;
}

.portal-preview .portal-bar {
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid var(--ds-border);
    align-items: center;
    padding: 16px 20px;
}

.portal-preview .portal-brand {
    gap: 12px;
}

.portal-preview .portal-brand img {
    object-fit: contain;
    width: 40px;
    height: 40px;
}

.portal-preview .portal-brand div {
    gap: 2px;
    display: grid;
}

.portal-preview .portal-brand b {
    color: var(--ds-foreground);
    font-size: 14px;
    font-weight: 650;
}

.portal-preview .portal-brand div span {
    color: var(--ds-muted-foreground);
    font-size: 11px;
}

.portal-preview .portal-status {
    color: var(--ds-muted-foreground);
    background: var(--ds-muted);
    border: 1px solid var(--ds-border);
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 9px;
    font-weight: 700;
}

.portal-preview .portal-status i {
    background: var(--happy);
    width: 5px;
    height: 5px;
}

.portal-conversation {
    background: var(--ds-background);
    padding: 24px 24px 20px;
}

.portal-preview .portal-answer {
    background: transparent;
    border-radius: 0;
    gap: 22px;
    margin: 0;
    padding: 0;
    display: grid;
}

.portal-question-row {
    justify-content: flex-end;
    display: flex;
}

.portal-question-bubble {
    color: #fff;
    background: var(--ds-secondary);
    border-radius: 18px 18px 5px 18px;
    max-width: 82%;
    padding: 13px 16px 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.portal-preview .portal-question-bubble .answer-kicker {
    color: rgba(255, 255, 255, .68);
}

.portal-preview .portal-answer h4 {
    max-width: 620px;
    margin: 6px 0 0;
    font-size: clamp(15px, 1.4vw, 18px);
    font-weight: 540;
    line-height: 1.45;
}

.portal-response {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    display: grid;
}

.portal-preview .agent-icon {
    color: var(--ds-primary);
    background: rgba(173, 65, 25, .1);
    border-radius: 9px;
    place-items: center;
    width: 34px;
    display: grid;
}

.portal-preview .agent-icon svg {
    width: 18px;
    height: 18px;
}

.portal-response-copy {
    min-width: 0;
}

.portal-response-meta {
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    display: flex;
}

.portal-preview .agent-label {
    color: var(--ds-primary);
}

.portal-response-meta > span:last-child {
    color: var(--ds-muted-foreground);
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.portal-preview .portal-response h3 {
    color: var(--ds-foreground);
    letter-spacing: -.025em;
    margin: 7px 0 8px;
    font-size: clamp(17px, 1.7vw, 21px);
    font-weight: 630;
    line-height: 1.25;
}

.portal-preview .portal-answer p {
    color: #3f4650;
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
}

.portal-evidence {
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    display: flex;
}

.portal-preview .answer-source,
.portal-citation {
    background: var(--ds-card);
    border: 1px solid var(--ds-border);
    border-radius: 999px;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    font-size: 9px;
    display: inline-flex;
}

.portal-preview .answer-source {
    color: #166534;
    gap: 6px;
}

.portal-preview .answer-source span {
    color: #166534;
}

.portal-citation {
    color: var(--ds-muted-foreground);
    gap: 5px;
}

.portal-citation b {
    color: var(--ds-primary);
}

.portal-composer {
    background: rgba(242, 244, 246, .55);
    border-top: 1px solid var(--ds-border);
    padding: 13px 20px 16px;
}

.portal-preview .prompt-tabs {
    scrollbar-width: none;
    gap: 7px;
    padding: 0 0 10px;
}

.portal-preview .prompt-tabs::-webkit-scrollbar {
    display: none;
}

.portal-preview .prompt-tabs button {
    color: var(--ds-muted-foreground);
    background: var(--ds-card);
    border: 1px solid var(--ds-border);
    min-height: 32px;
    padding: 7px 11px;
    font-size: 10px;
    font-weight: 570;
    transition: border-color .18s, background-color .18s, color .18s;
}

.portal-preview .prompt-tabs button:hover,
.portal-preview .prompt-tabs button:focus-visible,
.portal-preview .prompt-tabs button.active {
    color: var(--ds-primary);
    background: rgba(173, 65, 25, .06);
    border-color: rgba(173, 65, 25, .55);
}

.portal-preview .prompt-tabs button:focus-visible {
    outline: 3px solid rgba(173, 65, 25, .18);
    outline-offset: 1px;
}

.portal-composer-field {
    color: var(--ds-muted-foreground);
    background: var(--ds-card);
    border: 1px solid var(--ds-border);
    border-radius: 16px;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 9px 8px 14px;
    font-size: 12px;
    display: flex;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.portal-composer-field b {
    color: var(--ds-primary);
    background: rgba(173, 65, 25, .12);
    border-radius: 9px;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: grid;
}

.portal-composer-field svg {
    width: 16px;
    height: 16px;
}

@media (width <= 820px) {
    .portal-response-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
}

@media (width <= 560px) {
    .portal-preview {
        border-radius: 14px;
        margin-inline: -8px;
        padding: 0;
    }

    .portal-preview .portal-bar {
        padding: 13px 14px;
    }

    .portal-preview .portal-brand img {
        width: 34px;
        height: 34px;
    }

    .portal-conversation {
        padding: 18px 14px 16px;
    }

    .portal-question-bubble {
        max-width: 92%;
    }

    .portal-preview .agent-icon {
        display: grid;
    }

    .portal-evidence {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-composer {
        padding: 12px 14px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-preview .prompt-tabs button {
        transition: none;
    }
}


/* Source: ghost.css */
.gh-content {
    width: min(940px, calc(100% - 48px));
    max-width: none;
    margin: 0 auto;
    overflow-wrap: anywhere;
}

.gh-content > h1 {
    color: var(--black);
    letter-spacing: -0.055em;
    margin: 0 0 42px;
    font-size: clamp(44px, 6vw, 78px);
    font-weight: 600;
    line-height: 1;
}

.gh-content p {
    margin: 0 0 1.5em;
    font-size: clamp(17px, 1.2vw, 19px);
    line-height: 1.72;
}

.kg-width-wide {
    width: min(1100px, calc(100vw - 48px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.kg-width-full {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

/* Evergreen Creative Strategies pages */
.content-page{background:var(--paper);color:var(--black)}
.page-hero{min-height:540px;padding:clamp(80px,9vw,142px) clamp(24px,7vw,112px);display:flex;flex-direction:column;justify-content:flex-end}
.page-hero h1,.newsletter-copy h1{max-width:1080px;margin:0;letter-spacing:-.065em;font-size:clamp(58px,7.2vw,112px);font-weight:580;line-height:.92}
.page-hero>p:last-child,.newsletter-copy>p:last-child{max-width:780px;margin:36px 0 0;font-size:clamp(17px,1.45vw,22px);line-height:1.6}
.page-hero-sunny{background:var(--sunny)}.page-hero-indigo{background:var(--indigo);color:#fff}.page-hero-ground{background:var(--ground);color:#fff}.page-hero-happy{background:var(--happy)}.page-hero-wine{background:var(--wine);color:#fff}.page-hero-magenta{background:var(--magenta);color:#fff}.page-hero-sea{background:var(--sea);color:#fff}
.page-hero-indigo .section-label{color:#fff;align-items:center;gap:12px;display:flex}.page-hero-indigo .section-label:before{background:var(--happy);content:"";flex:0 0 42px;height:4px}
.page-prose{max-width:1050px;margin:0 auto;padding:clamp(72px,8vw,126px) 24px}
.page-prose p{margin:0 0 1.5em;font-size:clamp(18px,1.8vw,26px);line-height:1.65}
.page-prose .page-callout,.page-quote{border-left:5px solid var(--happy);margin-top:60px;padding:28px 0 28px 34px;font-size:clamp(28px,3vw,46px);font-weight:560;line-height:1.2}
.page-quote span{display:block;margin-top:18px;font-size:13px;font-weight:600;letter-spacing:.02em}
.split-prose{max-width:none;grid-template-columns:1fr 1fr;gap:8vw;padding-inline:clamp(24px,7vw,112px);display:grid}
.page-section{padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px)}
.page-heading{max-width:1040px;margin-bottom:52px}.page-heading h2{margin:0;letter-spacing:-.055em;font-size:clamp(44px,5.5vw,84px);font-weight:570;line-height:1}
.service-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-tile{background:#fff;min-height:390px;padding:34px;display:flex;flex-direction:column}.service-tile>span,.insight-grid article>span,.use-grid article>span{color:var(--sunny);letter-spacing:.12em;font-size:11px;font-weight:760}.service-tile h3,.insight-grid h3,.use-grid h3{margin:60px 0 18px;letter-spacing:-.045em;font-size:clamp(30px,3vw,46px);font-weight:580;line-height:1.05}.service-tile p,.insight-grid p{color:var(--muted);font-size:15px;line-height:1.65}.service-tile b{margin-top:auto;font-size:13px}.service-tile.sunny{border-top:5px solid var(--sunny)}.service-tile.happy{border-top:5px solid var(--happy)}.service-tile.magenta{border-top:5px solid var(--magenta)}
.page-cta{background:var(--happy);padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px)}.page-cta h2{max-width:1050px;margin:0 0 44px;letter-spacing:-.055em;font-size:clamp(44px,5.5vw,82px);font-weight:570;line-height:1.02}.page-cta-ground{background:var(--ground);color:#fff}.page-cta-happy{background:var(--happy)}
.matrix-section{background:var(--soft)}.coverage-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.coverage-grid li{--coverage-accent:var(--sunny);background:#fff;border-top:5px solid var(--coverage-accent);min-height:170px;padding:24px 28px 28px;display:flex;flex-direction:column}.coverage-grid li:nth-child(3n+2){--coverage-accent:var(--happy)}.coverage-grid li:nth-child(3n){--coverage-accent:var(--indigo)}.coverage-grid span{color:var(--coverage-accent);letter-spacing:.14em;font-size:10px;font-weight:800}.coverage-grid strong{color:var(--black);letter-spacing:-.025em;margin-top:auto;padding-top:34px;font-size:17px;font-weight:650;line-height:1.35}
.dark-section{background:var(--black);color:#fff}.dark-section .section-label{color:var(--happy)}.number-list{max-width:1000px;margin:0 0 46px;padding:0;list-style:none}.number-list li{border-bottom:1px solid #ffffff2b;align-items:center;gap:24px;padding:22px 0;font-size:clamp(20px,2vw,30px);display:flex}.number-list span{color:var(--happy);font-size:11px;letter-spacing:.1em}
.insight-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);display:grid}.insight-grid article{background:#fff;min-height:330px;padding:34px}.insight-grid article:last-child{grid-column:1/-1}.insight-grid h3{margin-top:48px}
.history-page{max-width:1180px;margin:0 auto;padding:clamp(72px,8vw,126px) 24px}.history-page article{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:50px;padding:48px 0;display:grid}.history-page time{color:var(--happy);font-size:clamp(36px,4vw,60px);font-weight:640;letter-spacing:-.04em}.history-page h2{margin:0 0 18px;letter-spacing:-.045em;font-size:clamp(30px,3.2vw,50px);font-weight:580}.history-page p{color:var(--muted);margin:0;font-size:17px;line-height:1.75}
.delight-hero{background:var(--black);color:#fff;grid-template-columns:1fr minmax(280px,.6fr);align-items:center;gap:7vw;display:grid}.delight-hero h1{color:var(--happy);font-size:clamp(72px,9vw,140px)}.delight-hero img{width:100%;max-width:520px}.delight-points li{border-top:5px solid var(--happy);font-size:17px}.use-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.use-grid article{background:#fff;border-top:5px solid var(--sunny);padding:38px}.use-grid article:nth-child(2){border-color:var(--magenta)}.use-grid h3{margin-top:44px}.use-grid ul{margin:0;padding-left:20px;color:var(--muted);font-size:16px;line-height:1.9}
.form-section{grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);gap:8vw;padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px);display:grid}.form-intro h2{margin:0 0 28px;letter-spacing:-.055em;font-size:clamp(44px,5vw,74px);font-weight:570}.form-intro>p:last-child{color:var(--muted);font-size:16px;line-height:1.7}.cs-form{gap:20px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cs-form label{gap:9px;color:#4d4945;font-size:12px;font-weight:690;display:grid}.cs-form input,.cs-form textarea,.cs-form select{border:1px solid var(--line);border-radius:0;background:#fff;width:100%;padding:14px;font:inherit}.cs-form input,.cs-form select{height:54px}.cs-form input:focus,.cs-form textarea:focus,.cs-form select:focus{outline:3px solid #fdb91344;border-color:var(--sunny)}.cs-form .button{justify-self:start;border:0}.cs-form .button:disabled{cursor:not-allowed;opacity:.55}.cs-form.loading .button{cursor:wait;opacity:.65}.form-note{color:#817c76;margin:0;font-size:11px;line-height:1.55}.form-note a{text-decoration:underline;text-underline-offset:2px}.form-success,.form-error{background:#fff;padding:16px;margin:0;font-size:13px}.form-success{border-left:4px solid var(--happy)}.form-error{border-left:4px solid var(--magenta);color:#71102e}.form-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.cf-turnstile{min-height:65px}
.newsletter-layout{background:var(--sunny);grid-template-columns:minmax(0,1.2fr) minmax(340px,.55fr);align-items:center;gap:8vw;min-height:calc(100vh - 90px);padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px);display:grid}.newsletter-form{background:#fff;padding:36px}.newsletter-form .newsletter-success{display:none}.newsletter-form.success .newsletter-success{display:block}.newsletter-form .form-error:empty{display:none}.newsletter-form.loading .button{cursor:wait;opacity:.65}
.archive-section{grid-template-columns:minmax(0,1fr) 360px;gap:8vw;padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px);display:grid}.archive-list a{border-top:1px solid var(--line);padding:34px 0;display:block}.archive-list span,.article-grid article>span{color:var(--sunny);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:760}.archive-list h2,.article-grid h2{margin:12px 0 16px;letter-spacing:-.045em;font-size:clamp(29px,3vw,46px);font-weight:580;line-height:1.08}.archive-list p,.article-grid p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.archive-aside{align-self:start;background:#fff;border-top:5px solid var(--magenta);padding:28px;position:sticky;top:112px}.archive-aside img{max-width:240px;margin:14px 0}.archive-aside p:not(.section-label){color:var(--muted);font-size:14px;line-height:1.65}.archive-aside .button{margin-top:18px}
.articles-section{padding:clamp(72px,8vw,126px) clamp(24px,7vw,112px)}.filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:42px;display:flex}.filter-pills button{border:1px solid var(--line);background:#fff;padding:10px 14px;font-size:11px;font-weight:700;cursor:pointer}.filter-pills button.active{background:var(--black);color:#fff}.article-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);display:grid}.article-grid article{background:#fff;min-height:310px;padding:34px}.article-grid article[hidden]{display:none}
.editorial-card{flex-direction:column;display:flex}.editorial-card h2 a{transition:color .18s}.editorial-card h2 a:hover{color:var(--sunny)}.editorial-card-link{align-self:flex-start;margin-top:auto}.editorial-empty{background:#fff;border-top:5px solid var(--happy);padding:34px}.editorial-empty>span{color:var(--sunny);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:760}.editorial-empty h2{letter-spacing:-.045em;margin:48px 0 18px;font-size:clamp(29px,3vw,46px);font-weight:580;line-height:1.08}.editorial-empty p{max-width:620px;color:var(--muted);margin:0;font-size:15px;line-height:1.65}.pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:44px;padding-top:22px;font-size:13px;font-weight:700;display:flex}.pagination a{border-bottom:1px solid var(--black);padding-bottom:4px}.editorial-post-header{background:var(--soft);padding:clamp(82px,9vw,142px) clamp(24px,12vw,190px)}.editorial-post-header .section-label{color:var(--sunny)}.editorial-post-header h1{max-width:1120px;letter-spacing:-.06em;margin:0;font-size:clamp(52px,7vw,104px);font-weight:580;line-height:.96}.editorial-byline{margin:32px 0 0;font-size:14px;font-weight:650}.editorial-byline a{border-bottom:1px solid}.editorial-feature-image{width:min(1180px,calc(100% - 48px));margin:clamp(52px,6vw,86px) auto 0}.editorial-feature-image img{width:100%;height:auto}.editorial-feature-image figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.5}.editorial-post-body{padding-block:clamp(64px,7vw,108px)}.editorial-post-body h2,.editorial-post-body h3{color:var(--black);letter-spacing:-.04em;margin:1.7em 0 .65em;font-weight:600;line-height:1.1}.editorial-post-body h2{font-size:clamp(32px,3vw,48px)}.editorial-post-body h3{font-size:clamp(24px,2.3vw,34px)}.editorial-post-body ul,.editorial-post-body ol{margin:0 0 1.5em;padding-left:1.35em;font-size:18px;line-height:1.7}.editorial-post-body ul{list-style:disc}.editorial-post-body ol{list-style:decimal}.editorial-post-body a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px}.editorial-post-body blockquote{border-left:5px solid var(--happy);margin:2em 0;padding:10px 0 10px 28px;font-size:clamp(24px,2.5vw,38px);font-weight:560;line-height:1.3}.editorial-post-body img{height:auto;margin:2.5em auto}.editorial-taxonomy-hero{min-height:430px}.editorial-taxonomy-hero>p:last-child{max-width:680px}
.editorial-post-body img{max-width:100%}
.editorial-post-body iframe,.editorial-post-body video{max-width:100%}
.editorial-post-body pre,.editorial-post-body table{max-width:100%;overflow-x:auto}

@media (max-width:820px){.page-hero{min-height:460px}.split-prose,.service-grid,.insight-grid,.delight-hero,.use-grid,.form-section,.newsletter-layout,.archive-section,.article-grid{grid-template-columns:1fr}.service-tile{min-height:320px}.insight-grid article:last-child{grid-column:auto}.coverage-grid{grid-template-columns:1fr}.coverage-grid li{min-height:150px}.history-page article{grid-template-columns:1fr;gap:18px}.delight-hero img{max-width:360px}.archive-aside{position:static}.newsletter-layout{min-height:0}.form-row{grid-template-columns:1fr}}

@media (max-width:620px){.gh-content{width:calc(100% - 32px)}.editorial-post-header{padding:64px 20px 72px}.editorial-post-header h1{font-size:clamp(40px,12vw,58px)}.editorial-byline{margin-top:24px}.editorial-feature-image{width:calc(100% - 32px)}}

/* Mixed Creative Strategies and external publication research stream */
.research-hero{min-height:420px;padding-block:clamp(62px,6vw,92px)}
.research-hero h1{max-width:900px;font-size:clamp(48px,5.4vw,82px);line-height:.95}
.research-source-guide{background:#fff;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;padding:0 clamp(24px,7vw,112px);display:grid}
.research-source-guide-item{--source-accent:var(--sunny);--source-hover:var(--warm);align-items:center;gap:18px;min-height:104px;padding:16px 0;transition:background .18s;display:flex}
.research-source-guide-item:nth-child(odd){border-right:1px solid var(--line);padding-right:clamp(24px,4vw,64px)}
.research-source-guide-item:nth-child(even){padding-left:clamp(24px,4vw,64px)}
.research-source-guide-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
.research-source-guide-item[href]:hover{background:var(--source-hover)}
.research-source-guide-item[href]:focus-visible{outline:3px solid var(--source-accent);outline-offset:-3px}
.research-source-guide-ds{--source-accent:#9a6e13;--source-hover:#fffaf0}
.research-source-guide-chipstrat{--source-accent:#a95624;--source-hover:#fff8f1}
.research-source-guide-heart{--source-accent:#35669b;--source-hover:#f2f7ff}
.source-guide-mark{aspect-ratio:1;flex:0 0 54px;width:54px;height:54px;display:block}
.source-guide-mark img{object-fit:contain;width:100%;height:100%}
.research-source-guide-item:not(.research-source-guide-cs) .source-guide-mark{background:#fff;border:1px solid var(--line);border-radius:4px;padding:6px}
.research-source-guide-item p{color:var(--source-accent);letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:790}
.research-source-guide-item strong{font-size:14px;font-weight:610;line-height:1.45}
.research-stream-section{background:var(--soft);padding:clamp(58px,6vw,92px) clamp(24px,7vw,112px)}
.research-stream-heading{align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px;display:flex}
.research-stream-heading .section-label{margin-bottom:12px}
.research-stream-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,4vw,58px);font-weight:570;line-height:1}
.research-stream{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}
.research-stream-card{min-width:0;min-height:0;background:#fff}
.creative-research-card-link{border-top:5px solid var(--sunny);flex-direction:column;height:100%;min-height:420px;padding:clamp(24px,2.3vw,34px);display:flex;position:relative;overflow:hidden}
.creative-research-card-link:after{content:"";pointer-events:none;background:linear-gradient(135deg,#f2652200 52%,#f265220c 52%);width:190px;height:190px;position:absolute;top:0;right:0}
.creative-research-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:15px;display:flex}
.creative-research-source{color:var(--sunny);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:780}
.research-card-meta{color:#746f68;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:720}
.creative-research-header .research-card-meta{text-align:right;white-space:nowrap}
/* The byline sits under the headline so the header row carries only the source
   and the date, matching the external publication cards. */
.research-card-byline{color:#8a8279;letter-spacing:.07em;text-transform:uppercase;margin:-4px 0 14px;font-size:10px;font-weight:720;display:block}
.research-stream-card h2{letter-spacing:-.045em;margin:24px 0 14px;font-size:clamp(27px,2.5vw,38px);font-weight:580;line-height:1.04}
.research-stream-card-cs p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}
.creative-research-cta{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:15px;font-size:12px;font-weight:730;display:flex}
.creative-research-cta b{color:var(--sunny)}
.creative-research-card-link,.publication-card-link{transition:transform .2s,box-shadow .2s}
.creative-research-card-link:hover,.creative-research-card-link:focus-visible{background:var(--warm);box-shadow:inset 0 0 0 2px var(--sunny)}
.publication-card-link{--publication-bg:#fff;--publication-ink:var(--black);--publication-muted:#746f68;--publication-accent:var(--sunny);--publication-line:#ddd7cf;--publication-mark-bg:#fff;background:var(--publication-bg);color:var(--publication-ink);border-top:5px solid var(--publication-accent);flex-direction:column;height:100%;display:flex}
.publication-card-link-diligence{--publication-bg:#171612;--publication-ink:#fff8eb;--publication-muted:#a99f8e;--publication-accent:#d4a632;--publication-line:#ffffff2b;--publication-mark-bg:#fff8eb}
.publication-card-link-chipstrat{--publication-bg:#fffaf3;--publication-ink:#1b1713;--publication-muted:#75695f;--publication-accent:#bd632c;--publication-line:#dfcdbf;--publication-mark-bg:#fff}
.publication-card-link-heart{--publication-bg:#f3f7fd;--publication-ink:#1e2e42;--publication-muted:#60748c;--publication-accent:#4b7eb6;--publication-line:#cbd8e7;--publication-mark-bg:#eef5ff}
.publication-card-image{aspect-ratio:2.4/1;background:#ece8e2;display:block;overflow:hidden}
.publication-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s,filter .35s}
.publication-card-link:hover .publication-card-image img{filter:saturate(1.08);transform:scale(1.025)}
.publication-card-link:hover{box-shadow:inset 0 0 0 2px var(--publication-accent)}
.publication-card-copy{flex:1;flex-direction:column;padding:22px 26px 24px;display:flex}
.publication-source{align-items:center;gap:11px;display:flex}
.publication-source img{object-fit:contain;width:40px;height:40px;background:var(--publication-mark-bg);border:1px solid var(--publication-line);border-radius:4px;padding:4px}
.publication-source>span{color:var(--publication-accent);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:790}
.research-stream-card-external .research-card-meta{color:var(--publication-muted);margin-top:15px}
.research-stream-card-external h2{color:var(--publication-ink);margin:11px 0 18px;font-size:clamp(25px,2.3vw,35px)}
.publication-card-cta{border-top:1px solid var(--publication-line);color:var(--publication-ink);justify-content:space-between;margin-top:auto;padding-top:14px;font-size:11px;font-weight:710;display:flex}
.publication-card-cta b{color:var(--publication-accent)}
.publication-card-link:focus-visible{outline:3px solid var(--publication-accent);outline-offset:-3px}
.research-stream-empty{min-height:420px}
.articles-stream-heading{margin-bottom:38px}

@media (max-width:820px){
    .research-hero{min-height:360px;padding-block:56px}
    .research-source-guide,.research-stream{grid-template-columns:1fr}
    .research-source-guide-item:nth-child(n){border-right:0;padding-inline:0}
    .research-source-guide-item:not(:last-child){border-bottom:1px solid var(--line)}
    .research-stream-heading{align-items:flex-start;flex-direction:column}
    .creative-research-card-link{min-height:360px}
}

@media (max-width:520px){
    .research-source-guide-item{min-height:112px}
    .creative-research-header{align-items:flex-start;flex-direction:column;gap:8px}
    .creative-research-header .research-card-meta{text-align:left}
    .creative-research-card-link{padding:28px 24px}
    .publication-card-copy{padding:24px}
}

/* The archive is a scan-first research index. These overrides are scoped to
   /research/ so the homepage keeps its larger four-item feature treatment. */
.research-page .research-hero{min-height:320px;padding-block:clamp(44px,4.5vw,68px)}
.research-page .research-hero h1{max-width:820px;font-size:clamp(43px,4.5vw,68px);line-height:.97}
.research-page .research-source-guide-item{gap:13px;min-height:88px;padding-block:12px}
.research-page .source-guide-mark{flex-basis:44px;width:44px;height:44px}
.research-page .research-source-guide-item p{margin-bottom:3px;font-size:9px}
.research-page .research-source-guide-item strong{font-size:12px;line-height:1.35}
.research-page .research-stream-section{padding-block:clamp(40px,4vw,58px)}
.research-page .research-stream-heading{margin-bottom:22px}
.research-page .research-stream-heading .section-label{margin-bottom:8px}
.research-page .research-stream-heading h2{font-size:clamp(34px,3.2vw,48px)}
.research-page .creative-research-card-link{border-top-width:4px;min-height:0;padding:22px 20px}
.research-page .creative-research-card-link:after{width:130px;height:130px}
.research-page .creative-research-header{align-items:flex-start;flex-direction:column;gap:5px;padding-bottom:12px}
.research-page .creative-research-header .research-card-meta{text-align:left}
.research-page .creative-research-source{font-size:10px}
.research-page .research-card-meta{font-size:11px}
.research-page .research-stream-card h2{margin:15px 0 12px;font-size:clamp(21px,1.7vw,26px);line-height:1.08}
.research-page .research-card-byline{margin:-6px 0 11px;font-size:10px}
.research-page .research-stream-card-cs p{-webkit-box-orient:vertical;-webkit-line-clamp:4;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}
.research-page .creative-research-cta{padding-top:13px;font-size:12px}
/* One card surface across the archive. Filled per-publication panels turned the
   grid into a checkerboard, so identity rides on the accent rule, mark, and
   label instead. Accents match the source legend above and hold contrast on
   white. */
.research-page .publication-card-link{--publication-bg:#fff;--publication-ink:var(--black);--publication-muted:#746f68;--publication-line:#ddd7cf;border-top-width:4px;position:relative}
.research-page .publication-card-link-diligence{--publication-accent:#9a6e13;--publication-mark-bg:#fff8eb}
.research-page .publication-card-link-chipstrat{--publication-accent:#a95624}
.research-page .publication-card-link-heart{--publication-accent:#35669b;--publication-mark-bg:#eef5ff}
/* Cover art keeps its native 16:9 framing. A wider crop sliced through the
   charts and titles that carry most of these thumbnails. */
.research-page .publication-card-image{aspect-ratio:16/9;border-bottom:1px solid var(--publication-line)}
/* The publication mark reads as a byline row above the headline rather than a
   chip floated over the artwork, where light cover images swallowed it. */
.research-page .publication-card-copy{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:center;padding:14px 18px 17px;display:grid}
.research-page .publication-card-link:has(.publication-card-image) .publication-source{box-shadow:none;background:none;padding:0;position:static}
.research-page .publication-source{grid-area:1/1/2/2;gap:9px}
.research-page .publication-source img{width:26px;height:26px;padding:3px}
.research-page .publication-source>span{font-size:10px}
.research-page .research-stream-card-external .research-card-meta{grid-area:1/2/2/3;justify-self:end;margin-top:0;white-space:nowrap}
.research-page .research-stream-card-external h2{border-top:1px solid var(--publication-line);grid-area:2/1/3/3;align-self:start;margin:13px 0 14px;padding-top:14px;font-size:clamp(20px,1.6vw,24px);line-height:1.12}
.research-page .publication-card-cta{grid-area:3/1/4/3;padding-top:13px;font-size:12px}
.research-page .research-stream-empty{min-height:0}

/* Archive layouts. The rules above are the card grid, which is the default; the
   block below re-skins the same markup as a single-column list. Both stay
   available: drop "research-stream-list" from the stream in
   research-archive.hbs (and set data-research-layout="cards") to go back. */
.research-page .research-stream.research-stream-list{grid-template-columns:minmax(0,1fr)}
/* Row gap stays 0 so the native-report row keeps its rhythm when the excerpt is
   hidden on small screens. Vertical spacing comes from the child margins. */
.research-page .research-stream-list .publication-card-link,.research-page .research-stream-list .creative-research-card-link{grid-template-columns:clamp(150px,18vw,232px) minmax(0,1fr);align-items:center;column-gap:clamp(18px,2.2vw,30px);border:0;border-left:3px solid var(--publication-accent,var(--sunny));padding:clamp(16px,1.6vw,22px) clamp(18px,2vw,28px);display:grid}
.research-page .research-stream-list .publication-card-link:hover,.research-page .research-stream-list .creative-research-card-link:hover,.research-page .research-stream-list .creative-research-card-link:focus-visible{background:var(--warm);box-shadow:none}
.research-page .research-stream-list .publication-card-image{aspect-ratio:16/9;border:1px solid var(--publication-line)}
.research-page .research-stream-list .publication-card-copy{grid-template-rows:auto auto auto;padding:0}
.research-page .research-stream-list .research-stream-card-external h2{border-top:0;margin:9px 0 10px;padding-top:0;font-size:clamp(20px,1.55vw,25px);line-height:1.15}
/* Native reports use og_image, then twitter_image, then feature_image. The
   mark remains the fallback when Ghost has no post-specific card yet. Each
   leading visual spans the full row stack so every row keeps the same edge. */
.research-page .research-stream-list .creative-research-card-link{grid-template-rows:auto auto auto auto auto}
.research-page .research-stream-list .creative-research-card-link:before{content:"";aspect-ratio:16/9;background:var(--warm) url(../images/creative-strategies-mark.svg) center/38% no-repeat;border:1px solid var(--line);grid-area:1/1/6/2;align-self:center}
.research-page .research-stream-list .creative-research-card-image{aspect-ratio:16/9;object-fit:contain;background:var(--warm);border:1px solid var(--line);grid-area:1/1/6/2;align-self:center;width:100%;height:auto;display:block}
.research-page .research-stream-list .creative-research-card-link:has(.creative-research-card-image):before{display:none}
.research-page .research-stream-list .creative-research-card-link:after{display:none}
.research-page .research-stream-list .creative-research-header{border-bottom:0;grid-area:1/2/2/3;flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:0}
.research-page .research-stream-list .research-stream-card-cs h2{grid-area:2/2/3/3;margin:9px 0 8px;font-size:clamp(20px,1.55vw,25px);line-height:1.15}
.research-page .research-stream-list .research-card-byline{grid-area:3/2/4/3;margin:-1px 0 9px}
.research-page .research-stream-list .research-stream-card-cs p{-webkit-line-clamp:2;grid-area:4/2/5/3;margin-bottom:11px;font-size:12.5px}
.research-page .research-stream-list .creative-research-card-link:not(:has(.creative-research-card-image)) .research-card-excerpt{-webkit-line-clamp:8;max-height:7.75em;overflow:hidden}
.research-page .research-stream-list .creative-research-cta{grid-area:5/2/6/3}
.research-page .research-stream-list .publication-card-cta,.research-page .research-stream-list .creative-research-cta{border-top:0;justify-content:flex-start;gap:8px;padding-top:0;font-size:11.5px}

@media (min-width:1100px){
    .research-page .research-source-guide{grid-template-columns:repeat(4,minmax(0,1fr))}
    .research-page .research-source-guide-item:nth-child(n){border-bottom:0;border-right:1px solid var(--line);padding-inline:clamp(14px,1.8vw,28px)}
    .research-page .research-source-guide-item:first-child{padding-left:0}
    .research-page .research-source-guide-item:last-child{border-right:0;padding-right:0}
    .research-page .research-stream{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:701px) and (max-width:1099px){
    .research-page .research-source-guide,.research-page .research-stream{grid-template-columns:repeat(2,minmax(0,1fr))}
    .research-page .research-source-guide-item:nth-child(odd){border-right:1px solid var(--line);padding-left:0;padding-right:clamp(20px,3vw,38px)}
    .research-page .research-source-guide-item:nth-child(even){border-right:0;padding-left:clamp(20px,3vw,38px);padding-right:0}
    .research-page .research-source-guide-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

@media (max-width:700px){
    .research-page .research-hero{min-height:260px;padding-block:42px}
    .research-page .research-hero h1{font-size:clamp(38px,11vw,52px)}
    .research-page .research-source-guide{grid-template-columns:repeat(2,minmax(0,1fr))}
    .research-page .research-source-guide-item:nth-child(n){gap:8px;min-height:74px;border-right:0;border-bottom:0;padding-block:10px}
    .research-page .research-source-guide-item:nth-child(odd){border-right:1px solid var(--line);padding-left:0;padding-right:10px}
    .research-page .research-source-guide-item:nth-child(even){padding-left:10px;padding-right:0}
    .research-page .research-source-guide-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
    .research-page .source-guide-mark{flex-basis:34px;width:34px;height:34px}
    .research-page .research-source-guide-item p{margin:0;line-height:1.25}
    .research-page .research-source-guide-item strong{display:none}
    .research-page .research-stream{grid-template-columns:1fr}
    .research-page .research-stream-heading{margin-bottom:18px}
    .research-page .creative-research-card-link{padding:20px 18px}
    .research-page .research-stream-card h2{font-size:23px}
    .research-page .research-stream-card-external h2{margin:14px 0 15px;font-size:22px}
    .research-page .publication-card-copy{padding:15px 18px 18px}
    .research-page .publication-source img{width:30px;height:30px}
}

/* The list stays a list on a phone but drops its leading thumbnail. Cover art
   is unreadable at the width a phone can spare, and a thumbnail wide enough to
   read squeezed the headlines down to an ellipsis. The mark and the accent rule
   carry the publication instead. */
@media (max-width:700px){
    .research-page .research-stream-list .publication-card-link,.research-page .research-stream-list .creative-research-card-link{grid-template-columns:minmax(0,1fr);align-items:start;padding:15px 16px 16px}
    .research-page .research-stream-list .publication-card-image,.research-page .research-stream-list .creative-research-card-image,.research-page .research-stream-list .creative-research-card-link:before{display:none}
    .research-page .research-stream-list .publication-card-copy{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto}
    .research-page .research-stream-list .research-stream-card-external .research-card-meta{grid-area:1/2/2/3;justify-self:end;margin-top:0}
    .research-page .research-stream-list .research-stream-card-external h2{grid-area:2/1/3/3;margin:9px 0 10px;font-size:19px}
    .research-page .research-stream-list .publication-card-cta{grid-area:3/1/4/3}
    /* One column, so DOM order can place the native-report rows. The header
       keeps the source and date on one line here now that the byline moved out
       from under the date. */
    .research-page .research-stream-list .creative-research-card-link{grid-template-rows:none}
    .research-page .research-stream-list .creative-research-header,.research-page .research-stream-list .research-stream-card-cs h2,.research-page .research-stream-list .research-card-byline,.research-page .research-stream-list .creative-research-cta{grid-area:auto}
    .research-page .research-stream-list .research-stream-card-cs h2{font-size:19px}
    .research-page .research-stream-list .research-stream-card-cs p{display:none}
    /* The mark moves into the header once the leading tile is gone, so every
       row starts on the same left edge. The label never breaks: it is a
       two-word brand name, and a fallback font wide enough to wrap it split it
       across two lines. */
    .research-page .research-stream-list .publication-source img{width:28px;height:28px}
    .research-page .research-stream-list .creative-research-source{align-items:center;gap:9px;white-space:nowrap;display:flex}
    /* The mark artwork covers only 73% of its own SVG viewBox, where the other
       three marks fill their bitmaps. Matching the box sizes therefore drew this
       one noticeably smaller, so it takes the full box to land on the same ink
       height as the rest. */
    .research-page .research-stream-list .creative-research-source:before{content:"";background:#fff url(../images/creative-strategies-mark.svg) center/110% no-repeat;border:1px solid #ddd7cf;border-radius:4px;flex:0 0 28px;height:28px}
}

/* Brand icon system: restrained line symbols in place of text/emoji glyphs. */
.cs-icon{width:1em;height:1em;flex:0 0 auto;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cs-icon-play{fill:currentColor;stroke:none}
.login-button,.text-link,.button,.impact-card a,.creative-research-cta,.publication-card-cta,.watch-link,.channel-subscribe{align-items:center}
.login-button .cs-icon,.text-link .cs-icon,.button .cs-icon,.impact-card a .cs-icon,.creative-research-cta .cs-icon,.publication-card-cta .cs-icon,.watch-link .cs-icon,.channel-subscribe .cs-icon{width:16px;height:16px;color:var(--sunny)}
.button-primary .cs-icon,.button-dark .cs-icon{color:currentColor}
.youtube-mark .cs-icon,.play-button .cs-icon{width:19px;height:19px;color:currentColor}
.answer-source .cs-icon{width:14px;height:14px;color:#166534}
.research-source-guide-item strong{align-items:center;gap:6px;display:flex}
.research-source-guide-item strong .cs-icon{width:14px;height:14px;color:var(--source-accent)}

/* The homepage uses the same balanced four-publication stream as /research/. */
.research-publications{align-self:stretch;flex-direction:column;justify-content:center;display:flex}
.research-publications .research-publications-kicker{color:var(--black);letter-spacing:-.02em;margin:0 0 18px;font-size:19px;font-weight:690;line-height:1.25}
.research-publication-marks{z-index:1;align-items:center;gap:12px;margin-bottom:18px;display:flex}
.research-publication-mark{position:relative}
.research-publication-mark-frame{background:#fff;border:1px solid var(--line);border-radius:4px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}
.research-description .research-publication-marks img{object-fit:cover;width:100%;height:100%;max-height:none;background:0 0;border:0;border-radius:0;padding:0}
.research-description .research-publication-mark:first-child img{object-fit:contain;width:138%;height:138%}
.research-publication-mark:after{content:attr(data-name);z-index:2;color:#fff;letter-spacing:.01em;pointer-events:none;background:var(--ink);border-radius:4px;padding:5px 8px;font-size:11px;font-weight:650;line-height:1.25;white-space:nowrap;opacity:0;transition:opacity .16s ease;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.research-publication-mark:first-child:after{left:0;transform:none}
.research-publication-mark:last-child:after{left:auto;right:0;transform:none}
.research-publication-mark:hover:after,.research-publication-mark:focus-within:after{opacity:1}
.home-research-stream{--research-limit:4;--research-columns:2;margin-top:46px}
/* Keep the four-card preview even before JavaScript (or without it). */
.home-research-stream > [data-research-item]:nth-of-type(n+5){display:none}
.home-research-stream .creative-research-card-link{--home-research-card-pad-x:22px;border-top-width:4px;min-height:0;padding:20px var(--home-research-card-pad-x)}
.home-research-stream .creative-research-card-link:after{width:120px;height:120px}
.home-research-stream .creative-research-card-link:has(.creative-research-card-image[data-card-image="social"]){padding-top:0}
.home-research-stream .creative-research-card-link:has(.creative-research-card-image[data-card-image="social"]):after{display:none}
.home-research-stream .creative-research-card-image[data-card-image="social"]{aspect-ratio:3/1;object-fit:cover;background:var(--warm);width:calc(100% + var(--home-research-card-pad-x)*2);max-width:none;height:auto;margin:0 calc(var(--home-research-card-pad-x)*-1) 16px;display:block}
.home-research-stream .creative-research-card-image[data-card-image="feature"]{aspect-ratio:3/1;object-fit:cover;width:100%;height:auto;margin-bottom:16px;display:block}
.home-research-stream .creative-research-header{gap:12px;padding-bottom:11px}
.home-research-stream .research-stream-card h2{margin:16px 0 10px;font-size:clamp(22px,1.8vw,28px);line-height:1.08}
.home-research-stream .research-card-byline{margin:-2px 0 10px}
.home-research-stream .research-stream-card-cs .research-card-excerpt{flex:1 1 auto;min-height:0;font-size:13px;line-height:1.5;overflow:hidden}
.home-research-stream .creative-research-card-link:not(:has(.creative-research-card-image)) .research-card-excerpt{-webkit-box-orient:vertical;-webkit-line-clamp:8;display:-webkit-box}
.home-research-stream .creative-research-cta{padding-top:12px}
.home-research-stream .publication-card-link{border-top-width:4px;position:relative}
.home-research-stream .publication-card-image{aspect-ratio:3/1}
.home-research-stream .publication-card-copy{padding:16px 20px 18px}
.home-research-stream .publication-source img{width:32px;height:32px}
.home-research-stream .publication-card-link:has(.publication-card-image) .publication-source{z-index:1;background:var(--publication-bg);border-radius:4px;padding:4px 10px 4px 4px;position:absolute;top:12px;left:12px;box-shadow:0 2px 12px #00000029}
.home-research-stream .publication-card-link:has(.publication-card-image) .research-card-meta{margin-top:0}
.home-research-stream .research-stream-card-external .research-card-meta{margin-top:10px}
.home-research-stream .research-stream-card-external h2{margin:8px 0 12px;font-size:clamp(20px,1.7vw,26px);line-height:1.12}
.home-research-stream .publication-card-cta{padding-top:12px}
.home-research-stream .research-stream-empty{min-height:0}

/* Wide displays get nine smaller cards, not two endlessly growing columns. */
@media (min-width: 1600px) {
    .research-section .research-heading-wrap,
    .home-research-stream {
        max-width: 1500px;
        margin-inline: auto;
    }

    .home-research-stream {
        --research-limit: 9;
        --research-columns: 3;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-research-stream > [data-research-item]:nth-of-type(n+5) {
        display: block;
    }

    .home-research-stream .research-stream-card h2 {
        font-size: 22px;
        line-height: 1.15;
    }

    .home-research-stream .research-stream-card-cs .research-card-excerpt {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        flex: 0 1 auto;
        max-height: 3em;
        overflow: hidden;
    }
}

/* Contact is a practical next step: keep the introduction quiet and the form close. */
.page-hero.contact-hero {
    min-height: 0;
    padding-block: clamp(36px, 5vw, 64px);
    background: var(--soft);
    color: var(--black);
    border-bottom: 1px solid var(--line);
}

.contact-hero .section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--muted);
}

.contact-hero .section-label::before {
    content: "";
    width: 40px;
    height: 4px;
    background: var(--happy);
}

.page-hero.contact-hero h1 {
    max-width: 22ch;
    font-size: clamp(36px, 4.5vw, 64px);
    letter-spacing: -0.045em;
    line-height: 1.06;
}

.page-hero.contact-hero > p:last-child {
    max-width: 640px;
    margin-top: 20px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.6;
}

.form-section.contact-form-section {
    padding-block: clamp(32px, 5vw, 64px);
    gap: clamp(32px, 6vw, 80px);
    align-items: start;
}

.contact-form-section .form-intro h2 {
    margin-bottom: 20px;
    font-size: clamp(28px, 3vw, 40px);
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.contact-form-section .form-intro > p:not(.section-label) {
    max-width: 34ch;
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.6;
}

.contact-form-section .form-note {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

@media (max-width:820px){
    .research-publications{margin-top:6px}
}


/* Source: media-feed.css */
.channel-proof {
    background: #fff;
    border: 1px solid var(--line);
    padding: 22px 24px;
    box-shadow: none;
}

.channel-proof .youtube-mark {
    width: 58px;
    height: 58px;
    color: var(--ink);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: none;
}

.channel-proof .youtube-mark .cs-icon {
    color: var(--sunny);
}

.channel-proof small {
    font-size: 12px;
}

.channel-proof .channel-subscribe {
    margin-left: auto;
    padding: 8px 0 5px;
    color: var(--ink);
    background: none;
    border: 0;
    border-bottom: 1px solid var(--ink);
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    font-size: 14px;
    font-weight: 680;
    gap: 10px;
}

.channel-proof .channel-subscribe:hover,
.channel-proof .channel-subscribe:focus-visible {
    color: var(--ink);
    background: none;
    transform: none;
    box-shadow: none;
}

.channel-proof .channel-subscribe .cs-icon {
    color: var(--sunny);
}

.media-card[data-youtube-video] .media-image {
    background: var(--black);
}

@media (max-width: 560px) {
    .channel-proof .channel-subscribe {
        width: auto;
        margin: 8px 0 0;
    }
}


/* Source: mobile.css */
/*
 * Mobile optimization pass. Loaded after every other stylesheet so
 * equal-specificity overrides win through cascade order alone.
 */

/* Guard horizontal overflow at the root instead of on <main> so the
   sticky site header works on every page, not only the homepage. */
html,
body {
    overflow-x: hidden;
}

@supports (overflow-x: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

main {
    overflow: visible;
}

/* Keep anchor targets clear of the sticky header. */
[id] {
    scroll-margin-top: 96px;
}

/* Balance multi-line display headings where supported. */
.page-hero h1,
.newsletter-copy h1,
.team-hero-copy h1,
.hero-live-copy h1,
.section-heading h2,
.page-heading h2,
.page-cta h2,
.members-heading h2 {
    text-wrap: balance;
}

/* The approved What We Do statement is longer than the original headline.
   Give it a calmer three-line desktop measure without reducing its hierarchy. */
.impact-heading h2 {
    max-width: 850px;
    font-size: clamp(42px, 4.15vw, 60px);
    line-height: 1.01;
}

/* Desktop hero stack: keep Silicon → Adoption fully visible and
   centered. The five-layer strip used to sit on a 710px min-width
   with overflow-x scroll, so a slightly narrower card hid Adoption
   behind a scrollbar. */
.hero-stack-scroll {
    overflow-x: hidden;
    display: flex;
    justify-content: center;
}

.hero-stack {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.stack-layer {
    padding-inline: clamp(6px, 1.2vw, 22px);
}

.closing-actions .text-link {
    display: none;
}

/* The 224px wordmark sat in a 200px column (and the centered
   desktop nav stayed inline) between 821px and 1100px, so the
   page links ran into the logo while resizing. Keep the mark
   inside its column and collapse to the drawer before that. */
.brand-link {
    max-width: 100%;
    min-width: 0;
}

.brand-logo {
    max-width: 100%;
}

@media (width <= 1100px) {
    .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .menu-button {
        display: block;
        justify-self: end;
    }

    .site-nav {
        display: none;
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: #fff;
        border-bottom: 1px solid var(--line);
        padding: 14px 22px 22px;
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav a {
        border-bottom: 1px solid #eeeae4;
        padding: 14px 0;
    }
}

/* History band: below a true desktop width the 420px timeline
   column crushes the copy and stretches the section. Keep the
   timeline above the text and let both use the full measure;
   only split into columns once there is room to widen. */
.history-band {
    grid-template-columns: 1fr;
    grid-template-areas:
        "timeline"
        "copy";
    align-items: start;
    justify-items: stretch;
    gap: clamp(28px, 4vw, 48px);
}

.history-copy {
    grid-area: copy;
}

.history-timeline {
    --timeline-date-size: 38px;
    grid-area: timeline;
    align-items: start;
    width: 100%;
    margin-top: 0;
}

.history-timeline .timeline-item strong {
    font-size: var(--timeline-date-size);
    line-height: 1;
}

/* Center connectors on the date line, not the whole date-and-caption block. */
.history-timeline .timeline-line {
    margin-block: calc(var(--timeline-date-size) / 2) 0;
}

@media (width >= 1100px) {
    .history-band {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
        grid-template-areas: "copy timeline";
        align-items: center;
        gap: clamp(40px, 6vw, 96px);
    }
}

/* Impact cards: keep the CTA rule under the copy, size to content,
   and only run three columns once each card is wide enough. */
.impact-grid {
    grid-template-columns: 1fr;
}

.impact-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 28px 30px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
}

.impact-card:last-child {
    border-bottom: 0;
}

.impact-card h3 {
    margin: 28px 0 14px;
}

.impact-card p {
    margin-bottom: 20px;
}

.impact-card a {
    position: static;
    margin-top: auto;
}

@media (width >= 1100px) {
    .impact-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .impact-card {
        border-right: 1px solid var(--line);
        border-bottom: 0;
    }

    .impact-card:last-child {
        border-right: 0;
        border-bottom: 0;
    }
}

/* Comfortable tap target for pagination links. */
.pagination a {
    padding: 12px 0 8px;
    display: inline-block;
}

/* Article body robustness on narrow screens (and everywhere else):
   scrollable tables, proportional video embeds, readable code blocks. */
.editorial-post-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.editorial-post-body th,
.editorial-post-body td {
    border-bottom: 1px solid var(--line);
    min-width: 110px;
    padding: 10px 14px 10px 0;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
}

.editorial-post-body th {
    color: var(--black);
    font-weight: 660;
}

.editorial-post-body iframe[src*="youtube"],
.editorial-post-body iframe[src*="youtu.be"],
.editorial-post-body iframe[src*="vimeo"],
.editorial-post-body iframe[src*="wistia"] {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.editorial-post-body pre {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 6px;
    margin: 0 0 1.5em;
    padding: 16px;
    font-size: 13.5px;
    line-height: 1.6;
    overflow-x: auto;
}

@media (width <= 820px) {
    .menu-button {
        width: 44px;
        height: 44px;
    }

    .site-nav a {
        font-size: 16px;
    }

    .site-footer {
        gap: 28px;
        padding-block: 32px;
    }

    .site-footer-nav {
        gap: 2px 14px;
    }

    .site-footer-nav a {
        padding: 12px 4px;
        display: inline-block;
    }

    .site-footer-social a {
        width: 40px;
        height: 40px;
    }
}

/* Keep the headline and supporting paragraph comfortably separated before
   narrower desktop columns force the display copy into five or six lines. */
@media (width <= 1000px) {
    .impact-section {
        grid-template-columns: 1fr;
        row-gap: 32px;
    }

    .impact-intro {
        align-self: start;
        max-width: 640px;
    }
}

@media (width <= 620px) {
    /* Phone-scale display typography. The desktop clamps bottom out
       near print sizes (44-72px) that swallow small screens. */
    .page-hero h1,
    .newsletter-copy h1,
    .research-hero h1 {
        font-size: clamp(36px, 10.5vw, 44px);
        letter-spacing: -0.045em;
    }

    .page-hero {
        min-height: 400px;
        padding-top: 60px;
    }

    .page-hero > p:last-child,
    .newsletter-copy > p:last-child {
        margin-top: 20px;
    }

    .research-hero {
        min-height: 320px;
    }

    .delight-hero h1 {
        font-size: clamp(50px, 14.5vw, 60px);
    }

    .page-heading h2,
    .page-cta h2,
    .form-intro h2 {
        font-size: clamp(29px, 8.4vw, 35px);
        letter-spacing: -0.04em;
    }

    .page-heading {
        margin-bottom: 34px;
    }

    .page-cta h2 {
        margin-bottom: 34px;
    }

    .members-heading h2 {
        font-size: clamp(32px, 9vw, 38px);
    }

    .team-hero-copy h1 {
        font-size: clamp(42px, 12.5vw, 54px);
    }

    .team-principle blockquote {
        font-size: clamp(27px, 7.8vw, 33px);
        letter-spacing: -0.04em;
    }

    .research-stream-heading h2,
    .history-copy h2,
    .portal-copy h2,
    .section-heading h2,
    .closing-section h2 {
        font-size: clamp(29px, 8.4vw, 35px);
        letter-spacing: -0.04em;
    }

    .hero-live-copy h1 {
        font-size: clamp(35px, 10.8vw, 44px);
    }

    .gh-content > h1 {
        font-size: clamp(32px, 9.5vw, 40px);
    }

    .editorial-post-body h2 {
        font-size: clamp(26px, 7.5vw, 30px);
    }

    .editorial-post-body h3 {
        font-size: clamp(21px, 6vw, 24px);
    }

    .editorial-post-body blockquote {
        font-size: clamp(21px, 6vw, 26px);
        padding-left: 20px;
    }

    .page-prose p {
        font-size: 17px;
    }

    .page-prose .page-callout,
    .page-quote {
        margin-top: 40px;
        padding: 20px 0 20px 22px;
        font-size: clamp(23px, 6.6vw, 28px);
    }

    .history-page time {
        font-size: 32px;
    }

    /* Tighter vertical rhythm: desktop sections keep 60-120px of
       padding that reads as dead air on a phone. */
    .section,
    .page-section,
    .page-cta,
    .team-members-section,
    .team-principle,
    .portal-section,
    .form-section,
    .articles-section,
    .history-page,
    .page-prose {
        padding-block: 52px;
    }

    .history-band,
    .newsletter-layout {
        padding-block: 46px;
    }

    /* Keep the three company milestones in one compact row on phones.
       The desktop stylesheet stacks this component below 560px, which
       turns a small timeline into most of a screen of empty space. */
    .history-timeline {
        --timeline-date-size: clamp(24px, 7vw, 29px);
        grid-template-columns:
            minmax(0, 1fr) minmax(12px, 0.32fr)
            minmax(0, 1fr) minmax(12px, 0.32fr)
            minmax(0, 1fr);
        align-items: start;
        gap: 0 8px;
    }

    .timeline-item {
        min-width: 0;
    }

    .timeline-item strong {
        margin-bottom: 8px;
    }

    .timeline-item span {
        max-width: none;
        font-size: 10px;
        line-height: 1.35;
    }

    .timeline-line {
        width: 100%;
        height: 1px;
        margin-inline: 0;
    }

    .research-stream-section {
        padding-block: 44px;
    }

    .team-hero {
        padding-top: 48px;
    }

    /* Collapse the tall fixed-height tiles: content should set the
       height, and numbers should not float 60-90px above headings. */
    .impact-card {
        flex-direction: column;
        min-height: 0;
        padding: 26px 22px;
        display: flex;
    }

    .impact-card h3 {
        margin: 40px 0 14px;
        font-size: 24px;
    }

    .impact-card p {
        margin-bottom: 24px;
    }

    .impact-card a {
        margin-top: auto;
        position: static;
    }

    .service-tile,
    .insight-grid article {
        min-height: 0;
        padding: 26px 22px;
    }

    .use-grid article {
        padding: 28px 22px;
    }

    .service-tile h3,
    .insight-grid h3,
    .use-grid h3 {
        margin: 32px 0 14px;
        font-size: 25px;
    }

    .article-grid article {
        min-height: 0;
        padding: 26px 20px;
    }

    .editorial-empty {
        padding: 28px 22px;
    }

    .editorial-empty h2 {
        margin-top: 32px;
    }

    /* Condensed research-stream cards: list-scale titles, tighter
       chrome, clamped excerpts, shorter image banners. */
    .home-research-stream {
        margin-top: 30px;
    }

    .research-description {
        padding: 22px 20px;
    }

    .creative-research-card-link {
        min-height: 0;
        padding: 20px 18px;
    }

    .home-research-stream .creative-research-card-link {
        --home-research-card-pad-x: 18px;
    }

    .creative-research-header {
        gap: 5px;
        padding-bottom: 12px;
    }

    .research-stream-card h2 {
        margin: 12px 0 10px;
        font-size: 22px;
    }

    .research-stream-card-cs p {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        font-size: 12px;
        line-height: 1.5;
        display: -webkit-box;
        overflow: hidden;
    }

    .creative-research-cta {
        padding-top: 12px;
    }

    .publication-card-image {
        aspect-ratio: 3 / 1;
    }

    .publication-card-copy {
        padding: 16px 18px 18px;
    }

    .publication-source img {
        width: 32px;
        height: 32px;
    }

    /* Publication badge sits on the image banner as a solid chip
       instead of a text row above the title. */
    .publication-card-link {
        position: relative;
    }

    .publication-card-link:has(.publication-card-image) .publication-source {
        z-index: 1;
        background: var(--publication-bg);
        border-radius: 4px;
        padding: 4px 10px 4px 4px;
        position: absolute;
        top: 12px;
        left: 12px;
        box-shadow: 0 2px 12px #00000029;
    }

    .publication-card-link:has(.publication-card-image) .research-card-meta {
        margin-top: 0;
    }

    .research-stream-card-external .research-card-meta {
        margin-top: 12px;
    }

    .publication-card-cta {
        padding-top: 12px;
    }

    .research-stream-empty {
        min-height: 0;
    }

    .coverage-grid li {
        min-height: 120px;
        padding: 20px;
    }

    .coverage-grid strong {
        padding-top: 24px;
    }

    .newsletter-form {
        padding: 26px 20px;
    }

    /* The hero technology-stack diagram: on phones the horizontal
       five-layer strip only shows two layers and hides the rest behind
       an unsignposted scroll. Lay it out vertically instead — every
       layer visible, arrows flowing down the icon column. */
    .hero-stack-scroll {
        display: block;
        margin-top: 28px;
        padding-bottom: 0;
        overflow-x: visible;
    }

    .hero-stack {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .stack-layer {
        border-right: 0;
        border-bottom: 1px solid #d9d3cb;
        grid-template-columns: 44px minmax(0, 1fr);
        align-items: center;
        justify-items: start;
        column-gap: 16px;
        padding: 13px 2px;
    }

    .stack-layer:last-child {
        border-bottom: 0;
    }

    .stack-icon {
        width: 40px;
    }

    .stack-layer > span {
        margin-top: 0;
        font-size: 12px;
    }

    .stack-arrow {
        top: auto;
        right: auto;
        bottom: -14px;
        left: 22px;
        width: 24px;
        padding: 2px 0;
        transform: translateX(-50%) rotate(90deg);
    }
}


/* Source: editorial.css */
/* Pen's Editorial refinement. Keep the shared Ghost content and feed markup. */
:root {
    --editorial-peach: #ffe1c8;
    --editorial-pink: #f8d9e8;
    --editorial-mint: #e4f2ef;
    --editorial-yellow: #fff0bd;
    --editorial-orange: #f26921;
    --editorial-teal: #39877e;
    --editorial-pink-ink: #9c2f65;
    --editorial-teal-ink: #246b63;
    --editorial-orange-ink: #a83b0c;
    --editorial-gold-ink: #765900;
    --editorial-gutter: max(24px, calc((100vw - 1078px) / 2));
    --biography-radius: 18px;
    --biography-portrait-corners: var(--biography-radius) 0 0 var(--biography-radius);
    --biography-travel-duration: .62s;
    --biography-travel-easing: cubic-bezier(.22, 1, .36, 1);
}

.editorial-home, .team-page, .research-page { background: #fff; }
.editorial-home .section, .editorial-home .portal-section,
.team-members-section { padding: 80px var(--editorial-gutter); }
.editorial-home .section-heading h2 { font-size: 44px; letter-spacing: -1.7px; line-height: 1.07; }
.editorial-home .section-label { color: var(--editorial-orange-ink); }
.editorial-home .visual-hero { padding: 64px var(--editorial-gutter) 0; background: #fff; }
.hero-live-card { border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.hero-overview { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 56px; align-items: center; }
.hero-live-copy h1 { font-size: 68px; font-weight: 600; letter-spacing: -3.4px; line-height: .98; text-wrap: initial; }
.brand-tagline-phrase { display: inline-block; }
.hero-live-copy p { font-size: 21.56px; line-height: 1.3; }
.hero-accent-rule { width: 88px; height: 5px; margin: 28px 0 20px; }
.hero-stack-scroll { margin: 0; padding: 0; }
.hero-stack { display: flex; flex-direction: column; counter-reset: stack; }
.hero-stack .stack-layer { display: flex; align-items: center; gap: 14px; height: 70px; padding: 6px 12px; border: 0; border-bottom: 1px solid #d5cec4; }
.hero-stack .stack-layer:nth-child(3) { background: var(--editorial-peach); }
.hero-stack .stack-layer::after { counter-increment: stack; content: counter(stack, decimal-leading-zero); margin-left: auto; color: #746c65; font-size: 11px; }
.hero-stack .stack-icon { width: 60px; height: 60px; flex: 0 0 60px; margin: 0; border: 0; background: none; }
.hero-stack .stack-icon svg { width: 60px; height: 60px; }
.hero-stack .stack-layer > span { font-size: 13px; font-weight: 650; letter-spacing: 1.1px; }
.hero-stack .stack-arrow { display: none; }
.hero-color-rule { margin-top: 42px; height: 3px; grid-template-columns: 14% 43% 43%; }
.hero-color-rule i:nth-child(2), .hero-color-rule i:nth-child(3) { background: var(--editorial-orange); }
.hero-context { padding: 28px 0 30px; align-items: center; }
.hero-context .hero-trust { display: block; max-width: 500px; margin: 0; color: #151515; font-size: 20px; font-weight: 500; line-height: 1.45; letter-spacing: -.3px; }
.hero-context .button { background: var(--happy); color: #151515; border-radius: 0; box-shadow: none; }
.impact-section { grid-template-columns: minmax(0, 1fr) 305px; gap: 44px 78px; }
.impact-intro { padding-left: 24px; }
.impact-intro p { font-size: 16px; line-height: 1.65; }
.impact-grid { display: block; border: 0; margin: 0; }
.impact-card, .impact-card.featured { display: grid; grid-template-columns: 20px 245px minmax(0, 1fr) 215px; gap: 28px; align-items: center; padding: 27px 0; border: 0; border-top: 1px solid #d9d3ca; background: #fff; }
.impact-card:hover { transform: none; background: #fff; }
.impact-number { color: var(--editorial-orange-ink); font-size: 12px; }
.impact-card h3 { margin: 0; font-size: 28px; font-weight: 400; letter-spacing: -1px; }
.impact-card p { max-width: none; margin: 0; font-size: 15px; line-height: 1.55; }
.impact-card a { margin: 0; padding: 8px 0; border: 0; justify-content: flex-end; gap: 10px; font-size: 14px; }
.editorial-home .history-band { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "copy timeline"; gap: 100px; padding: 72px var(--editorial-gutter); background: var(--editorial-orange); border: 0; }
.history-band .history-copy { grid-area: copy; }
.history-band .section-label, .history-band .history-copy > p:not(.section-label) { color: #24211f; }
.history-band .history-copy h2 { font-size: 46px; letter-spacing: -1.8px; line-height: 1.07; }
.history-band .history-copy > p:not(.section-label) { font-size: 17px; line-height: 1.65; }
.history-band .text-link .cs-icon { color: currentColor; }
.history-band .history-timeline { grid-area: timeline; display: flex; flex-direction: column; gap: 0; min-width: 0; }
.history-band .timeline-item { display: flex; align-items: center; gap: 26px; padding: 22px 0; border-top: 1px solid #0003; text-align: left; }
.history-band .timeline-item strong { flex: 0 0 112px; margin: 0; color: #151515; font-size: 42px; line-height: 1; }
.history-band .timeline-item span { margin: 0; color: #24211f; font-size: 14px; }
.history-band .timeline-line { display: none; }
.research-heading-wrap { grid-template-columns: minmax(0, 1fr) 310px; gap: 64px; }
.research-publications { border: 0; border-top: 3px solid var(--editorial-orange); padding: 24px 0 0; }
.research-publications .research-publications-kicker { font-size: 18px; font-weight: 500; }
.research-publication-mark-frame { border-radius: 0; }
.editorial-home .home-research-stream { --research-limit: 4; --research-columns: 2; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin-top: 38px; border: 0; background: #fff; }
.home-research-stream > [data-research-item] { grid-column: span 5; }
.home-research-stream > [data-research-item]:nth-of-type(4n+1),
.home-research-stream > [data-research-item]:nth-of-type(4n) { grid-column: span 7; }
.editorial-home .home-research-stream > [data-research-item]:nth-of-type(n+5) { display: none; }
.home-research-stream .publication-card-image { aspect-ratio: auto; height: 205px; }
.home-research-stream .publication-card-copy { padding: 18px 20px; }
.home-research-stream .publication-card-link-chipstrat { --publication-bg: var(--editorial-yellow); }
.home-research-stream .research-stream-card h2 { font-size: 26px; }
.home-research-stream > :first-child h2 { font-size: 30px; }
.publication-card-byline { display: block; margin: -4px 0 12px; color: var(--publication-muted); font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.publication-card-byline[hidden] { display: none; }
.research-page .publication-card-copy { grid-template-rows: auto 1fr auto auto; }
.research-page .research-stream-list .publication-card-copy { grid-template-rows: auto auto auto auto; }
.research-page .publication-card-byline { grid-area: 3 / 1 / 4 / 3; margin: -2px 0 10px; }
.research-page .publication-card-cta,
.research-page .research-stream-list .publication-card-cta { grid-area: 4 / 1 / 5 / 3; }
.home-research-stream .creative-research-card-image[data-card-image="social"] { height: 180px; aspect-ratio: auto; }
.home-research-stream .research-stream-card-cs .research-card-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; flex: 1; max-height: 4.5em; margin-bottom: 18px; }
.editorial-home .portal-section { grid-template-columns: 348px minmax(0, 1fr); gap: 40px; background: var(--editorial-mint); border: 0; }
.portal-section .section-label { color: var(--editorial-teal-ink); }
.portal-section .portal-copy h2 { font-size: 38px; line-height: 1.1; letter-spacing: -1.4px; }
.portal-section .portal-copy > p:not(.section-label) { font-size: 16px; line-height: 1.65; }
.portal-features li { font-size: 13px; }
.portal-preview { border: 1px solid #d8d3c9; border-radius: 12px; box-shadow: 0 12px 30px #0000000d; }
.portal-preview .portal-bar { padding: 20px 24px; }
.portal-preview .portal-status { border-radius: 3px; background: #f4f2ee; }
.portal-preview .portal-status i { display: none; }
.portal-conversation { padding: 24px; background: #fff; }
.portal-question-bubble { max-width: none; width: 100%; padding: 20px 22px; border-radius: 7px; background: var(--editorial-yellow); color: #151515; box-shadow: none; }
.portal-preview .portal-question-bubble .answer-kicker { color: var(--editorial-gold-ink); }
.portal-preview .portal-answer h4 { font-size: 20px; }
.portal-preview .portal-response { display: block; position: relative; }
.portal-preview .agent-icon { position: absolute; top: 0; left: 0; width: 30px; height: 30px; border-radius: 6px; background: var(--editorial-peach); color: var(--editorial-orange-ink); }
.portal-response-meta { min-height: 30px; padding-left: 42px; }
.portal-preview .portal-response h3 { margin: 14px 0 12px; font-size: 25px; font-weight: 550; line-height: 1.17; }
.portal-preview .portal-answer p { font-size: 14px; line-height: 1.65; }
.portal-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.portal-preview .answer-source { grid-column: 1 / -1; border: 0; padding: 0; background: none; }
.portal-citation { padding: 14px; background: #f3f8f6; border: 1px solid #d4e4df; border-radius: 5px; }
.portal-citation b { color: var(--editorial-teal-ink); }
.portal-composer { padding: 18px 24px 22px; background: #f3f8f6; border-color: #d4e4df; }
.portal-preview .prompt-tabs button { border-radius: 3px; }
.portal-preview .prompt-tabs button.active { background: var(--editorial-yellow); border-color: #e4c771; color: var(--editorial-gold-ink); }
.portal-composer-field { border-radius: 5px; box-shadow: none; }
.portal-composer-field b { border-radius: 4px; background: var(--happy); color: #151515; }
.media-header { gap: 48px; align-items: end; }
.media-header .channel-subscribe { white-space: nowrap; font-size: 14px; }
.media-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 25px 34px; margin-top: 34px; align-items: start; }
.media-layout .media-grid { display: contents; }
.media-layout .media-card { border: 0; padding: 0; min-width: 0; }
.media-layout .media-card:first-child { grid-column: 1; grid-row: 1 / 4; }
.media-layout .media-card:first-child .media-image { aspect-ratio: 1.6; }
.media-layout .media-card:first-child h3 { font-size: 32px; line-height: 1.12; }
.media-layout .media-card:not(:first-child) { grid-column: 2; display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 24px; }
.media-layout .media-card:not(:first-child) .media-image { grid-row: 1 / 3; aspect-ratio: 1.6; }
.media-layout .media-card:not(:first-child) .media-label { margin: 0 0 8px; font-size: 10px; }
.media-layout .media-card:not(:first-child) h3 { margin: 0; font-size: 18px; line-height: 1.25; }
.media-layout .media-card:not(:first-child) .play-button { display: none; }
.media-layout .media-card:not(:first-child) .watch-link { grid-column: 1 / -1; margin-top: 12px; }
.media-layout .channel-proof { grid-column: 2; min-width: 0; width: auto; margin: 0; padding: 0; border: 0; gap: 14px; }
.media-layout .channel-proof:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.media-layout .channel-proof:focus-visible { outline: 2px solid var(--editorial-orange); outline-offset: 6px; }
.media-layout .channel-proof .youtube-mark { width: 40px; height: 40px; flex: 0 0 40px; border: 0; border-radius: 0; background: var(--editorial-yellow); }
.editorial-home .closing-section { padding: 70px var(--editorial-gutter); gap: 65px; }
.closing-section h2 { font-size: 54px; line-height: 1.03; letter-spacing: -2.5px; }
.closing-section .section-label { color: #151515; }
.closing-actions { min-width: 236px; }

/* Research directory and the continuous, paginated list share source accents. */
.research-page .research-hero { min-height: 0; padding: 70px var(--editorial-gutter); background: var(--editorial-teal); }
.research-page .research-hero h1 { max-width: 880px; font-size: 64px; line-height: 1.04; letter-spacing: -2.7px; }
.research-page .research-hero .section-label { color: #151515; }
.research-page .research-source-guide { padding: 28px var(--editorial-gutter); gap: 24px; }
.research-page .research-source-guide-item:nth-child(n) { min-height: 90px; border: 0; border-top: 3px solid var(--source-accent); padding: 16px 0 0; gap: 12px; }
.research-page .research-source-guide-cs { --source-accent: var(--editorial-orange); }
.research-page .research-source-guide-ds { --source-accent: #c14782; }
.research-page .research-source-guide-chipstrat { --source-accent: #febc11; }
.research-page .research-source-guide-heart { --source-accent: var(--editorial-teal); }
.research-page .research-source-guide-item p { color: #151515; font-size: 10px; }
.research-page .research-source-guide-item strong { font-size: 12px; font-weight: 400; line-height: 1.4; }
.research-page .source-guide-mark { width: 42px; height: 42px; flex-basis: 42px; }
.research-page .research-stream-section { padding: 64px var(--editorial-gutter); background: #fff; }
.research-page .research-stream-heading h2 { font-size: 38px; }
.research-page .research-stream-list { border: 0; gap: 0; background: #fff; }
.research-page .research-stream-list .research-stream-card { border-top: 1px solid #ded8ce; }
.research-page .research-stream-list .publication-card-link,
.research-page .research-stream-list .creative-research-card-link { grid-template-columns: 200px minmax(0, 1fr); gap: 0 28px; padding: 24px 0; border: 0; background: #fff; }
.research-page .research-stream-list .publication-card-link-diligence { --publication-accent: var(--editorial-pink-ink); }
.research-page .research-stream-list .publication-card-link-chipstrat { --publication-accent: var(--editorial-gold-ink); }
.research-page .research-stream-list .publication-card-link-heart { --publication-accent: var(--editorial-teal-ink); }
.research-page .research-stream-list .creative-research-source { color: var(--editorial-orange-ink); }
.research-page .research-stream-list .research-stream-card h2 { font-size: 25px; line-height: 1.15; }
.research-page .research-stream-list .research-stream-card[hidden] { display: none; }
.research-page .research-stream-list .research-featured { border-top: 0; }
.research-page .research-stream-list .research-featured > a { grid-template-columns: 350px minmax(0, 1fr); background: #f7f5f1; padding: 24px; }
.research-page .research-stream-list .research-featured h2 { font-size: 30px; }
.research-toolbar { display: flex; gap: 12px; margin: 22px 0 12px; }
.research-toolbar[hidden], .research-filter-status[hidden], .research-filter-empty[hidden] { display: none; }
.research-search { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; border: 1px solid var(--line); padding: 0 14px; }
.research-search input { width: 100%; min-width: 0; height: 44px; border: 0; background: none; font: inherit; font-size: 14px; }
.research-search .cs-icon { color: #746f68; }
.research-search kbd { padding: 3px 7px; background: #f4f2ee; color: #746f68; font: inherit; font-size: 11px; white-space: nowrap; }
.research-selects { display: flex; align-items: center; border: 1px solid var(--line); }
.research-filter-icon { width: 43px; padding: 0 13px; }
.research-selects label { display: flex; align-items: center; gap: 8px; padding: 0 12px; border-left: 1px solid var(--line); color: #746f68; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
.research-selects select { min-width: 0; max-width: 155px; height: 44px; border: 0; background: #fff; color: #151515; font: inherit; font-size: 14px; text-transform: none; letter-spacing: normal; }
.research-filter-status { margin: 0 0 20px; color: #746f68; font-size: 12px; }
.research-filter-empty { padding: 28px; background: #f7f5f1; font-size: 16px; line-height: 1.6; }
.research-toolbar :is(input, select):focus-visible { outline: 2px solid var(--editorial-teal); outline-offset: 2px; }

/* Full archive search keeps its result pages separate from Ghost browsing. */
.research-page .research-stream[hidden], .research-search-results[hidden],
.research-result-pagination[hidden], [data-research-browse-pagination][hidden],
.research-clear[hidden], .research-retry[hidden], .research-result img[hidden] { display: none; }
[data-research-heading] { scroll-margin-top: 110px; }
.research-filter-status { overflow-wrap: anywhere; }
.research-clear, .research-retry, .research-result-pagination button { background: #fff; border: 1px solid var(--line); padding: 10px 14px; color: var(--black); font: inherit; font-size: 13px; cursor: pointer; }
.research-clear { margin: 0 0 12px; }
.research-retry { margin-bottom: 24px; }
.research-result { border-top: 1px solid var(--line); }
.research-result > a { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 26px 0; }
.research-result.has-image > a { grid-template-columns: 200px minmax(0, 1fr); }
.research-result img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.research-result-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; color: var(--editorial-teal-ink); font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.research-result h3 { margin: 12px 0; font-size: 27px; font-weight: 600; line-height: 1.15; letter-spacing: -.7px; overflow-wrap: anywhere; }
.research-result-authors { color: var(--muted); font-size: 12px; margin: 0 0 10px; }
.research-result-description { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.research-result-authors:empty, .research-result-description:empty { display: none; }
.research-result-cta { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; }
.research-result-cta .cs-icon { color: var(--editorial-orange); }
.research-result-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding-top: 24px; font-size: 13px; }
.research-result-pagination button:disabled { opacity: .45; cursor: default; }
.research-result a:focus-visible, .research-clear:focus-visible, .research-retry:focus-visible,
.research-result-pagination button:focus-visible { outline: 2px solid var(--editorial-teal); outline-offset: 3px; }
@media (max-width: 760px) {
    .research-result.has-image > a { grid-template-columns: 1fr; gap: 16px; }
    .research-result h3 { font-size: 24px; }
    .research-result-pagination { gap: 10px; }
    .research-result-pagination button { padding: 10px; font-size: 12px; }
}

/* Portraits and biographies sit on the page rather than inside bordered tiles. */
.team-hero { padding: 70px var(--editorial-gutter) 0; grid-template-columns: minmax(0, 1fr) 340px; gap: 46px 72px; }
.team-hero-copy h1 { font-size: 64px; letter-spacing: -2.7px; line-height: 1.04; }
.team-hero-note { align-self: center; padding: 0 0 0 24px; }
.team-hero-note p { font-size: 16px; line-height: 1.65; }
.team-spectrum { margin: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; }
.team-spectrum div { min-height: 78px; padding: 18px 16px; }
.team-spectrum div:nth-child(1) { background: var(--editorial-yellow); border-top-color: #febc11; }
.team-spectrum div:nth-child(2) { background: var(--editorial-mint); border-top-color: var(--editorial-teal); }
.team-spectrum div:nth-child(3) { background: var(--editorial-peach); border-top-color: var(--editorial-orange); }
.team-spectrum div:nth-child(4) { background: var(--editorial-pink); border-top-color: #c14782; }
.team-spectrum div:nth-child(5) { background: var(--editorial-yellow); border-top-color: #febc11; }
.members-heading { grid-template-columns: minmax(0, 1fr) 340px; gap: 80px; }
.members-heading h2 { font-size: 46px; line-height: 1.04; letter-spacing: -1.8px; }
.members-heading > p { margin: 0; }
.team-members-grid { border: 0; background: #fff; gap: 52px 28px; margin-top: 42px; }
.member-image { aspect-ratio: 1; border-radius: var(--biography-radius); }
.member-image img { filter: none; border-radius: inherit; }
.member-image::after { border-radius: inherit; opacity: 1; transition: opacity .22s ease-out; }
.biography-portrait-away .member-image::after { opacity: 0; transition: none; }
.team-member-card:has(.member-biography-trigger):hover .member-image img { transform: none; }
.member-copy { padding: 22px 0 0; }
.member-role { color: var(--member-ink); font-size: 11px; letter-spacing: 1px; }
.member-sunny { --member-accent: var(--editorial-orange); --member-ink: var(--editorial-orange-ink); }
.member-magenta, .member-ground { --member-accent: #c14782; --member-ink: var(--editorial-pink-ink); }
.member-happy, .member-indigo { --member-accent: #febc11; --member-ink: var(--editorial-gold-ink); }
.member-sea { --member-accent: var(--editorial-teal); --member-ink: var(--editorial-teal-ink); }
.member-copy h3 { font-size: 29px; line-height: 1.1; letter-spacing: -1px; }
.member-summary { min-height: 0; margin: 12px 0 0; font-size: 15px; line-height: 1.6; }
.team-member-card:has(.member-biography-trigger) { position: relative; }
.member-biography-trigger { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.member-biography-trigger[hidden] { display: none; }
.member-biography-trigger:focus-visible { outline: none; }
.team-member-card:has(.member-biography-trigger:focus-visible) h3 { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.member-focus { flex-direction: column; gap: 5px; margin-top: 12px; padding-top: 15px; }
.member-focus li { border: 0; padding: 0; color: #746f68; font-size: 10px; letter-spacing: .6px; }
.biography-is-open, .biography-is-open body { overflow: hidden; }
.biography-is-open { scrollbar-gutter: stable; }
.biography-dialog { width: min(1160px, calc(100% - 64px)); max-width: none; max-height: calc(100dvh - 64px); margin: auto; padding: 0; border: 0; border-radius: var(--biography-radius); background: #fffaf6; color: #151515; box-shadow: 0 28px 100px #160b074d; overflow: clip; }
.biography-dialog::backdrop { background: #211813b8; backdrop-filter: blur(9px); }
.biography-dialog[open] { animation: biography-arrive .5s cubic-bezier(.16, 1, .3, 1) both; }
.biography-dialog[open]::backdrop { animation: biography-dim .35s ease both; }
.biography-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior: contain; }
.biography-portrait { position: sticky; top: 0; align-self: start; height: calc(100dvh - 64px); min-height: 520px; overflow: clip; background: var(--editorial-pink); }
.biography-portrait::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, #21181399); pointer-events: none; }
.biography-portrait-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 29%; border-radius: var(--biography-portrait-corners); }
.biography-portrait-mark { position: absolute; bottom: 32px; left: 32px; z-index: 1; width: 170px; height: auto; }
.biography-content { min-width: 0; padding: 64px 48px 48px; }
.biography-heading { margin-bottom: 32px; padding-bottom: 28px; border-bottom: 3px solid var(--editorial-orange); }
.biography-heading .section-label { margin-bottom: 14px; color: var(--editorial-pink-ink); }
.biography-heading h2 { margin: 0; font-size: clamp(36px, 4vw, 56px); font-weight: 550; line-height: 1.02; letter-spacing: -.045em; }
.biography-role { margin: 18px 0 0; color: #655c55; font-size: 14px; line-height: 1.5; }
.biography-copy p { margin: 0 0 1.5em; color: #3e3a37; font-size: 17px; line-height: 1.75; }
.biography-copy p:last-child { margin-bottom: 0; }
.biography-close { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #2118131a; border-radius: 50%; background: #fffaf6f2; color: #211813; cursor: pointer; transition: transform .25s ease, background .25s ease; }
.biography-close svg { width: 24px; height: 24px; }
.biography-close:hover { transform: rotate(90deg); background: var(--editorial-peach); }
.biography-close:focus-visible { outline: 2px solid var(--editorial-pink-ink); outline-offset: 3px; }
.biography-dialog[open] .biography-portrait-photo { animation: biography-portrait-reveal .85s cubic-bezier(.16, 1, .3, 1) both; }
.biography-dialog[open] .biography-heading,
.biography-dialog[open] .biography-copy p { animation: biography-copy-reveal .55s ease both; animation-delay: .12s; }
.biography-dialog[open] .biography-copy p { animation-delay: .18s; }
.biography-dialog[open] .biography-copy p:nth-child(2) { animation-delay: .23s; }
.biography-dialog[open] .biography-copy p:nth-child(n+3) { animation-delay: .28s; }
.biography-dialog.is-closing { animation: biography-depart .18s ease-in both; }
.biography-dialog.is-closing::backdrop { animation: biography-undim .18s ease-in both; }
.biography-dialog.uses-shared-portrait[open]:not(.is-closing),
.biography-dialog.uses-shared-portrait[open] .biography-portrait-photo { animation: none; }
.biography-view-transition .member-image img,
.biography-view-transition .biography-portrait-photo { border-radius: 0; }
.biography-view-transition::view-transition { pointer-events: none; }
.biography-view-transition::view-transition-group(biography-portrait) { z-index: 1; animation-duration: var(--biography-travel-duration); animation-timing-function: var(--biography-travel-easing); }
.biography-view-transition::view-transition-image-pair(biography-portrait) { isolation: auto; overflow: clip; animation: biography-corners var(--biography-travel-duration) var(--biography-travel-easing) both; }
.biography-returning::view-transition-image-pair(biography-portrait) { animation-name: biography-corners-return; }
.biography-single-portrait::view-transition-image-pair(biography-portrait) { background-image: var(--biography-photo); background-size: cover; background-repeat: no-repeat; }
.biography-view-transition::view-transition-old(biography-portrait),
.biography-view-transition::view-transition-new(biography-portrait) { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; animation-duration: .28s; }
.biography-single-portrait::view-transition-old(biography-portrait),
.biography-single-portrait::view-transition-new(biography-portrait) { opacity: 0; animation: none; }
.biography-view-transition::view-transition-old(root) { animation: biography-surface-out .2s ease both; }
.biography-view-transition::view-transition-new(root) { animation: biography-surface-in .3s ease both; }
@keyframes biography-corners { from { border-radius: var(--biography-radius); background-position: var(--biography-from-position, center); } to { border-radius: var(--biography-portrait-corners); background-position: var(--biography-to-position, center); } }
@keyframes biography-corners-return { from { border-radius: var(--biography-portrait-corners); background-position: var(--biography-from-position, center); } to { border-radius: var(--biography-radius); background-position: var(--biography-to-position, center); } }
@keyframes biography-surface-out { to { opacity: 0; } }
@keyframes biography-surface-in { from { opacity: 0; } }
@keyframes biography-arrive { from { opacity: 0; transform: translateY(36px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes biography-depart { to { opacity: 0; transform: translateY(18px) scale(.98); } }
@keyframes biography-dim { from { opacity: 0; } to { opacity: 1; } }
@keyframes biography-undim { to { opacity: 0; } }
@keyframes biography-portrait-reveal { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes biography-copy-reveal { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .biography-dialog[open], .biography-dialog[open]::backdrop,
    .biography-dialog[open] .biography-portrait-photo, .biography-dialog[open] .biography-heading,
    .biography-dialog[open] .biography-copy p { animation: none; }
    .biography-close, .member-image::after { transition: none; }
}
.team-principle { padding: 70px var(--editorial-gutter); }
.team-principle blockquote { font-size: 51px; line-height: 1.08; letter-spacing: -2.2px; }

/* Match masthead and body edges while preserving Ghost wide/full-width cards. */
.editorial-post { background: #fff; }
.editorial-post-header { padding: 70px max(24px, calc((100vw - 740px) / 2)); background: #f7f5f1; border-bottom: 1px solid #d4e4df; }
.editorial-back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; color: #746f68; font-size: 13px; }
.editorial-back-link .cs-icon { transform: rotate(180deg); width: 15px; height: 15px; }
.editorial-post-header .section-label { color: var(--editorial-teal-ink); font-size: 11px; letter-spacing: 1.8px; }
.editorial-post-header h1 { font-size: 62px; line-height: 1.06; letter-spacing: -2.5px; }
.editorial-byline { color: #66635f; font-size: 15px; font-weight: 500; }
.editorial-post-body { width: min(740px, calc(100% - 48px)); padding-block: 58px 0; color: #3e3a37; }
.editorial-post-body p { font-size: 18px; line-height: 1.75; margin-bottom: 26px; }
.editorial-post-body > p:first-child { color: #151515; font-size: 22px; font-weight: 450; line-height: 1.5; }
.editorial-post-navigation { width: min(740px, calc(100% - 48px)); margin: 26px auto 0; padding: 26px 0 72px; border-top: 1px solid #ded8ce; }
.editorial-post-navigation a { display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 600; }
.editorial-post-navigation .cs-icon { color: var(--editorial-orange); }

@media (max-width: 1099px) {
    .hero-overview { grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; }
    .hero-live-copy h1 { font-size: clamp(42px, 5.6vw, 62px); letter-spacing: -.05em; }
    .impact-section, .research-heading-wrap { gap: 36px; grid-template-columns: minmax(0, 1fr) 270px; }
    .impact-card, .impact-card.featured { grid-template-columns: 20px 190px minmax(0, 1fr); gap: 18px; }
    .impact-card a { grid-column: 3; justify-content: flex-start; }
    .impact-card h3 { font-size: 25px; }
    .editorial-home .history-band { gap: 48px; grid-template-columns: minmax(0, 1fr) 290px; }
    .editorial-home .portal-section { grid-template-columns: minmax(0, 1fr); }
    .portal-copy { max-width: 700px; }
    .portal-preview { max-width: 760px; width: 100%; margin-inline: auto; }
    .media-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
    .media-layout .media-card:not(:first-child) { grid-template-columns: 110px minmax(0, 1fr); }
    .team-hero, .members-heading { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
    .team-hero-copy h1 { font-size: 54px; }
    .team-members-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .member-copy h3 { font-size: 25px; }
    .research-toolbar { flex-direction: column; }
    .research-selects { align-self: flex-start; }
    .research-page .research-stream-list .research-featured > a { grid-template-columns: 250px minmax(0, 1fr); }
}

@media (max-width: 760px) {
    .editorial-home .section, .editorial-home .portal-section, .team-members-section { padding-block: 52px; }
    .editorial-home .visual-hero { padding-top: 40px; }
    .hero-overview { grid-template-columns: 1fr; gap: 30px; }
    .hero-live-copy h1 { font-size: clamp(40px, 7.2vw, 56px); }
    .hero-live-copy p { font-size: 18px; }
    .hero-stack-scroll { width: 100%; }
    .hero-stack .stack-layer { height: 54px; }
    .hero-stack .stack-icon, .hero-stack .stack-icon svg { width: 40px; height: 40px; }
    .hero-stack .stack-icon { flex-basis: 40px; }
    .hero-color-rule { margin-top: 30px; }
    .hero-context { flex-direction: column; align-items: flex-start; padding-block: 24px; gap: 20px; }
    .hero-context-actions { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 20px; }
    .impact-section, .research-heading-wrap { grid-template-columns: 1fr; gap: 28px; }
    .editorial-home .section-heading h2 { font-size: 36px; letter-spacing: -1.4px; }
    .impact-card, .impact-card.featured { grid-template-columns: 20px minmax(0, 1fr); gap: 12px 16px; }
    .impact-card p, .impact-card a { grid-column: 2; }
    .impact-card h3 { font-size: 26px; }
    .editorial-home .history-band { grid-template-columns: 1fr; grid-template-areas: "copy" "timeline"; gap: 32px; padding-block: 52px; }
    .history-band .history-copy h2 { font-size: 36px; }
    .history-band .timeline-item strong { font-size: 36px; }
    .research-publications { max-width: 360px; }
    .editorial-home .home-research-stream { grid-template-columns: 1fr; }
    .home-research-stream > [data-research-item]:nth-of-type(n) { grid-column: 1; }
    .home-research-stream .publication-card-image { height: auto; aspect-ratio: 16 / 9; }
    .portal-section .portal-copy h2 { font-size: 36px; }
    .portal-preview .portal-bar, .portal-conversation, .portal-composer { padding: 18px; }
    .portal-question-bubble { padding: 18px; }
    .portal-preview .portal-answer h4 { font-size: 18px; }
    .portal-preview .portal-response h3 { font-size: 23px; }
    .portal-response-meta { flex-direction: row; align-items: center; gap: 8px; }
    .portal-evidence { grid-template-columns: 1fr; }
    .portal-preview .prompt-tabs { flex-wrap: wrap; }
    .portal-preview .prompt-tabs button { white-space: normal; }
    .media-header { align-items: flex-start; flex-direction: column; gap: 24px; }
    .media-layout { grid-template-columns: 1fr; gap: 28px; }
    .media-layout .media-card:first-child { grid-column: 1; grid-row: auto; }
    .media-layout .media-card:first-child h3 { font-size: 28px; }
    .media-layout .media-card:not(:first-child), .media-layout .channel-proof { grid-column: 1; }
    .editorial-home .closing-section { grid-template-columns: 1fr; padding-block: 52px; gap: 28px; }
    .closing-section h2 { font-size: 40px; letter-spacing: -1.6px; }
    .closing-actions { margin: 0; }
    .research-page .research-hero { padding-block: 48px; }
    .research-page .research-hero h1 { font-size: 44px; letter-spacing: -1.8px; }
    .research-page .research-source-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .research-page .research-source-guide-item:nth-child(n) { min-height: 64px; }
    .research-page .research-stream-section { padding-block: 48px; }
    .research-page .research-stream-heading h2 { font-size: 32px; }
    .research-page .research-stream-list .publication-card-link,
    .research-page .research-stream-list .creative-research-card-link { grid-template-columns: 1fr; padding: 22px 0; }
    .research-page .research-stream-list .research-stream-card h2 { font-size: 23px; }
    .research-page .research-stream-list .research-featured > a { grid-template-columns: 1fr; padding: 20px 16px; }
    .research-search kbd, .research-filter-icon { display: none; }
    .research-selects { width: 100%; }
    .research-selects label { flex: 1; min-width: 0; padding: 0 8px; }
    .research-selects label:first-of-type { border-left: 0; }
    .research-selects select { width: 100%; max-width: 100%; font-size: 12px; }
    .team-hero, .members-heading { grid-template-columns: 1fr; gap: 28px; }
    .team-hero { padding-top: 48px; }
    .team-hero-copy h1 { max-width: 580px; font-size: 48px; letter-spacing: -2px; }
    .team-spectrum { grid-template-columns: 1fr; }
    .team-spectrum div { min-height: 54px; align-items: center; border-right: 0; }
    .members-heading h2 { font-size: 38px; }
    .team-members-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 22px; }
    :root { --biography-radius: 14px; --biography-portrait-corners: var(--biography-radius) var(--biography-radius) 0 0; }
    .biography-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
    .biography-layout { grid-template-columns: 1fr; max-height: calc(100dvh - 24px); }
    .biography-portrait { position: relative; height: auto; min-height: 0; aspect-ratio: 1 / 1; max-height: 440px; }
    .biography-portrait-mark { bottom: 24px; left: 24px; width: 145px; }
    .biography-content { padding: 32px 24px; }
    .biography-heading h2 { font-size: clamp(34px, 8vw, 48px); }
    .team-principle { padding-block: 52px; }
    .team-principle blockquote { font-size: 38px; letter-spacing: -1.5px; }
    .editorial-post-header { padding-block: 48px; }
    .editorial-post-header h1 { font-size: clamp(36px, 7vw, 52px); letter-spacing: -.04em; }
    .editorial-post-body { padding-top: 40px; }
    .editorial-post-body > p:first-child { font-size: 21px; }
}

@media (max-width: 480px) {
    .team-members-grid { grid-template-columns: 1fr; }
    .member-copy h3 { font-size: 29px; }
    .research-page .research-source-guide-item:nth-child(n) { gap: 8px; }
    .research-page .source-guide-mark { width: 34px; height: 34px; flex-basis: 34px; }
}
