/*
Theme Name: Western Alliance CI
Theme URI: https://westernallianceci.com
Author: Western Alliance CI
Description: Thème corporate premium pour les activités de forage, géologie, hydrogéologie et géotechnique de Western Alliance CI.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: western-alliance-ci
*/

:root { --navy-950:#061522; --navy-900:#081d30; --navy-800:#0d2943; --ink:#142536; --slate:#61707c; --orange:#f3a31a; --orange-deep:#cc7710; --sand:#e8e3d9; --sand-light:#f3f0e9; --paper:#fbfaf7; --white:#fff; --line:rgba(20,37,54,.15); --line-light:rgba(255,255,255,.16); --shell:min(1400px,calc(100vw - 96px)); --shadow:0 28px 80px rgba(3,16,29,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
body.admin-bar .site-header { top:32px; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
::selection { background:var(--orange); color:var(--navy-950); }
.page-shell { width:var(--shell); margin-inline:auto; }
.section-space { padding-block:8.5rem; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; margin:0; padding:.9rem 1.2rem; clip:auto; top:.5rem; left:.5rem; z-index:1000; background:#fff; color:#061522; }
.site-header { position:absolute; inset:0 0 auto; z-index:50; color:var(--white); border-bottom:1px solid var(--line-light); }
.header-shell { width:var(--shell); min-height:6.5rem; margin-inline:auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2.5rem; }
.brand { display:inline-flex; align-items:center; gap:.85rem; width:max-content; }
.brand img { width:2.9rem; height:2.9rem; border-radius:50%; object-fit:cover; object-position:left; box-shadow:0 0 0 1px rgba(255,255,255,.28); }
.brand-name { display:grid; gap:.28rem; line-height:1; }
.brand-name strong { font-size:.88rem; letter-spacing:.11em; text-transform:uppercase; }
.brand-name small { color:rgba(255,255,255,.58); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
.desktop-nav { display:flex; justify-content:center; }
.desktop-nav-list,.mobile-nav-list { margin:0; padding:0; list-style:none; }
.desktop-nav-list { display:flex; justify-content:center; align-items:center; gap:clamp(1.2rem,2.1vw,2.5rem); }
.desktop-nav-list a { position:relative; padding-block:.7rem; color:rgba(255,255,255,.74); font-size:.84rem; font-weight:600; }
.desktop-nav-list a::after { content:""; position:absolute; left:0; right:100%; bottom:.2rem; height:2px; background:var(--orange); transition:right .25s ease; }
.desktop-nav-list a:hover,.desktop-nav-list .current-menu-item>a { color:var(--white); }
.desktop-nav-list a:hover::after,.desktop-nav-list .current-menu-item>a::after { right:0; }
.header-cta { display:inline-flex; align-items:center; gap:.85rem; min-height:2.9rem; padding:0 1.1rem; border:1px solid rgba(255,255,255,.38); font-size:.78rem; font-weight:750; transition:background .2s,color .2s,border-color .2s; }
.header-cta:hover { background:var(--orange); border-color:var(--orange); color:var(--navy-950); }
.mobile-menu { display:none; }
.home-hero { min-height:53rem; padding-top:6.5rem; display:grid; align-items:stretch; background:var(--navy-950); color:var(--white); position:relative; overflow:hidden; }
.home-hero::before { content:""; position:absolute; width:46rem; height:46rem; left:-32rem; bottom:-30rem; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 7rem rgba(255,255,255,.012),0 0 0 14rem rgba(255,255,255,.009); }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(30rem,1.05fr); gap:clamp(4rem,7vw,8rem); align-items:center; padding-block:5rem 4.5rem; }
.home-hero-copy { position:relative; z-index:2; animation:wai-rise .65s ease both; }
.kicker { margin:0 0 1.75rem; display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.62); font-size:.75rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.kicker span { width:1.8rem; height:2px; background:var(--orange); flex:0 0 auto; }
.kicker-dark { color:var(--orange-deep); }
.home-hero h1 { max-width:49rem; margin:0; color:var(--white); font-size:clamp(3.4rem,5.8vw,6.8rem); line-height:.93; letter-spacing:-.065em; font-weight:760; }
.home-hero h1 em { display:block; margin-top:.18em; color:var(--orange); font-family:Georgia,"Times New Roman",serif; font-size:.67em; line-height:1.08; font-weight:400; letter-spacing:-.045em; }
.hero-lead { max-width:38rem; margin:2.2rem 0 0; color:rgba(255,255,255,.68); font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:2rem; margin-top:2.7rem; }
.button { min-height:3.4rem; padding:0 1.45rem; display:inline-flex; align-items:center; justify-content:center; gap:1.5rem; border:1px solid transparent; border-radius:1px; font-size:.82rem; font-weight:800; letter-spacing:.035em; transition:transform .2s,background .2s,border-color .2s; cursor:pointer; }
.button:hover { transform:translateY(-2px); }
.button-accent { background:var(--orange); color:var(--navy-950); }
.button-accent:hover { background:#ffb637; }
.button-outline { border-color:rgba(255,255,255,.42); color:var(--white); }
.button-outline:hover { border-color:var(--orange); background:var(--orange); color:var(--navy-950); }
.button-dark { background:var(--navy-950); color:var(--white); }
.button-dark:hover { background:var(--navy-800); }
.inline-link { display:inline-flex; width:max-content; padding-bottom:.38rem; border-bottom:1px solid rgba(20,37,54,.48); font-size:.84rem; font-weight:750; }
.inline-link-light { border-color:rgba(255,255,255,.46); }
.hero-media { min-height:39rem; position:relative; animation:wai-reveal .8s .08s ease both; }
.hero-frame { position:absolute; inset:0 2.5rem 1.5rem 0; overflow:hidden; border-radius:17rem 2px 2px 2px; }
.hero-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(6,21,34,.55)); }
.hero-frame img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.75) contrast(1.06); }
.hero-media::before { content:""; position:absolute; inset:-1.35rem 3.8rem 2.85rem -1.35rem; border:1px solid rgba(243,163,26,.42); border-radius:18rem 2px 2px 2px; }
.hero-note { position:absolute; z-index:2; left:-2.2rem; bottom:0; min-width:13rem; padding:1.35rem 1.5rem; display:grid; gap:.65rem; background:var(--white); color:var(--navy-950); box-shadow:var(--shadow); }
.hero-note small { color:var(--orange-deep); font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero-note strong { font-size:.86rem; line-height:1.55; letter-spacing:.035em; text-transform:uppercase; }
.hero-rail { position:absolute; right:.25rem; top:50%; transform:translateY(-50%); writing-mode:vertical-rl; color:rgba(255,255,255,.48); font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.signal-strip { background:var(--white); border-bottom:1px solid var(--line); }
.signal-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.signal-grid>div { min-height:9.5rem; padding:2.2rem clamp(1.5rem,3vw,3.3rem); display:grid; grid-template-columns:2rem 1fr; align-content:center; gap:.55rem 1rem; border-right:1px solid var(--line); }
.signal-grid>div:first-child { padding-left:0; }
.signal-grid>div:last-child { padding-right:0; border-right:0; }
.signal-grid span { grid-row:1/3; padding-top:.22rem; color:var(--orange-deep); font-size:.75rem; font-weight:800; }
.signal-grid strong { color:var(--navy-900); font-size:1rem; }
.signal-grid p { margin:0; color:var(--slate); font-size:.84rem; line-height:1.55; }
.home-intro { background:var(--paper); }
.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(4rem,10vw,10rem); align-items:end; }
h2 { margin:0; color:var(--navy-900); font-size:clamp(2.8rem,5vw,5.2rem); line-height:.98; letter-spacing:-.06em; }
.intro-copy { max-width:35rem; padding-left:2rem; border-left:1px solid var(--line); }
.intro-copy p,.section-aside { margin:0 0 2rem; color:var(--slate); font-size:1rem; line-height:1.8; }
.expertise-preview { background:var(--sand-light); }
.section-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:3rem; margin-bottom:4rem; }
.expertise-cards { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.expertise-card { min-height:23rem; padding:2rem; display:flex; flex-direction:column; background:rgba(255,255,255,.34); border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .25s,transform .25s,box-shadow .25s; }
.expertise-card:hover { position:relative; z-index:1; background:var(--white); transform:translateY(-.4rem); box-shadow:0 24px 60px rgba(20,37,54,.09); }
.expertise-card>div { display:flex; justify-content:space-between; align-items:center; }
.expertise-card>div span,.expertise-card small { color:var(--orange-deep); font-size:.75rem; font-weight:800; }
.expertise-card>div i { width:2.4rem; height:2.4rem; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; }
.expertise-card h3 { max-width:16rem; margin:4rem 0 1.25rem; color:var(--navy-900); font-size:1.45rem; line-height:1.18; letter-spacing:-.035em; }
.expertise-card p { margin:0; color:var(--slate); font-size:.92rem; line-height:1.7; }
.expertise-card small { margin-top:auto; padding-top:2rem; letter-spacing:.12em; text-transform:uppercase; }
.home-hseq { padding-block:8rem; background:var(--navy-900); color:var(--white); }
.hseq-teaser-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(4rem,9vw,9rem); align-items:center; }
.hseq-image { height:39rem; position:relative; }
.hseq-image::before { content:""; position:absolute; inset:-1rem 1rem 1rem -1rem; border:1px solid rgba(243,163,26,.42); }
.hseq-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.03); }
.hseq-teaser-copy h2 { color:var(--white); }
.hseq-teaser-copy>p:not(.kicker) { max-width:40rem; margin:2rem 0 2.6rem; color:rgba(255,255,255,.66); font-size:1rem; line-height:1.8; }
.home-gallery { background:var(--sand); }
.section-heading .section-aside { max-width:34rem; margin:0; }
.home-gallery-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:1.25rem; }
.home-gallery-grid figure { height:35rem; margin:0; position:relative; overflow:hidden; background:var(--navy-900); }
.home-gallery-grid img { width:100%; height:100%; object-fit:cover; filter:saturate(.82); transition:transform .5s; }
.home-gallery-grid figure:hover img { transform:scale(1.025); }
.home-gallery-grid figcaption { position:absolute; left:1.4rem; right:1.4rem; bottom:1.4rem; padding:1rem 1.15rem; display:flex; gap:1rem; align-items:center; background:rgba(6,21,34,.88); color:var(--white); backdrop-filter:blur(8px); font-size:.82rem; font-weight:700; }
.home-gallery-grid figcaption span { color:var(--orange); font-size:.75rem; }
.gallery-link-row { display:flex; justify-content:flex-end; margin-top:2rem; }
.page-hero { min-height:38rem; padding-top:6.5rem; display:grid; align-items:center; background:var(--navy-950); color:var(--white); position:relative; overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:6.5rem 0 0 56%; border-left:1px solid rgba(255,255,255,.08); background:linear-gradient(130deg,rgba(243,163,26,.045),transparent 62%); }
.page-hero::after { content:""; position:absolute; width:34rem; height:34rem; right:-21rem; bottom:-21rem; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 5rem rgba(255,255,255,.012),0 0 0 10rem rgba(255,255,255,.008); }
.page-hero-grid { min-height:31.5rem; padding-block:4.5rem; display:grid; grid-template-columns:1.2fr .8fr; gap:5rem; align-items:center; }
.page-hero-grid>div:first-child { position:relative; z-index:2; }
.page-hero h1 { max-width:62rem; margin:0; color:var(--white); font-size:clamp(3.4rem,5.6vw,6.4rem); line-height:.93; letter-spacing:-.065em; }
.page-hero h1 span { display:block; margin-top:.2em; color:var(--orange); font-family:Georgia,"Times New Roman",serif; font-size:.67em; line-height:1.06; font-weight:400; letter-spacing:-.045em; }
.page-hero-grid>div:first-child>p:last-of-type { max-width:45rem; margin:2rem 0 0; color:rgba(255,255,255,.66); font-size:1.05rem; line-height:1.75; }
.page-hero-mark { min-height:18rem; padding:2rem; display:grid; grid-template-rows:auto 1fr auto auto; align-items:end; border:1px solid rgba(255,255,255,.13); position:relative; z-index:2; }
.page-hero-mark small { align-self:start; color:rgba(255,255,255,.46); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
.page-hero-mark strong { color:var(--white); font-size:clamp(3.2rem,5vw,5.4rem); line-height:1; letter-spacing:-.07em; }
.page-hero-mark i { height:2px; background:var(--orange); }
.page-hero-mark span { padding-top:1rem; color:rgba(255,255,255,.52); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.generic-hero .page-hero-grid { grid-template-columns:1fr; }
.error-home { margin-top:2rem; }
.content-section { padding-block:8.5rem; background:var(--paper); }
.split-copy { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(5rem,10vw,10rem); align-items:start; }
.split-copy h2 { font-size:clamp(2.7rem,4.5vw,4.8rem); }
.long-copy { padding-top:3.5rem; }
.long-copy p { margin:0 0 1.5rem; color:var(--slate); font-size:1rem; line-height:1.85; }
.image-feature-section { padding-block:8rem; background:var(--navy-900); color:var(--white); }
.image-feature-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(5rem,9vw,9rem); align-items:center; }
.image-feature { height:42rem; margin-left:1.5rem; position:relative; }
.image-feature::before { content:""; position:absolute; inset:-1.1rem 1.1rem 1.1rem -1.1rem; border:1px solid rgba(243,163,26,.42); }
.image-feature img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.03); }
.image-feature>span { position:absolute; left:-1.5rem; bottom:2rem; padding:1rem 1.25rem; background:var(--orange); color:var(--navy-950); font-size:.78rem; font-weight:800; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; }
.feature-copy h2 { color:var(--white); }
.principle-list { margin-top:2.5rem; border-top:1px solid var(--line-light); }
.principle-list article { padding-block:1.4rem; display:grid; grid-template-columns:2.5rem 1fr; gap:1.2rem; border-bottom:1px solid var(--line-light); }
.principle-list article>span { padding-top:.3rem; color:var(--orange); font-size:.75rem; font-weight:800; }
.principle-list h3 { margin:0 0 .45rem; font-size:1rem; }
.principle-list p { margin:0; color:rgba(255,255,255,.62); font-size:.92rem; line-height:1.65; }
.values-section,.expertise-page-section,.hseq-pillars-section,.project-contexts,.career-values { background:var(--sand-light); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.values-grid>div { min-height:9rem; padding:1.7rem; display:grid; align-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.36); }
.values-grid span,.context-grid span { color:var(--orange-deep); font-size:.75rem; font-weight:800; }
.values-grid strong { color:var(--navy-900); font-size:1.05rem; }
.region-band { background:var(--white); border-block:1px solid var(--line); }
.region-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.region-grid>div { min-height:9.5rem; padding:2rem clamp(1.5rem,3vw,3rem); display:grid; align-content:center; gap:.65rem; border-right:1px solid var(--line); }
.region-grid>div:first-child { padding-left:0; }
.region-grid>div:last-child { padding-right:0; border-right:0; }
.region-grid span { color:var(--orange-deep); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.region-grid strong { color:var(--navy-900); font-size:1.25rem; }
.expertise-list { border-top:1px solid var(--line); }
.expertise-list article { padding-block:3.3rem; display:grid; grid-template-columns:.55fr 1.45fr; gap:4rem; border-bottom:1px solid var(--line); scroll-margin-top:2rem; }
.expertise-index { display:flex; align-items:flex-start; gap:1.5rem; }
.expertise-index span { color:var(--orange-deep); font-size:.78rem; font-weight:800; }
.expertise-index small { color:var(--slate); font-size:.75rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.expertise-list h2 { font-size:clamp(2rem,3.2vw,3.6rem); }
.expertise-list article>div:last-child p { max-width:46rem; margin:1.2rem 0 0; color:var(--slate); font-size:1rem; line-height:1.8; }
.process-section,.hseq-intro { padding-block:8rem; background:var(--navy-900); color:var(--white); }
.process-section h2,.hseq-intro h2 { color:var(--white); }
.light-copy { color:rgba(255,255,255,.62); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.process-grid article { min-height:19rem; padding:1.8rem; display:flex; flex-direction:column; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.process-grid span { color:var(--orange); font-size:.75rem; font-weight:800; }
.process-grid h3 { margin:auto 0 1rem; color:var(--white); font-size:1.25rem; }
.process-grid p { margin:0; color:rgba(255,255,255,.61); font-size:.9rem; line-height:1.65; }
.equipment-split { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(5rem,9vw,9rem); align-items:center; }
.equipment-image { height:38rem; overflow:hidden; }
.equipment-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.equipment-split>div:last-child>p:not(.kicker) { margin:2rem 0; color:var(--slate); font-size:1rem; line-height:1.8; }
.feature-list { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.feature-list li { padding:1rem 0 1rem 1.5rem; border-bottom:1px solid var(--line); color:var(--ink); font-size:.9rem; position:relative; }
.feature-list li::before { content:""; position:absolute; left:0; top:1.55rem; width:.5rem; height:2px; background:var(--orange-deep); }
.hseq-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(5rem,10vw,10rem); align-items:center; }
.hseq-statement { min-height:26rem; padding:2.2rem; display:flex; flex-direction:column; justify-content:space-between; background:var(--orange); color:var(--navy-950); }
.hseq-statement small,.hseq-statement span { font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hseq-statement strong { font-size:clamp(3.8rem,6vw,6.5rem); line-height:.88; letter-spacing:-.07em; }
.hseq-intro-grid>div:last-child>p:last-child { max-width:42rem; margin:2rem 0 0; color:rgba(255,255,255,.64); font-size:1rem; line-height:1.8; }
.hseq-pillars { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.hseq-pillars article { min-height:29rem; padding:2rem; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.32); }
.hseq-pillars article>span { color:var(--orange-deep); font-size:.75rem; font-weight:800; }
.hseq-pillars h3 { margin:3.5rem 0 1.2rem; color:var(--navy-900); font-size:1.45rem; }
.hseq-pillars article>p { margin:0; color:var(--slate); font-size:.92rem; line-height:1.7; }
.hseq-pillars ul { margin:auto 0 0; padding:1.5rem 0 0; list-style:none; border-top:1px solid var(--line); }
.hseq-pillars li { margin:.7rem 0; padding-left:1.25rem; color:var(--ink); font-size:.84rem; position:relative; }
.hseq-pillars li::before { content:""; position:absolute; left:0; top:.55em; width:.45rem; height:2px; background:var(--orange-deep); }
.hseq-cycle-section { padding-block:8rem; background:var(--navy-950); color:var(--white); }
.hseq-cycle-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(4rem,9vw,9rem); align-items:start; }
.hseq-cycle-grid h2 { color:var(--white); }
.hseq-cycle-grid ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line-light); }
.hseq-cycle-grid li { padding:1.3rem 0; display:grid; grid-template-columns:3rem 1fr; align-items:center; border-bottom:1px solid var(--line-light); }
.hseq-cycle-grid li span { color:var(--orange); font-size:.75rem; font-weight:800; }
.hseq-cycle-grid li strong { font-size:.95rem; }
.project-gallery-section { padding-block:1.25rem 8.5rem; background:var(--paper); }
.project-gallery-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:repeat(2,20rem); gap:1.25rem; }
.project-gallery-grid figure { margin:0; position:relative; overflow:hidden; background:var(--navy-900); }
.project-gallery-wide { grid-row:1/3; }
.project-gallery-grid img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); transition:transform .5s; }
.project-gallery-grid figure:hover img { transform:scale(1.025); }
.project-gallery-grid figcaption { position:absolute; left:1.25rem; right:1.25rem; bottom:1.25rem; padding:1rem 1.1rem; display:grid; grid-template-columns:2rem 1fr; gap:1rem; align-items:center; background:rgba(6,21,34,.9); color:var(--white); backdrop-filter:blur(8px); }
.project-gallery-grid figcaption>span { color:var(--orange); font-size:.75rem; font-weight:800; }
.project-gallery-grid figcaption div { display:grid; gap:.25rem; }
.project-gallery-grid figcaption strong { font-size:.9rem; }
.project-gallery-grid figcaption small { color:rgba(255,255,255,.5); font-size:.75rem; }
.context-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.context-grid article { min-height:20rem; padding:2rem; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.context-grid h3 { margin:auto 0 1rem; color:var(--navy-900); font-size:1.35rem; }
.context-grid p { margin:0; color:var(--slate); font-size:.92rem; line-height:1.7; }
.career-fields-section { padding-block:7rem; background:var(--navy-900); color:var(--white); }
.career-fields-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.career-fields-grid article { min-height:25rem; padding:2rem; display:flex; flex-direction:column; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.career-fields-grid span { color:var(--orange); font-size:.75rem; font-weight:800; }
.career-fields-grid h2 { margin:auto 0 1.3rem; color:var(--white); font-size:clamp(1.8rem,2.8vw,3rem); }
.career-fields-grid p { margin:0; color:rgba(255,255,255,.62); font-size:.92rem; line-height:1.7; }
.career-cta,.cta-band { padding-block:5.5rem; background:var(--orange); color:var(--navy-950); }
.career-cta-inner,.cta-band-inner { display:flex; align-items:center; justify-content:space-between; gap:4rem; }
.career-cta h2,.cta-band h2 { color:var(--navy-950); font-size:clamp(2.6rem,4.6vw,4.8rem); }
.career-cta .kicker-dark,.cta-band .kicker-dark { color:var(--navy-950); }
.career-cta .kicker span,.cta-band .kicker span { background:var(--navy-950); }
.career-cta p:not(.kicker) { max-width:40rem; margin:1.5rem 0 0; color:rgba(6,21,34,.68); line-height:1.7; }
.contact-page-section { padding-block:8rem; background:var(--navy-900); color:var(--white); }
.contact-page-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(5rem,9vw,9rem); align-items:start; }
.contact-details { padding-top:1.5rem; }
.contact-details h2 { color:var(--white); }
.contact-details>p:not(.kicker) { max-width:36rem; margin:2rem 0; color:rgba(255,255,255,.62); line-height:1.8; }
.contact-email { display:flex; justify-content:space-between; align-items:center; max-width:34rem; padding-block:1rem; border-bottom:1px solid var(--orange); color:var(--orange); font-size:clamp(1rem,1.7vw,1.35rem); font-weight:750; }
.contact-details dl { margin:3.5rem 0 0; border-top:1px solid var(--line-light); }
.contact-details dl div { padding-block:1.2rem; display:grid; grid-template-columns:.8fr 1.2fr; gap:1rem; border-bottom:1px solid var(--line-light); }
.contact-details dt { color:rgba(255,255,255,.42); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.contact-details dd { margin:0; font-size:.9rem; }
.contact-form { padding:clamp(2rem,4vw,3.5rem); background:var(--white); color:var(--ink); }
.form-heading { margin-bottom:2rem; display:grid; gap:.5rem; }
.form-heading span { color:var(--orange-deep); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.form-heading strong { color:var(--navy-900); font-size:1.45rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.contact-form label { margin-bottom:1.4rem; display:grid; gap:.65rem; color:var(--slate); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:.8rem 0; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:none; background:transparent; color:var(--ink); font-size:.92rem; text-transform:none; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--orange-deep); }
.contact-form .button { width:100%; border:0; }
.form-note { margin:.8rem 0 0; color:#76818b; font-size:.75rem; line-height:1.5; text-align:center; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-status { margin:0 0 1.5rem; padding:1rem; font-size:.9rem; line-height:1.5; }
.form-status.success { background:#e4f2e8; color:#225c37; }
.form-status.error { background:#fff0ec; color:#8b3425; }
.prose-content .page-shell { max-width:860px; }
.prose-content h2 { margin:2.5rem 0 1rem; font-size:2.4rem; }
.prose-content p { line-height:1.8; }
.site-footer { background:var(--navy-950); color:var(--white); }
.footer-main { padding-block:5rem; display:grid; grid-template-columns:1.3fr .65fr .8fr; gap:clamp(3rem,8vw,8rem); }
.footer-logo { font-size:1rem; font-weight:800; letter-spacing:.08em; }
.footer-logo span { color:var(--orange); }
.footer-intro p,.footer-contact p { max-width:23rem; margin:1rem 0 0; color:rgba(255,255,255,.45); font-size:.82rem; line-height:1.7; }
.footer-nav,.footer-contact { display:grid; align-content:start; gap:.8rem; }
.footer-nav>span,.footer-contact>span { margin-bottom:.4rem; color:var(--orange); font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.footer-nav a { color:rgba(255,255,255,.7); font-size:.82rem; }
.footer-contact a { width:max-content; padding-bottom:.35rem; border-bottom:1px solid rgba(243,163,26,.55); color:var(--white); font-size:.86rem; font-weight:700; }
.footer-bottom { min-height:5rem; display:flex; justify-content:space-between; align-items:center; gap:2rem; border-top:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.34); font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; }
.footer-bottom p { margin:0; }
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
@keyframes wai-rise { from { opacity:0; transform:translateY(1.2rem); } to { opacity:1; transform:translateY(0); } }
@keyframes wai-reveal { from { opacity:0; transform:translateX(1.5rem); } to { opacity:1; transform:translateX(0); } }
@media (max-width:1120px) { :root { --shell:min(100% - 48px,1400px); } .desktop-nav { display:none; } .header-shell { grid-template-columns:1fr auto auto; } .mobile-menu { display:block; position:relative; } .mobile-menu summary { min-height:2.9rem; padding:0 1rem; display:flex; align-items:center; gap:.8rem; border:1px solid rgba(255,255,255,.38); cursor:pointer; list-style:none; font-size:.78rem; font-weight:750; } .mobile-menu summary::-webkit-details-marker { display:none; } .mobile-menu summary i,.mobile-menu summary i::after { width:1rem; height:1px; display:block; background:currentColor; content:""; } .mobile-menu summary i::after { transform:translateY(.32rem); } .mobile-menu nav { position:absolute; top:calc(100% + 1rem); right:0; width:min(22rem,calc(100vw - 48px)); padding:.65rem; background:var(--white); color:var(--navy-950); box-shadow:var(--shadow); } .mobile-nav-list a { padding:.9rem 1rem; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); font-size:.9rem; font-weight:700; } .mobile-nav-list li:last-child a { border-bottom:0; } .home-hero-grid { grid-template-columns:1fr 1fr; gap:3.5rem; } .home-hero h1 { font-size:clamp(3.3rem,6vw,5.2rem); } .hero-media { min-height:34rem; } .page-hero-grid { grid-template-columns:1fr .55fr; gap:3rem; } .process-grid { grid-template-columns:repeat(2,1fr); } .hseq-pillars,.career-fields-grid { grid-template-columns:1fr 1fr; } .hseq-pillars article:last-child,.career-fields-grid article:last-child { grid-column:1/-1; min-height:22rem; } }
@media (max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media (max-width:760px) { :root { --shell:calc(100% - 40px); } .section-space { padding-block:5.5rem; } .header-shell { min-height:5.2rem; gap:.75rem; } .brand img { width:2.5rem; height:2.5rem; } .brand-name strong { font-size:.72rem; } .brand-name small { font-size:.75rem; letter-spacing:.08em; } .header-cta { display:none; } .header-shell { grid-template-columns:1fr auto; } .home-hero { padding-top:5.2rem; } .home-hero-grid { grid-template-columns:1fr; gap:4rem; padding-block:4rem 3rem; } .home-hero h1 { font-size:clamp(3.2rem,15vw,4.7rem); } .hero-lead { font-size:1rem; } .hero-actions { align-items:flex-start; flex-direction:column; gap:1.5rem; } .hero-media { min-height:29rem; margin-left:1rem; } .hero-frame { right:1.2rem; border-radius:8.5rem 2px 2px 2px; } .hero-media::before { right:2rem; border-radius:9rem 2px 2px 2px; } .hero-note { left:-1rem; min-width:11.5rem; } .hero-rail { right:-.5rem; } .signal-grid,.intro-grid,.section-heading,.hseq-teaser-grid,.page-hero-grid,.split-copy,.image-feature-grid,.equipment-split,.hseq-intro-grid,.hseq-cycle-grid,.contact-page-grid { grid-template-columns:1fr; } .signal-grid>div,.signal-grid>div:first-child,.signal-grid>div:last-child { min-height:0; padding:1.6rem 0; border-right:0; border-bottom:1px solid var(--line); } .signal-grid>div:last-child { border-bottom:0; } .intro-grid,.section-heading,.hseq-teaser-grid,.split-copy,.image-feature-grid,.equipment-split,.hseq-intro-grid,.hseq-cycle-grid,.contact-page-grid { gap:2.8rem; } h2 { font-size:clamp(2.7rem,12vw,4rem); } .intro-copy { padding:1.7rem 0 0; border-left:0; border-top:1px solid var(--line); } .expertise-cards,.values-grid,.region-grid,.hseq-pillars,.context-grid,.career-fields-grid,.process-grid { grid-template-columns:1fr; } .expertise-card { min-height:21rem; } .home-hseq,.content-section,.image-feature-section,.process-section,.hseq-intro,.hseq-cycle-section,.contact-page-section { padding-block:5.5rem; } .hseq-image,.image-feature,.equipment-image { height:29rem; margin-left:1rem; } .home-gallery-grid { grid-template-columns:1fr; } .home-gallery-grid figure { height:29rem; } .home-gallery-grid figure:not(.gallery-main) { height:23rem; } .page-hero { min-height:0; padding-top:5.2rem; } .page-hero-grid { min-height:0; padding-block:4.5rem; } .page-hero h1 { font-size:clamp(3.1rem,14vw,4.6rem); } .page-hero-mark { min-height:12rem; } .long-copy { padding-top:0; } .region-grid>div,.region-grid>div:first-child,.region-grid>div:last-child { min-height:0; padding:1.7rem 0; border-right:0; border-bottom:1px solid var(--line); } .region-grid>div:last-child { border-bottom:0; } .expertise-list article { grid-template-columns:1fr; gap:1.5rem; } .process-grid article { min-height:15rem; } .hseq-pillars article,.hseq-pillars article:last-child,.career-fields-grid article,.career-fields-grid article:last-child { grid-column:auto; min-height:23rem; } .project-gallery-grid { grid-template-columns:1fr; grid-template-rows:28rem 22rem 22rem; } .project-gallery-wide { grid-row:auto; } .career-cta-inner,.cta-band-inner { align-items:flex-start; flex-direction:column; } .form-row { grid-template-columns:1fr; gap:0; } .footer-main { grid-template-columns:1fr; gap:3rem; padding-block:4rem; } .footer-bottom { min-height:7rem; align-items:flex-start; justify-content:center; flex-direction:column; gap:.65rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
