/* Stournaras LTD, Phase 2 page components (ported from site/css/pages.css) */
.page-hero{position:relative;isolation:isolate;overflow:hidden;min-height:max(56vh,430px);display:flex;align-items:flex-end;padding-block:calc(var(--header-h) + 60px) clamp(44px,6vw,74px);color:#fff}
.page-hero__bg{position:absolute;inset:0;z-index:-2}
.page-hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.page-hero__bg.is-in-view img{transform:scale(1)}
.page-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,15,13,.72) 0%,rgba(10,15,13,.46) 42%,rgba(13,18,16,.86) 82%,var(--bg) 100%),linear-gradient(105deg,rgba(10,15,13,.8) 0%,rgba(10,15,13,.25) 62%,rgba(14,60,40,.4) 100%)}
.page-hero__inner{width:100%}
.page-hero h1{max-width:17ch;margin-bottom:18px}
.page-hero .t-lead{max-width:62ch;color:#d7ded9}
.page-hero .eyebrow{margin-bottom:14px}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.split--rev .split__media{order:-1}
.split--stretch{align-items:stretch}
.split__media{position:relative;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--line)}
.split__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.split__body h2{margin-bottom:18px}
.split__body .t-body + .t-body{margin-top:14px}
.ops{display:flex;flex-direction:column;gap:clamp(34px,6vw,78px);margin-top:46px}
.op{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,52px);align-items:center;scroll-margin-top:110px}
.op:nth-child(even) .op__media{order:2}
.op__media{border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/11;background:var(--bg-2)}
.op__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.op:hover .op__media img{transform:scale(1.05)}
.op__no{font-family:var(--font-mono);font-size:13px;color:var(--green-bright);display:block;margin-bottom:10px}
.op__body h3{margin-bottom:12px}
.op__points{list-style:none;margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.op__points li{font-family:var(--font-display);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--green-soft);background:var(--chip-fill);border:1px solid var(--chip-border);border-radius:var(--r-pill);padding:7px 13px}
.mats{margin-top:42px;border-bottom:1px solid var(--line)}
.mat{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(0,1.15fr);gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(22px,3vw,32px) 0;border-top:1px solid var(--line);transition:background var(--dur) var(--ease)}
.mat:hover{background:linear-gradient(90deg,rgba(33,168,74,.07),transparent 60%)}
.mat__thumb{width:128px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.mat__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mat:hover .mat__thumb img{transform:scale(1.08)}
.mat__name{font-family:var(--font-display);font-weight:900;color:var(--text-heading);font-size:clamp(23px,3vw,36px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.mat__note{color:var(--muted);font-size:14.5px;margin-top:8px;max-width:40ch}
.mat__label{font-family:var(--font-display);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:10px}
.mat__label--sep{margin-top:18px}
.mat__grades{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.mat__grades li{font-family:var(--font-mono);font-size:12.5px;color:var(--text);background:var(--bg-3);border:1px solid var(--line-strong);border-radius:7px;padding:7px 12px}
.mat__cables{color:var(--muted);font-size:14px}
.steps{display:flex;flex-direction:column;gap:clamp(30px,5vw,64px);margin-top:48px}
.step{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(22px,4vw,54px);align-items:center}
.step:nth-child(even) .step__media{order:2}
.step__media{border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--line);aspect-ratio:5/4}
.step__media img{width:100%;height:100%;object-fit:cover}
.step__no{font-family:var(--font-display);font-weight:900;font-size:clamp(40px,6vw,68px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(58,208,106,.55);display:block;margin-bottom:14px}
.step__body h3{margin-bottom:12px}
.models{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,28px);margin-top:40px}
.model h3{margin-bottom:10px}
.tl{position:relative;margin-top:52px;padding-left:34px}
.tl::before{content:'';position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,transparent,var(--green) 8%,var(--green) 92%,transparent);opacity:.55}
.tl__item{position:relative;padding-bottom:clamp(30px,4vw,46px)}
.tl__item:last-child{padding-bottom:0}
.tl__marker{position:absolute;left:-34px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--green);box-shadow:0 0 0 5px rgba(33,168,74,.14)}
.tl__item:hover .tl__marker{background:var(--green-bright);border-color:var(--green-bright)}
.tl__year{font-family:var(--font-display);font-weight:900;font-size:clamp(26px,3.4vw,40px);color:var(--green-bright);line-height:1;letter-spacing:-.02em;display:block;margin-bottom:8px}
.tl__title{font-family:var(--font-display);font-weight:800;font-size:clamp(18px,2vw,22px);text-transform:uppercase;letter-spacing:-.01em;color:var(--text-heading);margin-bottom:8px}
.tl__card{max-width:66ch}
.tl__card .t-body{max-width:60ch}
.tl__img{margin-top:16px;max-width:380px;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10}
.tl__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tl__item:hover .tl__img img{transform:scale(1.05)}
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:40px}
.cert{display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.cert:hover{border-color:rgba(33,168,74,.5);transform:translateY(-4px)}
.cert__code{font-family:var(--font-display);font-weight:900;font-size:19px;color:var(--green-bright);letter-spacing:.01em}
.cert__t{color:var(--muted);font-size:14px}
.eqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,34px);margin-top:42px}
.eq,.perk{padding-top:20px;border-top:1px solid var(--line-strong)}
.eq__t{font-family:var(--font-display);font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.01em;color:var(--text-heading);margin-bottom:8px}
.eq .t-body,.perk .t-body{max-width:42ch}
.gfilters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.gfilter{font-family:var(--font-display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:10px 20px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.gfilter:hover{color:#fff;border-color:var(--green-bright)}
.gfilter.is-active{background:var(--green);border-color:var(--green);color:var(--on-green)}
.ggrid{margin-top:34px;columns:4;column-gap:14px}
.gitem{position:relative;display:block;margin:0 0 14px;break-inside:avoid;-webkit-column-break-inside:avoid}
.gitem__btn{display:block;width:100%;padding:0;cursor:zoom-in;position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;aspect-ratio:var(--r,1);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.gitem__btn:hover{border-color:rgba(33,168,74,.55);transform:translateY(-4px)}
.gitem__btn img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gitem__btn:hover img{transform:scale(1.06)}
.gitem__cap{position:absolute;left:0;right:0;bottom:0;text-align:left;padding:26px 16px 13px;color:#fff;font-size:13px;background:linear-gradient(transparent,rgba(8,13,10,.86));opacity:0;transform:translateY(6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.gitem__btn:hover .gitem__cap,.gitem__btn:focus-visible .gitem__cap{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:26px;background:rgba(5,8,7,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;overscroll-behavior:contain;transition:opacity .3s var(--ease),visibility .3s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox__frame{max-width:min(1100px,100%);max-height:84vh;transform:scale(.97);transition:transform .3s var(--ease)}
.lightbox.is-open .lightbox__frame{transform:none}
.lightbox__frame img{max-width:100%;max-height:76vh;width:auto;object-fit:contain;border-radius:12px;border:1px solid var(--line-strong)}
.lightbox__frame figcaption{margin-top:12px;color:var(--muted);font-size:14px;text-align:center}
.lightbox__close{position:absolute;top:18px;right:22px;z-index:2;width:46px;height:46px;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.08);border:1px solid var(--line-strong);color:#fff;font-size:26px;line-height:1;display:grid;place-items:center;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.lightbox__close:hover{border-color:var(--green-bright);background:rgba(255,255,255,.14)}
.jobs{margin-top:40px;border-top:1px solid var(--line)}
.job{border-bottom:1px solid var(--line)}
.job__head{width:100%;display:grid;grid-template-columns:1fr auto 44px;align-items:center;gap:18px;padding:24px 4px;background:transparent;border:0;cursor:pointer;text-align:left}
.job__t{font-family:var(--font-display);font-weight:800;font-size:clamp(17px,2.2vw,22px);text-transform:uppercase;letter-spacing:-.01em;color:var(--text-heading)}
.job__meta{font-family:var(--font-mono);font-size:12.5px;color:var(--faint)}
.job__plus{width:40px;height:40px;justify-self:end;border-radius:50%;color:#fff;font-size:20px;border:1px solid var(--line-strong);display:grid;place-items:center;transition:transform .3s var(--ease),border-color .2s}
.job__head:hover .job__plus{border-color:var(--green-bright)}
.job.is-open .job__plus{transform:rotate(45deg);border-color:var(--green-bright)}
.job__panel{display:none}
.job.is-open .job__panel{display:block}
.job__in{padding:0 4px 26px;max-width:68ch}
.job__in .btn{margin-top:18px}
.infocard{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(22px,3vw,32px)}
.infocard + .infocard{margin-top:18px}
.infocard h3{font-family:var(--font-display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:14px}
.infocard a{color:var(--text)}
.infocard a:hover{color:var(--green-bright)}
.hours__row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14.5px}
.hours__row:last-child{border-bottom:0}
.hours__h{color:var(--text);font-family:var(--font-mono);font-size:13.5px}
.contact-lines{display:flex;flex-direction:column;gap:8px;font-size:15px}
.socs{display:flex;flex-wrap:wrap;gap:10px}
.soc{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-size:13.5px;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.soc:hover{border-color:var(--green-bright);color:var(--green-bright)}
.soc__ic{display:grid;place-items:center}
.soc__ic svg{width:17px;height:17px}
.map-wrap{position:relative;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--line);background:var(--bg-2);min-height:440px;height:100%}
.map-wrap iframe{display:block;width:100%;height:100%;min-height:440px;border:0;filter:grayscale(.3) contrast(1.05)}
.brings{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(20px,3vw,32px);margin-top:40px}
.bring{padding-top:20px;border-top:1px solid var(--line-strong)}
.bring__no{font-family:var(--font-mono);font-size:12px;color:var(--green-bright);display:block;margin-bottom:10px}
.band-light{background:#e8ece7;color:#12211a}
.band-light h2,.band-light h3{color:#10201a}
.band-light .t-lead,.band-light .t-body{color:#3c4a43}
.band-light .eyebrow{color:var(--green-deep)}
.band-light .mat{border-top-color:rgba(0,0,0,.12)}
.band-light .mats{border-bottom-color:rgba(0,0,0,.12)}
.band-light .mat:hover{background:linear-gradient(90deg,rgba(33,168,74,.1),transparent 60%)}
.band-light .mat__name{color:#10201a}
.band-light .mat__note,.band-light .mat__cables{color:#43524a}
.band-light .mat__label{color:#63736a}
.band-light .mat__grades li{background:#fff;border-color:rgba(0,0,0,.14);color:#16261e}
.band-light .mat__thumb{border-color:rgba(0,0,0,.14)}
@media (max-width:1080px){.ggrid{columns:3}}
@media (max-width:900px){.split,.op,.step,.models{grid-template-columns:1fr}.split--rev .split__media,.op:nth-child(even) .op__media,.step:nth-child(even) .step__media{order:0}.mat{grid-template-columns:92px 1fr;row-gap:18px}.mat__thumb{width:92px}.mat__specs{grid-column:1/-1}.ggrid{columns:2}.job__head{grid-template-columns:1fr 40px;row-gap:6px}.job__meta{grid-column:1/2}.job__plus{grid-row:1/3;grid-column:2}}
@media (max-width:560px){.page-hero{min-height:max(52vh,380px)}.mat{grid-template-columns:1fr}.mat__thumb{width:100%;max-width:220px}.ggrid{columns:2;column-gap:10px}.gitem{margin-bottom:10px}.gitem__cap{display:none}}
@media (prefers-reduced-motion:reduce){.page-hero__bg img,.op__media img,.mat__thumb img,.gitem__btn img,.tl__img img{transform:none!important}}


/* ---- Site-wide fixes (were page-scoped to the home page) ---- */
html{background:var(--bg)}
body{background:var(--bg);color:var(--text)}
/* Bricks block elements default to flex-direction:column; these rows must be horizontal */
.site-header__inner,.nav,.header-actions,.socials,.footer-bottom,.cta__actions,.project__meta,.why-stack-wrap,.pillar2,.pillar2__link,.marquee__track,.m-row,.cluster,.op__points,.mat__grades,.gfilters,.socs,.hours__row,.form__foot{flex-direction:row}
.about-band,.why-band{justify-content:center}
.pillar2{align-items:flex-end}


/* ---- Bricks block display resets ----
   Bricks gives every block display:flex;flex-direction:column. That silently
   kills CSS multi-column (masonry) and turns pill rows into stacks. ---- */
.ggrid{display:block}
.mats,.tl,.jobs,.infocard,.job__in,.tl__card,.mat__specs,.mat__head{display:block}
.gfilters,.socs,.op__points,.mat__grades,.cluster,.cta__actions,.contact-lines{display:flex;flex-wrap:wrap}
.gfilters,.socs,.op__points,.mat__grades,.cluster,.cta__actions{flex-direction:row}
.contact-lines{flex-direction:column}
.gitem,.gitem__btn{display:block}

/* Bricks blocks are width:100%; pills and chips must hug their content (pill width reset) */
.gfilter,.op__points li,.mat__grades li,.soc,.cta__actions .btn,.cluster .btn{width:auto;flex:0 0 auto}
.gfilter,.soc{display:inline-flex;align-items:center;justify-content:center}
.op__points li,.mat__grades li{display:inline-block}
