/* Modelein3D — main stylesheet (extracted 1:1 from the original page, original order preserved) */
/* ==== block ==== */
  :root{
    --paper:#EEF1F1;
    --paper-2:#E2E6E7;
    --paper-3:#D8DDDE;
    --ink:#14171A;
    --ink-soft:#4B5157;
    --ink-faint:#767C82;
    --line:rgba(20,23,26,.14);
    --accent:#FF4300;
    --accent-ink:#FF4300;
    --accent-2:#2E6EA6;
    --on-dark:#F3F1EA;
    --on-dark-soft:#B9BEC2;
    --card:#FBFBF9;
    --shadow: 0 20px 50px -25px rgba(20,20,20,.35);
    --radius: 2px;
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#15171A;
      --paper-2:#1C1F22;
      --paper-3:#25282C;
      --ink:#F1F0EA;
      --ink-soft:#C2C6C9;
      --ink-faint:#8C9195;
      --line:rgba(255,255,255,.14);
      --accent:#FF4300;
      --accent-ink:#FF4300;
      --accent-2:#5FA1DE;
      --card:#1C1F22;
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --paper:#15171A; --paper-2:#1C1F22; --paper-3:#25282C;
    --ink:#F1F0EA; --ink-soft:#C2C6C9; --ink-faint:#8C9195;
    --line:rgba(255,255,255,.14); --accent:#FF4300; --accent-ink:#FF4300; --accent-2:#5FA1DE;
    --card:#1C1F22; color-scheme: dark;
  }


  *{box-sizing:border-box;}
  html{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;}
  body{
    width:100%;max-width:100%;
    margin:0;background:var(--paper);color:var(--ink);
    font-family:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;
  }
  h1,h2,h3,h4{font-family:"Archivo","Segoe UI",sans-serif;font-weight:800;letter-spacing:-0.01em;margin:0;text-wrap:balance;color:var(--ink);}
  p{margin:0;}
  a{color:inherit;}
  img{display:block;max-width:100%;height:auto;}
  section{position:relative;}
  section[id]{scroll-margin-top:76px;}
  .wrap{max-width:1560px;margin:0 auto;padding-inline:clamp(20px,4vw,64px);}
  .eyebrow{
    display:inline-flex;align-items:center;gap:.5em;
    font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:.78rem;
    letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);
  }
  :root[data-theme="dark"] .eyebrow, .on-dark .eyebrow{color:var(--accent);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .eyebrow{color:var(--accent);}}
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--accent);display:inline-block;flex-shrink:0;}
  .shead-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:.6em;}
  .shead-row .eyebrow{margin-bottom:0;}
  .fresh-badge{
    display:inline-flex;align-items:center;gap:.5em;
    padding:.5em 1.1em;border-radius:999px;
    background:var(--accent);color:#fff;
    font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:.76rem;
    letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
    box-shadow:0 8px 20px -8px rgba(255,67,0,.6);
    animation:freshPulse 2.4s ease-in-out infinite;
    transition:transform .2s ease, background .2s ease;
  }
  .fresh-badge:hover{background:var(--accent-ink);transform:translateY(-2px);}
  @keyframes freshPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,67,0,.45);}50%{box-shadow:0 0 0 7px rgba(255,67,0,0);}}
  .btn{
    display:inline-flex;align-items:center;gap:.55em;padding:.9em 1.5em;border-radius:999px;
    font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:.96rem;text-decoration:none;
    border:1px solid transparent;cursor:pointer;
    transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-solid{background:var(--accent);color:#fff;}
  .btn-solid:hover{background:var(--accent-ink);}
  .btn-line{border-color:currentColor;color:var(--ink);}
  .on-dark .btn-line{color:var(--on-dark);}
  .btn-line:hover{background:rgba(127,127,127,.12);}


  [data-reveal]{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
  @media (prefers-reduced-motion: no-preference){
    [data-reveal]{opacity:0;transform:translateY(28px);}
    [data-reveal].is-visible{opacity:1;transform:none;}
    [data-reveal-delay="1"]{transition-delay:.08s;}
    [data-reveal-delay="2"]{transition-delay:.16s;}
    [data-reveal-delay="3"]{transition-delay:.24s;}
  }


  /* ---------- header ---------- */
  .nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;padding-block:14px;
    transition:background .3s ease, padding .3s ease, border-color .3s ease;border-bottom:1px solid transparent;}
  .nav.scrolled{background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-block:9px;border-color:var(--line);}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .logo{display:flex;align-items:center;gap:.55em;text-decoration:none;color:var(--ink);flex-shrink:0;}
  .logo svg{width:38px;height:26px;display:block;}
  .logo .wordmark{font-family:"Baloo 2","Archivo",sans-serif;font-weight:700;font-size:1.26rem;letter-spacing:-0.01em;color:var(--ink);}
  .logo .dot{color:var(--accent);}
  .navlinks{display:flex;align-items:center;gap:clamp(10px,1.3vw,19px);list-style:none;margin:0;padding:0;font-size:.87rem;font-weight:500;}
  .navlinks a{text-decoration:none;color:var(--ink-soft);transition:color .2s ease;}
  .navlinks a:hover{color:var(--ink);}
  .navlinks a.is-active{color:var(--accent)!important;}
  .langsw-mobile-wrap{display:none;}
  .navcta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .navcta .btn{padding:.66em 1.2em;font-size:.86rem;}
  .langsw{display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;flex-shrink:0;}
  .langsw button{
    border:none;background:transparent;color:var(--ink-faint);font-family:"IBM Plex Sans",sans-serif;
    font-weight:700;font-size:.72rem;letter-spacing:.04em;padding:.4em .65em;border-radius:999px;cursor:pointer;
    transition:background .2s ease, color .2s ease;
  }
  .langsw button.active{background:var(--ink);color:var(--paper);}
  .on-dark .langsw{border-color:rgba(255,255,255,.25);}
  .on-dark .langsw button{color:var(--on-dark-soft);}
  .on-dark .langsw button.active{background:var(--on-dark);color:var(--ink);}
  .burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;position:relative;z-index:70;}
  .burger span, .burger span::before, .burger span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;transition:transform .25s ease, opacity .25s ease;}
  .burger span::before{position:absolute;top:-6px;}
  .burger span::after{position:absolute;top:6px;}
  .nav-backdrop{display:none;}
  .nav-close{display:none;}
  .mobile-phone{display:none;}


  @media (max-width:940px){
    .navlinks{
      position:fixed;top:0;right:0;width:min(78vw,320px);height:100dvh;background:var(--paper);
      flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;
      padding:96px 28px 28px;
      transform:translate3d(100%,0,0);visibility:hidden;pointer-events:none;
      transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s;
      box-shadow:var(--shadow);z-index:55;
    }
    .navlinks.open{
      transform:translate3d(0,0,0);visibility:visible;pointer-events:auto;
      transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s;
    }
    .navlinks{gap:0;}
    .navlinks>li:not(.mobile-phone):not(.langsw-mobile-wrap){width:100%;}
    .navlinks>li:not(.mobile-phone):not(.langsw-mobile-wrap)>a{
      display:flex;align-items:center;width:100%;padding:10px 0;font-size:1rem;
      border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
    }
    .navlinks>li:first-of-type>a{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);}
    .navcta{display:none;}
    .mobile-phone{
      display:block;width:100%;margin-top:18px;padding:18px 0 20px;
      border-top:0;border-bottom:1px solid var(--line);
    }
    .mobile-phone-label{
      display:flex;align-items:center;gap:9px;margin-bottom:8px;
      font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);
    }
    .mobile-phone-label::before{content:"☎";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--accent);font-size:.9rem;line-height:1;flex:0 0 auto;}
    .mobile-phone a{
      display:inline-flex!important;align-items:center;width:auto!important;padding:0!important;border:0!important;
      font-family:"Archivo",sans-serif;font-size:1.08rem!important;font-weight:700;color:var(--ink)!important;text-decoration:none;
    }
    .langsw-mobile-wrap{display:block;width:100%;margin-top:16px;padding-top:0;border-top:0;}
    .langsw-mobile{display:inline-flex;}
    .burger{display:flex;}
    .nav-close{display:flex;position:absolute;top:78px;right:18px;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;z-index:2;}
    .nav-close:hover{background:var(--paper-2);}
    .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(15,17,20,.48);z-index:80;opacity:0;pointer-events:none;transition:opacity .3s ease;}
    .nav-backdrop.open{opacity:1;pointer-events:auto;}
    .burger.open span{background:transparent;}
    .burger.open span::before{transform:rotate(45deg);top:0;}
    .burger.open span::after{transform:rotate(-45deg);top:0;}
  }




  @media (max-width:940px){
    html,body{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;}
    body{padding-top:69px;}
    .nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:90;background:var(--paper);border-bottom:1px solid var(--line);}
    .nav .wrap{position:relative;z-index:95;}
    .navlinks{top:0;padding-top:126px;z-index:100;}
    .nav-backdrop{z-index:80;}
  }


  /* ---------- hero (custom illustration) ---------- */
  .hero{min-height:min(860px,100svh);display:flex;align-items:flex-end;color:var(--on-dark);overflow:hidden;isolation:isolate;background:#0E1013;}
  .hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(120% 100% at 78% 18%, #1B2530 0%, #0E1013 58%, #0A0B0D 100%);}
  .hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.85;mix-blend-mode:screen;}
  @media (prefers-reduced-motion: no-preference){
    .hero-orb{animation:float 9s ease-in-out infinite;}
  }
  @keyframes float{0%,100%{transform:translateY(0px) scale(1);}50%{transform:translateY(-16px) scale(1.04);}}
  .hero-bg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(8,10,12,.78) 0%,rgba(8,10,12,.52) 34%,rgba(8,10,12,.16) 68%,rgba(8,10,12,.08) 100%);pointer-events:none;}
  .hero-rig{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;}
  .hero-inner{padding-block:min(13vh,130px) 60px;width:100%;}
  .hero-eyebrow{color:var(--accent);}
  .hero h1{font-size:clamp(32px,5.2vw,46px);line-height:1.04;margin-block:.4em .5em;max-width:17ch;color:#fff;}
  .hero p.lead{max-width:52ch;font-size:clamp(1rem,1.6vw,1.16rem);color:var(--on-dark-soft);margin-bottom:2em;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft);z-index:3;}
  .scrollcue .dot{width:1px;height:34px;background:linear-gradient(var(--on-dark-soft),transparent);animation:scrollpulse 1.8s ease-in-out infinite;}
  @keyframes scrollpulse{0%,100%{opacity:.3;}50%{opacity:1;}}
  @media (max-width:640px){.scrollcue{display:none;}}
  @media (max-width:480px){.hero-eyebrow{font-size:.68rem;letter-spacing:.08em;} .hero-eyebrow::before{width:14px;}}


  /* ---------- featured recent project ---------- */
  .latestsec{
    background:linear-gradient(180deg,#F7F4EE 0%,#F2EEE7 100%);
    color:#16191D;
    border-top:1px solid #E1DBD0;
    border-bottom:1px solid #D9D2C6;
  }
  .latest-wrap{padding-block:clamp(34px,5vw,58px);}
  .latest-shell{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
    gap:clamp(22px,3vw,38px);
    align-items:stretch;
  }
  .latest-main,
  .latest-aside{
    background:#F9FAFA;
    border:1px solid #DED7CB;
    box-shadow:0 18px 44px -32px rgba(22,25,29,.28);
  }
  .latest-main{
    display:grid;
    grid-template-columns:minmax(250px,320px) minmax(0,1fr);
    gap:clamp(20px,2.4vw,30px);
    padding:clamp(18px,2.4vw,24px);
  }
  .latest-media{
    position:relative;
    overflow:hidden;
    min-height:220px;
    background:#fff;
    border:1px solid #E1DBD1;
  }
  .latest-media img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;}
  .latest-media::after{
    content:"33°";position:absolute;right:14px;bottom:14px;
    display:flex;align-items:center;justify-content:center;
    min-width:52px;height:32px;padding:0 12px;
    background:#fff;color:#16191D;border:1px solid #D8D2C7;
    font-family:"Archivo",sans-serif;font-size:.8rem;font-weight:700;
    box-shadow:0 10px 20px -14px rgba(0,0,0,.35);
  }
  .latest-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;}
  .latest-tag{
    display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
    color:var(--accent);font-family:"IBM Plex Sans",sans-serif;
    font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
    margin-bottom:12px;
  }
  .latest-tag::before{
    content:"";width:8px;height:8px;border-radius:50%;
    background:var(--accent);box-shadow:0 0 0 5px rgba(255,67,0,.1);
  }
  .latest-copy h3{
    color:#16191D;font-size:clamp(1.55rem,2.45vw,2.2rem);
    line-height:1.05;margin-bottom:.48em;max-width:19ch;
  }
  .latest-copy p{
    color:#58606A;font-size:1rem;line-height:1.68;max-width:52ch;margin:0;
  }
  .latest-aside{
    padding:clamp(22px,2.8vw,28px);
    display:flex;flex-direction:column;justify-content:space-between;gap:18px;
  }
  .latest-aside-label{
    display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
    color:#16191D;font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  }
  .latest-aside-label::before{
    content:"";width:22px;height:2px;background:var(--accent);display:block;
  }
  .latest-aside-text{
    color:#5A6370;font-size:.95rem;line-height:1.7;max-width:34ch;margin:0;
  }
  .latest-details{display:flex;flex-wrap:wrap;gap:8px;}
  .latest-detail{
    display:inline-flex;align-items:center;gap:7px;
    min-height:36px;padding:7px 11px;
    background:#F1EEE7;border:1px solid #D9D2C6;color:#353A40;
    font-size:.79rem;font-weight:600;
  }
  .latest-detail svg{width:15px;height:15px;color:var(--accent);flex:0 0 auto;}
  .latest-cta{display:flex;align-items:center;justify-content:flex-start;padding-top:4px;}
  .latest-cta .btn{min-width:220px;justify-content:center;box-shadow:0 12px 28px -18px rgba(255,67,0,.75);}
  @media (max-width:980px){
    .latest-shell{grid-template-columns:1fr;}
    .latest-main{grid-template-columns:220px 1fr;}
    .latest-aside-text{max-width:none;}
  }
  @media (max-width:640px){
    .latest-wrap{padding-block:24px 30px;}
    .latest-main{grid-template-columns:1fr;gap:16px;padding:16px;}
    .latest-media{min-height:200px;}
    .latest-media img{min-height:200px;}
    .latest-copy h3{font-size:1.38rem;max-width:none;}
    .latest-copy p,.latest-aside-text{font-size:.92rem;line-height:1.6;}
    .latest-aside{padding:18px;}
    .latest-cta,.latest-cta .btn{width:100%;}
    .latest-cta .btn{min-width:0;}
  }


  /* ---------- intro strip ---------- */
  .intro{
    padding-block:clamp(44px,7vw,84px);
    background:#0F1217;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);}
  @media (max-width:820px){.intro-grid{grid-template-columns:1fr;gap:18px;}}
  .intro-card{
    position:relative;
    min-height:100%;
    padding:26px 24px 24px;
    border:1px solid rgba(255,255,255,.1);
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
    box-shadow:0 20px 40px -34px rgba(0,0,0,.65);
  }
  .intro-card::before{
    content:"";
    position:absolute;left:0;top:0;width:100%;height:2px;
    background:linear-gradient(90deg,var(--accent),transparent 70%);
  }
  .intro-card .num{display:none;}
  .intro-card h3{font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:400;line-height:1.16;letter-spacing:-.02em;color:#fff;margin:0 0 .75em;max-width:15ch;}
  .intro-card .intro-icon{
    width:46px;height:46px;margin-bottom:16px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.12);color:var(--accent);
    background:rgba(255,255,255,.03);
  }
  .intro-card .intro-icon svg{width:22px;height:22px;display:block;}
  .intro-card p{color:#B7C0CC;font-size:.95rem;line-height:1.68;max-width:34ch;margin:0;}


  /* ---------- section heading ---------- */
  .shead{padding-block:clamp(56px,8vw,88px) clamp(28px,4vw,40px);}
  .shead h2{font-size:clamp(30.4px,4vw,46px);line-height:1.08;margin-block:.35em .5em;max-width:16ch;}
  .shead .lead{color:var(--ink-soft);max-width:58ch;font-size:1.05rem;}
  .on-dark .shead .lead{color:var(--on-dark-soft);}


  /* ---------- process ---------- */
  .process{
    background:linear-gradient(180deg,#F7F4EE 0%,#F3F0E9 100%);
    color:#14171A;
    overflow:hidden;
    border-bottom:1px solid #DDD7CB;
  }
  .process .eyebrow{color:var(--accent);font-size:.72rem;font-weight:400;letter-spacing:.14em;}
  .process-layout{
    display:grid;
    grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
    gap:clamp(38px,5vw,70px);
    align-items:center;
    min-height:clamp(560px,70vh,760px);
    padding-block:clamp(64px,8vw,92px);
  }
  .process-copy{padding:0;max-width:none;width:100%;}
  .process-copy h2{
    color:#14171A!important;
    font-family:"Nunito Sans","IBM Plex Sans",sans-serif!important;
    font-size:clamp(30.4px,2.8vw,46px)!important;
    line-height:1.08!important;
    font-weight:400!important;
    letter-spacing:-.04em!important;
    max-width:13ch;
    margin:.35em 0 0;
  }
  .process-subtitle{
    max-width:50ch;
    margin-top:22px;
    color:#546170;
    font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
    font-size:clamp(1rem,1.08vw,1.08rem);
    line-height:1.72;
    font-weight:400;
  }
  .process-showcase{
    position:relative;
    min-width:0;
    width:100%;
    max-width:none;
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    touch-action:pan-y;
  }
  .process-showcase::before{
    content:"";
    position:absolute;
    inset:6% 4% 14%;
    background:radial-gradient(circle at center,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.16) 72%,rgba(255,255,255,0) 100%);
    pointer-events:none;
  }
  .process-slides{
    position:relative;
    width:100%;
    height:clamp(540px,56vw,740px);
    max-height:740px;
    margin:0;
    padding:0;
    box-sizing:border-box;
    z-index:1;
  }
  .process-slide{
    position:absolute;
    top:18px;
    left:24px;
    right:24px;
    bottom:118px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transform:translateX(42px) scale(.975);
    transition:opacity .5s ease,transform .55s cubic-bezier(.22,.61,.36,1);
    pointer-events:none;
    margin:0;
    padding:0;
  }
  .process-slide.is-active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;}
  .process-slide img{
    display:block;
    width:auto;
    height:auto;
    max-width:92%;
    max-height:96%;
    object-fit:contain;
    object-position:center;
    margin:auto;
    padding:0;
    filter:drop-shadow(0 26px 34px rgba(16,27,49,.13));
    user-select:none;
    -webkit-user-drag:none;
    pointer-events:none;
  }
  .process-slider-controls{
    position:absolute;
    left:0;
    right:0;
    bottom:24px;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-height:48px;
    pointer-events:auto;
  }
  .process-slider-arrow{
    width:42px;height:42px;
    border:1px solid rgba(16,27,49,.16);
    background:rgba(255,255,255,.92);
    color:#14171A;
    display:grid;
    place-items:center;
    border-radius:50%;
    cursor:pointer;
    transition:transform .2s ease,background .2s ease,border-color .2s ease;
    backdrop-filter:blur(8px);
  }
  .process-slider-arrow:hover{transform:translateY(-2px);background:#fff;border-color:rgba(16,27,49,.28);}
  .process-slider-arrow svg{width:18px;height:18px;display:block;}
  .process-slider-dots{display:flex;gap:8px;align-items:center;}
  .process-slider-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#B7C0CC;cursor:pointer;transition:width .2s ease,border-radius .2s ease,background .2s ease;}
  .process-slider-dot.is-active{width:26px;border-radius:999px;background:var(--accent);}
  @media (max-width:1100px){
    .process-layout{grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);gap:36px;}
    .process-showcase{min-height:520px;}
    .process-slides{height:610px;}
    .process-slide{top:16px;left:18px;right:18px;bottom:112px;}
  }
  @media (max-width:860px){
    .process-layout{grid-template-columns:1fr;gap:24px;min-height:0;padding-block:54px 68px;}
    .process-copy h2{max-width:none;font-size:clamp(1.75rem,6.6vw,2.65rem)!important;}
    .process-subtitle{max-width:58ch;}
    .process-showcase{min-height:470px;margin-top:6px;}
    .process-slides{height:min(132vw,660px);padding:0;}
    .process-slide{top:12px;left:10px;right:10px;bottom:104px;}
    .process-slide img{max-width:94%;max-height:94%;}
    .process-slider-controls{bottom:20px;}
  }
  @media (max-width:560px){
    .process-showcase{min-height:410px;}
    .process-slides{height:128vw;max-height:560px;}
    .process-slide{top:8px;left:8px;right:8px;bottom:96px;}
    .process-slider-controls{bottom:18px;gap:12px;}
    .process-slider-arrow{width:38px;height:38px;}
    .process-slide img{max-width:94%;max-height:94%;}
  }


  /* ---------- before print / engineering ---------- */
  .beforeprint{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(900px 520px at 88% 18%, rgba(69,108,255,.12), transparent 60%),
      radial-gradient(700px 420px at 8% 90%, rgba(255,67,0,.11), transparent 58%),
      #111419;
    color:#fff;
    padding-block:clamp(66px,8vw,104px);
  }
  .beforeprint::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
    background:linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.035) 49%,transparent 50% 100%);
  }
  .beforeprint-layout{
    position:relative;z-index:1;
    display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    gap:clamp(42px,6vw,84px);align-items:center;
  }
  .beforeprint-copy{max-width:620px;}
  .beforeprint .eyebrow{color:var(--accent);}
  .beforeprint h2{
    color:#fff;font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
    font-size:clamp(32px,3.8vw,46px);line-height:1.05;
    font-weight:400;letter-spacing:-.035em;margin:.35em 0 .55em;max-width:12ch;
  }
  .beforeprint-intro{
    color:#B8C1CC;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.72;
    max-width:50ch;margin:0 0 28px;
  }
  .beforeprint-points{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.11);}
  .beforeprint-point{
    display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;
    padding:18px 0;border-bottom:1px solid rgba(255,255,255,.11);
  }
  .beforeprint-point .mark{
    width:30px;height:30px;border:1px solid rgba(255,255,255,.15);
    display:grid;place-items:center;color:var(--accent);font-size:.78rem;font-weight:700;
  }
  .beforeprint-point strong{display:block;color:#fff;font-size:1rem;font-weight:600;margin-bottom:4px;}
  .beforeprint-point span:last-child{display:block;color:#AEB8C4;font-size:.9rem;line-height:1.55;}


  .beforeprint-visual{position:relative;min-height:560px;}
  .beforeprint-shot{
    position:absolute;overflow:hidden;background:#262B34;
    border:1px solid rgba(255,255,255,.11);
    box-shadow:0 28px 60px -38px rgba(0,0,0,.8);
  }
  .beforeprint-shot img{width:100%;height:100%;display:block;object-fit:cover;}
  .beforeprint-shot.main{left:0;top:0;width:76%;height:68%;z-index:1;}
  .beforeprint-shot.detail{right:0;bottom:0;width:68%;height:58%;z-index:2;}
  .beforeprint-shot.main::after,
  .beforeprint-shot.detail::after{
    position:absolute;left:14px;bottom:14px;padding:7px 10px;
    background:rgba(15,18,23,.84);border:1px solid rgba(255,255,255,.12);
    color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
    backdrop-filter:blur(8px);
  }
  .beforeprint-shot.main::after{content:"3D model";}
  .beforeprint-shot.detail::after{content:"Fit check";}
  .beforeprint-accent{
    position:absolute;right:12%;top:34%;width:110px;height:110px;z-index:3;
    border-top:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none;
  }
  @media (max-width:900px){
    .beforeprint-layout{grid-template-columns:1fr;gap:36px;}
    .beforeprint h2{max-width:15ch;}
    .beforeprint-visual{min-height:500px;max-width:720px;width:100%;}
  }
  @media (max-width:640px){
    .beforeprint{padding-block:52px 64px;}
    .beforeprint h2{font-size:clamp(1.9rem,9vw,2.7rem);max-width:none;}
    .beforeprint-intro{font-size:.95rem;}
    .beforeprint-visual{min-height:390px;}
    .beforeprint-shot.main{width:82%;height:64%;}
    .beforeprint-shot.detail{width:72%;height:54%;}
    .beforeprint-accent{width:72px;height:72px;right:8%;top:38%;}
  }


  /* ---------- full car modeling ---------- */
  .carmodel{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(69,108,255,.045) 1px,transparent 1px),linear-gradient(rgba(69,108,255,.045) 1px,transparent 1px),radial-gradient(900px 520px at 82% 50%,rgba(69,108,255,.12),transparent 62%),#F4F7FA;background-size:48px 48px,48px 48px,auto,auto;color:#111927;padding-block:clamp(68px,8vw,108px);border-top:1px solid #DCE3EA;border-bottom:1px solid #DCE3EA;}
  .carmodel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#F4F7FA 0%,rgba(244,247,250,.94) 38%,rgba(244,247,250,.22) 72%,rgba(244,247,250,.06) 100%);}
  .carmodel-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(38px,5vw,72px);align-items:center;}
  .carmodel-copy{max-width:620px;}.carmodel .eyebrow{color:var(--accent);}
  .carmodel h2{font-family:"Nunito Sans","IBM Plex Sans",sans-serif;font-size:clamp(32px,3.55vw,46px);line-height:1.05;font-weight:400;letter-spacing:-.038em;color:#111927;margin:.35em 0 .55em;max-width:13ch;}
  .carmodel-lead{color:#4E5B6B;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.72;max-width:52ch;margin:0 0 28px;}
  .carmodel-note{margin:0 0 26px;padding:16px 18px;border-left:3px solid var(--accent);background:rgba(255,255,255,.78);color:#526071;font-size:.92rem;line-height:1.6;box-shadow:0 16px 38px -34px rgba(17,25,39,.3);}
  .carmodel-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .carmodel-point{min-height:110px;padding:16px 14px;background:rgba(255,255,255,.8);border:1px solid #DCE3EA;}
  .carmodel-point strong{display:block;color:#111927;font-size:.92rem;font-weight:600;line-height:1.3;margin-bottom:6px;}.carmodel-point span{display:block;color:#657284;font-size:.8rem;line-height:1.45;}
  .carmodel-video-wrap{position:relative;min-width:0;}.carmodel-video-frame{position:relative;overflow:hidden;background:#0F1319;border:1px solid #CCD6E0;box-shadow:0 34px 70px -44px rgba(17,25,39,.55);}
  .carmodel-video-frame::before{content:"";position:absolute;left:-14px;top:-14px;width:100px;height:100px;z-index:2;pointer-events:none;border-left:2px solid var(--accent);border-top:2px solid var(--accent);}
  .carmodel-video-frame video{display:block;width:100%;height:auto;aspect-ratio:1564/868;object-fit:cover;background:#0F1319;}
  .carmodel-video-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px 0;color:#697587;font-size:.78rem;line-height:1.4;}.carmodel-video-meta strong{color:#111927;font-weight:600;}
  @media (max-width:980px){.carmodel-layout{grid-template-columns:1fr;gap:36px;}.carmodel h2{max-width:16ch;}.carmodel-video-wrap{max-width:900px;width:100%;}}
  @media (max-width:680px){.carmodel{padding-block:54px 66px;background-size:32px 32px,32px 32px,auto,auto;}.carmodel h2{font-size:clamp(1.95rem,9vw,2.8rem);max-width:none;}.carmodel-lead{font-size:.95rem;}.carmodel-points{grid-template-columns:1fr;}.carmodel-point{min-height:0;}.carmodel-video-meta{align-items:flex-start;flex-direction:column;gap:4px;}}


  /* ---------- texture ---------- */
  .texturesec{
    padding-block:clamp(64px,8vw,104px);
    background:#EEF1F1;
    border-top:1px solid rgba(20,23,26,.07);
    border-bottom:1px solid rgba(20,23,26,.07);
    overflow:hidden;
  }
  .texture-layout{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:clamp(34px,6vw,88px);
    align-items:center;
  }
  .texture-copy{max-width:620px;}
  .texture-copy .eyebrow{margin-bottom:18px;}
  .texture-copy h2{
    margin:0;
    max-width:10.5ch;
    font-size:clamp(32px,5vw,46px);
    line-height:.94;
    letter-spacing:-.055em;
    color:#121820;
  }
  .texture-copy .lead{
    margin:clamp(22px,3vw,32px) 0 0;
    max-width:58ch;
    color:#5f6873;
    font-size:clamp(.96rem,1.15vw,1.08rem);
    line-height:1.72;
  }
  .texture-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:clamp(30px,4vw,46px);
    border-top:1px solid rgba(18,24,32,.14);
  }
  .texture-fact{
    padding:20px 18px 0 0;
    min-width:0;
  }
  .texture-fact + .texture-fact{
    border-left:1px solid rgba(18,24,32,.12);
    padding-left:18px;
  }
  .texture-fact strong{
    display:block;
    margin-bottom:7px;
    color:#171d25;
    font-size:.84rem;
    line-height:1.25;
    letter-spacing:.01em;
  }
  .texture-fact span{
    display:block;
    color:#737b85;
    font-size:.77rem;
    line-height:1.5;
  }
  .texture-visual{
    position:relative;
    min-height:clamp(470px,50vw,650px);
  }
  .texture-shot{
    position:absolute;
    overflow:hidden;
    background:#d9dddf;
    box-shadow:0 26px 60px -38px rgba(15,22,29,.32);
  }
  .texture-shot img{width:100%;height:100%;object-fit:cover;display:block;}
  .texture-shot--main{
    inset:0 13% 7% 0;
    border-radius:2px;
  }
  .texture-shot--detail{
    width:42%;
    height:47%;
    right:0;
    bottom:0;
    border:10px solid #EEF1F1;
    border-right:0;
    border-bottom:0;
  }
  .texture-caption{
    position:absolute;
    left:18px;
    bottom:16px;
    max-width:calc(100% - 36px);
    padding:8px 10px;
    background:rgba(12,16,20,.82);
    color:#fff;
    font-size:.7rem;
    line-height:1.4;
    backdrop-filter:blur(8px);
  }
  @media (max-width:900px){
    .texture-layout{grid-template-columns:1fr;gap:38px;}
    .texture-copy{max-width:760px;}
    .texture-copy h2{max-width:12ch;}
    .texture-visual{min-height:clamp(420px,76vw,620px);}
  }
  @media (max-width:620px){
    .texturesec{padding-block:54px 64px;}
    .texture-copy h2{max-width:none;font-size:clamp(32px,11vw,46px);}
    .texture-facts{grid-template-columns:1fr;}
    .texture-fact{padding:16px 0;}
    .texture-fact + .texture-fact{border-left:0;border-top:1px solid rgba(18,24,32,.10);padding-left:0;}
    .texture-visual{min-height:430px;}
    .texture-shot--main{inset:0 8% 14% 0;}
    .texture-shot--detail{width:52%;height:42%;border-width:7px;}
    .texture-caption{font-size:.66rem;}
  }


  /* ---------- packaging ---------- */
  .packsec{padding-block:clamp(48px,7vw,80px);}
  .pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);}
  @media (max-width:980px){.pack-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.pack-grid{grid-template-columns:1fr;}}
  .pack-grid .gallery-item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);cursor:zoom-in;background:var(--card);}
  .pack-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
  .pack-grid .cap{padding:14px 16px 18px;font-size:.92rem;color:var(--ink-soft);}


  /* ---------- showcase carousel ---------- */
  .showcase{padding-block:clamp(48px,7vw,80px);background:var(--paper);}
  .showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
  .showcase-nav{display:flex;gap:10px;flex-shrink:0;}
  .showcase-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s;}
  .showcase-nav button:hover{border-color:var(--accent);color:var(--accent-ink);}
  .showcase-nav button:disabled{opacity:.28;cursor:default;pointer-events:none;}
  .showcase-nav svg{width:18px;height:18px;}
  .showcase-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .showcase-track::-webkit-scrollbar{display:none;}
  .showcase-card{scroll-snap-align:start;flex:0 0 auto;width:min(74vw,280px);border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line);cursor:zoom-in;}
  .showcase-card .fr{aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);display:flex;align-items:center;justify-content:center;}
  .showcase-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .showcase-card:hover img{transform:scale(1.045);}
  .showcase-card p{padding:12px 15px 16px;font-size:.86rem;color:var(--ink-soft);}
  .showcase-dots{display:flex;justify-content:center;margin-top:6px;}
  .showcase-dots span{width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;}
  .showcase-dots span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s,transform .2s;}
  .showcase-dots span.active::before{background:var(--accent);transform:scale(1.35);}


  /* ---------- category catalog ---------- */
  .catsec{padding-block:clamp(48px,7vw,80px);background:var(--paper-2);}
  .cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2vw,24px);}
  .cat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;}
  .cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .cat-mosaic{display:flex;gap:2px;background:var(--line);height:clamp(150px,15vw,190px);}
  .cat-mosaic .cat-img{flex:1;height:100%;overflow:hidden;cursor:zoom-in;background:var(--paper-2);}
  .cat-mosaic .cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .cat-mosaic .cat-img:hover img{transform:scale(1.08);}
  .cat-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .cat-body h4{font-size:1.05rem;}
  .cat-body p{font-size:.88rem;color:var(--ink-soft);flex:1;}
  .cat-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
  .cat-links a{min-width:30px;height:30px;padding:0 8px;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--ink-soft);text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease;}
  .cat-links a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
  .cat-links a svg{width:13px;height:13px;flex-shrink:0;}


  /* ---------- feature rows ---------- */
  /* ---------- automotive editorial grid ---------- */
  #auto.auto-showcase{
    position:relative;
    overflow:hidden;
    padding-block:clamp(64px,8vw,104px);
    background:
      radial-gradient(900px 520px at 92% 8%,rgba(69,108,255,.10),transparent 62%),
      linear-gradient(180deg,#E9EDF1 0%,#F3F5F6 52%,#E8ECEF 100%);
    color:#111821;
    border-top:1px solid #D6DCE2;
    border-bottom:1px solid #D0D7DE;
  }
  #auto .auto-head{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
    gap:clamp(30px,5vw,76px);align-items:end;
    margin-bottom:clamp(32px,5vw,58px);
  }
  #auto .auto-head .eyebrow{color:var(--accent);}
  #auto .auto-head h2{
    font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
    font-size:clamp(32px,4vw,46px);font-weight:400;line-height:1.04;
    letter-spacing:-.045em;max-width:15ch;margin:.35em 0 0;color:#111821;
  }
  #auto .auto-head .lead{
    color:#536174;font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.72;
    max-width:44ch;margin:0 0 4px;
  }
  #auto .auto-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:minmax(250px,auto);
    gap:18px;
  }
  #auto .auto-card{
    position:relative;overflow:hidden;isolation:isolate;
    min-height:310px;background:#111821;
    border:1px solid rgba(17,24,33,.10);
    box-shadow:0 22px 48px -38px rgba(17,24,33,.35);
  }
  #auto .auto-card:nth-child(1){grid-column:span 7;min-height:470px;}
  #auto .auto-card:nth-child(2){grid-column:span 5;min-height:470px;}
  #auto .auto-card:nth-child(3),
  #auto .auto-card:nth-child(4),
  #auto .auto-card:nth-child(5){grid-column:span 4;min-height:360px;}
  #auto .auto-card .auto-media{position:absolute;inset:0;cursor:zoom-in;}
  #auto .auto-card .auto-media img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  }
  #auto .auto-card:hover .auto-media img{transform:scale(1.025);}
  #auto .auto-card::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(9,14,20,.04) 28%,rgba(9,14,20,.84) 100%);
  }
  #auto .auto-card-copy{
    position:absolute;left:0;right:0;bottom:0;z-index:2;
    padding:clamp(20px,2.4vw,28px);
    color:#fff;
  }
  #auto .auto-card .tag{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;
    color:#FF4300;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  }
  #auto .auto-card .tag::before{content:"";width:18px;height:2px;background:currentColor;}
  #auto .auto-card h3{
    font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
    font-size:clamp(1.3rem,2.2vw,2rem);font-weight:500;line-height:1.08;
    letter-spacing:-.025em;max-width:20ch;margin:0 0 .45em;color:#fff;
  }
  #auto .auto-card p{
    color:#D3DAE2;font-size:.92rem;line-height:1.58;max-width:44ch;margin:0;
  }
  #auto .auto-card:nth-child(3) h3,
  #auto .auto-card:nth-child(4) h3,
  #auto .auto-card:nth-child(5) h3{font-size:clamp(1.2rem,1.7vw,1.55rem);}
  #auto .auto-footer{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    margin-top:clamp(24px,4vw,40px);padding-top:22px;border-top:1px solid #C9D1D9;
  }
  #auto .auto-footer-note{color:#5E6B7B;font-size:.92rem;line-height:1.55;max-width:56ch;}
  #auto .auto-footer .btn{flex:0 0 auto;}
  @media (max-width:980px){
    #auto .auto-head{grid-template-columns:1fr;gap:16px;}
    #auto .auto-head h2{max-width:18ch;}
    #auto .auto-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    #auto .auto-card:nth-child(n){grid-column:auto;min-height:360px;}
    #auto .auto-card:nth-child(1){grid-column:1/-1;min-height:460px;}
  }
  @media (max-width:640px){
    #auto.auto-showcase{padding-block:48px 58px;}
    #auto .auto-head h2{font-size:2.15rem;max-width:none;}
    #auto .auto-grid{grid-template-columns:1fr;gap:14px;}
    #auto .auto-card:nth-child(n){grid-column:1;min-height:320px;}
    #auto .auto-card:nth-child(1){min-height:380px;}
    #auto .auto-card-copy{padding:20px;}
    #auto .auto-card h3,#auto .auto-card:nth-child(n) h3{font-size:1.42rem;max-width:none;}
    #auto .auto-card p{font-size:.9rem;}
    #auto .auto-footer{align-items:stretch;flex-direction:column;}
    #auto .auto-footer .btn{width:100%;}
  }


  .feature-section{padding-bottom:clamp(40px,6vw,72px);}
  .feature-row{display:grid;grid-template-columns:1.5fr .5fr;gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(32px,5vw,56px);border-top:1px solid var(--line);}
  .feature-row:nth-child(even){grid-template-columns:.85fr 1.15fr;}
  .feature-row:nth-child(even) .feature-media{order:2;}
  .feature-row:nth-child(even) .feature-copy{order:1;}
  @media (max-width:900px){
    .feature-row, .feature-row:nth-child(even){grid-template-columns:1fr;}
    .feature-row:nth-child(even) .feature-media, .feature-row:nth-child(even) .feature-copy{order:initial;}
  }
  .feature-media{border-radius:var(--radius);overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow);cursor:zoom-in;}
  .feature-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
  .feature-media:hover img{transform:scale(1.045);}
  .feature-copy .tag{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.9em;display:block;}
  .on-dark .feature-copy .tag{color:var(--accent);}
  .feature-copy h3{font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.1;margin-bottom:.5em;max-width:20ch;}
  .feature-cta{display:flex;justify-content:center;padding-top:clamp(24px,3.5vw,40px);}
  .feature-copy p{color:var(--ink-soft);font-size:1.02rem;max-width:46ch;}


  /* ---------- gallery grids ---------- */
  .gallery-section{padding-bottom:clamp(48px,7vw,80px);}
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);}
  @media (max-width:920px){.gallery{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.gallery{grid-template-columns:1fr;}}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .35s ease, box-shadow .35s ease;}
  .card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .card .thumb{aspect-ratio:1/1;overflow:hidden;cursor:zoom-in;background:var(--paper-2);}
  .card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .card:hover .thumb img{transform:scale(1.08);}
  .card .body{padding:18px 20px 22px;}
  .card h4{font-size:1.02rem;margin-bottom:.45em;}
  .card p{font-size:.92rem;color:var(--ink-soft);}
  .card-tg{display:inline-flex;align-items:center;gap:.35em;margin-top:12px;font-size:.84rem;font-weight:700;color:var(--accent-ink);text-decoration:none;transition:color .2s ease,gap .2s ease;}
  .card-tg:hover{color:var(--accent);gap:.55em;}


  /* ---------- materials ---------- */
  .materials{background:var(--paper-2);}
  .materials-intro{max-width:70ch;color:var(--ink-soft);font-size:1.02rem;margin-bottom:clamp(28px,4vw,44px);}
  .swatch-groups{display:flex;flex-direction:column;gap:clamp(28px,3.5vw,40px);margin-bottom:clamp(36px,5vw,56px);}
  .swatch-group h3{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;}
  .swatch-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:clamp(12px,1.6vw,20px);}
  .swatch{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
  .swatch .ball{
    width:64px;height:64px;border-radius:18px;position:relative;overflow:hidden;
    box-shadow: inset -8px -10px 16px rgba(0,0,0,.28), inset 6px 8px 14px rgba(255,255,255,.35), 0 10px 20px -8px rgba(0,0,0,.4);
    border:1px solid rgba(0,0,0,.08);
    transition:transform .3s ease;
  }
  .swatch .ball::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;mix-blend-mode:multiply;
    background-image:repeating-linear-gradient(180deg, rgba(0,0,0,.07) 0px, rgba(0,0,0,.07) 1px, transparent 1px, transparent 4px);
  }
  .swatch:hover .ball{transform:translateY(-4px) scale(1.06) rotate(-3deg);}
  .swatch .cname{font-size:.82rem;font-weight:600;color:var(--ink);}
  .swatch .cmat{font-size:.7rem;color:var(--ink-faint);letter-spacing:.02em;}
  .materials-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(20px,3vw,40px);align-items:center;}
  @media (max-width:800px){.materials-bottom{grid-template-columns:1fr;}}
  .materials-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:zoom-in;}
  .materials-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4;}
  .materials-note{color:var(--ink-soft);font-size:1rem;}
  .materials-note strong{color:var(--ink);}


  /* ---------- contact ---------- */
  .contact{background:#14171A;color:var(--on-dark);overflow:hidden;}
  .contact .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,5vw,64px);align-items:center;padding-block:clamp(56px,9vw,110px);}
  @media (max-width:860px){.contact .wrap{grid-template-columns:1fr;}}
  .contact h2{color:#fff;font-size:clamp(32px,4.4vw,46px);line-height:1.08;max-width:14ch;margin-bottom:.4em;}
  .contact p.lead{color:var(--on-dark-soft);max-width:48ch;font-size:1.08rem;margin-bottom:2em;}
  .contact-ctas{display:flex;flex-wrap:wrap;gap:14px;}
  .contact-media{border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);cursor:zoom-in;}
  .contact-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;}
  .contact-caption{font-size:.82rem;color:var(--on-dark-soft);margin-top:12px;max-width:36ch;}


  /* ---------- footer ---------- */
  footer{padding-block:32px;border-top:1px solid var(--line);}
  footer .wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;}
  footer .fmeta{font-size:.85rem;color:var(--ink-faint);text-align:center;}
  footer .flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;font-size:.9rem;font-weight:500;}
  footer .flinks a{text-decoration:none;color:var(--ink-soft);}
  footer .flinks a:hover{color:var(--accent-ink);}
  footer .visitor-count{width:100%;text-align:center;font-size:10px;color:var(--ink-faint);opacity:.55;margin-top:8px;}


  /* ---------- contact bar (pre-footer) ---------- */
  .contactbar{background:#14171A;color:var(--on-dark);padding-block:clamp(44px,6.5vw,68px);border-top:4px solid var(--accent);}
  .contactbar-head{margin-bottom:26px;max-width:60ch;}
  .contactbar-head .eyebrow{color:var(--accent);margin-bottom:.6em;}
  .contactbar-head h3{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;color:#fff;font-family:"Archivo",sans-serif;letter-spacing:-0.01em;margin-bottom:.3em;}
  .contactbar-head p{color:var(--on-dark-soft);font-size:1.02rem;}
  .contactbar-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media (max-width:900px){.contactbar-inner{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:480px){.contactbar-inner{grid-template-columns:1fr;}}
  .cbar-item{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);text-decoration:none;color:var(--on-dark);transition:transform .22s ease,border-color .22s ease,background .22s ease;}
  .cbar-item:hover{transform:translateY(-3px);border-color:var(--accent);background:rgba(255,255,255,.1);}
  .cbar-ic{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;}
  .cbar-ic svg{width:23px;height:23px;}
  .cbar-t{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .cbar-k{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--on-dark-soft);font-weight:600;}
  .cbar-v{font-size:1.02rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


  /* ---------- back to top ---------- */
  .back-to-top{
    position:fixed;right:20px;bottom:20px;z-index:120;
    width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
    background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 28px -14px rgba(0,0,0,.45);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .2s ease,border-color .2s ease;
  }
  .back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
  .back-to-top:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
  .back-to-top svg{width:20px;height:20px;display:block;}
  @media (max-width:940px){
    .back-to-top{right:14px;bottom:14px;width:42px;height:42px;}
  }
  @media (min-width:941px){
    body{padding-top:74px;}
    .nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;background:var(--paper);}
  }


  /* ---------- lightbox ---------- */
  .lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,8,9,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:min(6vh,48px) min(6vw,48px);}
  .lightbox.open{opacity:1;pointer-events:auto;}
  .lightbox-inner{max-width:min(1100px,92vw);max-height:88vh;display:flex;flex-direction:column;gap:14px;align-items:center;}
  .lightbox img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:var(--radius);}
  .lightbox-cap{color:var(--on-dark-soft);font-size:.94rem;text-align:center;max-width:60ch;}
  .lightbox-close, .lightbox-nav{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.1rem;transition:background .2s ease;}
  .lightbox-close:hover, .lightbox-nav:hover{background:rgba(255,255,255,.18);}
  .lightbox-close{top:18px;right:18px;}
  .lightbox-nav.prev{left:18px;top:50%;transform:translateY(-50%);}
  .lightbox-nav.next{right:18px;top:50%;transform:translateY(-50%);}
  @media (max-width:640px){.lightbox-nav{width:38px;height:38px;}}


  /* ---------- mobile typography ---------- */
  @media (max-width:640px){
    .intro-card{text-align:left;display:flex;flex-direction:column;align-items:flex-start;}
    .intro-card .intro-icon{margin-inline:0;}
    .intro-card h3{text-align:left;margin-inline:0;max-width:none;}
    .intro-card p{text-align:left;margin-inline:0;max-width:none;}
    .intro-card h3{font-size:1.5rem;font-weight:400;line-height:1.16;}
    .hero h1{font-size:2rem;line-height:1.08;max-width:19ch;}
    .shead h2{font-size:1.65rem;line-height:1.12;max-width:24ch;}
    .feature-copy h3{font-size:1.35rem;line-height:1.16;max-width:none;}
    .latest-copy h3{font-size:1.15rem;line-height:1.25;}
    .process-step h3{font-size:1.08rem!important;line-height:1.22;width:100%;max-width:none;font-weight:400!important;}
    .process-step::before{top:-8px;left:-8px;width:46px;height:46px;}
    .process-step::after{right:-8px;bottom:-8px;width:58px;height:58px;}
    .contact h2{font-size:1.75rem;line-height:1.12;max-width:18ch;}
    .contactbar-head h3{font-size:1.45rem;line-height:1.15;}
    .hero-eyebrow{font-size:.64rem;line-height:1.35;}
  }
  @media (max-width:380px){
    .hero h1{font-size:1.8rem;}
    .shead h2{font-size:1.5rem;}
    .contact h2{font-size:1.6rem;}
  }


  /* ---------- mobile compact layout ---------- */
  @media (max-width:640px){
    /* All primary CTA buttons use the available mobile width. */
    .btn{width:100%;justify-content:center;text-align:center;white-space:normal;}
    .hero-ctas,.contact-ctas{width:100%;flex-direction:column;gap:10px;}
    .feature-cta{width:100%;padding-inline:0;}
    .feature-cta .btn{max-width:none;}
    .latest-cta{width:100%;max-width:360px;margin-inline:auto;}


    /* Eyebrow labels remain small, but readable on a phone. */
    .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.09em;line-height:1.35;}
    .eyebrow::before{width:18px;}
    .hero-eyebrow{font-size:.72rem;letter-spacing:.075em;line-height:1.4;}


    /* Recent-project block: less image height and less empty vertical space. */


    /* Reduce generous section spacing where it is not needed on mobile. */
    .catsec{padding-block:36px 44px;}
    .catsec .shead{padding-block:0 22px;}
    .cat-grid{gap:14px;}
  }


  /* ---------- contact chooser ---------- */
  .contact-chooser{position:fixed;inset:0;z-index:240;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(8,10,12,.48);opacity:0;pointer-events:none;transition:opacity .22s ease;}
  .contact-chooser.open{opacity:1;pointer-events:auto;}
  .contact-chooser-panel{width:min(100%,420px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 24px 70px -24px rgba(0,0,0,.55);transform:translateY(14px);transition:transform .22s ease;}
  .contact-chooser.open .contact-chooser-panel{transform:none;}
  .contact-chooser-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;}
  .contact-chooser-title{font-family:"Archivo",sans-serif;font-size:1.05rem;font-weight:800;color:var(--ink);}
  .contact-chooser-close{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer;}
  .contact-chooser-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .contact-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;font-weight:700;font-size:.86rem;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
  .contact-option:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--paper-2);}
  .contact-option svg{width:28px;height:28px;display:block;}
  .contact-option.whatsapp svg{fill:currentColor;stroke:none;}
  .contact-option.telegram svg{fill:currentColor;stroke:none;}
  @media (min-width:700px){.contact-chooser{align-items:center;}}

