@font-face{font-family:Roboto;src:url('assets/roboto-latin.woff2') format('woff2'),url('assets/roboto.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#29232e;--muted:#6c6571;--purple:#7746a7;--purple-dark:#58337d;--pale:#f2edf6;--green:#4c744f;--line:#ddd7e2;--dark:#25212b;--white:#fff;--gutter:1.25rem;--wrap:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);background:white;font:16px/1.65 Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.15}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a{text-underline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9f70cc;outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.wrap{width:min(calc(100% - var(--gutter)*2),var(--wrap));margin-inline:auto}.section{padding-block:3.5rem}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:100;top:10px;left:10px;padding:10px 15px;background:white;color:var(--ink)}[hidden]{display:none!important}
.site-header{height:60px;position:sticky;top:0;background:rgba(255,255,255,.97);z-index:50;border-bottom:1px solid #e9e5ed}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.identity{display:inline-flex;gap:.65rem;align-items:center;text-decoration:none}.identity img{width:32px;height:32px;object-fit:contain}.identity>span{font-size:14px;font-weight:600;line-height:1.2;letter-spacing:-.02em}.identity small{display:block;margin-top:4px;font-size:9px;letter-spacing:.16em;font-weight:500}.menu-toggle{border:1px solid var(--line);background:white;border-radius:7px;height:40px;padding:0 11px;font-size:12px;display:flex;align-items:center;gap:9px}.menu-toggle span{font-size:14px}nav{display:none;position:absolute;top:59px;left:0;right:0;background:white;padding:1rem var(--gutter);border-bottom:1px solid var(--line)}nav.is-open{display:grid;gap:4px}nav a{text-decoration:none;font-size:13px;padding:10px 8px}nav a:hover{color:var(--purple)}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;max-width:100%;gap:8px;padding:0 16px;border-radius:7px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:600;line-height:1.4;transition:background .15s,color .15s}.button-dark,.nav-cta{background:var(--ink);color:white}.button-dark:hover,.nav-cta:hover{background:var(--purple-dark);color:white}.button-white{background:white;color:var(--ink)}.button-white:hover{background:#e8daef}.text-link{padding:0;border:0;background:none;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:10px;line-height:1.6;color:var(--green);margin-bottom:18px}
.hero{overflow:hidden;background:var(--dark);color:white}.hero-inner{display:grid;position:relative}.hero-copy{padding-top:2.25rem;padding-bottom:1.75rem;position:relative;z-index:1}.hero .eyebrow{color:#c6b2dc;margin-bottom:14px}.hero h1{font-size:32px;letter-spacing:-.035em;line-height:1.12;font-weight:450;max-width:18ch}.hero h1 span{color:#c7a4e4}.hero-description{font-size:14px;line-height:1.65;max-width:35ch;color:#d1c9d8;margin-top:18px}.hero-copy>.button,.hero-copy>.hero-actions{margin-top:22px}.hero-byline{display:none}.hero-portrait{position:relative;width:min(100%,380px);height:380px;justify-self:center;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-portrait::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(37,33,43,.85),transparent 25%);pointer-events:none}.hero-portrait figcaption{position:absolute;bottom:18px;left:0;right:0;z-index:1;text-align:center;font-size:10px;letter-spacing:.06em;color:#ede5f3}.hero-portrait figcaption span{padding-inline:7px;color:#ba99d7}.credentials{background:var(--pale);border-bottom:1px solid #e7dfed}.credential-inner{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;padding-block:18px}.credential-inner p{font-size:11px;line-height:1.5}.credential-inner>span{width:3px;height:3px;border-radius:50%;background:var(--purple)}.credential-inner a{display:block;width:100%;font-size:11px;margin-top:5px;font-weight:500;text-decoration:none;color:var(--purple-dark)}.credential-inner a span{padding-left:6px}
h2{font-size:28px;letter-spacing:-.03em;font-weight:450;line-height:1.18}h2 span{color:var(--purple)}.perspective{display:grid;gap:28px}.perspective-content>p{font-size:14px;color:var(--muted)}.perspective-content>.lead,.lead{font-size:19px;line-height:1.5;letter-spacing:-.015em;color:var(--ink)}.perspective-content>p+p{margin-top:16px}.framework{margin-top:26px}.framework-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px;color:var(--muted)}details{border-top:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}summary::-webkit-details-marker{display:none}.framework summary{font-size:14px;font-weight:500;padding:13px 0}.framework summary>span{font-size:20px;font-weight:300;color:var(--purple);transition:transform .15s}.framework details[open] summary>span{transform:rotate(45deg)}.framework details>p{font-size:13px;color:var(--muted);padding:0 28px 16px 0;max-width:50ch}.framework details:last-child{border-bottom:1px solid var(--line)}
.about{padding-block:3rem;background:var(--pale)}.about-grid{display:grid;gap:24px}.about-name h2{font-size:30px}.degree{font-size:11px;letter-spacing:.06em;margin-top:12px;color:var(--purple-dark)}.roles{font-size:14px;margin-top:24px;color:var(--muted)}.about-bio>p:not(.lead){font-size:14px;color:var(--muted);margin-top:16px}.about-bio>.text-link{display:inline-block;margin-top:22px}.work-heading{display:grid;gap:20px;margin-bottom:30px}.work-heading>p{font-size:13px;color:var(--muted)}.offering:last-child{border-bottom:1px solid var(--line)}.offering summary{position:relative;padding:20px 30px 20px 0;display:grid;gap:5px}.offer-category{color:var(--muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.offering h3{font-size:20px;line-height:1.25;font-weight:450;letter-spacing:-.015em}.expand{position:absolute;right:0;top:27px;font-size:24px;font-weight:300;color:var(--purple)}.offering[open] .expand{transform:rotate(45deg)}.offer-body{padding:0 0 25px;display:grid;gap:22px;justify-items:start}.offer-body>div>p{font-size:14px;color:var(--muted);max-width:62ch}.offer-body>div>.offer-title{font-size:14px;font-weight:600;color:var(--purple-dark);margin-bottom:9px}.topics{padding:0 0 0 16px;font-size:13px;color:var(--muted);margin-bottom:0}
.writing{background:#3f2a50;color:white;padding-block:3rem}.writing-grid{display:grid;gap:34px}.writing .eyebrow{color:#ceacd9}.writing-type{font-size:12px;color:#d9c9e3;margin-bottom:14px}.writing h2{font-size:32px;line-height:1.12}.writing h2 span{color:#dcc1ef}.writing .button{margin-top:24px}.writing-aside{padding-top:20px;border-top:1px solid #705a7d;display:grid;justify-items:start;gap:15px}.writing-aside>p{font-size:13px;color:#d9c9e3}.writing-aside>p:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.writing-line{display:none}.writing-aside .text-link{color:white}
.inquire{display:grid;gap:30px}.inquire-intro>p:not(.eyebrow){font-size:14px;margin-top:18px;max-width:33ch;color:var(--muted)}.inquire-intro>.preview-note{font-size:11px!important;line-height:1.6;border-left:2px solid #ad8dc5;padding-left:12px}form{display:grid;gap:20px}.field-row{display:grid;gap:16px}form label,legend{font-size:12px;font-weight:500}input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fbfafc;border-radius:5px;padding:10px 12px;min-height:48px;font-size:16px;color:var(--ink)}textarea{resize:vertical;min-height:104px}fieldset{padding:0;border:0;margin:0;min-width:0}legend{padding:0;margin-bottom:10px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices label{position:relative;cursor:pointer;display:grid}.choices input{position:absolute;width:1px;height:1px;opacity:0}.choices label>span{display:flex;align-items:center;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;font-size:11px;font-weight:400}.choices input:checked+span{border-color:var(--purple);background:var(--pale);color:var(--purple-dark);box-shadow:inset 0 0 0 1px var(--purple)}.choices input:focus-visible+span{outline:2px solid var(--purple);outline-offset:3px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;font-weight:400;color:var(--muted)}.consent input{width:16px;height:16px;accent-color:var(--purple);flex:none;margin:2px 0 0}form>.button{justify-self:start}.form-status{font-size:12px;color:var(--purple-dark);min-height:20px}[aria-invalid=true]{border-color:#a12e46!important}footer{border-top:1px solid var(--line);padding-block:24px}.footer-inner{display:grid;gap:18px}.footer-inner>p{font-size:11px;color:var(--muted)}
@media(min-width:600px){:root{--gutter:2rem}.field-row{grid-template-columns:1fr 1fr}.hero-inner{grid-template-columns:1fr 1fr;gap:16px;align-items:center}.hero-copy{padding-block:40px}.hero-portrait{height:480px}.hero h1{font-size:36px}.hero-description{font-size:14px}.hero-portrait figcaption{font-size:9px}.hero-portrait figcaption span{padding-inline:3px}.hero-portrait::after{background:linear-gradient(0deg,rgba(37,33,43,.85),transparent 22%),linear-gradient(90deg,var(--dark),transparent 10%)}.credential-inner{padding-block:20px}.credential-inner a{width:auto;margin:0 0 0 auto}.section{padding-block:4rem}.perspective{grid-template-columns:.9fr 1.1fr;gap:40px}.about-grid{grid-template-columns:.9fr 1.1fr;gap:40px}.work-heading{grid-template-columns:1.1fr .9fr;align-items:end;gap:40px}.offering summary{grid-template-columns:155px 1fr;gap:24px;align-items:center;padding-block:23px}.offering h3{font-size:22px}.offer-body{padding-left:179px}.writing-grid{grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.writing-aside{border-top:0;border-left:1px solid #705a7d;padding:10px 0 10px 35px}.inquire{grid-template-columns:.9fr 1.1fr;gap:40px}.footer-inner{grid-template-columns:1fr 1fr;align-items:center}.footer-inner>p:last-child{grid-column:2}}
@media(min-width:960px){:root{--gutter:3rem}.site-header{height:68px}.identity img{width:36px;height:36px}.identity>span{font-size:15px}.identity small{font-size:9px}.menu-toggle{display:none}nav{position:static;display:flex;align-items:center;gap:25px;padding:0;border:0;background:none}nav a{font-size:12px;padding:0}.nav-cta{padding-inline:15px}.hero-inner{grid-template-columns:1.1fr 1fr;gap:55px;min-height:620px}.hero h1{font-size:48px;line-height:1.12;max-width:17ch}.hero-copy{padding-block:54px}.hero-description{font-size:15px;max-width:39ch;margin-top:24px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero-copy>.button,.hero-copy>.hero-actions{margin-top:26px}.hero-byline{display:flex;gap:14px;align-items:flex-start;margin-top:38px}.fine-rule{width:25px;height:1px;background:#a47ac4;flex:none;margin-top:10px}.hero-byline p{font-size:13px}.hero-byline small{display:block;color:#bdb2c7;font-size:10px;margin-top:2px;letter-spacing:.07em}.hero-portrait{height:620px;width:100%;max-width:460px;align-self:stretch}.hero-portrait::after{background:linear-gradient(0deg,var(--dark),transparent 15%),linear-gradient(90deg,var(--dark),transparent 12%)}.hero-portrait figcaption{bottom:22px;font-size:10px;letter-spacing:.05em}.hero-portrait figcaption span{padding-inline:6px}.credential-inner{gap:16px}.credential-inner p,.credential-inner a{font-size:12px}.section{padding-block:78px}h2{font-size:36px}.perspective{grid-template-columns:.8fr 1.2fr;gap:100px}.perspective-content>.lead{font-size:22px}.framework{margin-top:30px}.framework summary{padding-block:14px}.about{padding-block:64px}.about-grid{grid-template-columns:.8fr 1.2fr;gap:100px}.about-name h2{font-size:34px}.work-heading{margin-bottom:36px}.offering summary{grid-template-columns:230px 1fr;padding-block:28px}.offering h3{font-size:24px}.offer-body{grid-template-columns:1fr auto;align-items:end;gap:40px;padding-left:254px;padding-bottom:30px}.offer-body .button{font-size:11px;padding-inline:12px}.writing{padding-block:65px}.writing-grid{grid-template-columns:1.4fr 1fr;gap:100px}.writing h2{font-size:40px}.writing-aside{gap:22px;padding-left:60px}.writing-line{display:block;width:35px;height:1px;background:#9c7ab4}.inquire{grid-template-columns:.8fr 1.2fr;gap:100px}.inquire-intro h2{font-size:36px}.footer-inner{grid-template-columns:1fr 1.4fr auto;gap:25px}.footer-inner>p:last-child{grid-column:auto}}
/* One continuous field, with the original portrait revealed through its silhouette. */
.hero{background:linear-gradient(110deg,#19171f 0%,#25202e 37%,#3a2847 72%,#201a29 100%)}
.portrait-subject{
  position:absolute;inset:0;
  -webkit-mask-image:url('assets/portrait-cutout.png');
  mask-image:url('assets/portrait-cutout.png');
  -webkit-mask-size:cover;mask-size:cover;
  -webkit-mask-position:center top;mask-position:center top;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.hero-portrait::after{display:none}
.hero-portrait img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 85%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 3%,#000 80%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 85%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 3%,#000 80%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
@media(min-width:768px) and (max-width:959.98px){.hero h1{max-width:none;font-size:clamp(29px,3.85vw,36px)}}
@media(min-width:960px){.hero h1{max-width:none;font-size:clamp(40px,3.6vw,48px)}}
/* Crystal's three commitments, expressed as one purple-and-white editorial chapter. */
.foundation{display:grid;gap:28px}
.foundation-statement{padding:30px 26px;background:#66328b;color:white;border-radius:2px}
.foundation-statement .eyebrow{color:#e1c9f0;font-size:10px;margin-bottom:20px}
.foundation-statement h2{font-size:32px;line-height:1.22;letter-spacing:-.025em;color:white;font-weight:450}
.foundation-rule{display:block;width:35px;height:1px;background:#bd95d9;margin-top:26px;margin-bottom:22px}
.foundation-statement>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#f0e3f8}
.foundation-statement>.text-link{display:inline-block;margin-top:22px;color:white;font-size:12px}
.foundation-intro{font-size:18px;line-height:1.5;letter-spacing:-.01em;color:var(--ink);max-width:44ch}
.foundation-principles{margin-top:24px}
.foundation-principles article{display:grid;gap:7px;padding:16px 0;border-top:1px solid #e5d9ec}
.foundation-principles article:last-child{border-bottom:1px solid #e5d9ec}
.foundation-principles h3{font-size:17px;line-height:1.3;font-weight:500;color:#66328b;letter-spacing:-.01em}
.foundation-principles p{font-size:13px;line-height:1.6;color:var(--muted);max-width:42ch}
.foundation-methods{font-size:12px;line-height:1.65;color:var(--muted);margin-top:19px;max-width:52ch}
.foundation-more{border:0;margin-top:18px}
.foundation-more summary{font-size:12px;font-weight:500;color:var(--purple-dark);padding:3px 0;justify-content:flex-start;gap:12px}
.foundation-more summary>span{font-size:18px;line-height:1}
.foundation-more[open] summary>span{transform:rotate(45deg)}
.foundation-more>div{border-left:2px solid #d8bce8;padding-left:14px;margin-top:12px}
.foundation-more>div>p{font-size:12px;line-height:1.7;color:var(--muted)}
.foundation-more>div>p+p{margin-top:7px}
@media(min-width:600px){.foundation{grid-template-columns:.85fr 1.15fr;gap:32px;align-items:stretch}.foundation-statement{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px 24px}.foundation-statement h2{font-size:clamp(26px,3.5vw,32px)}.foundation-content{padding-block:6px}.foundation-intro{font-size:18px}}
@media(min-width:960px){.foundation{grid-template-columns:.85fr 1.15fr;gap:64px}.foundation-statement{padding:42px}.foundation-statement h2{font-size:36px}.foundation-statement>p:not(.eyebrow){font-size:14px}.foundation-intro{font-size:20px}.foundation-principles article{grid-template-columns:145px 1fr;gap:18px;padding:18px 0;align-items:baseline}.foundation-content{padding-block:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* EQ with Lou desktop system: V12's look with the V17 language, brand, and capsule controls. */
.hero h1 span{display:block}
.hero-description{text-wrap:balance}
/* Comfortable reading floor across every desktop surface. */
.eyebrow,.hero .eyebrow,.foundation-statement .eyebrow{font-size:12px}
.identity small,.hero-portrait figcaption,.hero-byline small,.inquire-intro>.preview-note,.credential-inner p,.credential-inner a,.degree,.footer-inner>p,.offer-category{font-size:12px!important}
nav a,.button,.nav-cta,.text-link,.foundation-statement>.text-link{font-size:13px}
form label,legend,.choices label>span,.consent{font-size:13px}
.foundation-methods,.foundation-more summary,.foundation-more>div>p,.foundation-principles p{font-size:14px}
.m-only{display:none!important}
picture{display:contents}
.button,.nav-cta,.menu-toggle{border-radius:999px}
.button{padding-inline:20px}
.identity .brand-mark{font-size:16px;font-weight:600;letter-spacing:-.01em}
nav a[aria-current=page]{color:var(--purple)}
.hero-byline{display:flex;gap:14px;align-items:flex-start;margin-top:26px}
.fine-rule{width:25px;height:1px;background:#a47ac4;flex:none;margin-top:10px}
.hero-byline p{font-size:13px}
.hero-byline small{display:block;color:#bdb2c7;font-size:11px;margin-top:2px;letter-spacing:.05em}
.fit{padding-block:64px;background:#fff}
.fit-inner{width:min(calc(100% - var(--gutter)*2),var(--wrap));margin-inline:auto;display:grid;gap:28px}
.fit-head h2{font-size:32px;color:var(--ink)}
.fit-audience{margin-top:12px;font-size:15px;color:var(--muted);max-width:30ch}
.fit-audience span{display:block}
.fit-list{border-top:1px solid var(--line)}
.fit-row{position:relative;display:grid;gap:4px;padding:20px 40px 20px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s ease}
.fit-row:hover{padding-left:8px}
.fit-row:hover .fit-line{color:var(--purple-dark)}
.fit-row::after{content:'';position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-5px;border-top:2px solid var(--purple);border-right:2px solid var(--purple);transform:rotate(45deg)}
.fit-line{font-size:20px;line-height:1.3;letter-spacing:-.015em}
.fit-service{font-size:13px;font-weight:500;color:var(--purple-dark)}
.fit-close{font-weight:500;color:var(--purple-dark)}
.about-bio>.text-link{margin-top:20px}
.roles-line{font-size:13px;margin-top:10px;color:var(--muted)}
.writing-aside>p:first-child{font-size:14px;text-transform:none;letter-spacing:0}
.art-strip{width:min(calc(100% - var(--gutter)*2),var(--wrap));margin:44px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:center}
.art-strip img{width:100%;height:auto;border-radius:3px;box-shadow:0 14px 30px rgba(18,10,26,.34);transition:transform .25s ease}
.art-strip a:hover img{transform:translateY(-4px)}
.optional{font-weight:400;color:var(--muted)}
#inquiry-form .form-done{display:none}
.page-hero .hero-inner{min-height:520px}
.page-art{justify-self:end;align-self:center;width:min(100%,380px);margin:44px 0}
.page-art img{display:block;width:100%;max-height:470px;object-fit:cover;object-position:var(--focus,50% 40%);background:#fff;padding:11px;box-shadow:0 30px 70px rgba(10,6,16,.5)}
.block{position:relative;padding-block:64px;background:#fff}
.block-inner{width:min(calc(100% - var(--gutter)*2),var(--wrap));margin-inline:auto}
.split{display:grid;gap:26px}
.tone-pale{background:var(--pale)}
.tone-purple{background:#66328b;color:#fff}
.tone-plum{background:#3f2a50;color:#fff}
.tone-purple .eyebrow{color:#e1c9f0}
.tone-plum .eyebrow{color:#ceacd9}
.block-head .eyebrow,.b-statement .eyebrow,.story-copy .eyebrow{margin-bottom:12px}
.block h2{font-size:32px;line-height:1.18}
.block-intro{margin-top:14px;font-size:16px;color:var(--muted);max-width:48ch}
.statement-text{font-size:28px;line-height:1.3;letter-spacing:-.02em;max-width:30em}
.ruled-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.ruled-list li{padding:15px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.4}
.tone-pale .ruled-list,.tone-pale .ruled-list li,.tone-pale .detail-rows,.tone-pale .detail-rows>div{border-color:#ddd4e6}
.detail-rows{margin:0;border-top:1px solid var(--line)}
.detail-rows>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.detail-rows dt{font-size:14px;font-weight:500;color:var(--purple-dark)}
.detail-rows dd{margin:0;font-size:17px;line-height:1.45}
.pillar-list{border-top:1px solid rgba(255,255,255,.24)}
.pillar-list article{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.24);align-items:baseline}
.pillar-list h3{font-size:19px;font-weight:500;letter-spacing:-.01em}
.pillar-list p{font-size:16px;line-height:1.55;color:#f0e3f8}
.b-words .block-head{text-align:center}
.b-words h2{font-size:24px}
.word-list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 34px;margin:20px 0 0;padding:0;list-style:none}
.word-list li{font-size:clamp(38px,4.6vw,56px);font-weight:450;line-height:1.15;letter-spacing:-.035em}
.word-list li:nth-child(even){color:#d0afea}
.word-body{max-width:58ch;margin:22px auto 0;text-align:center;font-size:16px;color:#e6dbee}
.story-grid{display:grid;gap:40px;grid-template-columns:.8fr 1.2fr;align-items:start}
.story-grid.no-art{grid-template-columns:minmax(0,760px)}
.story-art{margin:0;position:sticky;top:100px}
.story-art img{display:block;width:100%;height:auto;background:#fff;padding:10px;box-shadow:0 18px 44px rgba(41,28,54,.2)}
.story-seal{display:block;width:148px;height:148px;margin:0 0 18px}
.story-lead{margin-top:14px;font-size:21px;line-height:1.38;letter-spacing:-.015em}
.story-copy>p:not(.eyebrow):not(.story-lead){margin-top:14px;font-size:16px;color:var(--muted);max-width:60ch}
.b-quote{text-align:center}
.b-quote blockquote{margin:0 auto;max-width:34em}
.b-quote blockquote p{font-size:30px;line-height:1.26;letter-spacing:-.02em}
.b-quote footer{all:unset;display:block;margin-top:14px;font-size:14px;color:#e1c9f0}
.writing-book{display:flex;gap:28px;align-items:center}
.writing-cover{flex:none;width:128px}
.writing-cover img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 16px 34px rgba(16,10,22,.46);transition:transform .25s ease}
.writing-cover:hover img{transform:translateY(-4px)}
.shelf{display:grid;gap:44px;margin-top:30px}
.shelf-book{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:36px;align-items:center}
.shelf-cover img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 22px 46px rgba(41,28,54,.28);transition:transform .25s ease}
.shelf-cover:hover img{transform:translateY(-4px)}
.book-kicker{font-size:14px;color:var(--muted)}
.shelf-copy h3{margin-top:6px;font-size:32px;font-weight:450;letter-spacing:-.025em;line-height:1.16}
.shelf-copy p:not(.book-kicker){margin-top:12px;font-size:16px;color:var(--muted);max-width:60ch}
.shelf-copy .button{margin-top:18px}
.gallery-head{max-width:34em}
.gallery{columns:3;column-gap:20px;margin-top:32px}
.piece{break-inside:avoid;margin:0 0 24px}
.piece button{display:block;width:100%;padding:0;border:0;background:none;transition:transform .25s ease}
.piece button:hover{transform:translateY(-3px)}
.piece img{display:block;width:100%;height:auto;border-radius:3px;background:#e6deec;box-shadow:0 12px 26px rgba(41,28,54,.16)}
.piece figcaption{margin-top:9px;font-size:13px;color:var(--muted)}
.resource-grid{display:grid;gap:22px;justify-items:start}
.lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgba(16,12,20,.96);color:#fff}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox::backdrop{background:#100c14}
.lightbox figure{margin:0;padding:40px 90px;text-align:center}
.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 130px);margin-inline:auto;object-fit:contain}
.lightbox figcaption{margin-top:14px;font-size:14px}
.lightbox-close,.lightbox-step{position:fixed;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14)}
.lightbox-close{top:20px;right:24px}
.lightbox-close::before,.lightbox-close::after{content:'';position:absolute;top:50%;left:50%;width:15px;height:2px;margin:-1px 0 0 -7.5px;background:#fff;transform:rotate(45deg)}
.lightbox-close::after{transform:rotate(-45deg)}
.lightbox-step{top:calc(50% - 22px);left:24px}
.lightbox-step.next{left:auto;right:24px}
.lightbox-step::before{content:'';position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -3px;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(45deg)}
.lightbox-step.next::before{margin-left:-7px;transform:rotate(225deg)}
/* Blog */
.post-hero .hero-inner{display:block;min-height:0}
.post-hero .hero-copy{max-width:760px;margin-inline:auto;padding-block:64px}
.post-hero .eyebrow a{text-decoration:none}
.post-hero h1{font-size:clamp(32px,3.4vw,44px)}
.posts-head{display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center;justify-content:space-between}
.post-search input{width:300px;min-height:44px;margin:0;border-radius:999px;padding-inline:18px;font-size:14px}
.post-list{margin-top:22px;border-top:1px solid var(--line)}
.post-row{display:grid;grid-template-columns:170px 1fr;gap:4px 24px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}
.js .post-row.is-later{display:none}
.js .post-list.is-all .post-row,.js .post-list.is-searching .post-row{display:grid}
.js .post-list .post-row.is-hidden{display:none}
.post-row:hover .post-title{color:var(--purple-dark)}
.post-row time{grid-row:span 2;font-size:13px;color:var(--muted);padding-top:4px}
.post-title{font-size:21px;line-height:1.28;letter-spacing:-.015em}
.post-excerpt{font-size:15px;line-height:1.5;color:var(--muted);max-width:68ch}
.post-more{margin-top:24px}
.post-empty{margin-top:16px;color:var(--muted)}
.post-article .block-inner{max-width:720px}
.post-cover{display:block;width:100%;height:auto;margin-bottom:28px;border-radius:4px}
.post-body{font-size:18px;line-height:1.66}
.post-body>*+*{margin-top:18px}
.post-body h2{margin-top:36px;font-size:28px}
.post-body h3{margin-top:30px;font-size:22px;font-weight:500}
.post-body blockquote{margin:26px 0;padding-left:20px;border-left:3px solid var(--purple);color:var(--purple-dark);font-size:21px;line-height:1.45}
.post-body ul,.post-body ol{padding-left:24px}
.post-body img{height:auto;border-radius:4px}
.post-body a{color:var(--purple-dark)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.post-nav a{display:block;font-size:16px;line-height:1.35;text-decoration:none}
.post-nav a:last-child:not(:first-child){text-align:right}
.post-nav small{display:block;font-size:12px;color:var(--muted)}
html.has-sheet{overflow:hidden}
footer{background:#fff}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:12px 40px;align-items:center}
.footer-inner>p{font-size:12px;color:var(--muted)}
.footer-inner>p.footer-line:last-child{grid-column:auto;justify-self:end}
.footer-nav{position:static;display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:flex-end;padding:0;border:0;background:none;box-shadow:none}
.footer-nav a,.footer-social a{font-size:12px;text-decoration:none}
.footer-social{display:flex;gap:16px;justify-content:flex-end;grid-column:2;grid-row:2}
.footer-inner .footer-social a{color:var(--purple-dark);font-weight:500}
.footer-inner>p.footer-line:nth-of-type(2){grid-column:1;grid-row:2}
.footer-inner>p.footer-line:last-child{grid-column:1 / -1;justify-self:start;grid-row:3}
@media(min-width:960px){
  .fit{padding-block:78px}
  .fit-inner{grid-template-columns:.8fr 1.2fr;gap:28px 64px;align-items:start}
  .fit-head{position:sticky;top:100px}
  .fit-head h2{font-size:36px}
  .fit-close{grid-column:2}
  .block{padding-block:78px}
  .split{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
  .block-head{position:sticky;top:100px}
  .block h2{font-size:34px}
  .two-up{columns:2;column-gap:36px;border-top:0}
  .two-up li{break-inside:avoid;border-top:1px solid var(--line);border-bottom:0}
  .tone-pale .two-up li{border-color:#ddd4e6}
  .statement-text{font-size:32px}
  .shelf-2{grid-template-columns:1fr 1fr;gap:48px}
  .shelf-2 .shelf-book{grid-template-columns:150px 1fr;gap:24px;align-items:start}
  .shelf-2 .shelf-copy h3{font-size:24px}
  .shelf-2 .shelf-copy p:not(.book-kicker){font-size:15px}
  .shelf-1 .shelf-copy{max-width:600px}
  .gallery{columns:4}
  .resource-grid{grid-template-columns:1fr auto;align-items:center;gap:40px}
  .b-words h2{font-size:26px}
}
.page-home .hero-copy{width:fit-content;max-width:100%}
.hero .hero-promise{width:0;min-width:100%;max-width:none;text-wrap:pretty}

/* Testimonials: hidden on the public site until one is added. */
.testimonial-list{border-top:1px solid var(--line)}
.testimonial{margin:0;padding:26px 0 24px;border-bottom:1px solid var(--line)}
.testimonial blockquote{margin:0}
.testimonial blockquote p{max-width:56ch;font-size:20px;line-height:1.45;letter-spacing:-.012em}
.testimonial blockquote p::before{content:'\201C';display:block;height:26px;font-size:46px;line-height:1;color:#b07fdc}
.testimonial figcaption{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:14px;font-size:14px;line-height:1.4}
.testimonial figcaption strong{font-weight:600}
.testimonial figcaption span{color:var(--muted)}
.tone-plum .testimonial-list,.tone-plum .testimonial,.tone-purple .testimonial-list,.tone-purple .testimonial{border-color:rgba(255,255,255,.22)}
.tone-plum .testimonial figcaption span,.tone-purple .testimonial figcaption span{color:#ceacd9}

/* Hero actions: the payment button sits beside the main button once Crystal adds a Stripe link. */
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.button-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.button-outline:hover{background:rgba(255,255,255,.1)}

/* Blog topics and pinned posts. */
select{font:inherit;color:inherit}
.post-filters{display:flex;flex-wrap:wrap;gap:10px}
.post-topic select{min-height:44px;padding:0 40px 0 18px;border:1px solid var(--line);border-radius:999px;background:#fbfafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2358337d' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;font-size:14px;appearance:none;cursor:pointer}
.post-topic select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.post-when{grid-row:span 2;display:grid;align-content:start;gap:4px;padding-top:4px}
.post-row .post-when time{grid-row:auto;padding-top:0}
.post-pin{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.post-topics{margin-top:32px;font-size:15px;color:var(--muted)}
.post-topics a{color:var(--purple-dark)}

/* Comments: approved comments, Crystal's replies beneath them, and a form that waits for her review. */
.comments{padding-top:8px}
.comments .block-inner{max-width:720px}
.comments h2{font-size:26px}
.comment-list,.comment-replies{margin:0;padding:0;list-style:none}
.comment-list{margin-top:20px;border-top:1px solid var(--line)}
.comment{padding:20px 0;border-bottom:1px solid var(--line)}
.comment-replies{margin-top:16px;padding-left:22px;border-left:2px solid var(--line)}
.comment-replies .comment{padding:8px 0 0;border:0}
.comment-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:14px}
.comment-meta strong{font-weight:600}
.comment-meta span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.comment-meta time{color:var(--muted)}
.comment-text{margin-top:8px;font-size:16px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.comment-form{gap:18px;margin-top:34px}
.comment-form h3{font-size:21px;font-weight:450}
.comment-form label,.subscribe-form label{font-size:14px}
.trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13px;line-height:1.5;color:var(--muted)}
.is-sent .form-status{color:var(--green)}

/* New posts by email. */
.subscribe-grid{display:grid;gap:24px}
.b-subscribe h2{font-size:28px}
.subscribe-form{gap:14px;max-width:440px}
@media(min-width:960px){.subscribe-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}}

/* Free downloads. */
.download-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.download-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.download-copy{display:grid;gap:2px;min-width:0}
.download-title{font-size:17px;line-height:1.4}
.download-meta{font-size:13px;color:var(--muted)}
.download-list .text-link{flex:none;min-height:auto}
.tone-pale .download-list,.tone-pale .download-list li{border-color:#ddd4e6}
.comment-form .form-status:empty,.subscribe-form .form-status:empty{display:none}

/* Post images keep their own shape, never grow past their real size, and never run taller than the screen. A list of images becomes a simple grid. */
.post-body img,.post-cover{width:auto;max-width:100%;height:auto;max-height:min(78svh,760px);margin-inline:auto}
.post-body ul:has(>li>img){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;padding-left:0;list-style:none}
.post-body ul:has(>li>img)>li+li{margin-top:0}
.post-body ul:has(>li>img) img{width:100%;max-height:none;margin:0}

/* Long web addresses inside posts wrap instead of pushing the page sideways. */
.post-body{overflow-wrap:anywhere}

/* A sent inquiry reads as success, not as an error. */
#form-status.is-ok,.form-status.is-ok{color:var(--green)}
