/* SFox / clarity pass. One message per chapter, with the image and identity on one plane. */
.home-clarity { --chapter-space:clamp(88px,10vw,160px); }
.home-clarity .hero { min-height:clamp(580px,calc(100svh - 100px),850px); padding:0; display:flex; align-items:center; }
.home-clarity .hero-copy { width:100%; padding:64px var(--gutter) 100px; transform:translate3d(0,var(--copy-depth,0px),0); }
html .home-clarity .hero h1 { font-size:clamp(60px,min(8vw,12svh),128px); line-height:1.01; letter-spacing:-.018em; margin:0 0 30px; max-width:1050px; transform:none; text-transform:none; hyphens:none; overflow-wrap:normal; }
.home-clarity .hero-line { overflow:visible; display:block; padding:0; margin:0; }
.home-clarity .hero-line > span { display:block; }
.home-clarity .hero-description { max-width:485px; font-size:18px; line-height:1.65; color:#e0e3db; }
.home-clarity .hero-actions { margin-top:30px; }
.home-clarity .hero-image { position:absolute; inset:0 0 0 27%; width:auto; height:100%; margin:0; aspect-ratio:auto; transform:translate3d(0,var(--image-depth,0px),0); }
.home-clarity .hero-photo-window { position:absolute; inset:0; height:100%; mask-image:none; -webkit-mask-image:none; }
.home-clarity .hero-photo-window > .photo { width:100%; height:100%; object-fit:cover; object-position:54% 46%; filter:saturate(.72) brightness(.88); transform:scale(1.025); }
.home-clarity .hero-photo-window::after { background:linear-gradient(90deg,#101210 0%,#101210c7 19%,#10121029 61%,transparent 100%),linear-gradient(0deg,#101210 0%,transparent 40%,#10121033 100%); }
.home-clarity .hero-signature { position:absolute; inset:auto var(--gutter) 50px auto; display:flex; align-items:center; gap:17px; transform:none; }
.home-clarity .hero-signature img { width:77px; height:82px; object-fit:contain; opacity:1; }
.home-clarity .hero-signature span { font-size:76px; line-height:1; letter-spacing:.04em; opacity:.95; }
.home-clarity .ukraine-proof { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(32px,7vw,100px); padding:65px var(--gutter); background:#1b2119; position:relative; z-index:4; scroll-margin-top:20px; }
.home-clarity .proof-heading { display:flex; align-items:center; gap:24px; }
.home-clarity .proof-heading .flag { width:42px; height:28px; }
html .home-clarity .proof-heading h2 { font-size:clamp(38px,4vw,60px); line-height:1.06; text-transform:none; letter-spacing:-.012em; }
.home-clarity .ukraine-proof p { font-size:18px; line-height:1.65; max-width:610px; color:#c4ccbe; }
.home-clarity .section { padding-block:var(--chapter-space); border:0; }
html .home-clarity :is(.section-heading h2,.sites-introduction h2,.people-copy h2) { font-size:clamp(58px,6.6vw,104px); line-height:1.03; text-transform:none; letter-spacing:-.015em; overflow-wrap:normal; hyphens:manual; }
.home-clarity .section-heading { display:block; max-width:930px; margin:0 0 70px; }
.home-clarity .section-heading > p { margin-top:26px; max-width:640px; font-size:20px; line-height:1.55; color:#b9c2b1; }
.home-clarity .talent-section { background:#101210; }
.home-clarity .talent-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(25px,3vw,48px); align-items:start; padding:0; }
.home-clarity .talent-card { display:block; margin:0; }
.home-clarity .talent-photo { aspect-ratio:4/3; min-height:0; background:#1d241a; }
.home-clarity .talent-photo img { transform:none; filter:saturate(.76); }
.home-clarity .talent-photo::after { display:none; }
.home-clarity .talent-copy { margin:0; padding:28px 0 0; }
html .home-clarity :is(.talent-copy h3,.talent-support h3) { font-size:clamp(31px,3.05vw,47px); line-height:1.06; transform:none; letter-spacing:-.012em; text-transform:none; hyphens:manual; overflow-wrap:normal; }
.home-clarity .talent-copy h3 { min-height:2.15em; max-width:11em; }
.home-clarity .role-list { margin:22px 0 0; padding:0; grid-template-columns:1fr; gap:7px; }
.home-clarity .role-list li { font-size:17px; line-height:1.5; color:#b9c2b1; }
.home-clarity .talent-support { margin-top:68px; padding-top:48px; border-top:1px solid #384032; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; }
.home-clarity .talent-support h3 { max-width:480px; }
.home-clarity .talent-support .role-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 22px; }
.home-clarity .sites-introduction { background:#293023; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:45px; min-height:690px; }
.home-clarity .sites-introduction h2 { max-width:520px; }
.home-clarity .sites-introduction-copy > p { margin:24px 0 0; font-size:18px; line-height:1.65; max-width:510px; }
.home-clarity .sites-introduction-copy > .sites-promise { font-size:26px; line-height:1.4; color:var(--white); }
.home-clarity .sites-introduction-copy .button { margin-top:34px; }
.home-clarity .sites-introduction-image { margin:0 -8% 0 -4%; }
.home-clarity .sites-introduction-image img { mix-blend-mode:lighten; }
.home-clarity .engagement { background:#141914; }
.home-clarity .service-grid { gap:clamp(30px,5vw,80px); }
.home-clarity .service-card { padding:0; }
.home-clarity .service-card::before { display:none; }
html .home-clarity .service-card h3 { font-size:clamp(34px,3.1vw,49px); line-height:1.06; text-transform:none; min-height:2.12em; max-width:10em; hyphens:manual; }
.home-clarity .service-card p { font-size:18px; line-height:1.65; margin-top:22px; color:#b9c2b1; }
.home-clarity .people-section { background:#242c22; grid-template-columns:1.12fr 1fr; border:0; }
.home-clarity .people-photo { min-height:620px; height:auto; }
.home-clarity .people-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:saturate(.8); transform:none; }
.home-clarity .people-copy { padding:90px var(--gutter) 90px clamp(35px,5vw,80px); background:transparent; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.home-clarity .people-copy h2 { margin:0; }
.home-clarity .people-copy > p { margin-top:28px; font-size:20px; line-height:1.6; color:#c7cebf; }
.home-clarity .people-copy .button { margin-top:34px; }
.home-clarity .contact-closing { padding:74px var(--gutter); display:flex; gap:36px; justify-content:space-between; align-items:center; }
html .home-clarity .contact-closing h2 { font-size:clamp(42px,4.6vw,72px); line-height:1.06; text-transform:none; }
.home-clarity .contact-closing .button { flex-shrink:0; }
/* The separate site proposition uses the same plain hierarchy, retaining its layered reveal. */
.sites-page .sites-hero-layout { display:block; max-width:1100px; }
html .sites-page .sites-hero h1 { font-size:clamp(68px,min(10vw,16svh),150px); line-height:1.06; text-transform:none; margin:0 0 35px; }
.sites-page .sites-hero-copy { max-width:680px; }
.sites-page .sites-hero-copy .lead { font-size:clamp(24px,2.4vw,34px); max-width:650px; }
.sites-page .sites-hero-copy > p + p { font-size:18px; max-width:630px; margin-top:22px; }
.sites-page .site-accountability { padding-block:clamp(90px,10vw,150px); }
.sites-page .mission-brief::before { display:none; }
@media(min-width:761px) and (max-width:1100px) {
 .home-clarity .hero-copy { padding-top:62px; padding-bottom:90px; }
 .home-clarity .hero-image { left:21%; }
 .home-clarity .hero-signature { bottom:32px; }
 .home-clarity .hero-signature img { width:60px; height:66px; }
 .home-clarity .hero-signature span { font-size:60px; }
 .home-clarity .hero-description { max-width:445px; }
 .home-clarity .talent-grid { gap:24px; }
 .home-clarity .role-list li { font-size:16px; }
 .home-clarity .sites-introduction { gap:24px; min-height:590px; }
 .home-clarity .sites-introduction-copy > .sites-promise { font-size:23px; }
 .home-clarity .people-photo { min-height:550px; }
 .home-clarity .people-copy { padding:64px 32px; }
}
@media(max-width:760px) {
 .home-clarity { --chapter-space:84px; }
 .home-clarity .hero { min-height:0; display:block; padding:0; }
 .home-clarity .hero-copy { padding:230px var(--gutter) 58px; }
 html .home-clarity .hero h1 { font-size:clamp(50px,10.8vw,82px); line-height:1.04; max-width:610px; margin:0 0 24px; }
 .home-clarity .hero-description { max-width:560px; font-size:17px; line-height:1.65; }
 .home-clarity .hero-actions { margin-top:26px; }
 .home-clarity .hero-image { position:absolute; inset:0 0 auto; width:100%; height:350px; margin:0; }
 .home-clarity .hero-photo-window > .photo { object-position:51% 43%; filter:saturate(.8) brightness(.92); }
 .home-clarity .hero-photo-window::after { background:linear-gradient(0deg,#101210 0%,#101210ad 19%,transparent 70%); }
 .home-clarity .hero-signature { inset:24px 24px auto auto; gap:9px; }
 .home-clarity .hero-signature img { width:42px; height:46px; }
 .home-clarity .hero-signature span { font-size:42px; }
 .home-clarity .ukraine-proof { grid-template-columns:1fr; gap:24px; padding:48px var(--gutter); }
 .home-clarity .proof-heading { gap:18px; }
 .home-clarity .proof-heading .flag { width:36px; height:24px; }
 html .home-clarity .proof-heading h2 { font-size:clamp(34px,8.8vw,54px); }
 .home-clarity .ukraine-proof p { font-size:17px; }
 html .home-clarity :is(.section-heading h2,.sites-introduction h2,.people-copy h2) { font-size:clamp(49px,11.8vw,80px); line-height:1.04; }
 .home-clarity .section-heading { margin-bottom:42px; }
 .home-clarity .section-heading > p { font-size:18px; margin-top:23px; }
 .home-clarity .talent-grid { grid-template-columns:1fr; gap:54px; }
 .home-clarity .talent-card { display:block; }
 .home-clarity .talent-photo { aspect-ratio:3/2; }
 .home-clarity .talent-copy { padding-top:24px; }
 html .home-clarity :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(34px,8.5vw,50px); min-height:0; max-width:15em; line-height:1.09; }
 .home-clarity .role-list { grid-template-columns:1fr 1fr; gap:8px 20px; margin-top:20px; }
 .home-clarity .role-list li { font-size:16px; }
 .home-clarity .talent-support { grid-template-columns:1fr; gap:40px; margin-top:52px; padding-top:40px; }
 .home-clarity .sites-introduction { grid-template-columns:1fr; gap:35px; min-height:0; padding-bottom:40px; }
 .home-clarity .sites-introduction-copy > .sites-promise { font-size:24px; }
 .home-clarity .sites-introduction-copy > p { font-size:17px; }
 .home-clarity .sites-introduction-image { margin:0 -15px; }
 .home-clarity .service-grid { grid-template-columns:1fr; gap:42px; }
 .home-clarity .service-card p { font-size:17px; margin-top:17px; }
 .home-clarity .people-section { display:flex; flex-direction:column; }
 .home-clarity .people-copy { padding:70px var(--gutter) 52px; order:-1; }
 .home-clarity .people-copy > p { font-size:18px; margin-top:24px; }
 .home-clarity .people-photo { width:100%; min-height:0; height:auto; aspect-ratio:4/3; }
 .home-clarity .contact-closing { padding:64px var(--gutter); flex-direction:column; align-items:flex-start; gap:28px; }
 html .home-clarity .contact-closing h2 { font-size:clamp(42px,10.2vw,66px); }
 .sites-page .sites-hero { padding-top:65px; padding-bottom:68px; }
 html .sites-page .sites-hero h1 { font-size:clamp(53px,13.2vw,94px); margin-bottom:28px; }
 .sites-page .sites-hero-copy .lead { font-size:24px; }
 .sites-page .sites-hero-copy > p + p { font-size:17px; }
}
/* Cyrillic has a wider display face; scale phrases without introducing breakpoint jumps. */
html[lang=uk] .home-clarity .hero h1 { font-size:clamp(50px,min(6.5vw,10svh),104px); line-height:1.14; }
html[lang=uk] .home-clarity :is(.section-heading h2,.sites-introduction h2,.people-copy h2) { font-size:clamp(43px,5.5vw,84px); line-height:1.17; }
html[lang=uk] .home-clarity :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(29px,2.65vw,42px); line-height:1.18; }
@media(max-width:760px) {
 html[lang=uk] .home-clarity .hero h1 { font-size:clamp(39px,8.9vw,64px); }
 html[lang=uk] .home-clarity :is(.section-heading h2,.sites-introduction h2,.people-copy h2) { font-size:clamp(39px,9.5vw,64px); }
 html[lang=uk] .home-clarity :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(29px,7.2vw,45px); }
 html[lang=uk] .sites-page .sites-hero h1 { font-size:clamp(44px,10.4vw,72px); line-height:1.16; }
}
@media(prefers-reduced-motion:reduce) {
 .home-clarity .hero-copy,.home-clarity .hero-image { transform:none; }
}
/* Keep the type continuous through tablet widths and let long German words wrap naturally. */
@media(max-width:760px) {
 html .home-clarity .hero h1 { font-size:clamp(46px,8vw,61px); }
 html[lang=uk] .home-clarity .hero h1 { font-size:clamp(36px,6.5vw,50px); }
 .home-clarity .hero-photo-window > .photo { object-position:20% 43%; }
}
html[lang=de] .home-clarity :is(.section-heading h2,.sites-introduction h2,.people-copy h2,.contact-closing h2) { hyphens:auto; overflow-wrap:break-word; }