/* ==== block ==== */
.carmodel-layout{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:clamp(28px,4vw,56px)!important;
  align-items:center!important;
}
.carmodel-media{
  width:100%!important;
  max-width:none!important;
}
.carmodel-video{
  width:100%!important;
  aspect-ratio:16/10!important;
  min-height:520px!important;
  max-height:760px!important;
  object-fit:cover!important;
  display:block!important;
}
.carmodel-copy{max-width:520px!important;}
@media (max-width:980px){
  .carmodel-layout{grid-template-columns:1fr!important;}
  .carmodel-video{min-height:0!important;aspect-ratio:16/9!important;}
  .carmodel-copy{max-width:none!important;}
}

/* ==== block ==== */
.carmodel-layout{
  grid-template-columns:minmax(320px,.58fr) minmax(0,1.42fr)!important;
  gap:clamp(30px,4vw,64px)!important;
  align-items:center!important;
}
.carmodel-copy{max-width:500px!important;}
.carmodel-copy h2{max-width:14ch!important;}
.carmodel-lead{max-width:50ch!important;}
.carmodel-points{gap:10px!important;margin-top:24px!important;}
.carmodel-point{padding:12px 14px!important;}
.carmodel-point strong{font-weight:500!important;}


.carmodel-video-wrap{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.carmodel-video-frame{
  width:100%!important;
  max-width:none!important;
  min-height:clamp(500px,46vw,760px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0F1319!important;
}
.carmodel-video-frame video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:clamp(500px,46vw,760px)!important;
  max-height:760px!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  background:#0F1319!important;
}
@media (max-width:1100px){
  .carmodel-layout{
    grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)!important;
    gap:34px!important;
  }
  .carmodel-video-frame,
  .carmodel-video-frame video{
    min-height:440px!important;
  }
}
@media (max-width:860px){
  .carmodel-layout{grid-template-columns:1fr!important;}
  .carmodel-copy{max-width:none!important;}
  .carmodel-video-frame{
    min-height:0!important;
  }
  .carmodel-video-frame video{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
    object-fit:cover!important;
  }
}

