/* Two typefaces throughout: Bricolage Grotesque + Inter. */
:root{--sans:Inter,Arial,sans-serif;--mono:Inter,Arial,sans-serif;--serif:'Bricolage Grotesque',Arial,sans-serif;--heading:'Bricolage Grotesque',Arial,sans-serif}
body{font-family:Inter,Arial,sans-serif}
body :is(h1,h2,h3,h4,blockquote),body .pull p,body .q>p{font-family:var(--heading);font-style:normal}
body.studio :is(h1,h2,h3,h4){font-family:var(--heading);font-weight:700;letter-spacing:-.04em}
body .concept-bar,body .concept-links a,body .eyebrow{font-family:Inter,Arial,sans-serif}
.studio .studio-hero{min-height:535px;grid-template-columns:1.15fr 1fr;padding-block:45px 70px}
.studio .studio-hero h1{font-size:clamp(3rem,4.9vw,5rem);line-height:1.08;letter-spacing:-.045em}
.studio .studio-hero .hero-copy>p{font-size:1.05rem;max-width:45ch;line-height:1.85}
.studio .hero-art{padding-top:0}
.studio .experience>p{font-size:.85rem;max-width:24ch}
.studio .company-names{max-width:760px;gap:2rem}
.studio .company-names span{font:600 1.4rem Inter,Arial,sans-serif;letter-spacing:-.04em}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem}
.work-grid article{border-top:1px solid var(--line,#e8e8e4);padding-top:1.4rem}
.work-grid h3{font-size:1.55rem;line-height:1.25;letter-spacing:-.025em}
.work-grid p{margin-top:1rem;font-size:1rem;line-height:1.85}
.outcomes-section{padding-bottom:75px}
.section-context{margin-top:.8rem;font-size:.95rem}
.outcome-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:2.5rem;margin-top:2.5rem}
.outcome-grid article{border-top:1px solid var(--line,#e8e8e4);padding-top:1.6rem}
.outcome-grid strong{font:700 2.8rem/1.2 var(--heading);letter-spacing:-.04em;color:#3562aa;display:block}
.outcome-grid h3{font-size:1.1rem;line-height:1.45;margin-top:1rem;letter-spacing:-.015em}
.outcome-grid p{font-size:.95rem;line-height:1.8;margin-top:.65rem}
.studio .studio-about{grid-template-columns:.75fr 1.3fr;padding:3rem;gap:3rem}
.studio .studio-about h2{font-size:2.6rem;line-height:1.18;margin-top:0}
.studio .studio-about p{max-width:52ch;font-size:1rem}
.scope-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin:1.8rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--line,#e8e8e4)}
.scope-grid dt{font:400 .78rem/1.6 Inter,Arial,sans-serif;color:var(--muted,#6e6e78)}
.scope-grid dd{font:600 1.55rem/1.3 var(--heading);letter-spacing:-.03em;margin:.4rem 0 0;color:var(--ink,#242522)}
.studio .studio-quote blockquote{font:600 2.35rem/1.35 var(--heading);letter-spacing:-.025em}
.studio .studio-quote p{font-size:.9rem}
.featured-note{display:grid;grid-template-columns:1fr auto;gap:1.3rem 3rem;border-top:1px solid var(--line,#e8e8e4);padding-top:1.5rem}
.featured-note>.eyebrow{grid-column:1/-1;font-size:.75rem;letter-spacing:.06em}
.featured-note h3{font-size:2rem;line-height:1.3;max-width:32ch}
.featured-note>.text-link{align-self:center}
.featured-note:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.studio .studio-contact h2{font-size:3rem;margin:0 0 1rem}
.contact-address{font-size:1rem;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.studio .site-footer{border-top:0}
.practice .q>p{font-family:var(--heading);font-weight:600;line-height:1.5;font-size:1.35rem}
.practice .pull p,.studio .detail-page .pull p{font-family:var(--heading)}
.directions .directions-intro h1,.directions .direction-title h2{font-family:var(--heading)!important}
@media(max-width:1000px){.studio .studio-hero h1{font-size:3.8rem}.studio .studio-hero{min-height:480px}.work-grid{gap:1.5rem}.work-grid h3{font-size:1.4rem}.outcome-grid{gap:1.5rem}.outcome-grid strong{font-size:2.3rem}.studio .studio-about{padding:2rem;gap:2rem}.studio .studio-about h2{font-size:2.2rem}.scope-grid{grid-template-columns:1fr 1fr;gap:1rem}.studio .company-names{gap:1.3rem}.studio .company-names span{font-size:1.2rem}}
@media(max-width:700px){.studio .studio-hero{display:flex;padding-block:30px 45px;min-height:0;gap:2rem}.studio .studio-hero h1{font-size:clamp(2.7rem,9.7vw,4rem)}.studio .studio-hero .hero-copy>p{font-size:1rem}.studio .company-names{gap:1.2rem;flex-wrap:wrap}.studio .company-names span{font-size:1.15rem}.studio .experience>p{max-width:none}.work-grid{grid-template-columns:1fr;gap:1.8rem;margin-top:1.8rem}.work-grid h3{font-size:1.5rem}.work-grid p{font-size:1rem}.outcome-grid{grid-template-columns:1fr;gap:1.8rem;margin-top:1.8rem}.outcome-grid strong{font-size:2.7rem}.outcome-grid p{font-size:1rem}.outcomes-section{padding-bottom:50px}.studio .studio-about{grid-template-columns:1fr;padding:1.5rem;gap:1.8rem}.studio .studio-about h2{font-size:2.2rem}.studio .portrait-note{width:100%;max-width:none}.scope-grid{grid-template-columns:1fr 1fr}.scope-grid dt{font-size:.78rem}.scope-grid dd{font-size:1.6rem}.studio .studio-quote blockquote{font-size:1.9rem}.featured-note{grid-template-columns:1fr;gap:1.2rem}.featured-note h3{font-size:1.7rem}.featured-note>.eyebrow{grid-column:1}.studio .studio-contact h2{font-size:2.5rem}}
/* The compact portrait direction uses the same content hierarchy. */
.practice[data-page="home"] header{padding-top:65px}
.practice[data-page="home"] h1{font-size:clamp(2.8rem,4.3vw,3.8rem);font-weight:700;max-width:15ch;line-height:1.06}
.practice[data-page="home"] .lede{font-size:1.04rem;line-height:1.85}
.practice .practice-companies{border-top:1px solid var(--rule);margin-top:55px;padding-top:25px}
.practice-companies>p{font-size:.8rem;color:var(--muted)}
.practice .company-names{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem;margin-top:17px;font-size:1.2rem;font-weight:600;letter-spacing:-.03em}
.practice[data-page="home"] section{padding-block:55px}
.practice .work-grid{gap:25px;margin-top:28px}
.practice .work-grid h3{font-size:1.3rem}
.practice .work-grid p{font-size:.94rem;line-height:1.8}
.practice .outcome-grid{gap:25px}
.practice .outcome-grid strong{font-size:2.2rem;color:var(--accent-ink)}
.practice .outcome-grid h3{font-size:1.02rem}
.practice .outcome-grid p{font-size:.92rem}
.practice .practice-about{background:var(--tint);margin-top:20px}
.practice .about-copy h2{font-size:2.4rem;line-height:1.15}
.practice .about-copy p{margin-top:20px;max-width:64ch;font-size:1rem}
.practice .scope-grid{grid-template-columns:repeat(3,1fr);max-width:650px}
.practice .about-copy>.text-link{display:inline-block;margin-top:25px;font-size:.9rem;text-decoration:underline;text-underline-offset:5px}
.practice .practice-quote{text-align:center;padding-block:70px!important}
.practice .practice-quote blockquote{font:600 2rem/1.4 var(--heading);letter-spacing:-.025em}
.practice .practice-quote p{margin:20px auto 0;font-size:.85rem;line-height:1.8}
.practice .writing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:25px}
.practice .writing-heading>a{font-size:.85rem;text-underline-offset:4px}
.practice .featured-note{text-decoration:none}
.practice .featured-note h3{font-size:1.8rem}
.practice .featured-note .text-link{font-size:.88rem;text-decoration:underline;text-underline-offset:4px}
.practice .featured-note .eyebrow{font-size:.7rem;color:var(--muted)}
.practice footer .fin{justify-content:space-between}
.review-note{border-top:1px solid var(--line);padding-top:30px;margin-top:55px}
.review-note p{font-size:.87rem;color:var(--muted);max-width:85ch;line-height:1.8}
@media(max-width:820px){.practice[data-page="home"] header{padding-top:32px}.practice[data-page="home"] .hero{grid-template-columns:1fr}.practice[data-page="home"] h1{max-width:15ch}.practice .outcome-grid{grid-template-columns:1fr}.practice .outcome-grid strong{font-size:2.7rem}.practice .company-names{justify-content:flex-start;gap:1.5rem}.practice .work-grid{grid-template-columns:1fr}.practice .work-grid h3{font-size:1.5rem}.practice .about-copy h2{font-size:2.1rem}.practice .scope-grid{grid-template-columns:1fr 1fr}.practice[data-page="home"] section{padding-block:40px}.practice .practice-quote blockquote{font-size:1.7rem}}

.studio .company-names span{font-style:normal;font-weight:600;letter-spacing:-.04em}
.practice [id]{scroll-margin-top:85px}
/* Compact evidence strip, recommendations and professional writing. */
.outcomes-bar{display:grid;grid-template-columns:1.2fr .8fr .9fr 1.3fr;gap:0;margin:0;padding:22px 0;border-block:1px solid var(--line,#e8e8e4)}
.outcomes-bar>div{padding:0 24px;border-left:1px solid var(--line,#e8e8e4);display:flex;flex-direction:column;justify-content:center}
.outcomes-bar>div:first-child{border-left:0;padding-left:0}
.outcomes-bar>div:last-child{padding-right:0}
.outcomes-bar dd{margin:0;font:600 clamp(1.5rem,2.2vw,2rem)/1.2 var(--heading);letter-spacing:-.035em;color:#3562aa;white-space:nowrap}
.outcomes-bar dt{font:400 .78rem/1.6 Inter,Arial,sans-serif;color:var(--muted);margin-top:6px}
.practice .outcomes-bar{margin-top:48px;padding-block:20px}
.practice .outcomes-bar>div{padding-inline:18px}
.practice .outcomes-bar>div:first-child{padding-left:0}
.practice .outcomes-bar>div:last-child{padding-right:0}
.practice .outcomes-bar dd{font-size:1.6rem;color:var(--accent-ink)}
.practice .outcomes-bar dt{font-size:.72rem}
.recommendations{max-width:830px;margin:auto;text-align:left}
.recommendation-slide{margin:0;padding:0}
.recommendation-slide[hidden],.recommendation-controls[hidden]{display:none!important}
.studio .recommendations blockquote,.practice .recommendations blockquote{font:600 clamp(1.6rem,2.5vw,2.15rem)/1.4 var(--heading);letter-spacing:-.025em;margin:0;color:var(--ink)}
.recommendation-slide figcaption{display:flex;flex-direction:column;gap:3px;margin-top:24px;font-size:.85rem;line-height:1.6}
.recommendation-slide figcaption strong{font-weight:600}
.recommendation-slide figcaption span{font-size:.77rem;color:var(--muted)}
.recommendation-slides{min-height:255px}
.recommendation-slide:not([hidden])+.recommendation-slide:not([hidden]){margin-top:35px}
.recommendation-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.recommendation-footer>a{font-size:.77rem;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.recommendation-controls{display:flex;align-items:center;gap:15px}
.recommendation-controls button{border:1px solid var(--line,#ddd);background:transparent;color:var(--ink);border-radius:50%;width:42px;height:42px;font:400 1.15rem Inter,Arial,sans-serif;cursor:pointer}
.recommendation-controls button:hover{background:#eef2fa;border-color:#a8bce0}
.recommendation-count{font:400 .75rem Inter,Arial,sans-serif;color:var(--muted);min-width:34px;text-align:center}
.blog-intro{font-size:.96rem;line-height:1.8;margin-top:16px;max-width:55ch}
.latest-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.latest-articles article{border-top:1px solid var(--line,#e8e8e4)}
.latest-articles article>a{height:100%;display:flex;flex-direction:column;align-items:flex-start;padding-top:20px;text-decoration:none}
.latest-articles .eyebrow{font-size:.68rem;line-height:1.7;color:var(--muted);letter-spacing:.06em}
.latest-articles h3,.practice .latest-articles h3{font-size:1.55rem;line-height:1.25;margin-top:14px;letter-spacing:-.025em}
.latest-articles p{font-size:.92rem;line-height:1.8;margin-top:14px;margin-bottom:20px}
.article-arrow{font-size:1.25rem;margin-top:auto;color:#3562aa}
.latest-articles a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.practice .latest-articles{gap:24px}
.practice .latest-articles h3{font-size:1.35rem}
.practice .latest-articles p{font-size:.87rem}
.practice .article-arrow{color:var(--accent-ink)}
.practice .writing-heading{align-items:flex-end}
.practice .writing-heading>.text-link{white-space:nowrap}
@media(max-width:700px){.outcomes-bar{grid-template-columns:1fr 1fr;row-gap:22px;padding-block:22px}.outcomes-bar>div:nth-child(3){border-left:0;padding-left:0}.outcomes-bar dd,.practice .outcomes-bar dd{font-size:1.65rem}.outcomes-bar dt,.practice .outcomes-bar dt{font-size:.75rem}.practice .outcomes-bar>div:nth-child(3){padding-left:0}.practice .outcomes-bar{margin-top:30px}.recommendation-slides{min-height:300px}.recommendation-footer{flex-wrap:wrap;gap:18px}.recommendation-footer>a{order:2}.recommendation-controls{margin-left:auto}.latest-articles{grid-template-columns:1fr;gap:28px}.latest-articles h3,.practice .latest-articles h3{font-size:1.55rem;max-width:28ch}.latest-articles p,.practice .latest-articles p{font-size:.95rem}.practice .writing-heading{align-items:flex-start;flex-direction:column}.blog-intro{font-size:.95rem}.studio .studio-quote{padding-bottom:0}}

.outcomes-bar dd{order:-1}
