:root {
  --accent: #F16232;
  --ink: #26272C;
  --muted: #67696B;
  --warm: #F9FBFD;
  --surface-peach: #FFF3F0;
  --white: #FFFFFF;
  --accent-text: #C4401C;
  --accent-hover: #D6451A;
  --field-border: #85878A;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-80: 80px;
  --space-96: 96px;
  --line: #D8D8D9;
  --radius: 6px;
  --content-width: 1216px;
  --button-font: 19px;
  --gutter: 56px;
  --section-space: 80px;
  --section-strong: 96px;
}
:root{--title-accent-height:0.14em;--title-accent-bottom:0.13em}
:root{--client-logo-duration:100000ms;--client-logo-width:162px;--client-logo-height:54px;--client-logo-gap:64px}
@media(max-width:740px){:root{--client-logo-width:135px;--client-logo-height:45px;--client-logo-gap:48px}}
@media(max-width:1050px){:root{--gutter:32px;--section-space:64px;--section-strong:80px}}
@media(max-width:740px){:root{--gutter:20px;--section-space:48px;--section-strong:64px}}

/* base */
/* Shared primitives. Values come from data/tokens.json via tokens.css. */
@font-face{font-family:Satoshi;src:url('media/satoshi-regular.woff2?v=1a42a77e09dbb696') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('media/satoshi-bold.woff2?v=acb81eeec71ed585') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Satoshi;src:url('media/satoshi-black.woff2?v=bb61aadf3b2b6fee') format('woff2');font-weight:900;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Satoshi,Arial,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em}
h1,h2{font-weight:900;text-wrap:balance}
h1{font-size:clamp(44px,4.8vw,68px);letter-spacing:-.05em}
h2{font-size:clamp(34px,3.3vw,46px)}
h3{font-size:23px;font-weight:700}
p{color:var(--muted)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a,button,input,select,textarea{transition:background-color .18s,color .18s,border-color .18s}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
img{max-width:100%;height:auto}
a img{vertical-align:middle}
[hidden]{display:none!important}
.container{width:calc(100% - 2 * var(--gutter));max-width:var(--content-width);margin-inline:auto}
.preview-note{text-align:center;font-size:12px;padding:6px 16px;background:var(--warm);color:var(--muted);letter-spacing:.02em}
.site-header nav{display:flex;align-items:center}
.brand{object-fit:contain;width:184px;height:auto}
.menu-toggle{display:none}
.skip{position:absolute;top:0;left:-10000px;padding:12px;background:var(--white)}
.skip:focus{left:0}
.section{padding:var(--section-space) 0}
.warm{background:var(--warm)}
.surface-dark{--accent-text:var(--accent)}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.surface-dark :focus-visible{outline-color:var(--white)}
.surface-dark .step{color:var(--accent)}
.centered{text-align:center}
.page-opening{padding-top:var(--space-48)}
.title-accent{display:inline-block;position:relative;isolation:isolate;white-space:nowrap}
.title-accent::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:var(--title-accent-bottom);height:var(--title-accent-height);background:var(--accent);border-radius:999px}
.eyebrow{text-transform:uppercase;color:var(--accent-text);font-size:14px;font-weight:700;letter-spacing:.09em;margin-bottom:var(--space-16)}
.eyebrow.subdued{display:inline-block;text-wrap:balance;max-width:100%;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);font-size:14px;line-height:1.4;text-transform:none;letter-spacing:0;margin-bottom:var(--space-28)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-24);max-width:100%;min-height:56px;background:var(--accent);color:var(--white);padding:17px 25px;border:1px solid transparent;border-radius:999px;font-weight:700;font-size:var(--button-font);line-height:1.3;text-align:left;white-space:normal;text-decoration:none;opacity:1;transition:background-color .18s}
.button img{display:none}
.button::after{content:"";width:27px;height:27px;flex-shrink:0;background:currentColor;mask:url('media/arrow-right.svg') center/contain no-repeat}
.button:hover{background:var(--accent-hover);color:var(--white)}
.button:disabled{cursor:wait;background:var(--muted)}
.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}
.testimonial{background:var(--surface-peach);border:0;border-radius:8px;padding:var(--space-32);min-width:0}
.testimonial figcaption{display:flex;align-items:center;gap:var(--space-20);margin-bottom:var(--space-24)}
.testimonial figcaption img{width:70px;height:70px;border-radius:50%;object-fit:cover;flex-shrink:0}
.testimonial figcaption h3{font-size:22px;letter-spacing:-.025em}
.testimonial figcaption p{margin-top:var(--space-4);font-size:17px}
.testimonial .eyebrow{font-size:12px;margin-bottom:var(--space-24)}
.testimonial blockquote{font-size:18px;line-height:1.55}
.testimonial blockquote p+p{margin-top:var(--space-16)}
.testimonial blockquote strong{color:var(--ink)}
.testimonial figcaption .testimonial-company-logo{object-fit:contain;border-radius:0}
.more-testimonials{margin-top:var(--space-32)}
.more-testimonials>summary{width:fit-content;max-width:100%;margin-inline:auto;padding:12px 0;justify-content:center;align-items:center;gap:12px;font-size:16px;color:var(--muted)}
.more-testimonials>summary span{text-decoration:underline;text-underline-offset:4px}
.more-testimonials>summary:hover{color:var(--ink)}
.more-testimonials>summary::after{width:18px;height:18px;background:currentColor}
.more-testimonials .less-label{display:none}
.more-testimonials[open] .less-label{display:inline}
.more-testimonials[open] .more-label{display:none}
.additional-testimonials{margin-top:var(--space-24)}
.more-testimonials+.proof-cta{margin-top:var(--space-24)}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-24);padding:var(--space-24) 0;font-size:18px;font-weight:700;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary img{display:none}
summary::after{content:"";width:24px;height:24px;flex-shrink:0;background:var(--accent);mask:url('media/plus.svg') center/contain no-repeat}
details[open] summary::after{mask-image:url('media/minus.svg')}
.faq-list details p{padding:0 40px 24px 0;font-size:18px;line-height:1.6}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:var(--space-64)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
form label{display:block;font-size:14px;font-weight:700;margin-bottom:var(--space-20)}
form label>span{color:var(--accent-text)}
form small{color:var(--muted);font-size:12px;font-weight:400}
input,select,textarea{display:block;background:var(--white);color:var(--ink);width:100%;border:1px solid var(--field-border);border-radius:6px;padding:12px 14px;margin-top:8px;font-size:16px;font-weight:400;min-height:48px}
textarea{resize:vertical;min-height:132px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
form .button{width:100%}
.form-footnote{margin-top:var(--space-16);font-size:13px;line-height:1.5}
.form-footnote a{text-decoration:underline}
#form-result{margin-top:var(--space-20);border-left:3px solid var(--accent-text);padding-left:var(--space-16);font-size:16px;color:var(--ink)}
.cf-turnstile{margin-bottom:var(--space-20);min-height:140px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.malt-badge{position:absolute;z-index:2;--malt-inset:var(--space-24);bottom:var(--malt-inset);right:var(--malt-inset);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 2 * var(--malt-inset));padding:16px 20px;background:var(--white);border-radius:8px;box-shadow:0 6px 24px rgb(38 39 44 / 10%)}
.malt-badge .malt-logo{display:block;position:static;width:88px;height:25px;max-width:none;object-fit:contain;flex:none}
.malt-badge-copy{min-width:0}
.malt-profile-link{display:block;margin-top:4px;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.malt-badge-rating{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;line-height:1.3}
.malt-badge-rating strong{font-size:17px;color:var(--ink)}
.malt-stars{white-space:nowrap;color:var(--accent);font-size:16px;letter-spacing:1px}
.malt-badge-copy p{font-size:12px;line-height:1.5;margin-top:4px}
.site-footer{background:var(--white);padding:var(--section-space) 0 0;color:var(--muted);font-size:16px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-64);padding-bottom:var(--space-48)}
.footer-brand{display:inline-block;margin-bottom:var(--space-24)}
.footer-brand .brand{width:172px;height:auto}
.footer-identity .footer-name{font-weight:700;color:var(--ink);margin-bottom:var(--space-8)}
.footer-identity p{font-size:16px;line-height:1.55}
.footer-identity address{font-style:normal;font-size:14px;line-height:1.6;margin-top:var(--space-20)}
.footer-nav h2{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.35;color:var(--ink);margin-bottom:var(--space-16)}
.footer-nav ul{list-style:none;margin:0;padding:0}
.footer-nav li{margin:0}
.footer-nav a{display:inline-flex;align-items:center;gap:12px;padding:8px 0;line-height:1.5}
.footer-nav a[data-need]::after{content:"";width:17px;height:17px;flex-shrink:0;background:var(--accent);mask:url('media/arrow-right.svg') center/contain no-repeat}
.site-footer a:hover{color:var(--accent-text)}
.footer-bottom{border-top:1px solid var(--line);padding:var(--space-24) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);font-size:13px}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 28px}
.footer-bottom a{display:inline-block;padding:6px 0}
.cookie-preferences{font:inherit;line-height:inherit;color:inherit;border:0;background:transparent;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.cookie-preferences:hover{color:var(--accent-text)}
.footer-bottom p{font-size:13px}
@media(max-width:1050px){
 .form-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-40)}
 .page-opening{padding-top:var(--space-32)}
 .testimonial{padding:var(--space-24)}
 .footer-grid{gap:var(--space-32)}
 .malt-badge{--malt-inset:var(--space-16);gap:8px;padding:12px}
 .malt-badge .malt-logo{width:65px;height:19px}
 .malt-badge-copy p{font-size:11px}
}
@media(max-width:740px){
 .form-layout{gap:var(--space-32)}
 body{font-size:17px}h1{font-size:44px;line-height:1.06}h2{font-size:33px}h3{font-size:22px}
 .preview-note{font-size:10px}.brand{width:150px}
 .eyebrow{font-size:12px}.eyebrow.subdued{font-size:13px;padding:8px 12px;margin-bottom:var(--space-24)}
 .button{padding:16px 20px;gap:16px}
 .testimonials{grid-template-columns:1fr;gap:var(--space-20)}
 .testimonial blockquote{font-size:17px}.testimonial figcaption{margin-bottom:var(--space-20);gap:var(--space-16)}
 .testimonial figcaption img{width:60px;height:60px}.testimonial figcaption h3{font-size:20px}.testimonial figcaption p{font-size:15px}
 .testimonial .eyebrow{font-size:12px;margin-bottom:var(--space-16)}
 .more-testimonials>summary{font-size:14px;text-align:center}
 summary{font-size:17px;gap:var(--space-16)}.faq-list details p{font-size:17px;padding-right:var(--space-16)}
 .form-row{grid-template-columns:1fr;gap:0}
 .malt-badge{gap:12px;padding:12px 16px}.malt-badge .malt-logo{width:76px;height:22px}
 .footer-grid{grid-template-columns:1fr;gap:var(--space-32);padding-bottom:var(--space-32)}
 .footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom nav{gap:8px 20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* navigation */
/* RANKUP NAVIGATION START */
.rankup-navigation{position:sticky;top:0;z-index:20;display:block;height:90px;background:var(--white);border-bottom:0}
.rankup-navigation .navigation-inner{height:100%;display:flex;align-items:center;gap:32px;position:relative}
html{scroll-padding-top:114px}
body #contenu{scroll-margin-top:0}
.rankup-navigation #navigation{flex:1;justify-content:space-between;gap:32px;font-size:16px;font-weight:700}
.rankup-navigation .nav-pages{display:flex;align-items:center;gap:24px;margin-inline:auto}
.rankup-navigation .header-brand{flex-shrink:0;display:inline-flex}
.rankup-navigation .nav-link{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap}
.rankup-navigation .nav-link[aria-current="page"]{color:var(--ink);text-decoration:none}
.rankup-navigation .nav-phone{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 0;font-size:16px;font-weight:inherit;color:var(--muted);white-space:nowrap}
.rankup-navigation #navigation .nav-phone:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.rankup-navigation .services-disclosure{position:relative}
.rankup-navigation .services-toggle{border:0;background:transparent;color:var(--ink);font-size:16px;font-weight:700;padding:12px 0;min-height:48px;display:flex;gap:10px;align-items:center;white-space:nowrap}
.rankup-navigation .services-toggle:hover,.rankup-navigation .services-toggle[aria-expanded="true"]{color:var(--accent-text)}
.rankup-navigation .nav-chevron{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.rankup-navigation .services-toggle[aria-expanded="true"] .nav-chevron{transform:translateY(2px) rotate(225deg)}
.rankup-navigation .services-panel{position:absolute;left:-24px;top:calc(100% + 8px);width:388px;padding:20px 12px 12px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgb(38 39 44 / 10%)}
.rankup-navigation .services-panel[hidden]{display:none}
.rankup-navigation .services-caption{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:0 12px 12px;color:var(--muted)}
.rankup-navigation .services-panel ul{list-style:none;padding:0;margin:0}
.rankup-navigation .services-panel a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 12px;border-radius:7px;line-height:1.4}
.rankup-navigation .services-panel a:hover{background:var(--surface-peach);color:var(--ink)}

.rankup-navigation .services-panel strong{display:block;font-size:16px;font-weight:700}
.rankup-navigation .services-panel small{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:4px}
.rankup-navigation .nav-arrow{flex:0 0 20px;width:20px;height:20px;background:var(--accent);mask:url('media/arrow-right.svg') center/contain no-repeat}
.rankup-navigation .menu-toggle{min-height:44px;color:var(--ink);gap:12px;font-size:16px;font-weight:700}
.rankup-navigation .menu-lines{width:22px;height:16px;position:relative;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat}
.rankup-navigation .menu-lines::before,.rankup-navigation .menu-lines::after{content:'';position:absolute;width:22px;height:2px;left:0;background:currentColor;transition:transform .18s,top .18s}
.rankup-navigation .menu-lines::before{top:0}.rankup-navigation .menu-lines::after{top:14px}
.rankup-navigation .menu-toggle[aria-expanded="true"] .menu-lines{background:none}
.rankup-navigation .menu-toggle[aria-expanded="true"] .menu-lines::before{top:7px;transform:rotate(45deg)}
.rankup-navigation .menu-toggle[aria-expanded="true"] .menu-lines::after{top:7px;transform:rotate(-45deg)}
.skip:focus{z-index:30}
@media(max-width:1050px){
 html{scroll-padding-top:100px}
 .rankup-navigation{height:76px}
 .rankup-navigation .navigation-inner{justify-content:space-between;gap:24px}
 .rankup-navigation .brand{width:150px}
 .rankup-navigation .menu-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:10px}
 .rankup-navigation #navigation{display:none;position:absolute;top:75px;left:0;right:0;padding:16px 24px 24px;background:var(--white);z-index:25;border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 16px 30px rgb(38 39 44 / 8%);max-height:calc(100dvh - 120px);overflow-y:auto;gap:4px}
 .rankup-navigation #navigation.is-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
 .rankup-navigation .nav-pages{flex-direction:column;align-items:stretch;gap:4px;margin:0;width:100%}
 .rankup-navigation .services-toggle{width:100%;justify-content:space-between;padding:12px 0;font-size:17px}
 .rankup-navigation .nav-link{padding:12px 0;font-size:17px}
 .rankup-navigation .services-panel{position:static;width:100%;border:0;border-radius:8px;box-shadow:none;background:var(--surface-peach);padding:8px;margin:4px 0 12px}
 .rankup-navigation .services-caption{display:none}
 .rankup-navigation .services-panel a{padding:13px 8px}
 .rankup-navigation .services-panel small{font-size:13px}
 .rankup-navigation .nav-phone{margin-top:8px;font-size:17px}
}
@media(max-width:740px){.rankup-navigation #navigation{left:-12px;right:-12px;padding:14px 20px 22px}.rankup-navigation .services-panel strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.rankup-navigation *,.rankup-navigation *::before,.rankup-navigation *::after{transition:none!important}}
.rankup-navigation .nav-phone svg{display:block;width:18px;height:18px;flex-shrink:0}
/* RANKUP NAVIGATION END */

/* home */
.needs {

  padding-block: var(--section-space);
}
.needs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--space-80);
  margin-top: var(--space-32);
}
.need {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-24);
  padding: var(--space-24) 0 var(--space-28);
  border-top: 1px solid var(--line);
}
.need h3 {
  margin-bottom: var(--space-8);
}
.need p {
  max-width: 430px;
  font-size: 19px;
  line-height: 1.35;
}
.need>img {
  display: none;
}
.need::after {
  content: "";
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  margin-top: 2px;
  background: var(--accent);
  mask: url("media/arrow-right.svg") center/contain no-repeat;
}
.need:hover h3 {
  color: var(--accent-text);
}
.proof .testimonials {
  margin-top: var(--heading-gap, var(--space-48));
}
.proof .additional-testimonials {
  margin-top: var(--space-24);
}
@media(max-width:740px){.proof .testimonials{margin-top:var(--space-32)}.proof .additional-testimonials{margin-top:var(--space-24)}}
.proof-cta {
  margin-top: var(--space-32);
}
.testimonial-full {
  margin-top: var(--space-20);
}
.testimonial-full>summary {
  padding-block: var(--space-12);
  font-size: 16px;
}
.testimonial-full>blockquote {
  margin-top: var(--space-12);
}
.contact-copy .contact-next-step {
  margin-top: var(--space-20);
  font-size: 18px;
  line-height: 1.5;
}
.approach-section {
  padding-bottom: var(--section-space);
}
.approach-card {
  padding: var(--space-32);
  background: var(--surface-peach);
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  border-radius: 24px;
}
.approach-copy h2 {
  font-size: clamp(30px, 3.1vw, 44px);
  text-wrap: initial;
}
.approach-copy h2 span {
  color: var(--accent-text);
}
.approach-message {
  margin-top: var(--space-28);
  color: var(--ink);
  font-size: 22px;
  line-height: 1.6;
}
.approach-commitment {
  margin-top: var(--space-20);
  color: var(--ink);
  font-size: 22px;
  line-height: 1.5;
}
@media(max-width:1050px) {
  .approach-card { padding: var(--space-24); }
}
@media(max-width:740px) {
  .approach-card { border-radius: 16px; }
  .approach-message, .approach-commitment { font-size: 18px; }
  .approach-message { margin-top: var(--space-24); }
}
.method-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--space-48);
  margin-top: var(--space-40);
}
.method-grid>div {
  border-top: 1px solid var(--line);
  padding-top: var(--space-16);
}
.method-grid h3 {
  margin: var(--space-16) 0 var(--space-12);
}
.method-grid p {
  font-size: 20px;
  line-height: 1.4;
}