/* ==== block ==== */
.carmodel-contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  margin-top:10px;
  padding:0 20px;
  border:1px solid #14171A;
  background:#14171A;
  color:#fff;
  text-decoration:none;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:.95rem;
  font-weight:500;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.carmodel-contact:hover{
  transform:translateY(-2px);
  background:#25D366;
  border-color:#25D366;
}
.carmodel-contact svg{width:20px;height:20px;flex:0 0 auto;}
@media(max-width:640px){
  .carmodel-contact{width:100%;}
}

/* ==== block ==== */
/* ---------- technical portfolio ---------- */
#prototipuri{
  position:relative;
  padding:clamp(64px,8vw,108px) 0 clamp(72px,9vw,118px);
  background:
    radial-gradient(circle at top right, rgba(69,108,255,.08), rgba(69,108,255,0) 34%),
    radial-gradient(circle at bottom left, rgba(140,224,239,.10), rgba(140,224,239,0) 32%),
    linear-gradient(180deg, #F6F7F8 0%, #EEF1F4 100%);
  border-bottom:1px solid #DCE1E6;
  overflow:hidden;
}
#prototipuri::before{
  content:"";
  position:absolute;
  width:560px;height:560px;
  right:-180px;top:-210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(69,108,255,.1),rgba(69,108,255,0) 68%);
  pointer-events:none;
}
#prototipuri .proto-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);
  gap:clamp(36px,6vw,90px);
  align-items:end;
  margin-bottom:clamp(34px,5vw,58px);
}
#prototipuri .proto-title .eyebrow{
  color:var(--accent);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.13em;
}
#prototipuri .proto-title h2{
  margin:.38em 0 0;
  max-width:14ch;
  color:#111820;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(32px,4.1vw,46px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.045em;
}
#prototipuri .proto-intro{
  max-width:48ch;
  margin:0;
  color:#566374;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(1rem,1.15vw,1.1rem);
  line-height:1.72;
}
#prototipuri .proto-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
#prototipuri .proto-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:rgba(255,255,255,.93);
  border:1px solid #D8DEE5;
  box-shadow:0 18px 42px -34px rgba(16,27,49,.28);
  overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
#prototipuri .proto-card:hover{
  transform:translateY(-4px);
  border-color:#BEC7D0;
  box-shadow:0 24px 56px -34px rgba(16,27,49,.34);
}
#prototipuri .proto-card:nth-child(1){grid-column:span 7;grid-row:span 2;}
#prototipuri .proto-card:nth-child(2),
#prototipuri .proto-card:nth-child(3){grid-column:span 5;}
#prototipuri .proto-card:nth-child(4),
#prototipuri .proto-card:nth-child(5),
#prototipuri .proto-card:nth-child(6){grid-column:span 4;}
#prototipuri .proto-media{
  position:relative;
  min-height:250px;
  background:#E9EDF1;
  overflow:hidden;
  cursor:zoom-in;
}
#prototipuri .proto-card:nth-child(1) .proto-media{min-height:430px;}
#prototipuri .proto-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
#prototipuri .proto-card:hover .proto-media img{transform:scale(1.035);}
#prototipuri .proto-index{
  position:absolute;
  top:14px;left:14px;
  z-index:2;
  min-width:38px;height:28px;
  display:flex;align-items:center;justify-content:center;
  padding:0 9px;
  background:rgba(15,20,27,.88);
  color:#fff;
  font-family:"IBM Plex Sans",sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
}
#prototipuri .proto-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:20px 22px 22px;
}
#prototipuri .proto-card:nth-child(1) .proto-body{padding:24px 26px 26px;}
#prototipuri .proto-body h4{
  margin:0 0 .55em;
  color:#111820;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(1.12rem,1.5vw,1.45rem);
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.02em;
}
#prototipuri .proto-card:nth-child(1) .proto-body h4{
  font-size:clamp(1.45rem,2.2vw,2.05rem);
  max-width:19ch;
}
#prototipuri .proto-body p{
  margin:0;
  color:#667282;
  font-size:.92rem;
  line-height:1.62;
  max-width:48ch;
}
#prototipuri .proto-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  align-self:flex-start;
  margin-top:auto;
  padding-top:18px;
  color:#263445;
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease,gap .2s ease;
}
#prototipuri .proto-link::after{content:"↗";font-size:.95em;}
#prototipuri .proto-link:hover{color:var(--accent);gap:10px;}
#prototipuri .proto-bottom{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #D6DDE4;
}
#prototipuri .proto-bottom p{
  margin:0;
  color:#596777;
  font-size:.94rem;
}
#prototipuri .proto-bottom a{
  white-space:nowrap;
}
@media(max-width:980px){
  #prototipuri .proto-head{grid-template-columns:1fr;gap:18px;align-items:start;}
  #prototipuri .proto-title h2{max-width:16ch;}
  #prototipuri .proto-intro{max-width:60ch;}
  #prototipuri .proto-card:nth-child(1){grid-column:span 12;}
  #prototipuri .proto-card:nth-child(2),
  #prototipuri .proto-card:nth-child(3),
  #prototipuri .proto-card:nth-child(4),
  #prototipuri .proto-card:nth-child(5),
  #prototipuri .proto-card:nth-child(6){grid-column:span 6;}
  #prototipuri .proto-card:nth-child(1) .proto-media{min-height:360px;}
}
@media(max-width:640px){
  #prototipuri{padding-block:54px 68px;}
  #prototipuri .proto-title h2{font-size:clamp(32px,10vw,46px);max-width:none;}
  #prototipuri .proto-grid{gap:14px;}
  #prototipuri .proto-card:nth-child(n){grid-column:1/-1;}
  #prototipuri .proto-media,
  #prototipuri .proto-card:nth-child(1) .proto-media{min-height:260px;}
  #prototipuri .proto-body,
  #prototipuri .proto-card:nth-child(1) .proto-body{padding:18px 18px 20px;}
  #prototipuri .proto-card:nth-child(1) .proto-body h4{font-size:1.45rem;}
  #prototipuri .proto-bottom{align-items:flex-start;flex-direction:column;}
  #prototipuri .proto-bottom .btn{width:100%;}
}

