/* Homepage refinement: premium editorial spacing, soft silk-like flow, restrained motion. */
.home{
  --home-cream:#fbf4e9;
  --home-cream-deep:#f3e6d7;
  --home-paper:#fffaf4;
  --home-blue-mist:#e7f0f4;
  --home-ink:#102f50;
  --home-red:#e32b36;
  --cream:var(--home-cream);
  --paper:var(--home-paper);
  --sand:#f4eadc;
  --mist:#f7f1e8;
  --line:#e7d8c7;
  --ink:var(--home-ink);
  --navy:var(--home-ink);
  --navy-d:#09233e;
  --red:var(--home-red);
  --red-d:#bd1f2a;
  background:var(--home-cream);
}

.home header.site{
  background:rgba(255,250,244,.94);
  border-bottom-color:rgba(19,41,75,.08);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
}
.home .hb{padding-block:10px}
.home .brand img{filter:drop-shadow(0 5px 8px rgba(180,25,38,.08))}
.home .mainnav a{font-size:13.5px;letter-spacing:.01em}
.home .btn{box-shadow:0 10px 26px -18px rgba(173,23,32,.75)}
.home .btn:hover{transform:translateY(-1px)}

.home main{overflow:hidden}
.home main>section{isolation:isolate}
.home .kick{
  font-size:11px;
  letter-spacing:.2em;
  margin-bottom:17px;
}
.home .kick i{width:42px}
.home h1,.home h2{letter-spacing:-.025em}
.home h2{max-width:18ch}
.home .sh2-r{max-width:560px;justify-self:end}

/* A single, quiet flowing motif runs through the cream sections. */
.home .h-hero::before,
.home .h-about::after,
.home .h-ind::before,
.home .h-prod::after,
.home .h-aim::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:780px;
  height:280px;
  border:1px solid rgba(199,166,124,.15);
  border-radius:48% 52% 68% 32%/62% 46% 54% 38%;
  background:
    radial-gradient(80% 120% at 48% 20%,rgba(255,250,244,.82),transparent 65%),
    linear-gradient(110deg,rgba(228,207,177,.2),rgba(225,238,245,.12));
  transform:rotate(-7deg);
  filter:blur(.1px);
}
.home .h-hero::before{left:-300px;bottom:110px}
.home .h-about::after{right:-390px;bottom:10px;transform:rotate(8deg)}
.home .h-ind::before{left:-430px;top:20px;opacity:.55}
.home .h-prod::after{right:-390px;bottom:-70px;transform:rotate(12deg)}
.home .h-aim::before{left:-300px;bottom:-80px}

