@import url('/assets/fonts/montserrat.css');
:root{--blue:#1451ff;--purple:#7135e8;--ink:#181e2b;--muted:#5b6475;--line:#d6dce6;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:white;color:var(--ink);font:15px/1.7 Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{color:white;background:var(--blue)}.frame{width:min(1320px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:0}.header{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.author{font-size:14px;line-height:1.4;font-weight:750;letter-spacing:-.3px}.author>span{display:block;font-weight:400;font-size:10px;letter-spacing:0;margin-top:3px}.header nav{display:flex;gap:28px;font-size:12px;font-weight:600}.contact{font-size:12px;font-weight:600;color:var(--blue)}.header nav a:hover{color:var(--blue)}.hero{padding-top:38px;padding-bottom:35px}.nameplate{position:relative}.nameplate h1{color:var(--blue);line-height:.9;font-weight:850;margin:0;letter-spacing:-.075em}.name-first{display:block;font-size:clamp(100px,16vw,226px)}.name-second{display:block;font-size:clamp(60px,12.8vw,182px);margin-top:12px;white-space:nowrap}.portrait{position:absolute;right:25px;top:-18px;width:250px;height:220px;overflow:hidden;margin:0}.portrait img{position:absolute;bottom:0;left:-12.5%;height:135%;width:125%;object-fit:contain;object-position:bottom}.slogan{font-size:clamp(23px,2.6vw,36px);line-height:1.25;letter-spacing:-1px;font-weight:500;margin:30px 0 0;max-width:760px}.pathways{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin-bottom:30px}.pathways article{display:flex;flex-direction:column;align-items:start;padding:30px 40px 30px 0;min-width:0}.pathways article+article{border-left:1px solid var(--line);padding-left:40px;padding-right:0}.eyebrow{display:block;font-size:9px;letter-spacing:1px;font-weight:650;line-height:1.5;margin-bottom:18px;color:var(--muted)}h2{font-size:29px;line-height:1.2;letter-spacing:-1px;font-weight:700;margin:0}.pathways p{font-size:13px;color:var(--muted);max-width:490px;margin:17px 0 24px;line-height:1.75}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:13px 19px;font-size:12px;font-weight:650;line-height:1.5;border-radius:3px;transition:background .15s}.button>span{font-size:22px;line-height:1}.blue{color:white;background:var(--blue)}.blue:hover{background:#003acc}.pathways .button{margin-top:auto}.editor{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:var(--purple);color:white;padding:38px 40px}.editor .eyebrow{color:#ede4ff;margin-bottom:17px}.editor h2{font-size:clamp(40px,5.5vw,76px);letter-spacing:-3px;font-weight:800;line-height:1}.editor-copy p{font-size:17px;line-height:1.65;margin:0 0 22px}.white{background:white;color:#5722bf}.white:hover{background:#eee5ff}.editor a:focus-visible{outline-color:white}.seminars{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:60px;border-bottom:1px solid var(--line)}.seminars .eyebrow{color:var(--blue)}.seminars h2{font-size:45px;line-height:1.08;letter-spacing:-1.8px}.seminar-copy>p{font-size:15px;line-height:1.8;margin:0 0 16px;max-width:580px}.seminar-copy>p.muted{color:var(--muted);font-size:12px;margin-bottom:22px}.cases{padding-block:45px 55px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:27px}.section-heading>a{font-size:11px;color:var(--blue);font-weight:600}.case-list{border-top:2px solid var(--ink)}.case{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:20px;padding-block:22px;border-bottom:1px solid var(--line)}.case-number{font-size:12px;color:var(--muted)}.case h3{font-size:19px;line-height:1.4;letter-spacing:-.4px;font-weight:600;margin:0}.case-arrow{font-size:29px;line-height:1;color:var(--blue)}.case:hover h3{color:var(--blue)}.footer{border-top:1px solid var(--line);padding-block:26px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer>div{display:flex;gap:25px}.footer a:hover{color:var(--blue)}
@media(max-width:1050px){.frame{width:calc(100% - 48px)}.portrait{width:190px;height:165px;top:-10px;right:10px}.slogan{font-size:29px}.pathways article{padding-right:25px}.pathways article+article{padding-left:25px}.pathways h2{font-size:25px}.editor{padding:32px}.editor-copy p{font-size:15px}.seminars h2{font-size:39px}.seminar-copy>p{font-size:13px}}
@media(max-width:700px){.frame{width:calc(100% - 32px)}.header{flex-wrap:wrap;min-height:96px;padding-block:15px 12px;gap:14px}.author{font-size:12px}.author>span{font-size:9px}.contact{font-size:10px}.header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:10px}.hero{padding-top:25px;padding-bottom:26px}.name-first{font-size:19vw;letter-spacing:-.075em}.name-second{font-size:11.25vw;margin-top:10px}.portrait{right:0;top:-16px;width:26vw;height:20vw;max-width:160px;max-height:125px}.portrait img{height:145%;width:135%;left:-17.5%}.slogan{font-size:clamp(19px,5.4vw,30px);line-height:1.3;letter-spacing:-.6px;margin-top:23px}.pathways{grid-template-columns:1fr;margin-bottom:22px}.pathways article,.pathways article+article{border-left:0;padding:24px 0}.pathways article+article{border-top:1px solid var(--line)}.eyebrow{font-size:8px;margin-bottom:14px}.pathways h2{font-size:25px;letter-spacing:-.8px}.pathways p{font-size:12px;margin:13px 0 19px}.button{font-size:11px;padding:12px 16px;gap:24px}.editor{grid-template-columns:1fr;gap:24px;padding:26px 23px}.editor h2{font-size:46px;letter-spacing:-2px}.editor .eyebrow{margin-bottom:13px}.editor-copy p{font-size:14px;line-height:1.6;margin-bottom:20px}.seminars{grid-template-columns:1fr;gap:25px;padding-block:36px}.seminars h2{font-size:36px;letter-spacing:-1.2px}.seminar-copy>p{font-size:13px}.seminar-copy>p.muted{font-size:11px}.cases{padding-block:32px 36px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:27px}.section-heading>a{display:inline-block;font-size:10px;margin-top:12px}.case{grid-template-columns:22px 1fr 23px;gap:12px;padding-block:20px}.case-number{font-size:10px}.case h3{font-size:16px;letter-spacing:-.3px}.case-arrow{font-size:25px}.footer{flex-direction:column;gap:16px;font-size:9px}.footer>div{justify-content:space-between;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.nameplate h1>span{letter-spacing:-.075em}
.portrait img{height:125%;width:125%;left:-12.5%}

/* Compact author portrait in the masthead corner. */
.portrait{width:170px;height:150px;top:14px;right:28px}
@media(max-width:1050px){.portrait{width:135px;height:120px;top:5px;right:12px}}
@media(max-width:700px){.portrait{width:19vw;height:16vw;top:-7px;right:4px}}

.seminar-topics{margin:0 0 22px;padding-left:20px;font-size:15px;line-height:1.7}.seminar-topics li{padding-left:5px;margin-bottom:8px}.seminar-topics li::marker{color:var(--blue)}@media(max-width:1050px){.seminar-topics{font-size:13px}}
/* Avatar precedes only the first line of the masthead. */
.name-first{padding-left:200px}
.portrait{left:0;right:auto}
@media(max-width:1050px){.name-first{padding-left:160px}}
@media(max-width:700px){.name-first{padding-left:22vw}}

/* The portrait and first word form one aligned masthead row. */
.name-top{display:flex;align-items:flex-end;gap:clamp(16px,2.2vw,32px)}
.name-top .name-first{padding-left:0;font-size:clamp(100px,16vw,226px);letter-spacing:-.075em;line-height:.78}
.name-top .portrait{position:relative;inset:auto;display:block;flex:0 0 clamp(105px,14vw,196px);width:auto;height:clamp(100px,13.2vw,185px);max-width:none;max-height:none;overflow:hidden;margin:0}
.name-top .portrait img{height:125%;width:125%;left:-12.5%;bottom:0;object-fit:contain;object-position:bottom}
.name-second{margin-top:24px}
@media(max-width:700px){.name-top{gap:3vw}.name-top .name-first{font-size:20vw}.name-top .portrait{flex-basis:20vw;height:17vw}.name-second{margin-top:16px}}
@media(max-width:700px){.name-top .name-first{font-size:18vw}}
/* Both title rows share the same content width. */
.nameplate h1{display:inline-flex;flex-direction:column;max-width:100%}
.name-second{width:max-content;max-width:100%}
.name-top{width:100%;justify-content:space-between;gap:0}
.name-top .name-first{font-size:clamp(100px,15.1vw,213px)}
@media(max-width:700px){.name-top .name-first{font-size:16.3vw}.name-top .portrait{flex-basis:18vw;height:15.8vw}}

/* A single typographic cover, with the author inside the opening letter. */
.nameplate .cover-title{display:block;width:100%;max-width:none;line-height:0;letter-spacing:0}
.cover-wordmark{display:block;width:100%;height:auto;overflow:visible;fill:var(--blue);font-family:Montserrat,Arial,sans-serif;font-weight:850;letter-spacing:-.065em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{padding-top:28px;padding-bottom:38px}
.slogan{margin-top:30px}
@media(max-width:700px){.hero{padding-top:24px;padding-bottom:28px}.slogan{margin-top:24px}}

.letter-link{cursor:pointer;outline:none}
.letter-hit{fill:transparent}
.letter-disc{fill:#eef2ff;transition:fill .18s}
.letter-label,.letter-arrow{text-anchor:middle;letter-spacing:0;fill:var(--blue);font-weight:750;font-size:19px}
.letter-arrow{font-size:25px;font-weight:500}
.editor-letter .letter-disc{fill:white}
.editor-letter .letter-label,.editor-letter .letter-arrow{fill:var(--purple)}
.editor-letter .letter-label{font-size:17px}
.blog-letter:hover .letter-disc,.blog-letter:focus-visible .letter-disc{fill:#d6e1ff}
.editor-letter:hover .letter-disc,.editor-letter:focus-visible .letter-disc,.editor-letter:active .letter-disc{fill:#f0e7ff}
.editor-letter:hover .letter-label,.editor-letter:hover .letter-arrow{fill:#5420bd}
.letter-link:focus-visible .letter-hit{stroke:var(--ink);stroke-width:3;stroke-dasharray:5 5}

.coming-soon{background:#eef1f6;color:#687184;cursor:default}

/* Vector arrows: independent of emoji fonts on iOS and Android. */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.button>.ui-arrow,.button>span>.ui-arrow{width:20px;height:20px}.letter-arrow-icon{color:var(--blue)}.editor-letter .letter-arrow-icon{color:var(--purple)}.editor-letter:hover .letter-arrow-icon{color:#5420bd}


.portrait-reply{position:absolute;z-index:30;padding:21px 34px 21px 22px;background:#fff;border:2.5px solid #181e2b;box-shadow:4px 5px 0 #1451ff;color:#181e2b;border-radius:23px 25px 23px 13px;transform-origin:25px 0}.portrait-tail{position:absolute;left:var(--tail-left,20px);top:-26px;width:40px;height:28px;overflow:visible}.portrait-tail path{fill:white;stroke:#181e2b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.portrait-reply[hidden],.portrait-blog[hidden]{display:none}.portrait-reply p{position:relative;font-size:20px;line-height:1.3;font-weight:750;letter-spacing:-.45px;margin:0}.portrait-close{position:absolute;right:7px;top:4px;width:25px;height:25px;line-height:22px;border:0;background:none;font-size:23px;color:#747b88;cursor:pointer}.portrait-blog{display:block;margin-top:16px;padding:12px 8px;background:var(--blue);color:white;font-size:12px;font-weight:700;text-align:center;border-radius:7px}.author-letter{touch-action:manipulation}.author-letter:focus-visible .letter-hit{stroke:var(--blue);stroke-width:3}.portrait-halo{fill:white}.portrait-rays{visibility:hidden;stroke:white;stroke-width:9;stroke-opacity:.75}.author-letter[data-mood] .portrait-rays{visibility:visible}.author-letter[data-mood="question"] .portrait-halo{fill:#7135e8}.author-letter[data-mood="surprise"] .portrait-halo{fill:#1451ff}.author-letter[data-mood="surprise"] .portrait-rays{stroke:#93ddff;stroke-width:13}.author-letter[data-mood="annoyed"] .portrait-halo{fill:#23105d}.author-letter[data-mood="annoyed"] .portrait-rays{stroke:#b28aff;stroke-width:7}.author-letter[data-mood="indignant"] .portrait-halo{fill:#9237f5}.author-letter[data-mood="indignant"] .portrait-rays{stroke:#ffc8ff;stroke-width:15}.author-letter[data-mood="neutral"] .portrait-halo{fill:#b9dcff}.portrait-blog:focus-visible,.portrait-close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:700px){.portrait-reply{padding:18px 32px 18px 19px}.portrait-reply p{font-size:17px;letter-spacing:-.25px}}@media(prefers-reduced-motion:reduce){.portrait-halo{transition:none}}

/* Native image crop avoids nested SVG image rendering in iOS. */
.portrait-button{position:absolute;z-index:2;left:6.1%;top:15.29411765%;width:8.6%;height:29.41176471%;padding:0;border:0;border-radius:50%;overflow:hidden;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;isolation:isolate}
.portrait-button img{position:absolute;left:-37.20930233%;top:-72%;width:174.41860465%;height:210%;max-width:none;object-fit:contain;object-position:center bottom;pointer-events:none}
.portrait-button[data-mood]{background:repeating-conic-gradient(from 10deg,var(--portrait-color) 0deg 20deg,var(--portrait-ray) 20deg 30deg)}
.portrait-button[data-mood="question"]{--portrait-color:#7135e8;--portrait-ray:#c9b3ff}
.portrait-button[data-mood="surprise"]{--portrait-color:#1451ff;--portrait-ray:#93ddff}
.portrait-button[data-mood="annoyed"]{--portrait-color:#23105d;--portrait-ray:#b28aff}
.portrait-button[data-mood="indignant"]{--portrait-color:#9237f5;--portrait-ray:#ffc8ff}
.portrait-button[data-mood="neutral"]{--portrait-color:#b9dcff;--portrait-ray:#fff}
.portrait-button:focus-visible{outline:3px solid #7135e8;outline-offset:3px}

/* Keep the decorative SVG text out of header hit testing. */
.header{position:relative;z-index:5}
.header a{cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
.header .author{display:block;align-content:center}
.cover-wordmark{pointer-events:none}
.cover-wordmark .letter-link{pointer-events:auto}
.cover-wordmark>text{pointer-events:none}
@media(min-width:701px){.header{min-height:108px;gap:24px}.header .author{font-size:20px}.header .author>span{font-size:13px}.header nav{font-size:18px;gap:30px}.header .contact{font-size:16px;white-space:nowrap}}
@media(min-width:701px) and (max-width:1100px){.header{flex-wrap:wrap;padding-block:18px 10px;gap:8px 24px}.header nav{order:3;width:100%;justify-content:space-between}.header .contact{margin-left:auto}}