/* ==== block ==== */
#prototipuri .proto-body h4,
#prototipuri .proto-card:nth-child(1) .proto-body h4{
  font-size:clamp(1.12rem,1.5vw,1.45rem)!important;
  line-height:1.18!important;
  max-width:none!important;
}

/* ==== block ==== */
/* ---------- clearer service catalog ---------- */
#catalog.catsec{
  padding-block:clamp(62px,8vw,98px);
  background:
    radial-gradient(700px 420px at 12% 0%,rgba(255,95,45,.08),transparent 68%),
    linear-gradient(180deg,#171B20 0%,#1C2025 100%);
  color:#fff;
}
#catalog .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  padding-block:0 clamp(30px,4vw,46px);
}
#catalog .shead .eyebrow{color:var(--accent);}
#catalog .shead h2{
  color:#fff;
  max-width:14ch;
  margin:.35em 0 0;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(32px,4vw,46px);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.045em;
}
#catalog .shead .lead{
  color:#B7C0CC;
  max-width:48ch;
  margin:0;
  font-size:1rem;
  line-height:1.7;
}
#catalog .cat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
#catalog .cat-card{
  position:relative;
  border:1px solid rgba(255,255,255,.10);
  border-radius:0;
  background:#20252B;
  color:#fff;
  overflow:hidden;
  box-shadow:none;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
#catalog .cat-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,106,51,.5);
  background:#232930;
  box-shadow:none;
}
#catalog .cat-mosaic{
  height:clamp(160px,14vw,210px);
  gap:1px;
  background:#343B44;
}
#catalog .cat-mosaic .cat-img{background:#EDEFF1;}
#catalog .cat-body{
  padding:20px 20px 18px;
  gap:0;
}
#catalog .cat-problem{
  display:block;
  margin-bottom:8px;
  color:var(--accent);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#catalog .cat-body h4{
  margin:0 0 .55em;
  color:#fff;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(1.15rem,1.45vw,1.4rem);
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.02em;
}
#catalog .cat-body p{
  margin:0;
  color:#B4BDC8;
  font-size:.88rem;
  line-height:1.6;
}
#catalog .cat-examples{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:18px;
}
#catalog .cat-examples-label{
  color:#7F8A98;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
#catalog .cat-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  margin:0;
}
#catalog .cat-links a{
  min-width:31px;
  height:29px;
  padding:0 8px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.14);
  color:#D5DBE2;
  background:transparent;
  font-size:.69rem;
  font-weight:600;
}
#catalog .cat-links a:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
#catalog .cat-links a.ig{
  padding-inline:10px;
}
@media(max-width:1100px){
  #catalog .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  #catalog .shead{grid-template-columns:1fr;gap:16px;}
  #catalog .shead h2{max-width:none;font-size:clamp(32px,9vw,46px);}
}
@media(max-width:560px){
  #catalog.catsec{padding-block:52px 64px;}
  #catalog .cat-grid{grid-template-columns:1fr;}
  #catalog .cat-mosaic{height:200px;}
}

/* ==== block ==== */
/* full-width catalog card titles */
#catalog .cat-body h4{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  text-wrap:unset!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* ==== block ==== */
/* ---------- colorful figurines showcase ---------- */
#figurine{
  position:relative;
  isolation:isolate;
  padding:clamp(70px,9vw,118px) 0 clamp(82px,10vw,130px);
  overflow:hidden;
  background:#EEF1F1;
  border-top:1px solid rgba(20,23,26,.08);
  border-bottom:1px solid rgba(20,23,26,.08);
}
#figurine .shead{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);
  gap:clamp(30px,5vw,72px);
  align-items:end;
  padding-block:0 clamp(38px,5vw,62px);
}
#figurine .shead .eyebrow{
  color:var(--accent);
  grid-column:1/-1;
  margin-bottom:-10px;
}
#figurine .shead .eyebrow::before{background:var(--accent);}
#figurine .shead h2{
  color:#17202A;
  max-width:12ch;
  margin:0;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(32px,5vw,46px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.05em;
}
#figurine .shead .lead{
  color:#52606F;
  max-width:46ch;
  margin:0;
  font-size:1.03rem;
  line-height:1.72;
}
#figurine .gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
#figurine .card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:0;
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 46px -34px rgba(20,23,26,.22);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .35s ease,box-shadow .35s ease;
}
#figurine .card:hover{
  transform:translateY(-6px) rotate(-.15deg);
  box-shadow:0 30px 70px -38px rgba(25,38,61,.35);
}
#figurine .card:nth-child(1),
#figurine .card:nth-child(6),
#figurine .card:nth-child(11){grid-column:span 6;}
#figurine .card:nth-child(2),
#figurine .card:nth-child(3),
#figurine .card:nth-child(4),
#figurine .card:nth-child(5),
#figurine .card:nth-child(7),
#figurine .card:nth-child(8),
#figurine .card:nth-child(9),
#figurine .card:nth-child(10),
#figurine .card:nth-child(12),
#figurine .card:nth-child(13),
#figurine .card:nth-child(14),
#figurine .card:nth-child(15){grid-column:span 3;}
#figurine .thumb{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#fff;
  cursor:zoom-in;
}
#figurine .card:nth-child(1) .thumb,
#figurine .card:nth-child(6) .thumb,
#figurine .card:nth-child(11) .thumb{aspect-ratio:16/10;}
#figurine .thumb::after{
  content:"";
  position:absolute;
  inset:auto 14px 14px auto;
  width:34px;height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 18px -10px rgba(0,0,0,.35);
  opacity:0;
  transform:scale(.8);
  transition:opacity .25s ease,transform .25s ease;
}
#figurine .card:hover .thumb::after{opacity:1;transform:scale(1);}
#figurine .thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
#figurine .card:hover .thumb img{transform:scale(1.045);}
#figurine .body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:210px;
  padding:20px 20px 22px;
}
#figurine .card:nth-child(1) .body,
#figurine .card:nth-child(6) .body,
#figurine .card:nth-child(11) .body{padding:24px 26px 26px;}
#figurine .body h4{
  margin:0 0 .5em;
  color:#17202A;
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif;
  font-size:clamp(1.08rem,1.35vw,1.35rem);
  line-height:1.18;
  font-weight:600;
  letter-spacing:-.02em;
  text-wrap:balance;
}
#figurine .card:nth-child(1) .body h4,
#figurine .card:nth-child(6) .body h4,
#figurine .card:nth-child(11) .body h4{
  font-size:clamp(1.35rem,2vw,1.85rem);
}
#figurine .body p{
  margin:0;
  color:#5D6977;
  font-size:.9rem;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#figurine .card-tg{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:16px;
  color:#263445;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none;
}
#figurine .card-tg:hover{color:#F04E82;}
#figurine .card::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:5px;
  z-index:2;
  background:var(--fig-accent,#F06493);
}
#figurine .card:nth-child(5n+1){--fig-accent:#F06493;}
#figurine .card:nth-child(5n+2){--fig-accent:#FFB23F;}
#figurine .card:nth-child(5n+3){--fig-accent:#5EB7FF;}
#figurine .card:nth-child(5n+4){--fig-accent:#7CCB75;}
#figurine .card:nth-child(5n+5){--fig-accent:#8E78F0;}
@media(max-width:1100px){
  #figurine .card:nth-child(n){grid-column:span 4;}
  #figurine .card:nth-child(1),
  #figurine .card:nth-child(6),
  #figurine .card:nth-child(11){grid-column:span 8;}
}
@media(max-width:820px){
  #figurine .shead{grid-template-columns:1fr;gap:18px;}
  #figurine .shead .eyebrow{grid-column:auto;margin-bottom:0;}
  #figurine .shead h2{max-width:14ch;}
  #figurine .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  #figurine .card:nth-child(n){grid-column:span 1;}
  #figurine .card:nth-child(1),
  #figurine .card:nth-child(6),
  #figurine .card:nth-child(11){grid-column:1/-1;}
}
@media(max-width:560px){
  #figurine{padding-block:54px 70px;}
  #figurine .shead h2{font-size:clamp(32px,12vw,46px);max-width:none;}
  #figurine .gallery{grid-template-columns:1fr;gap:14px;}
  #figurine .card:nth-child(n){grid-column:1/-1;border-radius:18px;}
  #figurine .thumb,
  #figurine .card:nth-child(1) .thumb,
  #figurine .card:nth-child(6) .thumb,
  #figurine .card:nth-child(11) .thumb{aspect-ratio:4/3;}
  #figurine .body{min-height:0;padding:18px 18px 20px;}
  #figurine .card:nth-child(1) .body,
  #figurine .card:nth-child(6) .body,
  #figurine .card:nth-child(11) .body{padding:18px 18px 20px;}
}

/* ==== unified-section-headings ==== */
/* Unified section-title typography */
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#catalog .shead h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2,
.contact h2{
  font-family:"Nunito Sans","IBM Plex Sans",sans-serif!important;
  font-size:clamp(32px,5vw,46px)!important;
  line-height:.98!important;
  font-weight:400!important;
  letter-spacing:-.05em!important;
  text-wrap:balance;
}


/* Keep section-specific colors and sensible line lengths */
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2{
  max-width:12ch;
}
#catalog .shead h2{max-width:12ch;}
.contact h2{max-width:12ch;}


@media (max-width:760px){
  .process-copy h2,
  .beforeprint h2,
  #auto .auto-head h2,
  .carmodel h2,
  #prototipuri .proto-title h2,
  #catalog .shead h2,
  #figurine .shead h2,
  .texture-copy h2,
  #decor .shead h2,
  #pack .shead h2,
  #showcase .shead h2,
  #materials .shead h2,
  .contact h2{
    font-size:clamp(32px,12vw,46px)!important;
    line-height:.98!important;
    letter-spacing:-.05em!important;
    max-width:none!important;
  }
}

/* ==== decor-bento-layout ==== */
/* Dark decor/gift section: corrected editorial bento layout */
#decor{
  background:#1B1F22!important;
  color:#fff;
  padding-block:clamp(64px,8vw,96px);
}
#decor .shead{
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  grid-template-areas:
    "eyebrow title"
    ". lead";
  column-gap:clamp(42px,6vw,90px)!important;
  row-gap:16px!important;
  align-items:start!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-bottom:clamp(34px,5vw,56px)!important;
}
#decor .shead .eyebrow{
  grid-area:eyebrow;
  margin-top:.55rem;
}
#decor .shead h2{
  grid-area:title;
  margin:0!important;
  max-width:11ch!important;
  color:#fff!important;
}
#decor .shead .lead{
  grid-area:lead;
  max-width:54ch!important;
  margin:0!important;
  color:rgba(255,255,255,.62)!important;
}


/* Actual grid used by this section */
#decor .gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  gap:16px!important;
}


/* Base card */
#decor .gallery > .card{
  display:flex!important;
  flex-direction:column!important;
  grid-column:span 4!important;
  min-width:0!important;
  background:#202428!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  overflow:hidden!important;
  transform:none;
  box-shadow:none;
}
#decor .gallery > .card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px -34px rgba(0,0,0,.8);
}


/* Bento proportions */
#decor .gallery > .card:nth-child(1){
  grid-column:span 7!important;
  grid-row:span 2!important;
}
#decor .gallery > .card:nth-child(2),
#decor .gallery > .card:nth-child(3){
  grid-column:span 5!important;
}
#decor .gallery > .card:nth-child(4),
#decor .gallery > .card:nth-child(5),
#decor .gallery > .card:nth-child(6){
  grid-column:span 4!important;
}


/* Image sizing */
#decor .gallery > .card .thumb{
  width:100%;
  aspect-ratio:4/3!important;
  background:#15181B!important;
}
#decor .gallery > .card:nth-child(1) .thumb{
  flex:1 1 auto;
  min-height:440px;
  aspect-ratio:auto!important;
}
#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}


/* Content */
#decor .gallery > .card .body{
  padding:18px 18px 20px!important;
}
#decor .gallery > .card h4{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(1rem,1.15vw,1.2rem)!important;
  line-height:1.2!important;
}
#decor .gallery > .card p{
  color:rgba(255,255,255,.62)!important;
  line-height:1.55!important;
}
#decor .gallery > .card .card-tg{
  color:var(--accent)!important;
  margin-top:12px!important;
}


/* Tablet */
@media (max-width:980px){
  #decor .shead{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "lead";
    gap:12px!important;
  }
  #decor .shead .eyebrow{margin-top:0;}
  #decor .shead h2{max-width:14ch!important;}
  #decor .gallery > .card,
  #decor .gallery > .card:nth-child(1),
  #decor .gallery > .card:nth-child(2),
  #decor .gallery > .card:nth-child(3),
  #decor .gallery > .card:nth-child(4),
  #decor .gallery > .card:nth-child(5),
  #decor .gallery > .card:nth-child(6){
    grid-column:span 6!important;
    grid-row:auto!important;
  }
  #decor .gallery > .card:nth-child(1) .thumb{
    min-height:0;
    aspect-ratio:4/3!important;
  }
}


/* Mobile */
@media (max-width:620px){
  #decor{
    padding-block:54px 64px;
  }
  #decor .gallery{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #decor .gallery > .card,
  #decor .gallery > .card:nth-child(1),
  #decor .gallery > .card:nth-child(2),
  #decor .gallery > .card:nth-child(3),
  #decor .gallery > .card:nth-child(4),
  #decor .gallery > .card:nth-child(5),
  #decor .gallery > .card:nth-child(6){
    grid-column:1!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    aspect-ratio:1.22/1!important;
    min-height:0;
  }
}

/* ==== video-section-spacing-fix ==== */
/* More breathing room around the product-development video */
.carmodel-inner,
.carmodel .section-inner,
.carmodel-grid{
  column-gap:clamp(56px,7vw,110px)!important;
  row-gap:42px!important;
}
.carmodel-copy{
  position:relative;
  z-index:2;
  padding-right:clamp(10px,1.5vw,24px);
}
.carmodel-video,
.carmodel-video-wrap,
.carmodel-video-frame{
  position:relative;
  z-index:1;
  margin-left:clamp(16px,2vw,34px)!important;
}
.carmodel-video-frame{
  overflow:hidden;
}
@media (max-width:980px){
  .carmodel-inner,
  .carmodel .section-inner,
  .carmodel-grid{
    column-gap:32px!important;
  }
  .carmodel-video,
  .carmodel-video-wrap,
  .carmodel-video-frame{
    margin-left:0!important;
  }
  .carmodel-copy{
    padding-right:0;
  }
}
@media (max-width:760px){
  .carmodel-inner,
  .carmodel .section-inner,
  .carmodel-grid{
    row-gap:30px!important;
  }
  .carmodel-video,
  .carmodel-video-wrap,
  .carmodel-video-frame{
    margin-top:6px!important;
  }
}

/* ==== smaller-section-headings ==== */
/* Slightly smaller section headings site-wide, keeping the hero unchanged */
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#catalog .shead h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2,
.contact h2{
  font-size:clamp(32px,4.35vw,46px)!important;
  line-height:1!important;
}
@media (max-width:760px){
  .process-copy h2,
  .beforeprint h2,
  #auto .auto-head h2,
  .carmodel h2,
  #prototipuri .proto-title h2,
  #catalog .shead h2,
  #figurine .shead h2,
  .texture-copy h2,
  #decor .shead h2,
  #pack .shead h2,
  #showcase .shead h2,
  #materials .shead h2,
  .contact h2{
    font-size:clamp(32px,10.5vw,46px)!important;
  }
}

/* ==== smaller-section-headings-v2 ==== */
/* Final reduced scale for section headings; hero headline remains untouched */
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#catalog .shead h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2,
.contact h2{
  font-size:clamp(31.2px,3.55vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}


@media (max-width:760px){
  .process-copy h2,
  .beforeprint h2,
  #auto .auto-head h2,
  .carmodel h2,
  #prototipuri .proto-title h2,
  #catalog .shead h2,
  #figurine .shead h2,
  .texture-copy h2,
  #decor .shead h2,
  #pack .shead h2,
  #showcase .shead h2,
  #materials .shead h2,
  .contact h2{
    font-size:clamp(1.8rem,8.8vw,2.65rem)!important;
    line-height:1.03!important;
  }
}

/* ==== site-title-scale-and-macbook-compact ==== */
/* Smaller typography across the entire site, including the main hero */
.hero h1{
  font-size:clamp(32px,3.65vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  max-width:16ch!important;
}
.shead h2,
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#catalog .shead h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2,
.contact h2{
  font-size:clamp(29.6px,2.8vw,46px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:400!important;
}


/* Avoid overly narrow titles that create too many lines */
.process-copy h2,
.beforeprint h2,
#auto .auto-head h2,
.carmodel h2,
#prototipuri .proto-title h2,
#catalog .shead h2,
#figurine .shead h2,
.texture-copy h2,
#decor .shead h2,
#pack .shead h2,
#showcase .shead h2,
#materials .shead h2,
.contact h2{
  max-width:15ch!important;
}


/* Compact desktop presentation for MacBook-like 1470x956 viewport */
@media (min-width:1180px) and (max-height:1000px){
  .hero{
    min-height:min(760px,88svh)!important;
  }
  .hero-inner{
    padding-block:clamp(92px,10vh,112px) 44px!important;
  }
  .hero h1{
    font-size:clamp(32px,3.25vw,46px)!important;
    max-width:17ch!important;
    margin-block:.32em .38em!important;
  }
  .hero p.lead{
    font-size:1rem!important;
    line-height:1.58!important;
    margin-bottom:1.45em!important;
    max-width:54ch!important;
  }
  .hero-ctas{gap:10px!important;}


  /* General section rhythm */
  .shead{
    padding-block:clamp(42px,5.2vw,66px) clamp(22px,2.7vw,30px)!important;
  }
  .shead h2,
  .process-copy h2,
  .beforeprint h2,
  #auto .auto-head h2,
  .carmodel h2,
  #prototipuri .proto-title h2,
  #catalog .shead h2,
  #figurine .shead h2,
  .texture-copy h2,
  #decor .shead h2,
  #pack .shead h2,
  #showcase .shead h2,
  #materials .shead h2,
  .contact h2{
    font-size:clamp(2rem,2.55vw,2.75rem)!important;
    line-height:1.04!important;
  }


  /* Sections that had particularly large vertical spacing */
  .carmodel,
  .texturesec,
  #prototipuri,
  #catalog,
  #figurine,
  #decor{
    padding-top:clamp(54px,6vw,72px)!important;
    padding-bottom:clamp(58px,6.5vw,78px)!important;
  }


  .process-layout,
  .carmodel-layout,
  .texture-layout{
    gap:clamp(38px,4.5vw,64px)!important;
  }


  .carmodel-lead,
  .texture-copy .lead,
  .process-copy .lead,
  .shead .lead{
    font-size:.96rem!important;
    line-height:1.6!important;
  }


  #decor .shead{
    margin-bottom:34px!important;
  }


  #figurine .shead{
    margin-bottom:34px!important;
  }
}