.contact-layout h2 {
  font-size: 41px;
}
.contact-intro {
  margin: var(--space-28) 0 var(--space-20);
  font-size: 20px;
}
.direct-contact {
  margin-top: var(--space-40);
  padding-top: var(--space-28);
  border-top: 1px solid var(--line);
  max-width: 370px;
}
.direct-contact a {
  display: block;
}
.direct-contact .phone {
  font-size: 29px;
  font-weight: 900;
  letter-spacing: -.02em;
  margin: var(--space-4) 0;
}
.direct-contact a:last-child {
  color: var(--muted);
}

@media(max-width:1050px) {
.needs-grid {
  column-gap: var(--space-40);
}
.method-grid {
  gap: var(--space-28);
}

.contact-layout h2 {
  font-size: 34px;
}
}
@media(max-width:740px) {
.needs-grid {
  grid-template-columns: 1fr;
  margin-top: var(--space-28);
}
.need {
  padding: var(--space-24) 0;
}
.need p {
  font-size: 18px;
  max-width: 290px;
}
.need::after {
  width: 25px;
  height: 25px;
  flex-basis: 25px;
}
.method-grid {
  grid-template-columns: 1fr;
  gap: var(--space-28);
  margin-top: var(--space-28);
}
.method-grid h3 {
  margin: var(--space-12) 0 var(--space-8);
  max-width: 300px;
}
.method-grid p {
  font-size: 18px;
}

.contact-layout h2 {
  font-size: 33px;
}
.contact-intro {
  font-size: 19px;
}
.direct-contact {
  margin-top: var(--space-28);
}
.contact-layout form {
  padding-top: var(--space-16);
}
}



