/* Home-only sections. Shared sections live in sections.css. */

/* ---------- hero ---------- */
.hero{position:relative;min-block-size:min(100svh,940px);display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);background:var(--blue);color:var(--snow);overflow:hidden}
.hero-copy{position:relative;z-index:4;box-shadow:0 0 0 2px var(--blue);display:flex;flex-direction:column;justify-content:flex-end;padding:calc(150px + var(--admin-bar-h)) var(--pad) 90px}
.hero h1{font:700 clamp(38px,4.4vw,70px)/1.18 var(--font-body);margin:0 0 26px;letter-spacing:-.01em;max-inline-size:13ch}
.hero p.sub{font-size:clamp(17px,1.35vw,20px);max-inline-size:44ch;margin:0 0 36px;opacity:.92;line-height:1.8}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.slogan{font:800 clamp(13px,1vw,15px) var(--en);font-stretch:125%;letter-spacing:.32em;margin-block-start:56px;opacity:.75}
.hero-photo{position:relative;isolation:isolate;overflow:hidden}
.hero-photo :is(img,.rz-video){position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:82% 50%}
.hero-photo .hero-slide{position:absolute;inset:0;opacity:0}
.hero-photo .hero-slide.is-active{opacity:1}
.hero-photo .hero-slide img{object-position:72% 50%}
.hero-motion{position:absolute;z-index:5;inset-inline-end:24px;inset-block-end:calc(clamp(90px,14vw,210px) + 16px);inline-size:44px;block-size:44px;border:1px solid oklch(100% 0 0 / .5);border-radius:50%;background:var(--blue-deep);color:var(--snow);display:grid;place-items:center}
.hero-motion::before{content:"";inline-size:12px;block-size:16px;border-inline:4px solid currentColor}
.hero-motion[aria-pressed=true]::before{inline-size:0;block-size:0;border-inline-start:12px solid currentColor;border-inline-end:0;border-block:8px solid transparent}
.hero-motion:focus-visible{outline:3px solid var(--snow);outline-offset:4px}
.hero-photo::after{content:"";position:absolute;z-index:3;pointer-events:none;inset:0;inset-inline-start:-1px;background:linear-gradient(to left,var(--blue) 0,var(--blue) 3px,oklch(48.4% 0.134 257.9 / 0) 28%)}
[dir=ltr] .hero-photo::after{background:linear-gradient(to right,var(--blue) 0,var(--blue) 3px,oklch(48.4% .134 257.9 / 0) 28%)}

/* ---------- industries ---------- */
.inds{padding:0 0 clamp(80px,10vw,140px)}
.ind-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:14px}
.ind{position:relative;min-block-size:420px;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--snow)}
.ind .slot{position:absolute;inset:0;border-radius:0;padding:22px}
.ind>img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover}
.ind:has(>img)::after{content:"";position:absolute;inset:0;background:linear-gradient(oklch(24% .07 260 / .8),transparent)}
.ind h3{position:relative;z-index:2;font:600 22px/1.35 var(--font-body);margin:0 0 70px;padding:22px 22px 0}
.ind:nth-child(even) .slot{background:radial-gradient(130% 90% at 80% 0%,oklch(58% 0.1 250),oklch(34% 0.1 258) 60%,var(--blue-night))}
.ind:hover .slot::before{opacity:1}

/* ---------- MD quote over photo ---------- */
.md{position:relative;min-block-size:640px;display:flex;align-items:flex-end;color:var(--snow);overflow:hidden}
.md img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:15% 50%}
.md::after{content:"";position:absolute;inset:0;background:linear-gradient(to left,var(--blue-night) 20%,oklch(24% 0.07 260 / .15) 70%)}
[dir=ltr] .md::after{background:linear-gradient(to right,var(--blue-night) 20%,oklch(24% .07 260 / .15) 70%)}
.md .wrap{position:relative;z-index:2;inline-size:100%;padding-block:90px}
.md blockquote{margin:0;max-inline-size:30ch;font:600 clamp(24px,2.6vw,38px)/1.55 var(--font-body)}
.md cite{display:block;margin-block-start:26px;font-style:normal;font-size:15px;opacity:.85}
.md cite b{font-family:var(--en);font-weight:700;font-stretch:115%}

/* ---------- projects ---------- */
.proof{padding:clamp(80px,10vw,140px) 0 40px}

@media(max-width:1080px){
  .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto clamp(260px,52vw,460px);min-block-size:0}
  .hero-copy{padding:calc(130px + var(--admin-bar-h)) var(--pad) 60px}
  [dir] .hero-photo::after{inset-inline-start:0;inset-block-start:-1px;background:linear-gradient(to bottom,var(--blue) 0,var(--blue) 3px,transparent 30%)}
  .hero-photo .hero-slide img{object-position:50% 50%}
  .hero .peak{inline-size:90vw}
  .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ind{min-block-size:280px}
}
@media(max-width:560px){
  .ind-grid{grid-template-columns:minmax(0,1fr)}
  .hero h1{max-inline-size:100%}
}

.hero-motion[hidden]{display:none}

[dir=ltr] .md img{object-position:85% 50%}
@media(max-width:700px){
  .md{min-block-size:0;background:var(--blue-night);padding-block-end:48.18vw}
  .md img{inset-block-start:auto;inset-block-end:0;block-size:auto;aspect-ratio:1920/925;object-fit:contain}
  .md::after,[dir=ltr] .md::after{background:linear-gradient(to bottom,var(--blue-night) 0%,transparent 100%);inset-block-start:auto;block-size:48.18vw}
  .md .wrap{padding-block:64px 32px}
}