/* Mobile remains compact but readable */
@media (max-width:760px){
  .hero h1{
    font-size:clamp(1.9rem,8.6vw,2.55rem)!important;
    line-height:1.04!important;
    max-width:18ch!important;
  }
  .shead h2,
  .process-copy h2,
  .beforeprint h2,
  #auto .auto-head h2,
  .carmodel h2,
  #prototipuri .proto-title h2,
  #catalog .shead h2,
  #figurine .shead h2,
  .texture-copy h2,
  #decor .shead h2,
  #pack .shead h2,
  #showcase .shead h2,
  #materials .shead h2,
  .contact h2{
    font-size:clamp(1.7rem,7.8vw,2.35rem)!important;
    line-height:1.05!important;
    max-width:none!important;
  }
}

/* ==== dark-sections-alignment-v41 ==== */
/* Keep dark-section heading blocks in the same visual positions */
#catalog .shead,
#decor .shead{
  display:grid !important;
  grid-template-columns:minmax(240px, .72fr) minmax(420px, 1.12fr) !important;
  grid-template-areas:
    "eyebrow title"
    "lead title" !important;
  column-gap:clamp(44px,6vw,92px) !important;
  row-gap:18px !important;
  align-items:start !important;
  padding-top:0 !important;
  padding-bottom:clamp(30px,4vw,46px) !important;
  margin-bottom:0 !important;
}


#catalog .shead .eyebrow,
#decor .shead .eyebrow{
  grid-area:eyebrow !important;
  align-self:start !important;
  margin:0 !important;
}


#catalog .shead h2,
#decor .shead h2{
  grid-area:title !important;
  align-self:start !important;
  margin:0 !important;
  max-width:10ch !important;
}


#catalog .shead .lead,
#decor .shead .lead{
  grid-area:lead !important;
  align-self:end !important;
  margin:0 !important;
  max-width:44ch !important;
}


/* Section-specific spacing after unified heading */
#catalog .shead{
  padding-bottom:clamp(28px,3.8vw,42px) !important;
}
#decor .shead{
  padding-bottom:clamp(34px,4.2vw,50px) !important;
}


/* MacBook / compact desktop tuning */
@media (min-width:1180px) and (max-height:1000px){
  #catalog .shead,
  #decor .shead{
    grid-template-columns:minmax(220px,.70fr) minmax(360px,1fr) !important;
    column-gap:clamp(34px,4.5vw,68px) !important;
  }
  #catalog .shead h2,
  #decor .shead h2{
    max-width:9.5ch !important;
  }
  #catalog .shead .lead,
  #decor .shead .lead{
    max-width:40ch !important;
  }
}


/* Tablet and below: stack naturally, but consistently */
@media (max-width:1024px){
  #catalog .shead,
  #decor .shead{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "eyebrow"
      "title"
      "lead" !important;
    gap:16px !important;
    padding-bottom:26px !important;
  }
  #catalog .shead h2,
  #decor .shead h2,
  #catalog .shead .lead,
  #decor .shead .lead{
    max-width:none !important;
  }
}

/* ==== dark-sections-heading-right-v42 ==== */
/* Dark sections: move headline farther right, keep caption + supporting text left */
#catalog .shead,
#decor .shead{
  grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr)!important;
  grid-template-areas:
    "eyebrow title"
    "lead title"!important;
  column-gap:clamp(54px,7vw,110px)!important;
  align-items:start!important;
}


#catalog .shead h2,
#decor .shead h2{
  justify-self:end!important;
  width:min(100%,430px)!important;
  max-width:11ch!important;
}


#catalog .shead .eyebrow,
#decor .shead .eyebrow,
#catalog .shead .lead,
#decor .shead .lead{
  justify-self:start!important;
}


#catalog .shead .lead,
#decor .shead .lead{
  max-width:44ch!important;
}


/* Compact MacBook layouts: still push title right, but preserve usable width */
@media (min-width:1180px) and (max-height:1000px){
  #catalog .shead,
  #decor .shead{
    grid-template-columns:minmax(0,1.2fr) minmax(340px,.68fr)!important;
    column-gap:clamp(46px,6vw,86px)!important;
  }
  #catalog .shead h2,
  #decor .shead h2{
    width:min(100%,400px)!important;
  }
}


/* Tablet/mobile: stack normally */
@media (max-width:1024px){
  #catalog .shead,
  #decor .shead{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "lead"!important;
  }
  #catalog .shead h2,
  #decor .shead h2{
    justify-self:start!important;
    width:auto!important;
    max-width:none!important;
  }
}

/* ==== auto-3d-access-v43 ==== */
#auto .auto-head{
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr)!important;
  align-items:start!important;
  gap:clamp(34px,5vw,74px)!important;
}
#auto .auto-head-side{
  display:flex;
  flex-direction:column;
  gap:22px;
  padding-top:2px;
}
#auto .auto-head .lead{
  max-width:62ch!important;
  margin:0!important;
}
#auto .auto-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(17,24,33,.15);
}
#auto .auto-point{
  padding:16px 16px 0 0;
  min-width:0;
}
#auto .auto-point + .auto-point{
  border-left:1px solid rgba(17,24,33,.12);
  padding-left:16px;
}
#auto .auto-point strong{
  display:block;
  margin-bottom:6px;
  color:#111821;
  font-size:.78rem;
  line-height:1.28;
}
#auto .auto-point span{
  display:block;
  color:#677384;
  font-size:.72rem;
  line-height:1.45;
}


/* On 1470x956-class MacBook screens keep the message and first visuals visible together */
@media (min-width:1180px) and (max-height:1000px){
  #auto.auto-showcase{
    padding-top:50px!important;
    padding-bottom:58px!important;
  }
  #auto .auto-head{
    margin-bottom:30px!important;
    gap:46px!important;
  }
  #auto .auto-head h2{
    font-size:clamp(2rem,2.7vw,2.8rem)!important;
    max-width:12ch!important;
  }
  #auto .auto-head .lead{
    font-size:.92rem!important;
    line-height:1.55!important;
  }
  #auto .auto-head-side{
    gap:16px;
  }
  #auto .auto-point{
    padding-top:12px;
  }
  #auto .auto-point strong{font-size:.75rem;}
  #auto .auto-point span{font-size:.69rem;}
  #auto .auto-card:nth-child(1),
  #auto .auto-card:nth-child(2){
    min-height:410px!important;
  }
  #auto .auto-card:nth-child(3),
  #auto .auto-card:nth-child(4),
  #auto .auto-card:nth-child(5){
    min-height:320px!important;
  }
}
@media (max-width:980px){
  #auto .auto-head{
    grid-template-columns:1fr!important;
  }
  #auto .auto-points{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:640px){
  #auto .auto-points{grid-template-columns:1fr;}
  #auto .auto-point{padding:14px 0;}
  #auto .auto-point + .auto-point{
    border-left:0;
    border-top:1px solid rgba(17,24,33,.10);
    padding-left:0;
  }
}

/* ==== auto-simple-copy-v44 ==== */
#auto .auto-card h3,
#auto .auto-card:nth-child(1) h3,
#auto .auto-card:nth-child(2) h3,
#auto .auto-card:nth-child(3) h3,
#auto .auto-card:nth-child(4) h3,
#auto .auto-card:nth-child(5) h3{
  font-size:clamp(1.22rem,1.55vw,1.48rem)!important;
  line-height:1.13!important;
  font-weight:500!important;
  max-width:22ch!important;
}
#auto .auto-head h2{
  max-width:16ch!important;
}
@media (min-width:1180px) and (max-height:1000px){
  #auto .auto-head{
    margin-bottom:26px!important;
  }
  #auto .auto-head h2{
    font-size:clamp(1.9rem,2.35vw,2.45rem)!important;
    max-width:17ch!important;
  }
  #auto .auto-head .lead{
    font-size:.88rem!important;
    line-height:1.5!important;
  }
  #auto .auto-point strong{font-size:.72rem!important;}
  #auto .auto-point span{font-size:.67rem!important;line-height:1.4!important;}
  #auto .auto-card h3,
  #auto .auto-card:nth-child(n) h3{
    font-size:1.28rem!important;
    line-height:1.12!important;
  }
  #auto .auto-card p{
    font-size:.84rem!important;
    line-height:1.5!important;
  }
}

/* ==== decor-compact-v45 ==== */
/* Compact decor & gifts section on every device */
#decor{
  padding-top:clamp(44px,5.5vw,64px)!important;
  padding-bottom:clamp(48px,6vw,70px)!important;
}
#decor .shead{
  padding-bottom:clamp(24px,3vw,34px)!important;
}
#decor .gallery{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}


/* Remove oversized bento proportions */
#decor .gallery > .card,
#decor .gallery > .card:nth-child(1),
#decor .gallery > .card:nth-child(2),
#decor .gallery > .card:nth-child(3),
#decor .gallery > .card:nth-child(4),
#decor .gallery > .card:nth-child(5),
#decor .gallery > .card:nth-child(6){
  grid-column:span 1!important;
  grid-row:auto!important;
  min-height:0!important;
}


/* Keep all images compact and consistent */
#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb{
  aspect-ratio:16/10!important;
  min-height:0!important;
  max-height:240px!important;
  flex:none!important;
}
#decor .gallery > .card .thumb img{
  object-fit:cover!important;
}


/* Tighter card copy */
#decor .gallery > .card .body{
  padding:14px 15px 16px!important;
}
#decor .gallery > .card h4{
  margin-bottom:6px!important;
  font-size:1rem!important;
  line-height:1.2!important;
}
#decor .gallery > .card p{
  font-size:.78rem!important;
  line-height:1.45!important;
  margin-bottom:0!important;
}
#decor .gallery > .card .card-tg{
  margin-top:9px!important;
  font-size:.72rem!important;
}


/* Compact MacBook / 1470x956 */
@media (min-width:1180px) and (max-height:1000px){
  #decor{
    padding-top:42px!important;
    padding-bottom:54px!important;
  }
  #decor .shead{
    padding-bottom:26px!important;
  }
  #decor .gallery{
    gap:12px!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    max-height:205px!important;
  }
  #decor .gallery > .card .body{
    padding:12px 13px 14px!important;
  }
  #decor .gallery > .card h4{
    font-size:.92rem!important;
  }
  #decor .gallery > .card p{
    font-size:.72rem!important;
    line-height:1.4!important;
  }
  #decor .gallery > .card .card-tg{
    font-size:.68rem!important;
    margin-top:7px!important;
  }
}


/* Tablet: two cards per row */
@media (max-width:900px){
  #decor .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    max-height:220px!important;
  }
}


/* Mobile: horizontal cards to save vertical space */
@media (max-width:620px){
  #decor{
    padding-top:38px!important;
    padding-bottom:46px!important;
  }
  #decor .gallery{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #decor .gallery > .card{
    display:grid!important;
    grid-template-columns:38% 62%!important;
    align-items:stretch!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    min-height:150px!important;
  }
  #decor .gallery > .card .body{
    padding:13px 13px 14px!important;
  }
  #decor .gallery > .card h4{
    font-size:.94rem!important;
  }
  #decor .gallery > .card p{
    font-size:.73rem!important;
    line-height:1.4!important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  #decor .gallery > .card .card-tg{
    font-size:.68rem!important;
  }
}

/* ==== decor-image-height-v46 ==== */
/* Taller decor images so full objects remain visible */
#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb{
  aspect-ratio:4/3!important;
  max-height:320px!important;
  min-height:240px!important;
  background:#ECECEC!important;
}
#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}


/* First card gets a little more height for the full planter */
#decor .gallery > .card:nth-child(1) .thumb{
  min-height:300px!important;
  max-height:360px!important;
}


/* MacBook compact view: still taller than before */
@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery > .card .thumb{
    min-height:220px!important;
    max-height:280px!important;
  }
  #decor .gallery > .card:nth-child(1) .thumb{
    min-height:270px!important;
    max-height:320px!important;
  }
}


/* Tablet */
@media (max-width:900px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    min-height:220px!important;
    max-height:300px!important;
  }
}


/* Mobile horizontal cards: keep the object visible without excessive height */
@media (max-width:620px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    min-height:170px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}

/* ==== decor-masonry-v47 ==== */
/* Compact masonry / bento layout for Decor & Gifts */
#decor .gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
}


/* reset previous compact grid */
#decor .gallery > .card,
#decor .gallery > .card:nth-child(1),
#decor .gallery > .card:nth-child(2),
#decor .gallery > .card:nth-child(3),
#decor .gallery > .card:nth-child(4),
#decor .gallery > .card:nth-child(5),
#decor .gallery > .card:nth-child(6){
  display:flex!important;
  flex-direction:column!important;
  grid-row:auto!important;
  min-height:0!important;
}


/* masonry proportions */
#decor .gallery > .card:nth-child(1){
  grid-column:span 6!important;
}
#decor .gallery > .card:nth-child(2),
#decor .gallery > .card:nth-child(3){
  grid-column:span 3!important;
}
#decor .gallery > .card:nth-child(4),
#decor .gallery > .card:nth-child(5),
#decor .gallery > .card:nth-child(6){
  grid-column:span 4!important;
}


/* images stay COVER, just a little taller */
#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb{
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  flex:none!important;
  overflow:hidden!important;
  background:#191D20!important;
}
#decor .gallery > .card .thumb{
  aspect-ratio:1.28/1!important;
}
#decor .gallery > .card:nth-child(1) .thumb{
  aspect-ratio:1.45/1!important;
}
#decor .gallery > .card:nth-child(2) .thumb,
#decor .gallery > .card:nth-child(3) .thumb{
  aspect-ratio:1/1.05!important;
}
#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}


/* keep the vase framed well */
#decor .gallery > .card:nth-child(1) .thumb img{
  object-position:center 54%!important;
}


/* tighter text so masonry remains compact */
#decor .gallery > .card .body{
  padding:14px 15px 16px!important;
}
#decor .gallery > .card h4{
  font-size:.98rem!important;
  line-height:1.2!important;
}
#decor .gallery > .card p{
  font-size:.76rem!important;
  line-height:1.45!important;
}
#decor .gallery > .card .card-tg{
  font-size:.7rem!important;
  margin-top:8px!important;
}


/* MacBook ~1470x956 */
@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery{gap:12px!important;}
  #decor .gallery > .card .body{padding:12px 13px 14px!important;}
  #decor .gallery > .card h4{font-size:.9rem!important;}
  #decor .gallery > .card p{font-size:.69rem!important;}
  #decor .gallery > .card .card-tg{font-size:.66rem!important;}
}


/* tablet: balanced 2-column masonry */
@media (max-width:900px){
  #decor .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #decor .gallery > .card:nth-child(n){
    grid-column:span 1!important;
  }
  #decor .gallery > .card:nth-child(1){
    grid-column:1/-1!important;
  }
  #decor .gallery > .card:nth-child(1) .thumb{
    aspect-ratio:1.7/1!important;
  }
}


/* mobile: single-column cards, still COVER */
@media (max-width:620px){
  #decor .gallery{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  #decor .gallery > .card,
  #decor .gallery > .card:nth-child(n){
    display:flex!important;
    grid-column:1!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb{
    aspect-ratio:1.38/1!important;
    min-height:0!important;
  }
}

/* ==== decor-diagonal-v48 ==== */
/* Decor section: diagonal / stepped composition */
#decor .gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:72px!important;
  gap:14px!important;
  align-items:start!important;
}


/* base card behavior */
#decor .gallery > .card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}


/* stepped diagonal placement */
#decor .gallery > .card:nth-child(1){
  grid-column:1 / span 6!important;
  grid-row:1 / span 6!important;
}
#decor .gallery > .card:nth-child(2){
  grid-column:7 / span 3!important;
  grid-row:1 / span 5!important;
}
#decor .gallery > .card:nth-child(3){
  grid-column:10 / span 3!important;
  grid-row:2 / span 5!important;
}
#decor .gallery > .card:nth-child(4){
  grid-column:1 / span 4!important;
  grid-row:7 / span 4!important;
}
#decor .gallery > .card:nth-child(5){
  grid-column:5 / span 4!important;
  grid-row:8 / span 4!important;
}
#decor .gallery > .card:nth-child(6){
  grid-column:9 / span 4!important;
  grid-row:9 / span 4!important;
}


/* images: cover and slightly taller */
#decor .gallery > .card .thumb{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  width:100%!important;
  overflow:hidden!important;
  background:#191D20!important;
}
#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}


/* crop tuning */
#decor .gallery > .card:nth-child(1) .thumb img{object-position:center 56%!important;}
#decor .gallery > .card:nth-child(2) .thumb img{object-position:center 48%!important;}
#decor .gallery > .card:nth-child(3) .thumb img{object-position:center 52%!important;}
#decor .gallery > .card:nth-child(4) .thumb img{object-position:center 46%!important;}
#decor .gallery > .card:nth-child(5) .thumb img{object-position:center 50%!important;}
#decor .gallery > .card:nth-child(6) .thumb img{object-position:center 50%!important;}


/* compact copy */
#decor .gallery > .card .body{padding:14px 15px 16px!important;}
#decor .gallery > .card h4{
  font-size:.98rem!important;
  line-height:1.18!important;
  margin:0 0 .45em!important;
}
#decor .gallery > .card p{
  font-size:.77rem!important;
  line-height:1.46!important;
  margin:0!important;
}
#decor .gallery > .card .card-tg{
  font-size:.71rem!important;
  margin-top:8px!important;
}


/* macOS / compact landscape */
@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery{grid-auto-rows:66px!important;gap:12px!important;}
  #decor .gallery > .card .body{padding:12px 13px 14px!important;}
  #decor .gallery > .card h4{font-size:.9rem!important;}
  #decor .gallery > .card p{font-size:.69rem!important;line-height:1.42!important;}
  #decor .gallery > .card .card-tg{font-size:.66rem!important;}
}


/* tablet */
@media (max-width:900px){
  #decor .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
  }
  #decor .gallery > .card:nth-child(1){grid-column:1 / -1!important;grid-row:auto!important;}
  #decor .gallery > .card:nth-child(2),
  #decor .gallery > .card:nth-child(3),
  #decor .gallery > .card:nth-child(4),
  #decor .gallery > .card:nth-child(5),
  #decor .gallery > .card:nth-child(6){
    grid-column:span 1!important;
    grid-row:auto!important;
  }
  #decor .gallery > .card .thumb{aspect-ratio:1.18/1!important;flex:none!important;}
  #decor .gallery > .card:nth-child(1) .thumb{aspect-ratio:1.55/1!important;}
}


/* mobile */
@media (max-width:620px){
  #decor .gallery{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  #decor .gallery > .card:nth-child(n){
    grid-column:1!important;
    grid-row:auto!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    aspect-ratio:1.35/1!important;
    flex:none!important;
  }
}

/* ==== decor-equal-columns-v49 ==== */
/* Decor section: simple equal columns */
#decor .gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:14px!important;
}


#decor .gallery > .card,
#decor .gallery > .card:nth-child(1),
#decor .gallery > .card:nth-child(2),
#decor .gallery > .card:nth-child(3),
#decor .gallery > .card:nth-child(4),
#decor .gallery > .card:nth-child(5),
#decor .gallery > .card:nth-child(6){
  display:flex!important;
  flex-direction:column!important;
  grid-column:auto!important;
  grid-row:auto!important;
  height:auto!important;
  min-height:0!important;
}


#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb{
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  max-height:none!important;
  flex:none!important;
  overflow:hidden!important;
  background:#191D20!important;
}


#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}


#decor .gallery > .card:nth-child(1) .thumb img{object-position:center 56%!important;}


#decor .gallery > .card .body{
  padding:14px 15px 16px!important;
}