.method-section {
  background: var(--ink);
  color: var(--white);

  padding-block: var(--section-strong);
}
.method-heading {
  text-align: center;
  max-width: 900px;
  margin-inline: auto;
}
.method-heading h2 {
  font-size: clamp(36px,4vw,54px);
  text-wrap: balance;
}
.method-section .method-grid {
  gap: var(--space-64);
  margin-top: var(--space-64);
}
.method-section .method-grid>div {
  border-top: 1px solid rgb(255 255 255 / 22%);
  padding-top: var(--space-24);
}
.method-section .step {
  font-size: 54px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
}
.method-section .method-grid h3 {
  font-size: 25px;
  margin: var(--space-20) 0 var(--space-12);
}
.method-section .method-grid p {
  font-size: 18px;
  line-height: 1.5;
  color: var(--warm);
  max-width: 31ch;
}
#questions {

  padding-block: var(--section-strong);
}
#questions .faq-layout {
  display: block;
  max-width: 880px;
}
.faq-heading {
  text-align: center;
  margin-bottom: var(--space-40);
}
#questions .faq-heading h2 {
  font-size: clamp(33px,3.5vw,46px);
  text-wrap: balance;
}
#questions .faq-list summary {
  font-size: 19px;
  padding-block: var(--space-24);
}
#questions .faq-list details p {
  max-width: 72ch;
  line-height: 1.6;
}
.contact-section {
  background: var(--accent);

  padding-block: var(--section-strong);
}
.contact-section .contact-layout {
  align-items: center;
}
.contact-copy {
  min-width: 0;
}
.contact-copy .eyebrow {
  color: var(--ink);
}
.contact-section .contact-copy h2 {
  font-size: clamp(36px,3.9vw,52px);
  color: var(--white);
  text-wrap: balance;
}
.contact-copy>p {
  color: var(--ink);
}
.contact-copy .contact-intro {
  font-size: 21px;
  line-height: 1.5;
  max-width: 33ch;
  margin: var(--space-24) 0 var(--space-16);
}
.contact-copy>.contact-intro+p {
  font-size: 16px;
  font-weight: 700;
}
.contact-copy .direct-contact {
  border-color: rgb(38 39 44 / 25%);
  margin-top: var(--space-32);
  padding-top: var(--space-24);
}
.contact-copy .direct-contact p,
.contact-copy .direct-contact a:last-child {
  color: var(--ink);
}
.contact-copy .direct-contact .phone {
  color: var(--ink);
  font-size: 32px;
  margin-block: var(--space-8);
}
.contact-copy .direct-contact a:last-child {
  color: var(--ink);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -.02em;
  text-decoration: none;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.contact-copy .direct-contact a:last-child:hover {
  text-decoration: underline;
}
@media(max-width:740px) {
.contact-copy .direct-contact a:last-child {
  font-size: clamp(18px,5.3vw,22px);
}
}
.contact-copy a:focus-visible {
  outline-color: var(--ink);
}
.contact-section form {
  background: var(--white);
  color: var(--ink);
  padding: var(--space-32);
  border-radius: 12px;
  min-width: 0;
}
.contact-section .form-row {
  gap: var(--space-16);
}
.contact-section form label {
  margin-bottom: var(--space-20);
}
.contact-section textarea {
  min-height: 116px;
}
@media(max-width:1050px) and (min-width:741px) {
.method-section .method-grid {
  gap: var(--space-28);
}

.contact-section form {
  padding: var(--space-28);
}

.contact-section form .button {
  width: 100%;
}
}
@media(max-width:740px) {
.method-section {

  padding-block: var(--section-strong);
}
.method-heading h2 {
  font-size: 34px;
}
.method-heading h2 br {
  display: none;
}
.method-section .method-grid {
  gap: var(--space-24);
  margin-top: var(--space-40);
}
.method-section .method-grid>div {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  column-gap: var(--space-20);
  align-items: start;
  padding-top: var(--space-24);
}
.method-section .step {
  font-size: 38px;
  grid-row: 1 / 3;
}
.method-section .method-grid h3 {
  font-size: 22px;
  margin: 0 0 var(--space-8);
  max-width: none;
}
.method-section .method-grid p {
  font-size: 17px;
  max-width: none;
}
#questions {

  padding-block: var(--section-strong);
}
.faq-heading {
  margin-bottom: var(--space-28);
}
#questions .faq-list summary {
  font-size: 17px;
  padding-block: var(--space-20);
}
.contact-section {

  padding-block: var(--section-strong);
}

.contact-section .contact-copy h2 {
  font-size: 36px;
}
.contact-copy .contact-intro {
  font-size: 19px;
}
.contact-copy .direct-contact {
  margin-top: var(--space-28);
  padding-top: var(--space-20);
}
.contact-section form {
  padding: var(--space-24) var(--space-20);
}
.contact-section form .button {

}
.contact-section .form-row {
  gap: 0;
}
}
.expertise-section {
  background: var(--white);
  padding: var(--space-80) 0 0;
}
.expertise-section>.container {
  padding-bottom: var(--space-64);
  border-bottom: 1px solid var(--line);
}
.expertise-heading {
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
}
.expertise-heading h2 {
  font-size: clamp(34px,3.4vw,46px);
  text-wrap: balance;
}
.expertise-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-24);
  list-style: none;
  margin: var(--space-48) 0 0;
  padding: 0;
}
.expertise-item {
  text-align: center;
  min-width: 0;
  padding: var(--space-28);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.expertise-item h3 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.025em;
  margin-bottom: var(--space-12);
  max-width: 25ch;
}
.expertise-item h3::before {
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  background: var(--accent);
  margin-bottom: var(--space-20);
}
.expertise-item p {
  font-size: 18px;
  line-height: 1.5;
  max-width: 33ch;
}
.expertise-section+.proof {

  padding-block: var(--section-space);
}
@media(max-width:1050px) and (min-width:741px) {
.expertise-grid {
  gap: var(--space-24);
  grid-template-columns: repeat(2,minmax(0,1fr));
}
}
@media(max-width:740px) {
.expertise-section {
  padding-top: var(--space-64);
}
.expertise-section>.container {
  padding-bottom: var(--space-48);
}
.expertise-heading h2 {
  font-size: 33px;
}
.expertise-grid {
  grid-template-columns: 1fr;
  gap: var(--space-16);
  margin-top: var(--space-32);
}
.expertise-item {
  padding: var(--space-24);
}
.expertise-item h3 {
  font-size: 22px;
  margin-bottom: var(--space-8);
  max-width: none;
}
.expertise-item h3::before {
  width: 24px;
  margin-bottom: var(--space-12);
}
.expertise-item p {
  font-size: 17px;
  max-width: none;
}
.expertise-section+.proof {

  padding-block: var(--section-space);
}
}
.expertise-item h3::before {
  display: none;
}
.expertise-icon {
  display: block;
  width: 32px;
  height: 32px;
  margin-bottom: var(--space-20);
}
.direct-contact .email-prompt {
  margin-top: var(--space-24);
  margin-bottom: var(--space-8);
}
@media(max-width:740px) {
.expertise-icon {
  margin-bottom: var(--space-12);
}
}
@media(min-width:1051px) {
.expertise-item:last-child:nth-child(3n + 1) {
  grid-column: 2;
}
}
@media(min-width:741px) and (max-width:1050px) {
.expertise-item:last-child:nth-child(odd) {
  grid-column: 1/-1;
  width: calc((100% - 24px)/2);
  justify-self: center;
}
}
.expertise-item h3,
.expertise-item p {
  margin-inline: auto;
}
.expertise-icon {
  margin-inline: auto;
}

