body.application-page{background:#f4f4ef}
body.application-page .site-header{color:var(--ink);background:rgba(255,255,255,.96);border-color:rgba(31,35,33,.09);box-shadow:0 8px 24px rgba(26,31,27,.06);backdrop-filter:blur(12px)}
body.application-page .site-header .quote-trigger{background:transparent;border-color:rgba(31,35,33,.18);color:var(--ink)}
body.application-page .site-header .quote-trigger:hover{background:var(--ink);border-color:var(--ink);color:#fff}
body.application-page main{padding-top:84px}
body.application-page footer{position:relative;isolation:isolate;background:#111512 url('../../source/applications/factory-exterior.webp') center/cover no-repeat}
body.application-page footer::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,21,18,.97),rgba(17,21,18,.9) 52%,rgba(17,21,18,.94));pointer-events:none}
.app-hero{background:#f4f4ef;padding:clamp(92px,11vw,160px) 0 clamp(68px,8vw,112px);border-bottom:1px solid var(--line)}
.app-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:clamp(48px,8vw,130px);align-items:end}
.app-kicker{display:block;margin-bottom:22px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.app-hero h1{margin:0;max-width:10ch;font-size:clamp(60px,8vw,118px);line-height:.89;letter-spacing:-.065em;font-weight:500;text-wrap:balance}
.app-hero-copy{padding-bottom:10px}
.app-hero-copy p{margin:0 0 30px;max-width:40ch;color:var(--muted);font-size:clamp(18px,1.5vw,23px);line-height:1.52}
.app-hero-link{display:inline-flex;align-items:center;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(31,35,33,.35);font-size:13px;font-weight:600;text-decoration:none}
.app-hero-link:hover{color:var(--orange);border-color:var(--orange)}
.app-index{background:#fff;border-bottom:1px solid var(--line)}
.app-index-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.app-index a{min-height:82px;padding:20px 16px;border-left:1px solid var(--line);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;justify-content:center;gap:4px}
.app-index a:last-child{border-right:1px solid var(--line)}
.app-index small{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.14em}
.app-index span{font-size:13px;font-weight:600}
.app-index a:hover{background:var(--paper-2)}
.app-section{padding:clamp(76px,9vw,132px) 0}
.app-section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:52px}
.app-section-head h2{margin:0;max-width:12ch;font-size:clamp(42px,5.4vw,78px);line-height:.94;letter-spacing:-.055em;font-weight:500}
.app-section-head p{margin:0;max-width:44ch;color:var(--muted);font-size:18px;line-height:1.6}
.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.application-card{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr);min-height:390px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.application-card-media{min-height:390px;overflow:hidden;background:#e8e9e5}
.application-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .6s var(--ease)}
.application-card-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:34px 30px}
.application-card-number{margin-bottom:auto;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.14em}
.application-card h3{margin:36px 0 12px;font-size:clamp(25px,2.2vw,34px);line-height:1.02;letter-spacing:-.035em;font-weight:600}
.application-card p{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.55}
.application-card a{font-size:12px;font-weight:700;color:var(--ink);text-decoration:none;padding-bottom:7px;border-bottom:1px solid rgba(31,35,33,.3)}
.application-card:hover img{transform:scale(1.035);filter:saturate(.95) contrast(1.02)}
.application-card:hover a{color:var(--orange);border-color:var(--orange)}
.app-note{background:#1f2421;color:#fff;padding:clamp(70px,8vw,110px) 0}
.app-note-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.app-note h2{margin:0;max-width:13ch;font-size:clamp(43px,5.4vw,78px);line-height:.95;letter-spacing:-.05em;font-weight:500}
.app-note-copy p{margin:0 0 26px;color:rgba(255,255,255,.68);font-size:18px;line-height:1.6}
.app-note .btn{border-radius:7px}
@media(max-width:1100px){.application-card{grid-template-columns:1fr;min-height:0}.application-card-media{min-height:280px;aspect-ratio:16/10}.application-card-content{min-height:260px}.app-index-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){body.application-page main{padding-top:68px}.app-hero-grid,.app-section-head,.app-note-grid{grid-template-columns:1fr;gap:30px}.app-hero h1{max-width:11ch}.app-hero-copy{max-width:600px}.application-grid{grid-template-columns:1fr}.application-card{grid-template-columns:1.1fr .9fr}.application-card-media{min-height:320px}.application-card-content{min-height:0}}
@media(max-width:650px){.app-hero{padding:70px 0 56px}.app-hero h1{font-size:54px}.app-index-grid{grid-template-columns:repeat(2,1fr)}.application-card{grid-template-columns:1fr}.application-card-media{min-height:0;aspect-ratio:4/3}.application-card-content{min-height:245px;padding:26px 22px}.app-section{padding:64px 0}.app-section-head{margin-bottom:34px}.app-section-head h2,.app-note h2{font-size:42px}}

/* Internal-page banner system used for Applications, Factory, Resources and Contact. */
body.application-page .site-header{color:#fff;background:transparent;border-color:rgba(255,255,255,.2);box-shadow:none;backdrop-filter:none}
body.application-page .site-header.is-scrolled{color:var(--ink);background:rgba(255,255,255,.96);border-color:rgba(31,35,33,.09);box-shadow:0 8px 24px rgba(26,31,27,.06);backdrop-filter:blur(12px)}
body.application-page .site-header .quote-trigger{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
body.application-page .site-header.is-scrolled .quote-trigger{background:transparent;border-color:rgba(31,35,33,.18);color:var(--ink)}
body.application-page .site-header .quote-trigger:hover{background:#fff;border-color:#fff;color:var(--ink)}
body.application-page .site-header.is-scrolled .quote-trigger:hover{background:var(--ink);border-color:var(--ink);color:#fff}
body.application-page main{padding-top:0}
.app-hero{position:relative;height:clamp(280px,28svh,370px);min-height:280px;padding:0;background:#171b19 url('../../source/applications/application-hero.webp') center 57%/cover no-repeat;color:#fff;overflow:hidden;isolation:isolate}
.app-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,14,12,.84),rgba(10,14,12,.5) 55%,rgba(10,14,12,.28)),linear-gradient(180deg,rgba(8,11,9,.2),rgba(8,11,9,.48))}
.app-hero-inner{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:104px;padding-bottom:38px}
.app-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:rgba(255,255,255,.65);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.app-breadcrumb a{color:inherit;text-decoration:none}.app-breadcrumb a:hover{color:#fff}
.app-hero .app-kicker{margin:0 0 10px;color:#ff7330}
.app-hero-copy{padding:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);column-gap:70px;row-gap:10px;align-items:end}
.app-hero-copy>.app-kicker{grid-column:1;grid-row:1;margin-bottom:0}
.app-hero-copy>h1{grid-column:1;grid-row:2}
.app-hero-copy>p{grid-column:2;grid-row:2;align-self:end}
.app-hero h1{margin:0;max-width:15ch;font-size:clamp(42px,4.25vw,62px);line-height:.94;letter-spacing:-.052em;font-weight:500}
.app-hero-copy p{margin:0 0 2px;max-width:43ch;color:rgba(255,255,255,.76);font-size:16px;line-height:1.55}
@media(max-width:920px){body.application-page main{padding-top:0}.app-hero{height:clamp(320px,38svh,410px)}.app-hero-inner{padding-top:88px;padding-bottom:34px}.app-hero-copy{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:10px}.app-hero-copy>.app-kicker{grid-column:1;grid-row:1}.app-hero-copy>h1{grid-column:1;grid-row:2}.app-hero-copy>p{grid-column:1;grid-row:3;margin-top:4px}.app-hero h1{font-size:50px}.app-hero-copy p{font-size:15px}}
@media(max-width:650px){.app-hero{height:350px;padding:0}.app-hero-inner{padding-top:80px;padding-bottom:28px}.app-breadcrumb{margin-bottom:14px}.app-hero h1{font-size:40px;max-width:14ch}.app-hero-copy p{max-width:34ch}}

/* Stable banner geometry: breadcrumb stays below header; copy stays on the baseline. */
.app-hero{height:clamp(310px,29svh,380px);min-height:310px}
.app-hero-inner{position:relative;display:block;height:100%;padding:0}
.app-breadcrumb{position:absolute;top:104px;left:0;margin:0}
.app-hero-copy{position:absolute;left:0;right:0;bottom:34px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);grid-template-rows:auto auto;column-gap:70px;row-gap:8px;max-width:none}
.app-hero h1{max-width:19ch;font-size:clamp(40px,3.65vw,54px);line-height:.96}
.app-hero-copy p{font-size:15px;max-width:46ch}

/* Reduce the orientation block so the application cards enter the viewport sooner. */
.app-section{padding:58px 0 84px}
.app-section-head{grid-template-columns:minmax(0,.75fr) minmax(320px,1.25fr);gap:48px;margin-bottom:30px}
.app-section-head h2{max-width:15ch;font-size:clamp(34px,3.25vw,48px);line-height:1}
.app-section-head p{max-width:50ch;font-size:15px;line-height:1.55}
@media(max-width:920px){.app-hero{height:360px;min-height:360px}.app-breadcrumb{top:88px}.app-hero-copy{bottom:28px;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:7px}.app-hero h1{font-size:42px;max-width:17ch}.app-hero-copy p{max-width:38ch;font-size:14px}.app-section{padding:48px 0 70px}.app-section-head{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.app-section-head h2{font-size:40px}}
@media(max-width:650px){.app-hero{height:350px}.app-breadcrumb{top:78px}.app-hero-copy{bottom:24px}.app-hero h1{font-size:36px;max-width:16ch}.app-section{padding:42px 0 60px}.app-section-head h2{font-size:35px}}

.application-card-number{display:none}
.application-card h3{margin:0 0 12px}