#decor .gallery > .card h4{
  font-size:.98rem!important;
  line-height:1.2!important;
  margin:0 0 6px!important;
}


#decor .gallery > .card p{
  font-size:.76rem!important;
  line-height:1.45!important;
  margin:0!important;
}


#decor .gallery > .card .card-tg{
  font-size:.7rem!important;
  margin-top:8px!important;
}


@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery{gap:12px!important;}
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    aspect-ratio:1.34/1!important;
  }
  #decor .gallery > .card .body{
    padding:12px 13px 14px!important;
  }
  #decor .gallery > .card h4{font-size:.9rem!important;}
  #decor .gallery > .card p{font-size:.69rem!important;}
  #decor .gallery > .card .card-tg{font-size:.66rem!important;}
}


@media (max-width:900px){
  #decor .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


@media (max-width:620px){
  #decor .gallery{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb{
    aspect-ratio:1.35/1!important;
  }
}

/* ==== decor-equal-image-height-v50 ==== */
/* Equal image height for all decor cards */
#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb,
#decor .gallery > .card:nth-child(2) .thumb,
#decor .gallery > .card:nth-child(3) .thumb,
#decor .gallery > .card:nth-child(4) .thumb,
#decor .gallery > .card:nth-child(5) .thumb,
#decor .gallery > .card:nth-child(6) .thumb{
  height:300px!important;
  min-height:300px!important;
  max-height:300px!important;
  aspect-ratio:auto!important;
  flex:none!important;
}


#decor .gallery > .card .thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}


/* MacBook ~1470x956 */
@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height:270px!important;
    min-height:270px!important;
    max-height:270px!important;
  }
}


/* Tablet */
@media (max-width:900px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
}


/* Mobile */
@media (max-width:620px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}

/* ==== decor-equal-image-height-v51 ==== */
/* Make all decor images taller while keeping equal heights */
#decor .gallery > .card .thumb,
#decor .gallery > .card:nth-child(1) .thumb,
#decor .gallery > .card:nth-child(2) .thumb,
#decor .gallery > .card:nth-child(3) .thumb,
#decor .gallery > .card:nth-child(4) .thumb,
#decor .gallery > .card:nth-child(5) .thumb,
#decor .gallery > .card:nth-child(6) .thumb{
  height: 360px !important;
  min-height: 360px !important;
  max-height: 360px !important;
  aspect-ratio: auto !important;
  flex: none !important;
  overflow: hidden !important;
}


#decor .gallery > .card .thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* Show more of the planter and flowers */
#decor .gallery > .card:nth-child(1) .thumb img{
  object-position: center 42% !important;
}


/* MacBook / compact desktop */
@media (min-width:1180px) and (max-height:1000px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
  }
}


/* Tablet */
@media (max-width:900px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
  }
}


/* Mobile */
@media (max-width:620px){
  #decor .gallery > .card .thumb,
  #decor .gallery > .card:nth-child(1) .thumb,
  #decor .gallery > .card:nth-child(2) .thumb,
  #decor .gallery > .card:nth-child(3) .thumb,
  #decor .gallery > .card:nth-child(4) .thumb,
  #decor .gallery > .card:nth-child(5) .thumb,
  #decor .gallery > .card:nth-child(6) .thumb{
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }
}

/* ==== pack-showcase-grey-v52 ==== */
/* -------------------------------------------------
   PACKAGING + SHOWCASE
   Both sections use the same neutral grey background,
   but different visual structures.
-------------------------------------------------- */
#ambalare,
#vitrina{
  background:#EEF1F1!important;
  color:#17202A!important;
  border-top:1px solid rgba(20,23,26,.07);
}


#ambalare{
  padding:clamp(54px,6vw,78px) 0!important;
}


#vitrina{
  padding:clamp(58px,6.5vw,82px) 0!important;
  border-bottom:1px solid rgba(20,23,26,.07);
}


/* ---------- PACKAGING: editorial bento ---------- */
#ambalare .shead{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr)!important;
  grid-template-areas:
    "eyebrow title"
    "lead title"!important;
  gap:16px clamp(42px,6vw,86px)!important;
  align-items:start!important;
  padding:0 0 clamp(30px,4vw,44px)!important;
}


#ambalare .shead .eyebrow{
  grid-area:eyebrow!important;
  margin:0!important;
}


#ambalare .shead h2{
  grid-area:title!important;
  margin:0!important;
  max-width:12ch!important;
  color:#17202A!important;
}


#ambalare .shead .lead{
  grid-area:lead!important;
  margin:0!important;
  max-width:44ch!important;
  color:#5D6875!important;
}


#ambalare .pack-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(210px,auto))!important;
  gap:14px!important;
}


#ambalare .pack-grid .gallery-item{
  position:relative!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#DDE1E3!important;
  min-height:0!important;
  cursor:zoom-in;
}


#ambalare .pack-grid .gallery-item:nth-child(1){
  grid-column:1 / span 7!important;
  grid-row:1 / span 2!important;
}


#ambalare .pack-grid .gallery-item:nth-child(2){
  grid-column:8 / span 5!important;
  grid-row:1!important;
}


#ambalare .pack-grid .gallery-item:nth-child(3){
  grid-column:8 / span 3!important;
  grid-row:2!important;
}


#ambalare .pack-grid .gallery-item:nth-child(4){
  grid-column:11 / span 2!important;
  grid-row:2!important;
}


#ambalare .pack-grid img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .45s ease;
}


#ambalare .pack-grid .gallery-item:hover img{
  transform:scale(1.025);
}


#ambalare .pack-grid .gallery-item:nth-child(1) img{object-position:center 44%!important;}
#ambalare .pack-grid .gallery-item:nth-child(2) img{object-position:center 48%!important;}
#ambalare .pack-grid .gallery-item:nth-child(3) img{object-position:center 50%!important;}
#ambalare .pack-grid .gallery-item:nth-child(4) img{object-position:center 50%!important;}


#ambalare .pack-grid .cap{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  margin:0!important;
  padding:44px 16px 15px!important;
  color:#fff!important;
  font-size:.76rem!important;
  line-height:1.45!important;
  background:linear-gradient(180deg,transparent,rgba(12,16,20,.82))!important;
}


/* ---------- SHOWCASE: fixed mosaic instead of slider ---------- */
#vitrina .showcase-head{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr)!important;
  gap:clamp(42px,6vw,86px)!important;
  align-items:end!important;
  margin-bottom:clamp(30px,4vw,42px)!important;
}


#vitrina .showcase-head .shead{
  display:grid!important;
  grid-template-columns:1fr!important;
  padding:0!important;
  gap:12px!important;
  max-width:none!important;
}


#vitrina .showcase-head .shead h2{
  color:#17202A!important;
  max-width:12ch!important;
  margin:0!important;
}


#vitrina .showcase-head .shead .lead{
  color:#5D6875!important;
  max-width:50ch!important;
  margin:0!important;
}


#vitrina .showcase-nav,
#vitrina .showcase-dots{
  display:none!important;
}


#vitrina .showcase-track{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
}


#vitrina .showcase-card{
  width:auto!important;
  flex:none!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:0!important;
  border:1px solid rgba(20,23,26,.10)!important;
  background:#F8F9F9!important;
  color:#17202A!important;
  overflow:hidden!important;
  min-width:0!important;
}


#vitrina .showcase-card:nth-child(1),
#vitrina .showcase-card:nth-child(6){
  grid-column:span 6!important;
}


#vitrina .showcase-card:nth-child(2),
#vitrina .showcase-card:nth-child(3),
#vitrina .showcase-card:nth-child(4),
#vitrina .showcase-card:nth-child(5),
#vitrina .showcase-card:nth-child(7),
#vitrina .showcase-card:nth-child(8){
  grid-column:span 3!important;
}


#vitrina .showcase-card .fr{
  width:100%!important;
  height:250px!important;
  aspect-ratio:auto!important;
  background:#DDE1E3!important;
  overflow:hidden!important;
}


#vitrina .showcase-card:nth-child(1) .fr,
#vitrina .showcase-card:nth-child(6) .fr{
  height:320px!important;
}


#vitrina .showcase-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}


#vitrina .showcase-card p{
  margin:0!important;
  padding:14px 15px 16px!important;
  color:#4F5A67!important;
  font-size:.78rem!important;
  line-height:1.48!important;
}


/* ---------- MacBook 1470x956 ---------- */
@media (min-width:1180px) and (max-height:1000px){
  #ambalare,
  #vitrina{
    padding-top:46px!important;
    padding-bottom:54px!important;
  }


  #ambalare .shead,
  #vitrina .showcase-head{
    gap:14px 52px!important;
    margin-bottom:28px!important;
  }


  #ambalare .pack-grid{
    grid-template-rows:repeat(2,190px)!important;
    gap:12px!important;
  }


  #ambalare .pack-grid .cap{
    font-size:.68rem!important;
    padding:38px 13px 12px!important;
  }


  #vitrina .showcase-track{
    gap:12px!important;
  }


  #vitrina .showcase-card .fr{
    height:215px!important;
  }


  #vitrina .showcase-card:nth-child(1) .fr,
  #vitrina .showcase-card:nth-child(6) .fr{
    height:270px!important;
  }


  #vitrina .showcase-card p{
    font-size:.7rem!important;
    padding:11px 12px 13px!important;
  }
}


/* ---------- Tablet ---------- */
@media (max-width:900px){
  #ambalare .shead,
  #vitrina .showcase-head{
    grid-template-columns:1fr!important;
    grid-template-areas:none!important;
    gap:14px!important;
  }


  #ambalare .shead .eyebrow,
  #ambalare .shead h2,
  #ambalare .shead .lead{
    grid-area:auto!important;
    max-width:none!important;
  }


  #ambalare .pack-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
  }


  #ambalare .pack-grid .gallery-item:nth-child(n){
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:260px!important;
  }


  #ambalare .pack-grid .gallery-item:nth-child(1){
    grid-column:1/-1!important;
    min-height:360px!important;
  }


  #vitrina .showcase-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }


  #vitrina .showcase-card:nth-child(n){
    grid-column:span 1!important;
  }


  #vitrina .showcase-card:nth-child(1),
  #vitrina .showcase-card:nth-child(6){
    grid-column:1/-1!important;
  }
}


/* ---------- Mobile ---------- */
@media (max-width:620px){
  #ambalare,
  #vitrina{
    padding-top:42px!important;
    padding-bottom:48px!important;
  }


  #ambalare .pack-grid,
  #vitrina .showcase-track{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }


  #ambalare .pack-grid .gallery-item:nth-child(n),
  #vitrina .showcase-card:nth-child(n){
    grid-column:1!important;
    grid-row:auto!important;
  }


  #ambalare .pack-grid .gallery-item:nth-child(n){
    min-height:240px!important;
  }


  #vitrina .showcase-card .fr,
  #vitrina .showcase-card:nth-child(1) .fr,
  #vitrina .showcase-card:nth-child(6) .fr{
    height:230px!important;
  }
}

/* ==== pack-showcase-clean-v53 ==== */
/* Both sections remain light grey */
#ambalare,
#vitrina{
  background:#EEF1F1!important;
  color:#17202A!important;
}


/* Packaging: clean and ordered, not bento */
#ambalare{
  padding:clamp(54px,6vw,76px) 0!important;
}
#ambalare .shead{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr)!important;
  grid-template-areas:
    "eyebrow title"
    "lead title"!important;
  gap:16px clamp(42px,6vw,82px)!important;
  align-items:start!important;
  padding:0 0 clamp(28px,3.5vw,40px)!important;
}
#ambalare .shead .eyebrow{grid-area:eyebrow!important;margin:0!important;}
#ambalare .shead h2{
  grid-area:title!important;
  margin:0!important;
  max-width:13ch!important;
  color:#17202A!important;
}
#ambalare .shead .lead{
  grid-area:lead!important;
  margin:0!important;
  max-width:44ch!important;
  color:#5D6875!important;
}
#ambalare .pack-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  gap:14px!important;
}
#ambalare .pack-grid .gallery-item,
#ambalare .pack-grid .gallery-item:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  border:1px solid rgba(20,23,26,.10)!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#DDE1E3!important;
}
#ambalare .pack-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#ambalare .pack-grid .cap{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  margin:0!important;
  padding:48px 14px 14px!important;
  color:#fff!important;
  font-size:.74rem!important;
  line-height:1.45!important;
  background:linear-gradient(180deg,transparent,rgba(12,16,20,.84))!important;
}


/* Showcase: restore original horizontal carousel */
#vitrina{
  padding:clamp(58px,6vw,78px) 0!important;
}
#vitrina .showcase-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  flex-wrap:wrap!important;
  margin-bottom:22px!important;
}
#vitrina .showcase-head .shead{
  display:block!important;
  padding:0!important;
  max-width:720px!important;
}
#vitrina .showcase-head .shead h2{
  max-width:13ch!important;
  margin:.3em 0 .35em!important;
  color:#17202A!important;
}
#vitrina .showcase-head .shead .lead{
  max-width:54ch!important;
  margin:0!important;
  color:#5D6875!important;
}
#vitrina .showcase-nav{
  display:flex!important;
  gap:10px!important;
}
#vitrina .showcase-dots{
  display:flex!important;
}
#vitrina .showcase-track{
  display:flex!important;
  gap:14px!important;
  overflow-x:auto!important;
  padding:2px 2px 12px!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
#vitrina .showcase-track::-webkit-scrollbar{display:none!important;}
#vitrina .showcase-card,
#vitrina .showcase-card:nth-child(n){
  flex:0 0 auto!important;
  width:min(74vw,280px)!important;
  min-width:0!important;
  display:block!important;
  border-radius:0!important;
  border:1px solid rgba(20,23,26,.10)!important;
  background:#F8F9F9!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  grid-column:auto!important;
}
#vitrina .showcase-card .fr,
#vitrina .showcase-card:nth-child(1) .fr,
#vitrina .showcase-card:nth-child(6) .fr{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  background:#DDE1E3!important;
}
#vitrina .showcase-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#vitrina .showcase-card p{
  margin:0!important;
  padding:12px 15px 16px!important;
  color:#4F5A67!important;
  font-size:.78rem!important;
  line-height:1.48!important;
}


/* MacBook */
@media (min-width:1180px) and (max-height:1000px){
  #ambalare,
  #vitrina{
    padding-top:46px!important;
    padding-bottom:54px!important;
  }
  #ambalare .pack-grid{gap:12px!important;}
  #ambalare .pack-grid .cap{font-size:.67rem!important;padding:42px 12px 12px!important;}
  #vitrina .showcase-card{width:240px!important;}
  #vitrina .showcase-card p{font-size:.69rem!important;padding:10px 12px 12px!important;}
}


/* Tablet */
@media (max-width:900px){
  #ambalare .shead{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "lead"!important;
    gap:14px!important;
  }
  #ambalare .shead h2,
  #ambalare .shead .lead{max-width:none!important;}
  #ambalare .pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* Mobile */
@media (max-width:620px){
  #ambalare .pack-grid{grid-template-columns:1fr!important;gap:11px!important;}
  #ambalare .pack-grid .gallery-item{aspect-ratio:1.2/1!important;}
  #vitrina .showcase-card{width:78vw!important;}
}

/* ==== carousel-bullets-visible-v55 ==== */
/* Make inactive carousel bullets clearly visible on light backgrounds */
.process-slider-dots button,
.process-slider-dots .dot,
.showcase-dots button,
.showcase-dots .dot,
.swiper-pagination-bullet{
  background:#AEB6C0!important;
  border:0!important;
  opacity:1!important;
}


.process-slider-dots button.is-active,
.process-slider-dots .dot.is-active,
.showcase-dots button.is-active,
.showcase-dots .dot.is-active,
.swiper-pagination-bullet-active{
  background:var(--accent)!important;
  opacity:1!important;
}


/* If bullets are tiny, keep inactive ones visible but subtle */
.process-slider-dots button,
.process-slider-dots .dot,
.showcase-dots button,
.showcase-dots .dot{
  box-shadow:0 0 0 1px rgba(23,32,42,.08)!important;
}

/* ==== pack-showcase-slider-v56 ==== */
/* ---------- packaging slider ---------- */
#ambalare,
#vitrina{
  background:#EEF1F1!important;
  color:#17202A!important;
}
#ambalare{
  padding:clamp(54px,6vw,78px) 0!important;
}
#ambalare .pack-head{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr)!important;
  grid-template-areas:
    "eyebrow title"
    "lead title"!important;
  gap:16px clamp(42px,6vw,82px)!important;
  align-items:start!important;
  padding:0 0 clamp(24px,3vw,34px)!important;
}
#ambalare .pack-head .eyebrow{grid-area:eyebrow!important;margin:0!important;}
#ambalare .pack-head h2{grid-area:title!important;margin:0!important;max-width:13ch!important;color:#17202A!important;}
#ambalare .pack-head .lead{grid-area:lead!important;margin:0!important;max-width:44ch!important;color:#5D6875!important;}
#ambalare .pack-carousel{position:relative!important;}
#ambalare .pack-nav,
#vitrina .showcase-nav{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
#ambalare .pack-nav button,
#vitrina .showcase-nav button{
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:1px solid rgba(23,32,42,.12)!important;
  background:#F8F9F9!important;
  color:#17202A!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease!important;
}
#ambalare .pack-nav button:hover,
#vitrina .showcase-nav button:hover{background:#fff!important;border-color:rgba(23,32,42,.22)!important;transform:translateY(-1px)!important;}
#ambalare .pack-nav button:disabled,
#vitrina .showcase-nav button:disabled{opacity:.45!important;cursor:default!important;transform:none!important;}
#ambalare .pack-nav button svg,
#vitrina .showcase-nav button svg{width:18px!important;height:18px!important;}
#ambalare .pack-track{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding:14px calc((100% - min(78vw,340px))/2) 20px!important;
}
#ambalare .pack-track::-webkit-scrollbar{display:none!important;}
#ambalare .pack-card{
  flex:0 0 auto!important;
  width:min(78vw,340px)!important;
  min-width:0!important;
  background:#F8F9F9!important;
  border:1px solid rgba(20,23,26,.10)!important;
  border-radius:0!important;
  overflow:hidden!important;
  scroll-snap-align:center!important;
  box-shadow:none!important;
  opacity:.62!important;
  transform-origin:center center!important;
  transition:transform .45s ease,opacity .45s ease!important;
}
#ambalare .pack-card.is-active{
  opacity:1!important;
  transform:perspective(1200px) rotateY(0deg) scale(1)!important;
}
#ambalare .pack-card.is-prev{
  opacity:.82!important;
  transform:perspective(1200px) rotateY(12deg) scale(.93)!important;
}
#ambalare .pack-card.is-next{
  opacity:.82!important;
  transform:perspective(1200px) rotateY(-12deg) scale(.93)!important;
}
#ambalare .pack-card .fr{
  width:100%!important;
  aspect-ratio:4/5!important;
  background:#DDE1E3!important;
  overflow:hidden!important;
}
#ambalare .pack-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#ambalare .pack-card .cap{
  margin:0!important;
  padding:14px 15px 16px!important;
  color:#4F5A67!important;
  font-size:.78rem!important;
  line-height:1.48!important;
  background:#F8F9F9!important;
}
#ambalare .pack-card:hover{box-shadow:none!important;}


