/* Approved Thomas Dunn identity. Loaded only by index.html. */
@font-face{font-family:Anton;src:url('assets/brand/fonts/Anton-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/brand/fonts/Inter-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Geist;src:url('assets/brand/fonts/Geist-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#06160d;--dark:#06160d;--bg:#fff;--surface:#fff;--accent:#afea36;--muted:#526058;--line:#d9dfdb;--blue:var(--ink);--type-title:clamp(34px,3.3vw,44px);--type-script:clamp(14px,1.2vw,16px);--type-body:17px;--space-label:12px}
body{font-family:Geist,Arial,sans-serif;font-size:17px;line-height:1.5;font-synthesis:none}
h1,h2{font-family:Anton,'Arial Narrow',sans-serif;font-weight:400;line-height:1.18;letter-spacing:0}
h1{font-size:clamp(42px,4.8vw,64px)}h2{font-size:var(--type-title);margin-bottom:24px}
h3,.offering-grid h3,.resource h3,.conversation h3,.journal-list h3,.process-list h3{font-family:Geist,Arial,sans-serif;font-weight:600;font-size:clamp(21px,2vw,25px);line-height:1.3;letter-spacing:-.02em}
p{line-height:1.55}.section{padding:80px 0}.soft{background:#fff}
.section>.wrap>.label,.section .section-head .label,.section .two-col .label,.principles .label,.process-grid .label,.perspective .label,.cta .label{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-size:var(--type-script);font-weight:400;line-height:1.2;letter-spacing:0;margin-bottom:var(--space-label);color:var(--ink)}
.section.dark .label,.cta .label{color:var(--accent)}
.brand-script{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:0;line-height:1.8}
.brand{padding:10px 0;min-width:180px;line-height:1}.brand img{width:180px;height:auto;object-fit:contain}
.nav{gap:28px}.nav-tag{font-size:12px;line-height:1.6}.nav-links{font-size:14px}.nav-links a:hover{color:var(--accent)}
.hero{background:var(--dark);min-height:760px;padding:165px 0 96px}.hero-copy{max-width:640px}
.hero:before{background:linear-gradient(90deg,#06160d 0%,#06160d 29%,rgb(6 22 13 / .8) 52%,rgb(6 22 13 / .12) 85%),linear-gradient(0deg,rgb(6 22 13 / .55),transparent 60%)}
.hero h1{margin-bottom:24px}.hero-copy .brand-script{font-family:Geist,Arial,sans-serif;font-size:clamp(20px,2vw,22px);font-weight:400;line-height:1.5;text-align:left;color:#fff;margin-bottom:28px}
.hero-copy p:not(.label):not(.brand-script){font-size:17px;line-height:1.6;max-width:55ch;color:#fff}
.hero .label{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-size:var(--type-script);font-weight:400;line-height:1.2;color:var(--accent);margin-bottom:16px}
.hero-note{color:#fff;border-color:rgb(255 255 255 / .3)}.location{color:#fff;line-height:1.6}
.intro-statement{font-family:Anton,'Arial Narrow',sans-serif;font-size:var(--type-title);line-height:1.2;letter-spacing:0;max-width:1050px}
.intro-statement span{display:block;font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-size:clamp(20px,2vw,26px);line-height:1.1;margin-top:4px;color:var(--ink)}
.section-head{gap:32px;margin-bottom:32px}.section-head h2{max-width:660px}.two-col{gap:56px}.principles,.process-grid{gap:56px}
.button{border-radius:4px;font-weight:500;font-size:14px;min-height:52px;gap:22px;padding:12px 14px 12px 22px;transition:transform .2s,opacity .2s}
.button:hover{background:var(--accent);opacity:.88;transform:translateY(-2px)}
.button.black,.button.black:hover{background:var(--ink);color:#fff}
.button .arrow{border-radius:0;background:transparent;color:var(--ink);width:24px;height:24px;font-size:24px}
.button.black .arrow{background:transparent;color:#fff}
.site-header .button.black{background:transparent;border:1px solid rgb(255 255 255 / .4)}
.text-link{font-size:14px;font-weight:500;transition:text-decoration-color .2s}.text-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.dark .text-link:hover,.footer a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.dark :focus-visible,.site-header :focus-visible,.footer :focus-visible,.cta :focus-visible,.hero :focus-visible{outline-color:var(--accent)}
.service-card,.portrait,.resource img,.conversation img,.journal-list img,.story-photo,.testimonial-card{border-radius:4px;box-shadow:none}
.service-card{border:1px solid var(--line)}.service-body,.offering-grid .service-body{padding:26px}.service-body h3{margin-bottom:18px}.service-body p{font-size:16px;line-height:1.6}
.dark .muted,.accordion details p,.perspective cite{color:#fff}.accordion summary{font-size:23px;line-height:1.4;font-weight:500}
.accordion details,.accordion details:last-child{border-color:rgb(255 255 255 / .25)}.process-list .step{color:var(--ink);font-weight:600}
.process-list p,.resource p,.journal-list p{line-height:1.6}.perspective{max-width:960px}.perspective .quote-mark{font-family:Geist,sans-serif;font-size:58px}
.section.dark .perspective > .label{display:block;width:100%;max-width:none;margin-left:auto;margin-right:auto;justify-content:center;text-align:center;color:#fff;font-family:Geist,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.5}
.perspective blockquote{font-family:Anton,'Arial Narrow',sans-serif;font-size:var(--type-title);font-weight:400;line-height:1.2;letter-spacing:0;margin:24px 0 32px;color:var(--accent)}
.perspective cite{display:block;font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-size:var(--type-script);font-weight:400;font-style:normal;line-height:1.3}
.testimonial-card{padding:28px;border:1px solid var(--line)}.testimonial-person figcaption strong{font-weight:600}.testimonial-avatar{background:var(--dark);color:var(--accent)}
.testimonial-card blockquote{line-height:1.6}.testimonial-disclaimer{font-size:13px}.testimonials-toggle{align-self:flex-end}
.cta{background:var(--dark);color:#fff;padding:88px 0}.cta p{color:#fff}.cta .label{color:var(--accent)}.cta .button.black{background:var(--accent);color:var(--ink)}.cta .button.black .arrow{color:var(--ink)}
.footer{background:var(--dark)}.footer p,.footer-bottom{color:#fff}.footer-bottom{border-color:rgb(255 255 255 / .25)}.footer-links{line-height:1.7}
@media(max-width:1000px){.two-col,.principles,.process-grid{gap:40px}.section{padding:80px 0}.hero-copy{max-width:590px}.nav{gap:20px}}
@media(max-width:720px){
 :root{--type-title:34px;--type-script:14px}h2{font-size:var(--type-title)}
 .brand,.brand img{width:180px;min-width:180px}.nav{gap:16px}.hero{padding:128px 0 56px;min-height:1050px}.hero-copy{max-width:100%}
 .hero:before{background:linear-gradient(180deg,#06160d 0%,#06160d 45%,rgb(6 22 13 / .92) 57%,rgb(6 22 13 / .3) 78%,rgb(6 22 13 / .65) 100%)}
 .hero h1{font-size:clamp(37px,8.9vw,48px);line-height:1.2}.hero-copy .brand-script{font-size:20px;line-height:1.5;margin-bottom:24px}.hero-copy p:not(.label):not(.brand-script){font-size:16px;line-height:1.6}
 .hero .label{font-size:var(--type-script);margin-bottom:16px}.hero-bottom{gap:20px;flex-wrap:wrap}.hero-note{font-size:12px}.location{font-size:12px;padding-top:0}
 .section{padding:64px 0}.two-col,.principles,.process-grid{gap:36px}.section .label,.principles .label,.process-grid .label,.cta .label{font-size:var(--type-script)}
 .section-head{gap:24px}.accordion summary{font-size:21px}.intro-statement{font-size:var(--type-title)}.intro-statement span{font-size:20px}
 .testimonials-toggle{align-self:flex-start}.testimonial-card{width:280px;padding:22px}.cta{padding:64px 0}.footer-links{gap:36px}.footer-bottom{line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.button,.text-link{transition:none}.button:hover{transform:none}}

.footer-social{border-top:1px solid rgb(255 255 255 / .25);padding:38px 0 42px}.footer .footer-social-title{font-family:Geist,Arial,sans-serif;font-size:18px;line-height:1.3;margin:0 0 14px;color:#fff}.footer-social-icons{display:flex;gap:12px}.social-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgb(255 255 255 / .35);border-radius:50%;color:#fff}.social-icon svg{width:17px;height:17px}

.footer-social a.social-icon:hover{color:var(--accent);border-color:var(--accent)}

/* Organization logo strip below the hero. */
.brand-partners{background:#fff;color:var(--ink);padding:44px 0;border-bottom:1px solid var(--line)}
.brand-partners-inner{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:48px}
.brand-partners .brand-partners-heading{font-family:Geist,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.3;margin:0}
.brand-partners-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:48px}
.brand-partner-placeholder{display:grid;place-items:center;min-height:64px;border:1px dashed var(--line);border-radius:4px;color:var(--muted);font:400 14px/1.5 Geist,Arial,sans-serif}
.brand-partners-logos img{width:100%;max-width:160px;height:56px;object-fit:contain;margin:auto}
@media(max-width:720px){.brand-partners{padding:32px 0}.brand-partners-inner{grid-template-columns:1fr;gap:24px}.brand-partners .brand-partners-heading{font-size:18px}.brand-partners-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.brand-partner-placeholder{min-height:56px}}

.brand-partner-logo{height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-partners-logos img{max-width:210px;height:56px}
.brand-partner-vistage{position:relative}
.brand-partners-logos .brand-partner-vistage img{position:absolute;width:210px;height:210px;max-width:none;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%)}
@media(max-width:720px){.brand-partners-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.brand-partner-logo{height:48px}.brand-partners-logos img{height:40px}.brand-partners-logos .brand-partner-vistage img{width:100%;height:auto;aspect-ratio:1}}

.brand-partners-logos img{filter:grayscale(100%)}

/* Seamless logo marquee; each repeated group spans at least the visible strip. */
.brand-partners-logos{display:block;overflow:hidden;min-width:0;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.brand-partners-track{display:flex;width:max-content;animation:partner-scroll 28s linear infinite}
.brand-partners-group{display:flex;align-items:center;justify-content:space-around;width:max(994px,calc(100vw - 342px));flex-shrink:0}
.brand-partners-group .brand-partner-logo{width:250px;flex-shrink:0}
.brand-partners-logos:hover .brand-partners-track{animation-play-state:paused}
@keyframes partner-scroll{to{transform:translateX(-50%)}}
@media(max-width:720px){.brand-partners-group{width:660px}.brand-partners-group .brand-partner-logo{width:180px}.brand-partners-logos .brand-partner-vistage img{width:170px;height:170px}.brand-partners-track{animation-duration:24s}}
@media(prefers-reduced-motion:reduce){.brand-partners-track{animation:none;width:100%}.brand-partners-group{width:100%;gap:20px}.brand-partners-group .brand-partner-logo{width:calc((100% - 40px)/3)}.brand-partners-group[aria-hidden="true"]{display:none}.brand-partners-logos{mask-image:none}.brand-partners-logos .brand-partner-vistage img{width:100%;height:auto;aspect-ratio:1}}

.testimonial-person .testimonial-photo{display:block;width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:center;background:#fff}
.testimonial-person .testimonial-photo-2{object-fit:cover;object-position:50% 20%;}
.testimonial-person .testimonial-photo-4{object-position:50% 30%}

.testimonial-person .testimonial-photo-5{object-position:43% 20%}
.testimonial-person .testimonial-photo-6,.testimonial-person .testimonial-photo-7,.testimonial-person .testimonial-photo-8{object-position:50% 30%}

/* Shared vertical rhythm: tight text groups, clear space before the next block. */
.intro-statement{margin-bottom:36px}
.meet-thomas .two-col{margin-top:0}
.section h2 + p,.cta h2 + p{margin-top:0}
.section p + .button{margin-top:8px}
.section-head .label{margin-bottom:var(--space-label)}
.section-head h2{margin-bottom:0}
.section-head > p{margin-bottom:0}
@media(max-width:720px){.intro-statement{margin-bottom:28px}.section-head{margin-bottom:28px;gap:20px}.two-col,.principles,.process-grid{gap:28px}.section{padding:56px 0}}

/* Editorial hierarchy: one reading edge and a consistent 8px spacing rhythm. */
:root{--type-title:clamp(34px,3.1vw,44px);--type-script:clamp(14px,1.2vw,16px);--space-label:8px}
.section h2,.cta h2{max-width:22ch;line-height:1.16;letter-spacing:0;text-wrap:pretty;margin:0 0 24px}
.section .label,.cta .label{display:block;max-width:none;line-height:1.15;letter-spacing:0;text-align:left;margin:0 0 var(--space-label);text-wrap:wrap}
.section .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:56px;margin-bottom:40px}
.section .section-head > div{min-width:0}
.section .section-head h2{margin-bottom:0;max-width:22ch}
.section .section-head > .button,.section .section-head > .text-link{justify-self:end;align-self:end}
.section .section-head > p{max-width:42ch;margin:0;font-size:17px;line-height:1.6}
.section .two-col,.section .principles,.section .process-grid{align-items:start;column-gap:56px}
.section .two-col > div,.section .principles > div,.section .process-grid > div{min-width:0}
.meet-thomas .two-col > div,.section .story-photo + div{padding-top:8px}
.intro-statement{margin:0 0 32px;line-height:1.16}
.intro-statement span{margin-top:0;line-height:1.12}
.section p:not(.label):not(.category):not(.intro-statement){line-height:1.6}
.section .section-head .label{margin-bottom:var(--space-label)}
.section.dark .perspective > .label{text-align:center;margin-bottom:24px}
.perspective blockquote{max-width:24ch;margin:16px auto 24px}
.section .service-body{display:flex;flex-direction:column;flex:1;padding:24px}
.service-card{display:flex;flex-direction:column}
.section .service-body h3{min-height:2.6em;margin:0 0 16px}
.section .service-body p{margin:0 0 20px}
.section .service-body .text-link{align-self:flex-start;margin-top:auto}
.section .resource,.section .conversation{display:flex;flex-direction:column;min-width:0}
.section .resource .category,.section .conversation .category{margin:20px 0 8px}
.section .resource h3,.section .conversation h3{min-height:2.6em;margin:0 0 12px}
.section .resource > p:not(.category),.section .conversation > p:not(.category){margin:0 0 20px}
.section .resource > .text-link,.section .conversation > .text-link{align-self:flex-start;margin-top:auto}
.section .journal-list h3{font-size:22px;line-height:1.3;margin:0 0 8px}
.cta .two-col{align-items:center}
@media(max-width:720px){
 :root{--type-title:34px;--type-script:14px}
 .section .section-head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .section .section-head > .button,.section .section-head > .text-link{justify-self:start}
 .section .two-col,.section .principles,.section .process-grid{gap:32px}
 .meet-thomas .two-col > div,.section .story-photo + div{padding-top:0}
 .section .service-body h3,.section .resource h3,.section .conversation h3{min-height:0}
 .section h2,.cta h2{max-width:22ch;margin-bottom:20px}
 .intro-statement{margin-bottom:28px}
}

/* Supporting typeface: Inter in uppercase. */
.section .label,.cta .label,.hero .label{line-height:1.65}
.intro-statement span{line-height:1.65}
.perspective cite{line-height:1.8}

/* Header logo: 20% smaller than the previous 180px width. */
.site-header .brand{width:144px;min-width:144px}
.site-header .brand img{width:144px;height:auto}



#ways-to-work .button.black,.leader-ideas .button.black{background:var(--accent);color:var(--ink)}
#ways-to-work .button.black .arrow,.leader-ideas .button.black .arrow{color:var(--ink)}

/* Uppercase supporting text stays secondary to Anton headlines. */
.section .label,.cta .label,.hero .label{letter-spacing:.08em;font-weight:500;line-height:1.5}
.intro-statement span{letter-spacing:.04em;font-weight:400;line-height:1.5;margin-top:8px}
.perspective cite{letter-spacing:.06em;font-weight:400;line-height:1.6}

.intro-statement span{font-size:var(--type-script)}