/* contact */
.contact-main {
  padding-bottom: var(--space-80);
  background: var(--white);
}
.contact-page-grid {
  align-items: start;
}
.contact-page-copy {
  min-width: 0;
}
.contact-page-copy h1 {
  font-size: clamp(46px,4.8vw,64px);
  line-height: 1.06;
  letter-spacing: -.045em;
}
.contact-page-intro {
  font-size: 23px;
  line-height: 1.45;
  letter-spacing: -.015em;
  margin-top: var(--space-24);
  max-width: 36ch;
}
.contact-person {
  display: flex;
  gap: var(--space-20);
  align-items: center;
  margin-top: var(--space-32);
}
.contact-person-photo {
  position: relative;
  flex: 0 0 140px;
  height: 156px;
  overflow: hidden;
  background: var(--warm);
  border-radius: 8px;
}
.contact-person-photo img {
  position: absolute;
  width: 200px;
  height: 258px;
  max-width: none;
  object-fit: contain;
  left: -13px;
  bottom: -26px;
}
.contact-person p {
  font-size: 16px;
  line-height: 1.5;
}
.contact-person .person-name {
  font-weight: 700;
  color: var(--ink);
  margin-bottom: var(--space-4);
  font-size: 18px;
}
.contact-channels {
  display: grid;
  gap: var(--space-20);
  border-top: 1px solid var(--line);
  margin-top: var(--space-32);
  padding-top: var(--space-24);
}
.contact-channels p {
  font-size: 16px;
  margin-bottom: var(--space-4);
}
.contact-channels a {
  display: inline-block;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -.025em;
  text-underline-offset: 5px;
}
.contact-channels a:hover {
  text-decoration: underline;
}
.contact-phone {
  font-size: 30px;
}
.contact-email {
  font-size: 24px;
  overflow-wrap: anywhere;
}
.message-panel {
  background: var(--surface-peach);
  padding: var(--space-32);
  border-radius: 12px;
  min-width: 0;
}
.message-panel h2 {
  font-size: 32px;
  letter-spacing: -.03em;
}
.message-panel-intro {
  font-size: 15px;
  line-height: 1.6;
  margin: var(--space-12) 0 var(--space-24);
}
.message-panel label {
  margin-bottom: var(--space-20);
  font-weight: 700;
  font-size: 14px;
}
.message-panel .optional {
  color: var(--muted);
  font-weight: 400;
  font-size: 12px;
}
.message-panel input,
.message-panel select,
.message-panel textarea {
  font-weight: 400;
}
.message-panel .form-row {
  gap: var(--space-16);
}
.message-panel textarea {
  min-height: 130px;
}
.message-panel .button {
  width: 100%;
  margin-top: var(--space-4);
}
.message-panel .form-footnote {
  font-size: 13px;
  line-height: 1.55;
  margin-top: var(--space-16);
}
.contact-next {
  background: var(--ink);
  color: var(--white);

  padding-block: var(--section-space);
}
.contact-next-heading {
  text-align: center;
}
.contact-next h2 {
  font-size: 40px;
}
.contact-next .eyebrow {
  font-size: 12px;
  margin-bottom: var(--space-16);
}
.contact-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-48);
  list-style: none;
  margin: var(--space-40) 0 0;
  padding: 0;
}
.contact-steps li {
  display: flex;
  gap: var(--space-20);
  border-top: 1px solid rgb(255 255 255 / 22%);
  padding-top: var(--space-24);
}
.contact-step {
  color: var(--accent-text);
  font-size: 32px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.contact-steps h3 {
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -.025em;
  margin-bottom: var(--space-12);
}
.contact-steps p {
  color: var(--warm);
  font-size: 16px;
  line-height: 1.55;
}
@media(max-width:1050px) and (min-width:741px) {

.message-panel {
  padding: var(--space-28);
}

.contact-page-copy h1 {
  font-size: 48px;
}
.contact-page-intro {
  font-size: 21px;
}
.contact-person {
  gap: var(--space-16);
}
.contact-person-photo {
  flex-basis: 105px;
  height: 132px;
}
.contact-person-photo img {
  width: 178px;
  height: 229px;
  left: -18px;
  bottom: -23px;
}
.contact-person p {
  font-size: 14px;
}
.contact-person .person-name {
  font-size: 16px;
}
.contact-email {
  font-size: 21px;
}
.contact-steps {
  gap: var(--space-28);
}
.contact-steps li {
  display: block;
}
.contact-step {
  display: block;
  margin-bottom: var(--space-12);
}
}
@media(max-width:740px) {
.contact-main {
  padding-bottom: var(--space-48);
}

.contact-page-copy h1 {
  font-size: 44px;
}
.contact-page-intro {
  font-size: 20px;
  margin-top: var(--space-20);
}
.contact-person {
  margin-top: var(--space-24);
  gap: var(--space-20);
}
.contact-person-photo {
  flex-basis: 100px;
  height: 115px;
}
.contact-person-photo img {
  width: 157px;
  height: 202px;
  left: -13px;
  bottom: -21px;
}
.contact-person p {
  font-size: 15px;
}
.contact-person .person-name {
  font-size: 17px;
}
.contact-channels {
  margin-top: var(--space-24);
  padding-top: var(--space-20);
  gap: var(--space-16);
}
.contact-channels p {
  font-size: 15px;
}
.contact-phone {
  font-size: 28px;
}
.contact-email {
  font-size: clamp(18px,5.3vw,22px);
}
.message-panel {
  padding: var(--space-24) var(--space-20);
}
.message-panel h2 {
  font-size: 29px;
}
.message-panel-intro {
  font-size: 14px;
  margin-bottom: var(--space-24);
}
.message-panel .form-row {
  grid-template-columns: 1fr;
  gap: 0;
}
.message-panel .button {

}
.contact-next {

  padding-block: var(--section-space);
}
.contact-next h2 {
  font-size: 32px;
}
.contact-next .eyebrow {
  font-size: 11px;
  max-width: 30ch;
  margin-inline: auto;
}
.contact-steps {
  grid-template-columns: 1fr;
  gap: var(--space-24);
  margin-top: var(--space-32);
}
.contact-steps li {
  padding-top: var(--space-20);
  gap: var(--space-20);
}
.contact-step {
  font-size: 30px;
}
.contact-steps h3 {
  font-size: 21px;
  margin-bottom: var(--space-8);
}
.contact-steps p {
  font-size: 16px;
}
}
@media(min-width:741px) {
.message-panel {
  padding: var(--space-32);
}
.message-panel-intro {
  margin-bottom: var(--space-20);
}
.message-panel label {
  margin-bottom: var(--space-16);
}
.message-panel textarea {
  min-height: 112px;
  height: 112px;
}
}
.contact-person-photo img {
  bottom: -34px;
}
@media(max-width:1050px) and (min-width:741px) {
.contact-person-photo img {
  bottom: -31px;
}
}
@media(max-width:740px) {
.contact-person-photo img {
  bottom: -29px;
}
}

/* about */
.about-hero {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: var(--space-48);
  align-items: center;
  padding-bottom: var(--space-64);
}
.about-intro {
  align-self: start;
  min-width: 0;
}
.about-intro h1 {
  font-size: clamp(44px,4.3vw,62px);
  line-height: 1.09;
  letter-spacing: -.045em;
}
.about-lead {
  font-size: 25px;
  line-height: 1.4;
  letter-spacing: -.02em;
  margin: var(--space-24) 0 var(--space-16);
  max-width: 38ch;
}
.about-personal {
  font-size: 18px;
  line-height: 1.5;
  max-width: 43ch;
  margin-bottom: var(--space-28);
}
.about-portrait {
  background: var(--surface-peach);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  height: 460px;
  align-self: end;
}
.about-portrait > img {
  position: absolute;
  width: 470px;
  height: 604px;
  max-width: none;
  left: calc(50% - 219px);
  bottom: -15px;
  object-fit: contain;
}
.about-journey {
  background: var(--warm);

  padding-block: var(--section-space);
}
.about-section-heading {
  text-align: center;
  margin: 0 auto var(--space-48);
  max-width: 800px;
}
.about-section-heading h2 {
  font-size: clamp(34px,3.3vw,46px);
  text-wrap: balance;
}
.journey-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-48);
  list-style: none;
  padding: 0;
  margin: 0;
}
.journey-grid li {
  border-top: 1px solid var(--line);
  padding-top: var(--space-20);
}
.journey-date {
  font-size: 42px;
  font-weight: 900;
  color: var(--accent-text);
  line-height: 1;
  letter-spacing: -.04em;
  margin-bottom: var(--space-24);
}
.journey-grid h3 {
  font-size: 23px;
  line-height: 1.2;
  margin-bottom: var(--space-16);
}
.journey-grid li>p:last-child {
  font-size: 18px;
  line-height: 1.55;
}
.journey-summary {
  max-width: 80ch;
  margin: var(--space-40) auto 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.55;
}
.rankup-meaning {
  margin-top: var(--space-40);
  padding-top: var(--space-24);
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: 17px;
}
.rankup-meaning strong {
  color: var(--ink);
  margin-right: var(--space-8);
}
.about-values {
  background: var(--ink);
  color: var(--white);

  padding-block: var(--section-strong);
}
.values-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-40) var(--space-80);
  max-width: 1050px;
  margin: auto;
}
.values-grid article {
  border-top: 1px solid rgb(255 255 255 / 22%);
  padding-top: var(--space-24);
}
.values-grid h3 {
  font-size: 25px;
  margin-bottom: var(--space-12);
}
.values-grid p {
  color: var(--warm);
  font-size: 18px;
  line-height: 1.55;
  max-width: 46ch;
}
.about-cta {
  background: var(--warm);
  text-align: center;

  padding-block: var(--section-space);
}
.about-cta h2 {
  font-size: clamp(34px,3.6vw,48px);
}
.about-cta p {
  font-size: 20px;
  margin: var(--space-24) 0 var(--space-28);
}
@media(max-width:1050px) and (min-width:741px) {
.about-hero {
  gap: var(--space-32);
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
}
.about-intro h1 {
  font-size: 44px;
}
.about-lead {
  font-size: 22px;
}
.about-portrait {
  height: 450px;
}
.about-portrait > img {
  width: 425px;
  height: 546px;
  left: calc(50% - 199px);
  bottom: -10px;
}
.about-intro .button {

}
.journey-grid {
  gap: var(--space-28);
}
.journey-grid h3 {
  font-size: 21px;
}
.journey-grid li>p:last-child {
  font-size: 17px;
}
.values-grid {
  gap: var(--space-32) var(--space-40);
}
}
@media(max-width:740px) {
.journey-summary {
  margin-top: var(--space-28);
  text-align: left;
  font-size: 17px;
}
.about-hero {
  grid-template-columns: 1fr;
  gap: var(--space-28);
  padding-bottom: var(--space-40);
}
.about-intro h1 {
  font-size: 41px;
}
.about-lead {
  font-size: 21px;
  margin-top: var(--space-20);
}
.about-personal {
  font-size: 17px;
  margin-bottom: var(--space-24);
}
.about-intro .button {

}
.about-portrait {
  height: 290px;
  max-width: 420px;
  width: 100%;
  margin: auto;
}
.about-portrait > img {
  width: 340px;
  height: 437px;
  left: calc(50% - 157px);
  bottom: -28px;
}
.about-journey {

  padding-block: var(--section-space);
}
.about-section-heading {
  margin-bottom: var(--space-28);
}
.about-section-heading h2 {
  font-size: 32px;
}
.journey-grid {
  grid-template-columns: 1fr;
  gap: var(--space-28);
}
.journey-grid li {
  display: grid;
  grid-template-columns: 68px minmax(0,1fr);
  column-gap: var(--space-20);
  padding-top: var(--space-20);
}
.journey-date {
  font-size: 30px;
  grid-row: 1/3;
  margin: 0;
}
.journey-grid h3 {
  font-size: 21px;
  margin-bottom: var(--space-12);
}
.journey-grid li>p:last-child {
  font-size: 17px;
}
.rankup-meaning {
  font-size: 16px;
  text-align: left;
  margin-top: var(--space-28);
  padding-top: var(--space-20);
}
.rankup-meaning strong {
  display: block;
  margin-bottom: var(--space-8);
}
.about-values {

  padding-block: var(--section-strong);
}
.values-grid {
  grid-template-columns: 1fr;
  gap: var(--space-24);
}
.values-grid article {
  padding-top: var(--space-20);
}
.values-grid h3 {
  font-size: 23px;
  margin-bottom: var(--space-12);
}
.values-grid p {
  font-size: 17px;
}
.about-cta {

  padding-block: var(--section-space);
}
.about-cta h2 {
  font-size: 33px;
}
.about-cta p {
  font-size: 18px;
  margin: var(--space-20) 0 var(--space-24);
}
.about-cta .button {

}
}

