@font-face{font-family:Mozilla Headline;src:url('../fonts/mozilla-headline.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:"IRANSans FaNum";src:url('../fonts/iransans-fanum-ultralight.woff2') format('woff2');font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:"IRANSans FaNum";src:url('../fonts/iransans-fanum-light.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"IRANSans FaNum";src:url('../fonts/iransans-fanum-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IRANSans FaNum";src:url('../fonts/iransans-fanum-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--font-persian:"IRANSans FaNum",Vazirmatn,Tahoma,sans-serif;--navy:oklch(24% .055 251);--blue:oklch(48% .15 249);--source-blue:#1077d6;--hero-accent:#1786e6;--cyan:oklch(77% .115 210);--ink:oklch(24% .025 248);--muted:oklch(48% .025 248);--line:oklch(89% .015 248);--paper:oklch(98.5% .006 95);--white:#fff;--danger:oklch(52% .18 25);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--page:max(1.25rem,calc((100vw - 82rem)/2));--radius:.25rem;--shadow:0 1.5rem 4rem rgb(13 36 62 / .11)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Mozilla Headline",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
html[lang=fa] body{font-family:var(--font-persian);font-synthesis:none}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{line-height:1.08;letter-spacing:-.03em;text-wrap:balance}p{overflow-wrap:break-word;text-wrap:pretty}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:0}
html[lang=fa] select{font-family:var(--font-persian)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;inset-block-start:1rem;inset-inline-start:1rem;transform:translateY(-200%);background:var(--white);padding:.75rem 1rem}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.site-header{height:5.75rem;padding-inline:var(--page);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1.5rem,3vw,4rem);background:rgb(255 255 255 / .96);border-bottom:1px solid var(--line);position:relative;z-index:50}.brand img{width:10.25rem;height:auto}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2vw,2rem);font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.site-nav a{position:relative;padding-block:2rem}.site-nav a::after{content:"";position:absolute;inset-inline:0;inset-block-end:1.25rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:inline-start;transition:transform .2s}.site-nav a:hover::after{transform:scaleX(1)}.header-tools{display:flex;align-items:center;gap:.75rem;border-inline-start:1px solid var(--line);padding-inline-start:1.25rem}.search-link{font-size:1.65rem;line-height:1}.language-link{font-weight:750;color:var(--blue);font-size:.86rem}.menu-toggle{display:none;border:0;background:transparent;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:1.5rem;height:2px;background:var(--ink);margin:.28rem}
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 5.75rem);background:var(--navy) var(--hero) center/cover no-repeat;color:var(--white);display:flex;align-items:flex-end;overflow:hidden}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(7 26 47 / .9) 0%,rgb(7 26 47 / .64) 50%,rgb(7 26 47 / .08) 85%),linear-gradient(0deg,rgb(4 21 38 / .45),transparent 60%)}html[dir=rtl] .hero-shade{background:linear-gradient(-90deg,rgb(7 26 47 / .9),rgb(7 26 47 / .58) 52%,rgb(7 26 47 / .08) 85%)}.hero-content{padding:clamp(3rem,8vw,8rem) var(--page);max-width:58rem}.hero h1{font-size:clamp(3rem,6.4vw,6.8rem);font-weight:580;margin:0 0 1.5rem;max-width:13ch}.hero p{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:46rem;color:rgb(255 255 255 / .8);margin-bottom:2rem}.eyebrow{display:block;color:var(--cyan);font-size:.73rem;font-weight:760;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.25rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero-index{position:absolute;inset-inline-end:var(--page);inset-block-end:3rem;font-size:.78rem;letter-spacing:.15em;writing-mode:vertical-rl}.hero-index span{color:var(--cyan)}
.inner-hero{min-height:38rem}.inner-hero .hero-content{padding-block:5rem;max-width:65rem}.inner-hero h1{font-size:clamp(3rem,6vw,6rem)}.compact-hero{min-height:30rem}.section-pad{padding:clamp(4.5rem,9vw,9rem) var(--page)}.statement{display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,4fr);gap:2rem;border-bottom:1px solid var(--line)}.section-number{font-size:.76rem;color:var(--blue);font-weight:800;letter-spacing:.12em}.statement h2{font-size:clamp(2.25rem,4.2vw,4.75rem);font-weight:490;max-width:20ch;margin:0}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:0;background:var(--white)}.capability{padding:clamp(2rem,4vw,4rem);border-inline-end:1px solid var(--line);min-height:25rem;display:flex;flex-direction:column;justify-content:flex-end}.capability:last-child{border:0}.capability>span{color:var(--blue);margin-bottom:auto}.capability h2{font-size:clamp(1.75rem,3vw,3rem);font-weight:530}.capability p{color:var(--muted);max-width:28rem}
.featured{background:var(--navy);color:var(--white)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading h2{font-size:clamp(2.5rem,5vw,5rem);margin:0}.section-heading>a{color:var(--cyan);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgb(255 255 255 / .16)}.project-card{background:var(--navy);overflow:hidden}.project-card a{display:block}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.75);transition:transform .45s,filter .45s}.project-card:hover img{transform:scale(1.025);filter:saturate(1)}.project-card div{padding:1.75rem}.project-card span,.list-card span,.search-results span{color:var(--cyan);font-size:.7rem;font-weight:760;text-transform:uppercase;letter-spacing:.14em}.project-card h3{font-size:1.55rem;margin:.55rem 0}.project-card p{color:rgb(255 255 255 / .66);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cta-band{padding:clamp(4rem,8vw,8rem) var(--page);background:var(--blue);color:var(--white);display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}.cta-band .eyebrow{grid-column:1/-1;color:var(--white);opacity:.72}.cta-band h2{font-size:clamp(2.25rem,4vw,4.5rem);max-width:18ch;margin:0}
.content-shell{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,3fr);gap:3rem}.content-shell aside{display:flex;gap:2rem}.prose{max-width:60rem}.prose .lead{font-size:clamp(1.3rem,2vw,2rem);line-height:1.55;white-space:pre-line}.translation-note{border-inline-start:3px solid var(--cyan);padding:1rem 1.25rem;background:var(--white);color:var(--muted)}.listing{border-top:1px solid var(--line)}.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.list-card{background:var(--white);padding:2rem;min-height:15rem;position:relative}.list-card h3{font-size:1.6rem;margin:.8rem 3rem .8rem 0}.list-card p{color:var(--muted)}.list-card b{position:absolute;inset-block-start:2rem;inset-inline-end:2rem;color:var(--blue);font-size:1.5rem}.list-card:hover{background:oklch(97% .018 220)}.project-facts{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);padding-block:0}.project-facts>div{background:var(--white);padding:2rem}.project-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:.65rem}.project-facts dd{margin:0;font-size:1.05rem}
.content-shell .eyebrow,.listing .eyebrow{color:var(--blue)}
.form-layout{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(0,2fr);gap:clamp(3rem,8vw,8rem);align-items:start}.contact-details{position:sticky;top:8rem;display:flex;flex-direction:column;align-items:flex-start}.contact-details h1,.contact-details h2{font-size:clamp(2rem,4vw,4rem);margin:1rem 0 1.5rem}.contact-details p{color:var(--muted);max-width:28rem}.contact-details a{color:var(--blue);margin-top:.7rem}.form-card{background:var(--white);padding:clamp(1.5rem,4vw,4rem);box-shadow:var(--shadow)}.form-card h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:2rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{margin-bottom:1.25rem}.field label{display:flex;justify-content:space-between;font-size:.76rem;font-weight:760;text-transform:uppercase;letter-spacing:.09em;margin-bottom:.45rem}.field small{font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.field input,.field textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:.85rem 1rem;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:var(--blue);outline:3px solid oklch(77% .115 210 / .25)}.field span,.validation{color:var(--danger);font-size:.8rem}.success{padding:1rem;background:oklch(94% .055 160);border-inline-start:3px solid oklch(55% .13 160);margin-bottom:1.5rem}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.application-page{padding-top:6rem}.search-page{min-height:65svh}.search-page h1{font-size:clamp(3rem,7vw,7rem);margin-bottom:2rem}.search-form{display:flex;max-width:65rem;margin-bottom:3rem}.search-form input{flex:1;min-width:0;border:1px solid var(--line);padding:1rem 1.25rem;background:var(--white);font-size:1.1rem}.result-count{color:var(--muted)}.search-results{max-width:65rem;border-top:1px solid var(--line)}.search-results a{display:block;padding:2rem 0;border-bottom:1px solid var(--line)}.search-results h2{font-size:1.65rem;margin:.55rem 0}.search-results p{color:var(--muted);margin:0}
.site-footer{background:oklch(18% .04 251);color:rgb(255 255 255 / .76);padding:5rem var(--page) 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.site-footer h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--cyan)}.site-footer a{display:block;color:var(--white);margin:.5rem 0}.footer-intro img{filter:brightness(0) invert(1);margin-bottom:1.5rem}.footer-intro p{max-width:28rem}.copyright{grid-column:1/-1;border-top:1px solid rgb(255 255 255 / .12);padding-top:1.5rem;margin-top:2rem;font-size:.75rem}
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:4.75rem;grid-template-columns:1fr auto auto}.brand img{width:8.5rem}.menu-toggle{display:block;order:2}.header-tools{order:3}.site-nav{display:none;position:absolute;inset-inline:0;top:100%;background:var(--white);padding:1rem var(--page) 2rem;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-nav[data-open]{display:flex}.site-nav a{padding:.75rem 0;border-bottom:1px solid var(--line)}.hero{min-height:calc(100svh - 4.75rem)}.inner-hero{min-height:32rem}.statement,.content-shell,.form-layout{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr;padding-inline:0}.capability{min-height:18rem;border-inline-end:0;border-bottom:1px solid var(--line)}.card-grid{grid-template-columns:1fr 1fr}.project-card:last-child{grid-column:1/-1}.project-facts{grid-template-columns:1fr 1fr}.contact-details{position:static}.site-footer{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}}
@media(max-width:600px){:root{--page:1.25rem}.header-tools{padding-inline-start:.75rem}.search-link{display:none}.hero-content{padding-block:3.5rem}.hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.hero-index{display:none}.section-pad{padding-block:4rem}.statement{grid-template-columns:1fr}.statement h2{font-size:2.35rem}.card-grid,.list-grid,.field-row,.project-facts{grid-template-columns:1fr}.project-card:last-child{grid-column:auto}.section-heading{align-items:start;flex-direction:column}.cta-band{grid-template-columns:1fr;align-items:start}.content-shell aside{justify-content:space-between}.form-card{margin-inline:-.5rem}.search-form{flex-direction:column;gap:.5rem}.site-footer{grid-template-columns:1fr;gap:2rem}.footer-intro{grid-column:auto}.copyright{grid-column:auto}.project-facts{padding-inline:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card img{transition:none}}

/* Home migration foundation
   The existing public-page rules above remain intact while the WordPress Home
   structure receives its own deliberately scoped system. */
.site-header{
    height:5rem;
    position:sticky;
    inset-block-start:0;
}

/* Shared WordPress footer recovery */
.source-footer-prelude{
    position:relative;
    isolation:isolate;
    min-height:350px;
    overflow:visible;
    background:var(--navy);
    color:var(--white);
}

.source-footer-prelude__background{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.source-footer-prelude__background{
    z-index:-2;
    background-image:url("/images/footer/FooterMain-21.webp");
    background-position:left top;
    background-repeat:repeat;
    background-size:auto;
}

.source-footer-prelude__inner{
    width:min(1090px,calc(100% - (2 * var(--page))));
    height:350px;
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(20rem,383px);
    align-items:center;
    gap:clamp(3rem,8vw,8rem);
}

.source-footer-prelude__callout h2{
    max-width:12ch;
    margin:0 0 1.5rem;
    color:var(--white);
    font-size:2.5rem;
    font-weight:440;
    line-height:1.08;
}

.source-footer-prelude__callout .button{
    min-width:8.5rem;
}

.source-footer-prelude__callout svg{
    width:1.05rem;
    height:1.05rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

html[dir=rtl] .source-footer-prelude__callout svg{
    transform:scaleX(-1);
}

.source-footer-contact-card{
    min-height:425px;
    padding:clamp(2.5rem,4vw,3rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:var(--navy);
    color:var(--white);
    border-radius:.5rem;
    box-shadow:0 4px 8px rgb(4 18 32 / .24);
    transform:translateY(-2.5rem);
}

.source-footer-contact-card__phone{
    min-height:2.75rem;
    display:flex;
    align-items:center;
    color:var(--white);
    font-size:clamp(1.45rem,2.4vw,2rem);
    font-weight:560;
    line-height:1.2;
}

.source-footer-contact-card__phones{
    display:grid;
    gap:.4rem;
}

.source-footer-contact-card p{
    max-width:18rem;
    margin:2rem 0 1.25rem;
    color:rgb(255 255 255 / .76);
}

.source-footer-contact-card__email{
    min-height:2.75rem;
    display:flex;
    align-items:center;
    color:var(--white);
    font-weight:620;
    text-decoration:underline;
    text-decoration-color:var(--cyan);
    text-underline-offset:.3rem;
}

.source-footer{
    padding:7rem var(--page) 2rem;
    background:var(--white);
    color:var(--ink);
}

.source-footer__columns,
.source-footer__bottom{
    width:min(1090px,100%);
    margin-inline:auto;
}

.source-footer__columns{
    display:grid;
    grid-template-columns:minmax(18rem,1.4fr) minmax(10rem,.7fr) minmax(10rem,.7fr);
    gap:clamp(3rem,7vw,7rem);
    align-items:start;
}

.source-footer h2{
    margin:0 0 1.5rem;
    color:var(--navy);
    font-size:1rem;
    font-weight:700;
    letter-spacing:.02em;
}

.source-footer address{
    max-width:34rem;
    margin:0 0 1.25rem;
    color:var(--muted);
    font-style:normal;
    line-height:1.75;
}

.source-footer__contact>a,
.source-footer__sitemap>a{
    min-height:2.75rem;
    display:flex;
    align-items:center;
    width:max-content;
    max-width:100%;
}

.source-footer__contact>a{
    color:var(--navy);
    font-weight:560;
}

.source-footer__sitemap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.source-footer__sitemap>a{
    color:var(--muted);
}

.source-footer__sitemap>a:hover,
.source-footer__contact>a:hover{
    color:var(--source-blue);
}

.source-footer__social .button{
    min-width:9.5rem;
    justify-content:space-between;
}

.source-footer__bottom{
    margin-top:3.5rem;
    padding-top:2rem;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:2rem;
    border-top:1px solid var(--line);
}

.source-footer__bottom img{
    width:min(270px,100%);
    height:auto;
    aspect-ratio:270/114;
    object-fit:contain;
    object-position:inline-start center;
}

.source-footer__bottom p{
    margin:0;
    color:var(--muted);
    font-size:.78rem;
    text-align:end;
}

@media (max-width:900px){
    .source-footer-prelude{
        min-height:auto;
        overflow:hidden;
    }

    .source-footer-prelude__inner{
        width:auto;
        height:auto;
        padding:4rem var(--page);
        grid-template-columns:1fr;
        gap:2.5rem;
    }

    .source-footer-contact-card{
        width:100%;
        min-height:0;
        padding:2.5rem;
        transform:none;
    }

    .source-footer{
        padding-top:4rem;
    }

    .source-footer__columns{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:3rem;
    }

    .source-footer__social{
        grid-column:1/-1;
    }
}

@media (max-width:600px){
    .source-footer-prelude__inner{
        padding-block:3.5rem;
    }

    .source-footer-prelude__callout h2{
        font-size:2rem;
    }

    .source-footer-contact-card{
        padding:2rem 1.5rem;
    }

    .source-footer{
        padding-block:3.5rem 1.5rem;
    }

    .source-footer__columns{
        grid-template-columns:1fr;
        gap:2.5rem;
    }

    .source-footer__social{
        grid-column:auto;
    }

    .source-footer__bottom{
        align-items:flex-start;
        flex-direction:column;
    }

    .source-footer__bottom img{
        width:min(16.875rem,100%);
    }

    .source-footer__bottom p{
        text-align:start;
    }
}

/* Home page parity migration */
.footer-work-with-us{
    padding:clamp(3rem,7vw,6rem) var(--page);
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);
    gap:clamp(2rem,7vw,7rem);
    align-items:end;
    background:var(--blue);
    color:var(--white);
}

.footer-work-with-us>div:first-child>p{
    margin-bottom:.75rem;
    color:#e9f4fc;
    font-size:.74rem;
    font-weight:760;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.footer-work-with-us h2{
    max-width:16ch;
    margin:0 0 2rem;
    font-size:clamp(2.6rem,5vw,5.5rem);
    font-weight:520;
}

.footer-work-with-us__contact{
    padding-inline-start:clamp(1.5rem,4vw,4rem);
    border-inline-start:1px solid rgb(255 255 255 / .24);
}

.footer-work-with-us__contact>a:first-child{
    display:block;
    margin-bottom:1rem;
    font-size:clamp(1.5rem,2.4vw,2.4rem);
    font-weight:620;
}

.footer-work-with-us__contact p{
    max-width:24rem;
    color:#e9f4fc;
}

.footer-work-with-us__contact>a:last-child{
    color:var(--white);
    text-decoration:underline;
    text-decoration-color:var(--cyan);
    text-underline-offset:.3rem;
}

.site-footer.site-footer{
    grid-template-columns:minmax(16rem,1.4fr) minmax(15rem,1fr) minmax(9rem,.55fr) minmax(8rem,.45fr);
    gap:clamp(2rem,4vw,4rem);
}

.site-footer.site-footer .footer-intro{
    grid-column:auto;
}

.site-footer.site-footer .footer-intro img{
    width:clamp(11rem,15vw,14rem);
    max-width:100%;
    height:auto;
    aspect-ratio:512/281;
    object-fit:contain;
}

.site-footer.site-footer .footer-contact p{
    max-width:28rem;
}

.site-footer.site-footer .footer-social a{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
}

.home-page{
    --home-media-edge-gutter:clamp(var(--space-4),2vw,var(--space-8));
    overflow:clip;
    background:var(--paper);
}

.home-parity-shell{
    width:100%;
    padding-inline:var(--page);
}

.home-parity-section{
    padding-block:clamp(4.5rem,8vw,8rem);
}

.home-parity-kicker{
    display:flex;
    align-items:center;
    gap:.75rem;
    margin:0 0 1rem;
    color:var(--blue);
    font-size:.75rem;
    font-weight:760;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.home-parity-kicker::before{
    content:"";
    width:2.2rem;
    height:2px;
    background:var(--cyan);
}

.home-parity-lead{
    max-width:62rem;
    color:var(--muted);
    font-size:clamp(1rem,1.25vw,1.16rem);
}

.home-parity-text-link{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    min-height:2.75rem;
    margin-top:.5rem;
    color:var(--blue);
    font-size:.82rem;
    font-weight:760;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.home-parity-text-link svg,
.home-parity-path__copy svg{
    width:1.1rem;
    height:1.1rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    transition:transform .2s ease;
}

html[dir=rtl] .home-parity-text-link svg,
html[dir=rtl] .home-parity-path__copy svg{
    transform:scaleX(-1);
}

.home-parity-paths{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.25rem;
    padding-block:clamp(2rem,4vw,4rem);
    background:var(--white);
}

.home-parity-path{
    position:relative;
    min-width:0;
    aspect-ratio:3/3.05;
    overflow:hidden;
    background:var(--navy);
    color:var(--white);
}

.home-parity-path>img,
.home-parity-path__shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.home-parity-path>img{
    object-fit:cover;
    transition:transform .45s ease,filter .45s ease;
}

.home-parity-path__shade{
    background:linear-gradient(0deg,rgb(3 18 33 / .9),rgb(3 18 33 / .06) 65%);
}

.home-parity-path__copy{
    position:absolute;
    inset-inline:clamp(1.25rem,2.8vw,2.25rem);
    inset-block-end:clamp(1.25rem,2.8vw,2.25rem);
    display:grid;
    gap:.75rem;
}

.home-parity-path__copy strong{
    font-size:clamp(1.8rem,3vw,3rem);
    line-height:1;
}

.home-parity-path__copy>span{
    display:flex;
    align-items:center;
    gap:.5rem;
    color:var(--cyan);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.home-parity-about{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);
    gap:clamp(3rem,8vw,8rem);
    align-items:center;
}

.home-parity-about__copy h2,
.home-parity-offer__content h2,
.home-parity-solution__content>h2,
.home-parity-partners__heading h2{
    margin-bottom:1.5rem;
    color:var(--navy);
    font-size:clamp(2rem,3.2vw,2.75rem);
    font-weight:450;
    line-height:1.08;
}

.home-parity-solution__content>h2,
.home-parity-partners__heading h2{
    font-size:clamp(2rem,2.8vw,2.5rem);
}

.home-parity-about__copy>p:not(.home-parity-kicker){
    max-width:48rem;
    color:var(--muted);
    font-size:1.05rem;
}

.home-parity-about__media{
    position:relative;
    margin:0;
}

.home-parity-about__media>img{
    width:100%;
    aspect-ratio:3/2;
    object-fit:cover;
}

.home-parity-experience{
    position:absolute;
    inset-inline-start:-3rem;
    inset-block-end:-2.25rem;
    width:min(18rem,70%);
    padding:1.5rem;
    display:grid;
    background:var(--blue);
    color:var(--white);
    box-shadow:var(--shadow);
}

.home-parity-experience strong{
    font-size:clamp(2.2rem,4vw,4rem);
    line-height:1;
}

.home-parity-experience span{
    margin-top:.5rem;
    color:rgb(255 255 255 / .78);
}

.home-parity-statistics{
    background:var(--navy);
    color:var(--white);
}

.home-parity-statistics__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.home-parity-statistics article{
    min-width:0;
    padding:clamp(2rem,4vw,4rem);
    display:grid;
    grid-template-columns:3.5rem minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:1.5rem;
    border-inline-end:1px solid rgb(255 255 255 / .16);
}

.home-parity-statistics article:last-child{
    border-inline-end:0;
}

.home-parity-statistics .section-icon{
    grid-row:1/3;
    width:3.5rem;
    height:3.5rem;
    fill:none;
    stroke:var(--cyan);
    stroke-width:1.25;
}

.home-parity-counter{
    font-size:clamp(2.4rem,5vw,4.8rem);
    font-weight:520;
    line-height:1;
}

.home-parity-statistics p{
    margin:.55rem 0 0;
    color:rgb(255 255 255 / .68);
}

.home-parity-offer{
    display:grid;
    grid-template-columns:minmax(22rem,.72fr) minmax(0,1.28fr);
    min-height:58rem;
    background:var(--white);
}

.home-parity-offer__media{
    margin:0;
    min-height:42rem;
}

.home-parity-offer__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.home-parity-offer__content{
    min-width:0;
    padding:clamp(3rem,7vw,7rem);
    align-self:center;
}

.home-parity-industries{
    margin-top:clamp(2.5rem,5vw,4.5rem);
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--line);
}

.home-parity-industries article{
    min-width:0;
    padding:1.5rem 1.25rem 1.5rem 0;
    display:grid;
    grid-template-columns:3rem minmax(0,1fr);
    gap:1rem;
    border-bottom:1px solid var(--line);
}

html[dir=rtl] .home-parity-industries article{
    padding:1.5rem 0 1.5rem 1.25rem;
}

.home-parity-industries article:nth-child(odd){
    border-inline-end:1px solid var(--line);
}

.home-parity-industries .section-icon,
.home-parity-capability-list .section-icon{
    width:3rem;
    height:3rem;
    fill:none;
    stroke:var(--blue);
    stroke-width:1.25;
}

.home-parity-industries h3,
.home-parity-capability-list h3,
.home-parity-lifecycle h3{
    margin:0 0 .45rem;
    font-size:1.125rem;
    letter-spacing:-.02em;
    line-height:1.25;
}

.home-parity-industries p,
.home-parity-capability-list p,
.home-parity-lifecycle p{
    margin:0;
    color:var(--muted);
    font-size:.91rem;
    line-height:1.55;
}

.home-parity-lifecycle{
    overflow:hidden;
    padding-block:1px;
    background:var(--blue);
    color:var(--white);
}

.home-parity-lifecycle__track{
    width:max-content;
    display:flex;
    animation:home-parity-marquee 20s linear infinite;
}

html[dir=rtl] .home-parity-lifecycle__track{
    animation-name:home-parity-marquee-rtl;
}

.home-parity-lifecycle__track:is(:hover,:focus-within){
    animation-play-state:paused;
}

.home-parity-lifecycle__set{
    display:flex;
}

.home-parity-lifecycle article{
    position:relative;
    width:20rem;
    min-height:12rem;
    padding:1.75rem;
    display:grid;
    grid-template-columns:2.75rem minmax(0,1fr);
    align-items:center;
    gap:1rem;
    border-inline-end:1px solid rgb(255 255 255 / .24);
}

.home-parity-lifecycle .section-icon{
    width:2.75rem;
    height:2.75rem;
    fill:none;
    stroke:var(--cyan);
    stroke-width:1.25;
}

.home-parity-lifecycle h3{
    color:var(--white);
}

.home-parity-lifecycle p{
    color:#e9f4fc;
}

@keyframes home-parity-marquee{
    to{transform:translateX(-50%)}
}

@keyframes home-parity-marquee-rtl{
    to{transform:translateX(50%)}
}

.home-parity-solution{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(22rem,.82fr);
    background:var(--paper);
}

.home-parity-solution__content{
    min-width:0;
    padding:clamp(3rem,7vw,7rem);
    align-self:center;
}

.home-parity-solution__media{
    min-height:48rem;
    margin:0;
}

.home-parity-solution__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.home-parity-offer__media,
.home-parity-solution__media{
    padding-inline:var(--home-media-edge-gutter);
}

.home-parity-capability-list{
    margin-top:2.5rem;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--line);
}

.home-parity-capability-list article{
    min-width:0;
    padding:1.5rem 1.25rem 1.5rem 0;
    display:grid;
    grid-template-columns:3.5rem minmax(0,1fr);
    gap:1rem;
    border-bottom:1px solid var(--line);
}

html[dir=rtl] .home-parity-capability-list article{
    padding:1.5rem 0 1.5rem 1.25rem;
}

.home-parity-capability-list article:nth-child(odd){
    border-inline-end:1px solid var(--line);
}

.home-parity-capability-list__icon{
    width:3.5rem;
    height:3.5rem;
    display:grid;
    place-items:center;
}

.home-parity-capability-list__number{
    display:block;
    margin-bottom:.45rem;
    color:var(--blue);
    font-size:.68rem;
    font-weight:760;
    letter-spacing:.12em;
}

.home-parity-quick-links{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    background:var(--navy);
    color:var(--white);
}

.home-parity-quick-links a{
    min-height:11rem;
    padding:clamp(2rem,4vw,4rem);
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1rem;
    border-inline-end:1px solid rgb(255 255 255 / .16);
    transition:background .2s ease;
}

.home-parity-quick-links a:last-child{
    border-inline-end:0;
}

.home-parity-quick-links strong{
    font-size:clamp(1.6rem,3vw,2.7rem);
    font-weight:520;
}

.home-parity-quick-links svg{
    width:1.75rem;
    height:1.75rem;
    flex:none;
    fill:none;
    stroke:var(--cyan);
    stroke-width:1.5;
}

html[dir=rtl] .home-parity-quick-links svg{
    transform:scaleX(-1);
}

.home-parity-solution--gas{
    grid-template-columns:minmax(22rem,.82fr) minmax(0,1.18fr);
    background:var(--white);
}

.home-parity-solution--gas .home-parity-solution__media{
    min-height:54rem;
}

.home-parity-capability-list--gas article{
    grid-template-columns:4rem minmax(0,1fr);
}

.home-parity-gas-icon{
    width:4rem;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    color:var(--navy);
}

.home-parity-gas-icon img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.home-parity-partners{
    background:var(--paper);
}

.home-parity-partners__heading{
    width:min(1090px,100%);
    margin-inline:auto;
    margin-bottom:clamp(2.5rem,5vw,4rem);
    padding-block-start:clamp(var(--space-4),2vw,var(--space-8));
    display:grid;
    grid-template-columns:minmax(10rem,.35fr) minmax(0,.65fr);
    align-items:start;
    gap:clamp(var(--space-8),6vw,var(--space-24));
    border-block-start:1px solid var(--line);
}

.home-parity-partners__heading .home-parity-kicker{
    margin:0;
}

.home-parity-partners__heading h2{
    max-width:20ch;
    margin:0;
    font-size:clamp(2.25rem,3.2vw,2.75rem);
}

html[lang=fa] .home-parity-partners__heading h2{
    line-height:1.3;
}

.home-parity-partner-grid{
    width:min(1090px,100%);
    margin-inline:auto;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-auto-flow:dense;
    gap:.8rem;
}

.home-parity-partner-grid figure{
    min-width:0;
    aspect-ratio:1;
    margin:0;
    padding:clamp(1rem,2.5vw,2rem);
    display:grid;
    place-items:center;
    background:var(--white);
    border-radius:.75rem;
    box-shadow:0 2px 8px rgb(13 36 62 / .1);
}

.home-parity-partner-grid figure:first-child{
    grid-column:span 2;
    grid-row:span 2;
}

.home-parity-partner-grid figure:nth-child(10){
    grid-column:span 2;
    aspect-ratio:2/1;
}

.home-parity-partner-grid img{
    width:auto;
    height:auto;
    max-width:65%;
    max-height:65%;
    object-fit:contain;
    filter:none;
    opacity:1;
    transition:transform .2s ease;
}

.home-parity-partner-grid figure:first-child img{
    max-width:70%;
    max-height:70%;
}

.home-parity-partner-grid figure:last-child img{
    max-width:3.5rem;
    max-height:3.5rem;
}

@media (hover:hover){
    .home-parity-path:hover>img{
        transform:scale(1.035);
        filter:saturate(1.08);
    }

    .home-parity-path:hover .home-parity-path__copy svg,
    .home-parity-text-link:hover svg{
        transform:translateX(.25rem);
    }

    html[dir=rtl] .home-parity-path:hover .home-parity-path__copy svg,
    html[dir=rtl] .home-parity-text-link:hover svg{
        transform:scaleX(-1) translateX(.25rem);
    }

    .home-parity-quick-links a:hover{
        background:var(--blue);
    }

    .home-parity-partner-grid figure:hover img{
        transform:scale(1.025);
    }
}

@media (max-width:1024px){
    .site-footer.site-footer{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .site-footer.site-footer .footer-intro{
        grid-column:1/-1;
    }

    .home-parity-about{
        gap:3.5rem;
    }

    .home-parity-offer,
    .home-parity-solution,
    .home-parity-solution--gas{
        grid-template-columns:1fr 1fr;
    }

    .home-parity-offer__content,
    .home-parity-solution__content{
        padding:clamp(2.5rem,5vw,4rem);
    }

    .home-parity-industries,
    .home-parity-capability-list{
        grid-template-columns:1fr;
    }

    .home-parity-industries article:nth-child(odd),
    .home-parity-capability-list article:nth-child(odd){
        border-inline-end:0;
    }

    .home-parity-partner-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:768px){
    .home-parity-paths{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-parity-path:last-child{
        grid-column:1/-1;
        aspect-ratio:2/1;
    }

    .home-parity-about{
        grid-template-columns:1fr;
    }

    .home-parity-about__media{
        margin-inline-start:2.25rem;
    }

    .home-parity-experience{
        inset-inline-start:-2.25rem;
    }

    .home-parity-statistics__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-parity-statistics article:last-child{
        grid-column:1/-1;
        border-top:1px solid rgb(255 255 255 / .16);
    }

    .home-parity-offer,
    .home-parity-solution,
    .home-parity-solution--gas{
        grid-template-columns:1fr;
    }

    .home-parity-partners__heading{
        grid-template-columns:1fr;
        gap:var(--space-4);
    }

    .home-parity-offer__media{
        min-height:35rem;
        max-height:46rem;
    }

    .home-parity-solution__media,
    .home-parity-solution--gas .home-parity-solution__media{
        min-height:36rem;
        max-height:48rem;
    }

    .home-parity-solution--refining .home-parity-solution__media{
        order:-1;
    }

    .home-parity-capability-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-parity-capability-list article:nth-child(odd){
        border-inline-end:1px solid var(--line);
    }

    .home-parity-lifecycle{
        padding:1rem var(--page);
    }

    .home-parity-lifecycle__track{
        width:auto;
        animation:none;
    }

    .home-parity-lifecycle__set{
        width:100%;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-parity-lifecycle__set[aria-hidden=true]{
        display:none;
    }

    .home-parity-lifecycle article{
        width:auto;
        min-height:11rem;
        border-bottom:1px solid rgb(255 255 255 / .22);
    }

    .home-parity-lifecycle article:last-child{
        grid-column:1/-1;
    }

    .home-parity-quick-links{
        grid-template-columns:1fr;
    }

    .home-parity-quick-links a{
        min-height:8rem;
        border-inline-end:0;
        border-bottom:1px solid rgb(255 255 255 / .16);
    }
}

@media (max-width:600px){
    .footer-work-with-us{
        grid-template-columns:1fr;
    }

    .footer-work-with-us__contact{
        padding-inline-start:0;
        padding-block-start:2rem;
        border-inline-start:0;
        border-top:1px solid rgb(255 255 255 / .24);
    }

    .site-footer.site-footer{
        grid-template-columns:1fr;
    }

    .site-footer.site-footer .footer-intro{
        grid-column:auto;
    }

    .home-parity-paths{
        grid-template-columns:1fr;
    }

    .home-parity-path,
    .home-parity-path:last-child{
        grid-column:auto;
        aspect-ratio:4/3;
    }

    .home-parity-about__media{
        margin-inline-start:1rem;
    }

    .home-parity-experience{
        inset-inline-start:-1rem;
        inset-block-end:-1.5rem;
    }

    .home-parity-statistics article{
        padding:1.5rem 1rem;
        grid-template-columns:2.25rem minmax(0,1fr);
        gap:.75rem;
    }

    .home-parity-statistics .section-icon{
        width:2.25rem;
        height:2.25rem;
    }

    .home-parity-counter{
        font-size:2.1rem;
    }

    .home-parity-statistics p{
        font-size:.82rem;
    }

    .home-parity-offer__media{
        min-height:28rem;
    }

    .home-parity-offer__content,
    .home-parity-solution__content{
        padding:3.5rem var(--page);
    }

    .home-parity-about__copy h2,
    .home-parity-offer__content h2,
    .home-parity-solution__content>h2,
    .home-parity-partners__heading h2{
        font-size:clamp(2rem,10vw,2.75rem);
    }

    .home-page .home-parity-solution__content>h2,
    .home-page .home-parity-partners__heading h2{
        font-size:clamp(2rem,9vw,2.5rem);
    }

    .home-parity-industries{
        grid-template-columns:1fr;
    }

    .home-parity-lifecycle__set,
    .home-parity-capability-list{
        grid-template-columns:1fr;
    }

    .home-parity-lifecycle article:last-child{
        grid-column:auto;
    }

    .home-parity-capability-list article:nth-child(odd){
        border-inline-end:0;
    }

    .home-parity-solution__media,
    .home-parity-solution--gas .home-parity-solution__media{
        min-height:30rem;
    }

    .home-parity-gas-icon{
        width:2.75rem;
    }

    .home-parity-capability-list--gas article{
        grid-template-columns:2.75rem minmax(0,1fr);
    }

    .home-parity-gas-icon img{
        width:36px;
        height:36px;
    }

    .home-parity-partner-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-parity-partner-grid figure:first-child{
        grid-column:span 2;
        grid-row:span 2;
        aspect-ratio:1;
    }
}

@media (min-width:601px) and (max-width:1024px){
    .home-parity-gas-icon img{
        width:44px;
        height:44px;
    }
}

@media (prefers-reduced-motion:reduce){
    .home-parity-lifecycle__track{
        width:auto;
        animation:none;
    }

    .home-parity-lifecycle__set:first-child{
        width:100%;
        display:grid;
        grid-template-columns:repeat(5,minmax(12rem,1fr));
    }

    .home-parity-lifecycle__set[aria-hidden=true]{
        display:none;
    }

    .home-parity-lifecycle article{
        width:auto;
    }

    .home-parity-path>img,
    .home-parity-path__copy svg,
    .home-parity-text-link svg,
    .home-parity-partner-grid img{
        transition:none;
    }
}

/* WordPress source-media recovery: About, Services, Projects, and QHSE */
.about-human-source{
    position:relative;
    max-width:82rem;
    min-height:clamp(38rem,65vw,51rem);
    margin:clamp(var(--space-12),7vw,var(--space-24)) auto;
    overflow:hidden;
    background:var(--navy);
}

.about-human-source>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.about-human-source__panel{
    position:relative;
    width:min(34rem,calc(100% - 6rem));
    margin:clamp(3rem,8vw,6.5rem) 0 clamp(3rem,8vw,6.5rem) clamp(3rem,6vw,5rem);
    padding:clamp(2rem,4vw,3.5rem);
    border:1px solid rgb(255 255 255 / .12);
    border-radius:.75rem;
    background:rgb(10 17 23 / .72);
    box-shadow:0 1.5rem 3rem rgb(0 0 0 / .28);
    color:var(--white);
    backdrop-filter:blur(5px);
}

.about-human-source__panel h2{
    margin:0 0 var(--space-6);
    font-size:clamp(2.1rem,4vw,3rem);
    font-weight:420;
    text-transform:uppercase;
}

.about-human-source__panel p{
    margin:0;
    color:rgb(255 255 255 / .9);
    font-size:clamp(1rem,1.25vw,1.12rem);
    line-height:1.7;
}

.about-human-source__panel a{
    color:var(--cyan);
    text-decoration:underline;
    text-underline-offset:.18em;
}

.projects-source-feature{
    display:grid;
    grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);
    align-items:stretch;
    min-height:36rem;
    background:var(--navy);
    color:var(--white);
}

.projects-source-feature figure,
.projects-source-feature img{
    width:100%;
    height:100%;
    margin:0;
}

.projects-source-feature img{
    object-fit:cover;
}

.projects-source-feature>div{
    align-self:center;
    padding:clamp(var(--space-10),6vw,var(--space-20));
}

.projects-source-feature h2,
.projects-source-portfolios h2,
.qhse-introduction h2,
.qhse-source-section h2,
.qhse-certifications h2{
    max-width:18ch;
    margin:0 0 var(--space-6);
    font-size:clamp(2.25rem,4.5vw,4rem);
    font-weight:520;
    line-height:1.04;
}

.projects-source-feature p:last-child{
    max-width:52ch;
    color:rgb(255 255 255 / .78);
}

.projects-source-portfolios{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    background:var(--white);
}

.projects-source-portfolios>header{
    margin-bottom:var(--space-10);
}

.projects-source-portfolios>div{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-5);
}

.projects-source-portfolios article{
    position:relative;
    min-height:27rem;
    overflow:hidden;
    background:var(--navy);
    color:var(--white);
}

.projects-source-portfolios article::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgb(2 10 23 / .9),rgb(2 10 23 / .05) 70%);
}

.projects-source-portfolios img{
    width:100%;
    height:100%;
    min-height:27rem;
    object-fit:cover;
    transition:transform .35s ease;
}

.projects-source-portfolios h3{
    position:absolute;
    z-index:1;
    inset-inline:var(--space-7);
    inset-block-end:var(--space-7);
    max-width:18ch;
    margin:0;
    font-size:clamp(1.3rem,2vw,1.8rem);
}

.projects-source-portfolios article:hover img{
    transform:scale(1.025);
}

.qhse-page{
    background:oklch(97% .008 247);
}

.qhse-introduction,
.qhse-certifications{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
}

.qhse-introduction{
    max-width:88rem;
    margin-inline:auto;
    text-align:center;
}

.qhse-introduction h2{
    margin-inline:auto;
}

.qhse-introduction>p:last-child{
    max-width:68ch;
    margin:0 auto;
    color:var(--muted);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
}

.qhse-source-section{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:42rem;
    background:var(--white);
}

.qhse-source-section figure{
    min-height:34rem;
    margin:0;
    overflow:hidden;
}

.qhse-source-section img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.qhse-source-section>div{
    align-self:center;
    padding:clamp(var(--space-10),7vw,var(--space-24));
}

.qhse-source-section>div>p:not(.eyebrow){
    max-width:64ch;
    color:var(--muted);
    line-height:1.75;
}

.qhse-source-section--reverse figure{
    grid-column:2;
}

.qhse-source-section--reverse>div{
    grid-column:1;
    grid-row:1;
}

.qhse-certifications{
    background:var(--navy);
    color:var(--white);
}

.qhse-certifications>header{
    max-width:58rem;
    margin-bottom:var(--space-12);
}

.qhse-certifications>header>p:last-child{
    color:rgb(255 255 255 / .72);
}

.qhse-certificates{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:var(--space-4);
}

.qhse-certificates figure,
.qhse-standards figure{
    margin:0;
}

.qhse-certificates a{
    display:block;
    overflow:hidden;
    aspect-ratio:1/1.414;
    background:var(--white);
}

.qhse-certificates img{
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .2s ease;
}

.qhse-certificates a:is(:hover,:focus-visible) img{
    transform:scale(1.015);
}

.qhse-certificates figcaption{
    padding-top:var(--space-3);
    color:rgb(255 255 255 / .68);
    font-size:.82rem;
}

.qhse-standards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-4);
    margin-top:clamp(var(--space-10),6vw,var(--space-20));
}

.qhse-standards figure{
    display:grid;
    justify-items:center;
    gap:var(--space-4);
    padding:var(--space-6);
    border:1px solid rgb(255 255 255 / .12);
    background:rgb(255 255 255 / .05);
}

.qhse-standards img{
    width:min(100%,10rem);
    aspect-ratio:1;
    object-fit:contain;
}

.project-map__embed{
    display:block;
    border:0;
}

@media (max-width:899px){
    .about-human-source{
        min-height:0;
        margin-inline:var(--page);
    }

    .about-human-source>img{
        position:relative;
        display:block;
        aspect-ratio:3/2;
    }

    .about-human-source__panel{
        width:100%;
        margin:0;
        border:0;
        border-radius:0;
        background:var(--navy);
        box-shadow:none;
        backdrop-filter:none;
    }

    .projects-source-feature,
    .qhse-source-section{
        grid-template-columns:1fr;
        min-height:0;
    }

    .projects-source-feature figure,
    .qhse-source-section figure{
        min-height:24rem;
    }

    .qhse-source-section--reverse figure,
    .qhse-source-section--reverse>div{
        grid-column:1;
        grid-row:auto;
    }

    .projects-source-portfolios>div,
    .qhse-certificates{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .qhse-standards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:560px){
    .about-human-source{
        margin-inline:0;
    }

    .about-human-source__panel{
        padding:var(--space-8) var(--page);
    }

    .projects-source-portfolios>div,
    .qhse-certificates{
        grid-template-columns:1fr;
    }

    .projects-source-portfolios article,
    .projects-source-portfolios img{
        min-height:22rem;
    }

    .qhse-standards{
        gap:var(--space-2);
    }

    .qhse-standards figure{
        padding:var(--space-4);
    }
}

html[dir=rtl] .about-human-source__panel{
    margin-inline-start:auto;
    margin-inline-end:clamp(3rem,6vw,5rem);
}

@media (prefers-reduced-motion:reduce){
    .projects-source-portfolios img,
    .qhse-certificates img{
        transition:none;
    }
}

.brand img{
    width:6rem;
}

.site-nav{
    font-size:.875rem;
    letter-spacing:.025em;
    text-transform:none;
}

.site-nav a:is(:hover,:focus-visible,.is-active)::after{
    transform:scaleX(1);
}

.site-nav a.is-active{
    color:var(--blue);
}

.language-link{
    font-family:Tahoma,sans-serif;
}

.menu-toggle,
.search-link{
    align-items:center;
    justify-content:center;
    min-width:2.75rem;
    min-height:2.75rem;
}

.search-link{
    display:inline-flex;
}

.search-link svg{
    width:1.35rem;
    height:1.35rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.home-section{
    padding-inline:var(--page);
}

.home-section-spacious{
    padding-block:clamp(var(--space-16),8vw,var(--space-24));
}

.home-kicker{
    display:flex;
    align-items:center;
    gap:var(--space-4);
    margin-block-end:var(--space-4);
    color:var(--blue);
    font-size:.75rem;
    font-weight:760;
    letter-spacing:.15em;
    line-height:1.4;
    text-transform:uppercase;
}

.home-kicker::before{
    content:"";
    width:2.75rem;
    height:2px;
    background:currentColor;
}

.home-hero{
    position:relative;
    isolation:isolate;
    min-height:calc(100svh - 5.5rem);
    margin:var(--space-3);
    overflow:hidden;
    border-radius:.75rem;
    background:var(--navy);
    color:var(--white);
}

.home-hero-media,
.home-hero-overlay{
    position:absolute;
    inset:0;
}

.home-hero-media{
    z-index:-2;
}

.home-hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.home-hero-overlay{
    z-index:-1;
    background:
        linear-gradient(90deg,rgb(2 8 18 / .94) 0%,rgb(2 8 18 / .68) 52%,rgb(2 8 18 / .15) 100%),
        linear-gradient(0deg,rgb(2 8 18 / .72),transparent 55%);
}

.home-hero-inner{
    min-height:inherit;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(var(--space-8),7vw,var(--space-24));
}

.home-hero-copy{
    max-width:62rem;
    padding-block-start:clamp(var(--space-8),6vw,var(--space-16));
    animation:home-hero-enter .25s cubic-bezier(.22,1,.36,1) both;
}

.home-hero h1{
    margin:0;
    max-width:12ch;
    color:var(--white);
    font-size:clamp(3rem,5.6vw,5.125rem);
    font-weight:340;
    letter-spacing:-.025em;
    line-height:.98;
    text-transform:uppercase;
}

.home-hero h1 span{
    display:block;
    color:oklch(61% .18 247);
}

.home-title-rule{
    display:block;
    width:5.25rem;
    height:2px;
    margin-block:var(--space-8);
    background:linear-gradient(90deg,var(--white) 0 45%,var(--blue) 45% 100%);
}

.home-hero-intro{
    max-width:47rem;
    margin:0;
    color:rgb(255 255 255 / .86);
    font-size:1rem;
    line-height:1.75;
}

.home-commitment{
    width:min(100%,48rem);
    display:grid;
    gap:var(--space-4);
    align-items:center;
    margin-block-start:clamp(var(--space-16),12vw,var(--space-24));
    padding:var(--space-6);
    border:1px solid rgb(255 255 255 / .18);
    border-radius:.5rem;
    background:rgb(7 18 31 / .86);
    backdrop-filter:blur(.5rem);
}

.home-commitment p{
    margin:0;
    color:rgb(255 255 255 / .92);
}

.home-commitment svg{
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}

.source-language-note{
    margin:var(--space-6) var(--page) 0;
    padding:var(--space-4) var(--space-6);
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
    color:var(--ink);
    font-size:.875rem;
}

.home-paths{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-4);
    padding-block:clamp(var(--space-12),6vw,var(--space-24));
}

.home-path-card{
    position:relative;
    isolation:isolate;
    min-height:20rem;
    overflow:hidden;
    border-radius:.5rem;
    background:var(--navy);
    color:var(--white);
}

.home-path-card>img,
.home-path-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.home-path-card>img{
    z-index:-2;
    object-fit:cover;
    filter:saturate(.78);
    transition:transform .25s cubic-bezier(.22,1,.36,1),filter .25s ease;
}

.home-path-overlay{
    z-index:-1;
    background:linear-gradient(0deg,rgb(3 13 25 / .94),rgb(3 13 25 / .05) 72%);
}

.home-path-content{
    position:absolute;
    inset-inline:var(--space-6);
    inset-block-end:var(--space-6);
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:var(--space-4);
}

.home-path-content strong{
    font-size:clamp(1.75rem,3vw,2.5rem);
    font-weight:560;
    line-height:1.05;
    text-transform:uppercase;
}

.home-path-content>span{
    color:var(--cyan);
    font-size:.8125rem;
    font-weight:720;
    letter-spacing:.06em;
    white-space:nowrap;
    text-transform:uppercase;
}

.home-about{
    display:grid;
    gap:clamp(var(--space-8),5vw,var(--space-16));
    border-block-start:1px solid var(--line);
    background:var(--paper);
}

.home-about-copy{
    align-self:center;
}

.home-about-copy h2,
.home-section-heading h2,
.home-solution h2{
    scroll-margin-block-start:6rem;
    margin-block-end:var(--space-6);
    font-size:clamp(2.4rem,5vw,5.25rem);
    font-weight:470;
}

.home-about-copy>p:not(.home-kicker),
.home-section-heading>p:not(.home-kicker),
.home-solution-intro{
    max-width:70ch;
    color:var(--muted);
    font-size:1rem;
    line-height:1.7;
}

.home-text-link{
    display:inline-flex;
    align-items:center;
    min-height:2.75rem;
    margin-block-start:var(--space-4);
    color:var(--blue);
    font-size:.8125rem;
    font-weight:750;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.home-about-media{
    min-height:22rem;
    margin:0;
    overflow:hidden;
    border-radius:.5rem;
}

.home-about-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.home-evidence{
    display:flex;
    align-items:flex-end;
    min-height:12rem;
    padding:var(--space-8);
    background:var(--blue);
    color:var(--white);
}

.home-evidence>div{
    display:flex;
    align-items:flex-end;
    gap:var(--space-6);
}

.home-evidence strong{
    color:var(--white);
    font-size:clamp(3rem,5vw,5rem);
    font-variant-numeric:tabular-nums;
    font-weight:520;
    line-height:1;
}

.home-evidence span{
    display:block;
    margin-block-end:var(--space-1);
    font-size:1.1rem;
    font-weight:680;
}

.home-evidence p{
    margin:0 0 var(--space-1);
    color:var(--white);
    font-size:.9375rem;
}

.home-offer{
    background:
        linear-gradient(rgb(6 24 42 / .94),rgb(6 24 42 / .97)),
        url("../images/services-refinery.webp") center/cover;
    color:var(--white);
}

.home-offer .home-kicker,
.home-solution-gas .home-kicker{
    color:var(--cyan);
}

.home-section-heading{
    max-width:69rem;
    margin-block-end:clamp(var(--space-12),6vw,var(--space-16));
}

.home-offer .home-section-heading>p:not(.home-kicker){
    color:rgb(255 255 255 / .72);
}

.home-expertise-list{
    display:grid;
    grid-template-columns:1fr;
    border-block-start:1px solid rgb(255 255 255 / .2);
}

.home-expertise-list article{
    padding-block:var(--space-6);
    border-block-end:1px solid rgb(255 255 255 / .2);
}

.home-solution-list article>span{
    color:var(--blue);
    font-size:.75rem;
    font-weight:760;
    letter-spacing:.1em;
}

.home-expertise-list h3{
    margin:0;
    font-size:1.35rem;
    font-weight:580;
    text-transform:uppercase;
}

.home-expertise-list p{
    margin:var(--space-2) 0 0;
    color:rgb(255 255 255 / .66);
}

.home-lifecycle{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    margin:clamp(var(--space-12),7vw,var(--space-24)) calc(0rem - var(--page)) clamp(-6rem,-8vw,-4rem);
    padding:0;
    background:rgb(255 255 255 / .18);
    list-style:none;
}

.home-lifecycle li{
    display:flex;
    align-items:center;
    gap:var(--space-4);
    min-height:6rem;
    padding-inline:var(--space-6);
    background:var(--blue);
    font-size:clamp(1rem,2vw,1.35rem);
    font-weight:650;
}

.home-lifecycle span{
    color:rgb(255 255 255 / .9);
    font-size:.7rem;
    letter-spacing:.1em;
}

.home-solution{
    display:grid;
    grid-template-columns:1fr;
    background:var(--white);
}

.home-solution-media{
    min-height:28rem;
    margin:0;
    overflow:hidden;
    background:var(--navy);
}

.home-solution-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.76);
}

.home-solution-content{
    align-self:center;
    padding:clamp(var(--space-12),7vw,var(--space-24)) var(--page);
}

.home-solution-list{
    margin-block-start:var(--space-12);
    border-block-start:1px solid var(--line);
}

.home-solution-list article{
    display:grid;
    grid-template-columns:2.5rem 1fr;
    gap:var(--space-4);
    padding-block:var(--space-6);
    border-block-end:1px solid var(--line);
}

.home-solution-list h3{
    margin-block-end:var(--space-2);
    font-size:1.2rem;
    font-weight:650;
}

.home-solution-list p{
    max-width:58ch;
    margin:0;
    color:var(--muted);
    font-size:.9375rem;
}

.home-solution-gas{
    background:var(--navy);
    color:var(--white);
}

.home-solution-gas .home-solution-intro,
.home-solution-gas .home-solution-list p{
    color:rgb(255 255 255 / .66);
}

.home-solution-gas .home-solution-list article>span{
    color:var(--cyan);
}

.home-solution-gas .home-solution-list{
    border-color:rgb(255 255 255 / .18);
}

.home-solution-gas .home-solution-list article{
    border-color:rgb(255 255 255 / .18);
}

.home-pathway-links{
    display:grid;
    grid-template-columns:1fr;
    background:var(--line);
    gap:1px;
}

.home-pathway-links a{
    display:grid;
    grid-template-columns:1fr auto;
    gap:var(--space-2) var(--space-4);
    min-height:12rem;
    align-content:end;
    padding:var(--space-8) var(--page);
    background:var(--paper);
    transition:background .2s ease,color .2s ease;
}

.home-pathway-links a>span:first-child{
    grid-column:1/-1;
    color:var(--muted);
    font-size:.75rem;
    font-weight:720;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.home-pathway-links strong{
    font-size:clamp(1.6rem,3vw,2.4rem);
    font-weight:560;
}

.home-pathway-links a>span:last-child{
    align-self:center;
    color:var(--blue);
    font-size:1.4rem;
}

.home-partners{
    background:var(--paper);
}

.home-partners .home-section-heading{
    margin-inline:auto;
    text-align:center;
}

.home-partners .home-kicker{
    justify-content:center;
}

.home-partner-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    border:1px solid var(--line);
    background:var(--line);
}

.home-partner-grid figure{
    min-width:0;
    min-height:10rem;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:var(--space-6);
    background:var(--white);
}

.home-partner-grid img{
    max-width:min(9rem,100%);
    max-height:5.5rem;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:grayscale(1);
    opacity:.72;
    transition:filter .2s ease,opacity .2s ease;
}

@keyframes home-hero-enter{
    from{
        transform:translateY(.5rem);
    }
    to{
        opacity:1;
        transform:none;
    }
}

@media (hover:hover){
    .home-path-card:hover>img{
        transform:scale(1.035);
        filter:saturate(1);
    }

    .home-pathway-links a:hover{
        background:var(--blue);
        color:var(--white);
    }

    .home-pathway-links a:hover>span{
        color:var(--white);
    }

    .home-partner-grid figure:hover img{
        filter:none;
        opacity:1;
    }
}

.home-hero :focus-visible,
.home-offer :focus-visible,
.home-solution-gas :focus-visible{
    outline-color:var(--cyan);
}

@media (min-width:640px){
    .home-hero h1{
        max-width:none;
    }

    .home-hero h1 span{
        display:inline;
    }

    .home-commitment{
        grid-template-columns:1fr auto;
        padding-inline:var(--space-8);
    }

    .home-paths{
        grid-template-columns:repeat(2,1fr);
    }

    .home-path-card:last-child{
        grid-column:1/-1;
    }

    .home-expertise-list{
        grid-template-columns:repeat(2,1fr);
    }

    .home-expertise-list article:nth-child(odd){
        padding-inline-end:var(--space-8);
        border-inline-end:1px solid rgb(255 255 255 / .2);
    }

    .home-expertise-list article:nth-child(even){
        padding-inline-start:var(--space-8);
    }

    .home-lifecycle{
        grid-template-columns:repeat(5,1fr);
    }

    .home-lifecycle li{
        min-width:0;
        padding-inline:var(--space-4);
    }

    .home-pathway-links{
        grid-template-columns:repeat(3,1fr);
    }

    .home-pathway-links a{
        padding-inline:var(--space-8);
    }

    .home-partner-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (min-width:800px){
    .home-about{
        grid-template-columns:repeat(12,minmax(0,1fr));
        align-items:stretch;
    }

    .home-about-copy{
        grid-column:span 7;
    }

    .home-about-media{
        grid-column:span 5;
    }

    .home-evidence{
        grid-column:1/-1;
    }
}

@media (min-width:1080px){
    .home-paths{
        grid-template-columns:repeat(3,1fr);
    }

    .home-path-card:last-child{
        grid-column:auto;
    }

    .home-path-card{
        min-height:27rem;
    }

    .home-solution{
        grid-template-columns:minmax(22rem,.8fr) minmax(0,1.2fr);
        min-height:58rem;
    }

    .home-solution-gas{
        grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr);
    }

    .home-solution-content{
        padding-inline:clamp(var(--space-12),6vw,var(--space-24));
    }

    .home-partner-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}

@media (max-width:900px){
    html[data-menu-open]{
        overflow:hidden;
    }

    .site-header{
        height:4.75rem;
    }

    .site-nav{
        display:flex;
        position:fixed;
        inset:4.75rem 0 0;
        min-height:calc(100dvh - 4.75rem);
        justify-content:flex-start;
        gap:0;
        padding:var(--space-8) var(--page) max(var(--space-8),env(safe-area-inset-bottom));
        overflow-y:auto;
        visibility:hidden;
        opacity:0;
        transform:translateY(-.75rem);
        pointer-events:none;
        box-shadow:none;
        transition:opacity .2s ease,transform .2s ease,visibility .2s;
    }

    .brand img{
        width:4.75rem;
    }

    .site-nav[data-open]{
        visibility:visible;
        opacity:1;
        transform:none;
        pointer-events:auto;
    }

    .site-nav a{
        display:flex;
        align-items:center;
        min-height:3.5rem;
        padding:var(--space-3) 0;
        font-size:1rem;
    }

    .site-nav a::after{
        display:none;
    }
}

@media (max-width:600px){
    .search-link{
        display:inline-flex;
    }

    .home-hero{
        min-height:calc(100svh - 5.5rem);
        margin:var(--space-2);
    }

    .home-hero-inner{
        padding:var(--space-8) var(--space-6);
    }

    .home-hero-copy{
        padding-block-start:var(--space-2);
    }

    .home-hero-intro{
        text-align:start;
    }

    .home-commitment{
        padding:var(--space-6);
    }

    .home-about-copy h2,
    .home-section-heading h2,
    .home-solution h2{
        font-size:2.4rem;
    }

    .home-evidence{
        min-height:10rem;
        padding:var(--space-6);
    }

    .home-evidence>div{
        align-items:flex-start;
        flex-direction:column;
        gap:var(--space-3);
    }
}

@media (pointer:coarse){
    .home-text-link,
    .home-path-content>span{
        min-height:2.75rem;
    }
}

@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    .home-hero-copy{
        animation:none;
    }

    .home-path-card>img,
    .home-pathway-links a,
    .home-partner-grid img{
        transition:none;
    }
}

