:root { color-scheme: dark; font-family: Inter, Arial, sans-serif; background: #10141b; color: #f4f5f7; }
* { box-sizing: border-box; } html { background: #10141b; } body { margin: 0; min-width: 320px; } a { color: inherit; text-decoration: none; } button { color: inherit; font: inherit; }
.hero { position: relative; isolation: isolate; height:100vh; height:100svh; min-height:640px; overflow: hidden; background: #10141b; }.hero__portrait { position: absolute; z-index: -1; inset: 20px 0 0 270px; background: center top / contain no-repeat url("./assets/vitaly-portrait.jpg"); -webkit-mask-image:none; mask-image:none; }.hero-stylist { color:inherit !important; }
.header { position:absolute; top:40px; left:80px; right:80px; height:32px; }.wordmark { position:absolute; top:3px; left:0; font:400 18px/1 Poppins,sans-serif; white-space:nowrap; }.wordmark span, h1 span { color: #d25245; }.nav { position:absolute; top:8px; left:213.16px; display:flex; gap:28.143px; color:#9aa2af; font-size:12.436px; }.nav a { transition:color .18s ease; }.nav a:hover,.nav a:focus-visible { color:#f4f5f7; }.header__right { position:absolute; top:0; right:0; display:flex; align-items:center; height:32px; gap:9px; }.language { padding:0; border:0; background:transparent; color:#9aa2af; font:400 12px/1 Poppins,sans-serif; cursor:pointer; }.language--active{color:#f4f5f7}.menu { display:grid; width:32px; height:32px; margin-left:25px; padding:0; border:0; background:transparent; cursor:pointer; }.menu img { width:32px; height:32px; }
.introduction { position: absolute; top: 193px; left: 5.375%; width: 726px; height: 414px; }.video-card { position:absolute; top:0; left:0; overflow:hidden; width:272px; height:132px; padding:0; border:0; background:#dfe1df; color:inherit; cursor:pointer; }.video-card video { width:100%; height:100%; object-fit:cover; }.video-card img { position:absolute; top:50%; left:50%; width:32px; height:32px; transform:translate(-50%,-50%); }.video-dialog { width:min(960px, calc(100% - 32px)); margin:auto; padding:0; border:0; background:transparent; color:#f4f5f7; }.video-dialog::backdrop { background:rgb(0 0 0 / .76); }.video-dialog__content { position:relative; display:grid; place-items:center; }.video-dialog__player { display:block; width:100%; max-height:calc(100vh - 64px); background:#10141b; }.video-dialog__close { position:absolute; z-index:1; top:12px; right:12px; display:grid; width:40px; height:40px; place-items:center; padding:0; border:0; border-radius:50%; background:rgb(16 20 27 / .84); color:#f4f5f7; font-size:28px; line-height:1; cursor:pointer; }.modal-open { overflow:hidden; }.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }.guide-label { position: absolute; top: 46px; left: 288px; display: grid; gap: 5px; margin: 0; }.guide-label strong { font-size: 15.0545px; line-height: 1; }.guide-label span { color:#9aa2af; font-size:12.4364px; line-height:1; } h1 { position: absolute; bottom: 0; left: 0; margin:0; color:#f4f5f7; font: 700 106px/.988 Poppins, sans-serif; letter-spacing:-.6545px; }
.trust { position:absolute; left:80px; bottom:52px; display:grid; gap:5px; }.trust strong { font-size:18px; line-height:24px; }.trust span { color:#aab3bc; font-size:13px; line-height:18px; }.services { position:absolute; top:195px; left:calc(100% - 352px); width:558px; overflow:hidden; }.service-track { display:flex; gap:14px; transition:transform .25s ease; }.service-card { position:relative; flex:0 0 272px; height:129px; padding:30px 28px; background:#1d2430; }.service-card h2 { margin:0; font:600 16.364px/22.255px Inter,sans-serif; }.service-card p { margin:8px 0 0; color:#9aa2af; font-size:13.091px; }.service-card img { position:absolute; top:35px; left:199.3484px; width:44.56026px; height:44.56026px; }.service-controls { display:flex; justify-content:flex-start; gap:12px; margin-top:23px; padding-left:188px; }.service-controls button { display:grid; width:36px; height:36px; place-items:center; padding:0; border:0; border-radius:50%; background:#f4f5f7; cursor:pointer; }.service-controls button+button { background:#d25245; }.service-controls img { width:36px; height:36px; }.consultation { position:absolute; right:0; bottom:0; display:grid; align-content:end; width:352px; height:190px; padding:0 28px 34px; background:#d25245; color:white; }.consultation span { font-size:12px; line-height:18px; }.consultation strong { margin-top:4px; color:#10141b; font-size:24px; line-height:32px; }.consultation b { position:absolute; right:27px; bottom:52px; display:grid; width:48px; height:48px; place-items:center; border-radius:50%; background:#10141b; transition:transform .18s ease; }.consultation b img { width:24px; height:24px; }.consultation:hover b,.consultation:focus-visible b { transform:translate(3px,-3px); }
.manifesto { min-height:180vh; background:#10141b; }.manifesto__sticky { position:sticky; top:0; height:100vh; overflow:hidden; }.manifesto__label { position:absolute; top:15%; left:4%; margin:0; color:#9aa2af; font:600 10px/1.2 Inter,sans-serif; letter-spacing:.32em; }.manifesto__copy { position:absolute; top:50%; left:50%; width:94%; transform:translate(-50%,-50%); text-align:center; }.manifesto__line { display:block; margin:0; white-space:nowrap; font:700 clamp(48px,6vw,78px)/1.08 Poppins,sans-serif; letter-spacing:-.045em; }.manifesto__line--secondary { color:#9aa2af; }.manifesto__letter { display:inline-block; will-change:transform, opacity, color; }.manifesto__letter--space { width:.28em; }
.section-light { background:#f3f2f2; color:#10141b; padding:clamp(80px,11vw,160px) clamp(20px,4vw,56px); }.section-kicker,.recognition__head { display:flex; justify-content:space-between; gap:20px; border-top:2px solid currentColor; padding-top:16px; font:600 11px/1.2 Inter,sans-serif; letter-spacing:.18em; }.section-kicker span:last-child { color:#7d7979; }.about__grid { display:grid; grid-template-columns:minmax(300px,1fr) minmax(320px,1fr); gap:clamp(48px,8vw,110px); margin-top:clamp(40px,6vw,88px); }.about__photos { position:relative; min-height:550px; }.about__photos img:first-child { width:78%; height:clamp(420px,48vw,650px); object-fit:cover; object-position:center 30%; filter:grayscale(1) contrast(1.08); }.about__photos img:last-child { position:absolute; right:0; bottom:0; width:42%; aspect-ratio:1; object-fit:cover; filter:grayscale(1) contrast(1.08); outline:8px solid #f3f2f2; }.about__bio { margin:0; font-size:clamp(22px,2.25vw,34px); line-height:1.3; }.about__facts { list-style:none; padding:0; margin:clamp(40px,5vw,72px) 0 0; counter-reset:facts; }.about__facts li { counter-increment:facts; border-top:2px solid; padding:18px 0; font-size:clamp(24px,2.4vw,36px); }.about__facts li::before { content:'0' counter(facts); color:#7d7979; font:600 11px Inter,sans-serif; letter-spacing:.14em; display:inline-block; width:52px; vertical-align:middle; }.recognition { background:#10141b; color:#f4f5f7; padding:72px 0; overflow:hidden; }.recognition__head { margin:0 clamp(20px,4vw,56px) 44px; align-items:end; border-color:#2d2b2b; }.recognition__head h2,.services-section h2 { margin:12px 0 0; font:300 clamp(52px,8vw,112px)/.95 Poppins,sans-serif; letter-spacing:-.05em; }.recognition__track { display:flex; gap:16px; overflow-x:auto; padding:0 clamp(20px,4vw,56px); scroll-snap-type:x mandatory; }.recognition__track article { flex:0 0 min(32vw,520px); min-height:min(56vh,560px); display:flex; flex-direction:column; justify-content:end; padding:28px; background:linear-gradient(to top,#10141b,#2a2525); scroll-snap-align:start; }.recognition__track b { color:#bab6b6; font-size:11px; letter-spacing:.12em; }.recognition__track h3 { font:400 clamp(28px,2.7vw,42px)/1.02 Poppins,sans-serif; margin:16px 0 0; }.recognition__marquee { margin:44px 0 0; border-block:2px solid #2d2b2b; padding:18px 28px; color:#bab6b6; white-space:nowrap; overflow:hidden; }.featured-service { display:grid; grid-template-columns:1fr 1fr; margin-top:56px; background:#10141b; color:#f4f5f7; }.featured-service img { width:100%; height:100%; min-height:360px; object-fit:cover; filter:grayscale(1) contrast(1.08); }.featured-service div { padding:clamp(28px,4vw,56px); display:flex; flex-direction:column; justify-content:space-between; gap:32px; }.featured-service h3 { margin:0; font:300 clamp(36px,4.4vw,68px)/.98 Poppins,sans-serif; }.featured-service p { color:#d7d3d3; font-size:18px; line-height:1.5; }.featured-service a,.services-cta { display:inline-flex; width:max-content; padding:16px 20px; background:#f3f2f2; color:#10141b; font-weight:600; }.service-list { margin-top:64px; border-bottom:2px solid; }.service-list details { border-top:2px solid; padding:24px 0; }.service-list summary { display:flex; gap:40px; cursor:pointer; font-size:clamp(28px,4.6vw,72px); list-style:none; }.service-list summary::after { content:'+'; margin-left:auto; }.service-list details[open] summary::after { content:'−'; }.service-list p { margin:20px 0 0 68px; max-width:560px; font-size:18px; line-height:1.5; }.services-cta { margin-top:56px; background:#10141b; color:#f4f5f7; font-size:17px; }
@media (max-width: 880px) { .hero { --hero-cta-height:clamp(120px,18vh,164px); height:100vh; height:100svh; min-height:620px; }.hero__portrait { inset:0; height:100%; background-position:34% top; background-size:auto 100%; opacity:.72; -webkit-mask-image:none; mask-image:none; }.header { top:max(16px, env(safe-area-inset-top)); left:20px; right:20px; }.nav { display:none; }.nav.is-open { top:48px; left:0; z-index:1; display:flex; flex-direction:column; gap:14px; min-width:170px; padding:18px 20px; background:#10141b; box-shadow:0 12px 24px rgb(0 0 0 / .2); }.menu { margin-left:14px; }.introduction { position:absolute; top:88px; left:20px; width:calc(100% - 40px); height:auto; margin:0; padding:0; }.video-card { position:absolute; top:0; left:0; width:min(136px,40vw); height:68px; }.video-card img { width:28px; height:28px; }.guide-label { position:absolute; top:10px; left:calc(min(136px,40vw) + 16px); margin:0; }.guide-label strong { font-size:14px; }.guide-label span { font-size:11px; }.introduction h1 { position:absolute; top:94px; bottom:auto; left:0; width:min(max(116px,34vw),300px); margin:0; overflow-wrap:anywhere; font-size:clamp(40px,10.8vw,52px); line-height:.96; }.trust { position:absolute; left:20px; bottom:calc(var(--hero-cta-height) + 16px); margin:0; gap:2px; }.trust strong { font-size:15px; line-height:20px; }.trust span { font-size:12px; line-height:16px; }.services { position:absolute; top:clamp(350px,55vh,470px); left:20px; width:calc(100% - 40px); margin:0; overflow:visible; }.service-track { gap:8px; }.service-card { flex:0 0 calc((100vw - 48px) / 2); height:86px; padding:14px 12px; }.service-card h2 { font-size:12.5px; line-height:15px; }.service-card p { margin-top:5px; font-size:11px; }.service-card img { top:28px; right:12px; left:auto; width:30px; height:30px; }.service-controls { display:none; }.consultation { position:absolute; right:0; bottom:0; width:100%; height:var(--hero-cta-height); margin:0; padding:0 20px 22px; }.consultation strong { max-width:250px; font-size:20px; line-height:25px; }.consultation b { right:20px; bottom:calc((var(--hero-cta-height) - 44px) / 2); width:44px; height:44px; }.consultation b img { width:24px; height:24px; }.manifesto { min-height:170vh; }.manifesto__label { top:12%; left:20px; }.manifesto__copy { width:calc(100% - 40px); }.manifesto__line { white-space:normal; font-size:clamp(42px,10vw,68px); line-height:1.03; }.manifesto__line--secondary { text-align:left; padding-left:8%; } }
@supports (height: 100svh) { @media (max-width: 880px) { .hero { --hero-cta-height:clamp(120px,18svh,164px); }.services { top:clamp(350px,55svh,470px); } } }
@media (max-width: 430px) { .wordmark { font-size:16px; }.consultation strong { max-width:220px; font-size:19px; }.language { font-size:11px; } }
@media (prefers-reduced-motion: reduce) { .manifesto { min-height:0; }.manifesto__sticky { position:relative; min-height:100svh; }.manifesto__letter { transform:none !important; opacity:1 !important; } }
.recognition__track article { position:relative; }.recognition__track i { position:absolute; top:24px; left:24px; border:1px dashed #605d5d; padding:5px 7px; color:#9b9797; font:10px ui-monospace,monospace; font-style:normal; }.recognition__photo { background:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-volga-seasons.jpg") 62% 30%/cover; }
@media (min-width:1024px) { .recognition { position:relative; }.recognition__head,.recognition__track,.recognition__marquee { position:relative; z-index:1; }.recognition__track { will-change:transform; overflow:visible; }.recognition > * { position:sticky; top:0; } .recognition__head { padding-top:72px; background:#10141b; } .recognition__marquee { background:#10141b; } }
@media (min-width:1024px) { .recognition > * { position:static; }.recognition__stage { position:sticky; top:0; height:100svh; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }.recognition__track { overflow:visible; } }
@media (max-width:1023px), (prefers-reduced-motion: reduce) { .recognition,.recognition__stage { height:auto !important; position:static; }.recognition__track { overflow-x:auto; scroll-snap-type:x mandatory; transform:none !important; } }
@media (max-width: 880px) { .about__grid,.featured-service { grid-template-columns:1fr; }.about__photos { min-height:420px; }.about__photos img:first-child { height:390px; }.recognition__track article { flex-basis:82vw; min-height:112vw; }.featured-service img { min-height:300px; }.service-list summary { gap:18px; }.service-list p { margin-left:0; }.recognition__marquee { animation:none; } }
.about.section-light,.services-section.section-light { background:#10141b; color:#f4f5f7; }.about.section-light .section-kicker,.services-section.section-light .section-kicker,.about__facts li,.service-list,.service-list details { border-color:#39404a; }.about__facts li::before,.section-kicker span:last-child,.service-list p { color:#9aa2af; }.featured-service a,.services-cta { background:#d25245; color:#10141b; }.about__photos [data-reveal],.about__photos img { transition:clip-path 1.3s cubic-bezier(.22,1,.36,1),transform 1.3s cubic-bezier(.22,1,.36,1); }
.about__photos img,.featured-service img,.recognition__photo { filter:none !important; }
.section-light,.about.section-light,.services-section.section-light { background:#10141b !important; color:#f4f5f7 !important; }.section-light .section-kicker,.section-light .about__facts li,.section-light .service-list,.section-light .service-list details { border-color:#39404a !important; }.section-light .about__bio,.section-light .about__facts li,.section-light .service-list summary { color:#f4f5f7; }.section-light .service-list p { color:#aab3bc; }.section-light .about__photos img:last-child { outline-color:#10141b; }.section-light .featured-service { background:#1d2430; }.section-light .featured-service a,.section-light .services-cta { background:#d25245; color:#10141b; }.section-light .service-list summary::after { color:#d25245; }
.recognition { height:auto !important; padding:56px 0; }.recognition__stage { height:auto !important; position:static !important; }.recognition__track { overflow-x:auto !important; transform:none !important; }.recognition__track article { background-size:cover; background-position:center; }.recognition__track article:nth-child(1) { background-image:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-01.jpg"); }.recognition__track article:nth-child(2) { background-image:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-02.jpg"); }.recognition__track article:nth-child(3) { background-image:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-03.jpg"); }.recognition__track article:nth-child(5) { background-image:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-05.jpg"); }.recognition__track article i { display:none; }
.recognition__track article.recognition__photo { background:linear-gradient(to top,#10141b,transparent),url("./assets/recognition-volga-seasons.jpg") 62% 30%/cover no-repeat; }
.recognition__marquee { overflow:hidden; max-width:100%; }.recognition__marquee::after { content:none !important; animation:none !important; }.recognition__marquee-inner { display:flex; width:max-content; animation:recognition-marquee 32s linear infinite; }.recognition__marquee-group { flex:none; white-space:nowrap; padding-right:28px; } @keyframes recognition-marquee { to { transform:translateX(-50%); } } @media (prefers-reduced-motion: reduce) { .recognition__marquee-inner { display:block; width:100%; max-width:100%; animation:none; transform:none; }.recognition__marquee-group { display:block; width:auto; max-width:100%; padding-right:0; white-space:normal; overflow-wrap:anywhere; }.recognition__marquee-group[aria-hidden="true"] { display:none; } }
.about__photos img,.about__photos img.about-reveal { opacity:1 !important; clip-path:none !important; }
.about-reveal { opacity:0; clip-path:inset(100% 0 0 0); }.about__bio.about-reveal,.about__facts li.about-reveal { clip-path:none; transform:translateY(40px); }.about-reveal.is-revealed { opacity:1; clip-path:inset(0); transform:none; transition:opacity 1.1s ease,transform 1.3s cubic-bezier(.22,1,.36,1),clip-path 1.3s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: reduce) { .about-reveal { opacity:1; clip-path:none; transform:none; } }
.about.section-light .about__photos img:last-child { outline:3px solid #f4f5f7; }
.service-preview { position:fixed; z-index:20; width:280px; height:302px; overflow:hidden; pointer-events:none; opacity:0; transition:opacity .2s ease; background:repeating-linear-gradient(135deg,#1d2430 0 14px,#27303d 14px 28px); }.service-preview.is-visible { opacity:1; }.service-preview img { width:100%; height:100%; object-fit:cover; }.service-preview span,.service-inline-preview span { display:grid; height:100%; place-items:start; padding:14px; color:#9aa2af; font:10px ui-monospace,monospace; }.service-inline-preview { display:none; margin:0 0 20px; aspect-ratio:4/3; background:repeating-linear-gradient(135deg,#1d2430 0 14px,#27303d 14px 28px); overflow:hidden; }.service-inline-preview img { width:100%; height:100%; object-fit:cover; }
@media (max-width:1023px), (prefers-reduced-motion: reduce) { .service-preview { display:none; }.service-list details[open] .service-inline-preview { display:block; } }
@media (max-width:1023px) { .about__grid,.featured-service { grid-template-columns:1fr; }.recognition__track { overflow-x:auto; transform:none !important; }.recognition__track article { flex-basis:82vw; min-height:112vw; } }
.services-section .featured-service { height:min(68vh,560px); height:min(68svh,560px); max-height:560px; min-height:0; margin-top:40px; overflow:hidden; }.services-section .featured-service img { height:100%; min-height:0; object-fit:cover; object-position:center top; }.services-section .featured-service div { padding:clamp(24px,2.8vw,40px); gap:18px; }.services-section .featured-service h3 { font-size:clamp(34px,3.5vw,54px); }.services-section .featured-service p { margin:0; font-size:16px; line-height:1.45; }.services-section .featured-service a { padding:14px 18px; }.services-section .service-list { margin-top:32px; }
@media (max-width:1023px) { .services-section .featured-service { height:auto; max-height:none; margin-top:32px; overflow:visible; }.services-section .featured-service img { height:clamp(190px,36svh,240px); min-height:0; object-position:center top; }.services-section .featured-service div { padding:24px 20px; gap:16px; }.services-section .featured-service h3 { font-size:clamp(32px,8vw,38px); line-height:1; }.services-section .featured-service p { font-size:16px; line-height:1.45; }.services-section .service-list { margin-top:36px; } }
.process-section,.looks-section,.geography-section,.faq-section { padding:clamp(88px,10vw,152px) clamp(20px,4vw,56px); background:#10141b; color:#f4f5f7; }.process-head { display:grid; grid-template-columns:minmax(0,1fr) 1fr; gap:32px; align-items:end; margin-top:48px; }.process-head h2,.looks-section h2,.stage-section h2,.faq-layout h2,.contact-section h2 { margin:0; font:300 clamp(40px,5.6vw,88px)/.98 Poppins,sans-serif; letter-spacing:-.045em; }.process-line { height:2px; background:#39404a; overflow:hidden; }.process-line i { display:block; width:100%; height:100%; transform-origin:left; background:#d25245; }.process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(24px,3vw,48px); margin:64px 0 0; padding:0; list-style:none; }.process-steps b { display:block; font:200 clamp(72px,7.4vw,112px)/.85 Poppins,sans-serif; color:#f4f5f7; }.process-steps p { max-width:280px; margin:22px 0 0; color:#c8cdd3; font-size:clamp(18px,1.5vw,22px); line-height:1.3; }.looks-section { background:#171d25; }.looks-section h2,.stage-section h2 { margin:40px 0 48px; font-size:clamp(52px,9vw,140px); }.looks-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:80px; gap:16px; }.look-tile { position:relative; display:block; min-width:0; padding:0; overflow:hidden; border:0; background:#242d38; color:#aab3bc; font:600 10px/1.25 Inter,sans-serif; letter-spacing:.12em; text-align:left; cursor:pointer; }.look-tile img { width:100%; height:100%; object-fit:cover; filter:none; transition:transform .7s cubic-bezier(.22,1,.36,1); }.look-tile:hover img { transform:scale(1.04); }.look-tile:nth-child(1){grid-column:span 5;grid-row:span 8}.look-tile:nth-child(2){grid-column:span 4;grid-row:span 5}.look-tile:nth-child(3){grid-column:span 3;grid-row:span 4}.look-tile:nth-child(4){grid-column:span 3;grid-row:span 4}.look-tile:nth-child(5){grid-column:span 4;grid-row:span 8}.look-tile:nth-child(6){grid-column:span 4;grid-row:span 5}.look-tile:nth-child(7){grid-column:span 3;grid-row:span 4}.look-tile:nth-child(8){grid-column:span 5;grid-row:span 4}.look-tile:nth-child(9){grid-column:span 3;grid-row:span 5}.look-tile:nth-child(10){grid-column:span 4;grid-row:span 4}.look-tile--tbd { display:grid; place-items:center; padding:18px; background:repeating-linear-gradient(135deg,#1d2430 0 12px,#26313e 12px 24px); }.stage-section,.contact-section,.site-footer { padding:clamp(88px,10vw,152px) clamp(20px,4vw,56px); background:#10141b; color:#f4f5f7; }.stage-row { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; }.stage-card { position:relative; flex:0 0 calc((100% - 32px)/3); aspect-ratio:3/5; overflow:hidden; border:0; padding:20px; color:#f4f5f7; text-align:left; cursor:pointer; scroll-snap-align:start; background:#1d2430; }.stage-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55); }.stage-card span { position:relative; display:inline-block; max-width:100%; border:1px dashed #aab3bc; padding:7px; color:#d7dce3; font:9px/1.25 ui-monospace,monospace; overflow-wrap:anywhere; }.stage-card b,.stage-card strong { position:absolute; left:20px; right:20px; z-index:1; }.stage-card b { bottom:78px; border-top:2px solid #f4f5f7; padding-top:12px; font:600 11px Inter,sans-serif; letter-spacing:.15em; }.stage-card strong { bottom:20px; font:300 clamp(26px,2.6vw,42px)/.95 Poppins,sans-serif; }.confidentiality-section { position:relative; display:grid; min-height:100svh; place-items:center; overflow:hidden; padding:140px clamp(20px,4vw,56px); background:#10141b; color:#f4f5f7; }.confidentiality-section>img { position:absolute; inset:-4%; width:108%; height:108%; object-fit:cover; object-position:center 55%; filter:brightness(.42); }.confidentiality-section>div { position:relative; max-width:1120px; text-align:center; }.confidentiality-section p { margin:0 0 40px; font:300 clamp(28px,4.2vw,64px)/1.1 Poppins,sans-serif; letter-spacing:-.035em; }.confidentiality-section p:nth-child(2){color:#bab6b6}.geo-rows { margin-top:56px; }.geo-rows p { display:flex; align-items:baseline; gap:32px; margin:0; border-top:2px solid #39404a; padding:24px 0; }.geo-rows p:last-child { border-bottom:2px solid #39404a; }.geo-rows b { min-width:54px; color:#aab3bc; font:600 clamp(14px,1.2vw,17px) Inter,sans-serif; letter-spacing:.14em; }.geo-rows span { font:300 clamp(44px,7.6vw,120px)/.95 Poppins,sans-serif; letter-spacing:-.05em; }.geo-marquee { margin:56px calc(clamp(20px,4vw,56px) * -1) -40px; overflow:hidden; border-block:2px solid #39404a; color:#aab3bc; }.geo-marquee div { display:flex; width:max-content; animation:geo-scroll 32s linear infinite reverse; }.geo-marquee span { flex:none; padding-right:30px; white-space:nowrap; font:300 clamp(56px,10vw,168px)/1 Poppins,sans-serif; letter-spacing:-.06em; }.faq-layout { display:flex; gap:clamp(32px,5vw,80px); margin-top:56px; }.faq-layout h2 { flex:1 1 280px; }.faq-list { flex:2 1 520px; }.faq-list details { border-top:1px solid #39404a; padding:22px 0; }.faq-list details:last-child { border-bottom:1px solid #39404a; }.faq-list summary { display:flex; gap:16px; list-style:none; cursor:pointer; font:300 clamp(22px,2.2vw,32px)/1.1 Poppins,sans-serif; }.faq-list summary::after { content:'+'; margin-left:auto; color:#d25245; transition:transform .35s ease; }.faq-list details[open] summary::after { transform:rotate(45deg); }.faq-list details>div { display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1); }.faq-list details[open]>div { grid-template-rows:1fr; }.faq-list details>div>p { min-height:0; margin:0; overflow:hidden; padding-top:0; color:#aab3bc; font-size:clamp(16px,1.3vw,19px); line-height:1.5; }.faq-list details[open]>div>p { padding-top:16px; }.faq-list em,.contact-meta em { margin-left:6px; color:#d25245; font:600 10px Inter,sans-serif; letter-spacing:.1em; font-style:normal; }.contact-section { padding-top:clamp(96px,12vw,180px); }.contact-section h2 { max-width:1200px; margin:48px 0 56px; font-size:clamp(48px,9.4vw,150px); }.telegram-cta { display:flex; justify-content:space-between; align-items:center; width:min(760px,100%); box-sizing:border-box; padding:clamp(24px,3vw,40px) clamp(24px,3vw,44px); background:#f4f5f7; color:#10141b; }.telegram-cta span { font:500 clamp(24px,3vw,42px)/1 Poppins,sans-serif; }.telegram-cta small { display:block; margin-top:10px; font:600 12px Inter,sans-serif; letter-spacing:.1em; }.telegram-cta b { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:#d25245; font-size:22px; }.contact-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:72px; border-top:2px solid #39404a; padding-top:20px; }.contact-meta>* { display:grid; gap:10px; color:#f4f5f7; }.contact-meta b { color:#aab3bc; font:600 11px Inter,sans-serif; letter-spacing:.12em; text-transform:uppercase; }.contact-meta span { font:300 clamp(20px,2.2vw,32px)/1.05 Poppins,sans-serif; }.site-footer { display:flex; flex-wrap:wrap; gap:16px 32px; padding-block:28px; border-top:2px solid #39404a; color:#aab3bc; font-size:13px; }.site-footer span:nth-child(2) { margin-left:auto; }.mobile-telegram { display:none; }.looks-dialog,.stage-dialog { width:min(92vw,1100px); max-width:92vw; border:0; padding:22px; color:#f4f5f7; background:rgb(13 12 12 / .97); }.looks-dialog::backdrop,.stage-dialog::backdrop { background:rgb(0 0 0 / .76); }.looks-dialog img { display:block; width:auto; max-width:92vw; height:min(84vh,900px); max-height:84vh; margin:auto; object-fit:contain; }.looks-dialog p { margin:0 0 12px; color:#aab3bc; font:600 12px Inter,sans-serif; letter-spacing:.12em; }.dialog-close,.dialog-nav { border:0; background:#f4f5f7; color:#10141b; cursor:pointer; }.dialog-close { position:absolute; top:16px; right:16px; z-index:1; width:38px; height:38px; border-radius:50%; font-size:24px; }.dialog-nav { position:absolute; top:50%; width:42px; height:42px; border-radius:50%; transform:translateY(-50%); }.dialog-prev{left:16px}.dialog-next{right:16px}.stage-dialog { max-width:620px; }.stage-dialog h2 { margin:20px 0; font:300 40px Poppins,sans-serif; }.stage-dialog div { display:grid; min-height:min(80vh,150vw); place-content:center; gap:14px; padding:20px; background:repeating-linear-gradient(135deg,#1d2430 0 14px,#27303d 14px 28px); text-align:center; }.stage-dialog span { color:#aab3bc; overflow-wrap:anywhere; }
@keyframes geo-scroll { to { transform:translateX(-50%); } } @media (max-width:1023px) { .process-head,.faq-layout { grid-template-columns:1fr; display:grid; }.process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:40px; }.looks-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:88px; gap:10px; }.look-tile { grid-column:span 1 !important; grid-row:span 2 !important; }.look-tile:nth-child(1),.look-tile:nth-child(5){grid-row:span 3!important}.stage-card { flex-basis:72vw; }.geo-rows p { display:block; }.geo-rows b { display:block; margin-bottom:14px; }.contact-meta { grid-template-columns:1fr; margin-top:48px; }.site-footer span:nth-child(2) { margin-left:0; }.mobile-telegram { position:fixed; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); z-index:40; display:block; padding:14px 16px; background:#d25245; color:#10141b; font:600 12px Inter,sans-serif; letter-spacing:.05em; box-shadow:0 8px 24px rgb(0 0 0 / .25); }.looks-dialog { padding:12px; }.looks-dialog img { width:92vw; height:auto; max-height:84vh; object-fit:contain; } } @media (prefers-reduced-motion: reduce) { .process-line i { transform:none!important; }.geo-marquee div { display:block; width:auto; animation:none; }.geo-marquee span+span { display:none; }.look-tile img,.faq-list details>div,.faq-list summary::after { transition:none; } }
html.modal-open { overflow:hidden; }.mobile-telegram.is-hidden { transform:translateY(180%); pointer-events:none; }.mobile-telegram { transition:transform .5s ease; }.process-ready .process-steps li { opacity:.12; transform:translateY(30px); transition:opacity 1s ease,transform 1.2s cubic-bezier(.22,1,.36,1); }.process-ready .process-steps li.is-active { opacity:1; transform:none; } @media (prefers-reduced-motion: reduce) { .mobile-telegram,.process-ready .process-steps li { transition:none; } }
.reveal-ready .section-reveal { opacity:0; transform:translateY(56px); transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.22,1,.36,1); }.reveal-ready .section-reveal.is-revealed { opacity:1; transform:none; } @media (prefers-reduced-motion: reduce) { .reveal-ready .section-reveal { opacity:1; transform:none; transition:none; } }
.stage-card video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55); }.stage-dialog-player { display:block; width:min(100%,520px); max-height:80vh; margin:auto; background:#000; }
.looks-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:16px; }.looks-grid .look-tile,.looks-grid .look-tile:nth-child(n) { grid-column:span 1; grid-row:span 1; aspect-ratio:4/5; }.looks-grid .look-tile img { width:100%; height:100%; object-fit:cover; object-position:center top; } @media (max-width:1023px) { .looks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; grid-auto-rows:auto; }.looks-grid .look-tile,.looks-grid .look-tile:nth-child(n) { grid-column:span 1 !important; grid-row:span 1 !important; aspect-ratio:4/5; } } @media (max-width:420px) { .looks-grid { grid-template-columns:1fr; } }
.stage-card { aspect-ratio:4/3; background:#0d0c0c; }.stage-card img { object-fit:contain !important; object-position:center !important; background:#0d0c0c; filter:brightness(.72) !important; }.stage-card b { bottom:68px; }.stage-card strong { bottom:16px; }
@media (max-width:1023px) { .looks-dialog img { width:100% !important; max-width:100% !important; height:auto; max-height:84vh; object-fit:contain; } } @media (prefers-reduced-motion: reduce) { .geo-marquee { overflow:visible; }.geo-marquee div { display:block; width:100%; max-width:100%; }.geo-marquee span { display:block; max-width:100%; padding-right:0; white-space:normal; overflow-wrap:anywhere; }.geo-marquee span[aria-hidden="true"] { display:none; } }
.stage-card .stage-play { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:58px; height:58px; place-items:center; border:2px solid #f4f5f7; border-radius:50%; background:rgb(13 12 12 / .45); color:#f4f5f7; font:22px/1 Arial,sans-serif; pointer-events:none; transform:translate(-50%,-50%); }.stage-card b { bottom:110px; }
.geo-motion-ready .geo-row-motion { opacity:0; transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.22,1,.36,1); }.geo-motion-ready .geo-row-motion.from-left { transform:translateX(-14vw); }.geo-motion-ready .geo-row-motion.from-right { transform:translateX(14vw); }.geo-motion-ready .geo-row-motion.is-revealed { opacity:1; transform:none; }.contact-char { display:inline-block; will-change:transform,opacity; }.telegram-cta { transition:transform .1s ease; } @media (prefers-reduced-motion: reduce) { .geo-motion-ready .geo-row-motion { opacity:1; transform:none; transition:none; }.contact-char { transform:none!important; opacity:1!important; }.telegram-cta { transition:none; } }
html,body { width:100%; max-width:100%; } body { overflow-x:hidden; } main,section,footer,header { max-width:100%; min-width:0; } .hero,.contact-section { overflow-x:hidden; } .recognition__track,.stage-row { max-width:100%; overscroll-behavior-x:contain; } @supports (overflow:clip) { html,body { overflow-x:clip; }.hero,.contact-section { overflow-x:clip; } }
.geography-section { overflow-x:hidden; } @supports (overflow:clip) { .geography-section { overflow-x:clip; } }
.looks-dialog { touch-action:pan-y; }

/* Editorial system — the first screen's typography and red signal continue through the page. */
:root { --ink:#10141b; --panel:#1d2430; --paper:#f4f5f7; --muted:#9aa2af; --signal:#d25245; --line:#39404a; }
::selection { background:var(--signal); color:var(--ink); }
.section-kicker { position:relative; }
.section-kicker::before { content:''; position:absolute; top:-2px; left:0; width:84px; height:2px; background:var(--signal); }
.about, .services-section, .process-section, .looks-section, .stage-section, .geography-section, .faq-section, .contact-section { position:relative; }
.about__bio { max-width:760px; font-family:Poppins,sans-serif; font-weight:300; letter-spacing:-.025em; }
.about__facts li { position:relative; transition:color .35s ease, padding-left .35s ease, border-color .35s ease; }
.about__facts li:hover { padding-left:16px; color:var(--signal); border-color:var(--signal); }
.recognition__track article { isolation:isolate; overflow:hidden; transition:transform .55s cubic-bezier(.22,1,.36,1), filter .55s ease; }
.recognition__track article::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,transparent 48%,rgb(210 82 69 / .22)); opacity:0; transition:opacity .55s ease; }
.recognition__track article:hover { transform:translateY(-10px); filter:brightness(1.12); }
.recognition__track article:hover::after { opacity:1; }
.recognition__track article h3 { transition:transform .55s cubic-bezier(.22,1,.36,1); }
.recognition__track article:hover h3 { transform:translateX(10px); }
.featured-service { position:relative; box-shadow:inset 0 0 0 1px rgb(244 245 247 / .06); }
.featured-service::before { content:'01'; position:absolute; z-index:2; top:18px; right:22px; color:var(--paper); font:600 11px Inter,sans-serif; letter-spacing:.16em; mix-blend-mode:difference; }
.featured-service img { transition:transform .9s cubic-bezier(.22,1,.36,1), filter .6s ease !important; }
.featured-service:hover img { transform:scale(1.045); filter:saturate(.82) contrast(1.05) !important; }
.featured-service a, .services-cta, .telegram-cta { transition:transform .35s cubic-bezier(.22,1,.36,1), background-color .35s ease, color .35s ease, box-shadow .35s ease; }
.featured-service a:hover, .services-cta:hover { transform:translate(6px,-6px); background:var(--paper) !important; box-shadow:-6px 6px 0 var(--signal); }
.service-list details { transition:padding .35s ease, background .35s ease; }
.service-list details:hover, .service-list details[open] { padding-inline:16px; background:rgb(244 245 247 / .035); }
.service-list summary { transition:color .35s ease; }
.service-list details:hover summary, .service-list details[open] summary { color:var(--signal); }
.process-section { background:linear-gradient(115deg,#10141b 0%,#10141b 70%,#171d25 100%); }
.process-steps li { position:relative; }
.process-steps li::before { content:''; position:absolute; top:0; left:0; width:0; height:2px; background:var(--signal); transition:width .7s cubic-bezier(.22,1,.36,1); }
.process-steps li.is-active::before, .process-steps li:hover::before { width:100%; }
.process-steps b { transition:color .35s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.process-steps li:hover b { color:var(--signal); transform:translateX(8px); }
.looks-section { background:radial-gradient(circle at 86% 10%,#26303b 0,transparent 32%),#171d25; }
.look-tile::after { content:attr(data-look); position:absolute; right:12px; bottom:10px; z-index:1; color:var(--paper); font:600 10px Inter,sans-serif; letter-spacing:.16em; opacity:0; transform:translateY(8px); transition:opacity .35s ease,transform .35s ease; }
.look-tile:hover::after, .look-tile:focus-visible::after { opacity:1; transform:none; }
.look-tile:hover img, .look-tile:focus-visible img { transform:scale(1.06); }
.stage-card { transition:transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease; }
.stage-card img { transition:transform .7s cubic-bezier(.22,1,.36,1), filter .45s ease !important; }
.stage-card:hover, .stage-card:focus-visible { transform:translateY(-10px); box-shadow:0 18px 40px rgb(0 0 0 / .26); }
.stage-card:hover img, .stage-card:focus-visible img { transform:scale(1.04); filter:brightness(.92) !important; }
.stage-card .stage-play { transition:transform .45s cubic-bezier(.22,1,.36,1), background-color .35s ease; }
.stage-card:hover .stage-play, .stage-card:focus-visible .stage-play { transform:translate(-50%,-50%) scale(1.12); background:var(--signal); }
.confidentiality-section::after { content:'PRIVATE'; position:absolute; bottom:6%; left:4%; color:rgb(244 245 247 / .16); font:600 10px Inter,sans-serif; letter-spacing:.3em; }
.geo-rows p { transition:padding .4s cubic-bezier(.22,1,.36,1), border-color .4s ease, color .4s ease; }
.geo-rows p:hover { padding-left:18px; border-color:var(--signal); color:var(--signal); }
.faq-list details { transition:background .35s ease, padding-inline .35s ease; }
.faq-list details:hover, .faq-list details[open] { padding-inline:14px; background:rgb(244 245 247 / .035); }
.telegram-cta:hover, .telegram-cta:focus-visible { transform:translate(8px,-8px) !important; box-shadow:-8px 8px 0 var(--signal); }
.telegram-cta:hover b, .telegram-cta:focus-visible b { transform:rotate(45deg); }
.telegram-cta b { transition:transform .4s cubic-bezier(.22,1,.36,1); }
.contact-meta a { transition:color .3s ease, transform .3s ease; }
.contact-meta a:hover { color:var(--signal); transform:translateX(8px); }
.site-footer a { transition:color .25s ease; }.site-footer a:hover { color:var(--paper); }
@media (prefers-reduced-motion: reduce) {
  .about__facts li,.recognition__track article,.recognition__track article h3,.featured-service img,.featured-service a,.services-cta,.telegram-cta,.service-list details,.service-list summary,.process-steps li::before,.process-steps b,.look-tile::after,.stage-card,.stage-card img,.stage-card .stage-play,.geo-rows p,.faq-list details,.telegram-cta b,.contact-meta a { transition:none !important; }
  .recognition__track article:hover,.stage-card:hover,.featured-service:hover img,.featured-service a:hover,.services-cta:hover,.telegram-cta:hover,.contact-meta a:hover { transform:none !important; }
}
/* Keep the hero as the single oversized typographic moment. */
.manifesto__line { font-size:clamp(42px,5vw,64px); }
.recognition__head h2, .services-section h2 { font-size:clamp(42px,5vw,72px); }
.process-head h2, .faq-layout h2 { font-size:clamp(38px,4.5vw,64px); }
.looks-section h2, .stage-section h2 { font-size:clamp(44px,5.6vw,78px); }
.contact-section h2 { font-size:clamp(44px,6.8vw,104px); }
.geo-rows span { font-size:clamp(32px,4vw,62px); }
.geo-marquee span { font-size:clamp(42px,6vw,96px); }
@media (max-width:1023px) {
  .recognition__track article:hover { transform:none; }
  .featured-service:hover img { transform:none; }
  .stage-card:hover { transform:none; }
}

/* Section labels stay, but the decorative rules above them are removed. */
.section-kicker, .recognition__head { border-top:0 !important; padding-top:0; }
.section-kicker::before { display:none; }

/* Recognition follows the Services rhythm and keeps its cards inside the grid. */
.recognition { padding-inline:clamp(20px,4vw,56px); }
.recognition__head { display:grid; grid-template-columns:1fr auto; gap:16px 20px; margin:0 0 44px; }
.recognition__head > span:first-child { grid-column:1; grid-row:1; }
.recognition__head > span:last-child { grid-column:2; grid-row:1; color:var(--muted); }
.recognition__head h2 { grid-column:1 / -1; grid-row:2; margin:0; }
.recognition__track { padding-inline:0; }

/* Process: no rules; the steps brighten one after another as a path. */
.process-line, .process-steps li::before { display:none; }
.process-path-ready .process-steps li { opacity:.6; transform:none; filter:saturate(.7); transition:opacity .55s ease, filter .55s ease; }
.process-path-ready .process-steps li.is-path-active { opacity:1; filter:none; }
@media (prefers-reduced-motion: reduce) {
  .process-path-ready .process-steps li { opacity:1; filter:none; transition:none; }
}

/* Looks is a curated horizontal edit rather than a wall of ten images. */
.looks-grid { display:flex; gap:16px; overflow-x:auto; padding:0 0 14px; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; }
.looks-grid::-webkit-scrollbar { display:none; }
.looks-grid .look-tile, .looks-grid .look-tile:nth-child(n) { flex:0 0 30%; aspect-ratio:4 / 5; scroll-snap-align:start; }
.looks-grid:active { cursor:grabbing; }
@media (max-width:1023px) {
  .looks-grid { gap:12px; margin-right:calc(clamp(20px,4vw,56px) * -1); padding-right:clamp(20px,4vw,56px); }
  .looks-grid .look-tile, .looks-grid .look-tile:nth-child(n) { flex-basis:min(76vw,360px); }
}

/* Fill stage cards with the preview image instead of letterboxing vertical video. */
.stage-card img { object-fit:cover !important; }

/* Contact details use the same editorial grid as the rest of the page. */
.contact-meta { grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(24px,4vw,56px); row-gap:24px; align-items:start; }
.contact-meta > * { grid-column:span 4; min-width:0; align-content:start; }
@media (max-width:1023px) {
  .contact-meta { grid-template-columns:1fr; }
  .contact-meta > * { grid-column:auto; }
}

/* Persistent navigation: anchors land below the fixed header. */
html { scroll-behavior:smooth; }
section[id] { scroll-margin-top:100px; }
.header { position:fixed; z-index:50; transition:background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.header.is-scrolled { background:transparent; box-shadow:none; backdrop-filter:none; }
.header.is-scrolled::before { content:''; position:absolute; z-index:-1; inset:-40px -80px -16px; background:rgb(16 20 27 / .9); box-shadow:0 8px 24px rgb(0 0 0 / .16); backdrop-filter:blur(14px); }
@media (max-width:880px) {
  section[id] { scroll-margin-top:76px; }
  .header.is-scrolled::before { inset:calc(-1 * max(16px, env(safe-area-inset-top))) -20px -12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.header { transition:none; } }

@media (min-width:881px) { .menu { display:none; } }

/* Desktop header: the 32px-high controls sit in equal 24px top and bottom space. */
@media (min-width:881px) {
  .header {
    top:0;
    left:0;
    right:0;
    display:flex;
    height:80px;
    padding:24px 80px;
    align-items:center;
  }
  .wordmark,
  .nav,
  .header__right {
    position:static;
  }
  .wordmark { flex:none; }
  .nav { margin-left:80px; }
  .header__right { margin-left:auto; }
  .header.is-scrolled::before { inset:0; }
}

/* Hero service cards are short, legible links into the full service section. */
.service-card { cursor:pointer; }
.service-card h2 { max-width:150px; }
.service-card:hover, .service-card:focus-visible { background:#27303d; outline:0; }
@media (max-width:880px) { .service-card h2 { max-width:calc(100% - 38px); } }

.header-telegram { display:grid; height:32px; margin-left:24px; place-items:center; padding:0 12px; border:1px solid rgb(244 245 247 / .32); color:var(--paper); font:600 11px/1 Inter,sans-serif; letter-spacing:.04em; transition:background-color .25s ease, border-color .25s ease, color .25s ease; }
.header-telegram:hover, .header-telegram:focus-visible { border-color:var(--signal); background:var(--signal); color:var(--ink); }
@media (max-width:430px) { .header-telegram { padding-inline:8px; font-size:10px; } }

/* Keep every service title at the same scale as the featured service. */
.services-section .service-list summary { font:300 clamp(34px,3.5vw,54px)/.98 Poppins,sans-serif; letter-spacing:-.035em; }
@media (max-width:1023px) { .services-section .service-list summary { font-size:clamp(32px,8vw,38px); } }

.services-section .service-list p { max-width:800px; margin:20px 0 0 94px; color:var(--paper); font:500 18px/1.5 Inter,sans-serif; }
@media (max-width:1023px) { .services-section .service-list p { margin-left:0; } }

/* One readable text scale for service, process and FAQ descriptions. */
.featured-service p,
.services-section .service-list p,
.process-steps p,
.faq-list details > div > p { font:400 18px/1.5 Inter,sans-serif; }

.stage-card b { border-top:0; padding-top:0; }

.recognition__marquee { width:calc(100% + clamp(20px,4vw,56px) * 2); margin-right:calc(clamp(20px,4vw,56px) * -1); margin-left:calc(clamp(20px,4vw,56px) * -1); }

/* Geography ticker shares the compact Recognition ticker treatment. */
.geo-marquee { margin:56px calc(clamp(20px,4vw,56px) * -1) -40px; border-color:#2d2b2b; padding:18px 28px; color:#bab6b6; }
.geo-marquee span { padding-right:28px; font:400 18px/1.2 Inter,sans-serif; letter-spacing:normal; }

/* Recognition shows complete cards and the credential line in full. */
@media (min-width:1024px) {
  .recognition__track article { flex:0 0 calc((100% - 32px) / 3); min-width:0; }
}
.recognition__marquee { overflow:visible; white-space:normal; }
.recognition__marquee-inner { display:block; width:auto; animation:none; }
.recognition__marquee-group { display:block; padding-right:0; white-space:normal; }
.recognition__marquee-group[aria-hidden="true"] { display:none; }

.geo-marquee div { animation:geo-scroll 28s linear infinite; }

/* Recognition ticker stays on one moving line. */
.recognition__marquee { overflow:hidden; white-space:nowrap; }
.recognition__marquee-inner { display:flex; width:max-content; animation:recognition-marquee 45s linear infinite; }
.recognition__marquee-group, .recognition__marquee-group[aria-hidden="true"] { display:block; flex:none; padding-right:28px; white-space:nowrap; }
.recognition__marquee { width:100%; margin-right:0; margin-left:0; }

.recognition__marquee { padding:18px 28px; border-color:#2d2b2b; color:#bab6b6; }
.recognition__marquee-group { font:400 18px/1.2 Inter,sans-serif; letter-spacing:normal; }
.geo-marquee span { padding-right:0; }

.recognition__marquee-inner { animation:geo-scroll 28s linear infinite; }
.recognition__marquee-group, .recognition__marquee-group[aria-hidden="true"] { padding-right:0; }
.recognition__marquee { background:transparent !important; }

/* Coral is used as a quiet navigational signal across the page. */
.section-kicker span:first-child,
.manifesto__label,
.about__facts li::before,
.recognition__track b,
.stage-card b,
.geo-rows b { color:var(--signal); }
.featured-service::before { color:var(--signal); mix-blend-mode:normal; }
.process-path-ready .process-steps li.is-path-active b { color:var(--signal); }
.look-tile::after { color:var(--signal); }

.recognition__track h3 { display:-webkit-box; min-height:2.04em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

@keyframes geo-scroll-seamless { to { transform:translateX(-25%); } }
.geo-marquee div { animation-name:geo-scroll-seamless; }

/* Featured service: a landscape portrait and a compact text stack. */
.services-section .featured-service img { object-position:center 20%; }
.services-section .featured-service div { justify-content:flex-start; gap:18px; }
.services-section .featured-service p { max-width:800px; margin:0; }
.services-section .featured-service a { margin-top:8px; }

/* Alternating dark surfaces create a clear rhythm from section to section. */
:root { --surface-alt:#171d25; }
.manifesto,
.recognition,
.process-section,
.stage-section,
.geography-section,
.contact-section { background:var(--surface-alt) !important; }
.about.section-light,
.services-section.section-light,
.looks-section,
.confidentiality-section,
.faq-section,
.site-footer { background:var(--ink) !important; }
.recognition__head { background:transparent !important; }

/* A quiet portrait gives the manifesto visual weight without competing with the words. */
.manifesto__media { position:absolute; right:clamp(20px,8vw,150px); bottom:8%; width:clamp(132px,15vw,244px); margin:0; overflow:hidden; background:var(--panel); }
.manifesto__media::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgb(16 20 27 / .5),transparent 50%); pointer-events:none; }
.manifesto__media img { display:block; width:100%; aspect-ratio:3 / 4; object-fit:cover; object-position:center 18%; filter:grayscale(1) contrast(1.08); transition:transform 1s cubic-bezier(.22,1,.36,1); }
.manifesto__media:hover img { transform:scale(1.04); }
.manifesto__media figcaption { position:absolute; z-index:1; right:12px; bottom:10px; left:12px; color:var(--paper); font:600 9px/1.25 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:880px) {
  .manifesto__media { right:20px; bottom:6%; width:118px; }
}

/* Manifesto is a full visual scene, not an isolated quote. */
.manifesto__copy { z-index:2; }
.manifesto__media { top:8%; right:7%; bottom:auto; width:min(34vw,500px); height:84%; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 10%); will-change:transform,opacity; }
.manifesto__media::before { content:'STYLE / DIRECTION'; position:absolute; z-index:2; top:0; left:0; padding:12px 15px; background:var(--signal); color:var(--ink); font:600 10px/1 Inter,sans-serif; letter-spacing:.14em; }
.manifesto__media::after { background:linear-gradient(to top,rgb(16 20 27 / .84),rgb(16 20 27 / .04) 55%); }
.manifesto__media img { height:100%; aspect-ratio:auto; object-position:center 20%; filter:grayscale(.2) contrast(1.08); }
.manifesto__media figcaption { right:20px; bottom:20px; left:20px; font-size:10px; }
@media (max-width:880px) {
  .manifesto__media { top:auto; right:0; bottom:0; width:48%; height:43%; opacity:.55; }
  .manifesto__media::before { padding:8px 10px; font-size:8px; }
  .manifesto__media figcaption { right:10px; bottom:10px; left:10px; font-size:8px; }
}

.manifesto__fragments { position:absolute; z-index:1; inset:0; pointer-events:none; }
.manifesto__fragment { position:absolute; display:block; object-fit:cover; box-shadow:0 18px 46px rgb(0 0 0 / .32); will-change:transform,opacity; }
.manifesto__fragment--one { top:18%; left:7%; width:clamp(74px,8vw,142px); aspect-ratio:3 / 4; object-position:center top; }
.manifesto__fragment--two { bottom:10%; left:18%; width:clamp(88px,10vw,168px); aspect-ratio:4 / 3; object-position:center; }
.manifesto__fragment--three { top:12%; right:42%; width:clamp(64px,7vw,118px); aspect-ratio:1; object-position:center; }
.manifesto__fragment--four { top:21%; right:8%; width:clamp(72px,8vw,136px); aspect-ratio:3 / 4; object-position:center top; }
.manifesto__fragment--five { right:31%; bottom:9%; width:clamp(76px,9vw,150px); aspect-ratio:4 / 3; object-position:center; }
@media (max-width:880px) {
  .manifesto__fragment--one { top:20%; left:5%; width:68px; }
  .manifesto__fragment--two { bottom:12%; left:6%; width:82px; }
  .manifesto__fragment--three { top:9%; right:15%; width:54px; }
  .manifesto__fragment--four { top:35%; right:5%; width:62px; }
  .manifesto__fragment--five { right:33%; bottom:7%; width:72px; }
}

/* Combined manifesto and biography: one composed editorial introduction. */
.about-intro {
  min-height:0;
  padding:clamp(82px,9vw,138px) clamp(20px,4vw,64px) clamp(72px,8vw,120px);
  background:var(--surface-alt) !important;
  color:var(--paper);
  overflow:hidden;
}
.about-intro__head {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.about-intro__statement { position:relative; min-height:0; }
.about-intro .manifesto__label {
  position:static;
  display:block;
  margin:0 0 clamp(24px,3vw,42px);
  color:var(--signal);
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.18em;
}
.about-intro .manifesto__copy {
  position:static;
  width:auto;
  transform:none;
  text-align:left;
}
.about-intro .manifesto__line {
  max-width:12ch;
  white-space:normal;
  font:700 clamp(42px,5.1vw,78px)/.94 Poppins,sans-serif;
  letter-spacing:-.025em;
}
.about-intro .manifesto__line--secondary { color:var(--paper); }
.about-intro .about__bio {
  max-width:none;
  width:100%;
  margin:0 0 5px;
  color:#c9cdd3;
  font:400 clamp(16px,1.15vw,18px)/1.52 Inter,sans-serif;
  letter-spacing:0;
}
.about-intro__facts {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:clamp(30px,3vw,48px) 0 0;
  padding:0;
  list-style:none;
  counter-reset:intro-facts;
}
.about-intro__facts li {
  position:relative;
  display:flex;
  min-height:clamp(180px,18vw,260px);
  padding:clamp(22px,2.1vw,34px);
  flex-direction:column;
  justify-content:flex-end;
  gap:9px;
  overflow:hidden;
  border:1px solid rgb(244 245 247 / .13);
  background:linear-gradient(145deg,#202733 0%,#171d25 100%);
  color:var(--paper);
  counter-increment:intro-facts;
  transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s ease,background .45s ease;
}
.about-intro__facts li::before {
  content:'0' counter(intro-facts);
  position:absolute;
  top:18px;
  left:clamp(22px,2.1vw,34px);
  width:auto;
  color:var(--signal);
  font:600 10px/1 Inter,sans-serif;
  letter-spacing:.16em;
}
.about-intro__facts li::after {
  content:'↗';
  position:absolute;
  right:clamp(18px,2vw,30px);
  top:15px;
  color:var(--signal);
  font:400 20px/1 Inter,sans-serif;
  opacity:.72;
  transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.about-intro__facts li:hover {
  padding-left:clamp(22px,2.1vw,34px);
  transform:translateY(-8px);
  border-color:var(--signal);
  background:linear-gradient(145deg,#29313e 0%,#1a212b 100%);
  color:var(--paper);
}
.about-intro__facts li:hover::after { transform:translate(4px,-4px); opacity:1; }
.about-intro__facts li > span {
  display:block;
  max-width:12ch;
  font:400 clamp(25px,2.15vw,38px)/.98 Poppins,sans-serif;
  letter-spacing:-.04em;
}
.about-intro__facts small {
  display:block;
  max-width:23ch;
  color:#aeb5bf;
  font:400 12px/1.35 Inter,sans-serif;
}
@media (max-width:1023px) {
  .about-intro__head { grid-template-columns:1fr; gap:30px; }
  .about-intro__statement { min-height:0; }
  .about-intro .manifesto__line { max-width:15ch; }
  .about-intro .about__bio { max-width:60ch; }
  .about-intro__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .about-intro { padding-top:76px; padding-right:0; padding-bottom:72px; }
  .about-intro__head { padding-right:20px; }
  .about-intro .manifesto__label { margin-bottom:22px; }
  .about-intro .manifesto__line { max-width:10ch; font-size:clamp(42px,12vw,58px); }
  .about-intro__facts {
    display:flex;
    overflow-x:auto;
    gap:12px;
    margin-top:48px;
    padding:0 20px 10px 0;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .about-intro__facts::-webkit-scrollbar { display:none; }
  .about-intro__facts li { flex:0 0 min(72vw,320px); min-height:210px; scroll-snap-align:start; }
}

/* The footer is already in its two-column mobile layout below 900px.
   The consultation CTA spans both columns and fills the content width. */
@media (max-width:900px) {
  .footer-links .telegram-cta {
    grid-column:1 / -1;
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
}

/* Keep the Stage index visually paired with its title on every breakpoint. */
.stage-card b { bottom:68px; }
.stage-card strong { bottom:20px; }

/* Recognition mobile rail: preserve the same visible page gutter at rest. */
@media (max-width:620px) {
  .recognition__track {
    padding-left:20px !important;
  }

  .footer-links .telegram-cta {
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
}

/* Keep the statement editorial and legible: words stay intact. */
.about-intro .manifesto__line {
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.about-intro .manifesto__line--primary {
  max-width:20ch;
  white-space:pre-line;
  font-size:clamp(42px,4.3vw,68px);
}
.about-intro .manifesto__line { font-size:clamp(42px,4.3vw,68px); }

/* The credentials read as simple solid blocks, without a card outline. */
.about-intro__facts li {
  min-height:clamp(132px,12vw,176px);
  padding:clamp(20px,2vw,30px);
  justify-content:flex-end;
  border:0;
  background:var(--signal);
  color:var(--ink);
}
.about-intro__facts li::before,
.about-intro__facts li::after { content:none; }
.about-intro__facts li:hover {
  padding-left:clamp(20px,2vw,30px);
  border:0;
  background:#df6255;
  transform:translateY(-5px);
}
.about-intro__facts small { display:none; }
.about-intro__facts li > span {
  max-width:none;
  color:var(--ink);
  font:400 clamp(22px,1.82vw,33px)/.98 Poppins,sans-serif;
  letter-spacing:-.04em;
}
.fact-icon {
  position:absolute;
  top:clamp(20px,2vw,30px);
  left:clamp(20px,2vw,30px);
  width:32px;
  height:32px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.6;
}
@media (max-width:620px) {
  .about-intro__facts li { min-height:150px; }
}

/* Recognition becomes an editorial carousel: title, context, controls, then work. */
.recognition {
  padding:clamp(80px,9vw,136px) 0 clamp(84px,9vw,132px) !important;
  background:var(--ink) !important;
}
.recognition__stage { display:block !important; height:auto !important; overflow:visible !important; }
.recognition__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin:0 0 clamp(44px,5vw,72px) !important;
  padding:0 clamp(20px,4vw,64px);
  background:transparent !important;
}
.recognition__intro { max-width:590px; }
.recognition__intro > span {
  display:block;
  margin-bottom:clamp(22px,2.5vw,36px);
  color:var(--signal);
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.18em;
}
.recognition__head h2 {
  margin:0;
  color:var(--paper);
  font:400 clamp(46px,5.1vw,76px)/.95 Poppins,sans-serif;
  letter-spacing:-.055em;
}
.recognition__intro p {
  max-width:38ch;
  margin:22px 0 0;
  color:#c9cdd3;
  font:400 clamp(16px,1.15vw,18px)/1.52 Inter,sans-serif;
  letter-spacing:0;
}
.recognition__controls { display:flex; gap:12px; padding-bottom:3px; }
.recognition__controls button {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--paper);
  transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s ease;
}
.recognition__controls button + button { background:var(--signal); }
.recognition__controls button img { width:44px; height:44px; }
.recognition__controls button:hover { transform:translateY(-3px); filter:brightness(1.08); }
.recognition__track {
  gap:20px;
  width:auto;
  margin-inline:clamp(20px,4vw,64px);
  padding:0 0 12px;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.recognition__track::-webkit-scrollbar { display:none; }
.recognition__track article {
  flex:0 0 calc((100% - 48px) / 3.25) !important;
  min-height:clamp(410px,34vw,580px);
  padding:clamp(24px,2.2vw,34px);
  justify-content:flex-end;
  border:0;
  border-radius:0;
  background-color:#202733;
  background-position:center;
  scroll-snap-align:start;
}
.recognition__track article::after { background:linear-gradient(135deg,transparent 55%,rgb(210 82 69 / .22)); }
.recognition__track article b {
  margin-bottom:15px;
  color:#e1e4e8;
  font:600 10px/1.25 Inter,sans-serif;
  letter-spacing:.12em;
}
.recognition__track article h3 {
  display:block;
  min-height:0;
  margin:0;
  overflow:visible;
  color:var(--paper);
  font:400 clamp(29px,2.5vw,43px)/.98 Poppins,sans-serif;
  letter-spacing:-.045em;
}
.recognition__track article:not(.recognition__lead) { background-blend-mode:normal; }
.recognition__lead {
  background:linear-gradient(to top,rgb(16 20 27 / .88),rgb(210 82 69 / .2) 75%),url("./assets/recognition-01.jpg") center 34% / cover no-repeat !important;
  color:var(--paper);
}
.recognition__lead b,.recognition__lead h3 { color:var(--paper) !important; }
.recognition__lead p {
  max-width:27ch;
  margin:18px 0 0;
  color:#e1e4e8;
  font:400 16px/1.42 Inter,sans-serif;
}
.recognition__track article:hover { transform:translateY(-7px); }
.recognition__track article:hover h3 { transform:translateX(0); }
.recognition__marquee { display:none !important; }

/* Match the restrained hover language of the About cards. */
.recognition__track article { transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease; }
.recognition__track article:hover { transform:translateY(-5px); filter:none; }
.recognition__track article:hover::after { opacity:1; }
.recognition__track article p {
  max-height:0;
  margin:0;
  overflow:hidden;
  opacity:0;
  color:#e1e4e8;
  font:400 16px/1.42 Inter,sans-serif;
  transform:translateY(10px);
  transition:max-height .45s cubic-bezier(.22,1,.36,1),margin .45s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.recognition__track article:hover p,
.recognition__track article:focus-visible p {
  max-height:100px;
  margin-top:18px;
  opacity:1;
  transform:none;
}
.recognition__track article:focus-visible { outline:2px solid var(--signal); outline-offset:4px; }
@media (max-width:1023px) {
  .recognition__track article { flex-basis:min(58vw,440px) !important; min-height:480px; }
}
@media (max-width:620px) {
  .recognition__head { align-items:flex-start; gap:28px; }
  .recognition__intro p { font-size:16px; }
  .recognition__controls { gap:8px; }
  .recognition__controls button { width:44px; height:44px; font-size:24px; }
  /* Extend the scrolling rail to the viewport edges while retaining the
     page gutter before the first and after the final card. */
  .recognition__track {
    gap:12px;
    margin-inline:0;
    width:100%;
    padding:0 0 12px var(--page-gutter);
    scroll-padding-inline:0;
  }
  /* The rail's initial inset scrolls away with its contents, allowing the
     next cards to meet the viewport edge after the user swipes. */
  .recognition__track article:first-of-type {
    margin-left:0;
  }
  .recognition__track article { flex-basis:78vw !important; min-height:108vw; }
}

/* Services: editorial index, with one expanded lead service. */
.services-section {
  padding:clamp(82px,9vw,132px) 0 !important;
  background:var(--ink) !important;
  color:var(--paper) !important;
}
.services-section > h2 { display:none; }
.services-section .services__head {
  margin:0 clamp(20px,4vw,64px) 42px;
  border-top:0;
  padding-top:0;
}
.services__head > span {
  color:var(--muted);
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.16em;
}
.services__head h2 {
  margin:0;
  color:var(--paper);
  font:300 clamp(52px,8vw,112px)/.95 Poppins,sans-serif;
  letter-spacing:-.05em;
}
.services__head p {
  max-width:520px;
  margin:24px 0 0;
  color:#c8cdd2;
  font:400 18px/1.46 Inter,sans-serif;
}
.services-section .service-list {
  margin:0;
  border:0;
}
.services-section .service-row {
  margin:0;
  padding:0;
  border:0;
  border-top:1px solid #39404a;
  background:transparent;
}
.services-section .service-row:last-child { border-bottom:1px solid #39404a; }
.services-section .service-row summary {
  display:grid;
  grid-template-columns:clamp(110px,20vw,300px) minmax(0,1fr) auto;
  gap:clamp(20px,4vw,70px);
  align-items:start;
  padding:clamp(34px,4.5vw,68px) clamp(20px,8vw,180px);
  list-style:none;
  cursor:pointer;
  color:var(--paper);
}
.services-section .service-row summary::-webkit-details-marker { display:none; }
.services-section .service-row summary::after { content:none; }
.services-section .service-row summary b {
  color:var(--muted);
  font:600 12px/1 Inter,sans-serif;
  letter-spacing:.13em;
}
.services-section .service-row summary > div {
  display:grid;
  gap:14px;
}
.services-section .service-row summary span {
  color:inherit;
  font:400 clamp(36px,4.4vw,70px)/.95 Poppins,sans-serif;
  letter-spacing:-.055em;
}
.services-section .service-row summary small {
  color:#aab3bc;
  font:400 15px/1.4 Inter,sans-serif;
}
.services-section .service-row summary i {
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  color:var(--signal);
  font:300 32px/.8 Inter,sans-serif;
  font-style:normal;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.services-section .service-row[open] summary i { transform:rotate(45deg); }
.services-section .service-row__body {
  display:grid;
  grid-template-columns:clamp(110px,20vw,300px) minmax(0,760px);
  gap:clamp(20px,4vw,70px);
  padding:0 clamp(20px,8vw,180px) clamp(42px,5vw,76px);
}
.services-section .service-row__body > * { grid-column:2; }
.services-section .service-row__body > span {
  margin:0 0 10px;
  color:inherit;
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.services-section .service-row__body p {
  max-width:760px;
  margin:0;
  color:#c8cdd2;
  font:400 18px/1.46 Inter,sans-serif;
}
.services-section .service-row__body a {
  width:max-content;
  margin-top:8px;
  padding:13px 21px;
  border:1px solid currentColor;
  border-radius:999px;
  color:var(--paper);
  font:600 12px/1 Inter,sans-serif;
  letter-spacing:.11em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.services-section .service-row__body a:hover {
  background:var(--paper);
  color:var(--ink);
  transform:translateY(-2px);
}
.services-section .service-row:not(.featured-service):hover,
.services-section .service-row:not(.featured-service)[open] { background:#202733; }
.services-section .featured-service {
  display:block;
  height:auto !important;
  max-height:none !important;
  min-height:0;
  margin:0 !important;
  overflow:visible !important;
  box-shadow:none;
  border-top:0;
  background:var(--signal) !important;
  color:var(--ink) !important;
}
.services-section .featured-service::before { content:none; }
.services-section .service-row:hover,
.services-section .service-row[open] { padding-inline:0; }
.services-section .service-row:not(.featured-service):hover summary,
.services-section .service-row:not(.featured-service)[open] summary { color:var(--paper); }
.services-section .featured-service summary b,
.services-section .featured-service summary small,
.services-section .featured-service .service-row__body p { color:#222832; }
.services-section .featured-service summary i { color:var(--ink); }
.services-section .featured-service .service-row__body a { color:var(--ink); }
.services-section .featured-service .service-row__body a:hover { background:var(--ink); color:var(--paper); }
.services-section .service-inline-preview,
.service-preview { display:none !important; }

/* An expanded service is the coral focal point, including on hover. */
.services-section .service-row[open] {
  background:#d95546 !important;
  color:var(--ink) !important;
}
.services-section .service-row[open] summary,
.services-section .featured-service:hover summary { color:var(--ink) !important; }
.services-section .service-row[open] summary span,
.services-section .featured-service:hover summary span {
  color:var(--paper) !important;
}
.services-section .service-row[open] summary b,
.services-section .service-row[open] summary small,
.services-section .service-row[open] summary i,
.services-section .service-row[open] .service-row__body p { color:var(--ink) !important; }
.services-section .service-row[open] .service-row__body a {
  border-color:var(--ink);
  color:var(--ink);
}
.services-section .service-row[open] .service-row__body a:hover {
  background:var(--ink);
  color:var(--paper);
}

/* All services share one neutral resting state. */
.services-section .featured-service:not([open]) {
  background:transparent !important;
  color:var(--paper) !important;
  border-top:1px solid #39404a;
}
.services-section .featured-service:not([open]) summary b { color:var(--muted); }
.services-section .featured-service:not([open]) summary small { color:#aab3bc; }
.services-section .featured-service:not([open]) summary i { color:var(--signal); }
.services-section .service-row:not([open]):hover { background:#202733 !important; }
.services-section .service-row summary i { font-size:0; transform:none !important; }
.services-section .service-row summary i::after {
  content:'+';
  font:300 32px/.8 Inter,sans-serif;
}
.services-section .service-row[open] summary i::after { content:'−'; }

/* Compact, evenly sized resting rows. */
.services-section .service-row summary {
  min-height:148px;
  box-sizing:border-box;
  align-items:center;
  padding-block:28px;
}
.services-section .service-row summary > div { gap:7px; }
.services-section .service-row summary span {
  font-size:clamp(26px,2.25vw,36px);
  line-height:1;
}
.services-section .service-row summary small { font-size:13px; }
.services-section .service-row[open] summary {
  min-height:0;
  align-items:start;
  padding-top:26px;
  padding-bottom:10px;
}
.services-section .service-row[open] .service-row__body {
  gap:10px;
  padding-bottom:30px;
}
.services-section .service-row[open] .service-row__body > span { margin:0; }
.services-section .service-row[open] .service-row__body p { line-height:1.4; }
.services-section .service-row[open] .service-row__body a {
  margin-top:2px;
  padding:11px 17px;
}
@media (max-width:720px) {
  .services-section .service-row summary { min-height:118px; padding-block:22px; }
  .services-section .service-row summary span { font-size:clamp(24px,7vw,32px); }
  .services-section .service-row[open] summary { padding-top:22px; padding-bottom:8px; }
  .services-section .service-row[open] .service-row__body { padding-bottom:26px; }
}

/* Filled cards replace the former dividing rules. */
.services-section .service-list {
  display:grid;
  gap:10px;
  padding-inline:clamp(12px,2vw,32px);
}
.services-section .service-row,
.services-section .service-row:last-child,
.services-section .featured-service:not([open]) { border:0; }
.services-section .service-row:not([open]) { background:#171d25 !important; }
.services-section .service-row:not([open]):hover { background:#202733 !important; }
.services-section .service-row summary > div,
.services-section .featured-service > summary > div {
  padding:0;
  justify-content:initial;
}
.services-section .service-row summary small {
  letter-spacing:.025em;
  word-spacing:.1em;
}
@media (max-width:720px) {
  .services-section .service-list { gap:8px; padding-inline:12px; }
}

/* Expanded copy follows the exact same left edge as its service heading. */
.services-section .service-row__body {
  grid-template-columns:clamp(110px,20vw,300px) minmax(0,1fr);
}
.services-section .service-row__body > *,
.services-section .service-row__body p,
.services-section .service-row__body a {
  grid-column:2;
  margin-left:0 !important;
}
.services-section .service-row__body a {
  border-radius:0;
  padding:14px 18px;
}
@media (max-width:720px) {
  .services-section .service-row__body { grid-template-columns:44px minmax(0,1fr); }
}

/* One shared content axis for title, description and action. */
.services-section .service-row {
  --service-inset:clamp(20px,8vw,180px);
  --service-number-column:clamp(110px,20vw,300px);
  --service-column-gap:clamp(20px,4vw,70px);
}
.services-section .service-row summary {
  grid-template-columns:var(--service-number-column) minmax(0,1fr) auto;
  gap:var(--service-column-gap);
  padding-inline:var(--service-inset);
}
.services-section .service-row summary > div { padding:0 !important; }
.services-section .service-row__body {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:0 var(--service-inset) 30px calc(var(--service-inset) + var(--service-number-column) + var(--service-column-gap)) !important;
}
.services-section .service-row__body > *,
.services-section .service-row__body p,
.services-section .service-row__body a { grid-column:auto; }
.services-section .service-row[open] summary { padding-bottom:0; }
.services-section .service-row[open] .service-row__body { margin-top:-62px; }
@media (max-width:720px) {
  .services-section .service-row {
    --service-inset:22px;
    --service-number-column:44px;
    --service-column-gap:16px;
  }
  .services-section .service-row[open] .service-row__body { margin-top:-30px; }
}

/* Process: four editorial cards with the second step as the visual focus. */
.process-section {
  padding:clamp(82px,9vw,132px) 0 !important;
  background:#171d25 !important;
}
.process-section .process__head {
  display:block;
  margin:0 clamp(20px,4vw,64px) 48px;
  border-top:0;
  padding-top:0;
}
.process__head > span {
  color:var(--muted);
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.16em;
}
.process__head h2 {
  max-width:850px;
  margin:0;
  color:var(--paper);
  font:300 clamp(46px,6vw,88px)/.96 Poppins,sans-serif;
  letter-spacing:-.055em;
}
.process__head p {
  max-width:550px;
  margin:24px 0 0;
  color:#c8cdd2;
  font:400 18px/1.46 Inter,sans-serif;
}
.process-section .process-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end;
  gap:clamp(12px,2vw,28px);
  margin:0 clamp(20px,4vw,64px);
  padding:0;
  list-style:none;
}
.process-section .process-steps li {
  position:relative;
  display:flex;
  min-height:330px;
  padding:28px;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:#202733;
  color:var(--paper);
}
.process-section .process-steps li b {
  position:absolute;
  z-index:1;
  top:28px;
  left:28px;
  color:#8f98a4;
  font:400 clamp(38px,3.4vw,58px)/1 Poppins,sans-serif;
}
.process-section .process-steps strong {
  position:relative;
  z-index:1;
  max-width:13ch;
  font:400 clamp(25px,2.2vw,38px)/1.03 Poppins,sans-serif;
  letter-spacing:-.045em;
}
.process-section .process-steps p {
  position:relative;
  z-index:1;
  max-width:27ch;
  margin:16px 0 0;
  color:#c8cdd2;
  font:400 17px/1.42 Inter,sans-serif;
}
.process-section .process-steps li::after {
  content:'';
  position:absolute;
  inset:0;
  opacity:0;
  background:linear-gradient(to top,#171d25 7%,rgb(23 29 37 / .08) 68%);
  transition:opacity .45s ease;
}
.process-section .process-steps img {
  position:absolute;
  inset:0;
  width:100%;
  height:58%;
  object-fit:cover;
  object-position:center 16%;
  opacity:0;
  filter:none;
  transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1);
}
.process-section .process-steps li:hover,
.process-section .process-steps li:focus-within {
  min-height:405px;
  background:#d95546;
}

/* Looks carousel: a calm, layered gallery with a central active frame. */
.looks-section {
  overflow:hidden;
  padding-bottom:clamp(88px,10vw,150px) !important;
  background:#10141b !important;
}
.looks-carousel { margin-top:clamp(30px,4vw,54px); }
.looks-carousel .looks-grid {
  position:relative;
  display:block;
  height:clamp(370px,38vw,620px);
  margin:0;
  padding:0;
  overflow:visible;
  cursor:default;
}

/* Optical centring for the play triangle inside its circular control. */
.stage-card .stage-play {
  font-size:0;
}
.stage-card .stage-play::before {
  content:'';
  width:0;
  height:0;
  margin-left:3px;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-left:12px solid currentColor;
}

/* Final alignment override for the Stage play control. */
.stage-section .stage-card .stage-play {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px;
  border:0;
  background:var(--paper);
  color:var(--ink);
}
.stage-section .stage-card .stage-play::before {
  display:block;
  flex:0 0 auto;
  margin:0 0 0 4px;
  border-top-width:9px;
  border-bottom-width:9px;
  border-left-width:13px;
}

/* Confidentiality: typographic statement with a restrained media accent. */
.confidentiality-section {
  display:block;
  min-height:0;
  overflow:hidden;
  padding:60px clamp(20px,4vw,64px);
  background:#10141b;
  color:var(--paper);
}
.confidentiality-section > img { display:none; }
.confidentiality__inner {
  position:relative;
  min-height:0;
}
.confidentiality-section h2 {
  max-width:72%;
  margin:0;
  font:400 clamp(58px,9.1vw,154px)/.86 Poppins,sans-serif;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.confidentiality-section h2 > span {
  display:flex;
  align-items:center;
  gap:clamp(20px,3vw,54px);
  white-space:nowrap;
}
.confidentiality-section h2 em {
  color:var(--signal);
  font-style:normal;
}
.confidentiality__media {
  position:static;
  display:block;
  width:1.62em;
  height:.82em;
  flex:none;
  object-fit:cover;
  object-position:center 35%;
}
.confidentiality-section p {
  position:absolute;
  top:61%;
  left:76%;
  right:auto;
  width:min(19vw,330px);
  margin:0;
  color:#c8cdd2;
  font:400 clamp(17px,1.35vw,21px)/1.45 Inter,sans-serif;
}

/* Geography uses the same calm filled-card rhythm as Services, without accordions. */
.geography-section .geo-rows {
  display:grid;
  gap:10px;
  margin-top:48px;
}
.geography-section .geo-rows p,
.geography-section .geo-rows p:last-child {
  display:grid;
  grid-template-columns:clamp(110px,20vw,300px) minmax(0,1fr);
  gap:clamp(20px,4vw,70px);
  align-items:center;
  min-height:132px;
  margin:0;
  border:0 !important;
  padding:28px clamp(20px,8vw,180px);
  background:#202733;
  color:var(--paper);
  transition:background-color .35s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.geography-section .geo-rows p:hover {
  padding-left:clamp(20px,8vw,180px);
  border-color:transparent;
  background:#27303d;
  color:var(--paper);
  transform:translateY(-3px);
}
.geography-section .geo-rows b {
  min-width:0;
  color:var(--signal);
  font:600 12px/1.2 Inter,sans-serif;
  letter-spacing:.14em;
}
.geography-section .geo-rows span {
  font:300 clamp(32px,3.5vw,54px)/.98 Poppins,sans-serif;
  letter-spacing:-.05em;
}
@media (max-width:720px) {
  .geography-section .geo-rows { gap:8px; margin-top:32px; }
  .geography-section .geo-rows p,
  .geography-section .geo-rows p:last-child {
    grid-template-columns:44px minmax(0,1fr);
    gap:16px;
    min-height:108px;
    padding:24px 22px;
  }
  .geography-section .geo-rows b { display:block; margin:0; }
  .geography-section .geo-rows span { font-size:clamp(27px,7.6vw,42px); }
}

/* An answered FAQ is a clear coral card, matching the active Services state. */
.faq-section .faq-list {
  display:grid;
  gap:10px;
}
.faq-section .faq-list details,
.faq-section .faq-list details:last-child {
  margin:0;
  border:0 !important;
  border-block:0 !important;
  outline:0;
  box-shadow:none;
  padding:24px clamp(20px,3vw,36px);
  background:#202733;
  transition:background-color .35s ease, color .35s ease;
}
.faq-section .faq-list details:hover { background:#27303d; }
.faq-section .faq-list details[open] {
  background:var(--signal);
  color:var(--ink);
}
.faq-section .faq-list details[open] summary::after {
  content:'−';
  color:var(--ink);
  transform:none;
}
.faq-section .faq-list details[open] > div > p { color:var(--ink); }
@media (max-width:800px) {
  .confidentiality__inner { min-height:0; }
  .confidentiality-section h2 { max-width:none; font-size:clamp(53px,11.5vw,92px); }
  .confidentiality__media { width:1.62em; height:.82em; }
  .confidentiality-section p { top:auto; left:auto; right:0; bottom:0; width:min(42%,310px); }
}
@media (max-width:520px) {
  .confidentiality__inner { min-height:0; }
  .confidentiality-section { padding-block:40px; }
  .confidentiality-section h2 { font-size:clamp(48px,13vw,70px); }
  .confidentiality-section h2 > span { gap:12px; white-space:normal; }
  .confidentiality__media { width:1.62em; height:.82em; }
  .confidentiality-section p { position:static; width:100%; margin-top:32px; font-size:16px; }
}
.looks-carousel .looks-grid.section-reveal {
  opacity:1 !important;
  transform:none !important;
}

/* Reliable scroll track: frames stay rendered while the active one is centred. */
.looks-carousel .looks-grid {
  display:flex !important;
  align-items:center;
  gap:clamp(12px,1.5vw,24px);
  height:clamp(370px,38vw,620px);
  padding:0 calc((100% - min(29vw,460px)) / 2) 16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.looks-carousel .looks-grid::-webkit-scrollbar { display:none; }
.looks-carousel .look-tile,
.looks-carousel .looks-grid .look-tile:nth-child(n) {
  position:relative;
  top:auto;
  left:auto;
  display:block;
  flex:0 0 min(19vw,300px);
  width:auto;
  height:78%;
  opacity:1 !important;
  pointer-events:auto;
  filter:brightness(.72);
  transform:none !important;
  scroll-snap-align:center;
  transition:flex-basis .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.looks-carousel .look-tile[data-carousel-position="0"] {
  flex-basis:min(29vw,460px);
  height:100%;
  filter:none;
}
.looks-carousel .look-tile[data-carousel-position="hidden"] { opacity:1 !important; }
@media (max-width:680px) {
  .looks-carousel .looks-grid {
    height:clamp(340px,112vw,520px);
    padding-inline:13vw;
  }
  .looks-carousel .look-tile,
  .looks-carousel .looks-grid .look-tile:nth-child(n) { flex-basis:54vw; height:78%; }
  .looks-carousel .look-tile[data-carousel-position="0"] { flex-basis:74vw; height:100%; }
}
.looks-carousel .look-tile,
.looks-carousel .looks-grid .look-tile:nth-child(n) {
  position:absolute;
  top:0;
  left:50%;
  width:clamp(190px,24vw,390px);
  height:100%;
  padding:0;
  overflow:hidden;
  border:0;
  aspect-ratio:auto;
  background:#202733;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .55s ease,filter .55s ease;
  will-change:transform,opacity;
}
.looks-carousel .look-tile img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  transform:none;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.looks-carousel .look-tile[data-carousel-position="0"] {
  z-index:3;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) scale(1);
}
.looks-carousel .look-tile[data-carousel-position="-1"],
.looks-carousel .look-tile[data-carousel-position="1"] {
  z-index:2;
  opacity:.74;
  pointer-events:auto;
  filter:brightness(.72);
}
.looks-carousel .look-tile[data-carousel-position="-1"] { transform:translateX(calc(-50% - clamp(180px,21vw,350px))) scale(.8); }
.looks-carousel .look-tile[data-carousel-position="1"] { transform:translateX(calc(-50% + clamp(180px,21vw,350px))) scale(.8); }
.looks-carousel .look-tile[data-carousel-position="-2"],
.looks-carousel .look-tile[data-carousel-position="2"] {
  z-index:1;
  opacity:.38;
  filter:brightness(.55);
}
.looks-carousel .look-tile[data-carousel-position="-2"] { transform:translateX(calc(-50% - clamp(340px,40vw,650px))) scale(.62); }
.looks-carousel .look-tile[data-carousel-position="2"] { transform:translateX(calc(-50% + clamp(340px,40vw,650px))) scale(.62); }
.looks-carousel .look-tile:not([data-carousel-position]):nth-child(1) {
  z-index:3;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) scale(1);
}
.looks-carousel .look-tile:not([data-carousel-position]):nth-child(2),
.looks-carousel .look-tile:not([data-carousel-position]):nth-child(10) {
  z-index:2;
  opacity:.74;
  pointer-events:auto;
  filter:brightness(.72);
}
.looks-carousel .look-tile:not([data-carousel-position]):nth-child(2) { transform:translateX(calc(-50% + clamp(180px,21vw,350px))) scale(.8); }
.looks-carousel .look-tile:not([data-carousel-position]):nth-child(10) { transform:translateX(calc(-50% - clamp(180px,21vw,350px))) scale(.8); }
.looks-carousel .look-tile:hover img { transform:scale(1.035); }
.looks-carousel .look-tile::after { display:none; }
.looks-carousel__controls {
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}
.looks-carousel__controls button {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--paper);
  cursor:pointer;
  transition:transform .25s ease,filter .25s ease;
}
.looks-carousel__controls button + button { background:var(--signal); }
.looks-carousel__controls button img { width:44px; height:44px; }
.looks-carousel__controls button:hover { transform:translateY(-3px); filter:brightness(1.08); }
@media (max-width:680px) {
  .looks-carousel .looks-grid { height:clamp(340px,112vw,520px); }
  .looks-carousel .look-tile[data-carousel-position="-1"] { transform:translateX(calc(-50% - 42vw)) scale(.66); }
  .looks-carousel .look-tile[data-carousel-position="1"] { transform:translateX(calc(-50% + 42vw)) scale(.66); }
  .looks-carousel .look-tile[data-carousel-position="-2"],
  .looks-carousel .look-tile[data-carousel-position="2"] { opacity:0; pointer-events:none; }
}
.process-section .process-steps li:hover::after,
.process-section .process-steps li:focus-within::after {
  opacity:1;
  background:linear-gradient(to top,#d95546 7%,rgb(217 85 70 / .08) 68%);
}
.process-section .process-steps li:hover img,
.process-section .process-steps li:focus-within img { opacity:1; transform:scale(1.03); }
.process-section .process-steps li:hover b,
.process-section .process-steps li:focus-within b { color:var(--paper); }
.process-section .process-steps li:hover p,
.process-section .process-steps li:focus-within p { color:var(--paper); }
.process-section .process-steps li:nth-child(2) img { object-position:center 18%; }
.process-section .process-steps li:nth-child(3) img { object-position:center 14%; }
.process-section .process-steps li:nth-child(4) img { object-position:center 25%; }

/* Keep the grid stable: hover lifts the card without changing its layout height. */
.process-section .process-steps li:hover,
.process-section .process-steps li:focus-within {
  min-height:330px;
  transform:translateY(-6px);
  z-index:1;
}
@media (max-width:900px) {
  .process-section .process-steps li:hover,
  .process-section .process-steps li:focus-within { min-height:340px; }
}
@media (max-width:560px) {
  .process-section .process-steps li:hover,
  .process-section .process-steps li:focus-within { min-height:290px; }
}

/* Mobile About: let the statement use the full text column. */
@media (max-width:620px) {
  .about-intro {
    padding-right:20px;
  }
  .about-intro .manifesto__line,
  .about-intro .manifesto__line--primary {
    width:100%;
    max-width:none;
    text-align:left;
  }
  .about-intro .manifesto__line--secondary {
    padding-left:0;
  }
  .about-intro .manifesto__line {
    line-height:1.1;
  }
  .about-intro__facts {
    overflow-x:auto;
    overflow-y:hidden;
    touch-action:pan-x;
    overscroll-behavior-y:none;
  }
}

/* On phones, Recognition controls align with the end of the intro copy and cards stay fully readable. */
@media (max-width:620px) {
  .recognition__head {
    align-items:flex-end;
  }
  .recognition__controls {
    padding-bottom:0;
  }
  .recognition__track article,
  .recognition__track article:hover {
    transform:none;
    filter:none;
  }
  .recognition__track article p,
  .recognition__track article:hover p,
  .recognition__track article:focus-visible p {
    max-height:none;
    margin-top:18px;
    overflow:visible;
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* The About credentials are static, readable cards on touch screens. */
@media (max-width:620px) {
  .about-intro__facts {
    align-items:stretch;
  }
  .about-intro__facts li {
    height:190px !important;
    min-height:190px !important;
    padding:24px;
    justify-content:flex-end;
    overflow:hidden;
    transition:none;
    transform:none;
  }
  .about-intro__facts li > span {
    position:absolute;
    right:24px;
    bottom:44px;
    left:24px;
    z-index:1;
    display:block;
    line-height:1.05;
  }
  .about-intro__facts li:hover {
    padding:24px;
    background:var(--signal);
    color:var(--ink);
    transform:none;
  }
}
@media (max-width:900px) {
  .process-section .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-section .process-steps li { min-height:340px; }
}
@media (max-width:560px) {
  .process-section .process-steps { grid-template-columns:1fr; margin-inline:20px; }
  .process-section .process-steps li { min-height:290px; }
  .process-section .process-steps li:hover,
  .process-section .process-steps li:focus-within { min-height:348px; }
}
@media (max-width:720px) {
  .services-section .service-row summary {
    grid-template-columns:44px minmax(0,1fr) 26px;
    gap:16px;
    padding:32px 22px;
  }
  .services-section .service-row summary span { font-size:clamp(31px,9vw,48px); }
  .services-section .service-row summary small { font-size:13px; }
  .services-section .service-row__body {
    grid-template-columns:44px minmax(0,1fr);
    gap:16px;
    padding:0 22px 38px;
  }
  .services-section .service-row__body p { font-size:16px; }
}

/* Final carousel layout override: keep every photo visible in a real scroll track. */
.looks-carousel .looks-grid {
  display:flex !important;
  align-items:center;
  gap:clamp(12px,1.5vw,24px);
  height:clamp(370px,38vw,620px);
  margin:0;
  padding:0 calc((100% - min(29vw,460px)) / 2) 16px;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.looks-carousel .looks-grid::-webkit-scrollbar { display:none; }
.looks-carousel .look-tile,
.looks-carousel .looks-grid .look-tile:nth-child(n) {
  position:relative;
  top:auto;
  left:auto;
  display:block;
  flex:0 0 min(19vw,300px);
  width:auto;
  height:78%;
  opacity:1 !important;
  pointer-events:auto;
  filter:brightness(.72);
  transform:none !important;
  scroll-snap-align:center;
  transition:flex-basis .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.looks-carousel .look-tile[data-carousel-position="0"] {
  flex-basis:min(29vw,460px);
  height:100%;
  filter:none;
}
.looks-carousel .look-tile[data-carousel-position="hidden"] { opacity:1 !important; }
.looks-carousel .looks-grid.section-reveal { opacity:1 !important; transform:none !important; }
@media (max-width:680px) {
  .looks-carousel .looks-grid { height:clamp(340px,112vw,520px); padding-inline:13vw; }
  .looks-carousel .look-tile,
  .looks-carousel .looks-grid .look-tile:nth-child(n) { flex-basis:54vw; height:78%; }
  .looks-carousel .look-tile[data-carousel-position="0"] { flex-basis:74vw; height:100%; }
}

/* Layered composition: one large central image with smaller frames behind it. */
.looks-carousel .looks-grid {
  position:relative;
  display:block !important;
  height:clamp(370px,38vw,620px);
  padding:0;
  overflow:hidden !important;
}
.looks-carousel .look-tile,
.looks-carousel .looks-grid .look-tile:nth-child(n) {
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  width:clamp(150px,18vw,290px);
  height:76%;
  flex:none;
  opacity:0;
  pointer-events:none;
  filter:brightness(.7);
  transform:translate(-50%,-50%) scale(.7) !important;
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s ease,filter .5s ease;
}
.looks-carousel .look-tile[data-carousel-position="0"],
.looks-carousel .look-tile:not([data-carousel-position]):first-child {
  z-index:4;
  width:clamp(230px,28vw,450px);
  height:100%;
  opacity:1 !important;
  pointer-events:auto;
  filter:none;
  transform:translate(-50%,-50%) scale(1) !important;
}
.looks-carousel .look-tile[data-carousel-position="-1"],
.looks-carousel .look-tile[data-carousel-position="1"] {
  z-index:3;
  opacity:.82 !important;
  pointer-events:auto;
}
.looks-carousel .look-tile[data-carousel-position="-1"] { transform:translate(calc(-50% - clamp(165px,19vw,310px)),-48%) scale(.82) !important; }
.looks-carousel .look-tile[data-carousel-position="1"] { transform:translate(calc(-50% + clamp(165px,19vw,310px)),-48%) scale(.82) !important; }
.looks-carousel .look-tile[data-carousel-position="-2"],
.looks-carousel .look-tile[data-carousel-position="2"] { z-index:2; opacity:.44 !important; }
.looks-carousel .look-tile[data-carousel-position="-2"] { transform:translate(calc(-50% - clamp(300px,35vw,580px)),-46%) scale(.64) !important; }
.looks-carousel .look-tile[data-carousel-position="2"] { transform:translate(calc(-50% + clamp(300px,35vw,580px)),-46%) scale(.64) !important; }
@media (max-width:680px) {
  .looks-carousel .looks-grid { height:clamp(340px,112vw,520px); }
  .looks-carousel .look-tile,
  .looks-carousel .looks-grid .look-tile:nth-child(n) { width:44vw; height:78%; }
  .looks-carousel .look-tile[data-carousel-position="0"],
  .looks-carousel .look-tile:not([data-carousel-position]):first-child { width:70vw; height:100%; }
  .looks-carousel .look-tile[data-carousel-position="-1"] { transform:translate(calc(-50% - 34vw),-48%) scale(.72) !important; }
  .looks-carousel .look-tile[data-carousel-position="1"] { transform:translate(calc(-50% + 34vw),-48%) scale(.72) !important; }
  .looks-carousel .look-tile[data-carousel-position="-2"],
  .looks-carousel .look-tile[data-carousel-position="2"] { opacity:0 !important; }
}

/* Gallery strip: equal editorial frames with soft cropped edges. */
.looks-carousel { position:relative; }
.looks-carousel .looks-grid {
  position:relative;
  display:flex !important;
  align-items:center;
  gap:clamp(14px,1.4vw,24px);
  height:clamp(380px,33vw,540px);
  margin:0;
  padding:0 0 14px;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.looks-carousel .looks-grid::-webkit-scrollbar { display:none; }
.looks-carousel .look-tile,
.looks-carousel .looks-grid .look-tile:nth-child(n),
.looks-carousel .look-tile[data-carousel-position="0"] {
  position:relative;
  top:auto;
  left:auto;
  display:block;
  flex:0 0 clamp(245px,26vw,420px);
  width:auto;
  height:100%;
  padding:0;
  opacity:1 !important;
  pointer-events:auto;
  filter:none;
  transform:none !important;
  scroll-snap-align:center;
  transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.looks-carousel .look-tile img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.looks-carousel .look-tile:hover { transform:translateY(-6px) !important; }
.looks-carousel::before,
.looks-carousel::after {
  content:none;
}
@media (max-width:680px) {
  .looks-carousel .looks-grid { height:clamp(360px,112vw,520px); padding-inline:0; }
  .looks-carousel .look-tile,
  .looks-carousel .looks-grid .look-tile:nth-child(n),
  .looks-carousel .look-tile[data-carousel-position="0"] { flex-basis:74vw; }
}

/* Contact cards: a true two-by-two flex grid keeps both gaps identical. */
.contact-section .contact-meta {
  display:flex !important;
  height:auto !important;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:12px !important;
}
.contact-section .contact-meta > * {
  box-sizing:border-box;
  flex:0 0 calc((100% - 12px) / 2);
  height:176px;
}
@media (max-width:560px) {
  .contact-section .contact-meta > * { flex-basis:100%; height:126px; }
}

/* Section index labels are intentionally removed; headings carry the hierarchy. */
.manifesto__label,
.recognition__intro > span:first-child,
.services__head > span:first-child,
.process__head > span:first-child,
.section-kicker > span:first-child {
  display:none !important;
}

.confidentiality-section::after,
.geography-section .section-kicker,
.looks-section .section-kicker,
.stage-section .section-kicker,
.faq-section .section-kicker {
  display:none !important;
}

/* A single type scale for every section heading. */
.recognition__head h2,
.services__head h2,
.process__head h2,
.looks-section h2,
.stage-section h2,
.confidentiality-section h2,
.faq-layout h2,
.contact-section #contact-title {
  font-size:clamp(42px,5vw,72px) !important;
}
.confidentiality-section h2 { font-size:100px !important; }
.confidentiality-section h2 { line-height:.98; }
@media (max-width:720px) {
  .confidentiality-section h2 { font-size:clamp(42px,12vw,72px) !important; }
}

/* Russian copy is longer, so it uses the full mobile text column and wraps safely. */
@media (max-width:720px) {
  html[lang="ru"] .confidentiality-section h2 {
    max-width:100%;
    font-size:clamp(40px,10.5vw,62px) !important;
    letter-spacing:-.06em;
  }
  html[lang="ru"] .confidentiality-section h2 > span {
    display:block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
  }
  html[lang="ru"] .confidentiality-section h2 > span:first-child {
    display:flex;
    align-items:center;
    gap:16px;
  }
}

/* Looks uses the same title-and-controls rhythm as Recognition. */
.looks__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.looks__head h2 { margin:0 !important; }
.looks__head .looks-carousel__controls { flex:none; margin:0; }

/* Stage follows the same title-and-controls rhythm as Looks. */
.stage__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:clamp(28px,3vw,48px);
}
.stage__head h2 { margin:0 !important; }
.stage-carousel__controls {
  display:flex;
  flex:none;
  gap:12px;
}
.stage-carousel__controls button {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--paper);
  cursor:pointer;
}
.stage-carousel__controls button + button { background:var(--signal); }
.stage-carousel__controls img { width:44px; height:44px; }
@media (max-width:620px) {
  .stage__head { gap:12px; }
  .stage-carousel__controls { gap:8px; }
}

/* Keep the confidential-work image clearly separate from the headline on phones. */
@media (max-width:720px) {
  .confidentiality-section h2 > span:first-child { gap:20px; }
  .confidentiality__media { margin-left:6px; }
}

/* Mobile hero: a single header row, a deliberate title break and usable service controls. */
@media (max-width:880px) {
  .header {
    display:flex;
    align-items:center;
    height:32px;
  }
  .header .wordmark,
  .header .header__right { position:static; }
  .header__right {
    flex:none;
    margin-left:auto;
    gap:8px;
  }
  .header .header-telegram { margin-left:4px; }
  .header .menu { margin-left:6px; }
  .header .nav.is-open {
    right:0;
    left:auto;
  }
  .introduction h1 {
    width:max-content;
    max-width:calc(100vw - 40px);
    overflow-wrap:normal;
  }
  .introduction h1 .hero-stylist {
    display:block;
    color:inherit !important;
    white-space:nowrap;
  }
  .service-controls {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:10px;
    padding-left:0;
  }
}

/* Hero cards pass behind the portrait instead of over the head. */
@media (min-width:881px) {
  .hero__portrait { z-index:2; pointer-events:none; }
  .services {
    z-index:1;
    left:calc(100% - 900px);
    width:900px;
    /* Cards disappear only after entering the portrait area. */
    clip-path:inset(0 0 0 160px);
  }
  .service-track { padding-left:548px; }
  .service-controls { padding-left:736px; }
  .introduction,
  .header,
  .trust,
  .consultation { z-index:3; }
}


/* One continuous first-screen surface, with a consistent editorial interval. */
.about-intro,
.recognition,
.services-section,
.process-section,
.looks-section,
.stage-section,
.confidentiality-section,
.geography-section,
.faq-section,
.contact-section {
  background:#10141b !important;
}

/* The introduction directly after the hero picks up the service-card surface. */
.about-intro {
  margin-top:0 !important;
  background:#1d2430 !important;
}
.about-intro,
.recognition,
.services-section,
.process-section,
.looks-section,
.stage-section,
.confidentiality-section,
.geography-section,
.faq-section,
.contact-section {
  margin-top:30px;
}
@media (max-width:720px) {
  .about-intro,
  .recognition,
  .services-section,
  .process-section,
  .looks-section,
  .stage-section,
  .confidentiality-section,
  .geography-section,
  .faq-section,
  .contact-section { margin-top:20px; }
}

/* Contact and footer form one final editorial panel. */
.contact-section {
  padding:clamp(88px,10vw,152px) clamp(20px,4vw,64px) 0 !important;
  background:var(--ink) !important;
}
.contact-shell {
  max-width:none;
  margin:0;
  padding:0;
  background:transparent;
  color:var(--paper);
}
.contact-main {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(460px,.9fr);
  gap:clamp(56px,10vw,180px);
  min-height:clamp(360px,31vw,500px);
  align-items:start;
  padding-bottom:clamp(58px,7vw,110px);
}
.contact-intro { min-width:0; }
.contact-label {
  display:block;
  margin-bottom:clamp(32px,5vw,72px);
  color:var(--signal);
  font:600 11px/1.2 Inter,sans-serif;
  letter-spacing:.16em;
}
.contact-section #contact-title {
  max-width:none;
  margin:0;
  color:var(--paper);
  white-space:nowrap;
  font:300 clamp(50px,5.7vw,96px)/.92 Poppins,sans-serif;
  letter-spacing:-.065em;
}
.contact-socials {
  display:flex;
  gap:12px;
  margin-top:clamp(36px,4vw,62px);
}
.contact-socials a {
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border-radius:50%;
  background:#202733;
  color:var(--paper);
  font:600 11px/1 Inter,sans-serif;
  letter-spacing:.04em;
  transition:background-color .3s ease, color .3s ease, transform .3s cubic-bezier(.22,1,.36,1);
}
.contact-socials a:hover,
.contact-socials a:focus-visible { background:var(--signal); color:var(--ink); transform:translateY(-4px); }
.contact-socials svg {
  width:21px;
  height:21px;
  fill:currentColor;
}
.contact-socials a[aria-label="Instagram"] svg { fill:none; stroke:currentColor; stroke-width:1.75; }
.contact-socials a[aria-label="Instagram"] .social-dot { fill:currentColor; stroke:0; }
.contact-section .contact-meta {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,176px);
  align-content:start;
  align-self:start;
  column-gap:12px;
  row-gap:12px;
  height:364px;
  margin:0;
  padding:0;
  border:0 !important;
}
.contact-section .contact-meta > * {
  display:flex;
  grid-column:auto;
  min-height:0;
  min-width:0;
  padding:24px 26px;
  flex-direction:column;
  justify-content:space-between;
  background:#202733;
  color:var(--paper);
}
.contact-section .contact-meta b,
.footer-links b {
  display:block;
  margin-bottom:18px;
  color:var(--muted);
  font:500 12px/1.2 Inter,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.contact-section .contact-meta span {
  display:block;
  color:var(--paper);
  font:400 clamp(16px,1.35vw,21px)/1.4 Inter,sans-serif;
}
.contact-section .contact-meta a { transition:color .25s ease; }
.contact-section .contact-meta a:hover { color:var(--signal); transform:none; }
.contact-shell .site-footer {
  display:block;
  width:100dvw;
  max-width:none;
  margin-inline:calc(50% - 50dvw);
  margin-block:0;
  padding:clamp(42px,5vw,72px) clamp(20px,4vw,64px) 24px;
  box-sizing:border-box;
  border:0;
  background:#1d2430 !important;
  color:var(--paper);
}
.footer-links {
  display:grid;
  grid-template-columns:.82fr .82fr 1.05fr minmax(220px,1.15fr);
  gap:clamp(26px,4vw,64px);
  align-items:start;
}
.footer-links > div { display:grid; align-content:start; gap:12px; }
.footer-links a:not(.telegram-cta) {
  width:max-content;
  max-width:100%;
  color:var(--paper);
  font:400 15px/1.3 Inter,sans-serif;
  transition:color .25s ease;
}
.footer-links a:not(.telegram-cta):hover { color:var(--signal); }
.footer-links p {
  max-width:28ch;
  margin:0;
  color:#c8cdd2;
  font:400 15px/1.45 Inter,sans-serif;
}
.footer-links .telegram-cta {
  position:relative;
  display:grid;
  width:352px;
  justify-self:end;
  height:190px;
  min-height:190px;
  box-sizing:border-box;
  align-content:end;
  padding:0 28px 34px;
  background:var(--signal);
  color:var(--paper);
}
.footer-links .telegram-cta span {
  display:block;
  color:var(--paper);
  font:400 12px/18px Inter,sans-serif;
}
.footer-links .telegram-cta strong {
  margin-top:4px;
  color:var(--ink);
  font:700 24px/32px Inter,sans-serif;
}
.footer-links .telegram-cta b {
  position:absolute;
  right:27px;
  bottom:52px;
  display:grid;
  width:48px;
  height:48px;
  flex:none;
  margin:0;
  place-items:center;
  border-radius:50%;
  background:var(--ink) url("./assets/icons/icon-165-60.svg") center / 24px 24px no-repeat;
  color:var(--signal);
}
.footer-links .telegram-cta b img {
  display:none;
}
.footer-links .telegram-cta b::before {
  content:none;
}
.footer-links .telegram-cta:hover { background:#e56554; color:var(--ink); transform:translate(5px,-5px); box-shadow:-5px 5px 0 var(--paper); }
.footer-bottom {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
  align-items:center;
  margin-top:clamp(46px,6vw,86px);
  padding-top:22px;
  color:var(--muted);
  font:400 12px/1.3 Inter,sans-serif;
}
.footer-bottom .footer-domain { text-align:center; }
.footer-bottom a { justify-self:end; color:var(--muted); transition:color .25s ease; }
.footer-bottom a:hover { color:var(--paper); }
@media (max-width:900px) {
  .contact-main { grid-template-columns:1fr; min-height:0; gap:52px; }
  .contact-section .contact-meta { margin-top:0; }
  .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .contact-section { padding:72px 20px 24px !important; }
  .contact-shell { padding:0; }
  .contact-section #contact-title { white-space:normal; font-size:clamp(45px,13vw,68px); }
  .contact-section .contact-meta { grid-template-columns:1fr; gap:28px; margin-top:48px; }
  .contact-section .contact-meta { grid-template-rows:none; height:auto; gap:10px; margin-top:0; }
  .contact-section .contact-meta > * { min-height:126px; }
  .footer-links { grid-template-columns:1fr 1fr; gap:32px 20px; }
  .footer-links > div:nth-child(3), .footer-links .telegram-cta { grid-column:1 / -1; }
  .footer-bottom { grid-template-columns:1fr; gap:10px; margin-top:48px; }
  .footer-bottom .footer-domain, .footer-bottom a { justify-self:start; text-align:left; }
}

/* Touch layouts have no hover-only states. Content stays in its default, static form. */
@media (max-width:880px) {
  .consultation:hover b,
  .recognition__controls button:hover,
  .recognition__track article:hover,
  .recognition__track article:hover h3,
  .featured-service:hover img,
  .featured-service a:hover,
  .services-cta:hover,
  .stage-card:hover,
  .stage-card:hover img,
  .stage-card:hover .stage-play,
  .look-tile:hover img,
  .looks-carousel .look-tile:hover,
  .looks-carousel__controls button:hover,
  .geography-section .geo-rows p:hover,
  .telegram-cta:hover,
  .telegram-cta:hover b,
  .contact-meta a:hover,
  .contact-socials a:hover,
  .footer-links .telegram-cta:hover {
    transform:none !important;
    filter:none !important;
    box-shadow:none !important;
  }
  .about-intro__facts li,
  .about-intro__facts li:hover,
  .service-list details,
  .service-list details:hover,
  .faq-list details,
  .faq-list details:hover,
  .process-section .process-steps li,
  .process-section .process-steps li:hover {
    transition:none !important;
  }
  .about-intro__facts li:hover {
    padding-left:24px;
    border-color:transparent;
    background:var(--signal);
    color:var(--ink);
  }
  .service-list details:hover:not([open]) {
    padding-inline:0;
    background:transparent;
  }
  .faq-list details:hover:not([open]) { background:#202733; }
  .process-section .process-steps li:hover {
    min-height:330px;
    background:#202733;
  }
  .process-section .process-steps li:hover::after { opacity:0; }
  .process-section .process-steps li:hover img { opacity:0; transform:none; }
  .process-section .process-steps li:hover b { color:#8f98a4; transform:none; }
  .process-section .process-steps li:hover p { color:#c8cdd2; }
  .look-tile:hover::after { opacity:0; transform:translateY(8px); }
}

/* Keep persistent navigation above every scrolling card and image layer. */
.header {
  z-index:1000 !important;
  isolation:isolate;
}
.header.is-scrolled {
  background:rgb(16 20 27 / .96) !important;
  box-shadow:0 8px 24px rgb(0 0 0 / .16) !important;
  backdrop-filter:blur(14px);
}
@media (min-width:881px) {
  .header.is-scrolled::before { display:none; }
}

/* One consistent section-heading scale; the hero title remains its own display treatment. */
.about-intro .manifesto__line,
.recognition__head h2,
.services__head h2,
.process__head h2,
.looks-section h2,
.stage-section h2,
.confidentiality-section h2,
.faq-layout h2,
.contact-section #contact-title {
  font:400 clamp(46px,5.1vw,76px)/.95 Poppins,sans-serif !important;
  letter-spacing:-.055em !important;
}

/* Desktop service rows: bring the copy closer to the numbering, while keeping a
   floating image preview tied to the pointer. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
  .services-section .service-row {
    --service-inset:clamp(32px,5vw,96px);
    --service-number-column:clamp(72px,10vw,160px);
    --service-column-gap:clamp(20px,2vw,40px);
  }
  .services-section .service-inline-preview { display:none !important; }
  .service-preview {
    display:block !important;
    z-index:900;
    width:256px;
    height:302px;
    border:0;
    box-shadow:0 20px 46px rgb(0 0 0 / .35);
    opacity:0;
    transform:translate3d(0,8px,0);
    transition:opacity .2s ease,transform .2s ease;
  }
  .service-preview.is-visible {
    opacity:1 !important;
    transform:translate3d(0,0,0);
  }
  .service-preview img { display:block; width:100%; height:100%; object-fit:cover; }
}

/* Stage is fully visible on desktop; its carousel controls are mobile-only. */
@media (min-width:881px) {
  .stage-carousel__controls { display:none !important; }
  .stage-card b { bottom:82px; }
  .stage-card strong {
    bottom:20px;
    white-space:nowrap;
    font-size:clamp(24px,2.3vw,38px);
  }
}

@media (min-width:721px) {
  .geography-section .geo-rows p,
  .geography-section .geo-rows p:last-child {
    grid-template-columns:clamp(96px,17vw,270px) minmax(0,1fr);
    gap:clamp(18px,3vw,56px);
  }
}

/* FAQ answers ease open as one motion instead of switching state abruptly. */
@media (min-width:881px) {
  .faq-section .faq-list details {
    transition:background-color .62s ease, color .62s ease, padding .76s cubic-bezier(.16,1,.3,1);
  }
  .faq-section .faq-list details > div {
    transition:grid-template-rows .82s cubic-bezier(.16,1,.3,1);
  }
  .faq-section .faq-list details > div > p {
    opacity:0;
    transform:translateY(-14px);
    transition:padding-top .82s cubic-bezier(.16,1,.3,1), opacity .42s ease, transform .66s cubic-bezier(.16,1,.3,1), color .55s ease;
  }
  .faq-section .faq-list details[open] > div > p {
    opacity:1;
    transform:none;
    transition-delay:0s,.16s,.16s,0s;
  }
  .faq-section .faq-list summary::after { transition:transform .58s cubic-bezier(.16,1,.3,1), color .45s ease; }
}

/* A portrait anchors the final invitation beneath its headline. */
.contact-intro::after {
  content:'';
  display:block;
  width:min(100%,460px);
  aspect-ratio:16 / 9;
  margin-top:clamp(22px,2vw,32px);
  background:url('./assets/about-vitalii.jpg') center 28% / cover no-repeat;
}
@media (max-width:900px) {
  .contact-intro::after { width:min(100%,560px); }
}
@media (max-width:560px) {
  .contact-intro::after { margin-top:28px; aspect-ratio:4 / 3; background-position:center top; }
}

/* Mobile header controls keep generous, separate tap targets. */
@media (max-width:880px) {
  .header { height:44px; }
  .header__right { gap:4px; height:44px; }
  .header .language {
    display:grid;
    width:32px;
    height:44px;
    place-items:center;
    padding:0;
  }
  .header .header-telegram {
    height:44px;
    margin-left:10px;
    padding-inline:12px;
  }
  .header .menu {
    width:40px;
    height:44px;
    margin-left:10px;
    place-items:center;
  }
}
@media (max-width:360px) {
  .header .language { width:26px; }
  .header .header-telegram { margin-left:6px; padding-inline:8px; }
  .header .menu { width:36px; margin-left:6px; }
}

/* The mobile credentials carousel intentionally meets both viewport edges. */
@media (max-width:620px) {
  .about-intro__facts {
    margin-right:-20px;
    margin-left:calc(-1 * clamp(20px,4vw,64px));
    padding:0 20px 10px 20px;
    scroll-padding-inline:20px;
  }
}

/* On desktop, the contact cards sit beneath the invitation while the portrait
   balances the composition on the right. */
@media (min-width:901px) {
  .contact-main {
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    grid-template-rows:auto auto;
    row-gap:32px;
    min-height:0;
  }
  .contact-intro { grid-column:1; grid-row:1; }
  .contact-intro::after { display:none; }
  .contact-main::before {
    content:'';
    grid-column:2;
    grid-row:1 / span 2;
    align-self:stretch;
    width:min(100%,460px);
    height:auto;
    justify-self:end;
    background:url('./assets/about-vitalii.jpg') center top / cover no-repeat;
  }
  .contact-section .contact-meta {
    grid-column:1;
    grid-row:2;
    grid-template-rows:repeat(2,max-content);
    height:auto;
    margin:0;
  }
  .contact-section .contact-meta > * {
    height:auto !important;
    padding:12px 22px;
  }
  .contact-section .contact-meta > * {
    justify-content:flex-start;
    gap:10px;
  }
}

/* One mobile content grid: every regular section shares the same side gutter.
   Full-bleed media and horizontal rails opt out deliberately in their own rules. */
@media (max-width:620px) {
  :root { --page-gutter:20px; }

  .header { left:var(--page-gutter); right:var(--page-gutter); }
  .introduction,
  .trust { left:var(--page-gutter); }
  .introduction { width:calc(100% - (var(--page-gutter) * 2)); }
  .consultation { padding-inline:var(--page-gutter); }

  .about-intro,
  .looks-section,
  .stage-section,
  .geography-section,
  .faq-section,
  .contact-section,
  .site-footer {
    padding-inline:var(--page-gutter) !important;
  }

  .recognition__head,
  .services-section .services__head {
    margin-left:var(--page-gutter);
    margin-right:var(--page-gutter);
  }
  .recognition__head { padding-inline:var(--page-gutter); }

  /* Process owns its own full-width background, so its inner wrappers — not
     the section — carry the shared gutter exactly once. */
  .process-section .process__head,
  .process-section .process-steps {
    margin-left:var(--page-gutter);
    margin-right:var(--page-gutter);
  }

  /* Services already span the viewport; their card list gets the same single
     gutter as the section headings instead of stacking two inner offsets. */
  .services-section .service-list {
    padding-inline:var(--page-gutter) !important;
  }
}

/* Final mobile footer sizing override — it comes after the desktop CTA width. */
@media (max-width:900px) {
  .contact-shell .site-footer .footer-links {
    width:100%;
    min-width:0;
  }
  .contact-shell .site-footer .footer-links .telegram-cta {
    grid-column:1 / -1;
    width:100% !important;
    min-width:0;
    max-width:none;
    justify-self:stretch;
  }
}

/* Tighter mobile rhythm: reduce the space after each content block by 40px. */
@media (max-width:880px) {
  .about-intro {
    padding-bottom:max(32px,calc(clamp(72px,8vw,120px) - 40px)) !important;
  }
  .recognition {
    padding-bottom:max(44px,calc(clamp(84px,9vw,132px) - 40px)) !important;
  }
  .services-section,
  .process-section {
    padding-bottom:max(42px,calc(clamp(82px,9vw,132px) - 40px)) !important;
  }
  .looks-section,
  .stage-section,
  .geography-section,
  .faq-section {
    padding-bottom:max(48px,calc(clamp(88px,10vw,152px) - 40px)) !important;
  }
}

