/* A restrained editorial layer shared by every page. */
:root{--paper:#eeeee9;--ink:#1a1d28;--paper-muted:#515564;--paper-accent:#344b9a}
[hidden]{display:none!important}
.header{gap:22px}
.header nav{gap:20px;white-space:nowrap}
.site-language{display:flex;align-items:center;direction:ltr;gap:2px;flex-shrink:0;font-size:12px;letter-spacing:.04em}
.site-language a{display:grid;place-items:center;min-width:36px;min-height:44px;color:var(--muted);position:relative}
.site-language a[aria-current=page]{color:var(--text)}
.site-language a[aria-current=page]:after{content:'';position:absolute;bottom:8px;inset-inline:8px;height:2px;background:var(--accent)}
.site-language>span{color:#797d8b}
.hero h1,.hero-bottom{animation:none}
.hero-message{position:relative;margin:36px 0 44px;isolation:isolate}
.hero-message h1{margin:0;opacity:1}
.message-draft{display:none;position:absolute;inset:0;align-content:center;font-size:clamp(26px,3.8vw,54px);font-weight:400;line-height:1.55;letter-spacing:-.025em;color:var(--muted);pointer-events:none}
.draft-chunk{display:block;width:fit-content;max-width:100%;position:relative}
.draft-chunk:after{content:'';position:absolute;inset-inline:0;top:52%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right center}
html[dir=ltr] .draft-chunk:after{transform-origin:left center}
.hero-message.is-editing .message-draft{display:grid;justify-items:start;animation:edit-away .35s 1.65s both}
.hero-message.is-editing .draft-chunk:after{animation:edit-stroke .36s ease-out both;animation-delay:calc(.3s + var(--order)*.26s)}
.hero-message.is-editing h1{animation:message-arrives .65s 1.85s both}
.hero h1>span,.section h2 em{background:linear-gradient(transparent 87%,#a7b8ff25 87%,#a7b8ff25 97%,transparent 97%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.home-page .section h2{position:relative}
.home-page .section h2:before{content:'';display:block;width:35px;height:10px;border-top:2px solid var(--accent);border-inline-start:2px solid var(--accent);margin-bottom:24px;transform:skewY(-8deg)}
.home-page #fit{--text:var(--ink);--muted:var(--paper-muted);--accent:var(--paper-accent);--line:#c5c8ce;--panel:#e4e5e1;color:var(--text);background:var(--paper);width:100%;max-width:none;padding-inline:max(56px,calc((100% - 1192px)/2));border:0}
.home-page #fit .section-main{max-width:1060px;margin-inline:auto}
.home-page #fit h2 em,.home-page .about-band h2 em{background:linear-gradient(transparent 82%,#344b9a1f 82%,#344b9a1f 98%,transparent 98%)}
.need-accordion summary{align-items:start;gap:20px;padding-block:24px}
.need-accordion .num{color:var(--accent);font-variant-numeric:tabular-nums;padding-top:6px}
.need-question{min-width:0}.need-title{display:block}
.need-accordion .need-title{font-size:22px;line-height:1.5;font-weight:500}
.need-summary{display:block;color:var(--muted);font-size:15px;line-height:1.65;margin-top:7px}
.need-accordion .plus:before,.need-accordion .plus:after{background:var(--accent)}
.need-accordion details[open]{background:#344b9a06}
.need-accordion details[open] .need-title,.need-accordion summary:hover .need-title{color:var(--accent)}
.need-answer{padding-inline:56px 46px;line-height:1.9}
.need-accordion details[open] .need-answer{animation:need-reveal .24s ease-out}
.home-page #fit .button{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.home-page #working{position:relative;background:#171a22;border-top:1px solid #393d4b}
.engagement-grid{counter-reset:engagement;gap:12px 48px}
.engagement-grid article{counter-increment:engagement;position:relative;padding-top:28px}
.engagement-grid article:before{content:'0' counter(engagement);display:block;font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:17px}
.engagement-grid h3{font-size:25px}
.home-page .about-band{--text:var(--ink);--muted:var(--paper-muted);--accent:var(--paper-accent);--line:#c5c8ce;background:var(--paper);color:var(--text)}
.home-page .about-layout h2{color:var(--ink)}
.home-page .about-name{color:var(--paper-accent);position:relative}
.home-page .about-name:before{content:'';display:block;width:45px;height:2px;background:var(--paper-accent);margin-bottom:25px;transform:rotate(-7deg)}
.about-name>span{line-height:1.6}
.articles-feature{border-top:0}
.section-title>.text-link{flex-shrink:0}
.featured-article h3{max-width:900px}
.button,.header-contact,.text-link{position:relative}
.button:after,.header-contact:after{content:'';position:absolute;inset-inline:12px;bottom:7px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .2s ease;opacity:.7}
.button:hover:after,.button:focus-visible:after,.header-contact:hover:after{transform:scaleX(1)}
.button:hover{transform:none}
.button:disabled{cursor:wait;opacity:.7}
.button:disabled:after{display:none}
.text-link{border-bottom-style:solid;text-underline-offset:5px;transition:background .2s}
.text-link:hover{background:#a7b8ff18}
.home-page .about-band .text-link:hover{background:#344b9a18}
.contact-band{--accent:#263c78;scroll-margin-top:30px}
.contact input,.contact textarea{min-width:0}
.contact .form-row>*{min-width:0}
.contact input::placeholder,.contact textarea::placeholder{color:#424d70}
.contact .field small,.contact .privacy{color:#384465}
.contact-form-shell{min-width:0}
.contact-form-shell:focus{outline:0}
.form-status{margin:18px 0 0;font-size:14px;line-height:1.7}
.form-status:not(:empty){padding:12px 15px;border:1px solid #884549;border-inline-start:3px solid #773138;color:#531a25;background:#ffffff40}
.contact-thanks{padding:32px;border:1px solid #596992;background:#ffffff38;position:relative}
.contact-thanks:before{content:'';display:block;width:38px;height:12px;border-inline-start:2px solid #263c78;border-bottom:2px solid #263c78;transform:rotate(-45deg);margin:0 0 30px}
.contact-thanks h3{font-size:28px;line-height:1.35;margin-bottom:18px}
.contact-thanks p{font-size:16px}
.contact-thanks .button{margin-top:10px;background:#151923;color:#fff;border-color:#151923}
.contact-thanks:focus{outline:2px solid #263c78;outline-offset:5px}
.contact-noscript{border:1px solid #596992;padding:15px;margin-block:18px;font-size:14px}
.whatsapp-float{position:fixed;inset-inline-end:22px;bottom:max(22px,env(safe-area-inset-bottom));width:54px;height:54px;display:grid;place-items:center;border:1px solid #8798da;border-radius:50%;background:#151b29;color:#fff;box-shadow:0 4px 20px #0003;z-index:20;transition:background .2s,box-shadow .2s}
.whatsapp-float:hover{background:#304476;box-shadow:0 4px 24px #0005}
.whatsapp-float svg{width:27px;height:27px;fill:currentColor}
.footer{padding-bottom:88px}
html[lang=en] .analytics-consent{direction:ltr}
html[lang=en] .hero h1{font-size:clamp(44px,5.5vw,88px);letter-spacing:-.045em;max-width:1180px}
html[lang=en] .hero .experience{text-align:right}
html[lang=en] .hero-copy .lead{max-width:660px}
html[lang=en] .contact h2{font-size:clamp(44px,4.4vw,65px)}
html[lang=en] .about-name{font-size:78px}
html[lang=en] .engagement-grid h3{font-size:24px}
@keyframes edit-stroke{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes edit-away{0%{opacity:1}100%{opacity:0}}
@keyframes message-arrives{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:801px) and (max-width:1100px){.header{padding-inline:24px;gap:18px}}
@media(max-width:1200px){.header nav{gap:14px;font-size:13px}.header{gap:16px;padding-inline:32px}.header-contact{padding-inline:16px}}
@media(max-width:1100px){.home-page #fit{padding-inline:32px}.engagement-grid{gap:8px 30px}}
@media(max-width:1050px){.header{padding:16px 22px;gap:16px;min-height:83px}.header nav{display:none}.header .wordmark{font-size:25px}.header .wordmark span{font-size:11px}.header-contact{margin-inline-start:auto;padding:6px 15px;font-size:14px}.menu-toggle{display:flex;flex-shrink:0;background:none;border:0;width:28px;height:44px;padding:7px 0;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{height:1px;width:24px;background:var(--text);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:fixed;z-index:9;inset:83px 0 auto;background:#17191e;border-bottom:1px solid #555;display:flex;flex-direction:column;padding:20px 24px;box-shadow:0 30px 40px #0008;max-height:calc(100dvh - 83px);overflow:auto}.mobile-nav a{padding:10px 0;font-size:18px}}
@media(max-width:800px){.hero-message{margin:31px 0 33px}.home-page #fit{padding-inline:22px}.need-accordion .need-title{font-size:20px}.need-accordion summary{gap:14px}.need-answer{padding-inline:50px 30px}.home-page .section h2:before{margin-bottom:18px}.engagement-grid h3{font-size:23px}}
@media(max-width:520px){.header{padding-inline:18px;gap:10px}.header .wordmark{font-size:23px}.header .wordmark span{font-size:9px;letter-spacing:0}.header-contact{font-size:12px;padding-inline:10px;min-height:40px;display:grid;place-items:center}.site-language{font-size:11px;gap:0}.site-language a{min-width:30px}.site-language a[aria-current=page]:after{inset-inline:6px}.hero-message{margin-top:28px}.hero .eyebrow{gap:9px;font-size:11px}.message-draft{font-size:26px;line-height:1.75}.need-accordion summary{grid-template-columns:21px minmax(0,1fr) 18px;gap:10px;padding-block:22px}.need-accordion .need-title{font-size:19px}.need-summary{font-size:14px}.need-answer{padding-inline:31px 10px;font-size:15px}.need-accordion .plus{width:18px}.home-page #fit{padding-block:54px}.home-page #working{padding-block:56px}.home-page .section h2{font-size:31px}.consulting-cta{align-items:flex-start;gap:14px}.home-page .about-name{font-size:56px}.about-name:before{margin-bottom:19px!important}.whatsapp-float{inset-inline-end:14px;bottom:max(16px,env(safe-area-inset-bottom));width:50px;height:50px}.contact-thanks{padding:25px}.contact-thanks h3{font-size:26px}.contact .form-row{grid-template-columns:1fr;gap:0}.contact .field{margin-bottom:25px}.home-page .section-title>.text-link{display:inline-block;margin-top:20px}html[lang=en] .hero h1{font-size:42px;line-height:1.12}html[lang=en] .hero h1 br.mobile-break{display:none}html[lang=en] .hero .experience{text-align:left}html[lang=en] .header .wordmark{font-size:20px}html[lang=en] .about-name{font-size:54px}html[lang=en] .contact h2{font-size:47px}}
@media(max-width:360px){.header{padding-inline:12px;gap:7px}.header .wordmark{font-size:21px}.header-contact{padding-inline:8px}.site-language a{min-width:28px}.hero h1{font-size:39px}html[lang=en] .hero h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){.hero-message.is-editing .message-draft{display:none!important}.hero-message.is-editing h1{opacity:1!important;transform:none!important;animation:none!important}.need-accordion details[open] .need-answer{animation:none}}
