/* Sub-page layouts (showcase, fleet, gallery). Builds on site.css. */
.pg-hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:130px 0 80px;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 75% 30%,#1c1d20 0%,transparent 60%),linear-gradient(#0e0f11,#121315 75%)}
.pg-hero-short{min-height:62vh}
.pg-hero-img{position:absolute;inset:0 0 0 30%}
.pg-hero-img img,.pg-hero-img picture{width:100%;height:100%;object-fit:cover;display:block}
.pg-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#121315 0%,#12131500 38%),linear-gradient(180deg,#0e0f11 0%,#0e0f1100 22%)}
.pg-hero-short .pg-hero-img img{opacity:.55}
.pg-hero-fleet .pg-hero-img{inset:0 0 0 36%}
.pg-hero-fleet .pg-hero-img img{object-position:40% 45%}
.pg-hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,#0e0f11f2 0%,#0e0f11cc 30%,#0e0f1133 58%,#0e0f1100 75%)}
.pg-hero-content{position:relative;z-index:2;width:100%}
.pg-hero-content>*{max-width:600px}
.pg-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);margin:16px 0 20px}
.pg-hero p{color:#cbc4b8;font-size:1.08rem}
.pg-hero .ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
@media(max-width:800px){
  .pg-hero{min-height:auto;padding:110px 0 70px;align-items:flex-end}
  .pg-hero-img,.pg-hero-fleet .pg-hero-img{inset:0}
  .pg-hero-img img{opacity:.75}
  .pg-hero-veil{background:linear-gradient(0deg,#0e0f11f2 0%,#0e0f11cc 45%,#0e0f1166 100%)}
  .pg-hero h1,.pg-hero p{text-shadow:0 1px 14px #000}
  .pg-hero-fleet{min-height:92vh}
}
.pg-sec{padding:100px 0}
.pg-alt{background:linear-gradient(#121315,#16171a);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inl{color:var(--gold-2);text-decoration:underline}
/* showcase */
.sc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-top:46px}
.sc-card{grid-column:span 2;background:var(--char-2);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.sc-card:nth-child(4),.sc-card:nth-child(5){grid-column:span 3}
@media(max-width:1000px){.sc-grid{grid-template-columns:1fr 1fr}.sc-card,.sc-card:nth-child(4),.sc-card:nth-child(5){grid-column:span 1}.sc-card:nth-child(5){grid-column:1/-1}}
@media(max-width:600px){.sc-grid{grid-template-columns:1fr}.sc-card:nth-child(5){grid-column:auto}}
.sc-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0e0f11}
.sc-img img{width:100%;height:100%;object-fit:cover;display:block;-webkit-mask-image:linear-gradient(#000 60%,transparent 100%);mask-image:linear-gradient(#000 60%,transparent 100%)}
.sc-img .ph{position:absolute;top:12px;left:12px;background:#0e0f11cc}
.sc-body{padding:4px 24px 28px}
.sc-n{font-family:var(--serif);color:var(--red-2);font-size:1.6rem;line-height:1;display:block}
.sc-body h3,.fl-point h3{font-size:1.45rem;margin:8px 0}
.sc-body p,.fl-point p{font-size:.92rem;color:var(--mute)}
.sc-split{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
@media(max-width:900px){.sc-split{grid-template-columns:1fr;gap:30px}}
.sc-services{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:600px){.sc-services{grid-template-columns:1fr}}
.sc-services li{background:var(--char-2);padding:20px 22px;font-size:.88rem;color:var(--mute)}
.sc-services b{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--ink);font-weight:500;margin-bottom:3px}
.sc-services a{color:var(--gold-2);text-decoration:underline}
.pg-cta{padding:90px 0;text-align:center;background:radial-gradient(ellipse 50% 70% at 50% 100%,#1b1c1f 0%,transparent 70%),#111214}
.pg-cta .lead{margin:0 auto}.pg-cta .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
/* fleet */
.fl-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:800px){.fl-copy{grid-template-columns:1fr}}
.fl-point{border-top:1px solid var(--gold);padding-top:22px}
.fl-grid{display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:auto 1fr;gap:28px;margin-top:44px}
.fl-tall{grid-row:span 2}
@media(max-width:800px){.fl-grid{grid-template-columns:1fr}.fl-tall{grid-row:auto}}
.fl-fig{margin:0;background:#111214;border:1px solid var(--line);overflow:hidden}
.fl-fig img,.fl-fig picture{width:100%;height:auto;display:block}
.fl-fig figcaption,.gl-item figcaption{padding:14px 18px 18px}
.fl-fig figcaption b,.gl-item figcaption b{display:block;font-family:var(--serif);font-weight:500;font-size:1.25rem;color:var(--ink)}
.fl-fig figcaption span,.gl-item figcaption span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.fl-note{border:1px solid var(--line);border-left:3px solid var(--red);padding:28px;background:#121315}
.fl-note h3{font-size:1.5rem;margin-bottom:8px}.fl-note p{color:var(--mute);font-size:.94rem}
/* gallery */
.gl-grid{list-style:none;columns:3 300px;column-gap:22px;margin-top:40px}
.gl-grid li{break-inside:avoid;margin-bottom:22px}
.gl-item{margin:0;background:#111214;border:1px solid var(--line);overflow:hidden}
.gl-open{display:block;width:100%;padding:0;border:0;background:#0e0f11;cursor:zoom-in;position:relative}
.gl-open img{width:100%;height:auto;display:block;filter:saturate(.9) brightness(.9);transition:.5s;-webkit-mask-image:linear-gradient(#000 70%,#000c 85%,#0006 100%);mask-image:linear-gradient(#000 70%,#000c 85%,#0006 100%)}
.gl-open:hover img,.gl-open:focus-visible img{filter:none;transform:scale(1.02)}
.gl-open:focus-visible{outline:2px solid var(--gold-2);outline-offset:-2px}
.gl-ph{position:absolute;top:12px;left:12px;background:#0e0f11cc}
/* lightbox */
.lb{border:none;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#08090af2;color:var(--ink)}
.lb::backdrop{background:#000c}
.lb[open]{display:flex;align-items:center;justify-content:center}
.lb-fig{margin:0;max-width:min(92vw,1400px);display:flex;flex-direction:column;align-items:center;touch-action:pan-y}
.lb-img{max-width:100%;max-height:78vh;object-fit:contain;display:block;box-shadow:0 30px 80px #000}
.lb figcaption{margin-top:14px;text-align:center;max-width:820px;padding:0 16px}
.lb figcaption b{font-family:var(--serif);font-weight:500;font-size:1.35rem}
.lb figcaption span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.lb figcaption small{display:block;font-size:.74rem;color:#8a847a;margin-top:6px}
.lb figcaption small a{color:#bdb6aa;text-decoration:underline}
.lb .lb-count{display:block;margin-top:6px;color:#8f897f}
.lb-btn,.lb-close{position:absolute;background:#121315cc;border:1px solid var(--line);color:var(--gold-2);cursor:pointer;font:300 2rem/1 var(--serif);width:52px;height:52px;display:grid;place-items:center}
.lb-btn{top:50%;transform:translateY(-50%)}.lb-prev{left:18px}.lb-next{right:18px}
.lb-close{top:18px;right:18px}
.lb-btn:hover,.lb-close:hover,.lb-btn:focus-visible,.lb-close:focus-visible{background:var(--gold);color:var(--char);outline:none}
@media(max-width:700px){.lb-btn{top:auto;bottom:14px;transform:none}.lb-img{max-height:64vh}.lb figcaption{margin-bottom:60px}}
@media(max-width:800px){
  .pg-hero-img.fade-left{-webkit-mask-image:linear-gradient(#000 45%,transparent 100%);mask-image:linear-gradient(#000 45%,transparent 100%)}
  .pg-hero-img img,.pg-hero-short .pg-hero-img img{opacity:.9}
  .pg-hero-veil{background:linear-gradient(0deg,#0e0f11f0 0%,#0e0f11bb 45%,#0e0f1144 80%,#0e0f1188 100%)}
}
/* On the Job + Concepts (gallery) */
.gl-sec{scroll-margin-top:84px}
.gl-ph-work{border-style:solid;border-color:var(--red-2);color:#fff;background:#b3121fd9}
.gl-ph-concept{border-style:solid;border-color:var(--gold-2);color:var(--char);background:#dcc497f0;font-weight:600}
.gl-project{margin-top:48px}
.gl-project h3{font-size:1.7rem;margin-bottom:6px}
.gl-project h3+p,.gl-project>p{color:var(--mute);max-width:640px;font-size:.95rem}
.gl-project .gl-grid{margin-top:22px}
/* fleet.html: lead card for Current fleet / Wrap concepts (reuses .gl-item fade + lightbox) */
.fl-lead{margin-top:40px}
.fl-lead .gl-open img{-webkit-mask-image:linear-gradient(#000 60%,#000c 80%,#0005 100%);mask-image:linear-gradient(#000 60%,#000c 80%,#0005 100%)}
.fl-lead figcaption b{font-size:1.55rem}
.fl-lead+.gl-grid{margin-top:22px}
#wrap-concepts .gl-grid{columns:2 300px}