/* Hero */
.home .h-hero{
  min-height:min(760px,calc(100svh - 86px));
  padding-top:clamp(50px,6vw,82px);
  background:
    radial-gradient(circle at 18% 30%,#fffdf9 0 12%,transparent 42%),
    linear-gradient(180deg,var(--home-paper) 0%,var(--home-cream) 100%);
}
.home .hh-img{
  top:0;
  width:60%;
  height:calc(100% - 116px);
  overflow:hidden;
  border-radius:0 0 0 44%;
  box-shadow:-28px 30px 65px -50px rgba(16,43,74,.5);
}
.home .hh-img img{
  object-position:58% 50%;
  filter:saturate(.92) contrast(1.02);
  transform:scale(1.012);
}
.home .hh-img::before{
  background:
    linear-gradient(90deg,var(--home-paper) 0%,rgba(255,250,244,.9) 14%,rgba(255,250,244,.18) 42%,transparent 62%),
    linear-gradient(0deg,rgba(16,43,74,.08),transparent 35%);
}
.home .h-hero .wave{
  bottom:112px;
  height:118px;
  color:var(--home-cream);
  opacity:.98;
  transform-origin:center;
}
.home .hh-in{padding-bottom:clamp(78px,9vw,132px)}
.home .hh-in>*{max-width:520px}
.home .h-hero h1{
  font-size:clamp(48px,5.6vw,80px);
  line-height:.98;
  margin-bottom:24px;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.home .hh-lead{max-width:445px;font-size:16px;line-height:1.7}
.home .hh-act{margin-top:30px}
.home .hstats{
  padding:25px 0 27px;
  border-color:rgba(19,41,75,.09);
}
.home .hstats li{padding-inline:28px;gap:14px}
.home .hstats b{font-size:18px}
.home .hstats span{font-size:12px}

/* About */
.home .h-about{
  position:relative;
  padding-top:clamp(62px,7vw,96px);
  background:
    radial-gradient(90% 55% at 34% 100%,rgba(231,240,244,.42),transparent 70%),
    linear-gradient(180deg,var(--home-cream) 0%,var(--home-paper) 100%);
}
.home .ha-img{
  width:54%;
  height:calc(100% - 102px);
  overflow:hidden;
  border-radius:48% 0 0 0/24% 0 0 0;
}
.home .ha-img img{filter:saturate(.84) contrast(1.02)}
.home .ha-img::before{
  background:linear-gradient(90deg,var(--home-paper) 0%,rgba(255,250,244,.86) 16%,rgba(255,250,244,.06) 50%);
}
.home .ha-text{max-width:515px}
.home .ha-text>p:not(.kick){font-size:15px;line-height:1.8}
.home .hvals{padding-block:24px}
.home .hvals li{font-size:13px}

/* Cards and content sections */
.home .h-ind,
.home .h-prod,
.home .h-aim{position:relative}
.home .h-ind{
  background:
    radial-gradient(90% 54% at 52% 108%,rgba(204,224,235,.42),transparent 64%),
    linear-gradient(160deg,#fbf5ec 0%,#f7f0e6 52%,#fbf5eb 100%);
}
.home .h-prod{
  background:
    radial-gradient(72% 40% at 92% 0%,rgba(216,231,239,.3),transparent 62%),
    linear-gradient(180deg,var(--home-paper),var(--home-cream));
}
.home .sh2{align-items:start;margin-bottom:38px}
.home .sh2-r p{font-size:14px;line-height:1.75}
.home .icard,.home .prcard{
  border:1px solid rgba(19,41,75,.07);
  border-radius:8px;
  box-shadow:0 16px 34px -28px rgba(16,43,74,.6);
}
.home .icard img,.home .pr-img img{filter:saturate(.9) contrast(1.02)}
.home .icard span,.home .pr-b span{font-size:13px}
.home .prow5{gap:15px}
.home .pr-b{padding:15px}

/* Manufacturing band */
.home .h-mfg{
  min-height:440px;
  background:#0b2a48;
}
.home .hm-img{inset:0 0 0 34%;overflow:hidden}
.home .hm-img img{filter:saturate(.78) contrast(1.06)}
.home .hm-img::before{
  background:
    linear-gradient(90deg,#0b2a48 0%,rgba(11,42,72,.9) 20%,rgba(11,42,72,.22) 62%),
    linear-gradient(0deg,rgba(5,24,42,.25),transparent 50%);
}
.home .hm-text p{font-size:15px;line-height:1.8}
.home .pc.big{animation-duration:4.8s}

/* Aim and final CTA */
.home .h-aim{
  background:
    radial-gradient(70% 70% at 0% 100%,rgba(229,238,242,.32),transparent 65%),
    linear-gradient(155deg,var(--home-paper) 0%,var(--home-cream) 78%);
}
.home .aims li{padding-inline:22px}
.home .aims b{font-size:14px}
.home .aims span{font-size:12.5px}
.home .h-cta{background:#0b2a48}
.home .h-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.035) 47%,transparent 73%);
}
.home .hc-img{right:48%;overflow:hidden;border-radius:0 52% 0 0/0 32% 0 0}
.home .hc-img img{filter:saturate(.82) contrast(1.03)}
.home .hc-img::after{background:linear-gradient(90deg,rgba(11,42,72,0) 36%,#0b2a48 100%)}
.home .hc-text p{font-size:14px;line-height:1.75}

/* Homepage footer treatment, scoped so inner pages remain unchanged. */
.home footer.site{background:var(--home-paper)}
.home footer.site h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.home .fgrid{padding-top:48px}

/* Script-enabled, low-amplitude entrance motion. Content stays visible without JS. */
.home-motion .home-reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
  transition-delay:var(--reveal-delay,0ms);
}
.home-motion .home-reveal.is-visible{opacity:1;transform:none}
.home-motion .h-hero .wave{animation:home-wave 16s ease-in-out infinite alternate}
@keyframes home-wave{
  from{transform:translate3d(-.6%,2px,0) scaleX(1.012)}
  to{transform:translate3d(.6%,-2px,0) scaleX(.995)}
}

@media (max-width:1100px){
  .home .h-hero{min-height:0}
  .home .hh-img{width:58%}
  .home .hstats li{padding-inline:18px}
}

@media (max-width:820px){
  .home{font-size:16px}
  .home header.site{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .home .hb{min-height:64px;padding-block:8px}
  .home .brand img{width:42px}
  .home .bt b{font-size:14px;letter-spacing:.02em}
  .home .bt i{font-size:8px}
  .home .h-hero{padding-top:0;background:var(--home-paper)}
  .home .hh-img{
    width:100%;
    height:clamp(238px,61vw,360px);
    border-radius:0 0 44% 0/0 0 18% 0;
    box-shadow:none;
  }
  .home .hh-img img{object-position:58% 50%}
  .home .hh-img::before{
    background:linear-gradient(180deg,rgba(255,250,244,0) 48%,var(--home-paper) 100%);
  }
  .home .hh-in{padding-top:6px;padding-bottom:34px}
  .home .h-hero h1{font-size:clamp(40px,11vw,58px);line-height:1.02;margin-bottom:20px}
  .home .hh-lead{font-size:15px;line-height:1.72}
  .home .hh-act{gap:16px;margin-top:24px}
  .home .btn.rnd{padding:12px 18px;font-size:13px}
  .home .playlink{font-size:14px}
  .home .pc{width:40px;height:40px}
  .home .hstats{gap:0;row-gap:20px;padding:22px 0 26px}
  .home .hstats li{padding:4px 12px;align-items:flex-start}
  .home .hstats li:nth-child(odd){padding-left:0}
  .home .hstats b{font-size:15px}
  .home .hstats span{font-size:11px;line-height:1.5}

  .home .h-about{padding-top:0}
  .home .ha-img{width:100%;height:clamp(220px,58vw,330px);border-radius:0 0 44% 0/0 0 18% 0}
  .home .ha-img::before{background:linear-gradient(180deg,rgba(255,250,244,0) 52%,var(--home-paper) 100%)}
  .home .ha-in{padding-top:8px;padding-bottom:30px}
  .home .ha-text>p:not(.kick){font-size:14px;line-height:1.75}
  .home .hvals{row-gap:16px;padding-block:22px}
  .home .hvals li{font-size:12px;padding-left:10px;gap:10px}
  .home .hvals li:nth-child(odd){padding-left:0}

  .home .h-ind,.home .h-prod,.home .h-aim{padding-block:56px}
  .home .sh2{gap:12px;margin-bottom:28px}
  .home .sh2-r{justify-self:start}
  .home .crow{
    grid-auto-columns:min(74%,280px);
    margin-inline:calc(-1*max(20px,env(safe-area-inset-left,0px)));
    padding-inline:max(20px,env(safe-area-inset-left,0px));
    scroll-padding-inline:max(20px,env(safe-area-inset-left,0px));
  }
  .home .prow5{
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-inline:calc(-1*max(20px,env(safe-area-inset-left,0px)));
    padding:2px max(20px,env(safe-area-inset-left,0px)) 14px;
    scroll-padding-inline:max(20px,env(safe-area-inset-left,0px));
  }
  .home .prow5::-webkit-scrollbar{display:none}
  .home .prcard{flex:0 0 min(74%,280px);scroll-snap-align:start}

  .home .h-mfg{min-height:0}
  .home .hm-img{height:230px}
  .home .hm-in{padding-block:6px 46px}
  .home .hm-text p{font-size:14px;line-height:1.75}
  .home .aims{gap:0;row-gap:18px}
  .home .aims li{padding:0}
  .home .hc-img{height:210px;border-radius:0 0 42% 0/0 0 18% 0}
  .home .hc-img::after{background:linear-gradient(180deg,rgba(11,42,72,0) 46%,#0b2a48 100%)}
  .home .hc-in{padding-block:8px 46px}
  .home .fgrid{padding-top:38px}
  .home main>section::before,.home main>section::after{animation:none!important}
}

@media (max-width:440px){
  .home .bt i{display:none}
  .home .h-hero h1{font-size:40px}
  .home .hh-act{align-items:center}
  .home .hstats svg{width:26px;height:26px}
  .home .hstats li{gap:9px}
  .home .hvals svg{width:25px;height:25px}
}

@media (prefers-reduced-motion:reduce){
  .home-motion .home-reveal{opacity:1;transform:none}
  .home-motion .h-hero .wave{animation:none}
  .home .btn:hover{transform:none}
}