/* Data-first public experience */
.site-footer{
    grid-template-columns:minmax(16rem,1.4fr) repeat(2,minmax(12rem,.8fr));
    column-gap:clamp(2rem,5vw,5rem);
    row-gap:clamp(2rem,4vw,3.5rem);
    align-items:start;
}

.footer-intro img{
    display:block;
    width:clamp(11rem,15vw,14rem);
    max-width:100%;
    height:auto;
    aspect-ratio:512/281;
    object-fit:contain;
}

.site-footer>div{
    min-width:0;
}

.about-journey.about-section{
    display:block;
}

.about-journey.about-section>header{
    max-width:48rem;
    margin-bottom:clamp(var(--space-10),6vw,var(--space-20));
}

.about-journey ol{
    grid-column:auto;
    width:100%;
}

.about-journey li{
    min-width:0;
}

.about-journey h3{
    max-width:18ch;
    font-size:clamp(1.35rem,1.7vw,1.85rem);
    line-height:1.08;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
}

.about-journey p{
    overflow-wrap:break-word;
}

.careers-page{
    padding-block-end:clamp(var(--space-12),6vw,var(--space-16));
    background:var(--paper);
}

@media (min-width:1080px){
    .about-journey ol{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width:900px){
    .site-footer{
        grid-template-columns:minmax(0,1.2fr) minmax(12rem,.8fr);
    }

    .footer-intro{
        grid-column:1/-1;
    }

}

@media (max-width:600px){
    .careers-page{
        padding-block-end:var(--space-12);
    }

}

@media (max-width:600px){
    .site-footer{
        grid-template-columns:1fr;
    }

    .footer-intro{
        grid-column:auto;
    }

    .about-journey ol{
        grid-template-columns:1fr;
    }

    .about-journey li{
        padding-inline:0;
        border-inline-end:0;
    }

    .about-journey li::before{
        margin-bottom:var(--space-6);
    }

}

.project-gallery,
.project-map{
    padding:clamp(var(--space-12),6vw,var(--space-16)) var(--page);
}

.project-gallery{
    background:var(--navy);
    color:var(--white);
}

.project-gallery__inner,
.project-map__inner{
    width:min(100%,82rem);
    margin-inline:auto;
}

.project-gallery__inner>header,
.project-map__inner>header{
    display:grid;
    gap:var(--space-4);
    margin-bottom:clamp(var(--space-6),4vw,var(--space-8));
}

.project-gallery__inner h2,
.project-map__inner h2{
    margin:0;
    font-size:clamp(2.15rem,4vw,3.25rem);
    font-weight:570;
}

.project-gallery__inner>header p,
.project-map__inner>header p{
    max-width:52rem;
    margin:0;
}

.project-gallery__inner>header p{
    color:rgb(255 255 255 / .76);
}

.project-gallery__grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
    gap:var(--space-4);
}

.project-gallery figure{
    margin:0;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:var(--radius);
    background:rgb(255 255 255 / .04);
}

.project-gallery a{
    display:block;
    overflow:hidden;
    aspect-ratio:4/3;
}

.project-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

.project-gallery a:is(:hover,:focus-visible) img{
    transform:scale(1.025);
}

.project-gallery a:focus-visible{
    outline:3px solid var(--cyan);
    outline-offset:-3px;
}

.project-gallery figcaption{
    padding:var(--space-4);
    color:rgb(255 255 255 / .76);
}

.project-map{
    background:var(--paper);
}

.project-map__inner>header p{
    color:var(--muted);
    font-size:clamp(1rem,1.35vw,1.15rem);
}

.project-map__frame{
    overflow:hidden;
    padding:var(--space-1);
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
}

.project-map__canvas{
    width:100%;
    height:clamp(19rem,34vw,27rem);
    min-height:0;
    border:0;
    border-radius:var(--radius);
    background:var(--white);
}

.project-map__canvas .maplibregl-ctrl-group button{
    width:44px;
    height:44px;
}

.project-map__link{
    width:max-content;
    max-width:100%;
    margin-top:var(--space-4);
    color:var(--blue);
}

.about-video{
    overflow:hidden;
    min-width:0;
    background:#020a17;
}

.about-video video{
    display:block;
    width:100%;
    max-height:36rem;
}

.form-privacy-note{
    color:var(--muted);
    font-size:.9rem;
}

.privacy-policy .prose{
    max-width:52rem;
}

@media (prefers-reduced-motion:reduce){
    .project-gallery img{
        transition:none;
    }
}

