@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#111;--paper:#f5f4f0;--muted:#77766f;--line:#d8d6cf;--accent:#d54a31}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:13px;font-weight:800;letter-spacing:.06em}.wordmark span{font-family:'DM Mono',monospace;font-size:9px;font-weight:400;color:var(--muted);margin-left:10px;letter-spacing:.03em}.site-header nav{display:flex;gap:30px;font-size:12px}.site-header nav a{color:var(--muted)}.site-header nav a.active,.site-header nav a:hover{color:var(--ink)}main{overflow:hidden}.hero,.page-hero{padding:13vh 10vw 12vh;min-height:570px;position:relative}.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.hero h1,.page-hero h1{font-size:clamp(72px,13vw,190px);line-height:.84;letter-spacing:-.095em;margin:55px 0 35px;font-weight:600}.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--accent)}.hero-copy{font-size:clamp(16px,2vw,21px);line-height:1.55;max-width:570px;color:#4f4e49}.text-link{display:inline-flex;gap:34px;align-items:center;border-bottom:1px solid var(--ink);padding:14px 0 10px;margin-top:26px;font-size:13px;font-weight:700}.text-link span{color:var(--accent);font-size:18px}.hero-index{position:absolute;right:10vw;bottom:55px;font:9px 'DM Mono',monospace;color:var(--muted);letter-spacing:.1em}.statement{background:#111;color:var(--paper);padding:100px 10vw 115px}.statement .eyebrow{color:#aaa}.statement h2,.split h2,.cta h2,.contact-layout h2{font-size:clamp(38px,6vw,78px);line-height:.98;letter-spacing:-.07em;font-weight:500;max-width:780px;margin:45px 0 25px}.statement>p:last-child{max-width:620px;line-height:1.8;color:#c3c1ba;font-size:16px}.split{padding:100px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split h2{margin-bottom:0}.split>p{font-size:18px;line-height:1.8;color:#555}.cta{padding:105px 10vw 115px;background:#e9e7df}.cta h2{margin:40px 0 12px}.page-hero{min-height:510px;padding-top:100px}.page-hero h1{font-size:clamp(66px,10vw,140px);margin-top:45px}.services-wrap{padding:50px 10vw 100px}.section-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.muted{color:var(--muted);line-height:1.7;font-size:13px}.service-row{display:grid;grid-template-columns:65px 1fr 30px;gap:20px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}.service-no{font:11px 'DM Mono',monospace;color:var(--accent);padding-top:9px}.service-row h2{font-size:clamp(26px,3vw,42px);letter-spacing:-.05em;margin:0 0 14px}.service-row p{max-width:720px;color:#555;line-height:1.7;font-size:14px}.service-row .outcome{color:#222;font-weight:700}.service-arrow{font-size:22px;color:var(--accent)}.contact-hero{min-height:460px}.contact-layout{padding:40px 10vw 120px;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact-layout h2{font-size:clamp(38px,5vw,64px)}.form-shell{border-top:1px solid var(--ink);padding-top:28px}.field{margin:0 0 24px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.field label i{color:var(--accent);font-style:normal}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:12px 0;font:15px Manrope,Arial;color:var(--ink);outline:none;border-radius:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:vertical}.field small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.field small.error,.error{color:#b33324}.submit{border:0;background:var(--ink);color:white;padding:18px 22px;width:100%;display:flex;justify-content:space-between;font:700 12px Manrope;cursor:pointer;margin-top:30px}.submit span{color:#f17b62;font-size:18px}.submit:disabled{opacity:.5}.form-note{font-size:10px;color:var(--muted);line-height:1.6}.success{padding:35px 0}.success h2{margin:20px 0}.success p:last-child{color:#555;line-height:1.7}footer{padding:28px 5vw;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font:10px 'DM Mono',monospace;color:var(--muted)}footer a{color:var(--ink)}@media(max-width:700px){.site-header{height:auto;min-height:82px;padding:18px 6vw;align-items:flex-start;gap:16px;flex-direction:column}.wordmark span{display:block;margin:5px 0 0}.site-header nav{gap:24px}.hero,.page-hero{padding:95px 7vw 100px;min-height:500px}.hero h1{font-size:clamp(66px,18vw,112px);margin-top:50px}.page-hero h1{font-size:clamp(62px,16vw,105px)}.hero-index{left:7vw;right:auto;bottom:30px;font-size:8px}.statement,.split,.cta{padding:75px 7vw}.split{grid-template-columns:1fr;gap:20px}.services-wrap{padding:35px 7vw 75px}.service-row{grid-template-columns:35px 1fr 18px;gap:10px}.service-row p{font-size:13px}.contact-layout{padding:25px 7vw 80px;grid-template-columns:1fr;gap:35px}footer{padding:25px 7vw;flex-direction:column;gap:10px}}