/* service */
.service-page #contenu {
  scroll-margin-top: 28px;
}
.service-tabs {
  border-block: 1px solid var(--line);
  font-size: 15px;
}
.service-tabs>.container {
  display: flex;
  gap: var(--space-32);
  align-items: center;
}
.service-tabs a {
  padding: var(--space-16) 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.service-tabs a[aria-current] {
  border-color: var(--accent);
  color: var(--ink);
  font-weight: 700;
}
.service-tabs a:hover {
  color: var(--accent-text);
}
.service-hero {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
  gap: var(--space-80);
  padding-bottom: var(--space-64);
  align-items: start;
}
.service-hero>div {
  min-width: 0;
}
.service-hero h1 {
  font-size: clamp(42px,4.3vw,60px);
  line-height: 1.1;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.service-intro {
  font-size: 23px;
  line-height: 1.45;
  margin: var(--space-24) 0 var(--space-28);
  max-width: 43ch;
}
.service-human-note {
  font-size: 13px;
  margin-top: var(--space-20);
  max-width: 43ch;
}
.service-summary {
  background: var(--surface-peach);
  padding: var(--space-32);
  border-radius: 12px;
  min-width: 0;
}
.summary-icon {
  display: block;
  margin-bottom: var(--space-20);
}
.service-summary h2 {
  font-size: 29px;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.service-summary dl {
  margin: var(--space-24) 0;
}
.service-summary dl>div {
  padding: var(--space-12) 0;
  border-top: 1px solid var(--line);
}
.service-summary dt {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: var(--space-4);
}
.service-summary dd {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}
.summary-person {
  display: flex;
  align-items: center;
  gap: var(--space-16);
}
.summary-person strong {
  font-size: 17px;
}
.summary-person p {
  font-size: 14px;
  line-height: 1.45;
  margin-top: var(--space-4);
}
.summary-portrait {
  position: relative;
  width: 76px;
  height: 86px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--white);
  overflow: hidden;
}
.summary-portrait img {
  position: absolute;
  width: 125px;
  height: 161px;
  max-width: none;
  left: -12px;
  bottom: -26px;
  object-fit: contain;
}
.service-fit {
  background: var(--warm);

  padding-block: var(--section-space);
}
.service-fit>.container {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: var(--space-48);
  align-items: start;
}
.service-fit h2 {
  font-size: 25px;
  line-height: 1.2;
  max-width: 13ch;
}
.service-fit ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-32);
}
.service-fit li {
  font-size: 17px;
  line-height: 1.5;
  padding-top: var(--space-12);
  border-top: 2px solid var(--accent);
}
.service-scope {

  padding-block: var(--section-space);
}
.service-heading {
  text-align: center;
  max-width: 880px;
  margin: 0 auto var(--space-40);
}
.service-heading h2 {
  font-size: clamp(33px,3.3vw,46px);
  text-wrap: balance;
}
.service-illustration {
  max-width: 800px;
  margin: 0 auto var(--space-48);
}
.service-illustration.service-illustration--wide {
  max-width: none;
}
.service-illustration picture,
.service-illustration img {
  display: block;
  width: 100%;
}
.service-illustration img {
  height: auto;
  aspect-ratio: 4 / 3;
}
@media (max-width: 740px) {
  .service-illustration {
    max-width: 420px;
    margin-bottom: var(--space-32);
  }
  .service-illustration img {
    aspect-ratio: 1;
  }
}
.service-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-24);
}
.service-cards article {
  padding: var(--space-28);
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  min-width: 0;
}
.service-cards img {
  display: block;
  margin: 0 auto var(--space-20);
}
.service-cards h3 {
  font-size: 23px;
  line-height: 1.2;
  margin-bottom: var(--space-12);
}
.service-cards p {
  font-size: 17px;
  line-height: 1.5;
}
.scope-note {
  text-align: center;
  max-width: 74ch;
  margin: var(--space-24) auto 0;
  font-size: 16px;
}
.audit-deliverables {
  margin-top: var(--space-40);
  padding: var(--space-28) var(--space-32);
  background: var(--surface-peach);
  border-radius: 8px;
}
.audit-deliverables>h3 {
  font-size: 26px;
  margin-bottom: var(--space-24);
}
.audit-deliverables>div {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-32);
}
.audit-deliverables h4 {
  font-size: 18px;
  line-height: 1.3;
  margin: 0 0 var(--space-8);
}
.audit-deliverables p {
  font-size: 16px;
  line-height: 1.5;
}
.service-process {
  background: var(--ink);
  color: var(--white);

  padding-block: var(--section-strong);
}
.service-process ol {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-48);
  padding: 0;
  margin: 0;
}
.service-process li {
  border-top: 1px solid rgb(255 255 255 / 22%);
  padding-top: var(--space-24);
}
.service-process li>span {
  display: block;
  font-size: 44px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--accent);
  margin-bottom: var(--space-20);
}
.service-process h3 {
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: var(--space-12);
}
.service-process li p {
  font-size: 18px;
  line-height: 1.5;
  color: var(--warm);
}
.service-proof {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr);
  gap: var(--space-64);
  align-items: center;

  padding-block: var(--section-space);
}
.service-proof h2 {
  font-size: 38px;
  line-height: 1.15;
  text-wrap: balance;
}
.service-text-link {
  display: inline-block;
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 5px;
  margin-top: var(--space-28);
}
.service-text-link span {
  color: var(--accent);
  margin-left: var(--space-4);
}
.service-proof .testimonial {
  padding: var(--space-32);
}
.service-proof .testimonial blockquote {
  font-size: 17px;
}
.service-proof .testimonial figcaption .testimonial-company-logo {
  border-radius: 0;
  object-fit: contain;
}
.service-faq {
  padding: 0 0 var(--space-64);
}
.service-faq>.container {
  max-width: 880px;
}
.service-faq .service-heading {
  margin-bottom: var(--space-32);
}
.service-faq .faq-list p {
  line-height: 1.55;
}
.service-closing {
  background: var(--warm);
  text-align: center;

  padding-block: var(--section-space);
}
.service-closing h2 {
  font-size: clamp(34px,3.6vw,48px);
  text-wrap: balance;
}
.service-closing p {
  font-size: 20px;
  margin: var(--space-24) 0 var(--space-28);
}
.service-page .footer-bottom p {
  order: 0;
  flex: initial;
}
@media(max-width:1050px) and (min-width:741px) {
.service-hero {
  gap: var(--space-32);
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
}
.service-hero h1 {
  font-size: 44px;
}
.service-intro {
  font-size: 21px;
}
.service-summary {
  padding: var(--space-24);
}
.service-summary h2 {
  font-size: 26px;
}
.service-fit>.container {
  grid-template-columns: 1fr;
  gap: var(--space-24);
}
.service-fit h2 {
  max-width: none;
}
.service-fit ul {
  gap: var(--space-28);
}
.service-cards {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.service-process ol {
  gap: var(--space-28);
}
.service-process h3 {
  font-size: 22px;
}
.service-process li p {
  font-size: 17px;
}
.service-proof {
  gap: var(--space-32);

  padding-block: var(--section-space);
}
.service-proof h2 {
  font-size: 32px;
}
.service-proof .testimonial {
  padding: var(--space-24);
}
}
@media(max-width:740px) {
.service-tabs {
  font-size: 14px;
}
.service-tabs>.container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--space-28);
}
.service-tabs a {
  padding: var(--space-12) 0;
}
.service-hero {
  grid-template-columns: 1fr;
  gap: var(--space-28);
  padding-bottom: var(--space-40);
}
.service-hero h1 {
  font-size: 39px;
}
.service-intro {
  font-size: 20px;
  margin: var(--space-20) 0 var(--space-24);
}
.service-hero .button,
.service-closing .button {

}
.service-human-note {
  font-size: 12px;
  margin-top: var(--space-16);
}
.service-summary {
  padding: var(--space-24);
}
.summary-icon {
  width: 32px;
  height: 32px;
  margin-bottom: var(--space-16);
}
.service-summary h2 {
  font-size: 27px;
}
.service-summary dl {
  margin: var(--space-20) 0;
}
.service-summary dl>div {
  padding: var(--space-12) 0;
}
.service-summary dt {
  font-size: 13px;
}
.service-summary dd {
  font-size: 17px;
}
.service-fit {

  padding-block: var(--section-space);
}
.service-fit>.container {
  grid-template-columns: 1fr;
  gap: var(--space-20);
}
.service-fit h2 {
  font-size: 25px;
  max-width: none;
}
.service-fit ul {
  grid-template-columns: 1fr;
  gap: var(--space-16);
}
.service-fit li {
  font-size: 17px;
  padding-top: var(--space-12);
}
.service-scope {

  padding-block: var(--section-space);
}
.service-heading {
  margin-bottom: var(--space-28);
}
.service-heading h2 {
  font-size: 32px;
}
.service-cards {
  grid-template-columns: 1fr;
  gap: var(--space-16);
}
.service-cards article {
  padding: var(--space-24);
}
.service-cards h3 {
  font-size: 22px;
}
.service-cards img {
  margin-bottom: var(--space-16);
}
.scope-note {
  font-size: 15px;
  margin-top: var(--space-24);
}
.audit-deliverables {
  padding: var(--space-24);
  margin-top: var(--space-28);
}
.audit-deliverables>div {
  grid-template-columns: 1fr;
  gap: var(--space-24);
}
.audit-deliverables>h3 {
  font-size: 25px;
}
.service-process {

  padding-block: var(--section-strong);
}
.service-process ol {
  grid-template-columns: 1fr;
  gap: var(--space-28);
}
.service-process li {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  column-gap: var(--space-16);
  padding-top: var(--space-20);
}
.service-process li>span {
  font-size: 32px;
  grid-row: 1/3;
  margin: 0;
}
.service-process h3 {
  font-size: 22px;
  margin-bottom: var(--space-12);
}
.service-process li p {
  font-size: 17px;
}
.service-proof {
  grid-template-columns: 1fr;
  gap: var(--space-28);

  padding-block: var(--section-space);
}
.service-proof h2 {
  font-size: 32px;
}
.service-text-link {
  font-size: 15px;
  margin-top: var(--space-20);
}
.service-proof .testimonial {
  padding: var(--space-24);
}
.service-faq {
  padding-bottom: var(--space-48);
}
.service-closing {

  padding-block: var(--section-space);
}
.service-closing h2 {
  font-size: 33px;
}
.service-closing p {
  font-size: 18px;
  margin: var(--space-20) 0 var(--space-24);
}
}
.summary-portrait img {
  bottom: -42px;
}

