/* SFox Miltech / Junction. Open brackets frame one grounded connection. */
:root { --junction:#ff642e; --motion-short:180ms; --motion-curve:cubic-bezier(.22,.7,.22,1); }
.button,.text-link,.nav-brief,.brief-discuss {
 --connector-width:64px; --connector-color:var(--orange); --connector-rest:.36;
 --bracket-edge:#737e68; --bracket-weight:2px; --bracket-width:24px; --bracket-cut:12px;
 --action-face:#1d241b; --action-key-opacity:.7;
 display:inline-flex; position:relative; align-items:center; justify-content:flex-start;
 gap:16px; min-height:72px; padding:16px 28px; border:0 !important; border-radius:0;
 background:linear-gradient(90deg,#1d241b66,var(--action-face),#1d241b66) !important; color:var(--white); text-align:left; text-decoration:none;
 box-shadow:none; isolation:isolate; cursor:pointer; width:fit-content; max-width:100%;
 -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.button::before,.button::after,.text-link::before,.text-link::after,.nav-brief::before,.nav-brief::after,.brief-discuss::before,.brief-discuss::after {
 content:''; position:absolute; top:0; bottom:0; width:var(--bracket-width); pointer-events:none;
 background:var(--bracket-edge); transition:background-color 170ms var(--motion-curve);
 clip-path:polygon(var(--bracket-cut) 0,100% 0,100% var(--bracket-weight),calc(var(--bracket-cut) + 1px) var(--bracket-weight),var(--bracket-weight) calc(var(--bracket-cut) + 1px),var(--bracket-weight) calc(100% - var(--bracket-cut) - 1px),calc(var(--bracket-cut) + 1px) calc(100% - var(--bracket-weight)),100% calc(100% - var(--bracket-weight)),100% 100%,var(--bracket-cut) 100%,0 calc(100% - var(--bracket-cut)),0 var(--bracket-cut));
}
.button::before,.text-link::before,.nav-brief::before,.brief-discuss::before { left:0; }
.button::after,.text-link::after,.nav-brief::after,.brief-discuss::after { right:0; transform:rotate(180deg); }
.action-accent { position:absolute; pointer-events:none; left:0; top:calc(50% - 11px); width:3px; height:22px; background:var(--orange); opacity:var(--action-key-opacity); transition:opacity 170ms var(--motion-curve); }
.action-label { display:block; min-width:0; font:600 17px/1.4 Manrope,Arial,sans-serif; transition:color 160ms; transform:none !important; }
.action-connector { display:block; width:var(--connector-width,64px); height:auto; aspect-ratio:68/36; flex:0 0 var(--connector-width,64px); overflow:visible; color:var(--connector-color,var(--orange)); }
.connection-track,.connection-progress { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:miter; stroke-linecap:butt; vector-effect:non-scaling-stroke; }
.connection-track { opacity:var(--connector-rest,.36); }
.connection-progress { stroke-dasharray:100; stroke-dashoffset:100; transition:stroke-dashoffset 240ms var(--motion-curve); }
.connection-origin { fill:currentColor; }
.connection-destination { fill:currentColor; fill-opacity:0; stroke:currentColor; stroke-width:1.8; vector-effect:non-scaling-stroke; transition:fill-opacity 120ms 70ms,stroke 160ms; }
.button.primary .action-label { font-size:19px; }
.button.primary .connection-track,.button.primary .connection-progress { stroke-width:2; }
.button.secondary { --connector-color:#a6afa0; --connector-rest:.3; }
.text-link,.brief-discuss { --connector-width:49px; --connector-color:#a6afa0; --connector-rest:.3; --bracket-edge:#626d58; gap:12px; min-height:64px; padding:13px 26px; }
.text-link .action-label,.brief-discuss .action-label { font-size:16px; font-weight:500; }
.nav-brief { --connector-width:42px; --bracket-width:18px; --bracket-cut:9px; min-height:48px; gap:10px; padding:10px 20px; }
.nav-brief .action-accent { height:16px; top:calc(50% - 8px); }
.nav-brief .action-label { font-size:14px; }
.button:focus-visible,.text-link:focus-visible,.nav-brief:focus-visible,.brief-discuss:focus-visible { --bracket-edge:var(--orange); --action-key-opacity:1; outline:2px solid var(--orange); outline-offset:5px; }
:is(.button,.text-link,.nav-brief,.brief-discuss):focus-visible .connection-progress { stroke-dashoffset:32; }
@media(hover:hover) {
 :is(.button,.text-link,.nav-brief,.brief-discuss):not(:disabled):not([aria-disabled=true]):hover { --connector-color:var(--orange); --bracket-edge:#a9b69c; --action-key-opacity:1; color:var(--white); }
 :is(.button,.text-link,.nav-brief,.brief-discuss):not(:disabled):not([aria-disabled=true]):hover .connection-progress { stroke-dashoffset:32; }
}
:is(.button,.text-link,.nav-brief,.brief-discuss):is(:active,.is-pressing,.is-connected):not(:disabled):not([aria-disabled=true]) { --connector-color:var(--orange); --bracket-edge:var(--orange); --action-key-opacity:1; }
:is(.button,.text-link,.nav-brief,.brief-discuss):is(:active,.is-pressing,.is-connected):not(:disabled):not([aria-disabled=true]) .connection-progress { stroke-dashoffset:0; transition-duration:140ms; }
:is(.button,.text-link,.nav-brief,.brief-discuss):is(:active,.is-pressing,.is-connected):not(:disabled):not([aria-disabled=true]) .connection-destination { fill-opacity:1; }
:is(.button,.text-link,.nav-brief,.brief-discuss):is(:disabled,[aria-disabled=true]) { opacity:.38; cursor:not-allowed; }
:is(.button,.text-link,.nav-brief,.brief-discuss):is(:disabled,[aria-disabled=true]) .connection-progress { stroke-dashoffset:100; }
/* The larger location emblem remains a static network fragment. */
.local-junction .junction-route,.local-junction .junction-return { fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:butt; stroke-linejoin:miter; }
.local-junction .junction-node,.local-junction .junction-core { fill:currentColor; }
.local-junction .junction-pulse { display:none; }
.header { border-bottom:0; background:#101210f2; backdrop-filter:blur(12px); }
.header .logo img { width:48px; }
.header .logo span { font-size:44px; }
.header .desktop-nav { gap:24px; }
.header .desktop-nav a { font-size:18px; font-weight:500; padding-block:14px; transition:color 180ms; }
.header .nav-brief .action-label { font-size:18px; white-space:nowrap; }
.header .language-switcher summary { border:0; font-size:18px; padding-inline:6px; gap:7px; }
.language-switcher summary svg { width:20px; height:22px; color:var(--orange); }
.language-options { border:0; border-left:3px solid var(--orange); padding:10px 0; }
.language-options a { margin-inline:8px; }
.language-options a[aria-current=page] { color:var(--orange); background:transparent; font-weight:700; }
.menu-toggle { border:0 !important; }
.menu-toggle span { height:2px; background:var(--white); }
.menu-toggle span:last-child { width:15px; }
/* Keep the primary links visible on laptops; the contact action yields first. */
@media(min-width:901px) {
 .header .desktop-nav { display:flex; }
 .header .menu-toggle { display:none; }
 html:not(.has-navigation) .mobile-nav[hidden] { display:none; }
}
@media(max-width:900px) {
 .header .desktop-nav,.header .nav-brief { display:none; }
 .header .menu-toggle { display:flex; flex-direction:column; gap:7px; justify-content:center; align-items:flex-end; height:46px; width:46px; padding:10px; background:transparent; cursor:pointer; }
 .menu-toggle span { width:25px; }
 .menu-toggle span:last-child { width:17px; }
 .mobile-nav { position:fixed; top:var(--header-height); left:0; right:0; z-index:19; padding:20px var(--gutter) 28px; background:var(--bg); border-bottom:1px solid var(--line); max-height:calc(100svh - var(--header-height)); overflow-y:auto; }
 .mobile-nav a { display:block; padding:16px 0; font:600 clamp(38px,8vw,48px)/1.12 var(--display); text-transform:uppercase; }
 html[lang=uk] .mobile-nav a { font-size:clamp(32px,7vw,42px); }
 html:not(.has-navigation) .header .menu-toggle { display:none; }
 html:not(.has-navigation) .mobile-nav[hidden] { display:block; position:static; max-height:none; }
}
@media(max-width:760px) {
 .header .logo img { width:40px; }
 .header .logo span { font-size:36px; }
 .header .language-switcher summary { font-size:17px; }
}
@media(max-width:360px) {
 .header .logo { gap:8px; }
 .header .logo img { width:36px; }
 .header .logo span { font-size:33px; }
 .header { gap:7px; }
}
.hero .hero-actions { gap:12px 28px; }
.hero .button { padding:16px 28px; }
.hero .text-link { padding:13px 26px; }
.brief-action .button { width:fit-content; }
.brief-discuss { margin-top:10px; }
.contact-actions { gap:25px 50px; }
.experience-band { border-block:0; }
.experience-band > .text-link { max-width:380px; }
.service-card,.talent-support,.role-list,.engagement-site-link { border:0; }
.service-card { padding-top:12px; }
.service-card::before { content:''; display:block; width:42px; height:5px; margin-bottom:26px; background:var(--orange); clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%); }
.engagement-site-link { padding-top:28px; }
.role-list { padding-top:8px; }
.ops-console,.ops-console.is-enhanced { background:transparent; }
.is-enhanced .ops-select { position:relative; background:transparent; border:0; border-left:0; padding-left:28px; }
.is-enhanced .ops-select::before { content:''; position:absolute; left:0; top:50%; width:8px; height:32px; background:var(--orange); transform:translateY(-50%) skewY(-30deg) scaleY(0); transition:transform 180ms var(--motion-curve); }
.is-enhanced .ops-select[aria-expanded=true] { background:transparent; color:var(--orange); border:0; }
.ops-select[aria-expanded=true] .ops-number { color:var(--orange); }
.is-enhanced .ops-select[aria-expanded=true]::before { transform:translateY(-50%) skewY(-30deg) scaleY(1); }
.ops-indicator { display:none; }
.is-enhanced .ops-panel,.ops-panel { background:linear-gradient(140deg,#21291c55,transparent 75%); }
.ops-output { border-top:0; padding-top:26px; }
.ops-output::before { content:''; width:32px; height:3px; background:var(--orange); margin-bottom:10px; }
.mission-brief { border-top:0; position:relative; }
.mission-brief::before { content:''; position:absolute; top:0; left:0; width:80px; height:6px; background:var(--orange); clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%); }
@media(hover:hover) { .is-enhanced .ops-select:hover { background:transparent; color:var(--white); } .is-enhanced .ops-select[aria-expanded=true]:hover { color:var(--orange); } }
@media(max-width:760px) {
 .button,.text-link { --connector-width:59px; gap:12px; }
 .button.primary .action-label { font-size:18px; }
 .text-link { --connector-width:47px; }
 .hero .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
 .button,.hero .button { min-height:72px; padding:15px 23px; }
 .text-link,.brief-discuss,.hero .text-link { min-height:64px; padding:13px 23px; }
 .contact-actions { flex-direction:column; align-items:center; gap:12px; }
 .language-switcher summary { min-width:54px; }
 .brief-action .button { width:fit-content; }
}
@media(prefers-reduced-motion:reduce) {
 .action-label,.connection-track,.connection-progress,.connection-destination { transition:none !important; animation:none !important; }
 .action-accent,.button::before,.button::after,.text-link::before,.text-link::after,.nav-brief::before,.nav-brief::after,.brief-discuss::before,.brief-discuss::after { transition:none !important; }
}

/* Four planes: the field image, the headline, the identity, then the next section. */
.hero { display:block; position:relative; isolation:isolate; overflow:clip; min-height:810px; padding-bottom:90px; background:#101210; }
.hero-copy { position:relative; z-index:3; width:58%; padding:46px 0 0 var(--gutter); }
.hero h1 { font-size:clamp(82px,min(9.1vw,14svh),150px); line-height:.93; margin:34px 0 30px; transform:translate3d(0,var(--title-depth,0px),0); }
.hero-description,.hero-scope { max-width:450px; }
.hero-description { position:relative; }
.hero-scope { max-width:420px; }
.hero-image { position:absolute; z-index:1; left:36%; right:-5%; top:9%; width:auto; height:72%; margin:0; aspect-ratio:auto; background:transparent; transform:translate3d(0,var(--image-depth,0px),0); }
.hero-photo-window { inset:0; overflow:hidden; }
.hero-photo-window::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#101210 1%,#1012109c 22%,#10121000 53%),linear-gradient(0deg,#101210 0%,#10121000 30%,#10121000 86%,#10121050 100%); }
.hero-photo-window > .photo { object-position:50% 45%; transform:translate3d(0,var(--photo-depth,0px),0) scale(1.1); height:108%; max-width:none; }
.hero-signature { position:absolute; z-index:2; display:flex; align-items:center; gap:22px; right:var(--gutter); bottom:38px; pointer-events:none; transform:translate3d(0,var(--identity-depth,0px),0); }
.hero-signature img { width:68px; height:auto; opacity:.9; }
.hero-signature span { font:600 clamp(86px,11.4vw,180px)/.8 'Barlow Condensed',sans-serif; letter-spacing:.035em; color:#eeeedd; opacity:.62; }
.experience-band { position:relative; z-index:4; background:#141812; padding-top:46px; padding-bottom:46px; }
.talent-section { position:relative; z-index:4; background:var(--bg); }
.talent-photo { isolation:isolate; }
.talent-photo img { transform:translate3d(0,var(--talent-depth,0px),0) scale(1.12); }
.talent-photo::after { inset:0; width:auto; height:auto; background:linear-gradient(0deg,#101210 0%,#10121000 42%); }
.talent-copy { position:relative; z-index:2; }
@media(min-width:1101px) {
 .talent-grid { gap:42px; align-items:start; padding-bottom:55px; }
 .talent-card:nth-child(2) { margin-top:76px; }
 .talent-card:nth-child(3) { margin-top:152px; }
 .talent-photo { aspect-ratio:1.02; }
 .talent-copy { margin-top:-42px; padding-top:0; padding-left:14px; }
 .talent-copy h3 { transform:translate3d(0,var(--caption-depth,0px),0); }
 .talent-support { margin-top:20px; }
}
.site-model > figcaption { border:0; padding-bottom:38px; font-size:clamp(27px,2.5vw,38px); }
.site-relationship { grid-template-columns:minmax(180px,.86fr) minmax(70px,.40fr) minmax(0,2.6fr); gap:0; }
.local-operation { padding-top:15px; padding-bottom:35px; }
.local-junction { display:block; width:58px; height:68px; margin-bottom:32px; color:var(--orange); }
.local-junction .junction-return { opacity:.5; }
.operation-link { margin:0 -8px 0 -4px; height:140px; align-self:center; }
.operation-link svg { width:100%; height:140px; }
.operation-link path { stroke-width:3; }
.operation-link .link-track { stroke:#414b37; }
.operation-link .link-signal { stroke:var(--orange); }
.operation-link .link-terminal { fill:var(--orange); stroke:none; }
.augmented-label { padding-left:9%; }
.site-management > span { width:28px; height:16px; background:transparent; border-left:3px solid var(--orange); border-bottom:3px solid var(--orange); transform:skewY(-30deg); }
.site-management { gap:18px; }
.people-photo { overflow:hidden; }
.people-photo img { transform:translate3d(0,var(--people-depth,0px),0) scale(1.1); }
@media(min-width:761px) and (max-width:1100px) {
 .hero { min-height:800px; padding-bottom:112px; }
 .hero-copy { width:62%; padding-top:34px; }
 .hero-image { left:32%; right:-15%; top:13%; height:60%; }
 .hero-signature { bottom:30px; gap:15px; }
 .hero-signature img { width:44px; }
 .hero-signature span { font-size:104px; }
 .hero .hero-actions { flex-direction:column; align-items:flex-start; gap:0; }
 .hero-description,.hero-scope { max-width:390px; }
}
@media(max-width:760px) {
 .hero { min-height:0; padding-bottom:78px; }
 .hero-copy { width:100%; padding:25px var(--gutter) 0; }
 .hero h1 { font-size:clamp(72px,20.6vw,136px); margin:27px 0 26px; line-height:.94; }
 .hero-description,.hero-scope { max-width:560px; }
 .hero-image { position:relative; left:auto; right:auto; top:auto; width:100%; height:auto; aspect-ratio:1.36; margin:26px 0 0; transform:translate3d(0,var(--image-depth,0px),0); }
 .hero-photo-window::after { background:linear-gradient(0deg,#101210 0%,#10121000 32%,#10121000 80%,#10121080 100%); }
 .hero-photo-window > .photo { object-position:50% 48%; }
 .hero-signature { bottom:25px; right:var(--gutter); left:var(--gutter); gap:16px; }
 .hero-signature img { width:43px; }
 .hero-signature span { font-size:clamp(72px,22vw,126px); opacity:.75; }
 .talent-photo::after { background:none; }
 .local-operation { display:block; padding:0; }
 .local-junction { width:45px; height:52px; margin:0 0 22px; }
 .local-operation h3 { max-width:90%; }
 .site-relationship { grid-template-columns:minmax(0,1fr); }
 .operation-link { width:108px; height:140px; margin:16px 0 24px 20px; }
 .operation-link svg { width:140px; height:108px; transform:rotate(90deg); transform-origin:54px 54px; }
 .augmented-label { padding-left:0; }
 .site-management > span { margin-top:5px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero h1,.hero-image,.hero-signature,.hero-photo-window > .photo,.talent-photo img,.talent-copy h3,.people-photo img { transform:none !important; }
 .hero-photo-window > .photo { height:100%; }
}
@media(max-width:1100px) { .header .nav-brief { display:none; } }


.site-responsibilities article,.sites-bottom,.approach-steps li { border:0; }

/* Mask the photo and its overlays as one surface. Transparent edge pixels prevent
   an uncovered subpixel row appearing while the two parallax layers move. */
.hero-photo-window {
 isolation:isolate; background:var(--bg);
 -webkit-mask-image:linear-gradient(to bottom,transparent 0px,#000 2px,#000 calc(100% - 4px),transparent calc(100% - 1px));
 mask-image:linear-gradient(to bottom,transparent 0px,#000 2px,#000 calc(100% - 4px),transparent calc(100% - 1px));
}