.managed-section{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,6rem);max-width:82rem;margin:0 auto;padding:clamp(3rem,7vw,6rem) 1.25rem;border-bottom:1px solid var(--line,oklch(88% .012 247))}.managed-section__content{max-width:70ch}.managed-section h2{margin:0 0 1rem;text-wrap:balance}.managed-section p{white-space:pre-line;text-wrap:pretty}.managed-section img{width:min(42%,34rem);max-height:28rem;object-fit:cover}.managed-section--statistic .managed-section__content{font-size:1.2rem}.managed-section--cta{max-width:none;background:var(--navy,#0d2034);color:#fff;justify-content:center;text-align:center}.managed-section--cta .managed-section__content{max-width:55rem}
@media(max-width:700px){.managed-section{align-items:stretch;flex-direction:column}.managed-section img{width:100%}}

.managed-source-sections{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    max-width:82rem;
    margin:0 auto;
    padding:clamp(4rem,7vw,7rem) 1.25rem;
    background:var(--line,oklch(88% .012 247));
}

.managed-source-sections .managed-section{
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    padding:clamp(2rem,4vw,3.5rem);
    border:0;
    background:var(--white,#fff);
    align-items:flex-start;
}

.managed-source-sections .managed-section--source-body{
    grid-column:1 / -1;
}

.managed-source-sections .managed-section--source-body:nth-child(even){
    background:var(--mist,#f3f7fa);
}

.managed-source-sections .managed-section--source-pillar{
    min-height:17rem;
    background:var(--navy,#071b2e);
    color:var(--white,#fff);
}

.managed-source-sections h2{
    max-width:24ch;
    font-size:clamp(1.75rem,3vw,2.75rem);
    line-height:1.08;
}

.managed-source-sections .managed-section--source-pillar h2{
    color:var(--white,#fff);
    font-size:clamp(1.35rem,2vw,1.8rem);
}

.managed-source-sections p{
    margin:.85rem 0 0;
    max-width:76ch;
    color:var(--muted,#536579);
    font-size:clamp(1rem,1.2vw,1.1rem);
    line-height:1.75;
}

.managed-source-sections .managed-section--source-pillar p{
    color:rgb(255 255 255 / .78);
}

.managed-source-sections .button{
    margin-top:1.5rem;
}

[dir="rtl"] .managed-source-sections{
    text-align:right;
}

@media(max-width:700px){
    .managed-source-sections{
        grid-template-columns:minmax(0,1fr);
        padding-inline:1rem;
    }

    .managed-source-sections .managed-section--source-body{
        grid-column:auto;
    }

    .managed-source-sections .managed-section{
        padding:2rem 1.25rem;
    }

    .managed-source-sections .managed-section--source-pillar{
        min-height:0;
    }
}

html[dir=rtl] .careers-page .managed-source-sections{
    display:block;
    max-width:none;
    padding:clamp(var(--space-12),6vw,var(--space-20,5rem)) var(--page);
    background:oklch(95% .01 247);
}

html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"]{
    display:block;
    max-width:82rem;
    margin:0 auto;
    padding:clamp(var(--space-12),5vw,var(--space-20,5rem)) clamp(var(--space-8),6vw,var(--space-24));
    background:var(--white);
}

html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] .managed-section__content{
    display:grid;
    grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);
    align-items:start;
    gap:clamp(var(--space-12),7vw,var(--space-24));
    width:100%;
    max-width:none;
}

html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] h2{
    max-width:10ch;
    margin:0;
    padding-block-start:var(--space-6);
    border-block-start:3px solid var(--source-blue);
    color:var(--navy);
    font-size:clamp(2.15rem,3.1vw,3.25rem);
    font-weight:620;
    line-height:1.3;
    text-align:right;
    text-wrap:balance;
}

html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] p{
    max-width:60ch;
    margin:0;
    padding-block-start:var(--space-6);
    border-block-start:1px solid var(--line);
    color:oklch(38% .025 248);
    font-size:clamp(1.03rem,1.25vw,1.15rem);
    line-height:2;
    text-wrap:pretty;
}

@media(max-width:800px){
    html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] .managed-section__content{
        grid-template-columns:minmax(0,1fr);
        gap:var(--space-8);
    }

    html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] h2{
        max-width:12ch;
        font-size:clamp(2.15rem,9vw,2.75rem);
        line-height:1.3;
    }

    html[dir=rtl] .careers-page .managed-section[data-section-key="source-body-recruitment"] p{
        line-height:1.95;
    }
}

.careers-opportunity-suite{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(23rem,.82fr);
    align-items:stretch;
    max-width:110rem;
    margin-inline:auto;
    padding-block:clamp(var(--space-16),7vw,var(--space-24));
    padding-inline:min(var(--page),var(--space-16));
}

.careers-page .careers-opportunity-suite>.managed-source-sections{
    display:block;
    max-width:none;
    margin:0;
    padding:0;
    background:var(--white);
}

.careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"]{
    display:flex;
    min-height:100%;
    max-width:none;
    margin:0;
    padding:clamp(var(--space-10,2.5rem),5vw,var(--space-20,5rem));
    border:0;
    background:var(--white);
}

.careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] .managed-section__content{
    display:block;
    width:100%;
    max-width:60rem;
}

.careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] h2{
    max-width:13ch;
    margin:0 0 var(--space-8);
    padding-block-start:var(--space-6);
    border-block-start:3px solid var(--source-blue);
    color:var(--navy);
    font-size:clamp(2.15rem,3.1vw,3.25rem);
    font-weight:620;
    letter-spacing:-.025em;
    line-height:1.03;
    text-align:start;
    text-wrap:balance;
}

.careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] p{
    max-width:62ch;
    margin:0;
    padding-block-start:var(--space-6);
    border-block-start:1px solid var(--line);
    color:oklch(38% .025 248);
    font-size:clamp(1.03rem,1.2vw,1.15rem);
    line-height:1.9;
    text-wrap:pretty;
}

.careers-opportunity-suite .careers-intro{
    min-width:0;
    background:var(--navy);
}

.careers-opportunity-suite .careers-intro__layout,
.careers-opportunity-suite .careers-intro__content{
    min-height:100%;
}

.careers-opportunity-suite .careers-intro__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(var(--space-10,2.5rem),5vw,var(--space-20,5rem));
}

.careers-opportunity-suite .careers-intro__heading{
    position:relative;
    min-width:0;
    padding-block-start:var(--space-6);
}

.careers-opportunity-suite .careers-intro__heading::before{
    position:absolute;
    inset-block-start:0;
    inset-inline-start:0;
    width:clamp(4rem,7vw,7rem);
    height:3px;
    background:var(--cyan);
    content:"";
}

.careers-opportunity-suite .careers-intro__heading h2{
    max-width:12ch;
    margin:0;
    color:var(--white);
    font-size:clamp(2.1rem,2.8vw,3rem);
    font-weight:560;
    letter-spacing:-.03em;
    line-height:1;
    text-wrap:balance;
    overflow-wrap:break-word;
}

.careers-opportunity-suite .careers-intro__label{
    display:flex;
    gap:var(--space-3);
    align-items:center;
    margin:var(--space-6) 0 0;
    color:var(--cyan);
    font-size:.78rem;
    font-weight:750;
    letter-spacing:.11em;
    line-height:1.4;
    text-transform:uppercase;
}

.careers-opportunity-suite .careers-intro__label::before{
    width:2rem;
    height:1px;
    flex:none;
    background:currentColor;
    content:"";
}

.careers-opportunity-suite .careers-intro__copy{
    margin-block-start:var(--space-8);
    padding-block-start:var(--space-8);
    border-block-start:1px solid rgb(255 255 255 / .22);
}

.careers-opportunity-suite .careers-intro__lead{
    max-width:46ch;
    margin:0;
    color:rgb(255 255 255 / .82);
    font-size:clamp(1.03rem,1.25vw,1.16rem);
    line-height:1.8;
    text-wrap:pretty;
}

.careers-positions{
    width:min(100% - 2 * var(--page),76rem);
    margin-inline:auto;
    padding-block:clamp(var(--space-12),6vw,var(--space-16)) clamp(var(--space-12),6vw,var(--space-16));
}

.careers-positions>h2{
    margin-block-end:var(--space-8);
    padding-block-start:var(--space-6);
    border-block-start:3px solid var(--source-blue);
    color:var(--navy);
    font-size:clamp(1.8rem,3vw,2.75rem);
    font-weight:600;
    letter-spacing:-.03em;
    line-height:1.1;
    text-wrap:balance;
}

.careers-overview{
    max-width:110rem;
    margin-inline:auto;
    padding:0 min(var(--page),var(--space-16)) clamp(var(--space-16),7vw,var(--space-24));
}

.careers-overview__content{
    display:grid;
    grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);
    align-items:start;
    gap:clamp(var(--space-8),6vw,var(--space-16));
    padding:clamp(var(--space-8),5vw,var(--space-16));
    background:var(--navy);
    color:var(--white);
}

.careers-overview h2{
    max-width:13ch;
    margin:0;
    padding-block-start:var(--space-6);
    border-block-start:3px solid var(--cyan);
    color:var(--white);
    font-size:clamp(2.1rem,3.1vw,3.25rem);
    font-weight:560;
    letter-spacing:-.03em;
    line-height:1.05;
    text-wrap:balance;
}

.careers-overview p{
    max-width:68ch;
    margin:0;
    padding-block-start:var(--space-6);
    border-block-start:1px solid rgb(255 255 255 / .22);
    color:rgb(255 255 255 / .84);
    font-size:clamp(1.03rem,1.25vw,1.16rem);
    line-height:1.8;
    text-wrap:pretty;
}

html[dir=rtl] .careers-overview h2{
    letter-spacing:0;
    line-height:1.4;
}

html[dir=rtl] .careers-overview p{
    line-height:2;
}

.careers-job-list{
    margin:0;
    padding:0;
    border-block:1px solid var(--line);
    list-style:none;
}

.careers-job-list>li+li{
    border-block-start:1px solid var(--line);
}

.careers-job-list__item.button{
    display:flex;
    width:100%;
    min-height:4.75rem;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-6);
    padding:var(--space-4);
    border:0;
    background:var(--white);
    color:var(--ink);
    font:inherit;
    text-align:start;
    cursor:pointer;
    transition:background-color 180ms cubic-bezier(.22,1,.36,1),color 180ms cubic-bezier(.22,1,.36,1);
}

.careers-job-list__item.button:is(:hover,:focus-visible){
    background:oklch(97% .018 220);
}

.careers-job-list__title{
    display:flex;
    min-width:0;
    align-items:center;
    gap:var(--space-4);
    font-size:clamp(1.05rem,1.6vw,1.3rem);
    font-weight:620;
    line-height:1.4;
}

.careers-job-list__indicator{
    width:.625rem;
    height:.625rem;
    flex:0 0 .625rem;
    border-radius:50%;
}

.careers-job-list__indicator--open{
    background:oklch(52% .16 145);
}

.careers-job-list__indicator--closed{
    background:oklch(52% .19 25);
}

.careers-job-list__status{
    flex:none;
    font-size:.82rem;
    font-weight:700;
}

.careers-job-list__status--open{
    color:oklch(43% .14 145);
}

.careers-job-list__status--closed{
    color:oklch(46% .17 25);
}

.careers-job-dialog{
    width:min(64rem,calc(100% - 2 * var(--page)));
    max-width:none;
    max-height:calc(100dvh - 2 * var(--space-6));
    margin:auto;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:12px;
    background:var(--white);
    color:var(--ink);
    box-shadow:0 1.5rem 4rem rgb(7 26 48 / .28);
}

.careers-job-dialog::backdrop{
    background:rgb(7 26 48 / .72);
}

.careers-job-dialog__surface{
    display:grid;
    max-height:inherit;
    grid-template-rows:auto minmax(0,1fr);
}

.careers-job-dialog__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:var(--space-6);
    padding:var(--space-6) clamp(var(--space-6),4vw,var(--space-12));
    border-block-end:1px solid var(--line);
    background:var(--white);
}

.careers-job-dialog__header h2{
    margin:var(--space-2) 0 0;
    font-size:clamp(1.55rem,3vw,2.35rem);
    font-weight:620;
    letter-spacing:-.025em;
    line-height:1.15;
    text-wrap:balance;
}

.careers-job-dialog__status{
    margin:0;
    font-size:.78rem;
    font-weight:720;
}

.careers-job-dialog__status[data-state=open]{
    color:oklch(43% .14 145);
}

.careers-job-dialog__status[data-state=closed]{
    color:oklch(46% .17 25);
}

.careers-job-dialog__close{
    flex:none;
}

.careers-job-dialog__close svg{
    width:1.35rem;
    height:1.35rem;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-width:1.8;
}

.careers-job-dialog__body{
    padding:clamp(var(--space-6),4vw,var(--space-12));
    overflow:auto;
    overscroll-behavior:contain;
}

.careers-job-dialog__body>section>h3{
    margin:0 0 var(--space-4);
    color:var(--navy);
    font-size:1rem;
    font-weight:720;
}

.careers-job-dialog__description{
    display:grid;
    gap:var(--space-8);
    max-width:72ch;
    margin-inline:auto;
    color:var(--muted);
    line-height:1.8;
}

.careers-job-dialog__section{
    padding-block-start:var(--space-6);
    border-block-start:1px solid var(--line);
}

.careers-job-dialog__section:first-child{
    border-block-start:3px solid var(--source-blue);
}

.careers-job-dialog__section h3{
    margin:0 0 var(--space-4);
    color:var(--ink);
    font-size:1.15rem;
}

.careers-job-dialog__section :is(p,ul){
    margin:0;
}

.careers-job-dialog__section ul{
    display:grid;
    gap:var(--space-3);
    padding-inline-start:1.25rem;
}

.careers-job-dialog__section li::marker{
    color:var(--source-blue);
}

.careers-job-dialog__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-4) var(--space-6);
    margin-block-start:var(--space-8);
    padding-block-start:var(--space-8);
    border-block-start:1px solid var(--line);
}

.careers-job-dialog__application-link[aria-disabled=true]{
    cursor:not-allowed;
    opacity:.55;
    pointer-events:none;
}

.careers-job-dialog__closed{
    max-width:68ch;
    margin:0;
    color:var(--muted);
    line-height:1.75;
}

html[dir=rtl] .careers-positions>h2,
html[dir=rtl] .careers-job-dialog__header h2{
    letter-spacing:0;
    line-height:1.4;
}

.careers-positions__empty{
    padding:clamp(var(--space-8),4vw,var(--space-12));
    background:var(--white);
    text-align:center;
}

.careers-positions__empty p{
    margin:0 0 var(--space-6);
    color:var(--muted);
}

html[dir=rtl] .careers-opportunity-suite .careers-intro__heading h2{
    max-width:13ch;
    letter-spacing:0;
    line-height:1.35;
}

html[dir=rtl] .careers-opportunity-suite .careers-intro__label{
    letter-spacing:0;
    text-transform:none;
}

html[dir=rtl] .careers-page .careers-opportunity-suite>.managed-source-sections{
    max-width:none;
    margin:0;
    padding:0;
    background:var(--white);
}

html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"]{
    display:flex;
    min-height:100%;
    max-width:none;
    margin:0;
    padding:clamp(var(--space-10,2.5rem),5vw,var(--space-20,5rem));
}

html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] .managed-section__content{
    display:block;
    width:100%;
    max-width:60rem;
}

html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] h2{
    max-width:13ch;
    margin:0 0 var(--space-8);
    font-size:clamp(2.15rem,3.1vw,3.25rem);
    line-height:1.35;
    text-align:start;
}

html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] p{
    max-width:62ch;
    margin:0;
    font-size:clamp(1.03rem,1.2vw,1.15rem);
    line-height:2;
}

@media(max-width:900px){
    .careers-opportunity-suite{
        grid-template-columns:minmax(0,1fr);
    }

    .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"],
    .careers-opportunity-suite .careers-intro__content{
        padding:var(--space-12) clamp(var(--space-6),7vw,var(--space-12));
    }

    html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"]{
        padding:var(--space-12) clamp(var(--space-6),7vw,var(--space-12));
    }

    .careers-overview__content{
        grid-template-columns:minmax(0,1fr);
        gap:var(--space-8);
    }

}

@media(max-width:600px){
    .careers-opportunity-suite{
        padding-block:var(--space-12);
    }

    .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] h2,
    .careers-opportunity-suite .careers-intro__heading h2{
        font-size:clamp(2.15rem,9vw,2.75rem);
    }

    html[dir=rtl] .careers-page .careers-opportunity-suite .managed-section[data-section-key="source-body-recruitment"] h2{
        font-size:clamp(2.15rem,9vw,2.75rem);
    }

    .careers-opportunity-suite .careers-intro__copy{
        padding-block-start:var(--space-6);
    }

    .careers-positions{
        width:calc(100% - 2rem);
    }

    .careers-overview{
        padding-inline:1rem;
    }

    .careers-overview__content{
        padding:var(--space-8) var(--space-6);
    }

    .careers-overview h2{
        font-size:clamp(2.1rem,9vw,2.75rem);
    }

    .careers-job-list__item.button{
        min-height:4.25rem;
        gap:var(--space-3);
        padding-inline:var(--space-2);
    }

    .careers-job-list__title{
        gap:var(--space-3);
    }

    .careers-job-dialog{
        width:100%;
        max-height:100dvh;
        border-radius:0;
    }

    .careers-job-dialog__header,
    .careers-job-dialog__body{
        padding-inline:var(--space-4);
    }
}

/* Shared inner-page hero and About migration */
.public-page-hero{
    min-height:clamp(31rem,68svh,43rem);
    background:var(--navy);
}

.public-page-hero__media{
    position:absolute;
    z-index:-2;
    inset:0;
}

.public-page-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.public-page-hero__content{
    animation:public-hero-enter .22s cubic-bezier(.22,1,.36,1) both;
}

@keyframes public-hero-enter{
    from{transform:translateY(.75rem)}
    to{transform:none}
}

.about-page{
    --about-canvas:oklch(97% .008 247);
    background:var(--about-canvas);
}

.about-page a:not(.button){
    color:var(--blue);
    text-decoration:underline;
    text-decoration-thickness:.08em;
    text-underline-offset:.2em;
}

.about-hero{
    min-height:clamp(38rem,78svh,48rem);
}

.about-hero .hero-shade{
    background:
        linear-gradient(90deg,rgb(2 10 23 / .94) 0%,rgb(2 10 23 / .8) 38%,rgb(2 10 23 / .2) 78%),
        linear-gradient(0deg,rgb(2 10 23 / .68),transparent 58%);
}

.about-hero .hero-content{
    max-width:59rem;
    padding-block:clamp(var(--space-16),10vw,var(--space-24));
}

.about-hero h1{
    font-size:clamp(3.5rem,8vw,6rem);
    font-weight:590;
}

.about-hero p{
    max-width:58rem;
    color:rgb(255 255 255 / .9);
}

.about-fallback-note{
    margin:0;
    padding:var(--space-4) var(--page);
    border-block:1px solid oklch(83% .045 247);
    background:oklch(94% .025 247);
    color:oklch(34% .055 247);
    font-size:.92rem;
}

.about-evidence{
    padding-inline:var(--page);
    background:var(--navy);
    color:var(--white);
}

.about-evidence dl{
    display:grid;
    margin:0;
}

.about-evidence dl>div{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:var(--space-6);
    padding:var(--space-6) 0;
    border-bottom:1px solid rgb(255 255 255 / .17);
}

.about-evidence dl>div:last-child{
    border-bottom:0;
}

.about-evidence dt{
    color:rgb(255 255 255 / .74);
}

.about-evidence dd{
    margin:0;
    color:var(--white);
    font-size:clamp(1.75rem,4vw,2.75rem);
    font-weight:650;
    letter-spacing:-.03em;
    line-height:1;
}

.about-evidence dd span{
    font-size:.45em;
    font-weight:500;
    letter-spacing:0;
}

.about-commitments{
    display:grid;
    padding-inline:var(--page);
    background:var(--white);
}

.about-commitments article{
    padding:var(--space-8) 0;
    border-bottom:1px solid var(--line);
}

.about-commitments article:last-child{
    border-bottom:0;
}

.about-commitments svg{
    width:1.75rem;
    height:1.75rem;
    margin-bottom:var(--space-8);
    fill:none;
    stroke:var(--blue);
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.about-commitments h3{
    margin-bottom:var(--space-3);
    font-size:1.35rem;
}

.about-commitments p{
    max-width:28rem;
    margin:0;
    color:var(--muted);
}

.about-section{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
}

.about-section>header{
    margin-bottom:var(--space-8);
}

.about-section>header h2{
    max-width:18ch;
    margin:0;
    font-size:clamp(2.5rem,6vw,5rem);
    font-weight:540;
}

.about-prose{
    max-width:70ch;
}

.about-prose p{
    margin-bottom:var(--space-6);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
}

.about-prose p:last-child{
    margin-bottom:0;
}

.about-video-placeholder{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:var(--space-8);
    min-height:16rem;
    background:var(--navy);
    color:var(--white);
}

.about-video-feature{
    min-height:clamp(24rem,60svh,30rem);
}

.about-video-feature__background{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-2;
    max-height:none;
    object-fit:cover;
    object-position:center;
    filter:none;
    opacity:1;
    pointer-events:none;
}

.about-video-feature__content{
    max-width:48rem;
}

.about-video-feature__sound{
    position:absolute;
    z-index:1;
    inset-inline-start:clamp(1rem,3vw,2rem);
    inset-block-end:clamp(1rem,3vw,2rem);
    white-space:nowrap;
}

.about-video-placeholder__symbol{
    display:grid;
    flex:0 0 auto;
    width:4rem;
    height:4rem;
    place-items:center;
    border:1px solid rgb(255 255 255 / .4);
    border-radius:50%;
}

.about-video-placeholder__symbol svg{
    width:1.6rem;
    fill:none;
    stroke:var(--cyan);
    stroke-width:1.5;
    stroke-linejoin:round;
}

.about-video-placeholder h2{
    margin:0 0 var(--space-2);
    font-size:clamp(2rem,5vw,3.5rem);
}

.about-video-placeholder p{
    max-width:48rem;
    margin-bottom:0;
    color:rgb(255 255 255 / .74);
}

.about-video-placeholder .about-status{
    margin-bottom:var(--space-2);
    color:var(--cyan);
    font-size:.78rem;
    font-weight:700;
}

.about-human{
    background:var(--white);
}

.about-journey ol,
.about-values>div{
    display:grid;
    margin:0;
    padding:0;
    list-style:none;
    border-top:1px solid var(--line);
}

.about-journey li,
.about-values article{
    padding:var(--space-8) 0;
    border-bottom:1px solid var(--line);
}

.about-journey li::before{
    display:block;
    margin-bottom:var(--space-12);
    color:var(--blue);
    font-size:.8rem;
    font-weight:750;
}

.about-journey li:nth-child(1)::before{content:"01"}
.about-journey li:nth-child(2)::before{content:"02"}
.about-journey li:nth-child(3)::before{content:"03"}
.about-journey li:nth-child(4)::before{content:"04"}

.about-journey h3,
.about-values h3{
    margin-bottom:var(--space-3);
    font-size:clamp(1.4rem,2vw,1.8rem);
}

.about-journey p,
.about-values p{
    max-width:31rem;
    margin:0;
    color:var(--muted);
}

.about-project-image{
    max-width:82rem;
    margin:0 auto;
    padding-inline:var(--page);
}

.about-project-image img{
    width:100%;
    height:auto;
    aspect-ratio:1280/902;
    object-fit:cover;
}

.about-values{
    background:var(--white);
}

.about-workflow{
    background:var(--navy);
    color:var(--white);
}

.about-workflow>header h2{
    max-width:21ch;
}

.about-workflow ol{
    position:relative;
    margin:0;
    padding:0 0 0 var(--space-12);
    list-style:none;
    counter-reset:about-workflow;
}

.about-workflow ol::before{
    content:"";
    position:absolute;
    inset-block:1rem;
    inset-inline-start:.9rem;
    width:1px;
    background:rgb(255 255 255 / .25);
}

.about-workflow li{
    position:relative;
    min-width:0;
    padding:0 0 var(--space-12);
    counter-increment:about-workflow;
}

.about-workflow li:last-child{
    padding-bottom:0;
}

.about-workflow li::before{
    content:counter(about-workflow,decimal-leading-zero);
    position:absolute;
    inset-block-start:0;
    inset-inline-start:calc(-1 * var(--space-12));
    display:grid;
    width:1.8rem;
    height:1.8rem;
    place-items:center;
    border:1px solid var(--cyan);
    border-radius:50%;
    background:var(--navy);
    color:var(--cyan);
    font-size:.65rem;
    font-weight:750;
}

.about-workflow h3{
    margin-bottom:var(--space-3);
    font-size:clamp(1.45rem,2.5vw,2rem);
}

.about-page .about-workflow h3 a,
.about-page .about-workflow p a{
    color:var(--cyan);
}

.about-workflow p{
    max-width:60ch;
    margin:0;
    color:rgb(255 255 255 / .74);
}

@media (min-width:640px){
    .about-evidence dl,
    .about-commitments,
    .about-journey ol,
    .about-values>div{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .about-evidence dl>div{
        display:block;
        padding-block:var(--space-8);
        border-bottom:0;
    }

    .about-evidence dl>div+div{
        padding-inline-start:var(--space-8);
        border-inline-start:1px solid rgb(255 255 255 / .17);
    }

    .about-evidence dt{
        margin-bottom:var(--space-4);
    }

    .about-commitments article,
    .about-journey li,
    .about-values article{
        padding-inline:var(--space-8);
    }

    .about-commitments article:nth-child(odd),
    .about-journey li:nth-child(odd),
    .about-values article:nth-child(odd){
        padding-inline-start:0;
        border-inline-end:1px solid var(--line);
    }

    .about-commitments article:nth-child(even),
    .about-journey li:nth-child(even),
    .about-values article:nth-child(even){
        padding-inline-end:0;
    }

    .about-video-feature{
        min-height:clamp(28rem,56svh,36rem);
    }
}

@media (min-width:900px){
    .about-section:not(.about-video-placeholder){
        display:grid;
        grid-template-columns:minmax(15rem,4fr) minmax(0,8fr);
        gap:clamp(var(--space-8),6vw,var(--space-24));
        align-items:start;
    }

    .about-section>header{
        margin-bottom:0;
    }

    .about-journey ol,
    .about-values>div,
    .about-workflow ol{
        grid-column:2;
    }

    .about-workflow ol{
        padding:0;
    }

    .about-workflow ol::before{
        inset-block:1rem;
        inset-inline-start:50%;
    }

    .about-workflow li{
        width:calc(50% - var(--space-12));
        padding:0 0 var(--space-16);
    }

    .about-workflow li:nth-child(even){
        margin-inline-start:auto;
    }

    .about-workflow li::before{
        inset-inline-start:auto;
        inset-inline-end:calc(-1 * (var(--space-12) + .9rem));
    }

    .about-workflow li:nth-child(even)::before{
        inset-inline-start:calc(-1 * (var(--space-12) + .9rem));
        inset-inline-end:auto;
    }
}

@media (min-width:1080px){
    .about-video-feature{
        aspect-ratio:16/9;
        min-height:0;
    }

    .about-commitments,
    .about-journey ol,
    .about-values>div{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    .about-commitments article,
    .about-journey li,
    .about-values article{
        padding-inline:var(--space-8);
        border-bottom:0;
        border-inline-end:1px solid var(--line);
    }

    .about-commitments article:first-of-type,
    .about-journey li:first-child,
    .about-values article:first-child{
        padding-inline-start:0;
    }

    .about-commitments article:last-child,
    .about-journey li:last-child,
    .about-values article:last-child{
        padding-inline-end:0;
        border-inline-end:0;
    }
}

@media (max-width:600px){
    .public-page-hero{
        min-height:34rem;
    }

    .about-hero{
        min-height:calc(100svh - 4.75rem);
    }

    .about-hero .hero-shade{
        background:
            linear-gradient(90deg,rgb(2 10 23 / .92),rgb(2 10 23 / .62)),
            linear-gradient(0deg,rgb(2 10 23 / .8),transparent 70%);
    }

    .about-hero .hero-content{
        padding-block:var(--space-12);
    }

    .about-hero h1{
        font-size:clamp(3.35rem,17vw,4.5rem);
    }

    .about-hero p{
        font-size:1rem;
    }

    .about-video-placeholder{
        align-items:flex-start;
        flex-direction:column;
        gap:var(--space-6);
    }

    .about-project-image{
        padding-inline:0;
    }
}

@media (prefers-reduced-motion:reduce){
    .about-video-feature__background,
    .about-video-feature__sound{
        display:none;
    }

    .public-page-hero__content{
        animation:none;
    }
}

/* Services capability migration */
.services-page{
    --services-canvas:oklch(97% .008 247);
    background:var(--services-canvas);
}

.services-hero{
    min-height:clamp(38rem,78svh,48rem);
}

.services-hero .hero-shade{
    background:
        linear-gradient(90deg,rgb(2 10 23 / .95) 0%,rgb(2 10 23 / .84) 38%,rgb(2 10 23 / .18) 82%),
        linear-gradient(0deg,rgb(2 10 23 / .7),transparent 60%);
}

.services-hero .hero-content{
    max-width:61rem;
    padding-block:clamp(var(--space-16),10vw,var(--space-24));
}

.services-hero h1{
    font-size:clamp(3.5rem,8vw,6rem);
    font-weight:590;
}

.services-hero p{
    max-width:59rem;
    color:rgb(255 255 255 / .92);
}

.services-fallback-note{
    margin:0;
    padding:var(--space-4) var(--page);
    border-block:1px solid oklch(83% .045 247);
    background:oklch(94% .025 247);
    color:oklch(34% .055 247);
    font-size:.92rem;
}

.services-highlights{
    display:grid;
    padding-inline:var(--page);
    background:var(--navy);
    color:var(--white);
}

.services-highlights article{
    display:flex;
    align-items:center;
    gap:var(--space-6);
    padding:var(--space-6) 0;
    border-bottom:1px solid rgb(255 255 255 / .18);
}

.services-highlights article:last-child{
    border-bottom:0;
}

.services-highlights svg{
    flex:0 0 auto;
    width:2rem;
    height:2rem;
    fill:none;
    stroke:var(--cyan);
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.services-highlights h3{
    margin:0 0 var(--space-1);
    font-size:1.25rem;
}

.services-highlights p{
    margin:0;
    color:rgb(255 255 255 / .78);
    font-size:.92rem;
}

.services-overview{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    background:var(--white);
}

.services-overview>header{
    margin-bottom:var(--space-12);
}

.services-overview>header h2{
    max-width:18ch;
    margin:0 0 var(--space-6);
    font-size:clamp(2.5rem,6vw,5rem);
    font-weight:540;
}

.services-overview>header p{
    max-width:58ch;
    margin:0;
    color:var(--muted);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
}

.services-index ul{
    margin:0;
    padding:0;
    border-top:1px solid var(--line);
    list-style:none;
}

.services-index a{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:var(--space-3) var(--space-6);
    align-items:center;
    padding:var(--space-6) 0;
    border-bottom:1px solid var(--line);
    transition:color .18s ease;
}

.services-index a>span{
    min-width:0;
    font-size:clamp(1.35rem,2.5vw,2rem);
    font-weight:620;
    line-height:1.15;
}

.services-index small{
    grid-column:1;
    max-width:58ch;
    color:var(--muted);
    font-size:.95rem;
    line-height:1.55;
}

.services-index svg{
    grid-column:2;
    grid-row:1/3;
    width:1.5rem;
    height:1.5rem;
    fill:none;
    stroke:var(--blue);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .18s ease;
}

.services-index a:is(:hover,:focus-visible){
    color:var(--blue);
}

.services-index a:is(:hover,:focus-visible) svg{
    transform:translateX(.3rem);
}

.services-disciplines{
    padding-inline:var(--page);
}

.services-discipline{
    scroll-margin-top:6rem;
    display:grid;
    gap:var(--space-8);
    padding-block:clamp(var(--space-16),8vw,var(--space-24));
    border-bottom:1px solid var(--line);
}

.services-discipline:last-child{
    border-bottom:0;
}

.services-discipline:focus{
    outline:none;
}

.services-discipline:focus-visible{
    outline:3px solid var(--blue);
    outline-offset:-3px;
}

.services-discipline__content{
    align-self:center;
}

.services-discipline h2{
    max-width:20ch;
    margin:0 0 var(--space-8);
    font-size:clamp(2.5rem,5.2vw,4.5rem);
    font-weight:540;
    overflow-wrap:anywhere;
}

.services-discipline p{
    max-width:65ch;
    margin:0 0 var(--space-6);
    font-size:clamp(1.02rem,1.2vw,1.15rem);
}

.services-discipline p:last-child{
    margin-bottom:0;
}

.services-discipline figure{
    margin:0;
    overflow:hidden;
    background:var(--navy);
}

.services-discipline img{
    width:100%;
    height:100%;
    min-height:18rem;
    object-fit:cover;
}

.services-projects-cta{
    position:relative;
    isolation:isolate;
    min-height:clamp(32rem,70svh,44rem);
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:var(--navy);
    color:var(--white);
}

.services-projects-cta>picture,
.services-projects-cta__shade{
    position:absolute;
    inset:0;
}

.services-projects-cta>picture{
    z-index:-2;
}

.services-projects-cta>picture img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.services-projects-cta__shade{
    z-index:-1;
    background:
        linear-gradient(90deg,rgb(2 10 23 / .94),rgb(2 10 23 / .55) 65%,rgb(2 10 23 / .2)),
        linear-gradient(0deg,rgb(2 10 23 / .72),transparent 65%);
}

.services-projects-cta__content{
    width:100%;
    padding:clamp(var(--space-12),8vw,var(--space-24)) var(--page);
}

.services-projects-cta h2{
    max-width:19ch;
    margin:0 0 var(--space-6);
    font-size:clamp(2.5rem,6vw,5rem);
    font-weight:550;
}

.services-projects-cta p{
    max-width:54ch;
    margin:0 0 var(--space-8);
    color:rgb(255 255 255 / .88);
    font-size:clamp(1.05rem,1.5vw,1.25rem);
}

@media (min-width:640px){
    .services-highlights{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .services-highlights article{
        padding:var(--space-8);
        border-bottom:0;
        border-inline-end:1px solid rgb(255 255 255 / .18);
    }

    .services-highlights article:first-of-type{
        padding-inline-start:0;
    }

    .services-highlights article:last-child{
        padding-inline-end:0;
        border-inline-end:0;
    }
}

@media (min-width:900px){
    .services-overview{
        display:grid;
        grid-template-columns:minmax(15rem,4fr) minmax(0,8fr);
        gap:clamp(var(--space-8),6vw,var(--space-24));
        align-items:start;
    }

    .services-overview>header{
        position:sticky;
        top:8rem;
        margin-bottom:0;
    }

    .services-discipline{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:clamp(var(--space-8),6vw,var(--space-24));
        min-height:42rem;
        align-items:stretch;
    }

    .services-discipline__content{
        grid-column:1;
    }

    .services-discipline figure{
        grid-column:2;
    }

    .services-discipline--reverse .services-discipline__content{
        grid-column:2;
    }

    .services-discipline--reverse figure{
        grid-column:1;
        grid-row:1;
    }
}

@media (max-width:600px){
    .services-hero{
        min-height:calc(100svh - 4.75rem);
    }

    .services-hero .hero-shade{
        background:
            linear-gradient(90deg,rgb(2 10 23 / .94),rgb(2 10 23 / .68)),
            linear-gradient(0deg,rgb(2 10 23 / .82),transparent 72%);
    }

    .services-hero .hero-content{
        padding-block:var(--space-12);
    }

    .services-hero h1{
        font-size:clamp(3.35rem,17vw,4.5rem);
    }

    .services-hero p{
        font-size:1rem;
    }

    .services-index a{
        grid-template-columns:minmax(0,1fr) auto;
    }

    .services-discipline figure{
        margin-inline:calc(-1 * var(--page));
    }

    .services-discipline h2{
        font-size:clamp(2.35rem,12vw,3.5rem);
    }

    .services-projects-cta__shade{
        background:
            linear-gradient(90deg,rgb(2 10 23 / .92),rgb(2 10 23 / .58)),
            linear-gradient(0deg,rgb(2 10 23 / .86),transparent 76%);
    }
}

@media (prefers-reduced-motion:reduce){
    .services-index a,
    .services-index svg{
        transition:none;
    }
}

/* Projects catalogue and project-detail foundation */
.projects-page,
.project-detail{
    --projects-canvas:oklch(97% .008 247);
    background:var(--projects-canvas);
}

.projects-hero{
    min-height:clamp(38rem,78svh,48rem);
}

.projects-hero .hero-shade{
    background:
        linear-gradient(90deg,rgb(2 10 23 / .95) 0%,rgb(2 10 23 / .84) 38%,rgb(2 10 23 / .16) 82%),
        linear-gradient(0deg,rgb(2 10 23 / .72),transparent 60%);
}

.projects-hero .hero-content{
    max-width:61rem;
    padding-block:clamp(var(--space-16),10vw,var(--space-24));
}

.projects-hero h1{
    font-size:clamp(3.5rem,8vw,6rem);
    font-weight:590;
}

.projects-hero p{
    max-width:59rem;
    color:rgb(255 255 255 / .92);
}

.projects-fallback-note,
.project-detail__fallback-note{
    margin:0;
    padding:var(--space-4) var(--page);
    border-block:1px solid oklch(83% .045 247);
    background:oklch(94% .025 247);
    color:oklch(34% .055 247);
    font-size:.92rem;
}

.projects-sectors{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    background:var(--white);
}

.projects-sectors>header{
    max-width:68rem;
    margin-bottom:clamp(var(--space-8),5vw,var(--space-16));
}

.projects-sectors>header h2{
    max-width:20ch;
    margin:0 0 var(--space-6);
    font-size:clamp(2.5rem,6vw,5rem);
    font-weight:540;
}

.projects-sectors>header p{
    max-width:62ch;
    margin:0;
    color:var(--muted);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
}

.projects-sectors__list{
    border-top:1px solid var(--line);
}

.projects-sectors__list article{
    display:grid;
    gap:var(--space-3);
    padding:var(--space-8) 0;
    border-bottom:1px solid var(--line);
}

.projects-sectors__list h3{
    margin:0;
    color:var(--navy);
    font-size:clamp(1.5rem,2.5vw,2rem);
    font-weight:620;
}

.projects-sectors__list p{
    max-width:58ch;
    margin:0;
    color:var(--muted);
}

.projects-introduction{
    display:grid;
    background:var(--navy);
    color:var(--white);
}

.projects-introduction__content{
    align-self:center;
    padding:clamp(var(--space-12),8vw,var(--space-24)) var(--page);
}

.projects-introduction h2{
    max-width:15ch;
    margin:0 0 var(--space-8);
    font-size:clamp(2.5rem,5.4vw,4.75rem);
    font-weight:540;
}

.projects-introduction p{
    max-width:62ch;
    margin:0 0 var(--space-6);
    color:rgb(255 255 255 / .82);
    font-size:clamp(1rem,1.2vw,1.15rem);
}

.projects-introduction figure{
    min-height:24rem;
    margin:0;
    overflow:hidden;
}

.projects-introduction picture,
.projects-introduction img{
    width:100%;
    height:100%;
}

.projects-introduction img{
    object-fit:cover;
}

.projects-text-link{
    display:inline-flex;
    align-items:center;
    gap:var(--space-3);
    min-height:2.75rem;
    margin-top:var(--space-2);
    color:var(--cyan);
    font-weight:720;
}

.projects-text-link svg,
.projects-card__link svg{
    width:1.25rem;
    height:1.25rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .18s ease;
}

.projects-text-link:is(:hover,:focus-visible) svg,
.projects-card a:is(:hover,:focus-visible) .projects-card__link svg{
    transform:translateX(.3rem);
}

.projects-catalogue{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
}

.projects-catalogue__heading{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:var(--space-8);
    align-items:flex-end;
    margin-bottom:var(--space-12);
}

.projects-catalogue__heading h2{
    margin:0 0 var(--space-4);
    font-size:clamp(2.75rem,6vw,5rem);
    font-weight:550;
}

.projects-catalogue__heading>div>p{
    max-width:64ch;
    margin:0;
    color:var(--muted);
}

.projects-catalogue__total{
    margin:0;
    color:var(--muted);
    white-space:nowrap;
}

.projects-catalogue__total strong{
    color:var(--blue);
    font-size:1.5rem;
}

.projects-controls{
    display:grid;
    gap:var(--space-8);
    margin-bottom:var(--space-6);
    padding:var(--space-6);
    border-block:1px solid var(--line);
    background:var(--white);
}

.projects-search label,
.projects-filters legend{
    display:block;
    margin-bottom:var(--space-3);
    color:var(--navy);
    font-size:.875rem;
    font-weight:720;
}

.projects-search>div{
    position:relative;
}

.projects-search svg{
    position:absolute;
    inset-inline-start:var(--space-4);
    inset-block-start:50%;
    width:1.25rem;
    height:1.25rem;
    transform:translateY(-50%);
    fill:none;
    stroke:var(--muted);
    stroke-width:1.8;
    pointer-events:none;
}

.projects-search input{
    width:100%;
    min-height:3.25rem;
    padding:.75rem var(--space-4) .75rem 3rem;
    border:1px solid oklch(75% .02 247);
    border-radius:var(--radius);
    background:var(--white);
    color:var(--ink);
}

.projects-search input::placeholder{
    color:var(--muted);
    opacity:1;
}

.projects-search input:focus{
    border-color:var(--blue);
    outline:3px solid oklch(60% .18 247 / .22);
    outline-offset:1px;
}

.projects-filters{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}

.projects-filters>div{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
}

.projects-results-status{
    margin:0 0 var(--space-8);
    color:var(--muted);
    font-size:.92rem;
}

.projects-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,20.5rem),1fr));
    gap:var(--space-6);
}

.projects-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:.5rem;
    background:var(--white);
}