/* blog */
.blog-page [hidden] {
  display: none!important;
}
.blog-intro {
  padding: var(--space-64) 0 var(--space-48);
  text-align: center;
}
.blog-intro h1 {
  font-size: clamp(40px,4.4vw,62px);
  max-width: 900px;
  margin: auto;
}
.blog-intro>p:last-child {
  font-size: 21px;
  max-width: 690px;
  margin: var(--space-24) auto 0;
  line-height: 1.5;
}
.blog-tools {
  padding: var(--space-24) 0 var(--space-28);
  border-block: 1px solid var(--line);
  display: flex;
  gap: var(--space-24);
  align-items: flex-end;
  justify-content: space-between;
}
.blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}
.blog-filter {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: var(--space-8) var(--space-16);
  font-size: 14px;
  min-height: 44px;
}
.blog-filter[aria-pressed="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
}
.blog-filter:hover {
  border-color: var(--ink);
}
.blog-search {
  display: block;
  flex: 0 0 270px;
  font-size: 13px;
  font-weight: 700;
}
.blog-search input {
  margin-top: var(--space-8);
  font-weight: 400;
  background: var(--warm);
  min-height: 44px;
  padding: var(--space-8) var(--space-12);
}
.blog-result-count {
  font-size: 14px;
  margin: var(--space-24) 0;
}
.blog-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--space-48) var(--space-32);
  padding-bottom: var(--space-64);
}
.blog-card {
  min-width: 0;
}
.blog-card>a {
  display: block;
  height: 100%;
}
.blog-card-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1295/600;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.blog-card-copy {
  padding: var(--space-20) 0 0;
}
.blog-card .blog-category {
  font-size: 13px;
  font-weight: 700;
  color: var(--accent-text);
  margin-bottom: var(--space-12);
}
.blog-card h2 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.blog-card a:hover h2 {
  color: var(--accent-text);
}
.blog-card-description {
  font-size: 17px;
  line-height: 1.55;
  margin-top: var(--space-12);
}
.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8) var(--space-16);
  font-size: 13px;
  color: var(--muted);
  margin-top: var(--space-16);
}
.blog-card.featured {
  grid-column: 1/-1;
  background: var(--surface-peach);
  border-radius: 12px;
  overflow: hidden;
}
.blog-card.featured>a {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
}
.blog-card.featured .blog-card-image {
  height: 100%;
  min-height: 340px;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: cover;
}
.blog-card.featured .blog-card-copy {
  padding: var(--space-32) var(--space-40);
}
.blog-card.featured h2 {
  font-size: 35px;
}
.blog-read {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  margin-top: var(--space-20);
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.blog-read::after {
  content: '';
  width: 19px;
  height: 19px;
  background: var(--accent);
  mask: url('media/arrow-right.svg') center/contain no-repeat;
}
.blog-empty {
  padding: var(--space-40) 0 var(--space-64);
  text-align: center;
}
.blog-empty h2 {
  font-size: 28px;
}
.blog-empty p {
  margin: var(--space-16) 0 var(--space-24);
}
.blog-reset {
  border: 0;
  background: transparent;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 5px;
  padding: var(--space-12);
  font-weight: 700;
}
.blog-closing {
  background: var(--surface-peach);

  padding-block: var(--section-space);
}
.blog-closing>.container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-32);
}
.blog-closing>.container>div {flex:1 1 440px}
.blog-closing h2 {
  font-size: 36px;
  max-width: 660px;
}
.blog-closing p {
  font-size: 19px;
  max-width: 620px;
  margin-top: var(--space-16);
}
.blog-closing .button {
  flex-shrink: 0;
}
.article-breadcrumb {
  font-size: 14px;
  color: var(--muted);
  padding-top: var(--space-28);
  display: flex;
  gap: var(--space-12);
  flex-wrap: wrap;
}
.article-breadcrumb a:hover {
  color: var(--ink);
  text-decoration: underline;
}
.article-heading {
  max-width: 960px;
  padding: var(--space-40) 0 var(--space-40);
  margin-inline: auto;
}
.article-heading .eyebrow {
  margin-bottom: var(--space-16);
}
.article-heading h1 {
  font-size: clamp(36px,4vw,58px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.article-description {
  font-size: 22px;
  line-height: 1.5;
  margin-top: var(--space-24);
  max-width: 820px;
}
.article-byline {
  margin-top: var(--space-28);
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--muted);
}
.article-byline img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
}
.article-byline a {
  font-weight: 700;
  color: var(--ink);
}
.article-byline span {
  margin-left: var(--space-12);
}
.article-cover {
  max-width: 1080px;
  margin: 0 auto var(--space-48);
}
.article-cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.article-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,720px) minmax(0,1fr);
  gap: var(--space-32);
  align-items: start;
  padding-bottom: var(--space-64);
}
.article-toc {
  grid-column: 1;
  position: sticky;
  top: 114px;
  min-width: 0;
}
.article-toc details {
  border: 0;
  background: var(--surface-peach);
  border-radius: 8px;
  padding: var(--space-16) var(--space-16);
}
.article-toc summary {
  padding: 0;
  font-size: 15px;
  align-items: center;
  gap: var(--space-8);
}
.article-toc summary::after {
  width: 18px;
  height: 18px;
}
.article-toc ol {
  max-height: calc(100dvh - 215px);
  overflow-y: auto;
  list-style: none;
  padding: var(--space-12) 0 0;
  margin: 0;
  scrollbar-width: thin;
}
.article-toc li+li {
  margin-top: var(--space-8);
}
.article-toc a {
  display: block;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  padding: 3px 0;
  overflow-wrap: anywhere;
}
.article-toc a:hover {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-body {
  grid-column: 2;
  min-width: 0;
  font-size: 19px;
  line-height: 1.8;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.article-body p {
  color: var(--ink);
  margin: 0 0 var(--space-24);
}
.article-body h2 {
  font-size: 30px;
  line-height: 1.25;
  margin: var(--space-48) 0 var(--space-20);
  letter-spacing: -.02em;
}
.article-body h3 {
  font-size: 24px;
  line-height: 1.3;
  margin: var(--space-32) 0 var(--space-16);
}
.article-body h4 {
  font-size: 21px;
  margin: var(--space-28) 0 var(--space-16);
}
.article-body a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}
.article-body a:hover {
  color: var(--accent-text);
}
.article-body ul,
.article-body ol {
  padding-left: var(--space-24);
  margin: 0 0 var(--space-28);
}
.article-body li {
  padding-left: var(--space-4);
  margin: var(--space-8) 0;
}
.article-body figure {
  margin: var(--space-32) 0;
}
.article-body figure img,
.article-body>p>img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.article-body strong {
  font-weight: 700;
}
.article-body blockquote {
  margin: var(--space-28) 0;
  padding: var(--space-24);
  background: var(--surface-peach);
  border-left: 3px solid var(--accent);
}
.article-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}
.article-body td,
.article-body th {
  padding: var(--space-12);
  border: 1px solid var(--line);
}
.article-author {
  margin-top: var(--space-48);
  padding-top: var(--space-28);
  border-top: 1px solid var(--line);
  display: flex;
  gap: var(--space-20);
  align-items: flex-start;
}
.article-author img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  flex-shrink: 0;
}
.article-author h2 {
  margin: 0 0 var(--space-8);
  font-size: 23px;
}
.article-author p {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 var(--space-12);
}
.article-author a {
  font-size: 15px;
}
.related-articles {
  background: var(--warm);

  padding-block: var(--section-space);
}
.related-heading {
  display: flex;
  justify-content: space-between;
  gap: var(--space-28);
  align-items: center;
  margin-bottom: var(--space-32);
}
.related-heading h2 {
  font-size: 36px;
}
.related-heading>a {
  font-size: 16px;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.related-articles .blog-cards {
  padding: 0;
}
.related-articles .blog-card h2 {
  font-size: 25px;
}
@media(max-width:1200px) {
.article-layout {
  display: block;
  max-width: 720px;
}
.article-toc {
  position: static;
  margin-bottom: var(--space-32);
}
.article-toc details {
  padding: var(--space-20) var(--space-24);
}
.article-toc a {
  font-size: 15px;
}
.article-toc ol {
  max-height: 340px;
}
.article-heading {
  max-width: 900px;
}
.blog-tools {
  align-items: stretch;
  flex-direction: column;
}
.blog-search {
  flex: auto;
  max-width: 400px;
}
}
@media(max-width:740px) {
.blog-intro {
  padding: var(--space-40) 0 var(--space-32);
  text-align: left;
}
.blog-intro h1 {
  font-size: 39px;
}
.blog-intro>p:last-child {
  font-size: 19px;
  margin-top: var(--space-20);
}
.blog-tools {
  padding: var(--space-20) 0;
}
.blog-filters {
  gap: var(--space-8);
}
.blog-filter {
  font-size: 12px;
  padding: var(--space-8) var(--space-8);
}
.blog-search {
  max-width: none;
}
.blog-cards {
  grid-template-columns: 1fr;
  gap: var(--space-32);
  padding-bottom: var(--space-48);
}
.blog-card.featured>a {
  display: block;
}
.blog-card.featured .blog-card-image {
  aspect-ratio: 1295/600;
  min-height: 0;
  height: auto;
}
.blog-card.featured .blog-card-copy {
  padding: var(--space-24);
}
.blog-card.featured h2,
.blog-card h2 {
  font-size: 26px;
}
.blog-card-copy {
  padding-top: var(--space-16);
}
.blog-card-description {
  font-size: 16px;
}
.blog-closing {

  padding-block: var(--section-space);
}
.blog-closing>.container {
  display: block;
}
.blog-closing h2 {
  font-size: 30px;
}
.blog-closing p {
  font-size: 17px;
}
.blog-closing .button {
  margin-top: var(--space-24);
}
.article-breadcrumb {
  font-size: 13px;
  padding-top: var(--space-20);
}
.article-heading {
  padding: var(--space-28) 0;
}
.article-heading h1 {
  font-size: 37px;
}
.article-description {
  font-size: 19px;
  margin-top: var(--space-20);
}
.article-byline {
  font-size: 13px;
  gap: var(--space-8);
}
.article-byline span {
  margin-left: 0;
}
.article-cover {
  margin-bottom: var(--space-28);
}
.article-layout {
  padding-bottom: var(--space-40);
}
.article-body {
  font-size: 18px;
  line-height: 1.75;
}
.article-body h2 {
  font-size: 26px;
  margin-top: var(--space-40);
}
.article-body h3 {
  font-size: 22px;
}
.article-toc details {
  padding: var(--space-16);
}
.article-author {
  gap: var(--space-16);
}
.article-author img {
  width: 48px;
  height: 48px;
}
.article-author h2 {
  font-size: 22px;
  margin-top: 0;
}
.related-articles {

  padding-block: var(--section-space);
}
.related-heading {
  display: block;
}
.related-heading h2 {
  font-size: 30px;
  margin-bottom: var(--space-16);
}
}

/* document */
/* Legal information uses the same readable prose component as editorial pages. */
.document-layout{max-width:820px;padding-bottom:var(--section-space)}
.document-heading{margin-bottom:var(--space-48)}
.document-heading h1{font-size:clamp(36px,4vw,58px);overflow-wrap:anywhere}
.document-body{max-width:720px;margin-inline:auto}
.document-body h2 strong,.document-body h3 strong{font-weight:inherit}
.document-body>p:first-child,.document-body>div>p:first-child{margin-top:0}
.not-found-content{min-height:55vh}
.not-found-content>p:not(.eyebrow){margin-top:var(--space-24);max-width:660px}
.not-found-content .button{margin-top:var(--space-32)}
@media(max-width:740px){.document-heading{margin-bottom:var(--space-32)}.document-heading h1{font-size:37px}}

/* opening */
/* Homepage composition: fit the useful viewport when the content permits it. */
.opening-screen{--opening-nav:90px;--opening-note:0px;min-height:calc(100svh - var(--opening-nav) - var(--opening-note));display:grid;grid-template-rows:1fr auto}
.preview-note~main .opening-screen{--opening-note:30px}
.hero{display:grid;grid-template-columns:64% 36%;align-items:center;align-content:center;gap:0;position:relative;padding-block:clamp(16px,2.5svh,32px)}
.hero-copy{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,4svh,48px)}
.hero .eyebrow.subdued{margin:0}
.hero-copy>.button{flex-shrink:0}
.hero h1{font-size:clamp(40px,min(4.8vw,6.5svh),68px)}
.hero-intro{font-size:clamp(18px,2.6svh,26px);line-height:1.35;max-width:630px;margin:0;letter-spacing:-.02em}
/* The original 700x900 asset has a 527x645 visible silhouette. */
.hero-portrait{position:relative;align-self:stretch;min-width:0;min-height:280px;container-type:size}
.hero-portrait .malt-badge{bottom:var(--malt-inset);right:calc(min(100cqw,100cqh * 527 / 645) / 2);transform:translateX(50%)}
.hero-portrait-image{position:absolute;right:0;bottom:0;width:min(100cqw,calc(100cqh * 527 / 645));aspect-ratio:527/645;isolation:isolate}
.hero-portrait-cutout{position:absolute;inset:0;overflow:hidden}
.hero-portrait-cutout>img{position:absolute;bottom:0;right:0;display:block;width:133%;height:140%;max-width:none;max-height:960px;object-fit:contain;object-position:right bottom}
/* Separate silhouette shadow: fade it before the horizontal and side cuts. */
.hero-portrait-shadow{position:absolute;inset:-16px;pointer-events:none;mask-image:linear-gradient(to bottom,#000 65%,transparent calc(100% - 16px));}
.hero-portrait-shadow>.hero-portrait-cutout{inset:16px;filter:brightness(0) blur(9px);opacity:.12;transform:translate(-6px,2px)}
@media(max-width:1050px){
 .opening-screen{--opening-nav:76px}
 .hero{grid-template-columns:62% 38%}
 .hero h1{font-size:clamp(36px,min(5.5vw,6.3svh),56px)}
}
@media(max-width:740px){
 .preview-note~main .opening-screen{--opening-note:27px}
 .hero{grid-template-columns:minmax(0,1fr) clamp(88px,28vw,132px);grid-template-areas:"kicker kicker" "title portrait" "proof proof" "text text" "action action";column-gap:var(--space-12);row-gap:clamp(8px,2svh,24px);align-content:center;padding-block:clamp(8px,1.6svh,20px)}
 .hero-copy,.hero-portrait{display:contents}
 .hero .eyebrow.subdued{grid-area:kicker;justify-self:start;margin:0}
 .hero h1{grid-area:title;font-size:clamp(32px,min(8.5vw,5svh),40px);line-height:1.08;text-wrap:initial}
 .hero-intro{grid-area:text;font-size:clamp(17px,2.3svh,19px);margin:0;max-width:none}
 .hero-copy>.button{grid-area:action;justify-self:start}
 .hero-portrait-image{grid-area:portrait;position:relative;inset:auto;align-self:stretch;min-height:0;width:auto;aspect-ratio:auto}
 .hero-portrait-cutout>img{width:145%;height:145%;max-height:none}
 .hero-portrait-shadow>.hero-portrait-cutout{filter:brightness(0) blur(5px);opacity:.10;transform:translate(-3px,1px)}
 .hero-portrait .malt-badge{grid-area:proof;position:static;justify-self:center;right:auto;transform:none;width:max-content;max-width:100%;padding:8px 12px;gap:12px;box-shadow:none;border:1px solid var(--line)}
 .hero-portrait .malt-logo{width:65px;height:19px}
 .hero-portrait .malt-badge-copy p{font-size:11px}
 .hero-portrait .malt-badge-rating strong{font-size:15px}
 .hero-portrait .malt-stars{font-size:14px}
}

/* client-logos */
/* One accessible list, with a decorative duplicate for a seamless loop. */
.client-references{width:100%;min-width:0;padding-block:var(--space-12) var(--space-20)}
.client-logo-viewport{overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:none;padding-block:var(--space-4)}
.client-logo-viewport::-webkit-scrollbar{display:none}
.client-logo-track{display:flex;width:max-content}
.client-logo-group{display:flex;align-items:center;flex:none;gap:var(--client-logo-gap);padding:0 var(--client-logo-gap) 0 0;margin:0;list-style:none}
.client-logo-group[aria-hidden]{display:none}
.client-logo-group li{display:flex;align-items:center;justify-content:center;flex:0 0 var(--client-logo-width);width:var(--client-logo-width);height:var(--client-logo-height)}
.client-logo-group img{display:block;width:100%;height:100%;object-fit:contain}
.client-references.is-animated .client-logo-viewport{overflow-x:hidden}
.client-references.is-animated .client-logo-group[aria-hidden]{display:flex}
.client-references.is-animated .client-logo-track{animation:client-logo-scroll var(--client-logo-duration) linear infinite}
.client-references.is-paused .client-logo-track,.client-logo-viewport:focus-within .client-logo-track{animation-play-state:paused}
@media(hover:hover){.client-logo-viewport:hover .client-logo-track{animation-play-state:paused}}
@keyframes client-logo-scroll{to{transform:translateX(-50%)}}
@media(max-width:740px){
 .client-references{padding-block:var(--space-4) var(--space-12)}
}
@media(prefers-reduced-motion:reduce){
 .client-references.is-animated .client-logo-viewport{overflow-x:auto}
 .client-references.is-animated .client-logo-track{animation:none;transform:none}
 .client-references.is-animated .client-logo-group[aria-hidden]{display:none}
}

.home-reading-flow{--home-section-space:clamp(112px,14svh,160px);--home-heading-gap:48px}
@media(max-width:1050px){.home-reading-flow{--home-section-space:96px;--home-heading-gap:40px}}
@media(max-width:740px){.home-reading-flow{--home-section-space:72px;--home-heading-gap:32px}}
/* Reversible homepage reading rhythm. Enabled by components.homeRhythm. */
.home-reading-flow>.section,
.home-reading-flow>.approach-section,
.home-reading-flow>#questions{padding-block:var(--home-section-space)}
.home-reading-flow>.expertise-section>.container{padding-bottom:0;border-bottom:0}
.home-reading-flow>.proof,
.home-reading-flow>#questions{background:var(--warm)}
.home-reading-flow>.approach-section{background:var(--white)}
.home-reading-flow .needs-grid,
.home-reading-flow .expertise-grid,
.home-reading-flow .proof .testimonials:not(.additional-testimonials){margin-top:var(--home-heading-gap)}
.home-reading-flow .faq-heading{margin-bottom:var(--home-heading-gap)}

/* Homepage paper styling, published with the redesign on 2026-10-28.
 * Paper decoration is separate from text, hit targets and keyboard outlines.
 * Scoped to the homepage in both public and preview stylesheets.
 */
.home-paper-trial .button{
  position:relative;
  isolation:isolate;
  background:transparent;
  border-radius:18px 15px 19px 14px / 15px 18px 14px 17px;
  filter:drop-shadow(0 2px 1px rgb(65 35 20 / 16%));
  transition:transform .18s ease,filter .18s ease;
}
.home-paper-trial .button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background-color:var(--accent);
  background-image:url('media/home-paper-grain.svg'),linear-gradient(112deg,rgb(255 255 255 / 8%),transparent 42%,rgb(98 33 8 / 7%));
  background-size:180px 180px,100% 100%;
  background-blend-mode:soft-light,normal;
  clip-path:polygon(0 3%,9% 1%,24% 2%,41% 0,59% 2%,77% 1%,93% 2%,100% 0,99.6% 28%,100% 56%,99.5% 82%,100% 98%,87% 99%,72% 98%,54% 100%,38% 98%,19% 100%,0 98%,.4% 72%,0 49%,.4% 24%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 20%),inset 0 -1px 0 rgb(114 40 15 / 10%);
  transition:background-color .18s ease;
}
.home-paper-trial .button::after{
  mask:none;
  background: url('media/home-paper-arrow.svg') center/contain no-repeat;
  transform:rotate(-3deg);
  filter:drop-shadow(0 1px 1px rgb(92 34 12 / 26%));
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .home-paper-trial .button:not(:disabled):hover{transform:translateY(-2px);filter:drop-shadow(0 4px 2px rgb(65 35 20 / 15%))}
}
.home-paper-trial .button:hover::before{background-color:var(--accent-hover)}
.home-paper-trial .button:active{transform:translateY(0);filter:drop-shadow(0 1px 0 rgb(65 35 20 / 15%))}
.home-paper-trial .button:disabled{background:transparent;transform:none;filter:none}
.home-paper-trial .button:disabled::before{background-color:var(--muted)}
.home-paper-trial>#temoignages,
.home-paper-trial>#questions{position:relative;isolation:isolate}
.home-paper-trial>#temoignages::before,
.home-paper-trial>#questions::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:url('media/home-paper-grain.svg') repeat;
  background-size:260px 260px;
  opacity:.24;
}
@media(prefers-reduced-motion:reduce){
  .home-paper-trial .button,.home-paper-trial .button::before{transition:none}
}
@media(forced-colors:active){
  .home-paper-trial .button{background:ButtonFace;border-color:ButtonText;filter:none}
  .home-paper-trial .button::before,.home-paper-trial>#temoignages::before,.home-paper-trial>#questions::before{display:none}
  .home-paper-trial .button::after{background:ButtonText;mask:url('media/arrow-right.svg') center/contain no-repeat;filter:none}
}