/* Readability upgrade for small labels and section text */
.eyebrow{font-size:clamp(13px,1.15vw,16px);line-height:1.5;letter-spacing:.10em}
.site-header nav{font-size:clamp(14px,1vw,16px)}
.wordmark span{font-size:clamp(11px,.85vw,13px)}
.hero-index{font-size:clamp(12px,.95vw,14px);line-height:1.6}
.muted{font-size:clamp(14px,1.15vw,17px)}
.portrait-caption{font-size:clamp(13px,1.05vw,15px);line-height:1.5}
footer{font-size:clamp(12px,1vw,15px);line-height:1.6}
.field label{font-size:15px}
.field small,.form-note{font-size:13px;line-height:1.5}
.service-no{font-size:14px}
.text-link{font-size:15px}
@media(max-width:700px){
 .eyebrow{font-size:13px}
 .hero-index{font-size:11px}
 .wordmark span{font-size:11px}
 .site-header nav{font-size:15px}
 footer{font-size:13px}
}

/* Strong section label contrast */
.eyebrow{color:#111;font-weight:700;letter-spacing:.10em}
.statement .eyebrow{color:#f5f4f0}
.section-top .eyebrow,.portrait-heading .eyebrow,.client-intro .eyebrow,.contact-layout .eyebrow,.cta .eyebrow{color:#111}
/* Enlarged top brand identity */
.site-header .wordmark{font-size:clamp(17px,1.65vw,24px);font-weight:750;letter-spacing:-.035em;line-height:1.2}.site-header .wordmark span{font-size:clamp(12px,1.05vw,16px);font-weight:700;letter-spacing:.015em}@media(max-width:700px){.site-header .wordmark{font-size:17px}.site-header .wordmark span{font-size:12px}}

/* Services: generous, confident typography and reading space */
.services-wrap .service-row{padding:clamp(48px,6vw,90px) 0;gap:clamp(18px,2.5vw,38px)}
.services-wrap .service-row h2{font-size:clamp(38px,4.5vw,68px);line-height:1.08;letter-spacing:-.065em;margin:0 0 clamp(24px,3vw,40px);font-weight:700}
.services-wrap .service-row p{font-size:clamp(19px,1.65vw,25px);line-height:1.58;max-width:870px;margin:0 0 22px;color:#45443f}
.services-wrap .service-row .outcome{font-size:clamp(19px,1.55vw,23px);line-height:1.5;color:#161616;margin-top:24px;font-weight:750}
.services-wrap .service-no,.services-wrap .service-arrow{font-size:clamp(15px,1.3vw,20px)}
@media(max-width:700px){.services-wrap .service-row{grid-template-columns:30px minmax(0,1fr) 18px;gap:12px;padding:48px 0}.services-wrap .service-row h2{font-size:clamp(34px,8.2vw,48px);margin-bottom:24px}.services-wrap .service-row p{font-size:18px;line-height:1.6}.services-wrap .service-row .outcome{font-size:18px}}

/* Mobile: keep the top professional title on one line. */
@media(max-width:700px){.site-header .wordmark span{display:block;white-space:nowrap;font-size:clamp(9px,2.65vw,12px);letter-spacing:0;line-height:1.3}.site-header .wordmark{max-width:100%;white-space:nowrap}}

/* Editorial typesetting: reduce widows and orphans without changing deliberate breaks. */
h1,h2,h3{ text-wrap:balance; overflow-wrap:normal; }
p:not(.eyebrow),blockquote,figcaption{ text-wrap:pretty; }
@media(max-width:700px){h1,h2,h3{overflow-wrap:break-word;hyphens:none}p{orphans:2;widows:2}}

/* Services editorial typography — aligned with the bold transformation homepage. */
.page-hero h1{font-weight:700;line-height:.98;letter-spacing:-.075em;text-wrap:balance}
.page-hero .hero-copy{font-size:clamp(21px,2vw,28px);line-height:1.55;letter-spacing:-.015em;max-width:790px;color:#393934}
.services-wrap .section-top .eyebrow{font-size:clamp(13px,1.15vw,16px);font-weight:700;letter-spacing:.1em;color:#111}
.services-wrap .service-row h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(43px,5.5vw,82px);font-weight:700;line-height:1.04;letter-spacing:-.075em;text-wrap:balance;margin:0 0 clamp(20px,2.6vw,34px)}
.services-wrap .service-row p{font-size:clamp(19px,1.7vw,25px);line-height:1.55;letter-spacing:-.012em;max-width:850px}
.services-wrap .service-row .outcome{font-size:clamp(19px,1.6vw,24px);font-weight:700;line-height:1.45;letter-spacing:-.02em}
.services-wrap .service-no,.services-wrap .service-arrow{font-weight:700}
.services-wrap .service-row{padding:clamp(45px,5vw,75px) 0}
.services-wrap+.cta h2{font-size:clamp(48px,6.3vw,92px);font-weight:700;line-height:1.04;letter-spacing:-.075em;text-wrap:balance;max-width:1000px}
.services-wrap+.cta .text-link{font-size:clamp(16px,1.3vw,20px);font-weight:700}
@media(max-width:700px){.page-hero h1{font-size:clamp(62px,16vw,105px)}.page-hero .hero-copy{font-size:20px}.services-wrap .service-row h2{font-size:clamp(35px,8.6vw,51px)}.services-wrap .service-row p,.services-wrap .service-row .outcome{font-size:18px}.services-wrap+.cta h2{font-size:clamp(42px,9vw,65px)}}

/* Brand lockup stays on a single line, including the slash, at every breakpoint. */
.site-header .wordmark{display:inline-flex;align-items:baseline;gap:clamp(5px,.65vw,10px);white-space:nowrap;max-width:100%;font-size:clamp(12px,1.35vw,21px);letter-spacing:-.035em;flex-shrink:1}
.site-header .wordmark span{display:inline!important;white-space:nowrap;margin:0;font-size:clamp(9px,.86vw,13px);line-height:inherit;letter-spacing:0}
@media(max-width:700px){.site-header .wordmark{display:inline-flex;font-size:clamp(11px,3.1vw,17px);gap:clamp(4px,1vw,7px);white-space:nowrap}.site-header .wordmark span{display:inline!important;font-size:clamp(7px,1.9vw,11px);white-space:nowrap;margin:0}}

/* Readable single-line brand identity: tighter ampersand, not smaller lettering. */
.site-header .wordmark{font-size:clamp(17px,1.65vw,24px);gap:clamp(5px,.55vw,9px);flex-shrink:0}
.site-header .wordmark span{font-size:clamp(12px,1.05vw,16px);font-weight:700;letter-spacing:-.015em}
@media(max-width:700px){.site-header .wordmark{font-size:clamp(14px,3.6vw,18px);gap:5px}.site-header .wordmark span{font-size:clamp(10px,2.55vw,13px);letter-spacing:-.035em}}

/* Tight three-line Services hero headline. */
.page-hero:has(+ .services-wrap) h1{line-height:.87;letter-spacing:-.075em}
@media(max-width:700px){.page-hero:has(+ .services-wrap) h1{line-height:.89}}

/* Stable deep-link destinations for homepage editorial sections. */
main section[id]{scroll-margin-top:24px}

/* Final header wordmark: visually even spacing and consistent tracking. */
.site-header .wordmark span{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:0;word-spacing:0;font-kerning:normal;font-variant-ligatures:normal}
@media(max-width:700px){.site-header .wordmark span{letter-spacing:0}}

/* Humanity headline: intentional line breaks, never split words. */
#humanity-forward h2{font-size:clamp(31px,4.1vw,70px);letter-spacing:-.065em;overflow-wrap:normal;word-break:normal;hyphens:none}
#humanity-forward .humanity-line{display:block;white-space:nowrap}
@media(max-width:700px){#humanity-forward h2{font-size:clamp(30px,8vw,58px);overflow-wrap:normal;word-break:normal}}

/* Editorial testimonials — plain type, no cards or carousel. */
.testimonials-editorial{padding:clamp(80px,9vw,145px) 10vw;background:#f0eee7;color:#161616}.testimonials-editorial>h2{font-size:clamp(48px,7vw,105px);font-weight:700;letter-spacing:-.075em;line-height:1.02;margin:25px 0 clamp(45px,7vw,100px)}.testimonials-editorial>h2 em{font-weight:500}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,6vw,95px) clamp(35px,7vw,110px)}.testimonial-quote{margin:0;border-top:1px solid #99958e;padding-top:25px}.testimonial-quote blockquote{font-size:clamp(22px,2.15vw,34px);line-height:1.34;letter-spacing:-.04em;font-weight:600;margin:0 0 35px}.testimonial-quote figcaption{display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.5}.testimonial-quote figcaption strong{font-size:15px}.testimonial-quote figcaption span{color:#5c5a54}.portrait-testimonial{margin:24px 0 0;max-width:620px;padding:0 7vw 0 0}.portrait-testimonial blockquote{font-size:clamp(19px,2.3vw,29px);font-weight:600;letter-spacing:-.035em;line-height:1.35;margin:0 0 13px}.portrait-testimonial figcaption{font-size:13px;line-height:1.6}.portrait-testimonial figcaption span{color:#777}.single-testimonial{padding:clamp(70px,8vw,125px) 10vw;background:#eae8e1}.single-testimonial blockquote{max-width:1060px;font-size:clamp(32px,4.3vw,67px);font-weight:600;letter-spacing:-.06em;line-height:1.18;margin:32px 0}.single-testimonial .quote-credit{font-size:14px;line-height:1.7;color:#555}.single-testimonial .quote-credit strong{color:#111}@media(max-width:700px){.testimonials-editorial,.single-testimonial{padding:75px 7vw}.testimonial-grid{grid-template-columns:1fr;gap:55px}.testimonials-editorial>h2{font-size:clamp(46px,12vw,72px)}.portrait-testimonial{padding:0 7vw}.single-testimonial blockquote{font-size:clamp(31px,8vw,48px)}}

/* Rex quote: an intentional full-width pause, not a corner caption. */
.rex-testimonial{padding:clamp(80px,9vw,135px) 10vw;background:#eae8e1}.rex-testimonial blockquote{font-size:clamp(38px,5.7vw,90px);font-weight:650;line-height:1.13;letter-spacing:-.065em;max-width:1100px;margin:30px 0 35px;text-wrap:balance}.rex-credit{display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.5;margin:0}.rex-credit span{color:#666}@media(max-width:700px){.rex-testimonial{padding:75px 7vw}.rex-testimonial blockquote{font-size:clamp(35px,9vw,60px)}}
