
/* PanCo v3 — unified soft / modern design system */
body.site-v3{
  --v3-bg:#faf9f6;--v3-ink:#24201d;--v3-brown:#39281f;--v3-muted:#706761;
  --v3-line:rgba(57,40,31,.09);--v3-card:rgba(255,255,255,.58);--v3-shadow:0 24px 80px rgba(49,35,27,.075);
  background:var(--v3-bg);font-family:'Manrope','Inter',Arial,sans-serif;color:var(--v3-ink);
}
body.site-v3:not(.home-v2) h1,body.site-v3:not(.home-v2) h2,body.site-v3:not(.home-v2) h3{font-family:'Manrope','Inter',sans-serif;letter-spacing:-.035em;color:var(--v3-brown)}
body.site-v3 p{color:var(--v3-muted)}
body.site-v3 .eyebrow{color:#7b685c;letter-spacing:.10em;font-weight:700}

/* one floating header across the whole site */
body.site-v3 .header{top:18px;left:50%;right:auto;width:min(1190px,calc(100% - 36px));transform:translateX(-50%);border:1px solid var(--v3-line);border-radius:22px;background:rgba(250,249,246,.87);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 12px 45px rgba(49,35,27,.045);overflow:visible}
body.site-v3 .header.shadow{background:rgba(250,249,246,.95);box-shadow:0 16px 54px rgba(49,35,27,.075)}
body.site-v3 .nav{height:72px;padding:0 18px}
body.site-v3 .nav a,body.site-v3 .nav button{font-size:12px;letter-spacing:.06em;text-transform:none;font-weight:700;color:#675e59}
body.site-v3 .nav a:hover,body.site-v3 .nav button:hover,body.site-v3 .nav a.active{color:var(--v3-brown)}
body.site-v3 .logo img{height:56px}
body.site-v3 .dropdown{top:44px;min-width:190px;border-radius:18px;border:1px solid var(--v3-line);background:rgba(252,251,248,.98);box-shadow:0 22px 60px rgba(49,35,27,.12);padding:9px}
body.site-v3 .dropdown a{border-radius:11px;padding:11px 12px}
body.site-v3 .dropdown a:hover{background:#f2eee8}
body.site-v3 .lang{border-left:1px solid var(--v3-line)!important}
body.site-v3 .mobile-menu{top:101px;left:18px;right:18px;border:1px solid var(--v3-line);border-radius:20px;background:rgba(250,249,246,.98);box-shadow:var(--v3-shadow);padding:18px 20px 24px}
body.site-v3 .mobile-menu a,body.site-v3 .mobile-menu button{text-transform:none;letter-spacing:.02em;font-weight:700;border-color:rgba(57,40,31,.08)}

/* inner-page hero is now a rounded visual panel instead of a hard full-width block */
body.site-v3:not(.home-v2) .breadcrumb{padding-top:118px;padding-bottom:18px;text-transform:none;letter-spacing:.02em;color:#8a817c}
body.site-v3:not(.home-v2) .hero.small{min-height:520px;padding:0;width:min(1280px,calc(100% - 40px));margin:0 auto 18px;border-radius:34px;overflow:hidden;box-shadow:var(--v3-shadow)}
body.site-v3:not(.home-v2) .hero-bg:after{background:linear-gradient(180deg,rgba(26,20,17,.18),rgba(26,20,17,.30))}
body.site-v3:not(.home-v2) .hero-card{width:min(760px,calc(100% - 44px));padding:42px 44px;border-radius:26px;border:1px solid rgba(255,255,255,.62);background:rgba(250,249,246,.88);box-shadow:0 22px 70px rgba(29,21,17,.12)}
body.site-v3:not(.home-v2) .hero-card h1{font-size:clamp(42px,5.4vw,68px)}

/* no alternating page background bands */
body.site-v3 .section,body.site-v3 .bg-low,body.site-v3 .bg-dark{background:transparent}
body.site-v3 .section{padding:82px 0}
body.site-v3 .section+.section{padding-top:32px}
body.site-v3 .section-head{margin-bottom:38px}

/* soft cards */
body.site-v3 .product-panel,body.site-v3 .feature,body.site-v3 .contact-card,body.site-v3 .frame,body.site-v3 .future-card{
  border:1px solid var(--v3-line);background:var(--v3-card);border-radius:28px;box-shadow:0 18px 60px rgba(49,35,27,.04);overflow:hidden;
}
body.site-v3 .product-panel{transition:.3s cubic-bezier(.2,.8,.2,1)}
body.site-v3 .product-panel:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(49,35,27,.075)}
body.site-v3 .product-panel .pic{height:390px}
body.site-v3 .product-panel .body{padding:30px 30px 32px}
body.site-v3 .split img{border:0;border-radius:30px;box-shadow:var(--v3-shadow)}
body.site-v3 .feature{padding:28px;border-radius:24px}
body.site-v3 .feature h3{font-size:21px}
body.site-v3 .feature .num{font-family:'Manrope',sans-serif;font-weight:700;color:#9a8172}
body.site-v3 .contact-card{padding:34px}
body.site-v3 .contact-item{border-color:rgba(57,40,31,.08)}
body.site-v3 .field input,body.site-v3 .field select,body.site-v3 .field textarea{border:1px solid var(--v3-line);border-radius:15px;background:rgba(255,255,255,.68);padding:14px 15px}
body.site-v3 .field input:focus,body.site-v3 .field select:focus,body.site-v3 .field textarea:focus{border-color:rgba(57,40,31,.30);box-shadow:0 0 0 4px rgba(57,40,31,.04)}
body.site-v3 .map{border-radius:28px;filter:saturate(.82) contrast(.96)}

/* stats/process become separated soft modules */
body.site-v3 .stats{border:0;background:transparent;gap:14px}
body.site-v3 .stat{border:1px solid var(--v3-line)!important;background:var(--v3-card);border-radius:22px;padding:28px}
body.site-v3 .stat strong{font-family:'Manrope',sans-serif;color:var(--v3-brown)}
body.site-v3 .process{border:0;background:transparent;gap:12px}
body.site-v3 .step{border:1px solid var(--v3-line)!important;background:var(--v3-card);border-radius:20px;padding:22px}
body.site-v3 .step b{font-family:'Manrope',sans-serif;color:var(--v3-brown)}
body.site-v3 .timeline{border-left-color:rgba(57,40,31,.12)}
body.site-v3 .timeline-item:before{border-color:var(--v3-brown);background:var(--v3-bg)}

/* pill buttons */
body.site-v3 .btn{border-radius:999px;padding:14px 23px;border:1px solid rgba(57,40,31,.14);font-size:12px;text-transform:none;letter-spacing:.02em;font-weight:800;transition:.28s cubic-bezier(.2,.8,.2,1)}
body.site-v3 .btn.primary{background:var(--v3-brown);color:#fff;border-color:var(--v3-brown);box-shadow:0 10px 28px rgba(56,37,28,.14)}
body.site-v3 .btn.primary:hover{background:#4a3328;transform:translateY(-2px);box-shadow:0 14px 34px rgba(56,37,28,.18)}
body.site-v3 .btn.secondary{background:rgba(255,255,255,.45);color:var(--v3-brown)}
body.site-v3 .text-link{text-transform:none;letter-spacing:.01em;font-weight:800}

/* CTA no longer creates a different-color full-width band */
body.site-v3 .cta{padding:42px 0 100px;background:transparent;text-align:left}
body.site-v3 .cta>.container{position:relative;overflow:hidden;border-radius:34px;padding:58px 64px;background:linear-gradient(135deg,#eee7df 0%,#f6f1eb 62%,#ebe4dc 100%);border:1px solid var(--v3-line)}
body.site-v3 .cta h2,body.site-v3 .cta p{color:var(--v3-brown)}
body.site-v3 .cta p{margin:15px 0 26px;max-width:720px}
body.site-v3 .cta .btn.light{background:var(--v3-brown);color:#fff;border-color:var(--v3-brown)}

/* footer blends into the same page canvas */
body.site-v3 .footer{background:transparent;border-top:1px solid var(--v3-line)}
body.site-v3 .footer-grid{padding-top:58px}
body.site-v3 .footer h4{font-family:'Manrope',sans-serif;color:var(--v3-brown);text-transform:none;letter-spacing:.02em}
body.site-v3 .footer a{font-size:13px}
body.site-v3 .copyright{border-color:var(--v3-line)}

/* B2B solution chips */
.solution-chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 28px}
.solution-chips span{font-size:12px;font-weight:700;color:#695e58;border:1px solid var(--v3-line);background:rgba(255,255,255,.52);padding:9px 13px;border-radius:999px}
.category-note{margin-top:20px;padding:18px 20px;border:1px solid var(--v3-line);border-radius:18px;background:rgba(255,255,255,.45);color:var(--v3-muted)}

@media(max-width:900px){
  body.site-v3 .header{border-radius:20px}body.site-v3 .nav{padding:0 10px}body.site-v3 .mobile-menu{top:99px}
  body.site-v3:not(.home-v2) .hero.small{min-height:470px}body.site-v3 .cta>.container{padding:46px 38px}
}
@media(max-width:560px){
  body.site-v3 .header{top:10px;width:calc(100% - 20px)}body.site-v3 .nav{height:66px}body.site-v3 .logo img{height:49px}body.site-v3 .mobile-menu{top:86px;left:10px;right:10px}
  body.site-v3:not(.home-v2) .breadcrumb{padding-top:96px}body.site-v3:not(.home-v2) .hero.small{width:calc(100% - 20px);min-height:430px;border-radius:26px}
  body.site-v3:not(.home-v2) .hero-card{width:calc(100% - 26px);padding:30px 22px;border-radius:21px}
  body.site-v3 .section{padding:58px 0}body.site-v3 .product-panel,body.site-v3 .feature,body.site-v3 .contact-card{border-radius:22px}body.site-v3 .cta{padding-bottom:78px}body.site-v3 .cta>.container{width:calc(100% - 20px);padding:38px 26px;border-radius:26px}
}


/* =========================================================
   PanCo — Final Mobile Optimization
   Desktop layout is untouched; overrides apply only on smaller screens.
   ========================================================= */

@media (max-width: 900px){
  html,body{overflow-x:hidden}
  body.site-v3{-webkit-text-size-adjust:100%}

  body.site-v3 .container{
    width:min(var(--max),calc(100% - 32px));
  }

  /* More comfortable touch targets */
  body.site-v3 .btn,
  body.site-v3 .mobile-toggle,
  body.site-v3 .mobile-menu a,
  body.site-v3 .mobile-menu button{
    min-height:44px;
  }

  /* Mobile navigation */
  body.site-v3 .mobile-menu{
    max-height:calc(100dvh - 112px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Inner pages */
  body.site-v3:not(.home-v2) .hero.small{
    min-height:430px;
  }
  body.site-v3:not(.home-v2) .hero-card{
    max-width:680px;
  }

  body.site-v3 .contact-wrap{gap:20px}
  body.site-v3 .footer-grid{gap:34px 28px}
}

@media (max-width: 720px){
  /* Core spacing and typography */
  body.site-v3 .container{
    width:calc(100% - 28px);
  }
  body.site-v3 .section{
    padding:48px 0;
  }
  body.site-v3 .section + .section{
    padding-top:8px;
  }
  body.site-v3 .section-head{
    margin-bottom:26px;
  }
  body.site-v3:not(.home-v2) h2{
    font-size:clamp(29px,8vw,38px);
    line-height:1.08;
  }
  body.site-v3:not(.home-v2) h3{
    font-size:21px;
    line-height:1.15;
  }
  body.site-v3 p{
    font-size:15px;
    line-height:1.68;
  }
  body.site-v3 .lead{
    font-size:16px;
    line-height:1.65;
  }

  /* Compact floating header */
  body.site-v3 .header{
    top:8px;
    width:calc(100% - 16px);
    border-radius:18px;
  }
  body.site-v3 .nav{
    height:62px;
    padding:0 9px;
  }
  body.site-v3 .logo img{
    height:44px;
  }
  body.site-v3 .mobile-toggle{
    width:44px;
    height:44px;
    padding:0 !important;
    display:grid !important;
    place-items:center;
    border-radius:50%;
    font-size:21px !important;
    line-height:1;
    background:rgba(57,40,31,.055) !important;
    color:var(--v3-brown) !important;
  }
  body.site-v3 .mobile-menu{
    top:78px;
    left:8px;
    right:8px;
    padding:10px 18px 16px;
    border-radius:18px;
    max-height:calc(100dvh - 90px);
  }
  body.site-v3 .mobile-menu a,
  body.site-v3 .mobile-menu button{
    padding:13px 2px;
    font-size:14px;
  }
  body.site-v3 .mobile-sub{
    padding-left:14px;
  }
  body.site-v3 .mobile-sub a{
    font-size:13px;
    padding:11px 2px;
  }

  /* Breadcrumb is unnecessary clutter on phone; hero gets its spacing instead */
  body.site-v3:not(.home-v2) .breadcrumb{
    display:none;
  }
  body.site-v3:not(.home-v2) .hero.small{
    width:calc(100% - 16px);
    min-height:370px;
    margin:88px auto 10px;
    border-radius:22px;
  }
  body.site-v3:not(.home-v2) .hero-card{
    width:calc(100% - 20px);
    padding:25px 18px;
    border-radius:18px;
  }
  body.site-v3:not(.home-v2) .hero-card h1{
    font-size:clamp(34px,10.5vw,46px);
    line-height:1.04;
  }
  body.site-v3:not(.home-v2) .hero-card p{
    margin:14px auto 0;
  }

  /* Cards */
  body.site-v3 .product-panel,
  body.site-v3 .feature,
  body.site-v3 .contact-card,
  body.site-v3 .frame,
  body.site-v3 .future-card{
    border-radius:20px;
  }
  body.site-v3 .product-panel:hover{
    transform:none;
  }
  body.site-v3 .product-panel .body{
    padding:20px 18px 22px;
  }
  body.site-v3 .feature{
    padding:20px;
  }
  body.site-v3 .feature h3{
    margin:12px 0 7px;
  }
  body.site-v3 .feature-grid{
    gap:14px;
  }

  /* Product/specification readability */
  body.site-v3 .specs{
    margin-top:16px;
  }
  body.site-v3 .spec{
    padding:11px 0;
  }
  body.site-v3 .spec label{
    font-size:10px;
  }
  body.site-v3 .spec span{
    font-size:13px;
  }
  .solution-chips{
    margin:16px 0 20px;
    gap:7px;
  }
  .solution-chips span{
    font-size:11px;
    padding:8px 11px;
  }

  /* Split layouts and imagery */
  body.site-v3 .split{
    gap:24px;
  }
  body.site-v3 .split img{
    height:auto;
    aspect-ratio:16 / 10;
    border-radius:20px;
  }

  /* Forms: 16px prevents iOS input zoom */
  body.site-v3 .contact-card{
    padding:22px 18px;
  }
  body.site-v3 .contact-card h2{
    font-size:28px !important;
    line-height:1.08;
  }
  body.site-v3 .form-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.site-v3 .field.full{
    grid-column:auto;
  }
  body.site-v3 .field input,
  body.site-v3 .field select,
  body.site-v3 .field textarea{
    min-height:48px;
    padding:13px 14px;
    font-size:16px;
    border-radius:13px;
  }
  body.site-v3 .field textarea{
    min-height:135px;
  }
  body.site-v3 .contact-item{
    padding:15px 0;
  }
  body.site-v3 .map{
    height:320px;
    border-radius:20px;
  }

  /* CTA */
  body.site-v3 .cta{
    padding:24px 0 62px;
  }
  body.site-v3 .cta > .container{
    width:calc(100% - 20px);
    padding:30px 20px;
    border-radius:22px;
  }
  body.site-v3 .cta .btn{
    width:100%;
  }

  /* Footer: compact two-column link layout */
  body.site-v3 .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
    padding:42px 0 30px;
  }
  body.site-v3 .footer-grid > div:first-child,
  body.site-v3 .footer-grid > div:last-child{
    grid-column:1 / -1;
  }
  body.site-v3 .footer-logo{
    height:48px;
    margin-bottom:12px;
  }
  body.site-v3 .footer h4{
    margin-bottom:12px;
  }
  body.site-v3 .footer a{
    margin:8px 0;
    line-height:1.4;
  }
  body.site-v3 .copyright{
    padding:17px 0 22px;
  }

  /* ================= Homepage ================= */
  body.home-v2 .section{
    padding:50px 0;
  }
  body.home-v2 h1{
    font-size:clamp(38px,10.8vw,50px) !important;
    line-height:1.02;
  }
  body.home-v2 h2{
    font-size:clamp(30px,8.5vw,40px);
    line-height:1.07;
  }
  body.home-v2 h3{
    font-size:23px;
  }

  .home-hero{
    min-height:auto !important;
    padding:94px 0 38px !important;
  }
  .home-hero-grid{
    gap:26px !important;
  }
  .home-hero-copy{
    padding:10px 0 0;
  }
  .home-hero-copy .lead{
    font-size:16px !important;
    line-height:1.65;
    margin:20px auto 24px;
  }
  .home-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin-bottom:22px;
  }
  .home-hero-actions .btn{
    width:100%;
  }
  .home-tags{
    justify-content:center;
    gap:7px;
  }
  .home-tags span{
    font-size:10px !important;
    padding:7px 9px !important;
  }

  .home-visual-shell{
    padding:6px;
    border-radius:22px;
  }
  .home-visual-shell img{
    width:100%;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3;
    border-radius:17px;
  }
  .home-visual-shell:after{
    display:none;
  }
  .home-visual-note{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    max-width:none !important;
    margin:7px 0 0;
    padding:14px 12px;
    border-radius:15px;
    box-shadow:none;
    background:rgba(250,249,246,.78);
  }
  .home-visual-note strong{
    font-size:13px;
  }
  .home-visual-note span{
    font-size:12px;
  }

  .home-intro-grid{
    gap:26px !important;
  }
  .home-soft-image{
    border-radius:20px;
  }
  .home-soft-image img{
    height:auto !important;
    aspect-ratio:4 / 3;
    border-radius:20px;
  }
  .home-intro-copy .lead{
    font-size:16px;
    margin:18px 0 12px;
  }

  .home-section-head{
    gap:10px !important;
    margin-bottom:24px;
  }
  .home-section-head p{
    font-size:15px;
    line-height:1.65;
  }

  body.home-v2 #products .home-product-grid{
    gap:14px !important;
  }
  body.home-v2 #products .home-product-card{
    border-radius:20px;
    padding:7px;
  }
  body.home-v2 #products .home-product-image{
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    border-radius:15px;
  }
  .home-product-badge{
    top:10px;
    left:10px;
    max-width:calc(100% - 20px);
    font-size:9px;
    padding:6px 8px;
  }
  .home-product-body{
    padding:18px 14px 17px;
  }
  .home-product-body p{
    margin:8px 0 15px;
    font-size:14px;
  }
  .home-product-meta{
    gap:12px;
  }
  .home-inline-link{
    margin-top:13px;
  }

  .home-cta{
    padding:20px 0 68px;
  }
  .home-cta-panel{
    padding:30px 20px !important;
    gap:24px;
    border-radius:22px;
  }
  .home-cta-copy p{
    font-size:15px;
    line-height:1.65;
  }
  .home-cta-panel .btn{
    width:100%;
  }
}

@media (max-width: 390px){
  body.site-v3 .container{width:calc(100% - 22px)}
  body.site-v3:not(.home-v2) .hero.small{width:calc(100% - 12px)}
  body.site-v3:not(.home-v2) .hero-card{width:calc(100% - 14px);padding:22px 15px}
  body.site-v3:not(.home-v2) .hero-card h1{font-size:33px}
  body.site-v3 .footer-grid{gap:24px 14px}
  body.site-v3 .footer a{font-size:12px}
  body.home-v2 h1{font-size:37px !important}
}

/* Accessibility / less animation on devices that request it */
@media (prefers-reduced-motion: reduce){
  .reveal,
  body.site-v3 .product-panel,
  .home-product-card,
  .home-product-image img,
  body.site-v3 .btn{
    transition:none !important;
  }
}