/* ---------- showcase carousel refinements ---------- */
#vitrina{
  padding:clamp(58px,6vw,78px) 0!important;
}
#vitrina .showcase-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  flex-wrap:wrap!important;
  margin-bottom:22px!important;
}
#vitrina .showcase-head .shead{display:block!important;padding:0!important;max-width:720px!important;}
#vitrina .showcase-head .shead h2{max-width:13ch!important;margin:.3em 0 .35em!important;color:#17202A!important;}
#vitrina .showcase-head .shead .lead{max-width:54ch!important;margin:0!important;color:#5D6875!important;}
#vitrina .showcase-dots,
#ambalare .pack-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:2px!important;
  margin-top:6px!important;
}
#vitrina .showcase-dots span,
#ambalare .pack-dots span{
  width:26px!important;
  height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  position:relative!important;
}
#vitrina .showcase-dots span::before,
#ambalare .pack-dots span::before{
  content:""!important;
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#B5BEC8!important;
  opacity:1!important;
  box-shadow:0 0 0 1px rgba(23,32,42,.10)!important;
  transition:background .2s ease,transform .2s ease!important;
}
#vitrina .showcase-dots span.active::before,
#ambalare .pack-dots span.active::before{
  background:var(--accent)!important;
  transform:scale(1.35)!important;
}
#vitrina .showcase-track{
  display:flex!important;
  gap:14px!important;
  overflow-x:auto!important;
  padding:2px 2px 12px!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
#vitrina .showcase-track::-webkit-scrollbar{display:none!important;}
#vitrina .showcase-card,
#vitrina .showcase-card:nth-child(n){
  flex:0 0 auto!important;
  width:min(74vw,280px)!important;
  min-width:0!important;
  display:block!important;
  border-radius:0!important;
  border:1px solid rgba(20,23,26,.10)!important;
  background:#F8F9F9!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  box-shadow:none!important;
}
#vitrina .showcase-card .fr,
#vitrina .showcase-card:nth-child(1) .fr,
#vitrina .showcase-card:nth-child(6) .fr,
#vitrina .showcase-card:nth-child(9) .fr,
#vitrina .showcase-card:nth-child(13) .fr{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  background:#DDE1E3!important;
}
#vitrina .showcase-card img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
#vitrina .showcase-card p{margin:0!important;padding:12px 15px 16px!important;color:#4F5A67!important;font-size:.78rem!important;line-height:1.48!important;}


@media (min-width:1180px) and (max-height:1000px){
  #ambalare,
  #vitrina{padding-top:46px!important;padding-bottom:54px!important;}
  #ambalare .pack-card{width:300px!important;}
  #ambalare .pack-card .cap,
  #vitrina .showcase-card p{font-size:.69rem!important;padding:10px 12px 12px!important;}
  #vitrina .showcase-card{width:240px!important;}
}
@media (max-width:900px){
  #ambalare .pack-head{grid-template-columns:1fr!important;grid-template-areas:"eyebrow" "title" "lead"!important;gap:14px!important;}
  #ambalare .pack-head h2,
  #ambalare .pack-head .lead{max-width:none!important;}
}
@media (max-width:620px){
  #ambalare,
  #vitrina{padding-top:42px!important;padding-bottom:48px!important;}
  #ambalare .pack-nav,
  #vitrina .showcase-nav{justify-content:flex-start!important;}
  #ambalare .pack-track{padding-left:calc((100% - 78vw)/2)!important;padding-right:calc((100% - 78vw)/2)!important;}
  #ambalare .pack-card,
  #vitrina .showcase-card{width:78vw!important;}
}

/* ==== professional-sliders-v57 ==== */
/* Professional refinement: packaging + showcase */
#ambalare .pack-carousel,
#vitrina .wrap:last-child{
  position:relative;
}


/* Packaging carousel: calm coverflow, no shadows */
#ambalare .pack-track{
  gap:24px!important;
  padding-top:20px!important;
  padding-bottom:24px!important;
  perspective:1600px;
}
#ambalare .pack-card{
  width:min(72vw,330px)!important;
  border:1px solid rgba(23,32,42,.12)!important;
  background:#F7F8F8!important;
  box-shadow:none!important;
  opacity:.46!important;
  transform:perspective(1500px) scale(.90)!important;
  transition:
    transform .55s cubic-bezier(.22,.61,.36,1),
    opacity .4s ease,
    border-color .4s ease!important;
  will-change:transform;
}
#ambalare .pack-card.is-active{
  opacity:1!important;
  transform:perspective(1500px) rotateY(0) scale(1)!important;
  border-color:rgba(23,32,42,.20)!important;
  z-index:3;
}
#ambalare .pack-card.is-prev{
  opacity:.72!important;
  transform:perspective(1500px) rotateY(6deg) scale(.94) translateX(4px)!important;
  transform-origin:right center!important;
  z-index:2;
}
#ambalare .pack-card.is-next{
  opacity:.72!important;
  transform:perspective(1500px) rotateY(-6deg) scale(.94) translateX(-4px)!important;
  transform-origin:left center!important;
  z-index:2;
}
#ambalare .pack-card .fr{
  aspect-ratio:4/5!important;
  background:#E4E7E8!important;
}
#ambalare .pack-card img{
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
#ambalare .pack-card .cap{
  min-height:72px;
  display:flex;
  align-items:flex-start;
  padding:14px 16px 16px!important;
  border-top:1px solid rgba(23,32,42,.08);
  background:#F7F8F8!important;
  color:#596574!important;
}


/* Controls: restrained and consistent */
#ambalare .pack-nav button,
#vitrina .showcase-nav button{
  width:40px!important;
  height:40px!important;
  background:transparent!important;
  border:1px solid rgba(23,32,42,.18)!important;
  color:#17202A!important;
}
#ambalare .pack-nav button:hover,
#vitrina .showcase-nav button:hover{
  background:#17202A!important;
  color:#fff!important;
  border-color:#17202A!important;
}


/* Pagination: clearly visible inactive state */
#ambalare .pack-dots,
#vitrina .showcase-dots{
  gap:6px!important;
  margin-top:8px!important;
}
#ambalare .pack-dots span,
#vitrina .showcase-dots span{
  width:18px!important;
  height:18px!important;
}
#ambalare .pack-dots span::before,
#vitrina .showcase-dots span::before{
  width:7px!important;
  height:7px!important;
  background:#8F99A5!important;
  border:0!important;
  box-shadow:none!important;
  opacity:1!important;
}
#ambalare .pack-dots span.active::before,
#vitrina .showcase-dots span.active::before{
  width:16px!important;
  border-radius:999px!important;
  background:var(--accent)!important;
  transform:none!important;
}


/* Showcase cards: more editorial, equal and calm */
#vitrina .showcase-track{
  gap:16px!important;
  padding-bottom:14px!important;
}
#vitrina .showcase-card,
#vitrina .showcase-card:nth-child(n){
  width:min(72vw,270px)!important;
  border:1px solid rgba(23,32,42,.11)!important;
  background:#F7F8F8!important;
  box-shadow:none!important;
  transition:border-color .25s ease,transform .25s ease!important;
}
#vitrina .showcase-card:hover{
  border-color:rgba(23,32,42,.22)!important;
  transform:translateY(-2px);
}
#vitrina .showcase-card .fr,
#vitrina .showcase-card:nth-child(n) .fr{
  aspect-ratio:4/5!important;
  background:#E4E7E8!important;
}
#vitrina .showcase-card img{
  object-fit:cover!important;
  transform:none!important;
}
#vitrina .showcase-card:hover img{
  transform:none!important;
}
#vitrina .showcase-card p{
  min-height:64px;
  display:flex;
  align-items:flex-start;
  padding:13px 14px 15px!important;
  border-top:1px solid rgba(23,32,42,.07);
  background:#F7F8F8!important;
}


/* MacBook 1470x956 */
@media (min-width:1180px) and (max-height:1000px){
  #ambalare .pack-track{gap:20px!important;}
  #ambalare .pack-card{width:286px!important;}
  #ambalare .pack-card .cap{min-height:62px!important;}
  #vitrina .showcase-card{width:232px!important;}
  #vitrina .showcase-card p{min-height:56px!important;}
}


/* Tablet */
@media (max-width:900px){
  #ambalare .pack-track{gap:16px!important;}
  #ambalare .pack-card{width:min(74vw,320px)!important;}
  #ambalare .pack-card.is-prev{
    transform:perspective(1200px) rotateY(4deg) scale(.95)!important;
  }
  #ambalare .pack-card.is-next{
    transform:perspective(1200px) rotateY(-4deg) scale(.95)!important;
  }
}


/* Mobile: subtle perspective only */
@media (max-width:620px){
  #ambalare .pack-card{
    width:78vw!important;
  }
  #ambalare .pack-card.is-prev,
  #ambalare .pack-card.is-next{
    opacity:.68!important;
    transform:scale(.96)!important;
  }
  #vitrina .showcase-card{
    width:76vw!important;
  }
}


@media (prefers-reduced-motion:reduce){
  #ambalare .pack-card,
  #vitrina .showcase-card{
    transition:none!important;
  }
}

/* ==== packaging-fade-presentation-v58 ==== */
#ambalare{
  background:#EEF1F1!important;
  color:#17202A!important;
  padding:clamp(58px,7vw,92px) 0!important;
}


#ambalare .pack-presentation{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
  gap:clamp(48px,7vw,108px);
  align-items:center;
}


#ambalare .pack-copy{
  max-width:560px;
}


#ambalare .pack-copy .eyebrow{
  display:inline-flex;
  margin-bottom:18px;
}


#ambalare .pack-copy h2{
  margin:0 0 24px;
  max-width:13ch;
  color:#17202A;
  font-size:clamp(32px,2.8vw,46px)!important;
  line-height:1.04!important;
  font-weight:400!important;
  letter-spacing:-.04em!important;
}


#ambalare .pack-copy .lead{
  max-width:49ch;
  margin:0;
  color:#5D6875;
  font-size:1rem;
  line-height:1.7;
}


#ambalare .pack-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:34px;
  border-top:1px solid rgba(23,32,42,.14);
}


#ambalare .pack-points > div{
  padding:15px 14px 0 0;
  min-width:0;
}


#ambalare .pack-points > div + div{
  border-left:1px solid rgba(23,32,42,.12);
  padding-left:14px;
}


#ambalare .pack-points strong{
  display:block;
  margin-bottom:6px;
  color:#17202A;
  font-size:.78rem;
  line-height:1.3;
}


#ambalare .pack-points span{
  display:block;
  color:#718091;
  font-size:.73rem;
  line-height:1.48;
}


#ambalare .pack-visual{
  position:relative;
  min-width:0;
}


#ambalare .pack-fade-stage{
  position:relative;
  width:100%;
  height:clamp(470px,46vw,650px);
  overflow:hidden;
}


#ambalare .pack-fade-card{
  position:absolute;
  inset:0;
  margin:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:14px;
  opacity:0;
  visibility:hidden;
  transform:scale(1.018);
  transition:opacity .75s ease,transform 1.1s ease,visibility 0s linear .75s;
  background:transparent;
}


#ambalare .pack-fade-card.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  transition-delay:0s;
  z-index:2;
}


#ambalare .pack-fade-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  border:1px solid rgba(23,32,42,.09);
  background:#E3E6E7;
}


#ambalare .pack-fade-card figcaption{
  position:static;
  padding:0;
  color:#5D6875;
  font-size:.8rem;
  line-height:1.5;
  background:none;
}


#ambalare .pack-fade-status{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
  padding-top:12px;
  color:#6E7884;
  font-size:.68rem;
  letter-spacing:.12em;
}


#ambalare .pack-fade-line{
  width:48px;
  height:1px;
  background:rgba(23,32,42,.18);
}


/* 1470x956 / compact MacBook */
@media (min-width:1180px) and (max-height:1000px){
  #ambalare{
    padding-top:48px!important;
    padding-bottom:56px!important;
  }
  #ambalare .pack-presentation{
    gap:clamp(42px,5vw,72px);
  }
  #ambalare .pack-copy h2{
    font-size:clamp(1.95rem,2.35vw,2.5rem)!important;
    margin-bottom:18px;
  }
  #ambalare .pack-copy .lead{
    font-size:.9rem;
    line-height:1.58;
  }
  #ambalare .pack-points{
    margin-top:24px;
  }
  #ambalare .pack-fade-stage{
    height:min(60vh,560px);
  }
}


/* Tablet */
@media (max-width:960px){
  #ambalare .pack-presentation{
    grid-template-columns:1fr;
    gap:32px;
  }
  #ambalare .pack-copy{
    max-width:680px;
  }
  #ambalare .pack-fade-stage{
    height:580px;
  }
}


/* Mobile */
@media (max-width:620px){
  #ambalare{
    padding:44px 0 50px!important;
  }
  #ambalare .pack-presentation{
    gap:26px;
  }
  #ambalare .pack-copy h2{
    font-size:clamp(1.75rem,8vw,2.3rem)!important;
    max-width:none;
  }
  #ambalare .pack-copy .lead{
    font-size:.91rem;
    line-height:1.6;
  }
  #ambalare .pack-points{
    grid-template-columns:1fr;
    margin-top:24px;
  }
  #ambalare .pack-points > div{
    padding:12px 0;
  }
  #ambalare .pack-points > div + div{
    border-left:0;
    border-top:1px solid rgba(23,32,42,.10);
    padding-left:0;
  }
  #ambalare .pack-fade-stage{
    height:500px;
  }
  #ambalare .pack-fade-card figcaption{
    font-size:.75rem;
  }
}

/* ==== showcase-mouse-drag-v62 ==== */
#vitrina .showcase-track{
  cursor:grab!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:pan-y pinch-zoom!important;
  overscroll-behavior-x:contain!important;
}
#vitrina .showcase-track.is-dragging{
  cursor:grabbing!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}
#vitrina .showcase-track.is-dragging img{
  pointer-events:none!important;
}
#vitrina .showcase-card,
#vitrina .showcase-card img{
  -webkit-user-drag:none!important;
  user-drag:none!important;
}

/* ==== materials-natural-samples-v68 ==== */
#materiale.materials{
  background:#171A1D!important;
  color:#F3F1EA!important;
  padding:clamp(56px,6vw,84px) 0!important;
}
#materiale .materials-layout{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);
  gap:clamp(46px,6vw,88px);
  align-items:center;
}
#materiale .materials-copy{
  max-width:560px;
}
#materiale .materials-copy .eyebrow{
  color:var(--accent)!important;
  margin-bottom:18px;
}
#materiale .materials-copy h2{
  color:#F3F1EA!important;
  font-family:"IBM Plex Sans",sans-serif!important;
  font-weight:400!important;
  font-size:clamp(32px,3vw,46px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  max-width:12.5ch!important;
  margin:0 0 22px!important;
}
#materiale .materials-intro{
  color:#B9BEC2!important;
  max-width:48ch!important;
  font-size:.98rem!important;
  line-height:1.68!important;
  margin:0!important;
}
#materiale .materials-note{
  margin-top:24px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:#A9B0B6!important;
  font-size:.88rem!important;
  line-height:1.55!important;
  max-width:46ch!important;
}
#materiale .materials-note strong{
  color:#F3F1EA!important;
  font-weight:600!important;
}


/* Real-life style sample board */
#materiale .materials-palette{
  min-width:0;
}
#materiale .color-stage{
  width:100%;
}
#materiale .sample-board{
  position:relative;
  padding:24px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),
    #1D2125;
}
#materiale .sample-board::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 49.85%,rgba(255,255,255,.025) 50%,transparent 50.15%),
    linear-gradient(180deg,transparent 0 49.85%,rgba(255,255,255,.02) 50%,transparent 50.15%);
}
#materiale .sample-board-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
  color:#8E979F;
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#materiale .sample-board-label::after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(255,255,255,.08);
}
#materiale .sample-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px 12px;
}
#materiale .sample{
  min-width:0;
  width:100%;
}
#materiale .sample-chip{
  position:relative;
  width:100%;
  height:66px;
  border-radius:2px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px rgba(255,255,255,.12),
    inset 0 -10px 18px rgba(0,0,0,.12);
}
#materiale .sample-chip::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),
    linear-gradient(120deg,rgba(255,255,255,.10),transparent 32%);
  pointer-events:none;
}
#materiale .sample-name{
  display:block;
  margin-top:7px;
  color:#D8DAD6;
  font-size:.72rem;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* subtle, natural movement only */
#materiale .sample{
  transform:none!important;
}
#materiale .sample-chip{
  transition:transform .25s ease,border-color .25s ease;
}
#materiale .sample:hover .sample-chip{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.22);
}


#materiale .sample-note{
  margin-top:18px;
  color:#7F8992;
  font-size:.72rem;
  line-height:1.5;
}


/* MacBook */
@media (min-width:1180px) and (max-height:1000px){
  #materiale.materials{
    padding-top:46px!important;
    padding-bottom:54px!important;
  }
  #materiale .materials-layout{
    gap:48px!important;
  }
  #materiale .materials-copy h2{
    font-size:clamp(1.9rem,2.3vw,2.4rem)!important;
    margin-bottom:18px!important;
  }
  #materiale .materials-intro{
    font-size:.9rem!important;
    line-height:1.56!important;
  }
  #materiale .materials-note{
    margin-top:18px!important;
    padding-top:14px!important;
    font-size:.82rem!important;
  }
  #materiale .sample-board{
    padding:20px;
  }
  #materiale .sample-chip{
    height:58px;
  }
}


/* Tablet */
@media (max-width:980px){
  #materiale .materials-layout{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  #materiale .materials-copy{
    max-width:680px!important;
  }
}


/* Mobile */
@media (max-width:620px){
  #materiale.materials{
    padding:42px 0 48px!important;
  }
  #materiale .materials-copy h2{
    font-size:clamp(1.8rem,8vw,2.35rem)!important;
    max-width:none!important;
  }
  #materiale .materials-intro{
    font-size:.92rem!important;
    line-height:1.6!important;
  }
  #materiale .sample-board{
    padding:16px;
  }
  #materiale .sample-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px 10px;
  }
  #materiale .sample-chip{
    height:54px;
  }
  #materiale .sample-name{
    font-size:.67rem;
  }
}

/* ==== contact-unified-redesign ==== */
#contact.contact-unified{
  position:relative;
  background:#14171A!important;
  color:#fff;
  overflow:hidden;
  border-top:4px solid var(--accent);
}
#contact .contact-anchor{
  position:absolute;
  top:0;
  left:0;
}
#contact .contact-unified-wrap{
  display:block!important;
  max-width:1560px!important;
  margin:0 auto!important;
  padding:clamp(58px,7vw,86px) clamp(20px,4vw,64px) clamp(62px,7vw,90px)!important;
}
#contact .contact-unified-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
  gap:clamp(34px,6vw,88px);
  align-items:end;
  margin-bottom:clamp(36px,4vw,50px);
}
#contact .contact-unified-title .eyebrow{
  color:var(--accent);
  margin-bottom:14px;
}
#contact .contact-unified-title h2{
  margin:0!important;
  max-width:11ch!important;
  color:#fff!important;
  font-size:clamp(32px,4.2vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  font-weight:500!important;
}
#contact .contact-unified-lead{
  margin:0!important;
  max-width:47ch;
  color:rgba(255,255,255,.68)!important;
  font-size:clamp(.98rem,1.2vw,1.08rem)!important;
  line-height:1.75!important;
}
#contact .contact-unified-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
#contact .contact-unified-card{
  min-width:0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:17px 18px;
  min-height:84px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:15px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