.projects-card>a{
    height:100%;
    display:flex;
    flex-direction:column;
}

.projects-card__media{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--navy);
}

.projects-card__media picture,
.projects-card__media img{
    width:100%;
    height:100%;
}

.projects-card__media img{
    object-fit:cover;
    filter:saturate(.82);
    transition:transform .25s cubic-bezier(.22,1,.36,1),filter .25s ease;
}

.projects-card__media--sector{
    display:grid;
    place-items:center;
    background:oklch(22% .06 247);
}

.projects-card__media--sector picture{
    display:grid;
    width:7rem;
    height:7rem;
    place-items:center;
}

.projects-card__media--sector img{
    object-fit:contain;
    filter:none;
    transition:none;
}

.projects-card__media>span{
    position:absolute;
    inset-inline-start:var(--space-4);
    inset-block-end:var(--space-4);
    padding:.4rem .7rem;
    border-radius:999px;
    background:rgb(2 10 23 / .9);
    color:var(--white);
    font-size:.75rem;
    font-weight:720;
}

.projects-card__content{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:var(--space-6);
}

.projects-card h3{
    max-width:20ch;
    margin:0 0 var(--space-6);
    color:var(--navy);
    font-size:clamp(1.5rem,2.2vw,1.9rem);
    font-weight:610;
    overflow-wrap:anywhere;
}

.projects-card dl{
    margin:0 0 var(--space-4);
}

.projects-card dl>div{
    display:grid;
    grid-template-columns:4.5rem minmax(0,1fr);
    gap:var(--space-3);
    padding-block:var(--space-2);
    border-top:1px solid var(--line);
}

.projects-card dt{
    color:var(--muted);
    font-size:.75rem;
    font-weight:680;
}

.projects-card dd{
    margin:0;
    font-size:.86rem;
    line-height:1.5;
}

.projects-card__services{
    display:-webkit-box;
    margin:0 0 var(--space-6);
    overflow:hidden;
    color:var(--muted);
    font-size:.86rem;
    line-height:1.5;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.projects-card__link{
    display:flex;
    align-items:center;
    gap:var(--space-2);
    margin-top:auto;
    color:var(--blue);
    font-size:.875rem;
    font-weight:720;
}

.projects-card a:is(:hover,:focus-visible) .projects-card__media:not(.projects-card__media--sector) img{
    transform:scale(1.025);
    filter:saturate(1);
}

.projects-card a:focus-visible{
    outline-offset:-4px;
}

.projects-empty{
    padding:clamp(var(--space-12),8vw,var(--space-24));
    border-block:1px solid var(--line);
    text-align:center;
}

.projects-empty h3{
    margin:0 0 var(--space-4);
    font-size:clamp(2rem,4vw,3rem);
}

.projects-empty p{
    margin:0 0 var(--space-8);
    color:var(--muted);
}

.projects-final-cta{
    display:grid;
    gap:var(--space-8);
    align-items:end;
    padding:clamp(var(--space-12),8vw,var(--space-24)) var(--page);
    background:var(--blue);
    color:var(--white);
}

.projects-final-cta h2{
    max-width:17ch;
    margin:0 0 var(--space-4);
    font-size:clamp(2.5rem,5vw,4.5rem);
    font-weight:550;
}

.projects-final-cta p{
    max-width:58ch;
    margin:0;
    color:rgb(255 255 255 / .88);
}

.projects-final-cta .actions{
    align-self:end;
}

.project-detail__core{
    padding:clamp(var(--space-12),6vw,var(--space-16)) var(--page);
    background:var(--white);
}

.project-detail__core-inner,
.project-related__inner{
    width:min(100%,82rem);
    margin-inline:auto;
}

.project-detail__core-inner{
    display:grid;
    gap:clamp(var(--space-12),6vw,var(--space-16));
}

.project-detail__facts,
.project-detail__overview{
    min-width:0;
}

.project-detail__facts-header{
    margin-bottom:var(--space-8);
}

.project-detail__facts-header h2{
    max-width:18ch;
    margin:0;
    color:var(--navy);
    font-size:clamp(2rem,3.5vw,2.75rem);
    font-weight:570;
}

.project-detail__facts dl{
    display:grid;
    overflow:hidden;
    margin:0;
    border-radius:var(--radius);
    background:var(--navy);
    color:var(--white);
}

.project-detail__fact{
    min-width:0;
    padding:clamp(var(--space-4),2vw,var(--space-6));
    border-bottom:1px solid rgb(255 255 255 / .14);
}

.project-detail__fact:last-child{
    border-bottom:0;
}

.project-detail__facts dt{
    margin-bottom:var(--space-2);
    color:var(--cyan);
    font-size:.8rem;
    font-weight:720;
}

.project-detail__facts dd{
    max-width:65ch;
    margin:0;
    color:var(--white);
    font-size:clamp(.98rem,1.1vw,1.08rem);
    line-height:1.6;
    overflow-wrap:anywhere;
}

.project-detail[dir="rtl"] .project-detail__facts dd,
.project-detail[dir="rtl"] .project-detail__facts li,
.project-detail[dir="rtl"] .project-detail__prose p,
.project-detail-hero [dir="rtl"] .public-page-hero__content p{
    unicode-bidi:plaintext;
}

.project-detail bdi,
.project-detail-hero bdi{
    overflow-wrap:anywhere;
}

.project-detail__fact--services ul{
    display:grid;
    gap:var(--space-3) var(--space-6);
    margin:0;
    padding:0;
    list-style:none;
}

.project-detail__fact--services li{
    position:relative;
    padding-inline-start:var(--space-4);
}

.project-detail__fact--services li::before{
    content:"";
    position:absolute;
    inset-inline-start:0;
    inset-block-start:.72em;
    width:.38rem;
    height:.38rem;
    border-radius:50%;
    background:var(--cyan);
}

.project-detail__overview-inner{
    display:grid;
    gap:clamp(var(--space-6),4vw,var(--space-8));
}

.project-detail__overview-inner>header{
    min-width:0;
}

.project-detail__overview h2{
    max-width:18ch;
    margin:0;
    font-size:clamp(2.15rem,4vw,3.25rem);
    font-weight:570;
}

.project-detail__prose{
    max-width:70ch;
}

.project-detail__prose p{
    margin:0 0 var(--space-6);
    font-size:clamp(1rem,1.15vw,1.1rem);
    line-height:1.75;
}

.project-detail__prose p:first-child{
    color:var(--navy);
    font-size:clamp(1.08rem,1.4vw,1.25rem);
    line-height:1.7;
}

.project-detail__prose p:last-child{
    margin-bottom:0;
}

.project-external-link{
    color:var(--blue);
    font-weight:680;
    text-decoration-line:underline;
    text-decoration-color:color-mix(in oklch,var(--blue) 42%,transparent);
    text-decoration-thickness:.08em;
    text-underline-offset:.18em;
    transition:color 200ms cubic-bezier(.22,1,.36,1),text-decoration-color 200ms cubic-bezier(.22,1,.36,1);
}

.project-external-link svg{
    display:inline-block;
    width:.88em;
    height:.88em;
    margin-inline-start:.22em;
    overflow:visible;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    vertical-align:-.08em;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

.project-external-link:is(:hover,:focus-visible){
    color:var(--navy);
    text-decoration-color:currentColor;
}

.project-external-link:is(:hover,:focus-visible) svg{
    transform:translate(.12em,-.12em);
}

.project-detail__collaboration,
.project-detail__references{
    margin-top:clamp(var(--space-6),4vw,var(--space-8));
    padding:clamp(var(--space-4),2vw,var(--space-6));
    border-radius:var(--radius);
    background:var(--projects-canvas);
}

.project-detail__collaboration h3,
.project-detail__references h3{
    margin:0 0 var(--space-4);
    color:var(--navy);
    font-size:clamp(1.35rem,2vw,1.75rem);
    font-weight:620;
}

.project-detail__collaboration ul,
.project-detail__references ul{
    display:grid;
    gap:var(--space-2);
    margin:0;
    padding:0;
    list-style:none;
}

.project-detail__collaboration li,
.project-detail__references li{
    display:flex;
    align-items:center;
    min-height:0;
    padding:0;
    line-height:1.5;
}

.project-detail__collaboration li>.project-external-link,
.project-detail__references li>.project-external-link{
    display:inline-flex;
    min-height:2.75rem;
    align-items:center;
}

html[dir=rtl] .project-external-link svg{
    transform:scaleX(-1);
}

html[dir=rtl] .project-external-link:is(:hover,:focus-visible) svg{
    transform:scaleX(-1) translate(.12em,-.12em);
}

html[dir=rtl] .project-map__link svg{
    transform:scaleX(-1);
}

html[dir=rtl] .project-map__link:is(:hover,:focus-visible) svg{
    transform:scaleX(-1) translateX(.3rem);
}

.project-related{
    padding:clamp(var(--space-12),6vw,var(--space-16)) var(--page);
    background:var(--paper);
}

.project-related__header{
    margin-bottom:clamp(var(--space-6),4vw,var(--space-8));
}

.project-related__header h2{
    max-width:18ch;
    margin:0;
    color:var(--navy);
    font-size:clamp(2.15rem,4vw,3.25rem);
    font-weight:570;
}

.project-detail__facts-header h2,
.project-detail__overview h2,
.project-gallery__inner h2,
.project-map__inner h2,
.project-related__header h2{
    max-width:18ch;
    margin:0;
    font-size:clamp(2rem,3.4vw,3rem);
    font-weight:570;
    line-height:1.15;
    text-wrap:balance;
}

.project-related__grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));
    gap:clamp(var(--space-4),2vw,var(--space-6));
    align-items:stretch;
}

.project-related__card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
}

.project-related__card>a{
    display:flex;
    min-height:100%;
    flex-direction:column;
    color:inherit;
    text-decoration:none;
}

.project-related__card>a:focus-visible{
    outline:3px solid var(--blue);
    outline-offset:3px;
}

.project-related__media{
    display:block;
    overflow:hidden;
    aspect-ratio:16/9;
    background:var(--navy);
}

.project-related__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

.project-related__content{
    display:flex;
    min-height:10.5rem;
    padding:var(--space-6);
    flex-direction:column;
}

.project-related__sector{
    margin-bottom:var(--space-2);
    color:var(--blue);
    font-size:.75rem;
    font-weight:720;
}

