/* Fluid layout and purposeful interactions across the ForgeCore website. */
.editorial-home{--page-gutter:clamp(22px,5vw,110px);--content-inset:max(var(--page-gutter),calc((100vw - 1600px)/2));--header-size:100px}
html{scroll-padding-top:120px}.editorial-home header{height:var(--header-size);padding-inline:var(--page-gutter)}.editorial-home header nav{gap:clamp(14px,1.7vw,32px)}
.editorial-home .section,.editorial-home .portfolio-hero{padding-inline:var(--content-inset);padding-block:clamp(48px,5vw,90px)}
.editorial-home .hero{padding:clamp(30px,4vw,70px) var(--content-inset);grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:clamp(40px,6vw,120px);position:relative;isolation:isolate;overflow:hidden;min-height:min(850px,calc(100svh - var(--header-size)))}
.editorial-home .hero:before{content:'';position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 72% 48%,#44c8f82a,transparent 42%),radial-gradient(ellipse at 25% 25%,#71a4f822,transparent 38%);pointer-events:none}
.motion-on .hero:before{animation:ambient-drift 14s ease-in-out infinite alternate}
@keyframes ambient-drift{from{transform:translate3d(-3%,0,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.08)}}
.editorial-home .hero h1{font-size:clamp(52px,5.2vw,104px);letter-spacing:-.055em}.editorial-home .hero .eyebrow{margin-bottom:28px}.editorial-home .hero .lead{font-size:clamp(18px,1.5vw,25px);max-width:720px}.editorial-home .hero .actions{margin:32px 0;flex-wrap:wrap;gap:24px}
.editorial-home .hero-image.hero-film{width:min(100%,calc(72svh * .5625),440px);max-width:440px;justify-self:center;box-shadow:0 24px 65px #183d6b24;border:1px solid #ffffffa0;border-radius:18px}
.hero-paths{display:grid;gap:0;max-width:580px;margin-top:16px}.hero-paths a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #abcbdc77;font-size:13px;color:#36617e}.hero-paths a span{color:var(--blue);transition:translate .3s}.hero-paths a:hover span{translate:5px -3px}
.editorial-home .featured-visual{min-height:0;aspect-ratio:1.6;align-self:center}.featured-visual img{object-fit:contain;background:#0b111a}
.editorial-home .project>img{height:auto;aspect-ratio:1.7}.editorial-home .voices img{height:auto;aspect-ratio:1.45}.editorial-home .faq img{height:auto;aspect-ratio:2.2}.editorial-home .showroom img{height:clamp(180px,16vw,290px)}
.service-explorer{border:1px solid #cce0ed;border-radius:18px;overflow:hidden;background:#f3f9fd}.explorer-tabs{display:flex;gap:0;background:#fff;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid #cce0ed}.explorer-tabs button{border:0;border-right:1px solid #e0ebf2;background:#fff;padding:22px 20px;display:flex;align-items:center;gap:14px;flex:1;white-space:nowrap;color:#365b74;font-size:15px;min-height:64px;transition:background .3s,color .3s}.explorer-tabs button>span:first-child{font-size:10px;opacity:.65}.explorer-tabs button>span:last-child{margin-left:auto}.explorer-tabs button[aria-selected=true]{background:#0872ce;color:white}.explorer-tabs button:hover{background:#e8f4fc;color:#075da8}.explorer-tabs button[aria-selected=true]:hover{background:#0865b5;color:#fff}
.explorer-panel{display:grid;grid-template-columns:1.1fr 1fr;min-height:430px}.explorer-panel[hidden]{display:none}.explorer-image{min-width:0;overflow:hidden}.explorer-image img{height:100%;min-height:430px;object-fit:cover}.explorer-copy{padding:clamp(28px,4vw,65px);align-self:center}.explorer-copy h3{font-size:clamp(30px,3vw,49px);line-height:1.15;letter-spacing:-1.7px;margin:18px 0}.explorer-copy p{font-size:16px;line-height:1.8}.explorer-copy ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:24px 0}.explorer-copy li{padding:8px 11px;border:1px solid #cadae7;border-radius:30px;font-size:12px;color:#315f7e}
.portfolio-search{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0}.portfolio-search label{font-size:14px}.portfolio-search input{flex:1;min-width:180px;max-width:550px;border:1px solid #bbd3e3;border-radius:8px;padding:15px 18px;font:inherit;background:#f6fbff;color:var(--ink)}.portfolio-search button{background:none;border:0;border-bottom:1px solid #8fb2cb;color:var(--blue);padding:10px 0;font-size:13px}.portfolio-search input:focus-visible{outline:3px solid #24b6df;outline-offset:3px}#empty-search{padding:28px;background:#edf7fd;border-radius:10px}.product-card[hidden],#empty-search[hidden]{display:none}
header nav a[aria-current=location]{color:var(--blue)}header nav a[aria-current=location]:after{transform:scaleX(1)}
.motion-on .explorer-panel.is-switching{animation:panel-enter .5s cubic-bezier(.2,.65,.3,1)}@keyframes panel-enter{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.editorial-products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.editorial-home .projects{gap:32px}.editorial-home .project h3{font-size:24px}.editorial-home .project p{font-size:15px}.editorial-home .project ul{font-size:13px}}
@media(min-width:761px) and (max-width:1100px){.editorial-home{--header-size:90px}.editorial-home .brand{font-size:17px;gap:8px}.editorial-home header nav{font-size:10px;gap:12px}.editorial-home header .button{padding:13px}.editorial-home .hero h1{font-size:clamp(48px,6vw,65px)}.explorer-tabs button{padding:18px 14px;font-size:13px}.explorer-panel{grid-template-columns:1fr 1fr}.editorial-home .hero{gap:30px}}
@media(max-width:760px){.editorial-home{--header-size:82px;--page-gutter:22px}.editorial-home header{padding-inline:18px}.editorial-home header nav{top:100%;max-height:calc(100svh - 82px);overflow-y:auto;font-size:15px;gap:18px}.editorial-home header nav a{padding-block:8px}.editorial-home .hero{grid-template-columns:1fr;min-height:0;padding-block:34px;gap:34px}.editorial-home .hero h1{font-size:clamp(45px,9.4vw,70px)}.editorial-home .hero .eyebrow{margin-bottom:24px}.editorial-home .hero-image.hero-film{width:min(100%,calc(65svh * .5625),320px)}.hero-paths a{font-size:12px;padding:11px 0}.editorial-home .hero .actions{margin:24px 0}.explorer-panel{grid-template-columns:1fr;min-height:0}.explorer-image img{min-height:0;height:auto;aspect-ratio:1.65}.explorer-tabs button{flex:none;padding:17px 15px;font-size:13px;min-height:56px}.explorer-copy{padding:26px}.explorer-copy h3{font-size:32px}.explorer-copy p{font-size:15px}.editorial-home .featured-visual{aspect-ratio:1.6}.editorial-home .section-top{gap:24px}.portfolio-search{gap:10px}.portfolio-search label{flex-basis:100%}.portfolio-search input{min-width:0;width:100%}.editorial-home .motion-control{bottom:12px;left:12px}.editorial-home footer{padding-bottom:90px}.editorial-home .contact h2{font-size:clamp(32px,8vw,44px)}}
@media(prefers-reduced-motion:reduce){.hero:before,.explorer-panel.is-switching{animation:none!important}.hero-paths a:hover span{translate:none}}

/* Why ForgeCore: let the content determine height, not a fixed 760px image. */
.editorial-home .spotlight{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(28px,4vw,72px);padding:clamp(36px,4vw,72px) var(--content-inset)}
.editorial-home .spotlight-image{position:relative;min-width:0;min-height:0;height:auto;overflow:hidden;border-radius:16px}
.editorial-home .spotlight-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center}
.editorial-home .spotlight-copy{padding:clamp(12px,2vw,34px) 0;min-width:0}
.editorial-home .spotlight h2{font-size:clamp(32px,3vw,52px);letter-spacing:-.045em}
.editorial-home .spotlight-copy>p{font-size:clamp(15px,1.1vw,18px)}
.editorial-home .reasons{gap:clamp(18px,2vw,32px);margin-top:28px}
.editorial-home .reasons h3{font-size:clamp(15px,1vw,18px)}
.editorial-home .reasons p{font-size:clamp(13px,.85vw,16px);line-height:1.7}
@media(max-width:1000px){.editorial-home .spotlight{grid-template-columns:minmax(0,1fr);gap:26px}.editorial-home .spotlight-image{height:auto;min-height:0;aspect-ratio:16/10}.editorial-home .spotlight-copy{padding:0}.editorial-home .spotlight-image img{object-position:center}.editorial-home .spotlight h2{font-size:clamp(32px,5vw,46px)}}
@media(max-width:480px){.editorial-home .spotlight-image{aspect-ratio:4/3}.editorial-home .reasons{grid-template-columns:1fr;gap:18px}.editorial-home .spotlight{padding-block:36px}}