#contact .contact-unified-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,91,40,.72);
  background:rgba(255,255,255,.085);
}
#contact .contact-unified-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--accent);
  color:#fff;
}
#contact .contact-unified-icon svg{
  width:23px;
  height:23px;
}
#contact .contact-unified-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
}
#contact .contact-unified-label{
  color:rgba(255,255,255,.58);
  font-size:.7rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:700;
}
#contact .contact-unified-copy strong{
  min-width:0;
  overflow:hidden;
  color:#fff!important;
  font-family:"Archivo",sans-serif;
  font-size:clamp(.9rem,1.05vw,1.02rem)!important;
  line-height:1.2!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#contact .contact-unified-arrow{
  align-self:start;
  color:rgba(255,255,255,.55);
  font-size:.95rem;
  line-height:1;
}
@media (max-width:1080px){
  #contact .contact-unified-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  #contact .contact-unified-head{
    grid-template-columns:1fr;
    gap:18px;
  }
  #contact .contact-unified-title h2{max-width:none!important;}
  #contact .contact-unified-lead{max-width:60ch;}
}
@media (max-width:560px){
  #contact .contact-unified-wrap{
    padding:44px 16px 50px!important;
  }
  #contact .contact-unified-grid{grid-template-columns:1fr;}
  #contact .contact-unified-card{min-height:78px;padding:15px;}
  #contact .contact-unified-icon{width:44px;height:44px;border-radius:12px;}
}

/* ==== showcase-carousel-v64-css ==== */
#vitrina .showcase-track{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  touch-action:pan-y!important;
  overscroll-behavior-x:none!important;
}
#vitrina .showcase-card{
  scroll-snap-align:none!important;
}

/* ==== figurine-mobile-image-height ==== */
@media (max-width:560px){
  #figurine .thumb,
  #figurine .card:nth-child(1) .thumb,
  #figurine .card:nth-child(6) .thumb,
  #figurine .card:nth-child(11) .thumb{
    height:380px!important;
    aspect-ratio:auto!important;
  }
  #figurine .thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* ==== enquiry-form-styles ==== */
.enquiry-section{
  padding:100px 0;
  background:#f4f6f8;
  color:#101b31;
}
.enquiry-wrap{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);
  gap:72px;
  align-items:start;
}
.enquiry-copy{
  position:sticky;
  top:118px;
  padding:22px 0;
}
.enquiry-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
  color:#FF4300!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.enquiry-eyebrow:before{
  content:"";
  width:28px;
  height:2px;
  background:#FF4300;
  flex:0 0 28px;
}
.enquiry-copy h2{
  margin:0 0 24px!important;
  max-width:560px;
  color:#101b31!important;
  font-size:clamp(32px,4.4vw,46px)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:-.045em;
}
.enquiry-copy>p{
  max-width:540px;
  margin:0;
  color:#536075!important;
  font-size:17px;
  line-height:1.75;
}
.enquiry-help{
  display:grid;
  gap:0;
  margin-top:42px;
  max-width:520px;
  border-top:1px solid #dfe5ec;
}
.enquiry-help>div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid #dfe5ec;
  color:#536075;
  font-size:14px;
}
.enquiry-help strong{
  color:#FF4300;
  font-size:11px;
  letter-spacing:.08em;
}
.enquiry-form{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e7ed;
  border-radius:18px;
  padding:34px;
  box-shadow:0 24px 70px rgba(16,27,49,.08);
}
.enquiry-form:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:#FF4300;
}
.enquiry-form-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:26px;
  align-items:start;
  padding-bottom:26px;
  margin-bottom:28px;
  border-bottom:1px solid #edf1f5;
}
.enquiry-form-head>span{
  color:#FF4300;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  white-space:nowrap;
}
.enquiry-form-head p{
  margin:0;
  color:#738097;
  font-size:14px;
  line-height:1.6;
}
.enquiry-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 18px;
}
.enquiry-field{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.enquiry-field>span{
  color:#33435d!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.enquiry-form input:not([type="file"]),
.enquiry-form select,
.enquiry-form textarea{
  width:100%;
  min-height:54px;
  box-sizing:border-box;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#fbfcfd;
  color:#101b31!important;
  padding:14px 15px;
  font:inherit;
  font-size:15px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.enquiry-form textarea{
  min-height:142px;
  resize:vertical;
}
.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder{
  color:#94a0b2!important;
  opacity:1;
}
.enquiry-form select{
  appearance:auto;
}
.enquiry-form input:not([type="file"]):focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus{
  border-color:#FF4300;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,90,47,.10);
}
.enquiry-full{grid-column:1/-1}
.enquiry-upload-box{
  position:relative;
  min-height:118px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px;
  border:1px dashed #cbd4df;
  border-radius:12px;
  background:#f8fafc;
  transition:.18s ease;
}
.enquiry-upload-box:hover{
  border-color:#FF4300;
  background:#fffaf8;
}
.enquiry-upload-box svg{
  width:34px;
  height:34px;
  flex:0 0 34px;
  fill:none;
  stroke:#FF4300;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.enquiry-upload-box div{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-right:20px;
}
.enquiry-upload-box strong{
  color:#101b31;
  font-size:15px;
  font-weight:600;
}
.enquiry-upload-box small{
  color:#738097;
  font-size:12px;
  line-height:1.45;
}
.enquiry-upload-box input[type="file"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.enquiry-file-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:0;
}
.enquiry-file-list:not(:empty){margin-top:2px}
.enquiry-file-list span{
  display:inline-flex;
  max-width:100%;
  padding:6px 9px;
  border-radius:999px;
  background:#eef2f6;
  color:#536075;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.enquiry-submit-row{
  display:flex;
  align-items:center;
  gap:20px;
  padding-top:4px;
}
.enquiry-submit-row button{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:0;
  border-radius:10px;
  background:#101b31;
  color:#fff;
  padding:14px 22px;
  font:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:.18s ease;
  white-space:nowrap;
}
.enquiry-submit-row button svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.enquiry-submit-row button:hover{
  background:#FF4300;
}
.enquiry-submit-row button:hover svg{
  transform:translateX(3px);
}
.enquiry-note{
  margin:0;
  color:#8290a3!important;
  font-size:12px;
  line-height:1.55;
}
.enquiry-hp{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media(max-width:1050px){
  .enquiry-wrap{
    grid-template-columns:1fr;
    gap:38px;
  }
  .enquiry-copy{
    position:static;
    padding:0;
  }
  .enquiry-copy h2{max-width:760px}
  .enquiry-copy>p{max-width:720px}
  .enquiry-help{
    grid-template-columns:repeat(3,1fr);
    max-width:none;
    border-top:1px solid #dfe5ec;
  }
  .enquiry-help>div{
    grid-template-columns:34px 1fr;
    padding:14px 14px 14px 0;
    border-bottom:1px solid #dfe5ec;
  }
}
@media(max-width:700px){
  .enquiry-section{padding:68px 0}
  .enquiry-wrap{gap:30px}
  .enquiry-copy h2{
    font-size:clamp(32px,11vw,46px)!important;
    letter-spacing:-.035em;
  }
  .enquiry-help{grid-template-columns:1fr}
  .enquiry-form{
    padding:24px 18px;
    border-radius:14px;
  }
  .enquiry-form-head{
    grid-template-columns:1fr;
    gap:8px;
  }
  .enquiry-grid{grid-template-columns:1fr}
  .enquiry-full{grid-column:auto}
  .enquiry-upload-box{
    min-height:124px;
    align-items:flex-start;
  }
  .enquiry-submit-row{
    align-items:stretch;
    flex-direction:column;
  }
  .enquiry-submit-row button{width:100%}
}

/* ==== section-actions-styles ==== */
.section-actions,
.section-actions-inline{
  position:relative;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:26px;
  opacity:1;
  visibility:visible;
}
.section-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:9px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

/* Light backgrounds */
.section-action-primary{
  background:#101b31;
  border:1px solid #101b31;
  color:#fff;
}
.section-action-primary:hover{
  background:#FF4300;
  border-color:#FF4300;
  color:#fff;
  transform:translateY(-1px);
}
.section-action-secondary{
  background:transparent;
  border:1px solid #cbd4df;
  color:#101b31;
}
.section-action-secondary:hover{
  background:#fff;
  border-color:#101b31;
  color:#101b31;
  transform:translateY(-1px);
}

/* Dark backgrounds */
.on-dark .section-action-primary,
.dark .section-action-primary{
  background:#FF4300;
  border-color:#FF4300;
  color:#fff;
}
.on-dark .section-action-primary:hover,
.dark .section-action-primary:hover{
  background:#FF4300;
  border-color:#FF4300;
  color:#fff;
}
.on-dark .section-action-secondary,
.dark .section-action-secondary{
  background:transparent;
  border:1px solid rgba(255,255,255,.42);
  color:#fff;
}
.on-dark .section-action-secondary:hover,
.dark .section-action-secondary:hover{
  background:rgba(255,255,255,.08);
  border-color:#fff;
  color:#fff;
}

/* Safety: never inherit low-opacity text from section themes */
.section-actions .section-action{
  opacity:1!important;
  visibility:visible!important;
}

@media(max-width:620px){
  .section-actions,
  .section-actions-inline{
    margin-top:22px;
    flex-wrap:wrap;
  }
  .section-action{
    min-height:44px;
    padding:11px 16px;
  }
}

/* ==== dark-section-cta-fix ==== */
#cad .section-action-primary{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#cad .section-action-primary:hover{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#cad .section-action-secondary{
  background:transparent!important;
  border-color:rgba(255,255,255,.65)!important;
  color:#fff!important;
}
#cad .section-action-secondary:hover{
  background:rgba(255,255,255,.08)!important;
  border-color:#fff!important;
  color:#fff!important;
}

/* ==== section-actions-bottom-spacing ==== */
.section-actions-bottom{
  margin-top:42px!important;
  margin-bottom:34px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  justify-content:flex-start!important;
}
@media(max-width:700px){
  .section-actions-bottom{
    margin-top:30px!important;
    margin-bottom:24px!important;
  }
}

/* ==== process-cta-position-fix ==== */
#proces .section-actions-inline{
  margin-top:26px!important;
  margin-bottom:0!important;
  padding:0!important;
  justify-content:flex-start!important;
}
@media(max-width:700px){
  #proces .section-actions-inline{
    margin-top:22px!important;
  }
}

/* ==== enquiry-ajax-response-styles ==== */
.enquiry-response{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:10px 6px;
}
.enquiry-response[hidden]{display:none!important}
.enquiry-response .response-mark{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  background:#FF4300;color:#fff;
  font-size:26px;margin-bottom:24px;
}
.enquiry-response h3{
  margin:0 0 16px;
  color:#101b31;
  font-size:clamp(30px,4vw,46px);
  line-height:1.05;
  font-weight:400;
}
.enquiry-response p{
  margin:0;
  max-width:560px;
  color:#536075;
  font-size:16px;
  line-height:1.7;
}
.enquiry-response .response-links{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;
}
.enquiry-response .response-links a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 18px;border-radius:9px;
  text-decoration:none;font-size:13px;font-weight:700;
  border:1px solid #cbd4df;color:#101b31;background:#fff;
}
.enquiry-response .response-links a:first-child{
  background:#101b31;border-color:#101b31;color:#fff;
}
.enquiry-response.is-error .response-mark{background:#101b31}
.enquiry-form.is-submitting{pointer-events:none;opacity:.72}
@media(max-width:620px){
  .enquiry-response{min-height:340px}
  .enquiry-response .response-links{flex-direction:column;width:100%}
  .enquiry-response .response-links a{width:100%}
}

/* ==== enquiry-success-hide-fix ==== */
.enquiry-form-head[hidden],
.enquiry-grid[hidden]{
  display:none!important;
}

/* ==== enquiry-required-stars ==== */
.enquiry-field{
  position:relative;
}
.enquiry-field>span{
  display:inline-block;
}
.enquiry-field>.req-star{
  display:inline;
  margin-left:4px;
  color:#FF4300;
  font-style:normal;
  font-size:14px;
  font-weight:700;
  line-height:1;
}

/* ==== enquiry-accessibility-anchor-fix ==== */
/* Keep the enquiry section clear of the sticky header when opened from CTA buttons. */
#enquiry{
  scroll-margin-top:96px;
}

/* Higher contrast for the enquiry form. */
#enquiry .enquiry-copy>p,
#enquiry .enquiry-help>div{
  color:#334155!important;
}
#enquiry .enquiry-form-head p{
  color:#42526a!important;
  font-size:15px;
}
#enquiry .enquiry-field>span{
  color:#1f2d42!important;
  font-size:12px!important;
}
#enquiry .enquiry-form input:not([type="file"]),
#enquiry .enquiry-form select,
#enquiry .enquiry-form textarea{
  color:#0f1b2d!important;
  font-size:16px;
  background:#fff;
  border-color:#c8d1dc;
}
#enquiry .enquiry-form input::placeholder,
#enquiry .enquiry-form textarea::placeholder{
  color:#5f6e82!important;
  opacity:1;
}
#enquiry .enquiry-upload-box strong{
  color:#162338!important;
}
#enquiry .enquiry-upload-box small,
#enquiry .enquiry-note,
#enquiry .enquiry-file-list span{
  color:#42526a!important;
}

/* ==== dark-section-cta-visibility-fix ==== */
#catalog .section-action-primary,
#cad .section-action-primary{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#catalog .section-action-primary:hover,
#cad .section-action-primary:hover{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#catalog .section-action-secondary,
#cad .section-action-secondary{
  background:transparent!important;
  border-color:rgba(255,255,255,.78)!important;
  color:#fff!important;
}
#catalog .section-action-secondary:hover,
#cad .section-action-secondary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#101b31!important;
}

/* ==== prototypes-cta-visibility-fix ==== */
#prototipuri .section-action-primary{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#prototipuri .section-action-primary:hover{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}
#prototipuri .section-action-secondary{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
#prototipuri .section-action-secondary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#101b31!important;
}
#prototipuri .section-action,
#prototipuri .section-action:visited{
  opacity:1!important;
  visibility:visible!important;
}

/* ==== section-button-contrast-final ==== */
/* Primary CTA: consistent and visible everywhere */
#proces .section-action-primary,
#auto .section-action-primary,
#car-modeling .section-action-primary,
#prototipuri .section-action-primary,
#figurine .section-action-primary,
#textura .section-action-primary,
#decor .section-action-primary,
#ambalare .section-action-primary,
#vitrina .section-action-primary,
#cad .section-action-primary,
#catalog .section-action-primary,
#materiale .section-action-primary{
  background:#FF4300!important;
  border-color:#FF4300!important;
  color:#fff!important;
}

/* LIGHT / GREY sections: dark secondary text */
#proces .section-action-secondary,
#auto .section-action-secondary,
#car-modeling .section-action-secondary,
#prototipuri .section-action-secondary,
#figurine .section-action-secondary,
#textura .section-action-secondary,
#decor .section-action-secondary,
#ambalare .section-action-secondary,
#vitrina .section-action-secondary{
  background:transparent!important;
  border-color:#334155!important;
  color:#101b31!important;
}
#proces .section-action-secondary:hover,
#auto .section-action-secondary:hover,
#car-modeling .section-action-secondary:hover,
#prototipuri .section-action-secondary:hover,
#figurine .section-action-secondary:hover,
#textura .section-action-secondary:hover,
#decor .section-action-secondary:hover,
#ambalare .section-action-secondary:hover,
#vitrina .section-action-secondary:hover{
  background:#101b31!important;
  border-color:#101b31!important;
  color:#fff!important;
}

/* DARK sections: white secondary text */
#cad .section-action-secondary,
#catalog .section-action-secondary,
#materiale .section-action-secondary{
  background:transparent!important;
  border-color:rgba(255,255,255,.78)!important;
  color:#fff!important;
}
#cad .section-action-secondary:hover,
#catalog .section-action-secondary:hover,
#materiale .section-action-secondary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#101b31!important;
}

/* Prevent inherited low contrast / opacity */
.section-actions .section-action,
.section-actions .section-action:visited{
  opacity:1!important;
  visibility:visible!important;
}

/* v3.14 – one orange everywhere (#FF4300); hovers darken the same colour instead of a 2nd orange */
.btn-solid:hover,.fresh-badge:hover{background:var(--accent);filter:brightness(.92)}

/* v3.23 – the header (menu + buttons) runs the full width of the window, aligned with the page content */
.nav .wrap{max-width:none;padding-inline:clamp(20px,4vw,64px)}

/* v3.24 – header: menu exactly in the centre, icons + theme + language on the right, no CTA button */
.nav .navcta .btn-solid{display:none}
@media (min-width:941px){
  .nav .wrap{position:relative}
  .nav .navlinks{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .nav .m3s-hicons{margin-left:auto}
  .nav .navcta{margin-left:14px}
}

/* v3.26 – header like a shop: logo · menu in the middle · language + plain icons (no search, no theme button) */
.m3h-search{display:none}
@media (min-width:941px){
  .nav{height:auto!important}
  .nav .wrap{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"logo menu lang icons";align-items:center;column-gap:28px}
  .nav .logo{grid-area:logo}
  .nav .m3h-search{grid-area:search;display:flex;align-items:center;gap:10px;height:44px;max-width:620px;width:100%;justify-self:center;border:1px solid var(--ink-soft,#5A6066);padding:0 14px;background:var(--card,#fff);border-radius:0}
  .nav .m3h-search:focus-within{border-color:var(--ink)}
  .nav .m3h-search .m3s-i{width:18px;height:18px;color:var(--ink-soft)}
  .nav .m3h-search input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:15px;color:var(--ink);height:100%;min-width:0}
  .nav .navcta{grid-area:lang;margin:0!important}
  .nav .navcta .m3d-theme-toggle,.nav>.wrap>.m3d-theme-toggle{display:none!important}
  .nav .m3s-hicons{grid-area:icons;margin:0!important;gap:14px}
  .nav .m3s-hi{border:0!important;background:none!important;width:30px;height:30px}
  .nav .m3s-hi .m3s-i{width:24px;height:24px}
  .nav .m3s-acct-t{display:none}
  .nav .navlinks{grid-area:menu;position:static!important;transform:none!important;justify-self:center;gap:34px}
  .nav .navlinks a{font-weight:600}
}
@media (min-width:941px){body{padding-top:var(--m3d-navh,128px)}}

/* v3.53 – bigger tap areas on phones (found by the virtual testers) */
@media (max-width:700px){
  .m3pc-st{min-height:40px;padding:0 6px}
  .process-slider-dot{position:relative}
  .process-slider-dot::after{content:"";position:absolute;inset:-14px -8px}
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* v4.0.2 – long words (e.g. "Персонализированные", "конфиденциальности") never run out of their box on phones:
   they get hyphenated in the page language, or break as a last resort. */
h1,h2,h3,h4,h5,.m3s-card h3,.m3p-card h3,.m3pc h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
@media (max-width:640px){
  h1,h2,h3,h4,h5,.m3s-card h3,.m3s-card h3 a,.m3p-card h3,.m3pc h3,.m3c-grid h3,.m3c-grid h3 a{overflow-wrap:anywhere;word-break:normal}
  p,li,td,th,label,dd,dt,blockquote{overflow-wrap:break-word}
}