.project-related__title{
    display:block;
    min-height:2.4em;
    color:var(--navy);
    font-size:clamp(1.3rem,1.9vw,1.65rem);
    font-weight:620;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.project-related__link{
    display:flex;
    min-height:2.75rem;
    gap:var(--space-2);
    align-items:center;
    margin-top:auto;
    color:var(--blue);
    font-size:.875rem;
    font-weight:720;
}

.project-related__link svg{
    width:1rem;
    height:1rem;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.75;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

.project-related__card>a:is(:hover,:focus-visible) .project-related__media img{
    transform:scale(1.025);
}

.project-related__card>a:is(:hover,:focus-visible) .project-related__link svg{
    transform:translateX(.25rem);
}

html[dir=rtl] .project-related__link svg{
    transform:scaleX(-1);
}

html[dir=rtl] .project-related__card>a:is(:hover,:focus-visible) .project-related__link svg{
    transform:scaleX(-1) translateX(.25rem);
}

@media (min-width:640px){
    .projects-sectors__list article{
        grid-template-columns:minmax(10rem,4fr) minmax(0,8fr);
        gap:var(--space-8);
        align-items:start;
    }

    .project-detail__facts dl{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .project-detail__fact{
        border-inline-end:1px solid rgb(255 255 255 / .14);
    }

    .project-detail__fact:nth-child(2n),
    .project-detail__fact--services{
        border-inline-end:0;
    }

    .project-detail__fact--services{
        grid-column:1/-1;
    }

    .project-detail__fact--services ul{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media (min-width:900px){
    .projects-introduction{
        grid-template-columns:repeat(2,minmax(0,1fr));
        min-height:44rem;
    }

    .projects-introduction__content{
        padding-inline-end:clamp(var(--space-8),6vw,var(--space-24));
    }

    .projects-controls{
        grid-template-columns:minmax(20rem,1fr) minmax(0,1.35fr);
        align-items:end;
    }

    .projects-final-cta{
        grid-template-columns:minmax(0,1fr) auto;
    }

    .project-detail__facts dl{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .project-detail__fact:nth-child(2n){
        border-inline-end:1px solid rgb(255 255 255 / .14);
    }

    .project-detail__fact:nth-child(3n),
    .project-detail__fact--services{
        border-inline-end:0;
    }

    .project-detail__fact--services{
        grid-column:1/-1;
    }

    .project-gallery__inner>header{
        grid-template-columns:minmax(16rem,4fr) minmax(0,8fr);
        gap:clamp(var(--space-8),6vw,var(--space-16));
        align-items:end;
    }

}

@media (min-width:1024px){
    .project-detail__core-inner{
        grid-template-columns:minmax(18rem,4fr) minmax(0,8fr);
        gap:clamp(var(--space-12),5vw,var(--space-16));
        align-items:start;
    }

    .project-detail__core-inner--single{
        grid-template-columns:minmax(0,8fr);
    }

    .project-detail__core-inner--single .project-detail__overview{
        max-width:70ch;
    }

    .project-detail__facts dl,
    .project-detail__fact--services ul{
        grid-template-columns:1fr;
    }

    .project-detail__fact,
    .project-detail__fact:nth-child(2n),
    .project-detail__fact:nth-child(3n),
    .project-detail__fact--services{
        grid-column:auto;
        border-inline-end:0;
    }

    .project-map__inner{
        display:grid;
        grid-template-columns:minmax(16rem,4fr) minmax(0,8fr);
        grid-template-rows:auto 1fr;
        gap:var(--space-4) clamp(var(--space-12),5vw,var(--space-16));
        align-items:start;
    }

    .project-map__inner>header{
        grid-column:1;
        margin:0;
    }

    .project-map__frame{
        grid-column:2;
        grid-row:1/3;
    }

    .project-map__link{
        grid-column:1;
        align-self:end;
        margin-top:0;
    }
}

@media (max-width:600px){
    .projects-hero{
        min-height:calc(100svh - 4.75rem);
    }

    .projects-hero .hero-shade{
        background:
            linear-gradient(90deg,rgb(2 10 23 / .94),rgb(2 10 23 / .68)),
            linear-gradient(0deg,rgb(2 10 23 / .84),transparent 72%);
    }

    .projects-hero .hero-content{
        padding-block:var(--space-12);
    }

    .projects-hero h1{
        font-size:clamp(3.15rem,16vw,4.4rem);
        overflow-wrap:anywhere;
    }

    .projects-hero p{
        font-size:1rem;
    }

    .projects-introduction figure{
        min-height:20rem;
    }

    .projects-controls{
        margin-inline:calc(-1 * var(--page));
        padding-inline:var(--page);
    }

    .projects-search input{
        padding-inline-end:var(--space-4);
    }

    .projects-grid{
        grid-template-columns:1fr;
    }

    .projects-card__content{
        padding:var(--space-6);
    }

    .project-detail__core,
    .project-gallery,
    .project-map,
    .project-related{
        padding-block:var(--space-12);
    }

    .project-detail__facts-header,
    .project-related__header{
        margin-bottom:var(--space-6);
    }

    .project-detail__facts dl{
        grid-template-columns:1fr;
    }

    .project-detail__fact,
    .project-detail__fact:nth-child(2n),
    .project-detail__fact:nth-child(3n),
    .project-detail__fact--services{
        grid-column:auto;
        border-inline-end:0;
    }

    .project-detail__fact--services ul{
        grid-template-columns:1fr;
    }

    .project-detail__overview-inner{
        gap:var(--space-6);
    }

    .project-gallery__grid{
        gap:var(--space-4);
    }

    .project-map__canvas{
        height:18rem;
    }

    .project-map__link{
        width:100%;
        justify-content:space-between;
    }

    .project-related__card>a{
        display:grid;
        grid-template-columns:minmax(7rem,2fr) minmax(0,3fr);
    }

    .project-related__media{
        min-height:9rem;
        aspect-ratio:auto;
    }

    .project-related__content{
        min-height:9rem;
        padding:var(--space-4);
    }

    .project-related__sector{
        margin-bottom:var(--space-1);
        font-size:.7rem;
    }

    .project-related__title{
        min-height:0;
        font-size:clamp(1.1rem,5.4vw,1.35rem);
    }

    .project-related__link{
        margin-top:var(--space-3);
    }

}

@media (pointer:coarse){
    .projects-text-link,
    .projects-card__link,
    .project-related__link{
        min-height:2.75rem;
    }
}

@media (prefers-reduced-motion:reduce){
    .projects-text-link svg,
    .projects-card__link svg,
    .projects-card__media img,
    .project-external-link,
    .project-external-link svg{
        transition:none;
    }

    .project-external-link svg,
    .project-external-link:is(:hover,:focus-visible) svg,
    html[dir=rtl] .project-external-link svg,
    html[dir=rtl] .project-external-link:is(:hover,:focus-visible) svg{
        transform:none;
    }

    .project-related__media img,
    .project-related__link svg{
        transition:none;
    }
}

/* Keep honeypot fields visually hidden without extending RTL page geometry. */
.trap{
    position:fixed;
    inset:0 auto auto 0;
    left:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
}

/* Primary WordPress headers: structured copy, proof rail, and capability strip. */
.public-page-hero.primary-page-header{
    display:flex;
    min-height:clamp(42rem,78svh,52rem);
    flex-direction:column;
    justify-content:flex-end;
    padding:clamp(7rem,10vw,10rem) var(--page) 0;
}

.primary-page-header .hero-shade{
    z-index:-1;
    background:
        linear-gradient(90deg,rgb(2 8 18 / .96) 0%,rgb(2 8 18 / .84) 32%,rgb(2 8 18 / .36) 72%,rgb(2 8 18 / .12) 100%),
        linear-gradient(0deg,rgb(2 8 18 / .88) 0%,rgb(2 8 18 / .1) 66%);
}

html[dir="rtl"] .primary-page-header .hero-shade{
    background:
        linear-gradient(-90deg,rgb(2 8 18 / .96) 0%,rgb(2 8 18 / .84) 32%,rgb(2 8 18 / .36) 72%,rgb(2 8 18 / .12) 100%),
        linear-gradient(0deg,rgb(2 8 18 / .88) 0%,rgb(2 8 18 / .1) 66%);
}

.public-page-hero__inner{
    position:relative;
    z-index:1;
    display:grid;
    width:min(100%,92rem);
    grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);
    gap:clamp(2rem,5vw,6rem);
    align-items:end;
    margin-inline:auto;
}

.primary-page-header .public-page-hero__content{
    max-width:55rem;
    padding:0 0 clamp(2rem,4vw,4rem);
}

.primary-page-header .public-page-hero__content h1{
    max-width:12ch;
    margin-block-end:1.25rem;
    font-size:clamp(3.4rem,6.2vw,6.5rem);
    font-weight:590;
    letter-spacing:-.045em;
    line-height:.92;
    text-wrap:balance;
}

.primary-page-header .public-page-hero__content>p{
    max-width:62ch;
    color:rgb(255 255 255 / .9);
    font-size:clamp(1rem,1.25vw,1.2rem);
    line-height:1.7;
    text-wrap:pretty;
}

.primary-page-header .button{
    min-width:11rem;
}

.public-page-hero__statistics{
    display:grid;
    margin:0 0 clamp(2rem,4vw,4rem);
    padding:0;
    border-inline-start:1px solid rgb(255 255 255 / .24);
}

.public-page-hero__statistics>div{
    display:grid;
    min-width:0;
    grid-template-columns:2.4rem minmax(0,1fr);
    gap:.1rem 1rem;
    align-items:center;
    padding:1.1rem 1.25rem;
    border-block-start:1px solid rgb(255 255 255 / .16);
}

.public-page-hero__statistics>div:last-child{
    border-block-end:1px solid rgb(255 255 255 / .16);
}

.public-page-hero__statistics .section-icon{
    grid-row:1/3;
    width:1.75rem;
    height:1.75rem;
    color:var(--cyan);
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.public-page-hero__statistics dt{
    grid-column:2;
    color:rgb(255 255 255 / .68);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.public-page-hero__statistics dd{
    grid-column:2;
    margin:0;
    color:var(--white);
    font-size:clamp(1.35rem,2vw,2rem);
    font-weight:650;
    letter-spacing:-.02em;
    line-height:1.05;
}

.public-page-hero__capabilities{
    position:relative;
    z-index:1;
    display:grid;
    width:min(100%,92rem);
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-inline:auto;
    border-block-start:1px solid rgb(255 255 255 / .22);
    background:rgb(4 17 31 / .76);
    backdrop-filter:blur(.65rem);
}

.public-page-hero__capabilities article{
    display:grid;
    min-width:0;
    grid-template-columns:2rem minmax(0,1fr);
    gap:1rem;
    padding:clamp(1.25rem,2vw,2rem);
    border-inline-end:1px solid rgb(255 255 255 / .17);
}

.public-page-hero__capabilities article:last-child{
    border-inline-end:0;
}

.public-page-hero__capabilities .section-icon{
    width:1.7rem;
    height:1.7rem;
    color:var(--cyan);
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.public-page-hero__capabilities h2{
    margin:0 0 .45rem;
    color:var(--white);
    font-size:clamp(.98rem,1.15vw,1.2rem);
    font-weight:680;
    letter-spacing:.02em;
    line-height:1.15;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}

.public-page-hero__capabilities p{
    margin:0;
    color:rgb(255 255 255 / .7);
    font-size:.82rem;
    line-height:1.45;
}

.primary-page-header--home{
    min-height:calc(100svh - 5.75rem);
}

.primary-page-header--home .public-page-hero__inner{
    grid-template-columns:minmax(0,8fr) minmax(0,4fr);
}

.home-solution-gas .home-solution-media{
    min-height:0;
    aspect-ratio:767/1152;
}

.home-solution-gas .home-solution-media img{
    object-fit:cover;
    object-position:center;
    filter:saturate(.86) contrast(1.03);
}

.home-solution-gas .home-solution-list article{
    grid-template-columns:3rem minmax(0,1fr);
}

.home-solution-gas .home-gas-icon{
    display:grid;
    width:3rem;
    height:3rem;
    place-items:center;
    color:var(--cyan);
}

.home-solution-gas .home-gas-icon img{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}

@media (max-width:1023px){
    .public-page-hero.primary-page-header{
        min-height:auto;
        padding-block-start:8rem;
    }

    .public-page-hero__inner{
        grid-template-columns:1fr;
        gap:1rem;
    }

    .primary-page-header .public-page-hero__content{
        padding-block-end:1rem;
    }

    .public-page-hero__statistics{
        grid-template-columns:repeat(3,minmax(0,1fr));
        border-inline-start:0;
    }

    .public-page-hero__statistics>div{
        border-block-end:1px solid rgb(255 255 255 / .16);
        border-inline-start:1px solid rgb(255 255 255 / .16);
    }

    .public-page-hero__capabilities{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .public-page-hero__capabilities article{
        border-block-end:1px solid rgb(255 255 255 / .17);
    }

    .home-solution-gas .home-gas-icon img{
        width:44px;
        height:44px;
    }
}

@media (max-width:620px){
    .public-page-hero.primary-page-header{
        padding:7rem var(--page) 0;
    }

    .primary-page-header .public-page-hero__content h1{
        font-size:clamp(2.75rem,15vw,4.25rem);
        overflow-wrap:anywhere;
    }

    .primary-page-header .public-page-hero__content>p{
        font-size:.98rem;
        line-height:1.62;
    }

    .public-page-hero__statistics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .public-page-hero__statistics>div{
        grid-template-columns:1.8rem minmax(0,1fr);
        padding:1rem .65rem;
    }

    .public-page-hero__statistics>div:last-child:nth-child(odd){
        grid-column:1/-1;
    }

    .public-page-hero__statistics .section-icon{
        width:1.45rem;
        height:1.45rem;
    }

    .public-page-hero__statistics dd{
        font-size:1.25rem;
    }

    .public-page-hero__capabilities{
        grid-template-columns:1fr;
    }

    .public-page-hero__capabilities article{
        border-inline-end:0;
    }

    .home-solution-gas .home-solution-list article{
        grid-template-columns:2.25rem minmax(0,1fr);
    }

    .home-solution-gas .home-gas-icon{
        width:2.25rem;
        height:2.25rem;
    }

    .home-solution-gas .home-gas-icon img{
        width:36px;
        height:36px;
    }
}

/* Unified bilingual header
   The physical grid stays LTR in both cultures; only text flow changes. */
.site-header{
    --site-nav-font-size:1rem;
    --site-nav-font-weight:400;
    --site-nav-line-height:1.5;
    --site-nav-letter-spacing:0;
    --site-nav-item-min-height:2.75rem;
    --site-nav-item-padding-block:.5625rem;
    position:relative;
    z-index:50;
    display:block;
    width:100%;
    height:60px;
    padding:0;
    background:#fff;
    border:0;
}

.site-header__inner{
    display:grid;
    direction:ltr;
    width:min(100%,100rem);
    height:60px;
    margin-inline:auto;
    padding-inline:clamp(20px,3vw,40px);
    grid-template-columns:62px minmax(0,1fr) 52px;
    column-gap:clamp(16px,2.25vw,36px);
    align-items:center;
}

.site-header .brand{
    display:inline-flex;
    align-items:center;
    justify-self:start;
}

.site-header .brand img{
    width:62px;
    height:34px;
    aspect-ratio:62/34;
    object-fit:contain;
}

.site-header__navigation{
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:flex-end;
    gap:20px;
    direction:ltr;
}

.site-header .site-nav{
    display:grid;
    width:42.25rem;
    flex:0 0 42.25rem;
    grid-template-columns:4.5rem 6.25rem 5.25rem 5.75rem 4.25rem 8.25rem 6.5rem;
    gap:.25rem;
    align-items:center;
    direction:ltr;
    font-size:var(--site-nav-font-size);
    font-weight:var(--site-nav-font-weight);
    line-height:var(--site-nav-line-height);
    letter-spacing:var(--site-nav-letter-spacing);
    text-transform:none;
    white-space:nowrap;
}

html[dir=rtl] .site-header .site-nav{
    direction:rtl;
}

.site-header .site-nav a{
    position:relative;
    min-height:var(--site-nav-item-min-height);
    min-width:0;
    padding:var(--site-nav-item-padding-block) .25rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#1c244b;
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    line-height:inherit;
    letter-spacing:inherit;
    font-synthesis:none;
    text-align:center;
}

/* Keep every navigation state metrically identical. State is communicated
   through color and a fixed-width accent, never through type or box changes. */
.site-header .site-nav a:is(:link,:visited,:hover,:focus-visible,:active,.is-active,[aria-current="page"]){
    min-height:var(--site-nav-item-min-height);
    padding-block:var(--site-nav-item-padding-block);
    font-size:var(--site-nav-font-size);
    font-weight:var(--site-nav-font-weight);
    line-height:var(--site-nav-line-height);
    letter-spacing:var(--site-nav-letter-spacing);
}

.site-header .site-nav__item--home{grid-column:1}
.site-header .site-nav__item--about{grid-column:2}
.site-header .site-nav__item--services{grid-column:3}
.site-header .site-nav__item--projects{grid-column:4}
.site-header .site-nav__item--qhse{grid-column:5}
.site-header .site-nav__item--careers{grid-column:6}
.site-header .site-nav__item--contact-us{grid-column:7}

.site-header .site-nav a::after{
    content:"";
    position:absolute;
    inset-inline:auto;
    left:50%;
    inset-block-end:4px;
    width:2rem;
    height:2px;
    background:#1077d6;
    transform:translateX(-50%) scaleX(0);
    transform-origin:center;
    transition:transform .2s cubic-bezier(.22,1,.36,1);
}

.site-header .site-nav a:is(:hover,:focus-visible,.is-active,[aria-current="page"]){
    color:#1077d6;
}

.site-header .site-nav a:is(:hover,:focus-visible,.is-active,[aria-current="page"])::after{
    transform:translateX(-50%) scaleX(1);
}

.site-header-search{
    position:relative;
    direction:ltr;
    flex:0 0 15.25rem;
    width:15.25rem;
    height:44px;
}

.site-header-search input{
    width:100%;
    height:44px;
    padding:5px 48px 5px 14px;
    border:1px solid #cdcdcd;
    border-radius:22px;
    background:#fff;
    color:#1c244b;
    font-size:1rem;
    font-weight:400;
    line-height:1;
}

html[dir=rtl] .site-header-search input{
    direction:rtl;
    text-align:right;
}

.site-header-search input::placeholder{
    color:#626777;
    opacity:1;
}

.site-header-search input:focus{
    border-color:#1077d6;
    outline:3px solid rgb(16 119 214 / .22);
    outline-offset:1px;
}

.site-header-search .button{
    position:absolute;
    inset-block-start:50%;
    inset-inline-end:0;
    width:44px;
    height:44px;
    margin-block-start:-22px;
    border-radius:0 22px 22px 0;
}

.site-header-search svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.site-header .header-tools{
    width:52px;
    min-width:52px;
    height:60px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    direction:ltr;
    border:0;
}

.site-header .language-link{
    min-width:44px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#1077d6;
    font-size:.875rem;
    font-weight:700;
}

.site-header .language-link:hover{
    background:rgb(16 119 214 / .08);
}

.site-header .menu-toggle{
    display:none;
}

.home-page .public-page-hero.home-page-hero{
    position:relative;
    display:block;
    width:calc(100% - 20px);
    height:clamp(630px,calc(100svh - 90px),900px);
    min-height:630px;
    margin:10px;
    padding:0;
    overflow:hidden;
    border-radius:10px;
    background:#020812;
    color:#fff;
}

.home-page .home-page-hero .public-page-hero__media{
    position:absolute;
    z-index:-2;
    inset:0;
}

.home-page .home-page-hero .public-page-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    opacity:1;
}

.home-page .home-page-hero .hero-shade{
    z-index:-1;
    background:linear-gradient(
        90deg,
        rgb(2 8 18 / .9) 0%,
        rgb(2 8 18 / .68) 30%,
        rgb(2 8 18 / .42) 44%,
        rgb(2 8 18 / .16) 60%,
        rgb(2 8 18 / 0) 78%);
}

html[dir=rtl] .home-page .home-page-hero .hero-shade{
    background:linear-gradient(
        -90deg,
        rgb(2 8 18 / .9) 0%,
        rgb(2 8 18 / .68) 30%,
        rgb(2 8 18 / .42) 44%,
        rgb(2 8 18 / .16) 60%,
        rgb(2 8 18 / 0) 78%);
}

.home-page .home-page-hero .public-page-hero__inner{
    position:relative;
    z-index:1;
    width:min(101rem,calc(100% - clamp(5rem,13vw,15.5rem)));
    height:100%;
    min-height:0;
    margin-inline:auto;
    padding:clamp(42px,7svh,70px) 0 clamp(56px,7svh,72px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
}

.home-page .home-page-hero .public-page-hero__content{
    width:min(38rem,100%);
    max-width:38rem;
    padding:0;
    animation:public-hero-enter .22s cubic-bezier(.22,1,.36,1) both;
}

.home-page .home-page-hero .eyebrow{
    min-height:26px;
    margin:0 0 clamp(14px,2.6svh,26px);
    display:flex;
    align-items:center;
    gap:18px;
    color:var(--hero-accent);
    font-size:16px;
    font-weight:500;
    line-height:1.6;
    letter-spacing:1.28px;
    text-transform:uppercase;
}

.home-page .home-page-hero .eyebrow::before{
    content:"";
    flex:0 0 38px;
    width:38px;
    height:3px;
    background:var(--hero-accent);
}

.home-page .home-page-hero .public-page-hero__content h1{
    max-width:none;
    margin:0 0 30px;
    color:#fff;
    font-size:clamp(42px,4.1vw,76px);
    font-weight:300;
    line-height:1.08;
    letter-spacing:-.03em;
    white-space:nowrap;
    text-wrap:nowrap;
}

.home-page .home-page-hero .public-page-hero__content h1>span{
    display:inline;
}

.home-page .home-page-hero .home-page-hero__title-accent{
    color:var(--hero-accent);
}

.home-page-hero__divider{
    width:94px;
    height:2px;
    margin:0 0 24px;
    display:block;
    background:linear-gradient(90deg,#fff 0 46%,var(--hero-accent) 46% 100%);
}

html[dir=rtl] .home-page-hero__divider{
    transform:scaleX(-1);
}

.home-page .home-page-hero .public-page-hero__content>p{
    max-width:36rem;
    margin:0;
    color:rgb(255 255 255 / .92);
    font-size:17px;
    font-weight:350;
    line-height:1.65;
    text-align:start;
}

.home-page .home-page-hero .public-page-hero__commitment{
    position:relative;
    inset:auto;
    z-index:2;
    width:min(61rem,60%);
    min-height:88px;
    margin:auto 0 0;
    padding:22px 28px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:10px;
    background:rgb(8 13 22 / .86);
    box-shadow:none;
}

.home-page .home-page-hero .public-page-hero__commitment p{
    margin:0;
    color:#fff;
    font-size:16px;
    font-weight:400;
    line-height:1.6;
}

.home-page .home-page-hero .public-page-hero__commitment a{
    flex:0 0 auto;
    white-space:nowrap;
}

.home-page .home-page-hero .public-page-hero__commitment svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}

html[dir=rtl] .home-page .home-page-hero .public-page-hero__commitment svg{
    transform:scaleX(-1);
}

@media (max-width:1199px){
    .site-header{
        --site-nav-item-min-height:3.5rem;
        --site-nav-item-padding-block:.75rem;
    }

    .site-header__inner{
        width:100%;
        margin:0;
        grid-template-columns:minmax(0,1fr) auto auto;
        column-gap:8px;
        padding:0 12px 0 20px;
    }

    .site-header .brand{
        justify-self:start;
    }

    .site-header .menu-toggle{
        display:block;
        grid-column:2;
        width:44px;
        height:44px;
    }

    .site-header .menu-toggle span:not(.sr-only){
        width:24px;
        height:2px;
        margin:5px auto;
        background:#1c244b;
    }

    .site-header__navigation{
        position:fixed;
        z-index:49;
        inset:60px 0 0;
        min-height:calc(100dvh - 60px);
        padding:28px 24px max(32px,env(safe-area-inset-bottom));
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:24px;
        overflow-y:auto;
        visibility:hidden;
        opacity:0;
        transform:translateY(-12px);
        pointer-events:none;
        background:#fff;
        transition:
            opacity .2s cubic-bezier(.22,1,.36,1),
            transform .2s cubic-bezier(.22,1,.36,1),
            visibility .2s;
    }

    html[dir=rtl] .site-header__navigation{
        direction:rtl;
        text-align:right;
    }

    .site-header__navigation[data-open]{
        visibility:visible;
        opacity:1;
        transform:none;
        pointer-events:auto;
    }

    .site-header .site-nav{
        position:static;
        inset:auto;
        min-height:0;
        width:100%;
        flex-basis:auto;
        padding:0;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        visibility:inherit;
        opacity:1;
        transform:none;
        pointer-events:inherit;
        box-shadow:none;
        background:transparent;
    }

    .site-header__navigation:not([data-open]) .site-nav{
        visibility:hidden;
        pointer-events:none;
    }

    .site-header .site-nav a{
        min-height:var(--site-nav-item-min-height);
        padding:var(--site-nav-item-padding-block) 0;
        justify-content:flex-start;
        border-bottom:1px solid #e2e4e9;
        text-align:start;
    }

    .site-header .site-nav a::after{
        display:none;
    }

    .site-header-search{
        order:-1;
        width:100%;
        height:44px;
        flex-basis:auto;
    }

    .site-header-search input{
        height:44px;
        border-radius:22px;
    }

    .site-header-search .button{
        width:44px;
        height:44px;
        border-radius:0 22px 22px 0;
    }

    .site-header .header-tools{
        grid-column:3;
        height:60px;
        padding:0;
    }

    html[data-menu-open]{
        overflow:hidden;
    }

    .home-page .home-page-hero .public-page-hero__inner{
        width:calc(100% - 44px);
        padding-block:clamp(42px,7svh,58px) 22px;
    }

    .home-page .home-page-hero .public-page-hero__content{
        width:min(590px,100%);
    }

    .home-page .home-page-hero .public-page-hero__commitment{
        width:100%;
    }
}

@media (max-width:767px){
    .home-page .public-page-hero.home-page-hero{
        height:auto;
        min-height:calc(100svh - 80px);
    }

    .home-page .home-page-hero .public-page-hero__media{
        background:#020812;
    }

    .home-page .home-page-hero .public-page-hero__media img{
        opacity:.92;
    }

    .home-page .home-page-hero .hero-shade{
        background:linear-gradient(
            90deg,
            rgb(2 8 18 / .82) 0%,
            rgb(2 8 18 / .58) 55%,
            rgb(2 8 18 / .28) 100%);
    }

    html[dir=rtl] .home-page .home-page-hero .hero-shade{
        background:linear-gradient(
            -90deg,
            rgb(2 8 18 / .82) 0%,
            rgb(2 8 18 / .58) 55%,
            rgb(2 8 18 / .28) 100%);
    }

    .home-page .home-page-hero .public-page-hero__inner{
        width:100%;
        min-height:calc(100svh - 80px);
        padding:clamp(48px,8svh,72px) 20px 32px;
    }

    .home-page .home-page-hero .eyebrow{
        margin-bottom:18px;
        gap:12px;
        font-size:clamp(12px,3.5vw,14px);
        letter-spacing:1px;
    }

    .home-page .home-page-hero .eyebrow::before{
        flex-basis:30px;
        width:30px;
        height:2px;
    }

    .home-page .home-page-hero .public-page-hero__content h1{
        max-width:none;
        margin-bottom:24px;
        font-size:clamp(34px,11vw,46px);
        line-height:1.08;
        letter-spacing:1px;
        white-space:normal;
        text-wrap:wrap;
    }

    .home-page .home-page-hero .public-page-hero__content h1>span{
        display:block;
        white-space:nowrap;
    }

    .home-page .home-page-hero .home-page-hero__divider{
        margin-bottom:20px;
    }

    .home-page .home-page-hero .public-page-hero__content>p{
        font-size:16px;
        line-height:1.55;
    }

    .home-page .home-page-hero .public-page-hero__commitment{
        width:100%;
        min-height:0;
        margin-top:clamp(32px,7svh,64px);
        padding:20px 0 0;
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }

    .home-page .home-page-hero .public-page-hero__commitment p{
        max-width:25rem;
    }
}

@media (prefers-reduced-motion:reduce){
    .site-header .site-nav a::after,
    .site-header__navigation,
    .home-page .home-page-hero .public-page-hero__content,
    .home-page .home-page-hero .public-page-hero__commitment a{
        animation:none;
        transition:none;
    }
}

/* Unified public page headers
   Home remains the visual reference; page-specific content and proof stay intact. */
.public-page-hero.primary-page-header:not(.home-page-hero){
    --page-header-title-size:clamp(2.375rem,3.6vw,4rem);
    --page-header-title-leading:1.14;
    position:relative;
    display:flex;
    width:calc(100% - 20px);
    min-height:clamp(630px,78svh,820px);
    margin:10px;
    padding:
        clamp(48px,7svh,72px)
        clamp(44px,6.5vw,120px)
        clamp(24px,4svh,48px);
    flex-direction:column;
    justify-content:stretch;
    overflow:hidden;
    border-radius:10px;
    background:#020812;
    color:#fff;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__media{
    position:absolute;
    z-index:-2;
    inset:0;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    opacity:1;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .hero-shade{
    z-index:-1;
    background:linear-gradient(
        90deg,
        rgb(2 8 18 / .9) 0%,
        rgb(2 8 18 / .68) 30%,
        rgb(2 8 18 / .42) 44%,
        rgb(2 8 18 / .16) 60%,
        rgb(2 8 18 / 0) 78%);
}

html[dir=rtl] .public-page-hero.primary-page-header:not(.home-page-hero) .hero-shade{
    background:linear-gradient(
        -90deg,
        rgb(2 8 18 / .9) 0%,
        rgb(2 8 18 / .68) 30%,
        rgb(2 8 18 / .42) 44%,
        rgb(2 8 18 / .16) 60%,
        rgb(2 8 18 / 0) 78%);
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__inner{
    position:relative;
    z-index:1;
    display:grid;
    width:min(100%,101rem);
    min-height:0;
    flex:1 1 auto;
    grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);
    gap:clamp(36px,6vw,96px);
    align-items:center;
    margin-inline:auto;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content{
    width:min(42rem,100%);
    max-width:42rem;
    padding:0;
    animation:public-hero-enter .22s cubic-bezier(.22,1,.36,1) both;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .eyebrow{
    min-height:26px;
    margin:0 0 clamp(14px,2.6svh,26px);
    display:flex;
    align-items:center;
    gap:18px;
    color:var(--hero-accent);
    font-size:16px;
    font-weight:500;
    line-height:1.6;
    letter-spacing:1.28px;
    text-transform:uppercase;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .eyebrow::before{
    content:"";
    flex:0 0 38px;
    width:38px;
    height:3px;
    background:var(--hero-accent);
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content h1{
    max-width:14ch;
    margin:0 0 30px;
    color:#fff;
    font-size:var(--page-header-title-size);
    font-weight:300;
    line-height:var(--page-header-title-leading);
    letter-spacing:-.03em;
    overflow-wrap:anywhere;
    text-wrap:balance;
}

.public-page-hero__divider{
    display:block;
    width:94px;
    height:2px;
    margin:0 0 24px;
    background:linear-gradient(90deg,#fff 0 46%,var(--hero-accent) 46% 100%);
}

html[dir=rtl] .public-page-hero__divider{
    transform:scaleX(-1);
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content>p{
    max-width:36rem;
    margin:0;
    color:rgb(255 255 255 / .92);
    font-size:17px;
    font-weight:350;
    line-height:1.65;
    text-align:start;
    text-wrap:pretty;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content>.button{
    margin-top:28px;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics{
    display:grid;
    width:100%;
    margin:0;
    padding:0;
    align-self:center;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:10px;
    background:rgb(8 13 22 / .86);
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div{
    display:grid;
    min-width:0;
    grid-template-columns:2.4rem minmax(0,1fr);
    gap:.1rem 1rem;
    align-items:center;
    padding:1rem 1.25rem;
    border:0;
    border-block-end:1px solid rgb(255 255 255 / .16);
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div:last-child{
    border-block-end:0;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities{
    position:relative;
    z-index:1;
    display:grid;
    width:min(100%,101rem);
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin:clamp(20px,3svh,32px) auto 0;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:10px;
    background:rgb(8 13 22 / .86);
    backdrop-filter:none;
}

.public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities article{
    padding:clamp(16px,1.6vw,24px);
}

@media (max-width:1023px){
    .public-page-hero.primary-page-header:not(.home-page-hero){
        --page-header-title-size:clamp(2.25rem,5.25vw,3.5rem);
        --page-header-title-leading:1.16;
        min-height:630px;
        padding-inline:22px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__inner{
        grid-template-columns:minmax(0,3fr) minmax(17rem,2fr);
        gap:32px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:767px){
    .public-page-hero.primary-page-header:not(.home-page-hero){
        --page-header-title-size:clamp(1.9rem,8.5vw,2.5rem);
        --page-header-title-leading:1.2;
        width:calc(100% - 20px);
        min-height:calc(100svh - 80px);
        padding:clamp(48px,8svh,72px) 20px 24px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__media{
        background:#020812;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__media img{
        opacity:.92;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .hero-shade,
    html[dir=rtl] .public-page-hero.primary-page-header:not(.home-page-hero) .hero-shade{
        background:linear-gradient(
            90deg,
            rgb(2 8 18 / .82) 0%,
            rgb(2 8 18 / .58) 55%,
            rgb(2 8 18 / .28) 100%);
    }

    html[dir=rtl] .public-page-hero.primary-page-header:not(.home-page-hero) .hero-shade{
        background:linear-gradient(
            -90deg,
            rgb(2 8 18 / .82) 0%,
            rgb(2 8 18 / .58) 55%,
            rgb(2 8 18 / .28) 100%);
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__inner{
        display:flex;
        width:100%;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:32px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .eyebrow{
        margin-bottom:18px;
        gap:12px;
        font-size:clamp(12px,3.5vw,14px);
        letter-spacing:1px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .eyebrow::before{
        flex-basis:30px;
        width:30px;
        height:2px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content h1{
        max-width:14ch;
        margin-bottom:24px;
        letter-spacing:-.02em;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__content>p{
        font-size:16px;
        line-height:1.55;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics{
        grid-template-columns:repeat(2,minmax(0,1fr));
        margin-top:auto;
    }

    .public-page-hero.primary-page-header.contact-hero .public-page-hero__statistics{
        grid-template-columns:minmax(0,1fr);
    }

    .public-page-hero.primary-page-header.contact-hero .public-page-hero__statistics>div{
        border-inline-end:0;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div{
        grid-template-columns:1.8rem minmax(0,1fr);
        padding:1rem .75rem;
        border-block-end:1px solid rgb(255 255 255 / .16);
        border-inline-end:1px solid rgb(255 255 255 / .16);
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div:nth-child(even){
        border-inline-end:0;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div:last-child:nth-child(odd){
        grid-column:1/-1;
        border-inline-end:0;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities{
        grid-template-columns:repeat(2,minmax(0,1fr));
        margin-top:24px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities article{
        grid-template-columns:1.65rem minmax(0,1fr);
        gap:.75rem;
        padding:16px 12px;
    }

    .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities p{
        font-size:.76rem;
    }
}

/* Project case studies are evidence pages, so their opening image stays decisive
   without delaying the facts and narrative below it. */
.public-page-hero.primary-page-header.project-detail-hero{
    min-height:clamp(36rem,64svh,42rem);
    padding:var(--space-12) clamp(var(--space-8),6vw,var(--space-16)) var(--space-8);
}

/* Project source photography is predominantly 4:3. Preserve the complete
   frame instead of forcing it through the much wider hero crop. The image
   sits opposite the copy in each writing direction so the navy remainder
   becomes a deliberate, high-contrast text surface. */
.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__media img{
    object-fit:contain;
    object-position:right center;
}

html[dir=rtl] .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__media img{
    object-position:left center;
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__inner{
    grid-template-columns:minmax(0,7fr) minmax(16rem,5fr);
    gap:clamp(var(--space-8),5vw,var(--space-16));
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content{
    width:min(38rem,100%);
    max-width:38rem;
}

.public-page-hero.primary-page-header.project-detail-hero .eyebrow{
    margin-bottom:var(--space-3);
}

.public-page-hero.primary-page-header.project-detail-hero .eyebrow::before{
    display:none;
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content h1{
    max-width:17ch;
    margin-bottom:var(--space-4);
    font-size:clamp(2.25rem,3.35vw,3.4rem);
    line-height:1.16;
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__divider{
    margin-bottom:var(--space-4);
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content>p{
    max-width:40rem;
    font-size:clamp(1rem,1.15vw,1.08rem);
    line-height:1.6;
}

.public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content>.button{
    margin-top:var(--space-6);
}

@media (max-width:1023px){
    .public-page-hero.primary-page-header.project-detail-hero{
        min-height:36rem;
        padding-inline:var(--space-6);
    }
}

@media (max-width:767px){
    .public-page-hero.primary-page-header.project-detail-hero{
        min-height:clamp(35rem,76svh,40rem);
        padding:var(--space-8) var(--space-4) var(--space-6);
    }

    .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__inner{
        gap:var(--space-6);
    }

    .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__media img,
    html[dir=rtl] .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__media img{
        object-position:center bottom;
    }

    .public-page-hero.primary-page-header.project-detail-hero .eyebrow{
        margin-bottom:var(--space-3);
    }

    .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content h1{
        margin-bottom:var(--space-4);
        font-size:clamp(1.95rem,8.25vw,2.5rem);
        line-height:1.22;
    }

    .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content>p{
        font-size:1rem;
        line-height:1.55;
    }

    .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content>.button{
        margin-top:var(--space-4);
    }
}

@media (prefers-reduced-motion:reduce){
    .public-page-hero.primary-page-header .public-page-hero__content{
        animation:none;
        transition:none;
    }
}

/* Global button system
   The class contract is shared by public, authentication, and admin surfaces. */
:root{
    --button-primary:#1077d6;
    --button-primary-active:#07559d;
    --button-primary-tint:rgb(16 119 214 / .09);
    --button-primary-tint-strong:rgb(16 119 214 / .16);
    --button-danger:#a11f32;
    --button-danger-active:#7f1827;
    --button-height:3rem;
    --button-height-compact:2.75rem;
    --button-radius:.375rem;
    --button-font-size:.9375rem;
    --button-font-weight:650;
    --button-icon-size:1.125rem;
    --button-gap:.625rem;
    --button-transition-duration:200ms;
    --button-transition-easing:cubic-bezier(.22,1,.36,1);
    --z-floating-control:40;
}

.button{
    min-height:var(--button-height);
    padding:.75rem 1.25rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--button-gap);
    border:1px solid transparent;
    border-radius:var(--button-radius);
    background:transparent;
    color:var(--ink);
    font-family:"Mozilla Headline",Arial,sans-serif;
    font-size:var(--button-font-size);
    font-weight:var(--button-font-weight);
    line-height:1.2;
    letter-spacing:0;
    text-align:center;
    text-transform:none;
    text-decoration:none;
    vertical-align:middle;
    cursor:pointer;
    transition:
        background-color var(--button-transition-duration) var(--button-transition-easing),
        border-color var(--button-transition-duration) var(--button-transition-easing),
        color var(--button-transition-duration) var(--button-transition-easing),
        transform var(--button-transition-duration) var(--button-transition-easing);
}

html[lang=fa] .button,
html[lang=fa] .maplibregl-map{
    font-family:var(--font-persian);
}

.button:hover:not(:disabled,[aria-disabled="true"]){
    transform:translateY(-1px);
}

.button:active:not(:disabled,[aria-disabled="true"]){
    transform:none;
}

.button:focus-visible{
    outline:2px solid var(--white);
    outline-offset:2px;
    box-shadow:0 0 0 5px var(--button-primary);
}

.button:disabled,
.button[aria-disabled="true"]{
    opacity:.48;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.button[aria-disabled="true"]{
    pointer-events:none;
}

.button-primary{
    border-color:var(--button-primary);
    background:var(--button-primary);
    color:var(--white);
}

.button-primary:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--button-primary);
}

.button-primary:active:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary-active);
    background:var(--button-primary-active);
    color:var(--white);
}

.button-secondary{
    border-color:var(--button-primary);
    background:var(--white);
    color:var(--button-primary);
}

.button-secondary:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--button-primary);
}

.button-secondary:active:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary-active);
    background:var(--button-primary-tint-strong);
    color:var(--button-primary-active);
}

.button-light{
    border-color:var(--white);
    background:var(--white);
    color:var(--navy);
}

.button-light:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--white);
}

.button-light:active:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary-active);
    background:var(--button-primary-active);
    color:var(--white);
}

.button-ghost{
    border-color:rgb(255 255 255 / .5);
    background:rgb(255 255 255 / .05);
    color:var(--white);
}

.button-ghost:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--white);
}

.button-ghost:active:not(:disabled,[aria-disabled="true"]){
    border-color:rgb(255 255 255 / .88);
    background:rgb(255 255 255 / .88);
    color:var(--navy);
}

.button-danger{
    border-color:var(--button-danger);
    background:transparent;
    color:var(--button-danger);
}

.button-danger:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-danger);
    background:transparent;
    color:var(--button-danger);
}

.button-danger:active:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-danger-active);
    background:var(--button-danger-active);
    color:var(--white);
}

.button-quiet{
    border-color:transparent;
    background:transparent;
    color:var(--button-primary);
}

.button-quiet:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--button-primary);
}

.button-quiet:active:not(:disabled,[aria-disabled="true"]){
    background:var(--button-primary-tint-strong);
    color:var(--button-primary-active);
}

.button-compact,
.button-chip,
.button-icon{
    min-height:var(--button-height-compact);
}

.button-compact{
    padding:.625rem .875rem;
    font-size:.875rem;
}

.button-chip{
    padding:.55rem 1rem;
    border-radius:999px;
    font-size:.875rem;
}

.button-chip:is(.is-active,[aria-pressed="true"]){
    border-color:var(--button-primary);
    background:var(--button-primary);
    color:var(--white);
}

.button-chip:hover:not(:disabled,[aria-disabled="true"]),
.button-secondary.button-chip:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--button-primary);
}

.button-chip:is(.is-active,[aria-pressed="true"]):hover{
    border-color:var(--button-primary);
    background:var(--button-primary);
    color:var(--white);
}

.button-on-dark:hover:not(:disabled,[aria-disabled="true"]){
    border-color:var(--button-primary);
    background:transparent;
    color:var(--white);
}

.button-icon{
    width:var(--button-height-compact);
    min-width:var(--button-height-compact);
    padding:0;
}

.button__icon,
.button>svg{
    width:var(--button-icon-size);
    height:var(--button-icon-size);
    flex:0 0 var(--button-icon-size);
}

.button>svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

html[dir=rtl] .button__icon--directional{
    transform:scaleX(-1);
}

.button-group{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-3);
}

@media (max-width:600px){
    .actions,
    .button-group{
        align-items:stretch;
        flex-direction:column;
    }

    .actions>.button,
    .button-group>.button,
    .form-card>.button,
    .search-form>.button,
    .public-page-hero__commitment .button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .button{
        transition:none;
    }

    .button:is(:hover,:focus-visible,:active):not(:disabled,[aria-disabled="true"]){
        transform:none;
    }
}

.back-to-top{
    position:fixed;
    z-index:var(--z-floating-control);
    inset-block-end:max(1.25rem,env(safe-area-inset-bottom));
    inset-inline-end:clamp(1rem,2.5vw,2rem);
    width:3rem;
    min-width:3rem;
    min-height:3rem;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(.75rem);
    transition:
        opacity var(--button-transition-duration) var(--button-transition-easing),
        visibility var(--button-transition-duration) var(--button-transition-easing),
        background-color var(--button-transition-duration) var(--button-transition-easing),
        border-color var(--button-transition-duration) var(--button-transition-easing),
        color var(--button-transition-duration) var(--button-transition-easing),
        transform var(--button-transition-duration) var(--button-transition-easing);
}

.back-to-top.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
}

@media (prefers-reduced-motion:reduce){
    .back-to-top{
        transition:none;
        transform:none;
    }
}

/* About page narrative systems
   Spacious open grids replace the cramped four-column and zig-zag layouts. */
.about-page .about-journey,
.about-page .about-values,
.about-page .about-workflow{
    display:grid;
    grid-template-columns:minmax(16rem,.72fr) minmax(0,1.55fr);
    gap:clamp(3rem,7vw,7.5rem);
    align-items:start;
    padding-block:clamp(4.5rem,9vw,8rem);
}

.about-page :is(.about-journey,.about-values,.about-workflow)>header{
    position:sticky;
    inset-block-start:7rem;
    margin:0;
}

.about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
    max-width:11ch;
    margin:0;
    font-size:clamp(3.25rem,5.5vw,5rem);
    font-weight:540;
    line-height:.98;
    letter-spacing:-.03em;
    text-wrap:balance;
}

html[lang=fa] .about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
    max-width:9.5ch;
    font-size:clamp(3rem,5.15vw,4.65rem);
    font-weight:500;
    line-height:1.42;
    letter-spacing:0;
}

html[lang=fa] .about-page .about-narrative>header h2{
    max-width:10ch;
    font-weight:500;
    line-height:1.42;
    letter-spacing:0;
}

html[lang=fa] .about-page .about-prose{
    max-width:66ch;
}

html[lang=fa] .about-page .about-prose p{
    margin-block-end:clamp(1.5rem,2.5vw,2rem);
    font-size:clamp(1.05rem,1.3vw,1.16rem);
    line-height:2;
}

.about-page .about-journey{
    background:oklch(96.5% .012 247);
}

.about-page .about-journey ol,
.about-page .about-values>div{
    display:grid;
    grid-column:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    border-block:1px solid var(--line);
    list-style:none;
}

.about-page .about-journey li,
.about-page .about-values article{
    display:grid;
    min-width:0;
    grid-template-columns:2.5rem minmax(0,1fr);
    grid-template-rows:auto auto 1fr;
    gap:clamp(1.25rem,2.5vw,2rem) 1rem;
    padding:clamp(1.75rem,3vw,2.75rem);
    border:0;
}

.about-page .about-journey li:nth-child(odd),
.about-page .about-values article:nth-child(odd){
    border-inline-end:1px solid var(--line);
}

.about-page .about-journey li:nth-child(-n+2),
.about-page .about-values article:nth-child(-n+2){
    border-block-end:1px solid var(--line);
}

.about-page .about-journey li::before{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end;
    margin:0;
    color:var(--blue);
    font-size:.75rem;
    font-weight:760;
    letter-spacing:.08em;
    line-height:1;
}

.about-page .about-journey__icon,
.about-page .about-values__icon{
    grid-column:1;
    grid-row:1;
    display:block;
    width:2rem;
    height:2rem;
    color:var(--blue);
}

.about-page :is(.about-journey__icon,.about-values__icon) .section-icon{
    display:block;
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.about-page :is(.about-journey,.about-values) h3{
    grid-column:1/-1;
    grid-row:2;
    max-width:18ch;
    margin:0;
    font-size:clamp(1.6rem,2.25vw,2.2rem);
    font-weight:650;
    line-height:1.04;
    letter-spacing:-.025em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
}

.about-page :is(.about-journey,.about-values) p{
    grid-column:1/-1;
    grid-row:3;
    max-width:38ch;
    margin:0;
    color:oklch(42% .028 248);
    line-height:1.65;
    text-wrap:pretty;
}

html[lang=fa] .about-page .about-journey li,
html[lang=fa] .about-page .about-values article{
    grid-template-columns:2.5rem minmax(0,1fr);
    gap:clamp(1.5rem,2.5vw,2.25rem) 1.25rem;
    padding:clamp(2.25rem,3.5vw,3.25rem);
}

html[lang=fa] .about-page :is(.about-journey,.about-values) h3{
    max-width:16ch;
    font-weight:500;
    line-height:1.48;
    letter-spacing:0;
}

html[lang=fa] .about-page :is(.about-journey,.about-values) p{
    max-width:35ch;
    color:oklch(38% .028 248);
    font-size:1.02rem;
    line-height:1.95;
}

.about-page .about-values{
    background:var(--white);
}

.about-page .about-values__icon{
    color:var(--source-blue);
}

.about-page .about-workflow{
    background:var(--navy);
    color:var(--white);
    margin-block-end:clamp(var(--space-16),6vw,var(--space-24));
}

.about-page .about-workflow>header h2{
    max-width:10ch;
}

.about-page .about-workflow ol{
    position:relative;
    display:block;
    grid-column:auto;
    width:100%;
    margin:0;
    padding:0;
    border-block-start:1px solid rgb(255 255 255 / .24);
    list-style:none;
    counter-reset:about-workflow;
}

.about-page .about-workflow ol::before{
    content:none;
}

.about-page .about-workflow li{
    position:relative;
    display:grid;
    width:100%;
    min-width:0;
    grid-template-columns:3rem minmax(11rem,.7fr) minmax(0,1.2fr);
    gap:clamp(1.25rem,3vw,3rem);
    align-items:start;
    margin:0;
    padding:clamp(1.5rem,2.7vw,2.5rem) 0;
    border-block-end:1px solid rgb(255 255 255 / .24);
    counter-increment:about-workflow;
}

.about-page .about-workflow li::before{
    content:counter(about-workflow,decimal-leading-zero);
    position:static;
    display:block;
    width:auto;
    height:auto;
    align-self:start;
    padding-block-start:.25rem;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--cyan);
    font-size:.75rem;
    font-weight:760;
    letter-spacing:.08em;
    line-height:1;
}

.about-page .about-workflow li>div{
    display:contents;
}

.about-page .about-workflow h3{
    grid-column:2;
    max-width:18ch;
    margin:0;
    font-size:clamp(1.35rem,2vw,1.9rem);
    font-weight:650;
    line-height:1.08;
    letter-spacing:-.02em;
    text-wrap:balance;
}

.about-page .about-workflow p{
    grid-column:3;
    max-width:58ch;
    margin:0;
    color:rgb(255 255 255 / .78);
    line-height:1.65;
    text-wrap:pretty;
}

html[lang=fa] .about-page .about-workflow>header h2{
    max-width:9ch;
}

html[lang=fa] .about-page .about-workflow li{
    grid-template-columns:3rem minmax(12rem,.72fr) minmax(0,1.2fr);
    gap:clamp(1.5rem,3.25vw,3.5rem);
    padding-block:clamp(1.9rem,3.2vw,2.8rem);
}

html[lang=fa] .about-page .about-workflow h3{
    max-width:16ch;
    font-weight:500;
    line-height:1.5;
    letter-spacing:0;
}

html[lang=fa] .about-page .about-workflow p{
    max-width:55ch;
    color:rgb(255 255 255 / .86);
    font-size:1.02rem;
    line-height:1.95;
}

.about-page .about-workflow :is(h3,p) a{
    color:var(--cyan);
    text-decoration-thickness:.08em;
    text-underline-offset:.2em;
}

@media (max-width:899px){
    .about-page .about-journey,
    .about-page .about-values,
    .about-page .about-workflow{
        display:block;
    }

    .about-page :is(.about-journey,.about-values,.about-workflow)>header{
        position:static;
        margin-block-end:clamp(2.5rem,7vw,4rem);
    }

    .about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
        max-width:14ch;
    }

    .about-page .about-workflow li{
        grid-template-columns:2.5rem minmax(0,1fr);
        gap:1rem;
    }

    .about-page .about-workflow li>div{
        display:block;
        grid-column:2;
    }

    .about-page .about-workflow h3,
    .about-page .about-workflow p{
        grid-column:auto;
    }

    .about-page .about-workflow p{
        margin-block-start:.75rem;
    }

    html[lang=fa] .about-page :is(.about-journey,.about-values,.about-workflow)>header{
        margin-block-end:clamp(3rem,8vw,4.5rem);
    }

    html[lang=fa] .about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
        max-width:12ch;
    }

    html[lang=fa] .about-page .about-workflow li{
        grid-template-columns:2.5rem minmax(0,1fr);
        gap:1.25rem;
    }

    html[lang=fa] .about-page .about-workflow p{
        margin-block-start:1rem;
    }
}

@media (min-width:640px) and (max-width:1079px){
    /* The sr-only heading is the section's first child, so use article order
       rather than child order to keep the two-column gutters predictable. */
    .about-page .about-commitments article:nth-of-type(odd){
        padding-inline-start:0;
        padding-inline-end:var(--space-8);
        border-inline-end:1px solid var(--line);
    }

    .about-page .about-commitments article:nth-of-type(even){
        padding-inline-start:var(--space-8);
        padding-inline-end:0;
        border-inline-end:0;
    }
}

@media (min-width:1080px){
    /* Keep the outer cards aligned to the page gutter while giving every
       internal divider the same 32px breathing room on both sides. */
    .about-page .about-commitments article:nth-child(n){
        padding-inline:var(--space-8);
    }

    .about-page .about-commitments article:first-of-type{
        padding-inline-start:0;
    }

    .about-page .about-commitments article:last-child{
        padding-inline-end:0;
    }
}

@media (max-width:639px){
    .about-page .about-journey,
    .about-page .about-values,
    .about-page .about-workflow{
        padding-block:4rem;
    }

    .about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
        font-size:clamp(2.75rem,14vw,3.75rem);
    }

    .about-page .about-workflow>header h2{
        max-width:12ch;
        font-size:clamp(2.5rem,11vw,3.25rem);
    }

    .about-page .about-journey ol,
    .about-page .about-values>div{
        grid-template-columns:1fr;
    }

    .about-page .about-journey li,
    .about-page .about-values article{
        padding:1.75rem 0;
        border-inline-end:0;
        border-block-end:1px solid var(--line);
    }

    .about-page .about-journey li:last-child,
    .about-page .about-values article:last-child{
        border-block-end:0;
    }

    .about-page .about-workflow li{
        grid-template-columns:2rem minmax(0,1fr);
        padding-block:1.5rem;
    }

    html[lang=fa] .about-page :is(.about-journey,.about-values,.about-workflow)>header h2{
        max-width:11ch;
        font-size:clamp(2.55rem,12.5vw,3.4rem);
        line-height:1.45;
    }

    html[lang=fa] .about-page .about-workflow>header h2{
        max-width:10ch;
        font-size:clamp(2.35rem,10.5vw,3rem);
    }

    html[lang=fa] .about-page .about-journey li,
    html[lang=fa] .about-page .about-values article{
        gap:1.5rem 1rem;
        padding-block:2.25rem;
    }

    html[lang=fa] .about-page .about-workflow li{
        grid-template-columns:2rem minmax(0,1fr);
        gap:1rem;
        padding-block:1.75rem;
    }
}

/* Projects page narrative and catalogue system
   Orientation stays editorial; the verified project records remain the main event. */
.projects-page{
    --projects-card-title-track:3.75rem;
    --projects-card-facts-track:7rem;
    --projects-card-summary-track:3.5rem;
    --projects-card-action-track:2.75rem;
    background:var(--projects-canvas,oklch(97% .008 247));
}

.projects-page .projects-sectors{
    display:grid;
    grid-template-columns:minmax(16rem,.72fr) minmax(0,1.55fr);
    gap:clamp(var(--space-12),7vw,var(--space-24));
    align-items:start;
    padding-block:clamp(var(--space-16),7vw,var(--space-24));
}

.projects-page .projects-sectors>header{
    position:sticky;
    inset-block-start:7rem;
    max-width:none;
    margin:0;
}

.projects-page .projects-sectors>header h2{
    max-width:13ch;
    margin-block-end:var(--space-6);
    font-size:clamp(3rem,5.2vw,4.5rem);
    font-weight:540;
    line-height:1;
}

.projects-page .projects-sectors>header p{
    max-width:46ch;
    line-height:1.7;
}

.projects-page .projects-sectors__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:hidden;
    border-block:1px solid var(--line);
}

.projects-page .projects-sectors__list article{
    display:block;
    min-width:0;
    padding:var(--space-8);
    border:0;
}

.projects-page .projects-sectors__list article:nth-child(odd){
    border-inline-end:1px solid var(--line);
}

.projects-page .projects-sectors__list article:nth-child(-n+2){
    border-block-end:1px solid var(--line);
}

.projects-page .projects-sectors__list h3{
    margin-block-end:var(--space-3);
    font-size:clamp(1.45rem,2vw,1.8rem);
    line-height:1.08;
}

.projects-page .projects-sectors__list p{
    line-height:1.65;
}

.projects-page .projects-introduction,
.projects-page .projects-source-feature{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    min-height:clamp(30rem,40vw,36rem);
    margin:clamp(var(--space-12),6vw,var(--space-24)) var(--page);
    overflow:hidden;
    border-radius:6px;
    background:var(--navy);
    color:var(--white);
}

.projects-page .projects-introduction__content{
    grid-column:1 / 6;
    padding:clamp(var(--space-12),6vw,var(--space-24)) clamp(var(--space-8),4vw,var(--space-16));
}

.projects-page .projects-introduction figure{
    grid-column:6 / 13;
}

.projects-page .projects-source-feature figure{
    grid-column:1 / 8;
}

.projects-page .projects-source-feature>div{
    grid-column:8 / 13;
    align-self:center;
    padding:clamp(var(--space-12),6vw,var(--space-24)) clamp(var(--space-8),4vw,var(--space-16));
}

.projects-page .projects-introduction h2,
.projects-page .projects-source-feature h2{
    max-width:15ch;
    margin-block-end:var(--space-6);
    font-size:clamp(2.6rem,4.6vw,4rem);
    font-weight:540;
    line-height:1;
}

.projects-page .projects-introduction p,
.projects-page .projects-source-feature p:last-child{
    max-width:58ch;
    color:rgb(255 255 255 / .82);
    line-height:1.7;
}

.projects-page .projects-introduction figure,
.projects-page .projects-source-feature figure{
    min-height:100%;
}

.projects-page .projects-introduction img,
.projects-page .projects-source-feature img{
    object-position:center;
}

.projects-page .projects-on-hand{
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    background:var(--navy);
    color:var(--white);
}

.projects-page .projects-on-hand>header{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);
    gap:clamp(var(--space-8),6vw,var(--space-24));
    align-items:end;
    padding-block-end:clamp(var(--space-8),5vw,var(--space-12));
    border-block-end:1px solid rgb(255 255 255 / .22);
}

.projects-page .projects-on-hand>header .eyebrow{
    margin-block-end:var(--space-4);
    color:var(--cyan);
}

.projects-page .projects-on-hand>header h2{
    max-width:14ch;
    font-size:clamp(3rem,5.6vw,5rem);
    font-weight:540;
    line-height:.96;
    text-wrap:balance;
}

.projects-page .projects-on-hand__introduction{
    max-width:48ch;
    margin:0;
    color:rgb(255 255 255 / .78);
    font-size:clamp(1.05rem,1.5vw,1.2rem);
    line-height:1.75;
    text-wrap:pretty;
}

.projects-page .projects-on-hand__list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.projects-page .projects-on-hand__list article{
    display:flex;
    min-width:0;
    min-height:28rem;
    flex-direction:column;
    align-items:flex-start;
    padding:clamp(var(--space-8),4vw,var(--space-12));
    border-inline-end:1px solid rgb(255 255 255 / .22);
}

.projects-page .projects-on-hand__list article:first-child{
    padding-inline-start:0;
}

.projects-page .projects-on-hand__list article:last-child{
    padding-inline-end:0;
    border-inline-end:0;
}

.projects-page .projects-on-hand__list h3{
    margin:0;
    color:var(--white);
    font-size:clamp(1.75rem,2.7vw,2.5rem);
    font-weight:550;
    line-height:1.05;
    text-wrap:balance;
}

.projects-page .projects-on-hand__list p{
    max-width:44ch;
    margin:var(--space-6) 0 var(--space-8);
    color:rgb(255 255 255 / .76);
    line-height:1.7;
    text-wrap:pretty;
}

.projects-page .projects-on-hand__list .projects-text-link{
    width:max-content;
    margin-block-start:auto;
    color:var(--white);
}

.projects-page .projects-on-hand__list .projects-text-link:is(:hover,:focus-visible){
    color:var(--cyan);
}

.projects-page .projects-impact{
    padding:clamp(var(--space-16),7vw,var(--space-24)) var(--page);
    border-block:1px solid var(--line);
    background:oklch(96.5% .012 247);
}

.projects-page .projects-impact__heading{
    margin-block-end:clamp(var(--space-8),5vw,var(--space-12));
    text-align:center;
}

.projects-page .projects-impact__heading h2{
    max-width:18ch;
    margin:0 auto;
    font-size:clamp(2.5rem,5vw,4.25rem);
    font-weight:550;
    line-height:1;
}

.projects-page .projects-impact__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-6);
    width:min(64rem,100%);
    margin-inline:auto;
}

.projects-page .projects-impact__card{
    min-width:0;
    min-height:19rem;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--white);
    transition:border-color 200ms cubic-bezier(.22,1,.36,1),transform 200ms cubic-bezier(.22,1,.36,1);
}

.projects-page .projects-impact__card>a{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    height:100%;
    padding:clamp(var(--space-8),4vw,var(--space-12));
}

.projects-page .projects-impact__icon{
    display:grid;
    width:3rem;
    height:3rem;
    margin-block-end:var(--space-8);
    place-items:center;
    color:var(--blue);
}

.projects-page .projects-impact__icon .section-icon{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.5;
}

.projects-page .projects-impact__card h3{
    margin:0 0 var(--space-3);
    font-size:clamp(1.6rem,2.5vw,2rem);
    font-weight:580;
}

.projects-page .projects-impact__card p{
    max-width:38ch;
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.projects-page .projects-impact__link{
    display:inline-flex;
    gap:var(--space-2);
    align-items:center;
    margin-block-start:auto;
    padding-block-start:var(--space-8);
    color:var(--blue);
    font-size:.82rem;
    font-weight:700;
}

.projects-page .projects-impact__link svg{
    width:1.1rem;
    height:1.1rem;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

html[dir=rtl] .projects-page .projects-impact__link svg{
    transform:scaleX(-1);
}

.projects-page .projects-impact__card:has(>a:is(:hover,:focus-visible)){
    border-color:oklch(62% .11 247);
    transform:translateY(-2px);
}

.projects-page .projects-impact__card>a:is(:hover,:focus-visible) .projects-impact__link svg{
    transform:translateX(.3rem);
}

html[dir=rtl] .projects-page .projects-impact__card>a:is(:hover,:focus-visible) .projects-impact__link svg{
    transform:scaleX(-1) translateX(.3rem);
}

.projects-page .projects-catalogue{
    padding-block:clamp(var(--space-16),7vw,var(--space-24));
}

.projects-page .projects-catalogue__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:var(--space-8);
    align-items:end;
    margin-block-end:var(--space-8);
    padding-block-end:var(--space-8);
    border-block-end:1px solid var(--line);
}

.projects-page .projects-catalogue__heading h2{
    margin-block-end:var(--space-4);
    font-size:clamp(2.75rem,5vw,4.5rem);
    line-height:1;
}

.projects-page .projects-catalogue__total{
    display:flex;
    align-items:baseline;
    gap:var(--space-2);
    padding-block-end:var(--space-1);
}

.projects-page .projects-catalogue__total strong{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:620;
    line-height:1;
}

.projects-page .projects-controls{
    gap:var(--space-6);
    margin-block-end:var(--space-3);
    padding:var(--space-8);
    border:1px solid var(--line);
    border-radius:6px;
}

.projects-page .projects-search label,
.projects-page .projects-filters legend{
    margin-block-end:var(--space-2);
}

.projects-page .projects-search input{
    min-height:3rem;
    padding-block:var(--space-3);
    padding-inline:3rem var(--space-4);
    border-color:oklch(72% .025 247);
    border-radius:6px;
}

.projects-page .projects-results-status{
    margin-block-end:var(--space-6);
}

.projects-page .projects-grid{
    grid-template-columns:1fr;
    gap:var(--space-6);
    align-items:stretch;
}

.projects-page .projects-card{
    height:100%;
    border-radius:6px;
    transition:border-color 200ms cubic-bezier(.22,1,.36,1),transform 200ms cubic-bezier(.22,1,.36,1);
}

.projects-page .projects-card>a{
    display:grid;
    grid-template-rows:auto 1fr;
    height:100%;
}

.projects-page .projects-card__media{
    aspect-ratio:16/9;
    inline-size:100%;
}

.projects-page .projects-card__media picture,
.projects-page .projects-card__media img{
    display:block;
    inline-size:100%;
    block-size:100%;
}

.projects-page .projects-card__media img{
    object-fit:cover;
    object-position:center;
}

.projects-page .projects-card__media>span{
    inset-inline-start:var(--space-3);
    inset-block-end:var(--space-3);
    padding:var(--space-1) var(--space-3);
    border:1px solid rgb(255 255 255 / .2);
    border-radius:999px;
    font-size:.7rem;
}

.projects-page .projects-card__content{
    display:grid;
    grid-template-rows:
        var(--projects-card-title-track)
        var(--projects-card-facts-track)
        var(--projects-card-summary-track)
        var(--projects-card-action-track);
    gap:var(--space-4);
    height:22.75rem;
    padding:var(--space-6);
}

.projects-page .projects-card h3{
    display:-webkit-box;
    align-self:start;
    max-width:24ch;
    min-height:var(--projects-card-title-track);
    margin:0;
    overflow:hidden;
    font-size:clamp(1.35rem,1.7vw,1.6rem);
    line-height:1.15;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.projects-page .projects-card__facts{
    min-height:0;
    overflow:hidden;
}

.projects-page .projects-card dl{
    margin:0;
}

.projects-page .projects-card dl>div{
    grid-template-columns:4rem minmax(0,1fr);
    gap:var(--space-3);
    min-height:3.5rem;
    padding-block:var(--space-2);
}

.projects-page .projects-card dt{
    padding-block-start:.1rem;
    font-size:.72rem;
}

.projects-page .projects-card dd{
    display:-webkit-box;
    align-self:start;
    overflow:hidden;
    font-size:.84rem;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.projects-page .projects-card__summary{
    min-height:var(--projects-card-summary-track);
    overflow:hidden;
}

.projects-page .projects-card__services{
    min-height:3em;
    margin:0;
    line-height:1.5;
    -webkit-line-clamp:2;
}

.projects-page .projects-card__link{
    align-self:end;
    min-height:var(--projects-card-action-track);
    margin:0;
}

.projects-page .projects-card:has(>a:is(:hover,:focus-visible)){
    border-color:oklch(62% .11 247);
    transform:translateY(-2px);
}

.projects-page .projects-source-portfolios{
    padding-block:clamp(var(--space-16),7vw,var(--space-24));
}

.projects-page .projects-source-portfolios>header{
    display:grid;
    grid-template-columns:minmax(14rem,.72fr) minmax(0,1.55fr);
    gap:clamp(var(--space-8),7vw,var(--space-24));
    align-items:end;
    margin-block-end:var(--space-8);
    padding-block-end:var(--space-8);
    border-block-end:1px solid var(--line);
}

.projects-page .projects-source-portfolios>header .eyebrow{
    grid-column:1/-1;
    margin:0;
}

.projects-page .projects-source-portfolios h2{
    grid-column:2;
    max-width:14ch;
    margin:0;
    font-size:clamp(2.75rem,5vw,4.5rem);
}

.projects-page .projects-source-portfolios>div{
    gap:1px;
    background:var(--line);
}

.projects-page .projects-source-portfolios article,
.projects-page .projects-source-portfolios img{
    min-height:clamp(22rem,30vw,26rem);
}

.projects-page .projects-source-portfolios article{
    border-radius:0;
}

.projects-page .projects-source-portfolios h3{
    inset-inline:var(--space-6);
    inset-block-end:var(--space-6);
}

.projects-page .managed-source-sections{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    max-width:none;
    margin:0;
    padding:clamp(var(--space-12),6vw,var(--space-24)) var(--page);
    border-block-start:1px solid var(--line);
    background:var(--white);
}

.projects-page .managed-source-sections .managed-section{
    max-width:none;
    padding:var(--space-12);
    border:0;
    border-block-end:1px solid var(--line);
}

.projects-page .managed-source-sections .managed-section--source-body{
    grid-column:1/-1;
    background:transparent;
}

.projects-page .managed-source-sections .managed-section--source-body .managed-section__content{
    display:grid;
    grid-template-columns:minmax(14rem,.72fr) minmax(0,1.55fr);
    gap:clamp(var(--space-8),7vw,var(--space-24));
    width:100%;
    max-width:none;
}

.projects-page .managed-source-sections .managed-section--source-body h2{
    grid-column:1;
    max-width:14ch;
    margin:0;
    font-size:clamp(2rem,3.5vw,3.25rem);
}

.projects-page .managed-source-sections .managed-section--source-body p{
    grid-column:2;
    max-width:68ch;
    margin:0 0 var(--space-4);
}

.projects-page .managed-source-sections .managed-section--source-body p:last-of-type{
    margin-block-end:0;
}

.projects-page .managed-source-sections .managed-section--source-pillar{
    grid-column:auto;
    min-height:0;
    padding:var(--space-12);
    background:var(--navy);
}

.projects-page .managed-source-sections .managed-section--source-pillar + .managed-section--source-pillar{
    border-inline-start:1px solid rgb(255 255 255 / .18);
}

.projects-page .managed-source-sections .managed-section--source-pillar .managed-section__content{
    max-width:34rem;
}

.projects-page .managed-source-sections .managed-section--source-pillar h2{
    margin:0;
}

.projects-page .managed-source-sections .button{
    margin-block-start:var(--space-6);
}

.projects-page .projects-final-cta{
    grid-template-columns:minmax(0,1fr) auto;
    gap:clamp(var(--space-8),6vw,var(--space-24));
    align-items:center;
    margin:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    padding:clamp(var(--space-12),6vw,var(--space-24));
    overflow:hidden;
    border-radius:6px;
    background:var(--blue);
}

.projects-page .projects-final-cta h2{
    max-width:14ch;
    font-size:clamp(2.75rem,5vw,4.5rem);
    line-height:1;
    text-wrap:balance;
}

.projects-page .projects-final-cta p{
    max-width:54ch;
    line-height:1.7;
    text-wrap:pretty;
}

.projects-page .projects-final-cta .actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
}

@media (min-width:700px){
    .projects-page .projects-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .projects-page .projects-source-portfolios>div{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .projects-page .projects-source-portfolios article:last-child{
        grid-column:1/-1;
    }
}

@media (min-width:900px){
    .projects-page .projects-controls{
        grid-template-columns:minmax(20rem,1fr) minmax(0,1.35fr);
    }
}

@media (min-width:1100px){
    .projects-page .projects-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .projects-page .projects-source-portfolios>div{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .projects-page .projects-source-portfolios article:last-child{
        grid-column:auto;
    }
}

@media (max-width:1099px){
    .projects-page .projects-sectors{
        display:block;
    }

    .projects-page .projects-sectors>header{
        position:static;
        margin-block-end:var(--space-12);
    }

    .projects-page .projects-sectors>header h2{
        max-width:16ch;
    }

}

@media (max-width:899px){
    .projects-page .projects-introduction,
    .projects-page .projects-source-feature{
        grid-template-columns:1fr;
        min-height:0;
        margin-block:var(--space-16);
    }

    .projects-page .projects-introduction__content,
    .projects-page .projects-introduction figure,
    .projects-page .projects-source-feature figure,
    .projects-page .projects-source-feature>div{
        grid-column:1;
    }

    .projects-page .projects-introduction__content,
    .projects-page .projects-source-feature>div{
        padding:var(--space-16) var(--page);
    }

    .projects-page .projects-introduction figure,
    .projects-page .projects-source-feature figure{
        min-height:clamp(20rem,62vw,28rem);
    }

    .projects-page .projects-controls{
        grid-template-columns:1fr;
    }

    .projects-page .projects-on-hand{
        padding-block:var(--space-16);
    }

    .projects-page .projects-on-hand>header{
        grid-template-columns:1fr;
        gap:var(--space-6);
        align-items:start;
    }

    .projects-page .projects-on-hand>header h2{
        max-width:16ch;
    }

    .projects-page .projects-on-hand__list{
        grid-template-columns:1fr;
    }

    .projects-page .projects-on-hand__list article,
    .projects-page .projects-on-hand__list article:first-child,
    .projects-page .projects-on-hand__list article:last-child{
        min-height:0;
        padding:var(--space-8) 0;
        border-inline-end:0;
        border-block-end:1px solid rgb(255 255 255 / .22);
    }

    .projects-page .projects-on-hand__list article:last-child{
        border-block-end:0;
    }

    .projects-page .projects-on-hand__list .projects-text-link{
        margin-block-start:0;
    }

    .projects-page .projects-source-portfolios>header{
        display:block;
    }

    .projects-page .projects-source-portfolios>header .eyebrow{
        margin-block-end:var(--space-4);
    }

    .projects-page .projects-source-portfolios h2{
        max-width:16ch;
    }

    .projects-page .managed-source-sections .managed-section--source-body .managed-section__content{
        display:block;
    }

    .projects-page .managed-source-sections .managed-section--source-body h2{
        margin-block-end:var(--space-6);
    }

    .projects-page .managed-source-sections .managed-section--source-body p{
        margin-block-end:var(--space-4);
    }

    .projects-page .projects-final-cta{
        grid-template-columns:1fr;
        align-items:start;
    }

    .projects-page .projects-final-cta .actions{
        justify-content:flex-start;
    }
}

@media (max-width:699px){
    .projects-page .projects-sectors,
    .projects-page .projects-impact,
    .projects-page .projects-on-hand,
    .projects-page .projects-catalogue,
    .projects-page .projects-source-portfolios{
        padding-block:var(--space-16);
    }

    .projects-page .projects-sectors__list{
        grid-template-columns:1fr;
    }

    .projects-page .projects-sectors__list article{
        padding:var(--space-6) 0;
        border-inline-end:0;
        border-block-end:1px solid var(--line);
    }

    .projects-page .projects-sectors__list article:last-child{
        border-block-end:0;
    }

    .projects-page .projects-introduction__content,
    .projects-page .projects-source-feature>div{
        padding-block:var(--space-16);
    }

    .projects-page .projects-introduction h2,
    .projects-page .projects-source-feature h2{
        font-size:clamp(2.4rem,11vw,3.25rem);
    }

    .projects-page .projects-impact__grid{
        grid-template-columns:1fr;
    }

    .projects-page .projects-impact__card{
        min-height:0;
    }

    .projects-page .projects-impact__card>a{
        padding:var(--space-8);
    }

    .projects-page .projects-catalogue__heading{
        display:block;
        margin-block-end:var(--space-6);
        padding-block-end:var(--space-6);
    }

    .projects-page .projects-catalogue__total{
        margin-block-start:var(--space-6);
    }

    .projects-page .projects-controls{
        margin-inline:0;
        padding:var(--space-6);
    }

    .projects-page .projects-card__content{
        padding:var(--space-6);
    }

    .projects-page .projects-source-portfolios>div{
        grid-template-columns:1fr;
        gap:1px;
    }

    .projects-page .projects-source-portfolios article:last-child{
        grid-column:auto;
    }

    .projects-page .managed-source-sections{
        grid-template-columns:1fr;
        padding:var(--space-12) var(--page);
    }

    .projects-page .managed-source-sections .managed-section{
        grid-column:1;
        padding:var(--space-8) 0;
    }

    .projects-page .managed-source-sections .managed-section--source-pillar{
        padding:var(--space-8);
    }

    .projects-page .managed-source-sections .managed-section--source-pillar + .managed-section--source-pillar{
        border-inline-start:0;
        border-block-start:1px solid rgb(255 255 255 / .18);
    }

    .projects-page .projects-final-cta{
        margin:var(--space-16) var(--page);
        padding:var(--space-8);
    }

    .projects-page .projects-final-cta .actions,
    .projects-page .projects-final-cta .button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .projects-page .projects-card,
    .projects-page .projects-card__media img,
    .projects-page .projects-impact__card,
    .projects-page .projects-impact__link svg{
        transition:none;
    }

    .projects-page .projects-card:has(>a:is(:hover,:focus-visible)),
    .projects-page .projects-impact__card:has(>a:is(:hover,:focus-visible)){
        transform:none;
    }

    .projects-page .projects-impact__card>a:is(:hover,:focus-visible) .projects-impact__link svg{
        transform:none;
    }

    html[dir=rtl] .projects-page .projects-impact__card>a:is(:hover,:focus-visible) .projects-impact__link svg{
        transform:scaleX(-1);
    }
}

/* QHSE operating system and verified-evidence narrative
   Commitment statement -> operating chapters -> certification library. */
.qhse-page{
    background:oklch(97% .008 247);
}

.qhse-page .qhse-introduction{
    display:grid;
    grid-template-columns:minmax(16rem,.72fr) minmax(0,1.55fr);
    gap:clamp(var(--space-8),7vw,var(--space-24));
    align-items:end;
    max-width:none;
    margin:0;
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
    border-block-end:1px solid var(--line);
    text-align:start;
}

.qhse-page .qhse-introduction>.eyebrow{
    grid-column:1/-1;
    margin:0;
}

.qhse-page .qhse-introduction h2{
    grid-column:1;
    max-width:12ch;
    margin:0;
    font-size:clamp(3rem,5.5vw,4.75rem);
    font-weight:540;
    line-height:1;
    text-wrap:balance;
}

html[dir=rtl] .qhse-page .qhse-introduction h2{
    max-width:16ch;
    font-size:clamp(2.125rem,3.6vw,3.5rem);
    line-height:1.22;
}

.qhse-page .qhse-introduction>p:last-child{
    grid-column:2;
    max-width:64ch;
    margin:0;
    color:oklch(40% .025 248);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
    line-height:1.75;
    text-wrap:pretty;
}

.qhse-page .qhse-source-sections{
    display:flex;
    flex-direction:column;
    gap:clamp(var(--space-12),6vw,var(--space-24));
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
}

.qhse-page .qhse-source-section{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    min-width:0;
    min-height:0;
    overflow:hidden;
    border-radius:6px;
}

.qhse-page .qhse-source-section figure{
    grid-row:1;
    min-height:0;
}

.qhse-page .qhse-source-section>div{
    grid-row:1;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-block:clamp(var(--space-12),5vw,var(--space-16));
    padding-inline:clamp(var(--space-8),4vw,var(--space-16));
}

.qhse-page .qhse-source-section h2{
    margin:0 0 var(--space-6);
    font-weight:540;
    line-height:1.02;
    text-wrap:balance;
}

.qhse-page .qhse-source-section>div>p:not(.eyebrow){
    max-width:62ch;
    margin:0 0 var(--space-4);
    font-size:clamp(1rem,1.15vw,1.08rem);
    line-height:1.75;
    text-wrap:pretty;
}

.qhse-page .qhse-source-section>div>p:last-child{
    margin-block-end:0;
}

.qhse-page .qhse-source-section--primary{
    background:var(--navy);
    color:var(--white);
}

.qhse-page .qhse-source-section--primary figure{
    grid-column:1 / 7;
    min-height:clamp(38rem,46vw,46rem);
}

.qhse-page .qhse-source-section--primary>div{
    grid-column:7 / 13;
}

.qhse-page .qhse-source-section--primary h2{
    max-width:13ch;
    font-size:clamp(3rem,4.4vw,4.25rem);
}

.qhse-page .qhse-source-section--primary>div>p:not(.eyebrow){
    color:rgb(255 255 255 / .82);
}

.qhse-page .qhse-source-section--system,
.qhse-page .qhse-source-section--policy{
    border:1px solid var(--line);
    background:var(--white);
    color:var(--ink);
}

.qhse-page .qhse-source-section--system figure{
    grid-column:6 / 13;
    min-height:clamp(28rem,38vw,36rem);
}

.qhse-page .qhse-source-section--system>div{
    grid-column:1 / 6;
}

.qhse-page .qhse-source-section--policy figure{
    grid-column:1 / 7;
    min-height:clamp(30rem,40vw,38rem);
}

.qhse-page .qhse-source-section--policy>div{
    grid-column:7 / 13;
    background:oklch(94% .018 247);
}

.qhse-page .qhse-source-section--system h2,
.qhse-page .qhse-source-section--policy h2{
    max-width:16ch;
    font-size:clamp(2.75rem,4vw,3.75rem);
}

.qhse-page .qhse-source-section--system>div>p:not(.eyebrow),
.qhse-page .qhse-source-section--policy>div>p:not(.eyebrow){
    color:oklch(39% .025 248);
}

html[dir=rtl] .qhse-page .qhse-source-section--primary figure,
html[dir=rtl] .qhse-page .qhse-source-section--policy figure{
    grid-column:7 / 13;
}

html[dir=rtl] .qhse-page .qhse-source-section--primary>div,
html[dir=rtl] .qhse-page .qhse-source-section--policy>div{
    grid-column:1 / 7;
}

html[dir=rtl] .qhse-page .qhse-source-section--system figure{
    grid-column:1 / 8;
}

html[dir=rtl] .qhse-page .qhse-source-section--system>div{
    grid-column:8 / 13;
}

.qhse-page .qhse-certifications{
    margin:0 var(--page) clamp(var(--space-16),8vw,var(--space-24));
    padding:clamp(var(--space-12),6vw,var(--space-24));
    border-radius:6px;
    background:var(--navy);
}

.qhse-page .qhse-certifications>header{
    display:grid;
    grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);
    gap:clamp(var(--space-8),6vw,var(--space-16));
    align-items:end;
    max-width:none;
    margin:0 0 var(--space-12);
    padding-block-end:var(--space-12);
    border-block-end:1px solid rgb(255 255 255 / .18);
}

.qhse-page .qhse-certifications>header>.eyebrow{
    grid-column:1/-1;
    margin:0;
}

.qhse-page .qhse-certifications h2{
    grid-column:1;
    max-width:13ch;
    margin:0;
    font-size:clamp(3rem,5vw,4.5rem);
    font-weight:540;
    line-height:1;
    text-wrap:balance;
}

.qhse-page .qhse-certifications>header>p:last-child{
    grid-column:2;
    max-width:58ch;
    margin:0;
    color:rgb(255 255 255 / .78);
    line-height:1.75;
    text-wrap:pretty;
}

.qhse-page .qhse-certifications>header.qhse-certifications__header--title-only{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
    align-items:start;
    margin-block-end:var(--space-8);
    padding-block-end:var(--space-8);
}

.qhse-page .qhse-certifications>header.qhse-certifications__header--title-only h2{
    grid-column:1;
    max-width:22ch;
    font-size:clamp(2.4rem,4vw,3.75rem);
    line-height:1.16;
}

.qhse-page .qhse-certificates{
    gap:var(--space-4);
    padding-block-end:clamp(var(--space-12),6vw,var(--space-16));
    border-block-end:1px solid rgb(255 255 255 / .18);
}

.qhse-page .qhse-certificates a{
    border-radius:2px;
}

.qhse-page .qhse-certificates img{
    filter:saturate(.9);
    transition:transform 200ms cubic-bezier(.22,1,.36,1),filter 200ms cubic-bezier(.22,1,.36,1);
}

.qhse-page .qhse-certificates a:is(:hover,:focus-visible) img{
    transform:scale(1.012);
    filter:saturate(1);
}

.qhse-page .qhse-certificates figcaption{
    color:rgb(255 255 255 / .78);
}

.qhse-page .qhse-standards{
    gap:var(--space-4);
    margin-block-start:clamp(var(--space-12),6vw,var(--space-16));
}

.qhse-page .qhse-standards figure{
    gap:var(--space-4);
    min-width:0;
    padding:var(--space-6);
    border:0;
    border-radius:4px;
    background:var(--white);
    color:var(--ink);
}

.qhse-page .qhse-standards img{
    width:min(100%,8rem);
    height:auto;
}

.qhse-page .qhse-standards figcaption{
    font-weight:680;
}

@media (max-width:1099px){
    .qhse-page .qhse-introduction,
    .qhse-page .qhse-certifications>header{
        grid-template-columns:minmax(14rem,.72fr) minmax(0,1.4fr);
        gap:var(--space-12);
    }

}

@media (max-width:899px){
    .qhse-page .qhse-introduction,
    .qhse-page .qhse-certifications>header{
        display:block;
    }

    .qhse-page .qhse-introduction>.eyebrow,
    .qhse-page .qhse-certifications>header>.eyebrow{
        margin-block-end:var(--space-4);
    }

    .qhse-page .qhse-introduction h2,
    .qhse-page .qhse-certifications h2{
        margin-block-end:var(--space-6);
    }

    .qhse-page .qhse-source-section{
        grid-template-columns:1fr;
    }

    .qhse-page .qhse-source-section--primary figure,
    .qhse-page .qhse-source-section--system figure,
    .qhse-page .qhse-source-section--policy figure,
    html[dir=rtl] .qhse-page .qhse-source-section--primary figure,
    html[dir=rtl] .qhse-page .qhse-source-section--system figure,
    html[dir=rtl] .qhse-page .qhse-source-section--policy figure{
        grid-column:1;
        grid-row:1;
        min-height:clamp(22rem,62vw,30rem);
    }

    .qhse-page .qhse-source-section--primary>div,
    .qhse-page .qhse-source-section--system>div,
    .qhse-page .qhse-source-section--policy>div,
    html[dir=rtl] .qhse-page .qhse-source-section--primary>div,
    html[dir=rtl] .qhse-page .qhse-source-section--system>div,
    html[dir=rtl] .qhse-page .qhse-source-section--policy>div{
        grid-column:1;
        grid-row:2;
    }

    .qhse-page .qhse-certificates{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .qhse-page .qhse-standards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:599px){
    .qhse-page .qhse-introduction,
    .qhse-page .qhse-source-sections{
        padding-block:var(--space-16);
    }

    .qhse-page .qhse-source-sections{
        gap:var(--space-12);
    }

    .qhse-page .qhse-source-section--primary>div,
    .qhse-page .qhse-source-section--system>div,
    .qhse-page .qhse-source-section--policy>div{
        padding-block:var(--space-12);
        padding-inline:var(--space-8);
    }

    .qhse-page .qhse-source-section h2{
        font-size:clamp(2.4rem,11vw,3.25rem);
    }

    .qhse-page .qhse-certifications{
        margin-block-end:var(--space-16);
        padding:var(--space-8);
    }

    .qhse-page .qhse-certifications>header{
        margin-block-end:var(--space-8);
        padding-block-end:var(--space-8);
    }

    .qhse-page .qhse-certifications h2{
        font-size:clamp(2.5rem,11vw,3.25rem);
    }

    .qhse-page .qhse-certificates{
        display:flex;
        gap:var(--space-4);
        overflow-x:auto;
        padding-block-end:var(--space-8);
        scroll-padding-inline:var(--space-1);
        scroll-snap-type:x proximity;
        scrollbar-width:thin;
    }

    .qhse-page .qhse-certificates figure{
        flex:0 0 min(78vw,17rem);
        scroll-snap-align:start;
    }

    .qhse-page .qhse-standards{
        gap:var(--space-2);
        margin-block-start:var(--space-8);
    }

    .qhse-page .qhse-standards figure{
        padding:var(--space-4);
    }
}

@media (prefers-reduced-motion:reduce){
    .qhse-page .qhse-certificates img{
        transition:none;
    }
}

/* Contact page
   One composed contact surface: direct office routes beside a calm enquiry form. */
.contact-page{
    background:oklch(97% .008 247);
}

.contact-page .managed-section[data-section-key="introduction"]{
    display:block;
    max-width:none;
    margin:0;
    padding:clamp(var(--space-16),7vw,var(--space-24)) var(--page);
    border-block-end:1px solid var(--line);
    background:var(--white);
}

.contact-page .managed-section[data-section-key="introduction"] .managed-section__content{
    display:grid;
    grid-template-columns:minmax(14rem,.72fr) minmax(0,1.55fr);
    gap:clamp(var(--space-8),7vw,var(--space-24));
    align-items:end;
    width:100%;
    max-width:82rem;
    margin-inline:auto;
}

.contact-page .managed-section[data-section-key="introduction"] h2{
    grid-column:1;
    max-width:11ch;
    margin:0;
    font-size:clamp(3rem,5.5vw,4.75rem);
    font-weight:540;
    line-height:1;
    letter-spacing:-.03em;
    text-wrap:balance;
}

.contact-page .managed-section[data-section-key="introduction"] p{
    grid-column:2;
    max-width:62ch;
    margin:0;
    color:oklch(40% .025 248);
    font-size:clamp(1.05rem,1.35vw,1.2rem);
    line-height:1.75;
    text-wrap:pretty;
}

.contact-page__body{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    max-width:calc(82rem + (2 * var(--page)));
    margin-inline:auto;
    padding:clamp(var(--space-16),8vw,var(--space-24)) var(--page);
}

.contact-page__details,
.contact-page__form{
    min-width:0;
}

.contact-page__details{
    grid-column:1 / 6;
    padding:clamp(var(--space-8),5vw,var(--space-16));
    border-radius:6px 0 0 6px;
    background:var(--navy);
    color:var(--white);
}

.contact-page__details-header{
    padding-block-end:clamp(var(--space-8),4vw,var(--space-12));
    border-block-end:1px solid rgb(255 255 255 / .18);
}

.contact-page__details .eyebrow,
.contact-page__form .eyebrow{
    margin:0 0 var(--space-4);
}

.contact-page__details h2,
.contact-page__form h2{
    margin:0;
    font-size:clamp(2.75rem,4.5vw,4.25rem);
    font-weight:540;
    line-height:1;
    letter-spacing:-.03em;
    text-wrap:balance;
}

.contact-page__routes{
    display:flex;
    flex-direction:column;
    margin:0;
    font-style:normal;
}

.contact-page__route{
    display:grid;
    grid-template-columns:1.5rem minmax(0,1fr) 1.25rem;
    gap:var(--space-4);
    align-items:start;
    min-width:0;
    padding-block:var(--space-8);
    border-block-end:1px solid rgb(255 255 255 / .18);
    color:var(--white);
}

.contact-page__route--address{
    grid-template-columns:1.5rem minmax(0,1fr);
}

.contact-page__route--phones{
    grid-template-columns:1.5rem minmax(0,1fr);
}

.contact-page__route>svg{
    width:1.5rem;
    height:1.5rem;
    margin-block-start:.15rem;
    fill:none;
    stroke:var(--cyan);
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.65;
}

.contact-page__route>div{
    min-width:0;
}

.contact-page__route span{
    display:block;
    margin-block-end:var(--space-2);
    color:rgb(255 255 255 / .68);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.contact-page__route p,
.contact-page__route bdi{
    margin:0;
    color:var(--white);
    font-size:clamp(1rem,1.2vw,1.08rem);
    line-height:1.65;
    overflow-wrap:anywhere;
}

.contact-page__route bdi{
    font-weight:560;
}

.contact-page__route--phones a{
    display:block;
    width:max-content;
    max-width:100%;
    color:var(--white);
    text-decoration:underline;
    text-decoration-color:transparent;
    text-underline-offset:.25rem;
    transition:text-decoration-color 200ms cubic-bezier(.22,1,.36,1);
}

.contact-page__route--phones a+a{
    margin-block-start:var(--space-2);
}

.contact-page__route--phones a:is(:hover,:focus-visible){
    text-decoration-color:var(--cyan);
}

.contact-page__route .contact-page__route-arrow{
    width:1.15rem;
    height:1.15rem;
    margin-block-start:.3rem;
    stroke:currentColor;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

html[dir=rtl] .contact-page__route .contact-page__route-arrow{
    transform:scaleX(-1);
}

.contact-page__route:is(:hover,:focus-visible) .contact-page__route-arrow{
    transform:translateX(3px);
}

html[dir=rtl] .contact-page__route:is(:hover,:focus-visible) .contact-page__route-arrow{
    transform:scaleX(-1) translateX(3px);
}

.contact-page__form{
    grid-column:6 / 13;
    padding:clamp(var(--space-8),5vw,var(--space-16));
    border:1px solid var(--line);
    border-inline-start:0;
    border-radius:0 6px 6px 0;
    background:var(--white);
}

.contact-page__form-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(12rem,.7fr);
    gap:var(--space-6);
    align-items:end;
    margin-block-end:var(--space-6);
    padding-block-end:var(--space-6);
    border-block-end:1px solid var(--line);
}

.contact-page__form-header .eyebrow{
    grid-column:1 / -1;
}

.contact-page__form-header h2{
    grid-column:1;
    font-size:clamp(2.5rem,4vw,3.75rem);
}

html[dir=rtl] .contact-page__form-header h2{
    max-width:14ch;
    font-size:clamp(2rem,3.4vw,3.25rem);
    line-height:1.28;
}

.contact-page__form-header>p:last-child{
    grid-column:2;
    margin:0;
    color:oklch(42% .025 248);
    line-height:1.6;
}

.contact-page__field-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-4);
}

.contact-page__field{
    display:flex;
    min-width:0;
    flex-direction:column;
    margin-block-end:var(--space-3);
}

.contact-page__field label{
    display:flex;
    justify-content:space-between;
    gap:var(--space-4);
    margin-block-end:var(--space-2);
    color:var(--ink);
    font-size:.92rem;
    font-weight:680;
    letter-spacing:0;
    text-transform:none;
}

.contact-page__field label:has(>.contact-page__required-marker){
    justify-content:flex-start;
    gap:0;
}

.contact-page__field label>.contact-page__required-marker{
    margin-inline-start:.15rem;
    color:var(--danger);
}

.contact-page__field label small,
.contact-page__field>small{
    color:oklch(43% .025 248);
    font-size:.82rem;
    font-weight:500;
}

.contact-page__field input,
.contact-page__field textarea{
    width:100%;
    min-height:3.25rem;
    border:1px solid oklch(82% .018 248);
    border-radius:6px;
    background:oklch(98.5% .006 247);
    padding:.8rem 1rem;
    color:var(--ink);
    caret-color:var(--source-blue);
    transition:border-color 180ms cubic-bezier(.22,1,.36,1),background-color 180ms cubic-bezier(.22,1,.36,1),box-shadow 180ms cubic-bezier(.22,1,.36,1);
}

.contact-page__field textarea{
    min-height:11rem;
    resize:vertical;
    line-height:1.6;
}

.contact-page__field input:hover,
.contact-page__field textarea:hover{
    border-color:oklch(67% .06 248);
    background:var(--white);
}

.contact-page__field input:focus,
.contact-page__field textarea:focus{
    border-color:var(--source-blue);
    outline:0;
    background:var(--white);
    box-shadow:0 0 0 3px rgb(16 119 214 / .2);
}

.contact-page__field input.input-validation-error,
.contact-page__field textarea.input-validation-error,
.contact-page__field input[aria-invalid=true],
.contact-page__field textarea[aria-invalid=true]{
    border-color:var(--danger);
}

.contact-page__field>span{
    min-height:1.25rem;
    margin-block-start:var(--space-1);
    color:var(--danger);
    font-size:.82rem;
    line-height:1.45;
}

.contact-page__field>span:empty{
    min-height:0;
    margin-block-start:0;
}

.contact-page__field--message>small{
    order:3;
    margin-block-start:var(--space-2);
}

.contact-page__field--message>span{
    order:4;
}

.contact-page__notice,
.contact-page__validation-summary:not(:empty){
    margin:0 0 var(--space-8);
    padding:var(--space-4) var(--space-6);
    border-radius:4px;
}

.contact-page__notice{
    border:1px solid oklch(73% .09 160);
    background:oklch(95% .04 160);
}

.contact-page__validation-summary:not(:empty){
    border:1px solid var(--danger);
    background:oklch(96% .025 25);
}

.contact-page__validation-summary ul{
    margin:0;
    padding-inline-start:var(--space-6);
}

.contact-page__validation-summary:focus{
    outline:3px solid var(--source-blue);
    outline-offset:3px;
}

.contact-page__validation-summary>strong{
    display:block;
    margin-block-end:var(--space-2);
}

.contact-page__form-footer{
    display:flex;
    gap:var(--space-6);
    justify-content:space-between;
    align-items:center;
    margin-block-start:var(--space-2);
    padding-block-start:var(--space-6);
    border-block-start:1px solid var(--line);
}

.contact-page__form-footer .form-privacy{
    max-width:33rem;
    margin:0;
    color:oklch(42% .025 248);
    font-size:.88rem;
    line-height:1.65;
}

.contact-page__form-footer .form-privacy a{
    color:var(--source-blue);
    font-weight:650;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:.2em;
}

.contact-page__form-footer .button{
    flex:0 0 auto;
}

.contact-page__form-footer svg{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
}

html[dir=rtl] .contact-page__details{
    border-radius:0 6px 6px 0;
}

html[dir=rtl] .contact-page__form{
    border-inline-start:0;
    border-radius:6px 0 0 6px;
}

@media (max-width:1099px){
    .contact-page__details{
        grid-column:1 / 6;
    }

    .contact-page__form{
        grid-column:6 / 13;
    }

    .contact-page__form-header{
        display:block;
    }

    .contact-page__form-header h2{
        margin-block-end:var(--space-4);
    }
}

@media (max-width:899px){
    .contact-page .managed-section[data-section-key="introduction"] .managed-section__content{
        display:block;
    }

    .contact-page .managed-section[data-section-key="introduction"] h2{
        margin-block-end:var(--space-6);
    }

    .contact-page__body{
        display:block;
    }

    .contact-page__details,
    html[dir=rtl] .contact-page__details{
        border-radius:6px 6px 0 0;
    }

    .contact-page__form,
    html[dir=rtl] .contact-page__form{
        border:1px solid var(--line);
        border-block-start:0;
        border-radius:0 0 6px 6px;
    }

    .contact-page__routes{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .contact-page__route--address{
        grid-column:1 / -1;
    }

    .contact-page__route:nth-child(2){
        border-inline-end:1px solid rgb(255 255 255 / .18);
    }
}

@media (max-width:599px){
    .contact-page .managed-section[data-section-key="introduction"]{
        padding-block:var(--space-16);
    }

    .contact-page .managed-section[data-section-key="introduction"] h2{
        font-size:clamp(2.5rem,11vw,3.25rem);
    }

    .contact-page__body{
        padding-block:var(--space-16);
    }

    .contact-page__details,
    .contact-page__form{
        padding:var(--space-8);
    }

    .contact-page__details h2,
    .contact-page__form h2{
        font-size:clamp(2.4rem,11vw,3.15rem);
    }

    .contact-page__routes{
        display:flex;
    }

    .contact-page__route:nth-child(2){
        border-inline-end:0;
    }

    .contact-page__field-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .contact-page__field{
        margin-block-end:var(--space-3);
    }

    .contact-page__form-footer{
        align-items:stretch;
        flex-direction:column;
        gap:var(--space-6);
    }

    .contact-page__form-footer .button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .contact-page__route .contact-page__route-arrow,
    .contact-page__field input,
    .contact-page__field textarea{
        transition:none;
    }

    .contact-page__route:is(:hover,:focus-visible) .contact-page__route-arrow{
        transform:none;
    }

    html[dir=rtl] .contact-page__route:is(:hover,:focus-visible) .contact-page__route-arrow{
        transform:scaleX(-1);
    }
}

/* Project principles — immersive evidence-led composition */
.principle-page .principle-page-hero{
    min-height:clamp(660px,82svh,850px);
}

.principle-page .principle-page-hero .public-page-hero__inner{
    grid-template-columns:minmax(0,7fr) minmax(20rem,5fr);
}

.principle-page .principle-page-hero .public-page-hero__content{
    width:min(46rem,100%);
    max-width:46rem;
}

.principle-page .principle-page-hero .public-page-hero__content h1{
    max-width:13ch;
    font-size:clamp(2.375rem,3.6vw,4rem);
    line-height:1.14;
}

.principle-page .principle-page-hero .public-page-hero__statistics dd{
    overflow-wrap:anywhere;
}

.principle-page .principle-page-hero .public-page-hero__statistics>div{
    gap:.35rem 1.15rem;
    padding:1.35rem 1.5rem;
}

.principle-page .principle-page-hero .public-page-hero__statistics>div:last-child dd{
    font-size:clamp(1.1rem,1.8vw,1.5rem);
}

.principle-page .principle-page-hero .public-page-hero__capabilities article{
    min-height:8.5rem;
    gap:1rem;
    padding:clamp(1.25rem,2vw,1.75rem);
}

.principle-page .principle-page-hero .public-page-hero__capabilities h2{
    margin-block-end:.55rem;
    font-size:1rem;
}

.principle-page .principle-page-hero .public-page-hero__capabilities p{
    max-width:24ch;
}

.principle-page__foundation{
    display:grid;
    width:min(calc(100% - 40px),101rem);
    margin:clamp(1.25rem,2.5vw,2.5rem) auto;
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    overflow:hidden;
    border-radius:6px;
    background:var(--white);
}

.principle-page__statement,
.principle-page__foundation-copy{
    min-width:0;
    padding:clamp(3rem,6.5vw,7rem);
}

.principle-page__statement{
    display:flex;
    min-height:31rem;
    flex-direction:column;
    justify-content:space-between;
    background:var(--source-blue);
    color:var(--white);
}

.principle-page__statement>span{
    width:5.5rem;
    height:3px;
    background:var(--cyan);
}

.principle-page__statement p{
    max-width:24ch;
    margin:clamp(3rem,8vw,8rem) 0 0;
    font-size:clamp(1.65rem,2.65vw,3rem);
    font-weight:390;
    line-height:1.3;
    letter-spacing:-.025em;
}

.principle-page__foundation-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-block:1px solid var(--line);
    border-inline-end:1px solid var(--line);
}

.principle-page__foundation-copy h2,
.principle-page__system h2,
.principle-page__performance h2,
.principle-page__outlook h2{
    margin:0;
    font-weight:430;
    letter-spacing:-.03em;
}

.principle-page__foundation-copy h2{
    max-width:15ch;
    color:var(--navy);
    font-size:clamp(2.5rem,4.3vw,4.75rem);
}

.principle-page__foundation-copy p{
    max-width:63ch;
    margin:2rem 0 0;
    color:var(--muted);
    font-size:clamp(1.05rem,1.25vw,1.2rem);
    line-height:1.8;
}

.principle-page__system{
    display:grid;
    grid-template-columns:minmax(0,5fr) minmax(30rem,7fr);
    gap:clamp(4rem,8vw,9rem);
    align-items:center;
    padding:clamp(5.5rem,10vw,10rem) max(var(--page),calc((100vw - 101rem)/2));
    background:var(--navy);
    color:var(--white);
}

.principle-page__system-copy h2{
    max-width:13ch;
    font-size:clamp(2.75rem,4.7vw,5.25rem);
}

.principle-page__system-copy p{
    max-width:60ch;
    margin:2rem 0 0;
    color:rgb(255 255 255 / .76);
    font-size:clamp(1.05rem,1.25vw,1.18rem);
    line-height:1.85;
}

.principle-page__system-map{
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .2);
    border-radius:6px;
    background:rgb(4 18 32 / .68);
}

.principle-page__system-core{
    display:flex;
    min-height:10rem;
    align-items:end;
    justify-content:space-between;
    gap:2rem;
    padding:2rem;
    background:var(--source-blue);
}

.principle-page__system-core>span{
    font-size:clamp(3.5rem,6vw,6rem);
    font-weight:300;
    line-height:.85;
    letter-spacing:-.04em;
}

.principle-page__system-core small{
    max-width:14ch;
    color:rgb(255 255 255 / .9);
    font-size:.8rem;
    font-weight:700;
    line-height:1.45;
    text-align:end;
    text-transform:uppercase;
}

.principle-page__system-map ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:0;
    padding:0;
    list-style:none;
}

.principle-page__system-map li{
    display:flex;
    min-height:4.75rem;
    align-items:center;
    gap:1rem;
    padding:1.15rem 1.5rem;
    border-block-start:1px solid rgb(255 255 255 / .14);
    color:rgb(255 255 255 / .88);
    font-size:.9rem;
    font-weight:570;
}

.principle-page__system-map li:nth-child(odd){
    border-inline-end:1px solid rgb(255 255 255 / .14);
}

.principle-page__system-map li>span{
    flex:0 0 .55rem;
    width:.55rem;
    height:.55rem;
    border:2px solid var(--cyan);
    transform:rotate(45deg);
}

.principle-page__performance{
    display:grid;
    width:min(100%,101rem);
    grid-template-columns:minmax(0,5fr) minmax(0,6fr);
    gap:clamp(3rem,8vw,9rem);
    margin-inline:auto;
    padding:clamp(6rem,11vw,11rem) clamp(2rem,6.5vw,7.5rem);
}

.principle-page__performance-heading h2{
    max-width:15ch;
    color:var(--navy);
    font-size:clamp(2.7rem,4.5vw,5rem);
}

.principle-page__performance-body{
    padding-block-start:.6rem;
}

.principle-page__performance-body p{
    max-width:65ch;
    margin:0;
    color:var(--muted);
    font-size:clamp(1.05rem,1.3vw,1.22rem);
    line-height:1.85;
}

.principle-page__performance-body p+p{
    margin-block-start:1.25rem;
}

.principle-page__progression{
    position:relative;
    display:grid;
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin:clamp(4rem,7vw,7rem) 0 0;
    padding:0;
    list-style:none;
    border-block-start:3px solid var(--source-blue);
}

.principle-page--sustainable-growth .principle-page__progression{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.principle-page__progression li{
    position:relative;
    min-height:10rem;
    padding:2.25rem clamp(1.25rem,2.2vw,2rem) 1.75rem;
    border-inline-end:1px solid var(--line);
}

.principle-page__progression li:last-child{
    border-inline-end:0;
}

.principle-page__progression li::before{
    content:"";
    position:absolute;
    inset-block-start:-.65rem;
    inset-inline-start:0;
    width:1.1rem;
    height:1.1rem;
    border:3px solid var(--white);
    border-radius:50%;
    background:var(--source-blue);
    box-shadow:0 0 0 1px var(--source-blue);
}

.principle-page__progression span{
    display:block;
    margin-block-end:1.5rem;
    color:var(--blue);
    font-size:.72rem;
    font-weight:780;
    letter-spacing:.12em;
}

.principle-page__progression strong{
    display:block;
    max-width:15ch;
    color:var(--ink);
    font-size:clamp(1rem,1.35vw,1.25rem);
    font-weight:650;
    line-height:1.35;
}

.principle-page__outlook{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,5fr) minmax(0,6fr);
    gap:clamp(3rem,8vw,9rem);
    overflow:hidden;
    margin-block-end:clamp(3.5rem,7vw,7rem);
    padding:clamp(5.5rem,9vw,9rem) max(var(--page),calc((100vw - 101rem)/2));
    background:#071d33;
    color:var(--white);
}

.principle-page__outlook::after{
    content:"";
    position:absolute;
    inset-block:0;
    inset-inline-end:0;
    width:clamp(.45rem,1vw,.8rem);
    background:var(--source-blue);
}

.principle-page__outlook-heading>span{
    display:block;
    width:5.5rem;
    height:3px;
    margin-block-end:2.25rem;
    background:var(--cyan);
}

.principle-page__outlook h2{
    max-width:13ch;
    font-size:clamp(2.75rem,4.7vw,5.25rem);
}

.principle-page__outlook-content p{
    max-width:63ch;
    margin:0;
    color:rgb(255 255 255 / .78);
    font-size:clamp(1.08rem,1.4vw,1.3rem);
    line-height:1.8;
}

.principle-page__outlook-content p+p{
    margin-block-start:1.25rem;
}

.principle-page__actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-block-start:2.5rem;
}

html[dir=rtl] .principle-page__statement p,
html[dir=rtl] .principle-page__foundation-copy h2,
html[dir=rtl] .principle-page__system h2,
html[dir=rtl] .principle-page__performance h2,
html[dir=rtl] .principle-page__outlook h2,
html[dir=rtl] .principle-page__system-core>span,
html[dir=rtl] .principle-page__progression span{
    letter-spacing:0;
}

@media (max-width:1023px){
    .principle-page .principle-page-hero .public-page-hero__inner{
        grid-template-columns:minmax(0,3fr) minmax(18rem,2fr);
    }

    .principle-page .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__statistics>div,
    .principle-page .public-page-hero.primary-page-header:not(.home-page-hero) .public-page-hero__capabilities article{
        padding:1.25rem;
    }

    .principle-page__foundation{
        grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
    }

    .principle-page__statement,
    .principle-page__foundation-copy{
        padding:clamp(2.5rem,5vw,4rem);
    }

    .principle-page__system{
        grid-template-columns:1fr;
    }

    .principle-page__system-copy{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:3rem;
        align-items:start;
    }

    .principle-page__system-copy p{
        margin-block-start:.5rem;
    }
}

@media (max-width:767px){
    .principle-page .principle-page-hero{
        min-height:calc(100svh - 80px);
    }

    .principle-page .principle-page-hero .public-page-hero__inner{
        display:flex;
    }

    .principle-page .principle-page-hero .public-page-hero__capabilities article{
        min-height:auto;
    }

    .principle-page__foundation{
        width:calc(100% - 20px);
        grid-template-columns:1fr;
        margin-block:10px;
    }

    .principle-page__statement{
        min-height:23rem;
    }

    .principle-page__statement p{
        max-width:28ch;
        margin-block-start:4rem;
    }

    .principle-page__foundation-copy{
        border-block-start:0;
        border-inline-start:1px solid var(--line);
    }

    .principle-page__system-copy,
    .principle-page__performance,
    .principle-page__outlook{
        grid-template-columns:1fr;
    }

    .principle-page__system-copy{
        gap:0;
    }

    .principle-page__system-copy p{
        margin-block-start:2rem;
    }

    .principle-page__performance-body{
        padding-block-start:0;
    }

    .principle-page__progression,
    .principle-page--sustainable-growth .principle-page__progression{
        grid-template-columns:repeat(2,minmax(0,1fr));
        border-block-start:0;
        border-inline-start:3px solid var(--source-blue);
    }

    .principle-page__progression li{
        min-height:8rem;
        padding:1.75rem;
        border-block-start:1px solid var(--line);
    }

    .principle-page__progression li::before{
        inset-block-start:1.75rem;
        inset-inline-start:-.65rem;
    }

    .principle-page__outlook{
        gap:2.5rem;
        margin-block-end:3.5rem;
    }
}

@media (max-width:499px){
    .principle-page .principle-page-hero .public-page-hero__content h1{
        font-size:clamp(1.9rem,8.5vw,2.5rem);
        line-height:1.2;
    }

    .principle-page__statement,
    .principle-page__foundation-copy,
    .principle-page__system,
    .principle-page__performance,
    .principle-page__outlook{
        padding:3.5rem var(--page);
    }

    .principle-page__statement p{
        font-size:clamp(1.55rem,7.5vw,2.15rem);
    }

    .principle-page__foundation-copy h2,
    .principle-page__system-copy h2,
    .principle-page__performance-heading h2,
    .principle-page__outlook h2{
        font-size:clamp(2.3rem,11vw,3.25rem);
        overflow-wrap:anywhere;
    }

    .principle-page__system-core{
        min-height:8rem;
        align-items:center;
        padding:1.5rem;
    }

    .principle-page__system-core>span{
        font-size:3.5rem;
    }

    .principle-page__system-map ul{
        grid-template-columns:1fr;
    }

    .principle-page__system-map li:nth-child(odd){
        border-inline-end:0;
    }

    .principle-page__progression,
    .principle-page--sustainable-growth .principle-page__progression{
        grid-template-columns:1fr;
        margin-block-start:3.5rem;
    }

    .principle-page__progression li{
        min-height:auto;
        padding:1.5rem;
        padding-inline-start:1.75rem;
        border-inline-end:0;
    }

    .principle-page__progression span{
        margin-block-end:.5rem;
    }

    .principle-page__actions{
        align-items:stretch;
        flex-direction:column;
    }

    .principle-page__actions .button{
        width:100%;
    }
}

/* Safe, localized links generated from internal URLs in editorial copy */
.inline-content-link{
    color:var(--blue);
    font-weight:650;
    text-decoration-line:underline;
    text-decoration-color:oklch(48% .15 249 / .42);
    text-decoration-thickness:.08em;
    text-underline-offset:.2em;
    overflow-wrap:anywhere;
    transition:color .18s ease,text-decoration-color .18s ease;
}

.inline-content-link:is(:hover,:focus-visible){
    color:var(--navy);
    text-decoration-color:currentColor;
}

.public-page-hero .inline-content-link{
    color:var(--white);
    text-decoration-color:oklch(77% .115 210 / .72);
}

.public-page-hero .inline-content-link:is(:hover,:focus-visible){
    color:var(--cyan);
    text-decoration-color:currentColor;
}

/* Shared vacancy detail system */
.job-detail{
    background:oklch(97% .008 247);
}

html[dir=rtl] .job-detail{
    font-family:var(--font-persian);
    font-synthesis:none;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero{
    min-height:clamp(32rem,68svh,42rem);
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__inner{
    grid-template-columns:minmax(0,1fr);
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content{
    width:min(100%,46rem);
    max-width:46rem;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero--icon-artwork .public-page-hero__media{
    background:#141414;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero--icon-artwork .public-page-hero__media img{
    object-fit:contain;
    object-position:right center;
    opacity:.78;
}

html[dir=rtl] .job-detail .public-page-hero.primary-page-header.job-detail__hero--icon-artwork .public-page-hero__media img{
    object-position:left center;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero--photo .public-page-hero__media img{
    object-fit:cover;
    object-position:center;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content h1{
    max-width:16ch;
    font-size:clamp(2.375rem,3.6vw,4rem);
    font-weight:360;
    line-height:1.14;
}

.job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content>p{
    max-width:58ch;
    font-size:clamp(1rem,1.25vw,1.12rem);
    line-height:1.75;
}

html[dir=rtl] .job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content h1{
    font-weight:500;
    line-height:1.35;
}

html[dir=rtl] .job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content>p{
    line-height:2;
}

.job-detail__facts{
    padding-inline:var(--page);
    border-block-end:1px solid var(--line);
    background:var(--white);
}

.job-detail__facts dl{
    display:grid;
    width:min(100%,82rem);
    grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
    margin:0 auto;
}

.job-detail__facts dl>div{
    display:grid;
    min-width:0;
    grid-template-columns:1.4rem minmax(0,1fr);
    gap:var(--space-4);
    align-items:start;
    padding:clamp(1.35rem,2.5vw,2rem);
    border-inline-end:1px solid var(--line);
}

.job-detail__facts dl>div:first-child{
    padding-inline-start:0;
}

.job-detail__facts dl>div:last-child{
    padding-inline-end:0;
    border-inline-end:0;
}

.job-detail__fact-icon{
    display:grid;
    width:1.4rem;
    height:1.4rem;
    place-items:center;
    color:var(--source-blue);
}

.job-detail__fact-icon .section-icon{
    width:1.25rem;
    height:1.25rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.job-detail__facts dt{
    margin:0 0 .35rem;
    color:var(--muted);
    font-size:.78rem;
    font-weight:650;
    letter-spacing:.035em;
    line-height:1.5;
}

.job-detail__facts dd{
    margin:0;
    color:var(--navy);
    font-size:1rem;
    font-weight:620;
    line-height:1.55;
    overflow-wrap:anywhere;
}

html[dir=rtl] .job-detail__facts dt{
    letter-spacing:0;
}

.job-detail__fact-status{
    display:flex;
    gap:.55rem;
    align-items:center;
}

.job-detail__fact-status::before{
    content:"";
    width:.48rem;
    height:.48rem;
    flex:none;
    border-radius:50%;
    background:oklch(55% .03 248);
}

.job-detail__fact-status--open::before{
    background:oklch(58% .14 155);
}

.job-detail__main{
    padding:clamp(4.5rem,8vw,7.5rem) var(--page) clamp(6rem,10vw,9rem);
}

.job-detail__layout{
    display:grid;
    width:min(100%,82rem);
    grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);
    gap:clamp(3rem,7vw,7rem);
    align-items:start;
    margin-inline:auto;
}

.job-detail__body{
    min-width:0;
}

.job-detail__body>header{
    max-width:47rem;
    margin-block-end:clamp(2.5rem,5vw,4rem);
    padding-block-end:clamp(2rem,4vw,3rem);
    border-block-end:1px solid var(--line);
}

.job-detail__body>header .eyebrow{
    margin-block-end:var(--space-4);
    color:var(--source-blue);
}

.job-detail__body>header h2{
    max-width:14ch;
    margin:0;
    color:var(--navy);
    font-size:clamp(2.6rem,4.6vw,4.6rem);
    font-weight:480;
    line-height:1.04;
    text-wrap:balance;
}

html[dir=rtl] .job-detail__body>header h2{
    max-width:16ch;
    font-weight:500;
    line-height:1.35;
}

.job-detail__prose{
    display:grid;
    max-width:48rem;
    gap:clamp(2.5rem,5vw,4rem);
}

.job-detail__lead,
.job-detail__content-section p{
    max-width:68ch;
    margin:0;
    color:oklch(37% .025 248);
    font-size:clamp(1.05rem,1.3vw,1.16rem);
    line-height:1.85;
    white-space:pre-line;
}

html[dir=rtl] .job-detail__lead,
html[dir=rtl] .job-detail__content-section p{
    line-height:2.05;
}

.job-detail__requirements,
.job-detail__content-section{
    padding-block-start:var(--space-8);
    border-block-start:1px solid var(--line);
}

.job-detail__requirements h3,
.job-detail__content-section h3{
    margin:0 0 var(--space-6);
    color:var(--navy);
    font-size:clamp(1.55rem,2.2vw,2rem);
    font-weight:600;
    line-height:1.3;
}

html[dir=rtl] .job-detail__requirements h3,
html[dir=rtl] .job-detail__content-section h3{
    line-height:1.6;
}

.job-detail__requirements ul{
    display:grid;
    max-width:68ch;
    gap:var(--space-4);
    margin:0;
    padding:0;
    list-style:none;
}

.job-detail__requirements li{
    position:relative;
    padding-inline-start:1.75rem;
    color:oklch(34% .025 248);
    font-size:1.03rem;
    line-height:1.75;
}

html[dir=rtl] .job-detail__requirements li{
    line-height:1.95;
}

.job-detail__requirements li::before{
    content:"";
    position:absolute;
    inset-block-start:.72em;
    inset-inline-start:0;
    width:.48rem;
    height:.48rem;
    border:2px solid var(--source-blue);
    border-radius:50%;
}

.job-detail__action{
    position:sticky;
    inset-block-start:7rem;
    display:grid;
    gap:var(--space-4);
    align-self:start;
    padding:clamp(1.75rem,3vw,2.5rem);
    border-block-start:4px solid var(--source-blue);
    border-radius:6px;
    background:var(--white);
}

.job-detail__action h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(1.8rem,2.5vw,2.35rem);
    font-weight:540;
    line-height:1.15;
}

html[dir=rtl] .job-detail__action h2{
    font-weight:500;
    line-height:1.55;
}

.job-detail__action>p:not(.job-detail__availability){
    margin:0 0 var(--space-2);
    color:var(--muted);
    line-height:1.75;
}

html[dir=rtl] .job-detail__action>p:not(.job-detail__availability){
    line-height:1.95;
}

.job-detail__availability{
    display:flex;
    gap:.55rem;
    align-items:center;
    margin:0;
    color:var(--muted);
    font-size:.8rem;
    font-weight:700;
}

.job-detail__availability>span{
    width:.5rem;
    height:.5rem;
    flex:none;
    border-radius:50%;
    background:oklch(55% .03 248);
}

.job-detail__availability--open>span{
    background:oklch(58% .14 155);
}

.job-detail__action .button{
    width:100%;
    margin-block-start:var(--space-2);
}

.job-detail__back-link{
    display:flex;
    min-height:44px;
    gap:.55rem;
    align-items:center;
    justify-content:center;
    color:var(--source-blue);
    font-size:.9rem;
    font-weight:650;
}

.job-detail__back-link svg{
    width:1.1rem;
    height:1.1rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 200ms cubic-bezier(.22,1,.36,1);
}

html[dir=rtl] .job-detail__back-link svg{
    transform:scaleX(-1);
}

.job-detail__back-link:hover svg,
.job-detail__back-link:focus-visible svg{
    transform:translateX(.2rem);
}

html[dir=rtl] .job-detail__back-link:hover svg,
html[dir=rtl] .job-detail__back-link:focus-visible svg{
    transform:scaleX(-1) translateX(.2rem);
}

@media (max-width:960px){
    .job-detail__layout{
        grid-template-columns:minmax(0,1fr);
        gap:var(--space-16);
    }

    .job-detail__action{
        position:static;
        width:min(100%,38rem);
    }
}

@media (max-width:600px){
    .job-detail .public-page-hero.primary-page-header.job-detail__hero{
        min-height:clamp(36rem,88svh,43rem);
    }

    .job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content h1{
        font-size:clamp(1.9rem,8.5vw,2.5rem);
        line-height:1.2;
    }

    .job-detail .public-page-hero.primary-page-header.job-detail__hero--icon-artwork .public-page-hero__media img,
    html[dir=rtl] .job-detail .public-page-hero.primary-page-header.job-detail__hero--icon-artwork .public-page-hero__media img{
        object-position:center;
        opacity:.52;
    }

    .job-detail__facts dl{
        grid-template-columns:minmax(0,1fr);
    }

    .job-detail__facts dl>div,
    .job-detail__facts dl>div:first-child,
    .job-detail__facts dl>div:last-child{
        padding:var(--space-6) 0;
        border-inline-end:0;
        border-block-end:1px solid var(--line);
    }

    .job-detail__facts dl>div:last-child{
        border-block-end:0;
    }

    .job-detail__main{
        padding-block-start:var(--space-16);
        padding-block-end:var(--space-24);
    }

    .job-detail__body>header h2{
        font-size:clamp(2.35rem,11vw,3.35rem);
    }

    .job-detail__action{
        width:100%;
        padding:var(--space-6);
    }
}

@media (prefers-reduced-motion:reduce){
    .job-detail__back-link svg{
        transition:none;
    }

    .job-detail__back-link:hover svg,
    .job-detail__back-link:focus-visible svg{
        transform:none;
    }

    html[dir=rtl] .job-detail__back-link:hover svg,
    html[dir=rtl] .job-detail__back-link:focus-visible svg{
        transform:scaleX(-1);
    }
}

/* Shared public display typography
   Page titles remain the dominant display role; narrative and contained headings
   use calmer ceilings so section titles never compete with the page title. */
:root{
    --public-display-page:clamp(2.375rem,3.6vw,4rem);
    --public-display-section:clamp(2.125rem,3.4vw,3.5rem);
    --public-display-contained:clamp(1.75rem,2.6vw,2.75rem);
}

.search-page h1{
    font-size:var(--public-display-page);
}

:is(
    .footer-work-with-us h2,
    .home-about-copy h2,
    .home-section-heading h2,
    .home-solution h2,
    .section-heading h2,
    .careers-intro__layout>header h2,
    .about-section>header h2,
    .about-page :is(.about-journey,.about-values,.about-workflow)>header h2,
    .services-overview>header h2,
    .services-discipline h2,
    .services-projects-cta h2,
    .projects-page .projects-sectors>header h2,
    .projects-page .projects-introduction h2,
    .projects-page .projects-source-feature h2,
    .projects-page .projects-on-hand>header h2,
    .projects-page .projects-impact__heading h2,
    .projects-page .projects-catalogue__heading h2,
    .projects-page .projects-source-portfolios h2,
    .projects-page .projects-final-cta h2,
    .qhse-page .qhse-introduction h2,
    .qhse-page .qhse-source-section h2,
    .qhse-page .qhse-certifications h2,
    .contact-page .managed-section[data-section-key="introduction"] h2,
    .principle-page__foundation-copy h2,
    .principle-page__system h2,
    .principle-page__performance h2,
    .principle-page__outlook h2,
    .job-detail__body>header h2
){
    font-size:var(--public-display-section);
}

.qhse-page .qhse-certifications>header.qhse-certifications__header--title-only h2{
    font-size:var(--public-display-section);
}

:is(
    .contact-details h1,
    .contact-details h2,
    .form-card h2,
    .contact-page__details h2,
    .contact-page__form h2,
    .contact-page__form-header h2
){
    font-size:var(--public-display-contained);
}

/* Persian display typography guardrails
   Persian glyphs need a calmer scale and more vertical room than the Latin display face. */
html[lang=fa][dir=rtl]{
    --fa-display-hero:clamp(2.35rem,4vw,4rem);
    --fa-display-section:clamp(2rem,3.1vw,3.25rem);
    --fa-display-compact:clamp(1.75rem,2.6vw,2.75rem);
    --public-display-section:var(--fa-display-section);
    --public-display-contained:var(--fa-display-compact);
    --fa-heading-line-height:1.34;
    --fa-page-header-line-height:1.38;
}

/* Shared RTL and bidirectional content contract.
   Persian containers retain their RTL flow while embedded technical English,
   acronyms, and source-formatted values are isolated in their natural order. */
html[lang=fa][dir=rtl] body{
    direction:rtl;
    text-align:start;
}

html[lang=fa][dir=rtl] :is(
    .projects-page,
    .project-detail,
    .job-detail,
    .services-page,
    .about-page,
    .qhse-page,
    .careers-page,
    .contact-page,
    .privacy-page,
    .principle-page
){
    direction:rtl;
    text-align:start;
}

.bidi-ltr{
    direction:ltr;
    unicode-bidi:isolate;
}

html[lang=fa] .technical-identifier{
    font-family:"Segoe UI",sans-serif;
    font-variant-numeric:lining-nums;
    font-feature-settings:"lnum" 1,"tnum" 1;
    font-synthesis:none;
}

html[lang=fa][dir=rtl] .project-detail__fact--services ul{
    direction:rtl;
    text-align:start;
}

html[lang=fa][dir=rtl] body :is(h1,h2,h3){
    line-height:var(--fa-heading-line-height);
}

html[lang=fa][dir=rtl] :is(
    .primary-page-header .public-page-hero__content h1,
    .search-page h1
){
    max-width:15ch;
    font-size:var(--fa-display-hero);
    line-height:var(--fa-page-header-line-height);
}

html[lang=fa][dir=rtl] :is(
    .footer-work-with-us h2,
    .home-about-copy h2,
    .home-section-heading h2,
    .home-solution h2,
    .about-section>header h2,
    .about-page :is(.about-journey,.about-values,.about-workflow)>header h2,
    .services-overview>header h2,
    .services-discipline h2,
    .services-projects-cta h2,
    .projects-page .projects-sectors>header h2,
    .projects-page .projects-introduction h2,
    .projects-page .projects-source-feature h2,
    .projects-page .projects-impact__heading h2,
    .projects-final-cta h2,
    .qhse-page .qhse-introduction h2,
    .qhse-page .qhse-source-section h2,
    .qhse-page .qhse-certifications h2,
    .contact-page .managed-section[data-section-key="introduction"] h2,
    .careers-page .managed-section[data-section-key="source-body-recruitment"] h2,
    .principle-page__foundation-copy h2,
    .principle-page__system h2,
    .principle-page__performance h2,
    .principle-page__outlook h2
){
    font-size:var(--fa-display-section);
}

html[lang=fa][dir=rtl] :is(
    .project-detail__facts-header h2,
    .project-detail__overview h2,
    .project-related__header h2,
    .project-gallery__inner h2,
    .project-map__inner h2
){
    font-size:clamp(2.125rem,3vw,3rem);
}

html[lang=fa][dir=rtl] .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content h1{
    max-width:17ch;
    font-size:clamp(2.2rem,3.45vw,3.4rem);
    line-height:1.4;
}

@media (max-width:767px){
    html[lang=fa][dir=rtl] .public-page-hero.primary-page-header.project-detail-hero .public-page-hero__content h1{
        font-size:clamp(1.95rem,8.25vw,2.5rem);
        line-height:1.42;
    }
}

html[lang=fa][dir=rtl] :is(
    .contact-details h1,
    .contact-details h2,
    .form-card h2,
    .contact-page__details h2,
    .contact-page__form-header h2,
    .job-detail__action h2
){
    font-size:var(--fa-display-compact);
}

html[lang=fa][dir=rtl] .job-detail .public-page-hero.primary-page-header.job-detail__hero .public-page-hero__content h1{
    font-size:clamp(2.2rem,3.7vw,3.6rem);
    line-height:var(--fa-page-header-line-height);
}

html[lang=fa][dir=rtl] .job-detail__body>header h2{
    font-size:clamp(2.25rem,3.8vw,3.75rem);
}

/* Persian project CTA: keep the translated question compact without forcing
   a brittle line break into localized content. */
html[lang=fa][dir=rtl] .projects-page .projects-final-cta{
    gap:clamp(var(--space-6),3vw,var(--space-12));
    padding:clamp(var(--space-8),4vw,var(--space-16));
}

html[lang=fa][dir=rtl] .projects-page .projects-final-cta h2{
    max-width:26ch;
    font-size:clamp(2rem,2.8vw,3rem);
    line-height:1.28;
}

/* Persian project narratives sit beside long-form copy, so their headings use
   a quieter editorial scale than promotional section titles. */
html[lang=fa][dir=rtl] .projects-page .managed-source-sections .managed-section--source-body h2{
    max-width:18ch;
    font-size:clamp(1.75rem,2.6vw,2.5rem);
    line-height:1.38;
}

@media (max-width:699px){
    html[lang=fa][dir=rtl] .projects-page .projects-final-cta{
        gap:var(--space-6);
        padding:var(--space-8);
    }

    html[lang=fa][dir=rtl] .projects-page .projects-final-cta h2{
        max-width:none;
        font-size:clamp(1.85rem,7.5vw,2.5rem);
        line-height:1.32;
    }
}

/* TRC careers application */
.career-application{
    max-width:90rem;
    margin-inline:auto;
    padding-block:clamp(var(--space-12),5vw,4.5rem);
    padding-inline:var(--page);
    background:var(--white);
}

.embedded-career-application{
    min-width:0;
    background:var(--white);
}

.career-application--embedded{
    max-width:none;
    padding:0;
}

.career-application--embedded .career-application__steps{
    top:var(--space-4);
}

.career-application__intro{
    max-width:58rem;
    margin-bottom:var(--space-6);
}

.career-application__back{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:var(--space-6);
    color:var(--blue);
    font-weight:650;
}

.career-application__intro h1{
    max-width:22ch;
    margin:var(--space-2) 0 var(--space-3);
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.15;
    letter-spacing:-.025em;
    text-wrap:balance;
}

html[lang=fa] .career-application__intro h1{
    line-height:1.35;
    letter-spacing:0;
}

.career-application__intro>p:last-child{
    max-width:70ch;
    margin:0;
    color:var(--muted);
    font-size:1rem;
    line-height:1.65;
}

.career-application__notice{
    max-width:70rem;
    margin-bottom:var(--space-6);
    padding:1rem 1.25rem;
    border:1px solid oklch(76% .09 80);
    border-radius:10px;
    background:oklch(96% .025 80);
    color:oklch(34% .07 70);
}

.career-application__notice p{
    max-width:75ch;
    margin:.25rem 0 0;
}

.career-application__shell{
    display:grid;
    grid-template-columns:15rem minmax(0,1fr);
    gap:clamp(var(--space-8),4vw,var(--space-16));
    align-items:start;
}

.career-application__steps{
    position:sticky;
    top:6.5rem;
}

.career-application__steps ol{
    display:flex;
    flex-direction:column;
    gap:var(--space-1);
    margin:0;
    padding:0;
    list-style:none;
}

.career-application__steps button{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:var(--space-3);
    width:100%;
    min-height:44px;
    padding:var(--space-3);
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--muted);
    font:inherit;
    font-weight:600;
    text-align:start;
    cursor:pointer;
}

.career-application__steps button:hover{
    background:var(--paper);
    color:var(--ink);
}

.career-application__steps button.is-current{
    background:oklch(94% .025 247);
    color:var(--blue-dark);
}

.career-application__steps button span{
    display:grid;
    flex:0 0 2rem;
    width:2rem;
    height:2rem;
    place-items:center;
    border-radius:50%;
    background:var(--paper);
    color:var(--muted);
    font-size:.8125rem;
}

.career-application__steps button.is-current span{
    background:var(--blue);
    color:var(--white);
}

.career-application__form{
    min-width:0;
    max-width:64rem;
}

.career-form-step__header{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-1);
    align-items:start;
    margin-bottom:var(--space-6);
    padding-bottom:var(--space-3);
    border-bottom:1px solid var(--line);
}

.career-form-step__header p{
    margin:0;
    color:var(--blue);
    font-size:.875rem;
    font-weight:700;
}

.career-form-step__header h2{
    margin:0;
    font-size:clamp(1.25rem,1.6vw,1.375rem);
    line-height:1.3;
    text-wrap:balance;
}

html[lang=fa] .career-form-step__header h2{
    line-height:1.45;
}

.career-form-step__header>span{
    max-width:65ch;
    color:var(--muted);
    font-size:.875rem;
    text-align:start;
}

.career-fieldset{
    min-width:0;
    margin:0 0 var(--space-8);
    padding:0;
    border:0;
}

.career-fieldset legend,
.career-skill-group h3{
    width:100%;
    margin:0 0 var(--space-3);
    padding:0;
    color:var(--ink);
    font-size:1rem;
    line-height:1.4;
    font-weight:750;
}

.career-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3) var(--space-4);
}

.career-field--wide{
    grid-column:1/-1;
}

.career-field{
    min-width:0;
}

.career-field label{
    display:flex;
    justify-content:space-between;
    gap:var(--space-2);
    margin-bottom:.375rem;
    color:var(--ink);
    font-size:.875rem;
    font-weight:700;
}

.career-field label span,
.career-field small{
    color:var(--muted);
    font-size:.775rem;
    font-weight:500;
}

.career-field small{
    display:block;
    margin-top:var(--space-1);
    line-height:1.45;
}

.career-field input,
.career-field select,
.career-field textarea{
    width:100%;
    min-height:48px;
    border:1px solid oklch(80% .018 247);
    border-radius:6px;
    background:var(--white);
    color:var(--ink);
    font:inherit;
    padding:.75rem .875rem;
    transition:border-color 160ms ease-out,box-shadow 160ms ease-out;
}

.career-field textarea{
    min-height:6.5rem;
    resize:vertical;
}

.career-field input[readonly],
.career-field input:disabled,
.career-field select:disabled,
.career-field textarea:disabled{
    background:var(--paper);
    color:var(--muted);
    cursor:not-allowed;
    opacity:.78;
}

.career-field input:not(:disabled):hover,
.career-field select:not(:disabled):hover,
.career-field textarea:not(:disabled):hover{
    border-color:oklch(66% .04 247);
}

.career-field input[type=file]{
    padding:.375rem;
}

.career-field input[type=file]::file-selector-button{
    min-height:36px;
    margin-inline-end:var(--space-3);
    border:1px solid var(--blue);
    border-radius:5px;
    background:var(--white);
    color:var(--blue);
    padding:.375rem .75rem;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.career-field input[type=file]:hover::file-selector-button{
    background:oklch(96% .025 247);
}

.career-photo-preview{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    margin-top:var(--space-2);
    min-width:0;
}

.career-photo-preview[hidden]{
    display:none;
}

.career-photo-preview img{
    width:64px;
    height:64px;
    flex:0 0 64px;
    border-radius:8px;
    object-fit:cover;
}

.career-photo-preview span{
    min-width:0;
    flex:1;
    overflow-wrap:anywhere;
    color:var(--ink);
    font-size:.875rem;
}

.career-field input:focus,
.career-field select:focus,
.career-field textarea:focus{
    border-color:var(--blue);
    outline:0;
    box-shadow:0 0 0 3px oklch(60% .18 247 / .18);
}

.career-field [aria-invalid=true]{
    border-color:var(--danger);
}

.career-field__error{
    display:block;
    min-height:1rem;
    margin-top:var(--space-1);
    color:var(--danger);
    font-size:.775rem;
    font-weight:600;
    line-height:1.25;
}

.career-repeat-list{
    display:flex;
    flex-direction:column;
    gap:var(--space-3);
    margin-bottom:var(--space-3);
}

.career-repeat-card{
    padding:1.25rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
}

.career-repeat-card>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-4);
    margin-bottom:var(--space-4);
}

.career-repeat-card>header h3{
    margin:0;
    font-size:1rem;
    line-height:1.4;
}

.career-repeat-card__error{
    min-height:0;
    margin-bottom:0;
}

.career-skill-group{
    margin-bottom:var(--space-8);
}

.career-form-actions{
    display:flex;
    justify-content:space-between;
    gap:var(--space-4);
    margin-top:var(--space-8);
    padding-top:1.25rem;
    border-top:1px solid var(--line);
}

.career-form-actions [data-next-step]{
    margin-inline-start:auto;
}

.career-form-actions .button[hidden]{
    display:none;
}

.career-application__status{
    margin-bottom:1.5rem;
    padding:1rem;
    border-radius:8px;
    background:oklch(95% .03 25);
    color:oklch(38% .11 25);
    font-weight:650;
    scroll-margin-block:clamp(5rem,12vh,9rem);
}

.career-application__status[data-state=success]{
    border:1px solid oklch(72% .08 155);
    background:oklch(95% .04 155);
    color:oklch(31% .09 155);
}

.career-application__shell.is-submitted{
    grid-template-columns:minmax(0,48rem);
    justify-content:center;
}

.career-application__form.is-submitted .career-application__status{
    margin:0;
    padding:clamp(1.5rem,4vw,2.5rem);
    text-align:center;
    font-size:clamp(1.05rem,1rem + .3vw,1.25rem);
    line-height:1.65;
}

.career-application__form.is-submitted .career-form-actions{
    display:none;
}

.career-review dl{
    display:grid;
    gap:0;
    margin:0 0 2rem;
    overflow:hidden;
    border-radius:10px;
    background:var(--paper);
}

.career-review__row{
    display:grid;
    grid-template-columns:minmax(12rem,.9fr) minmax(0,1.5fr);
    gap:var(--space-6);
    align-items:center;
    min-height:64px;
    padding:var(--space-3) var(--space-4);
}

.career-review__row+.career-review__row{
    border-top:1px solid var(--line);
}

.career-review dt,
.career-review dd{
    min-width:0;
    margin:0;
}

.career-review dt{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    color:var(--ink);
    font-weight:700;
}

.career-review__number{
    display:grid;
    flex:0 0 2rem;
    width:2rem;
    height:2rem;
    place-items:center;
    border-radius:50%;
    background:oklch(91% .04 247);
    color:var(--blue-dark);
    font-size:.8125rem;
    font-weight:750;
    line-height:1;
}

.career-review__label{
    min-width:0;
    line-height:1.45;
}

.career-review__value{
    color:var(--ink);
    font-weight:650;
    line-height:1.55;
    text-align:start;
}

.career-review__value.is-empty{
    color:var(--muted);
    font-weight:500;
}

.career-review__value--count{
    display:flex;
    align-items:center;
    gap:var(--space-2);
}

.career-review__count{
    display:inline-grid;
    min-width:1.75rem;
    height:1.75rem;
    place-items:center;
    border-radius:50%;
    background:var(--white);
    color:var(--blue-dark);
    font-size:.8125rem;
    font-weight:750;
    line-height:1;
}

.career-review__value--details{
    display:flex;
    flex-wrap:wrap;
    gap:.25rem var(--space-2);
    overflow-wrap:anywhere;
}

.career-review__separator{
    color:var(--muted);
}

html[dir=rtl] .career-review__number,
html[dir=rtl] .career-review__count{
    direction:ltr;
}

@media (max-width:1079px){
    .career-application__shell{
        grid-template-columns:1fr;
        gap:var(--space-6);
    }

    .career-application__steps{
        position:static;
        overflow:visible;
        padding-bottom:0;
    }

    .career-application__steps ol{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        min-width:0;
    }

    .career-application__steps button{
        width:100%;
    }
}

@media (max-width:599px){
    .career-application{
        padding-block:var(--space-8);
    }

    .career-application__intro h1{
        font-size:2rem;
    }

    .career-application__steps{
        overflow-x:auto;
        padding-bottom:var(--space-2);
    }

    .career-application__steps ol{
        display:flex;
        flex-direction:row;
        min-width:max-content;
    }

    .career-application__steps button{
        width:auto;
    }

    .career-field-grid{
        grid-template-columns:1fr;
    }

    .career-field--wide{
        grid-column:auto;
    }

    .career-repeat-card{
        padding:var(--space-4);
    }

    .career-form-actions .button{
        flex:1;
    }

    .career-review__row{
        grid-template-columns:1fr;
        gap:var(--space-2);
        align-items:start;
    }

    .career-review__value{
        padding-inline-start:calc(2rem + var(--space-3));
    }
}

@media (prefers-reduced-motion:reduce){
    .career-field input,
    .career-field select,
    .career-field textarea{
        transition:none;
    }
}
