@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Poppins:wght@400;500;600;700&display=swap");

:root { --blue:#0f1a76; --ink:#242424; --muted:#606060; --line:#d9d9d9; --page:1080px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Poppins",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
section,footer { scroll-margin-top:102px; }
.page-width { width:min(calc(100% - 48px),var(--page)); margin-inline:auto; }
.section-padding { padding-block:104px; }
.section-title { margin:0; color:var(--blue); font-size:clamp(30px,4vw,40px); font-weight:700; line-height:1.15; text-align:center; }
.site-header { position:sticky; top:0; z-index:20; background:#fff; box-shadow:0 2px 14px rgba(15,26,118,.07); }
.header-inner { width:min(calc(100% - 48px),1160px); min-height:88px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand img { width:210px; height:auto; }
.desktop-nav { display:flex; align-items:center; gap:32px; color:var(--blue); font-size:14px; }
.desktop-nav a { transition:color .2s ease,transform .2s ease; }
.desktop-nav a:hover { color:#5262d2; transform:translateY(-1px); }
.desktop-nav .nav-cta { padding:13px 20px; border-radius:4px; color:#fff; background:var(--blue); }
.header-rule { height:8px; background:var(--blue); }
.menu-toggle,.mobile-nav { display:none; }
.hero { min-height:620px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(90deg,rgba(15,26,118,.72),rgba(15,26,118,.44) 46%,rgba(15,26,118,.08)),url("assets/70172f999333bf0e.png"); background-size:cover; background-position:center; }
.hero-content { padding-block:120px; }
.eyebrow { margin:0 0 16px; color:rgba(255,255,255,.78); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.hero h1 { max-width:560px; margin:0; font-size:clamp(38px,5vw,58px); line-height:1.08; }
.hero-copy { max-width:470px; margin:24px 0 30px; color:rgba(255,255,255,.92); font-size:18px; line-height:1.55; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 26px; border-radius:5px; color:#fff; background:var(--blue); font-size:14px; transition:background .2s ease,transform .2s ease; }
.button:hover { background:#1d2ca0; transform:translateY(-2px); }
.stats { background:#ddd; }
.stats-inner { min-height:150px; display:grid; grid-template-columns:repeat(2,1fr); align-items:center; gap:24px; }
.stat { display:grid; justify-items:center; color:#fff; text-align:center; }
.stat strong { font-size:30px; line-height:1; }
.stat span { margin-top:12px; font-size:14px; }
.products { padding-top:112px; }
.product-showcase { margin-top:52px; display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.product-card { min-height:240px; display:grid; grid-template-columns:45% 1fr; align-items:center; gap:24px; padding:22px 28px; border:1px solid #f0f0f0; border-radius:10px; box-shadow:0 8px 20px rgba(15,26,118,.08); }
.product-art { height:190px; display:grid; place-items:center; }
.product-art img { width:100%; height:100%; object-fit:contain; }
.product-card h3 { margin:0; color:var(--blue); font-size:24px; }
.product-card p { margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-copy .section-title { text-align:left; }
.about-copy p { max-width:520px; margin:28px 0 0; font-size:16px; line-height:1.7; }
.about-copy strong { color:var(--blue); }
.about-image img { width:100%; aspect-ratio:1/.88; object-fit:cover; border-radius:10px; box-shadow:0 12px 28px rgba(0,0,0,.12); }
.segments { padding-top:10px; }
.segment-grid { margin-top:50px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px 28px; }
.segment-card { min-height:250px; padding:14px 14px 20px; display:grid; grid-template-rows:1fr auto; border-radius:12px; background:#fff; box-shadow:0 5px 12px rgba(0,0,0,.18); overflow:hidden; }
.segment-art { display:grid; place-items:center; min-height:178px; }
.segment-art img { width:92%; height:170px; object-fit:contain; }
.segment-card h3 { margin:14px 0 0; color:var(--blue); font-size:20px; text-align:center; }
.benefits { padding-top:92px; padding-bottom:120px; }
.benefit-grid { margin:52px auto 34px; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:860px; }
.benefit-card { min-height:128px; padding:18px 24px; display:grid; place-items:center; align-content:center; border-radius:8px; background:#fff; box-shadow:0 5px 11px rgba(0,0,0,.18); text-align:center; }
.benefit-icon { color:var(--blue); font-size:36px; line-height:1; }
.benefit-card h3 { max-width:280px; margin:10px 0 0; color:var(--blue); font-family:"Montserrat",Arial,sans-serif; font-size:15px; line-height:1.35; }
.button-center { display:flex; width:fit-content; margin-inline:auto; }
.map-section { height:330px; border-top:1px solid #eee; }
.map-section iframe { width:100%; height:100%; border:0; }
.site-footer { color:#fff; background:var(--blue); }
.footer-inner { padding-block:54px 42px; display:grid; grid-template-columns:repeat(3,1fr); gap:64px; }
.footer-column h2 { margin:0; font-size:20px; line-height:1.2; }
.footer-line { width:200px; max-width:100%; height:1px; margin:18px 0 24px; background:rgba(255,255,255,.75); }
.footer-column p,.footer-column a { display:block; margin:0 0 13px; color:rgba(255,255,255,.92); font-size:14px; line-height:1.65; }
.footer-column a:hover { color:#fff; text-decoration:underline; }
.footer-column a span { width:28px; display:inline-block; font-size:20px; font-weight:600; vertical-align:middle; }
.footer-bottom { padding:18px 24px; border-top:1px solid rgba(255,255,255,.8); color:rgba(255,255,255,.92); font-size:13px; text-align:center; }
.eyebrow-blue { color:var(--blue); }
.about-story { display:grid; grid-template-columns:.95fr 1.05fr; gap:78px; align-items:center; }
.about-story-image img { width:100%; aspect-ratio:1/.9; object-fit:cover; border-radius:10px; box-shadow:0 12px 28px rgba(0,0,0,.12); }
.about-story-copy .section-title,.product-detail-copy .section-title { text-align:left; }
.about-story-copy h1 { margin-bottom:26px; }
.about-story-copy p:not(.eyebrow),.product-detail-copy p:not(.eyebrow) { margin:0 0 18px; color:var(--muted); font-size:15px; line-height:1.75; }
.history-gallery { padding-bottom:110px; }
.history-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.history-gallery-grid img { width:100%; aspect-ratio:1.42; object-fit:cover; border-radius:10px; box-shadow:0 6px 15px rgba(0,0,0,.14); }
.locations { padding-top:10px; }
.locations-grid { margin-top:52px; display:grid; grid-template-columns:repeat(2,1fr); gap:32px 28px; }
.location-card { padding:26px; border-radius:10px; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12); }
.location-card h3 { margin:0 0 18px; color:var(--blue); font-size:22px; }
.location-card iframe { width:100%; height:230px; border:0; border-radius:6px; }
.location-card p { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.product-page-hero { min-height:470px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(90deg,rgba(15,26,118,.9),rgba(15,26,118,.56) 55%,rgba(15,26,118,.18)),url("assets/image-59.png"); background-size:cover; background-position:center; }
.product-page-hero-content { padding-block:100px; }
.product-page-hero h1 { max-width:590px; margin:0; font-size:clamp(38px,5vw,58px); line-height:1.08; }
.product-page-hero p:not(.eyebrow) { max-width:520px; margin:22px 0 0; color:rgba(255,255,255,.93); font-size:18px; line-height:1.55; }
.product-detail { display:grid; grid-template-columns:.92fr 1.08fr; gap:68px; align-items:center; }
.product-detail-sacks { grid-template-columns:1fr 1fr; }
.product-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.product-gallery img { width:100%; height:224px; padding:10px; object-fit:contain; border-radius:8px; background:#f7f7fa; }
.product-sack-image { display:grid; place-items:center; min-height:380px; padding:24px; border-radius:12px; background:#f7f7fa; }
.product-sack-image img { width:100%; max-height:420px; object-fit:contain; }
@media (max-width:820px) {
  .page-width,.header-inner { width:min(calc(100% - 32px),var(--page)); }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; padding:10px 0; border:0; color:var(--blue); background:transparent; font:inherit; cursor:pointer; }
  .mobile-nav { padding:12px 16px; border-top:1px solid var(--line); background:#fff; }
  .mobile-nav[hidden] { display:none; }
  .mobile-nav:not([hidden]) { display:grid; gap:8px; }
  .mobile-nav a { padding:8px; color:var(--blue); }
  .hero { min-height:640px; background-position:60% center; }
  .hero-content { padding-block:100px; }
  .hero h1 { max-width:600px; font-size:clamp(36px,10vw,52px); }
  .product-showcase,.about,.about-story,.product-detail,.product-detail-sacks { grid-template-columns:1fr; }
  .about { gap:36px; }
  .about-story { gap:38px; }
  .product-detail { gap:42px; }
  .segment-grid { grid-template-columns:repeat(2,1fr); }
  .locations-grid { grid-template-columns:1fr; }
  .footer-inner { gap:36px 24px; }
}
@media (max-width:540px) {
  .section-padding { padding-block:76px; }
  .header-inner { min-height:76px; }
  .brand img { width:178px; }
  .header-rule { height:6px; }
  .hero { min-height:630px; background-position:63% center; }
  .hero-content { padding-block:90px; }
  .hero h1 { font-size:39px; }
  .hero-copy { font-size:16px; }
  .product-page-hero { min-height:550px; background-position:58% center; }
  .product-page-hero-content { padding-block:90px; }
  .product-page-hero h1 { font-size:39px; }
  .product-page-hero p:not(.eyebrow) { font-size:16px; }
  .stats-inner { min-height:124px; }
  .stat strong { font-size:26px; }
  .stat span { font-size:11px; }
  .product-card { grid-template-columns:1fr; gap:4px; padding:20px; text-align:center; }
  .product-art { height:156px; }
  .segment-grid,.benefit-grid { grid-template-columns:1fr; }
  .history-gallery-grid,.product-gallery { grid-template-columns:repeat(2,1fr); gap:12px; }
  .history-gallery-grid img { aspect-ratio:1; }
  .product-gallery img { height:170px; padding:6px; }
  .about-story-copy .section-title,.product-detail-copy .section-title { text-align:center; }
  .segment-card { min-height:238px; }
  .about-copy .section-title { text-align:center; }
  .about-copy p { font-size:15px; }
  .footer-inner { grid-template-columns:1fr; padding-block:44px 26px; }
}
