:root{
    --bg:#f7f2ea;
    --bg-soft:#fbf8f3;
    --bg-panel:#f4ede3;
    --white:#ffffff;
    --text:#4d4d4d;
    --text-light:#625c55;
    --line:rgba(45, 43, 40, 0.12);
    --accent:#cdb79e;
    --accent-deep:#b99f81;
    --dark:#1f1d1a;
    --dark-soft:#292520;
    --shadow:0 18px 50px rgba(37, 32, 28, 0.08);
    --shadow-strong:0 30px 70px rgba(21, 18, 15, 0.14);
    --radius-lg: 15px;
    --radius-md: 10px;
    --radius-sm: 5px;
    --container:1240px;
    --transition:0.35s ease
}
 *{
    margin:0;
    padding:0;
    box-sizing:border-box
}
 html{
    scroll-behavior:smooth
}
 body{
    font-family:Lora,sans-serif;
    color:var(--text);
    line-height:1.65;
    overflow-x:hidden;
    letter-spacing:1px
}
 body.menu-open{
    overflow:hidden
}
 img{
    max-width:100%;
    display:block
}
 a{
    color:inherit;
    text-decoration:none
}
 button,input,textarea{
    font:inherit
}
 .sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
 .page-noise{
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.06;
    background-image:radial-gradient(circle at 1px 1px,rgba(29,26,23,.3) 1px,transparent 0);
    background-size:20px 20px;
    z-index:-1
}
 .container{
    width:min(100% - 40px,var(--container));
    margin:0 auto
}
 .section{
    position:relative;
    padding:110px 0
}
 .section-sm{
    padding:28px 0
}
 .section-decor{
    overflow:clip
}
 .decor{
    position:absolute;
    border-radius:999px;
    pointer-events:none;
    filter:blur(1px);
    opacity:.75
}
 .decor-beige{
    top:24px;
    right:-180px;
    width:420px;
    height:420px;
    background:radial-gradient(circle,rgba(210,185,157,.25) 0,rgba(210,185,157,.08) 46%,rgba(210,185,157,0) 72%)
}
 .alt-bg{
    border-top: 1px solid #f4f4f4;
    border-bottom: 1px solid #f4f4f4;
}
 .cases{
    padding-bottom:60px
}
 .section-tag{
    display:inline-block;
    margin-bottom:16px;
    color:var(--accent-deep);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase
}
 .section-tag.light{
    color:rgba(255,255,255,.8)
}
 .section-head{
    position:relative;
    z-index:1;
    max-width:85%;
    margin:0 auto 48px;
    text-align:center
}
 .section-head.left{
    text-align:left;
    margin:0 0 30px
}
 .cta-copy h2,.section-copy h2,.section-head h2,.testimonials-intro h2{
    font-size:clamp(38px, 5vw, 40px);
    line-height:1.3;
    font-weight:600;
    margin-bottom:18px
}
 .case-card p,.contact-card li,.factory-caption p,.footer-brand p,.footer-col p,.hero-sidecards p,.highlight-copy p,.product-content p,.section-copy p,.section-head p,.service-card p,.step p,.trust-item span{
    color:var(--text-light);
    font-size:16px
}
 .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    border-radius:999px;
    border:1px solid transparent;
    background:var(--dark);
    color:var(--white);
    font-weight:600;
    transition:transform var(--transition),background var(--transition),border var(--transition),color var(--transition),box-shadow var(--transition);
    cursor:pointer;
    will-change:transform
}
 .btn:hover{
    transform:translateY(-2px);
    background:#111;
    box-shadow:0 16px 30px rgba(17,15,12,.16)
}
 .btn-sm{
    min-height:44px;
    padding:0 18px;
    font-size:14px
}
 .btn-full{
    width:100%;
    margin-top:16px
}
 .btn-outline{
    background:rgba(255,255,255,.55);
    color:var(--text);
    border-color:var(--line)
}
 .btn-outline:hover{
    background:var(--dark);
    color:var(--white);
    border-color:var(--dark)
}
 .btn-outline-light{
    background:0 0;
    color:var(--white);
    border-color:rgba(255,255,255,.45)
}
 .btn-outline-light:hover{
    background:var(--white);
    color:var(--text);
    border-color:var(--white)
}
 .btn-light{
    background:var(--white);
    color:var(--text)
}
 .btn-light:hover{
    background:#f0ebe4;
    color:var(--text)
}
 .text-link{
    display:inline-block;
    margin-top:18px;
    font-weight:600;
    position:relative;
    width:max-content
}
 .text-link::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    background:currentColor;
    margin-top:4px
}
 .site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
    background:rgba(255,255,255,.18);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    transition:background var(--transition),box-shadow var(--transition),padding var(--transition),transform var(--transition);
    padding:16px 0
}
 .site-header.scrolled{
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(16px);
    box-shadow:0 10px 30px rgba(20,18,16,.06);
    padding:10px 0
}
 .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    position:relative
}
 .logo img{
    width:172px;
    height:auto
}
 .nav{
    display:flex;
    align-items:center;
    gap:28px
}
 .nav-item{
    position:relative
}
 .nav-dropdown::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    right:0;
    height:32px
}
 .nav-item-head{
    display:flex;
    align-items:center;
    gap:6px
}
 .nav-item-head .nav-link{
    flex:1 1 auto
}
 .nav-link{
    position:relative;
    font-size:18px;
    transition:color var(--transition)
}
 .nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:var(--text);
    transition:width var(--transition)
}
 .nav-link.active::after,.nav-link:hover::after{
    width:100%
}
 .scrolled .nav-link,.scrolled .nav-link.active{
    color:var(--text)
}
 .scrolled .logo img{
    filter:unset
}
 .scrolled .nav-link::after{
    background:var(--text)
}
 .nav-subtoggle{
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:none;
    background:0 0;
    color:inherit;
    cursor:pointer;
    padding:0;
    transition:transform var(--transition),color var(--transition);
    display:none
}
 .nav-subtoggle svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .nav-dropdown.open .nav-subtoggle{
    transform:rotate(180deg)
}
 .nav-dropdown .dropdown-menu{
    position:absolute;
    top:calc(100% + 16px);
    left:0;
    min-width:220px;
    display:grid;
    gap:10px;
    background:rgba(255,255,255,.98);
    border-radius:0 0 5px 5px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    overflow:hidden;
    transform:translateY(8px);
    transition:opacity var(--transition),transform var(--transition),visibility var(--transition)
}
 .nav-dropdown.open .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0)
}
 .dropdown-menu a{
    padding:10px 12px;
    color:var(--text);
    font-size:14px;
    transition:background var(--transition),color var(--transition),transform var(--transition)
}
 .dropdown-menu a:hover{
    background:#f5efe6;
    color:var(--dark)
}
 .header-actions{
    display:flex;
    align-items:center;
    gap:14px
}
 .search-toggle{
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid var(--line);
    background:rgba(255,255,255,.88);
    color:var(--text);
    cursor:pointer;
    transition:transform var(--transition),background var(--transition),border var(--transition),box-shadow var(--transition),border-radius var(--transition);
    position:relative;
    z-index:3
}
 .search-toggle:hover{
    transform:translateY(-2px);
    background:var(--white)
}
 .search-toggle svg{
    width:18px;
    height:18px
}
 .search-toggle-icon{
    position:absolute;
    inset:0;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
 .search-toggle-icon-search svg{
    transform:translate(0,1px)
}
 .search-toggle-icon-close{
    display:none;
    font-size:26px;
    line-height:1
}
 .search-toggle-icon-close::before{
    content:"\00D7";
    display:block;
    transform:translateY(1px)
}
 .site-header.search-open .search-toggle-icon-search{
    display:none
}
 .site-header.search-open .search-toggle-icon-close{
    display:inline-flex
}
 .header-search{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-height:44px;
    z-index:5;
    min-width:44px
}
 .desktop-cta,.site-nav{
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease
}
 .site-header.search-open .desktop-cta,.site-header.search-open .site-nav{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px)
}
 .menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid var(--line);
    border-radius:50%;
    background:rgba(255,255,255,.88);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px
}
 .menu-toggle span{
    width:18px;
    height:2px;
    background:var(--text);
    display:block;
    transition:var(--transition)
}
 .menu-toggle.active span:first-child{
    transform:translateY(6px) rotate(45deg)
}
 .menu-toggle.active span:nth-child(2){
    opacity:0
}
 .menu-toggle.active span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg)
}
 .site-nav{
    display:flex;
    align-items:center;
    gap:28px
}
 .nav-mobile-cta{
    display:none
}
 .search-panel{
    position:absolute;
    top:50%;
    right:56px;
    width:0;
    overflow:hidden;
    transform:translateY(-50%) scaleX(.96);
    transform-origin:right center;
    z-index:2;
    transition:width var(--transition),opacity .22s ease,transform .22s ease;
    opacity:0;
    pointer-events:none
}
 .search-panel[hidden]{
    display:none
}
 .site-header.search-open .search-panel{
    width:min(460px,calc(100vw - 250px));
    opacity:1;
    transform:translateY(-50%) scaleX(1);
    pointer-events:auto
}
 .site-header.search-open .search-toggle{
    border-radius:14px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 28px rgba(24,20,16,.08)
}
 .search-field{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:46px;
    padding:0 18px;
    border-radius:14px;
    background:rgba(255,255,255,.98)
}
 .search-field svg{
    width:18px;
    height:18px;
    color:var(--text-light)
}
 .search-field input{
    width:100%;
    border:none;
    outline:0;
    background:0 0;
    font-size:15px
}
 .search-field .search_btn{
    width:34px;
    height:34px;
    min-width:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:50%;
    background:var(--dark);
    color:#fff;
    cursor:pointer;
    transition:background var(--transition),color var(--transition),transform var(--transition)
}
 .search-field .search_btn:hover{
    background:var(--accent-deep);
    transform:translateY(-1px)
}
 .search-field .search_btn svg{
    width:15px;
    height:15px;
    color:currentColor
}
 .hero{
    position:relative;
    min-height:100vh;
    color:var(--text);
    background:var(--dark)
}
 .hero-slider{
    position:relative;
    height:100vh;
    overflow:hidden
}
 .hero-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease,visibility .8s ease,transform 1.2s ease;
    transform:scale(1.03)
}
 .hero-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1)
}
 .hero-overlay{
    position:absolute;
    inset:0
}
 .hero-glow{
    position:absolute;
    border-radius:999px;
    filter:blur(8px)
}
 .hero-glow-1{
    width:360px;
    height:360px;
    right:12%;
    top:18%;
    background:radial-gradient(circle,rgba(224,194,164,.22),transparent 70%)
}
 .hero-glow-2{
    width:240px;
    height:240px;
    right:28%;
    bottom:14%;
    background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)
}
 .hero-layout{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,915px) 1fr;
    gap:30px;
    align-items:center;
    min-height:100vh
}
 .hero-content{
    display:flex;
    min-height:100vh;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding-top:110px
}
 .hero-sidecards{
    position:relative;
    min-height:360px
}
 .glass-card{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    border-radius:24px;
    box-shadow:0 20px 50px rgba(10,10,10,.15);
    backdrop-filter:blur(14px)
}
 .float-card{
    position:absolute;
    right:18px;
    bottom:56px;
    width:min(100%,340px);
    padding:26px;
    animation:floatCard 5.5s ease-in-out infinite
}
 .metric-card,.quote-card{
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-40%);
    width:min(100%,340px);
    padding:24px;
    animation:floatCard 6.3s ease-in-out infinite
}
 .metric-card{
    display:grid;
    gap:16px
}
 .info-chip{
    position:absolute;
    padding:12px 16px;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    animation:chipFloat 4.8s ease-in-out infinite
}
 .chip-top{
    right:28px;
    top:72px
}
 .chip-bottom{
    right:220px;
    bottom:24px;
    animation-delay:.8s
}
 .mini-label{
    display:inline-block;
    margin-bottom:10px;
    color:rgba(255,255,255,.8);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase
}
 .mini-label.dark{
    color:var(--accent-deep)
}
 .hero-sidecards strong{
    display:block;
    margin-bottom:8px;
    font-size:30px;
    line-height:1
}
 .eyebrow{
    margin-bottom:16px;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    color:rgba(255,255,255,.8)
}
 .hero h1,.hero h2{
    font-size:clamp(50px, 7vw, 68px);
    line-height:1;
    font-weight:600;
    margin-bottom:18px
}
 .hero-text{
    max-width:600px;
    font-size:18px;
    color:rgba(77,77,77,.84);
    margin-bottom:20px
}
 .hero-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap
}
 .hero-buttons .btn-outline-light{
    background:var(--white);
    color:var(--text);
    border-color:var(--white)
}
 .hero-controls{
    position:absolute;
    left:50%;
    bottom:34px;
    transform:translateX(-50%);
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:space-between
}
 .hero-dots{
    display:flex;
    gap:10px;
    align-items:center
}
 .hero-arrow{
    opacity:0;
    visibility:hidden
}
 .dot,.hero-arrow{
    border:none;
    cursor:pointer;
    transition:var(--transition)
}
 .dot{
    width:12px;
    height:12px;
    border-radius:50%;
    background:rgba(77,77,77,.34)
}
 .dot.active,.dot:hover{
    background:var(--white)
}
 .hero-arrow{
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(77,77,77,.1);
    color:var(--white);
    font-size:18px;
    margin:0 12px
}
 .hero-arrow:hover{
    background:rgba(77,77,77,.22)
}
 .hero-scroll-indicator{
    position:absolute;
    left:50%;
    bottom:86px;
    transform:translateX(-50%);
    z-index:6;
    color:rgba(77,77,77,.68);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase
}
 .hero-scroll-indicator::after{
    content:"";
    display:block;
    width:1px;
    height:32px;
    margin:8px auto 0;
    background:linear-gradient(180deg,rgba(77,77,77,.82),rgba(77,77,77,0));
    animation:scrollLine 1.8s ease infinite
}
 .trust-bar{
    /* background:linear-gradient(180deg,#efe7dc,#f5eee4); */
    /* border-bottom:1px solid rgba(0,0,0,.04); */
}
 .trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}
 .trust-item{
    padding:16px 14px;
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:start
}
 .trust-item strong{
    display:block;
    margin-bottom:5px;
    font-size:15px
}
 .trust-icon{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
    border:0;
    background:0 0
}
 .trust-icon img{
    width:30px;
    height:30px;
    object-fit:contain;
    opacity:.92
}
 .trust-copy{
    min-width:0;
    width:100%
}
 .brand-ribbon{
    position:relative;
    overflow:hidden;
    background:var(--dark);
    color:rgba(255,255,255,.74);
    /* border-top:1px solid rgba(255,255,255,.05); */
    /* border-bottom:1px solid rgba(255,255,255,.05); */
}
 .ribbon-track{
    display:flex;
    gap:48px;
    white-space:nowrap;
    padding:16px 0;
    min-width:max-content;
    animation:ribbonMove 45s linear infinite
}
 .ribbon-track span{
    position:relative;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase
}
 .ribbon-track span::after{
    content:"\2022";
    position:absolute;
    right:-28px;
    opacity:.6
}
 .ribbon-track span::after{
    content:"\2022";
    position:absolute;
    right:-28px;
    color:var(--accent);
    opacity:.9
}
 .ribbon-track span::after{
    color:inherit;
    opacity:.6
}
 .split-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:center
}
 .split-grid.reverse{
    grid-template-columns:0.9fr 1.1fr
}
 .about-visual{
    position:relative;
    display:grid;
    gap:20px
}
 .about-image-card{
    position:relative;
    overflow:hidden;
    border-radius:var(--radius-lg);
    /* box-shadow:var(--shadow-strong); */
}
 .about-image-card img,.image-stack img{
    width:100%;
    height:100%;
    min-height:360px;
    object-fit:cover
}
 .about-cards{
    display:grid;
    gap:18px
}
 .about-lead{
    font-size:20px;
    line-height:1.75;
    color:var(--text);
    max-width:56ch
}
 .about-points{
    display:grid;
    gap:18px;
    margin-top:22px
}
 .about-points div{
    padding:20px 22px;
    border-left:2px solid rgba(185,159,129,.32);
    background:rgba(255,255,255,.6);
    border-radius:18px;
    box-shadow:var(--shadow)
}
 .about-points h3{
    margin-bottom:8px;
    font-size:30px;
    line-height:1
}
 .about-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:22px
}
 .about-strip div{
    padding:16px 18px;
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,242,234,.9));
    border:1px solid rgba(0,0,0,.04)
}
 .about-strip strong{
    display:block;
    margin-bottom:4px;
    font-size:34px;
    line-height:1
}
 .about-strip span{
    color:var(--text-light);
    font-size:13px;
    text-transform:uppercase
}
 .about-image-badge{
    position:absolute;
    left:22px;
    bottom:22px;
    z-index:1;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(24,20,16,.82);
    color:rgba(255,255,255,.92);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    box-shadow:0 12px 28px rgba(15,12,10,.22)
}
 .about-stats{
    display:grid;
    gap:18px
}
 .about-stat-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px
}
 .info-card{
    padding:28px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(0,0,0,.04);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow);
    backdrop-filter:blur(10px)
}
 .info-card h3{
    font-size:18px;
    margin-bottom:8px
}
 .info-card strong{
    display:block;
    margin-bottom:10px;
    font-size:54px;
    line-height:.9;
    color:var(--text)
}
 .info-card-feature{
    display:grid;
    gap:4px;
    background:linear-gradient(135deg,#1f1d1a,#342d26);
    color:var(--white)
}
 .info-card-feature .info-label,.info-card-feature h3,.info-card-feature p,.info-card-feature strong{
    color:var(--white)
}
 .info-card-feature p{
    color:rgba(255,255,255,.76)
}
 .info-card-wide{
    grid-column:span 2
}
 .info-label{
    display:inline-block;
    margin-bottom:6px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    color:var(--accent-deep)
}
 .service-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px
}
 .services{
    isolation:isolate
}
 .services-bg{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:.9;
    z-index:0
}
 .services .container,.services .section-head,.services .service-grid{
    position:relative;
    z-index:1
}
 .service-card{
    position:relative;
    display:flex;
    flex-direction:column;
    padding:0;
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.86));
    border-radius:var(--radius-md);
    border:1px solid rgba(0,0,0,.04);
    /* box-shadow:var(--shadow); */
    transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
    overflow:hidden
}

 .service-card-alt .service-media{
    order:2
}
 .service-card-alt .service-body{
    order:1
}
 .case-card:hover,.factory-card:hover,.product-card:hover,.service-card:hover,.soft-lift:hover{
    transform:translateY(-6px)
}
 .service-icon-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between
}
 .service-media{
    position:relative;
    min-height:260px;
    overflow:hidden;
    background:#eadfd1
}
 .service-media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(24,20,16,.04),rgba(24,20,16,.18))
}
 .service-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease
}
 .service-card:hover .service-media img{
    transform:scale(1.05)
}
 .service-body{
    display:flex;
    flex:1;
    flex-direction:column;
    justify-content:flex-start;
    padding:20px
}
 .service-icon{
    position:relative;
    width:58px;
    height:58px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.82);
    color:var(--accent-deep);
    margin-bottom:18px;
    border:1px solid rgba(185,159,129,.26);
    box-shadow:0 14px 26px rgba(33,25,18,.08);
    z-index:1
}
 .service-icon::before{
    content:"";
    position:absolute
}
 .service-icon svg{
    position:relative;
    z-index:1;
    width:34px;
    height:34px
}
 .service-card h3{
    font-size:18px;
    margin-bottom:10px;
    line-height:1.5
}
 .product-highlight{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:24px;
    align-items:center;
    margin-bottom:28px;
    padding:28px;
    border-radius:var(--radius-lg);
    background:linear-gradient(135deg,rgba(244,237,227,.9),rgba(255,255,255,.92));
    box-shadow:var(--shadow)
}
 .highlight-copy h3{
    margin:8px 0 10px;
    font-size:34px;
    line-height:1
}
 .highlight-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px
}
 .highlight-stats div{
    padding:18px;
    background:rgba(255,255,255,.8);
    border:1px solid rgba(0,0,0,.05);
    border-radius:var(--radius-md);
    text-align:center
}
 .highlight-stats strong{
    display:block;
    font-size:42px;
    line-height:1;
    margin-bottom:6px
}
 .highlight-stats span{
    font-size:13px;
    color:var(--text-light)
}
 .carousel-shell{
    position:relative
}
 .carousel-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:18px
}
 .carousel-pagination .swiper-pagination-bullet{
    width:8px;
    height:8px;
    margin:0!important;
    background:rgba(32,27,23,.24);
    opacity:1
}
 .carousel-pagination .swiper-pagination-bullet-active{
    background:var(--text)
}
 .product-slider{
    width:100vw;
    margin-left:calc(50% - 50vw);
    padding:0 24px;
    overflow:hidden
}
 .product-grid{
    align-items:stretch
}
 .case-grid.swiper-wrapper,.product-grid.swiper-wrapper,.testimonial-track.swiper-wrapper{
    display:flex
}
 .product-card{
    position:relative;
    min-height:76vh;
    max-height:860px;
    background:#1b1714;
    border-radius:28px;
    overflow:hidden;
    transition:transform var(--transition),box-shadow var(--transition)
}
 .product-image{
    position:absolute;
    inset:0;
    overflow:hidden;
    background:#eee5da
}
 .product-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(15,12,10,.08) 0,rgba(15,12,10,.12) 34%,rgba(15,12,10,.84) 100%)
}
 .product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease
}
 .product-card:hover .product-image img{
    transform:scale(1.06)
}
 .product-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:1;
    padding:24px 22px 24px;
    color:var(--white)
}
 .product-content p{
    color:rgba(255,255,255,.8)
}
 .card-kicker{
    display:inline-block;
    margin-bottom:10px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:rgba(255,255,255,.9);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    border:1px solid rgba(255,255,255,.12)
}
 .adv-item h3,.case-card h3,.contact-card h3,.factory-caption h3,.factory-item h3,.footer-col h3,.product-content h3,.step h3{
    font-size:20px;
    line-height:1;
    margin-bottom:10px
}
 .image-stack{
    position:relative
}
 .image-stack img{
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-strong);
    min-height:640px
}
 .advantages .split-grid.reverse{
    align-items:stretch
}
 .advantages .image-stack{
    height:100%
}
 .advantages .image-stack,.advantages .section-copy,.factory .image-stack,.factory .section-copy{
    height:100%
}
 .advantages .image-stack,.factory .image-stack{
    display:flex;
    position:relative;
    min-height:0
}
 .advantages .image-stack img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
 .advantages .section-copy{
    display:block
}
 .image-badge{
    position:absolute;
    left:24px;
    bottom:24px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:var(--text);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    box-shadow:var(--shadow)
}
 .adv-list{
    display:grid;
    gap:20px;
    margin-top:28px
}
 .adv-item{
    padding:0 0 18px;
    border-bottom:1px solid var(--line)
}
 .factory-card{
    position:relative;
    overflow:hidden;
    border-radius:var(--radius-md);
    min-height:280px;
    box-shadow:var(--shadow)
}
 .factory-card.large{
    min-height:620px
}
 .factory-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease
}
 .factory-card:hover img{
    transform:scale(1.05)
}
 .factory-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:24px;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(19,18,17,.82) 100%);
    color:var(--white)
}
 .factory-caption p{
    color:rgba(255,255,255,.8)
}
 .factory-copy{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:18px
}
 .factory-item{
    padding:0 0 18px;
    border-bottom:1px solid var(--line)
}
 .factory-item:last-child{
    border-bottom:0;
    padding-bottom:0
}
 .factory-item p{
    max-width:560px
}
 .factory .split-grid{
    align-items:stretch
}
 .factory .image-stack{
    height:100%;
    min-height:0
}
 .factory .factory-card.large{
    height:100%;
    min-height:0;
    display:block
}
 .factory .section-copy{
    display:block
}
 .factory .factory-card.large{
    position:relative;
    flex:1;
    min-height:0
}
 .factory .factory-card img{
    position:absolute;
    inset:0;
    min-height:0
}
 .advantages .image-stack img{
    min-height:0
}
 .testimonials-wrap{
    margin-top:34px
}
 .testimonials-main{
    min-width:0
}
 .testimonial-slider{
    width:100%;
    overflow:hidden;
    padding:6px 4px 10px
}
 .testimonial-track{
    align-items:stretch
}
 .testimonial-slider .swiper-slide{
    height:auto
}
 .testimonial-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    height:100%;
    padding:24px 22px 28px;
    border-radius:22px;
    background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58));
    border:1px solid rgba(28,24,21,.05)
}
 .testimonial-avatar{
    width:92px;
    height:92px;
    margin-bottom:20px;
    border-radius:50%;
    overflow:hidden;
    box-shadow:var(--shadow);
    border:4px solid rgba(255,255,255,.92)
}
 .testimonial-avatar img{
    width:100%;
    height:100%;
    object-fit:cover
}
 .testimonial-card h3{
    margin-bottom:12px;
    font-size:16px;
    line-height:1.35;
    color:var(--text)
}
 .testimonial-card p{
    font-size:15px;
    line-height:1.5;
    color:var(--text-light)
}
 .testimonial-pagination{
    margin-top:16px
}
 .process-wrap{
    margin-top:90px;
    padding:0;
    border-radius:0;
    background:0 0;
    box-shadow:none
}
 .process-section{
    color:var(--white);
    isolation:isolate
}
 .process-bg{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    z-index:0
}
 .process-section .container,.process-section .process-wrap,.process-section .section-head{
    position:relative;
    z-index:1
}
 .process-section .container{
    width:min(100% - 32px,1440px)
}
 .process-section .section-head p{
    color:rgba(255,255,255,.78)
}
 .process-showcase{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch
}
 .process-lead{
    padding:20px 0 0;
    border-radius:0;
    background:0 0;
    color:var(--white);
    border-top:1px solid rgba(255,255,255,.12);
    margin:0 auto;
    text-align:center;
    font-size:15px;
    line-height:1.9;
    color:rgba(255,255,255,.7)
}
 .process-kicker{
    display:inline-block;
    margin-bottom:12px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    color:rgba(255,255,255,.68)
}
 .process-lead h3{
    font-size:40px;
    line-height:.96;
    margin-bottom:10px
}
 .process-lead p{
    color:rgba(255,255,255,.74)
}
 .process-steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:26px;
    position:relative;
    align-items:start
}
 .process-steps::before{
    content:"";
    position:absolute;
    left:5%;
    right:5%;
    top:34px;
    height:1px;
    background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.28),rgba(255,255,255,.04))
}
 .step{
    padding:0;
    background:0 0;
    border-radius:0;
    box-shadow:none;
    transition:transform var(--transition),box-shadow var(--transition);
    position:relative;
    overflow:visible;
    border:0;
    display:grid;
    grid-template-rows:auto auto;
    gap:22px;
    min-height:252px;
    align-content:start
}
 .step::before{
    content:"";
    position:absolute;
    top:68px;
    left:34px;
    width:1px;
    height:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0))
}
 .step:nth-child(2n){
    margin-top:22px
}
 .step:nth-child(3){
    margin-top:8px
}
 .process-lead,.process-section .step p{
    color:rgba(255,255,255,.74)
}
 .process-section .step span{
    color:rgba(255,255,255,.78)
}
 .step span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    border-radius:50%;
    margin-bottom:0;
    color:var(--white);
    font-weight:600;
    font-size:16px;
    border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.02);
    position:relative
}
 .step span::after{
    content:"";
    position:absolute;
    inset:6px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08)
}
 .step h3{
    margin-bottom:10px;
    font-size:20px;
    line-height:1.02;
    text-wrap:balance
}
 .step-copy{
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12)
}
 .step p{
    font-size:16px;
    line-height:1.5;
    color:rgba(255,255,255,.62)
}
 .case-slider{
    overflow:hidden
}
 .case-card{
    padding:30px;
    border-radius:var(--radius-md);
    transition:transform var(--transition),box-shadow var(--transition);
    height:auto
}
 .case-card-media{
    padding:0;
    overflow:hidden
}
 .case-media{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden
}
 .case-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease
}
 .case-card-media:hover .case-media img{
    transform:scale(1.05)
}
 .case-content{
    padding:24px;
    background:rgb(245 238 228 / 40%)
}
 .case-content h3,.case-content p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .case-content h3{
    -webkit-line-clamp:2;
    min-height:calc(20px * 2)
}
 .case-content h3 a{
    color:inherit;
    transition:color var(--transition)
}
 .case-content h3 a:hover{
    color:var(--accent-deep)
}
 .case-content p{
    -webkit-line-clamp:2;
    min-height:calc(28px * 2)
}
 .case-label{
    display:inline-block;
    margin-bottom:16px;
    padding:6px 12px;
    border-radius:999px;
    background:#f2eadf;
    color:var(--accent-deep);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase
}
 .cta{
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    color:var(--white)
}
 .cta-box{
    display:flex;
    flex-direction:column;
    gap:30px;
    align-items:center
}
 .cta-copy p{
    color:rgba(255,255,255,.84)
}
 .cta-copy-centered{
    width:min(100%,980px);
    text-align:center
}
 .cta-copy-centered h2{
    margin-bottom:14px;
    font-size:clamp(42px, 4.8vw, 44px);
    line-height:1.04
}
 .cta-copy-centered p{
    margin:0 auto
}
 .cta-inquiry-form{
    display:flex;
    align-items:stretch;
    width:100%;
    gap:6px
}
 .cta-inquiry-form .input,
 .cta-inquiry-form .input>div,
 .cta-inquiry-form .textarea_box,
 .cta-inquiry-form .submit{
    display:contents
}
 .cta-inquiry-form input,.cta-inquiry-form textarea{
    min-height:50px;
    padding:0 18px;
    border:0;
    border-radius:0;
    background:rgba(255,255,255,.96);
    color:var(--text);
    outline:0
}
 .cta-inquiry-form input{
    flex:0.9 1 0
}
 .cta-inquiry-form textarea{
    flex:1.8 1 0;
    resize:none
}
 .cta-inquiry-form input::placeholder,.cta-inquiry-form textarea::placeholder{
    color:#6d6860
}
 .cta-submit{
    min-width:190px;
    padding:0 24px;
    border:0;
    background:linear-gradient(180deg,#efe7dc,#f5eee4);
    color:var(--text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font-weight:600;
    cursor:pointer;
    transition:background var(--transition),transform var(--transition)
}
 .cta-submit svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .site-footer{
    background:#191714;
    color:rgba(255,255,255,.82);
    padding-top:70px
}
 .footer-grid{
    display:grid;
    grid-template-columns:1.8fr 0.95fr 0.95fr 0.95fr;
    gap:28px;
    padding-bottom:40px
}
 .footer-col{
    display:flex;
    flex-direction:column;
    gap:10px
}
 .footer-address{
    margin-top:8px
}
 .footer-contact-item{
    display:inline-flex;
    align-items:flex-start;
    gap:10px
}
 .footer-contact-icon{
    width:25px;
    height:25px;
    flex:0 0 25px;
    margin-top:3px;
    color:rgba(255,255,255,.78)
}
 .footer-contact-icon svg{
    width:100%;
    height:100%;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .footer-follow p{
    max-width:26ch
}
 .foot_subscribe{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:0;
    margin-top:6px;
    border-radius:999px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.06)
}
 .foot_subscribe input{
    flex:1 1 auto;
    min-height:48px;
    padding:0 16px;
    border-radius:0;
    border:0;
    background:0 0;
    color:var(--white);
    outline:0
}
 .foot_subscribe input::placeholder{
    color:rgba(255,255,255,.42)
}
 .foot_subscribe input:focus{
    background:rgba(255,255,255,.02)
}
 .foot_subscribe button{
    flex:0 0 auto;
    min-height:46px;
    padding:0 20px;
    border-radius:0;
    border:0;
    border-left:1px solid rgba(31,29,26,.08);
    background:rgba(255,255,255,.94);
    color:var(--dark);
    font-weight:600;
    cursor:pointer;
    transition:transform var(--transition),background var(--transition)
}
 .foot_subscribe button:hover{
    transform:none;
    background:var(--white)
}
 .footer-socials{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:8px
}
 .footer-socials a{
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.14);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.04);
    transition:transform var(--transition),border-color var(--transition),background var(--transition),color var(--transition)
}
 .footer-socials a:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.32);
    background:rgba(255,255,255,.08);
    color:var(--white)
}
 .footer-socials svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .footer-brand p,.footer-col a,.footer-col p{
    color:rgb(255 255 255 / 80%);
    font-size:16px
}
 .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 15px;
    flex-wrap:wrap;
    padding: 20px 0;
    border-top:1px solid rgba(255,255,255,.08);
    font-size: 15px;
    color:rgba(255,255,255,.54)
}
 .footer-bottom-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    flex-wrap:wrap;
    text-align:right
}
 .footer-bottom-links a,.footer-bottom-links span{
    color:rgba(255,255,255,.58);
    font-size:14px
}
 .footer-bottom-links a:hover{
    color:var(--white)
}
 .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease,transform .7s ease
}
 .reveal.visible{
    opacity:1;
    transform:translateY(0)
}
 .parallax-card{
    transform:translateY(var(--parallax-offset,0));
    transition:transform .12s linear
}
 .soft-lift{
    transition:transform var(--transition),box-shadow var(--transition)
}
 @keyframes floatCard{
    0%,100%{
        transform:translateY(0)
    }
     50%{
        transform:translateY(-10px)
    }
}
 @keyframes chipFloat{
    0%,100%{
        transform:translateY(0)
    }
     50%{
        transform:translateY(-8px)
    }
}
 @keyframes scrollLine{
    0%{
        opacity:.2;
        transform:translateY(0)
    }
     50%{
        opacity:1;
        transform:translateY(8px)
    }
     100%{
        opacity:.2;
        transform:translateY(16px)
    }
}
 @keyframes ribbonMove{
    from{
        transform:translateX(0)
    }
     to{
        transform:translateX(-50%)
    }
}
 .auto-container{
    width: min(100% - 40px,1350px);
    margin-left:auto;
    margin-right:auto;
    /* padding:0 10px; */
}
 #page_about .pa-watermark{
    position:absolute;
    top:25%;
    left:0;
    transform:translateY(-50%);
    font-size:clamp(60px, 10vw, 130px);
    font-weight:900;
    color:rgba(31,29,26,.05);
    letter-spacing:-2px;
    text-transform:uppercase;
    white-space:nowrap;
    pointer-events:none;
    user-select:none;
    line-height:1;
    z-index:0
}
 #page_about{
    --pa-accent:#cdb79e;
    --pa-accent-deep:#b99f81;
    --pa-dark:#1f1d1a;
    /* --pa-soft:#fbf8f3; */
    --pa-bg:#f7f2ea;
    --pa-line:rgba(45,43,40,.12);
    --pa-text:#625c55;
    background:var(--pa-soft)
}
 #page_about .pa-tag{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--pa-accent-deep);
    margin-bottom:14px
}
 #page_about .pa-tag.light{
    color:rgba(205,183,158,.85)
}
 #page_about .pa-title{
    font-size:clamp(26px, 3.5vw, 40px);
    font-weight:600;
    /* color:var(--pa-dark); */
    line-height:1.25;
    margin-bottom:16px
}
 #page_about .pa-title.light{
    color:#fff
}
 #page_about .pa-lead{
    font-size:16px;
    color:var(--pa-text);
    line-height:1.85
}
 #page_about .pa-lead.light{
    color:#fff
}
 #page_about .pa-inner-banner{
    position:relative;
    height:520px;
    overflow:hidden;
    display:flex;
    align-items:center
}
 #page_about .pa-inner-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.05);
    transition:transform 8s ease
}
 #page_about .pa-inner-banner-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(31,29,26,.72) 0,rgba(31,29,26,.45) 100%)
}
 #page_about .pa-inner-banner-content{
    position:relative;
    z-index:2;
    width:100%
}
 #page_about .pa-inner-banner h1{
    font-size:clamp(32px, 5vw, 58px);
    font-weight:600;
    color:#fff;
    line-height:1.15;
    margin-bottom:20px
}
 #page_about .pa-breadcrumb-bar{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.65)
}
 #page_about .pa-breadcrumb-bar a{
    color:rgba(255,255,255,.65);
    text-decoration:none;
    transition:color .2s
}
 #page_about .pa-breadcrumb-bar a:hover{
    color:var(--pa-accent)
}
 #page_about .pa-breadcrumb-bar .sep{
    color:rgba(255,255,255,.35)
}
 #page_about .pa-breadcrumb-bar .cur{
    color:var(--pa-accent)
}
 #page_about .pa-intro{
    padding:100px 0;
    /* background:#f5f7fa; */
    position:relative;
    overflow:hidden
}
 #page_about .pa-intro-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:stretch;
    position:relative;
    z-index:1
}
 #page_about .pa-intro-text{
    padding-right:20px
}
 #page_about .pa-intro-text p+p{
    margin-top:14px
}
 #page_about .pa-intro-text .pa-lead{
    margin-top:20px
}
 #page_about .pa-intro-img-wrap{
    position:relative;
    height:100%;
    min-height:100%;
    border-radius:4px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(31,29,26,.18)
}
 #page_about .pa-intro-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 #page_about .pa-play-btn{
    position:absolute;
    bottom:24px;
    left:24px;
    width:80px;
    height:80px;
    border-radius:100vh;
    background:#fff;
    border:none;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-shadow:0 8px 32px rgba(0,0,0,.25);
    transition:transform .3s,box-shadow .3s,background .3s;
    z-index:3
}
 #page_about .pa-play-btn:hover{
    transform:scale(1.06);
    box-shadow:0 12px 40px rgba(0,0,0,.35)
}
 #page_about .pa-play-btn svg{
    width:28px;
    height:28px;
    fill:var(--pa-dark)
}
 #page_about .pa-play-btn span{
    font-size:9px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--pa-dark);
    line-height:1
}
 #page_about .pa-play-btn::before{
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:100vh;
    border:2px solid rgba(205,183,158,.5);
    animation:pa-pulse 2.4s ease-out infinite
}
 @keyframes pa-pulse{
    0%{
        transform:scale(1);
        opacity:.7
    }
     100%{
        transform:scale(1.5);
        opacity:0
    }
}
 #pa-video-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(0,0,0,.85);
    align-items:center;
    justify-content:center
}
 #pa-video-modal.active{
    display:flex
}
 #pa-video-modal .pa-modal-inner{
    position:relative;
    width:min(90vw,960px);
    aspect-ratio:16/9;
    background:#000;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 40px 120px rgba(0,0,0,.6)
}
 #pa-video-modal iframe{
    width:100%;
    height:100%;
    border:none
}
 #pa-video-modal .pa-modal-close{
    position:absolute;
    top:-44px;
    right:0;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s
}
 #pa-video-modal .pa-modal-close:hover{
    background:rgba(255,255,255,.3)
}
 #page_about .pa-culture{
    background:var(--pa-dark);
    padding:100px 0;
    position:relative;
    overflow:hidden
}
 #page_about .pa-culture::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:var(--pa-culture-bg);
    background-size:cover;
    background-position:center;
    opacity:.15
}
 #page_about .pa-culture-head{
    text-align:center;
    margin:0 auto 64px;
    position:relative;
    z-index:1
}
 #page_about .pa-culture-quote{
    margin-top:24px;
    padding:20px 28px;
    border-left:3px solid var(--pa-accent);
    font-style:italic;
    font-size:16px;
    color:rgba(255,255,255,.55);
    line-height:1.7;
    text-align:left
}
 #page_about .pa-culture-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
 #page_about .pa-culture-card{
    background:rgba(255,255,255,.1);
    padding:48px 40px;
    transition:background .3s
}
 #page_about .pa-culture-card:hover{
    background:rgba(255,255,255,.15)
}
 #page_about .pa-culture-card-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#fff;
    border:1px solid rgba(205,183,158,.3);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px
}
 #page_about .pa-culture-card-icon img{
    width:24px;
    height:24px;
    object-fit:contain;
    display:block
}
 #page_about .pa-culture-card-num{
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    color:var(--pa-accent);
    margin-bottom:12px
}
 #page_about .pa-culture-card h3{
    font-size:clamp(17px, 1.8vw, 20px);
    font-weight:600;
    color:#fff;
    margin-bottom:14px;
    line-height:1.3
}
 #page_about .pa-culture-card p{
    font-size:14px;
    color:#fff;
    line-height:1.85
}
 #page_about .pa-certs{
    padding:80px 0;
    background:#fff
}
 #page_about .pa-certs-head{
    text-align:center;
    margin-bottom:56px
}
 #page_about .pa-certs-head .pa-title{
    color:var(--pa-dark)
}
 #page_about .pa-certs-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}
 #page_about .pa-cert-card{
    background:#fff;
    border-radius:10px;
    border:1px solid rgba(0,0,0,.07);
    padding:28px 20px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    transition:transform .3s,box-shadow .3s;
    cursor:default
}
 #page_about .pa-cert-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 36px rgba(0,0,0,.1)
}
 #page_about .pa-cert-logo-wrap{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center
}
 #page_about .pa-cert-logo-wrap img{
    max-width:72px;
    max-height:72px;
    object-fit:contain;
    display:block
}
 #page_about .pa-cert-label{
    text-align:center;
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
    color:#1a1a2e;
    line-height:1.4
}
 #page_about .pa-timeline{
    padding:100px 0;
    background:var(--pa-soft);
    overflow:hidden
}
 #page_about .pa-timeline-head{
    text-align:center;
    margin-bottom:48px
}
 #page_about .pa-tl-tabs{
    display:flex;
    gap:20px;
    margin-bottom:56px;
    overflow:hidden;
    width:100%
}
 #page_about .pa-tl-tab{
    flex:1;
    padding:18px 12px;
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
    color:var(--pa-text);
    background:#fff;
    border:none;
    cursor:pointer;
    transition:background .25s,color .25s;
    white-space:nowrap;
    position:relative;
    text-align:center
}
 #page_about .pa-tl-tab:last-child{
    border-right:none
}
 #page_about .pa-tl-tab::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:3px;
    background:var(--pa-accent);
    transform:scaleX(0);
    transition:transform .25s
}
 #page_about .pa-tl-tab.active{
    color:var(--pa-dark)
}
 #page_about .pa-tl-tab.active::after{
    transform:scaleX(1)
}
 #page_about .pa-tl-tab:hover:not(.active){
    background:rgba(205,183,158,.08)
}
 #page_about .pa-tl-panels{
    position:relative;
    min-height:360px
}
 #page_about .pa-tl-panel{
    display:none;
    grid-template-columns:1fr 1fr;
    gap:72px;
    align-items:center;
    animation:paTlFadeIn .4s ease
}
 @keyframes paTlFadeIn{
    from{
        opacity:0;
        transform:translateY(12px)
    }
     to{
        opacity:1;
        transform:translateY(0)
    }
}
 #page_about .pa-tl-panel.active{
    display:grid
}
 #page_about .pa-tl-panel-img{
    position:relative;
    border-radius:6px;
    overflow:hidden;
    aspect-ratio:4/3
}
 #page_about .pa-tl-panel-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s ease
}
 #page_about .pa-tl-panel:hover .pa-tl-panel-img img{
    transform:scale(1.04)
}
 #page_about .pa-tl-panel-img-badge{
    position:absolute;
    bottom:20px;
    right:20px;
    background:var(--pa-accent);
    color:var(--pa-dark);
    font-size:13px;
    font-weight:800;
    letter-spacing:1px;
    padding:8px 18px;
    border-radius:999px;
    z-index:2
}
 #page_about .pa-tl-panel-text{
    padding-left:8px
}
 #page_about .pa-tl-panel-year{
    font-size:clamp(56px, 7vw, 88px);
    font-weight:900;
    color:var(--pa-dark);
    line-height:1;
    margin-bottom:8px;
    letter-spacing:-3px;
    opacity:.12;
    user-select:none;
    pointer-events:none
}
 #page_about .pa-tl-panel-title{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:600;
    /* color:var(--pa-dark); */
    margin-bottom:28px;
    line-height:1.3;
    margin-top:-32px
}
 #page_about .pa-tl-panel-desc{
    font-size:15px;
    color:var(--pa-text);
    line-height:2;
    margin-top:4px
}
 #page_about .pa-gallery{
    padding:90px 0;
    background:#fff
}
 #page_about .pa-gallery .auto-container:nth-child(2),#page_about .pa-gallery-thumbs .auto-container{
    width:min(100% - 40px,1200px)
}
 #page_about .pa-gallery-head{
    text-align:center;
    margin-bottom:56px
}
 #page_about .pa-gallery-swiper{
    width:100%;
    height:520px;
    border-radius:6px;
    overflow:hidden
}
 #page_about .pa-gallery-swiper .swiper-slide{
    position:relative;
    overflow:hidden
}
 #page_about .pa-gallery-swiper .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    height:800px
}
 #page_about .pa-gallery-slide-caption{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:28px 36px;
    background:linear-gradient(transparent,rgba(0,0,0,.65));
    z-index:2
}
 #page_about .pa-gallery-slide-caption h4{
    font-size:20px;
    font-weight:600;
    color:#fff;
    margin-bottom:4px
}
 #page_about .pa-gallery-slide-caption p{
    font-size:16px;
    color:rgba(255,255,255,.65)
}
 #page_about .pa-gallery-next,#page_about .pa-gallery-prev{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:10;
    width:48px;
    height:48px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.2);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:background .25s
}
 #page_about .pa-gallery-next:hover,#page_about .pa-gallery-prev:hover{
    background:rgba(255,255,255,.25)
}
 #page_about .pa-gallery-prev{
    left:16px
}
 #page_about .pa-gallery-next{
    right:16px
}
 #page_about .pa-gallery-next svg,#page_about .pa-gallery-prev svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none
}
 #page_about .pa-gallery-pagination .swiper-pagination-bullet{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.4);
    opacity:1;
    transition:background .2s,transform .2s
}
 #page_about .pa-gallery-pagination .swiper-pagination-bullet-active{
    background:var(--pa-accent);
    transform:scale(1.3)
}
 #page_about .pa-gallery-thumbs{
    padding:16px 0 0
}
 #page_about .pa-gallery-thumbs-swiper{
    padding:10px 0
}
 #page_about .pa-gallery-thumbs-swiper .swiper-slide{
    cursor:pointer;
    opacity:.5;
    transition:opacity .3s;
    overflow:hidden;
    aspect-ratio:16/9;
    border:2px solid var(--pa-accent);
    border-radius:5px
}
 #page_about .pa-gallery-thumbs-swiper .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 #page_about .pa-gallery-thumbs-swiper .swiper-slide-thumb-active{
    opacity:1
}
 #page_about .pa-services{
    padding: 90px 0;
    border-top: 1px solid #f5f7fa;
    border-bottom: 1px solid #f5f7fa;
}
 #page_about .pa-services-head{
    text-align:center;
    margin-bottom:72px
}
 #page_about .pa-svc-rows{
    display:flex;
    flex-direction:column;
    gap:0
}
 #page_about .pa-svc-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    align-items:center;
    background:#fff
}
 #page_about .pa-svc-row:nth-child(2n) .pa-svc-row-img{
    order:2
}
 #page_about .pa-svc-row:nth-child(2n) .pa-svc-row-body{
    order:1
}
 #page_about .pa-svc-row-img{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3
}
 #page_about .pa-svc-row-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .7s ease
}
 #page_about .pa-svc-row:hover .pa-svc-row-img img{
    transform:scale(1.04)
}
 #page_about .pa-svc-row-img-num{
    position:absolute;
    top:20px;
    left:20px;
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--pa-accent);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    color:var(--pa-dark);
    letter-spacing:1px;
    z-index:2
}
 #page_about .pa-svc-row-body{
    padding:40px
}
 #page_about .pa-svc-row-tag{
    display:inline-block;
    padding:4px 14px;
    border-radius:999px;
    background:rgba(205,183,158,.18);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    color:var(--pa-accent-deep);
    text-transform:uppercase;
    margin-bottom:16px
}
 #page_about .pa-svc-row-body h3{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:600;
    /* color:var(--pa-dark); */
    margin-bottom:16px;
    line-height:1.3
}
 #page_about .pa-svc-row-body p{
    font-size:15px;
    color:var(--pa-text);
    line-height:1.9;
    margin-bottom:28px
}
 #page_about .pa-svc-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
 #page_about .pa-svc-tag{
    padding:5px 14px;
    border-radius:999px;
    border:1px solid var(--pa-line);
    font-size:11px;
    font-weight:600;
    color:var(--pa-text);
    letter-spacing:1px;
    background:#fff
}
 #page_about .pa-cta{
    position:relative;
    padding:100px 0;
    overflow:hidden
}
 #page_about .pa-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    background-attachment:fixed
}
 #page_about .pa-cta-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(31,29,26,.85) 0,rgba(31,29,26,.7) 100%)
}
 #page_about .pa-cta-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
    align-items:center;
    position:relative;
    z-index:1
}
 #page_about .pa-cta h2{
    font-size:clamp(28px, 3.5vw, 42px);
    font-weight:600;
    color:#fff;
    line-height:1.25;
    margin-bottom:14px
}
 #page_about .pa-cta p{
    font-size:15px;
    color:rgba(255,255,255,.55);
    max-width:60%;
    line-height:1.8
}
 #page_about .pa-cta-btns{
    display:flex;
    flex-direction:column;
    gap:12px;
    flex-shrink:0
}
 #page_about .pa-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:50px;
    padding:0 32px;
    border-radius:999px;
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    transition:transform .3s,background .3s,box-shadow .3s;
    white-space:nowrap
}
 #page_about .pa-cta-btn.primary{
    background:var(--pa-accent);
    color:var(--pa-dark)
}
 #page_about .pa-cta-btn.primary:hover{
    background:#e0cdb5;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(205,183,158,.25)
}
 #page_about .pa-cta-btn.outline{
    background:0 0;
    color:rgba(255,255,255,.75);
    border:1px solid rgba(255,255,255,.2)
}
 #page_about .pa-cta-btn.outline:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
    transform:translateY(-2px)
}
 .ct-inner-banner{
    position:relative;
    height:380px;
    overflow:hidden;
    display:flex;
    align-items:flex-end
}
 .ct-inner-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    transition:transform 8s ease
}
 .ct-inner-banner::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(20,17,14,.72) 0,rgba(20,17,14,.25) 60%,transparent 100%)
}
 .ct-inner-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-bottom:48px
}
 .ct-inner-banner-content h1{
    font-size:clamp(32px, 5vw, 55px);
    font-weight:700;
    color:#fff;
    letter-spacing:1px;
    margin-bottom:10px
}
 .page_contact .ct-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.7)
}
 .page_contact .ct-breadcrumb a{
    color:rgba(255,255,255,.7);
    transition:color .2s
}
 .page_contact .ct-breadcrumb a:hover{
    color:var(--accent)
}
 .page_contact .ct-breadcrumb .sep{
    opacity:.5
}
 .page_contact .ct-breadcrumb .cur{
    color:var(--accent)
}
 .page_contact .ct-main-section{
    padding: 0;
}
 .page_contact .ct-main-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    min-height:580px;
    border-radius:var(--radius-lg);
    overflow:hidden
}
 .page_contact .ct-map{
    position:relative;
    min-height:500px
}
 .page_contact .ct-map iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block
}
 .page_contact .ct-form-wrap{
    background: #f5f7fa;
    padding:52px 48px;
    display:flex;
    flex-direction:column;
    gap:32px
}
 .page_contact .ct-form-header{
    display:flex;
    flex-direction:column;
    gap:10px
}
 .page_contact .ct-form-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--accent-deep)
}
 .page_contact .ct-form-label::before{
    content:'';
    display:block;
    width:28px;
    height:2px;
    background:var(--accent-deep)
}
 .page_contact .ct-form-header h2{
    font-size:clamp(24px, 2.5vw, 32px);
    font-weight:700;
    /* color:var(--dark); */
    line-height:1.2
}
 .page_contact .ct-form-header p{
    font-size:16px;
    color:var(--text-light);
    line-height:1.7
}
 .page_contact .ct-form{
    display:flex;
    flex-direction:column;
    gap:16px
}
 .page_contact .ct-form .input{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .page_contact .ct-form .input .field-full{
    grid-column:1/-1
}
 .page_contact .ct-form .textarea_box{
    display:flex;
    flex-direction:column;
    gap:16px
}
 .page_contact .ct-field{
    display:flex;
    flex-direction:column;
    gap:6px
}
 .page_contact .ct-field label{
    font-size:12px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--dark)
}
 .page_contact .ct-required{
    color:var(--accent-deep)
}
 .page_contact .ct-field input,.page_contact .ct-field select,.page_contact .ct-field textarea{
    width:100%;
    padding:11px 16px;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    color:var(--text);
    font-size:14px;
    transition:border-color .25s,box-shadow .25s;
    outline:0;
    -webkit-appearance:none;
    appearance:none
}
 .page_contact .ct-field select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px;
    padding-right:40px;
    cursor:pointer
}
 .page_contact .ct-field input:focus,.page_contact .ct-field select:focus,.page_contact .ct-field textarea:focus{
    border-color:var(--accent-deep);
    box-shadow:0 0 0 3px rgba(185,159,129,.15);
    background:var(--white)
}
 .page_contact .ct-field textarea{
    resize:vertical;
    min-height:130px
}
 .page_contact .ct-form-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    padding-top:4px
}
 .page_contact .ct-submit-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 32px;
    background:var(--dark);
    color:var(--white);
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    border:none;
    border-radius:var(--radius-sm);
    cursor:pointer;
    transition:background .25s,transform .2s;
    white-space:nowrap
}
 .page_contact .ct-submit-btn:hover{
    background:var(--accent-deep);
    transform:translateY(-1px)
}
 .page_contact .ct-info-bar{
    padding:90px 0
}
 .page_contact .ct-info-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px
}
 .page_contact .ct-info-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:32px 28px;
    grid-column:span 2;
    border:2px solid var(--line);
    border-radius:var(--radius-md);
    background:var(--white)
}
 .page_contact .ct-info-item-wide{
    grid-column:span 3
}
 .page_contact .ct-info-icon{
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:50%;
    border:2px solid var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--accent-deep)
}
 .page_contact .ct-info-icon svg{
    width:20px;
    height:20px
}
 .page_contact .ct-info-text{
    display:flex;
    flex-direction:column;
    gap:5px
}
 .page_contact .ct-info-text strong{
    font-size:18px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    /* color:var(--dark); */
}
 .page_contact .ct-info-text span{
    font-size:16px;
    color:var(--text-light);
    line-height:1.6
}
 .page_contact .ct-info-text a span{
    transition:color var(--transition)
}
 .page_contact .ct-info-text a:hover span{
    color:var(--accent-deep)
}
 .page_contact .ct-info-socials{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:2px
}
 .page_contact .ct-info-socials a{
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid var(--line);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--accent-deep);
    background:var(--bg-soft);
    transition:transform var(--transition),border-color var(--transition),background var(--transition),color var(--transition)
}
 .page_contact .ct-info-socials a:hover{
    transform:translateY(-2px);
    border-color:var(--accent-deep);
    background:rgba(205,183,158,.16);
    color:var(--dark)
}
 .page_contact .ct-info-socials svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .page_contact .ct-branches-section{
    padding:0 0 90px;
    background:var(--bg-soft)
}
 .page_contact .ct-branches-header{
    max-width:720px;
    text-align:center;
    margin:0 auto 38px
}
 .page_contact .ct-branches-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--accent-deep);
    margin-bottom:14px
}
 .page_contact .ct-branches-label::after,.page_contact .ct-branches-label::before{
    content:'';
    width:22px;
    height:2px;
    background:var(--accent-deep)
}
 .page_contact .ct-branches-header h2{
    font-size:clamp(26px, 3vw, 38px);
    font-weight:700;
    color:var(--dark);
    line-height:1.2;
    margin-bottom:12px
}
 .page_contact .ct-branches-header p{
    font-size:15px;
    color:var(--text-light);
    line-height:1.8
}
 .page_contact .ct-branches-slider-wrap{
    position:relative;
    padding:0 48px
}
 .page_contact .ct-branches-slider{
    overflow:hidden
}
 .page_contact .ct-branches-slider .swiper-slide{
    height:auto
}
 .page_contact .ct-branch-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    height:100%;
    overflow:hidden;
    transition:transform .25s ease,box-shadow .25s ease
}
 .page_contact .ct-branch-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg,#d7c4ac 0,#b99f81 100%)
}
 .page_contact .ct-branch-card::after{
    content:attr(data-code);
    position:absolute;
    top:24px;
    right:22px;
    font-size:12px;
    font-weight:700;
    line-height:1;
    letter-spacing:2px;
    color:rgba(185,159,129,.9);
    pointer-events:none
}
 .page_contact .ct-branch-top{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:0 52px 14px 0;
    border-bottom:1px solid rgba(31,29,26,.08)
}
 .page_contact .ct-branch-tag{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    padding:0;
    border-radius:0;
    background:0 0;
    color:var(--accent-deep);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase
}
 .page_contact .ct-branch-top h3{
    font-size:24px;
    font-weight:600;
    color:var(--dark);
    line-height:1.2;
    max-width:220px
}
 .page_contact .ct-branch-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:12px
}
 .page_contact .ct-branch-list li{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(31,29,26,.08);
    position:relative
}
 .page_contact .ct-branch-list li:last-child{
    border-bottom:none;
    padding-bottom:0
}
 .page_contact .ct-branch-list strong{
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#8b8073
}
 .page_contact .ct-branch-list span{
    font-size:14px;
    line-height:1.75;
    color:#4f4841
}
 .page_contact .ct-branch-card:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(31,29,26,.09)
}
 .page_contact .ct-branches-next,.page_contact .ct-branches-prev{
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--dark);
    color:var(--accent);
    --swiper-navigation-size:14px;
    top:42%;
    z-index:3;
    box-shadow:0 10px 24px rgba(31,29,26,.15)
}
 .page_contact .ct-branches-prev{
    left:0
}
 .page_contact .ct-branches-next{
    right:0
}
 .page_contact .ct-branches-next:hover,.page_contact .ct-branches-prev:hover{
    background:var(--accent-deep);
    color:var(--white)
}
 .page_contact .ct-branches-pagination{
    position:relative;
    margin-top:26px;
    bottom:auto;
    z-index:3
}
 .page_contact .ct-branches-pagination .swiper-pagination-bullet{
    width:8px;
    height:8px;
    background:var(--accent-deep);
    opacity:.35
}
 .page_contact .ct-branches-pagination .swiper-pagination-bullet-active{
    opacity:1
}
 .page_contact .ct-branches-section{
    padding:0 0 100px;
    background:linear-gradient(180deg,#f5f8fb 0,#f7f8fa 100%)
}
 .page_contact .ct-branches-header{
    max-width:760px;
    text-align:center;
    margin:0 auto 42px
}
 .page_contact .ct-branches-label{
    display:none
}
 .page_contact .ct-branches-header h2{
    font-size:clamp(32px, 3vw, 46px);
    line-height:1.12;
    color:#0f2f55;
    letter-spacing:0;
    margin-bottom:16px
}
 .page_contact .ct-branches-header p{
    font-size:16px;
    line-height:1.75;
    color:#5a6473
}
 .page_contact .ct-branches-slider-wrap{
    position:relative;
    padding:0
}
 .page_contact .ct-branch-card{
    border:1px solid #dbe5f0;
    border-radius:20px;
    padding:28px 26px 22px;
    gap:14px
}
 .page_contact .ct-branch-card::after,.page_contact .ct-branch-card::before{
    display:none
}
 .page_contact .ct-branch-top{
    gap:0;
    padding:0 0 14px;
    border-bottom:1px solid #d7e1ec
}
 .page_contact .ct-branch-tag{
    display:none
}
 .page_contact .ct-branch-top h3{
    max-width:none;
    font-size:19px;
    font-weight:700;
    line-height:1.3;
    color:#0f2f55
}
 .page_contact .ct-branch-list{
    gap:0
}
 .page_contact .ct-branch-list li{
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    align-items:start;
    column-gap:10px;
    row-gap:0;
    padding:11px 0;
    border-bottom:none
}
 .page_contact .ct-branch-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    margin-top:3px;
    color:#1e67d2
}
 .page_contact .ct-branch-icon svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .page_contact .ct-branch-list strong{
    display:none
}
 .page_contact .ct-branch-list span{
    font-size:15px;
    line-height:1.7;
    color:#34455d
}
 .page_contact .ct-branch-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(22,47,84,.1)
}
 .page_contact .ct-branches-next,.page_contact .ct-branches-prev{
    display:none
}
 .page_contact .ct-branches-pagination{
    margin-top:22px
}
 .page_contact .ct-branches-pagination .swiper-pagination-bullet{
    background:#14385f
}
 .ct-branches{
    padding:90px 0
}
 .ct-branches-wrap{
    width:min(100% - 40px,1350px);
    margin:0 auto
}
 .ct-section-head{
    max-width:760px;
    margin:0 auto 44px;
    text-align:center
}
 .ct-section-head h2{
    margin:0 0 18px;
    font-size:clamp(38px, 5vw, 40px);
    line-height:1.3;
    font-weight:600;
    /* color:var(--dark); */
    letter-spacing:0
}
 .ct-section-head p{
    margin:0;
    font-size:16px;
    line-height:1.75;
    color:var(--text-light)
}
 .ct-branches-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    align-items:stretch
}
 .ct-branch-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-strong)
}
 .ct-branch-card h4{
    margin:0;
    padding:0 0 16px;
    border-bottom:1px solid var(--line);
    font-size:19px;
    line-height:1.3;
    font-weight:600;
    color:var(--dark)
}
 .ct-branch-details{
    list-style:none;
    margin:18px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:2px
}
.ct-branch-details li{
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    column-gap:10px;
    align-items:start;
    padding:5px 0;
    font-size:15px;
    line-height:1.72;
    color:var(--text-light)
}
.ct-branch-details a{
    color:inherit;
    text-decoration:none;
    transition:color var(--transition)
}
.ct-branch-details a:hover{
    color:var(--accent-deep)
}
.ct-branch-details svg{
    width:18px;
    height:18px;
    margin-top:3px;
    stroke:var(--accent-deep);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
    flex:0 0 18px
}
 #page_blog{
    --pb-accent:var(--accent);
    --pb-dark:var(--dark);
    --pb-soft:var(--bg-soft);
    --pb-panel:var(--bg-panel);
    --pb-text:var(--text);
    --pb-line:var(--line)
}
 #page_blog .pb-inner-banner{
    position:relative;
    height:380px;
    overflow:hidden;
    display:flex;
    align-items:flex-end
}
 #page_blog .pb-inner-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center top;
    transform:scale(1.04);
    transition:transform 8s ease
}
 #page_blog .pb-inner-banner::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(20,17,14,.72) 0,rgba(20,17,14,.25) 60%,transparent 100%)
}
 #page_blog .pb-inner-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-bottom:48px
}
 #page_blog .pb-inner-banner h1{
    font-size:clamp(32px, 5vw, 55px);
    font-weight:700;
    color:#fff;
    letter-spacing:1px;
    margin-bottom:10px
}
 #page_blog .pb-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.7)
}
 #page_blog .pb-breadcrumb a{
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:color .2s
}
 #page_blog .pb-breadcrumb a:hover{
    color:var(--pb-accent)
}
 #page_blog .pb-breadcrumb .sep{
    opacity:.5
}
 #page_blog .pb-breadcrumb .cur{
    color:var(--pb-accent)
}
 #page_blog .pb-featured{
    padding:90px 0
}
 #page_blog .pb-featured-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center
}
 #page_blog .pb-featured-img{
    position:relative;
    display:block;
    border-radius:var(--radius-md);
    overflow:hidden;
    aspect-ratio:4/3
}
 #page_blog .pb-featured-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease
}
 #page_blog .pb-featured-img:hover img{
    transform:scale(1.04)
}
 #page_blog .pb-featured-badge{
    position:absolute;
    top:18px;
    left:18px;
    background:var(--pb-accent);
    color:var(--pb-dark);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:5px 14px;
    border-radius:100px
}
 #page_blog .pb-post-meta{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px
}
 #page_blog .pb-post-cat{
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--pb-accent);
    background:rgba(205,183,158,.15);
    padding:4px 12px;
    border-radius:100px;
    border:1px solid rgba(205,183,158,.35)
}
 #page_blog .pb-post-date,
 #page_blog .pb-post-readtime{
    font-size:13px;
    color:var(--text-light)
}
 #page_blog .pb-featured-title{
    font-size:clamp(22px, 2.8vw, 32px);
    font-weight:600;
    /* color:var(--pb-dark); */
    line-height:1.3;
    margin-bottom:16px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden
}
 #page_blog .pb-featured-title a{
    color:inherit;
    text-decoration:none;
    transition:color .2s
}
 #page_blog .pb-featured-title a:hover{
    color:var(--pb-accent)
}
 #page_blog .pb-featured-excerpt{
    font-size:15px;
    line-height:1.75;
    color:var(--pb-text);
    margin-bottom:22px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden
}
 #page_blog .pb-featured-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:28px
}
 #page_blog .pb-tag{
    font-size:11px;
    font-weight:600;
    letter-spacing:1px;
    color:var(--pb-dark);
    background:rgba(31,29,26,.07);
    padding:4px 12px;
    border-radius:100px
}
 #page_blog .pb-read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    /* color:var(--pb-dark); */
    text-decoration:none;
    border-bottom:2px solid var(--pb-accent);
    padding-bottom:2px;
    transition:color .2s,gap .2s
}
 #page_blog .pb-read-more:hover{
    color:var(--pb-accent);
    gap:12px
}
 #page_blog .pb-filter-bar{
    padding:0;
    background:var(--pb-soft);
    border-top:1px solid var(--pb-line);
    border-bottom:1px solid var(--pb-line)
}
 #page_blog .pb-filter-wrap{
    display:flex;
    align-items:center;
    gap:20px;
    padding:18px 0;
    flex-wrap:wrap
}
 #page_blog .pb-filter-label{
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--text-light);
    white-space:nowrap
}
 #page_blog .pb-filter-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
 #page_blog .pb-filter-tab{
    font-size:13px;
    font-weight:500;
    color:var(--pb-text);
    background:0 0;
    border:2px solid var(--pb-line);
    border-radius:100px;
    padding:6px 18px;
    cursor:pointer;
    transition:all .2s
}
 #page_blog .pb-filter-tab:hover{
    border-color:var(--pb-accent);
    color:var(--pb-dark)
}
 #page_blog .pb-filter-tab.active{
    background:var(--pb-dark);
    border-color:var(--pb-dark);
    color:#fff
}
 #page_blog .pb-posts{
    padding:90px 0;
    padding-top: 0;
    /* background:#f5f7fa; */
}
 #page_blog .pb-posts-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
    margin-bottom:60px
}
 #page_blog .pb-post-card{
    background:#fff;
    border-radius:var(--radius-md);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:box-shadow .3s,transform .3s
}
 #page_blog .pb-post-card:hover{
    box-shadow:var(--shadow-strong);
    transform:translateY(-4px)
}
 #page_blog .pb-post-card-img-link{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden
}
 #page_blog .pb-post-card-img-link img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease
}
 #page_blog .pb-post-card:hover .pb-post-card-img-link img{
    transform:scale(1.05)
}
 #page_blog .pb-post-card-body{
    padding:28px 28px 24px;
    display:flex;
    flex-direction:column;
    flex:1
}
 #page_blog .pb-post-card-title{
    font-size:18px;
    font-weight:600;
    /* color:var(--pb-dark); */
    line-height:1.45;
    margin-bottom:12px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:calc(18px * 1.45 * 2)
}
 #page_blog .pb-post-card-title a{
    color:inherit;
    text-decoration:none;
    transition:color .2s;
    display:block
}
 #page_blog .pb-post-card-title a:hover{
    color:var(--pb-accent)
}
 #page_blog .pb-post-card-excerpt{
    font-size:15px;
    line-height:1.5;
    color:var(--pb-text);
    margin-bottom:20px;
    flex:1;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    min-height:calc(15px * 1.5 * 3)
}
 #page_blog .pb-post-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding-top:16px;
    border-top:1px solid var(--pb-line)
}
 #page_blog .pb-post-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
 #page_blog .pb-read-more-sm{
    font-size:13px;
    font-weight:600;
    /* color:var(--pb-dark); */
    text-decoration:none;
    white-space:nowrap;
    transition:color .2s
}
 #page_blog .pb-read-more-sm:hover{
    color:var(--pb-accent)
}
 #page_blog .pb-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px
}
 #page_blog .pb-page-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 6px;
    font-size:14px;
    font-weight:500;
    color:var(--pb-text);
    background:var(--pb-soft);
    border:2px solid var(--pb-line);
    border-radius:var(--radius-sm);
    cursor:pointer;
    transition:all .2s
}
 #page_blog .pb-page-btn:hover:not(:disabled){
    border-color:var(--pb-accent);
    color:var(--pb-dark)
}
 #page_blog .pb-page-btn.active{
    background:var(--pb-dark);
    border-color:var(--pb-dark);
    color:#fff
}
 #page_blog .pb-page-btn:disabled{
    opacity:.35;
    cursor:not-allowed
}
 #page_blog .pb-page-ellipsis{
    font-size:16px;
    color:var(--text-light);
    padding:0 4px
}
 #page_blog .pb-sidebar-section{
    padding:72px 0 80px;
    background:var(--pb-panel)
}
 #page_blog .pb-sidebar-wrap{
    display:grid;
    grid-template-columns:1fr 1.4fr 1fr;
    gap:36px;
    align-items:start
}
 #page_blog .pb-sidebar-card{
    background:#fff;
    border-radius:var(--radius-md);
    padding:32px 28px
}
 #page_blog .pb-sidebar-eyebrow{
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--pb-accent);
    margin-bottom:10px
}
 #page_blog .pb-sidebar-card-title{
    font-size:18px;
    font-weight:600;
    color:var(--pb-dark);
    margin-bottom:20px;
    line-height:1.35
}
 #page_blog .pb-recent-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:16px
}
 #page_blog .pb-recent-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    text-decoration:none;
    transition:opacity .2s
}
 #page_blog .pb-recent-item:hover{
    opacity:.8
}
 #page_blog .pb-recent-item img{
    width:68px;
    height:54px;
    object-fit:cover;
    border-radius:8px;
    flex-shrink:0
}
 #page_blog .pb-recent-item div{
    display:flex;
    flex-direction:column;
    gap:4px
}
 #page_blog .pb-recent-title{
    font-size:13px;
    font-weight:600;
    color:var(--pb-dark);
    line-height:1.45
}
 #page_blog .pb-recent-date{
    font-size:11px;
    color:var(--text-light)
}
 #page_blog .pb-cta{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    text-align:center
}
 #page_blog .pb-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.06);
    transition:transform 10s ease
}
 #page_blog .pb-cta::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(20,17,14,.62)
}
 #page_blog .pb-cta-inner{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:36px
}
 #page_blog .pb-cta-inner h2{
    font-size:clamp(28px, 4vw, 48px);
    font-weight:600;
    color:#fff;
    line-height:1.25
}
 #page_blog .pb-cta-inner p{
    font-size:16px;
    color:rgba(255,255,255,.75);
    line-height:1.7;
    max-width:580px;
    margin:0 auto
}
 #page_blog .pb-cta-btns{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    justify-content:center
}
 #page_blog .pb-cta-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    padding:14px 32px;
    border-radius:100px;
    text-decoration:none;
    transition:all .25s
}
 #page_blog .pb-cta-btn.primary{
    background:var(--pb-accent);
    color:var(--pb-dark);
    border:2px solid var(--pb-accent)
}
 #page_blog .pb-cta-btn.primary:hover{
    background:var(--accent-deep);
    border-color:var(--accent-deep);
    transform:translateY(-2px)
}
 #page_blog .pb-cta-btn.outline{
    background:0 0;
    color:#fff;
    border:2px solid rgba(255,255,255,.55)
}
 #page_blog .pb-cta-btn.outline:hover{
    border-color:#fff;
    background:rgba(255,255,255,.1)
}
 .pp-inner-banner{
    position:relative;
    margin-top:76px;
    height:520px;
    display:flex;
    align-items:flex-end;
    overflow:hidden
}
 .pp-inner-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center 40%;
    transform:scale(1.04);
    transition:transform 8s ease
}
 .pp-inner-banner:hover .pp-inner-banner-bg{
    transform:scale(1)
}
 .pp-inner-banner-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(20,18,16,.72) 0,rgba(20,18,16,.22) 60%,transparent 100%)
}
 .pp-inner-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-bottom:40px
}
 .pp-inner-banner-content h1,
 .pp-inner-banner-title-text{
    font-size:clamp(32px, 4vw, 48px);
    font-weight:700;
    color:#fff;
    margin:0 0 10px;
    letter-spacing:-1px
}
 .pp-breadcrumb-bar{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    color:rgba(255,255,255,.75)
}
 .pp-breadcrumb-bar a{
    color:rgba(255,255,255,.75);
    text-decoration:none
}
 .pp-breadcrumb-bar a:hover{
    color:#fff
}
 .pp-breadcrumb-bar > a:last-of-type{
    color:#fff
}
 .pp-breadcrumb-bar .sep{
    opacity:.6
}
 .pp-breadcrumb-bar .cur{
    color:#fff
}
 .pp-catalog{
    padding:60px 0 80px;
    /*background:#faf9f7*/
}
 #page_products{
    padding-top:96px
}
 .pp-catalog-layout{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:36px;
    align-items:start
}
 .pp-sidebar{
    position:sticky;
    top:90px;
    display:flex;
    flex-direction:column;
    gap:16px
}
 .pp-sidebar-box{
    background:#fff;
    border:1px solid #e8e4de;
    border-radius:10px
}
 .pp-sidebar-title{
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fff;
    background:#1f1d1a;
    padding:12px 20px;
    border-radius:10px 10px 0 0
}
 .pp-sidebar-subtitle{
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#1f1d1a;
    margin-bottom:12px
}
 .pp-cat-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:2px
}
 .pp-cat-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 12px;
    font-size:15px;
    color:#4a4540;
    text-decoration:none;
    transition:background .18s,color .18s
}
 .pp-cat-link:hover{
    background:#f5f2ee;
    color:#1f1d1a
}
 .pp-cat-item.active .pp-cat-link{
    background:#1f1d1a;
    color:#fff;
    font-weight:600
}
 .pp-cat-count{
    font-size:12px;
    background:rgba(0,0,0,.1);
    color:inherit;
    border-radius:20px;
    padding:1px 7px;
    min-width:22px;
    text-align:center
}
 .pp-cat-item.active .pp-cat-count{
    background:rgba(255,255,255,.2)
}
 .pp-size-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:10px
}
 .pp-size-tag{
    font-size:13px;
    font-weight:600;
    border:2px solid #d8d3cc;
    border-radius:4px;
    padding:4px 9px;
    color:#4a4540;
    cursor:default;
    transition:border-color .15s,background .15s
}
 .pp-size-tag:hover{
    border-color:#1f1d1a;
    background:#f5f2ee
}
 .pp-size-note{
    font-size:13px;
    color:#7a746e;
    line-height:1.5;
    margin:0
}
 .pp-moq-value{
    font-size:26px;
    font-weight:700;
    color:#1f1d1a;
    line-height:1;
    margin-bottom:6px
}
 .pp-moq-value span{
    font-size:14px;
    font-weight:400;
    color:#7a746e
}
 .pp-moq-note{
    font-size:13px;
    color:#7a746e;
    line-height:1.5;
    margin:0
}
 .pp-moq-note a{
    color:#1f1d1a;
    text-decoration:underline
}
 .pp-sidebar-cta{
    background:#1f1d1a;
    border-color:#1f1d1a;
    text-align:center
}
 .pp-sidebar-cta p{
    font-size:14px;
    color:rgba(255,255,255,.8);
    margin:0 0 14px;
    line-height:1.5
}
 .pp-sidebar-cta-btn{
    display:block;
    background:#c9a96e;
    color:#1f1d1a;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    text-decoration:none;
    padding:11px 18px;
    border-radius:6px;
    transition:background .18s,transform .15s
}
 .pp-sidebar-cta-btn:hover{
    background:#b8924f;
    transform:translateY(-1px)
}
 .pp-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 0 20px;
    border-bottom:1px solid #e8e4de;
    margin-bottom:28px;
    gap:12px;
    flex-wrap:wrap
}
 .pp-result-count{
    font-size:14px;
    color:#7a746e
}
 .pp-result-count strong{
    color:#1f1d1a
}
 .pp-toolbar-right{
    display:flex;
    align-items:center;
    gap:12px
}
 .pp-sort-label{
    font-size:14px;
    color:#7a746e
}
 .pp-sort-select{
    font-size:14px;
    border:1px solid #d8d3cc;
    border-radius:6px;
    padding:6px 10px;
    color:#1f1d1a;
    background:#fff;
    cursor:pointer;
    outline:0
}
 .pp-sort-select:focus{
    border-color:#1f1d1a
}
 .pp-view-toggle{
    display:flex;
    gap:4px
}
 .pp-view-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border:1px solid #d8d3cc;
    border-radius:6px;
    background:#fff;
    color:#7a746e;
    cursor:pointer;
    transition:border-color .15s,color .15s,background .15s
}
 .pp-view-btn:hover{
    border-color:#1f1d1a;
    color:#1f1d1a
}
 .pp-view-btn.active{
    background:#1f1d1a;
    border-color:#1f1d1a;
    color:#fff
}
 .pp-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px
}
 .pp-card{
    background:#fff;
    border:1px solid #e8e4de;
    border-radius:12px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:box-shadow .22s,transform .22s
}
 .pp-card:hover{
    /* box-shadow:0 12px 36px rgba(0,0,0,.1); */
    transform:translateY(-4px)
}
 .pp-card-img-wrap{
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:3/4;
    background:#f0ede8
}
 .pp-card-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    transition:transform .5s ease;
    display:block
}
 .pp-card:hover .pp-card-img-wrap img{
    transform:scale(1.05)
}
 .pp-card-overlay{
    position:absolute;
    inset:0;
    background:rgba(31,29,26,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .25s
}
 .pp-card:hover .pp-card-overlay{
    opacity:1
}
 .pp-card-overlay-btn{
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fff;
    border:2px solid rgba(255,255,255,.8);
    padding:9px 20px;
    border-radius:4px;
    transition:background .18s
}
 .pp-card-overlay-btn:hover{
    background:rgba(255,255,255,.15)
}
 .pp-card-badge{
    position:absolute;
    top:12px;
    left:12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    background:rgba(31,29,26,.75);
    color:#fff;
    padding:4px 10px;
    border-radius:20px;
    backdrop-filter:blur(4px);
    pointer-events:none
}
 .pp-card-body{
    padding:18px 18px 20px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1
}
 .pp-card-title{
    font-size:16px;
    font-weight:700;
    line-height:1.35;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:44px
}
 .pp-card-title a{
    color:#1f1d1a;
    text-decoration:none;
    transition:color .15s
}
 .pp-card-title a:hover{
    color:#c9a96e
}
 .pp-card-desc{
    font-size:14px;
    color:#6b6560;
    line-height:1.55;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .pp-card-review{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:2px
}
 .pp-card-stars{
    display:flex;
    align-items:center;
    gap:2px;
    color:#c9a96e
}
 .pp-card-stars svg{
    width:14px;
    height:14px;
    flex:0 0 14px
}
 .pp-card-price{
    font-size:15px;
    font-weight:600;
    color:#1f1d1a;
    white-space:nowrap
}
 .pp-card-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:2px
}
 .pp-card-meta-item{
    font-size:12px;
    color:#7a746e;
    background:#f5f2ee;
    padding:3px 9px;
    border-radius:4px
}
 .pp-card-tags{
    display:flex;
    flex-wrap:wrap;
    gap:5px
}
 .pp-tag{
    font-size:12px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    border:1px solid #c9a96e;
    color:#c9a96e;
    padding:2px 8px;
    border-radius:3px
}
 .pp-card-inquire{
    display:inline-flex;
    align-items:center;
    font-size:13px;
    font-weight:700;
    color:#1f1d1a;
    text-decoration:none;
    margin-top:auto;
    padding-top:8px;
    border-top:1px solid #f0ede8;
    transition:color .15s,gap .15s;
    gap:4px;
    cursor:pointer
}
 .pp-card-inquire:hover{
    color:#c9a96e;
    gap:8px
}
 .pp-grid.pp-grid-list{
    grid-template-columns:1fr;
    gap:16px
}
 .pp-grid.pp-grid-list .pp-card{
    flex-direction:row;
    align-items:stretch
}
 .pp-grid.pp-grid-list .pp-card-img-wrap{
    width:200px;
    flex-shrink:0;
    aspect-ratio:auto
}
 .pp-grid.pp-grid-list .pp-card-body{
    padding:20px 24px
}
 .pp-grid.pp-grid-list .pp-card-desc{
    -webkit-line-clamp:4
}
 .inside-pagination ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:48px
}
 .inside-pagination ul{
    list-style:none;
    padding:0
}
 .inside-pagination a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    height:36px;
    border:1px solid #d8d3cc;
    border-radius:6px;
    font-size:14px;
    color:#4a4540;
    text-decoration:none;
    background:#fff;
    transition:border-color .15s,background .15s,color .15s;
    padding:0 6px
}
 .inside-pagination a:hover{
    border-color:#1f1d1a;
    color:#1f1d1a
}
 .inside-pagination li.active a{
    background:#1f1d1a;
    border-color:#1f1d1a;
    color:#fff;
    font-weight:700
}
 .inside-pagination .pre-page a,.inside-pagination .next-page a{
    position:relative;
    font-size:0
}
 .inside-pagination .pre-page img,.inside-pagination .next-page img{
    display:none
}
 .inside-pagination .pre-page a::before,.inside-pagination .next-page a::before{
    content:'';
    width:9px;
    height:9px;
    border-top:2px solid currentColor;
    border-right:2px solid currentColor
}
 .inside-pagination .pre-page a::before{
    transform:rotate(-135deg)
}
 .inside-pagination .next-page a::before{
    transform:rotate(45deg)
}
 .pp-sidebar-cta{
    position:relative;
    overflow:hidden;
    border-color:transparent;
    padding:25px
}
 .pp-sidebar-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    opacity:.22;
    z-index:0
}
 .pp-sidebar-cta>:not(.pp-sidebar-cta-bg){
    position:relative;
    z-index:1
}
 #page_products .pa-cta{
    position:relative;
    padding:100px 0;
    overflow:hidden
}
 #page_products .pa-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    background-attachment:fixed
}
 #page_products .pa-cta-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(31,29,26,.85) 0,rgba(31,29,26,.7) 100%)
}
 #page_products .pa-cta-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
    align-items:center;
    position:relative;
    z-index:1
}
 #page_products .pa-cta h2{
    font-size:clamp(28px, 3.5vw, 42px);
    font-weight:600;
    color:#fff;
    line-height:1.25;
    margin-bottom:14px
}
 #page_products .pa-cta p{
    font-size:15px;
    color:rgba(255,255,255,.55);
    max-width:520px;
    line-height:1.8
}
 #page_products .pa-cta-btns{
    display:flex;
    flex-direction:column;
    gap:12px;
    flex-shrink:0
}
 #page_products .pa-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:50px;
    padding:0 32px;
    border-radius:999px;
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    transition:transform .3s,background .3s,box-shadow .3s;
    white-space:nowrap
}
 #page_products .pa-cta-btn.primary{
    background:#c9a96e;
    color:#1f1d1a
}
 #page_products .pa-cta-btn.primary:hover{
    background:#e0cdb5;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(205,183,158,.25)
}
 #page_products .pa-cta-btn.outline{
    background:0 0;
    color:rgba(255,255,255,.75);
    border:1px solid rgba(255,255,255,.2)
}
 #page_products .pa-cta-btn.outline:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
    transform:translateY(-2px)
}
 .pp-sidebar-blog{
    padding:0;
    overflow:hidden
}
 .pp-blog-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column
}
 .pp-blog-item{
    border-bottom:1px solid #f0ede8
}
 .pp-blog-item:last-child{
    border-bottom:none
}
 .pp-blog-link{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 18px;
    text-decoration:none;
    transition:background .18s
}
 .pp-blog-link:hover{
    background:#faf9f7
}
 .pp-blog-thumb{
    width:64px;
    height:64px;
    flex-shrink:0;
    border-radius:6px;
    overflow:hidden;
    background:#f0ede8
}
 .pp-blog-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease
}
 .pp-blog-link:hover .pp-blog-thumb img{
    transform:scale(1.08)
}
 .pp-blog-info{
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:1;
    min-width:0
}
 .pp-blog-cat{
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#c9a96e
}
 .pp-blog-title{
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    color:#1f1d1a;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    transition:color .15s
}
 .pp-blog-link:hover .pp-blog-title{
    color:#c9a96e
}
 .pp-blog-date{
    font-size:12px;
    color:#9a9490
}
 .pp-blog-more{
    display:block;
    text-align:center;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#1f1d1a;
    text-decoration:none;
    padding:13px 18px;
    border-top:1px solid #f0ede8;
    background:#faf9f7;
    transition:background .18s,color .18s
}
 .pp-blog-more:hover{
    background:#1f1d1a;
    color:#fff
}
 .pd-inner-banner{
    position:relative;
    height:520px;
    display:flex;
    align-items:flex-end;
    overflow:hidden
}
 .pd-inner-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center 40%;
    transform:scale(1.04);
    transition:transform 8s ease
}
 .pd-inner-banner:hover .pd-inner-banner-bg{
    transform:scale(1)
}
 .pd-inner-banner-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(20,18,15,.72) 0,rgba(20,18,15,.28) 60%,transparent 100%)
}
 .pd-inner-banner-content{
    position:relative;
    z-index:2;
    padding-bottom:32px
}
 .pd-inner-banner-title{
    font-size:clamp(29px, 4vw, 45px);
    font-weight:600;
    color:#fff;
    margin:0 0 10px;
    line-height:1.2
}
 .pd-breadcrumb{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    color:rgba(255,255,255,.72)
}
 .pd-breadcrumb a{
    color:rgba(255,255,255,.72);
    text-decoration:none;
    transition:color .15s
}
 .pd-breadcrumb a:hover{
    color:#c9a96e
}
 .pd-breadcrumb span[aria-hidden]{
    color:rgba(255,255,255,.4)
}
 .pd-body{
    padding:90px 0;
    /* background:#f7fafc; */
}
 .pd-layout{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:32px;
    align-items:start
}
 .pd-main{
    grid-column:2
}
 .pd-sidebar-shell{
    grid-column:1;
    grid-row:1
}
 .pd-sidebar{
    position:sticky;
    top:90px;
    display:flex;
    flex-direction:column;
    gap:20px
}
 .pd-sidebar-box{
    background:#fff;
    border-radius:12px;
    overflow:visible;
    box-shadow:0 2px 16px rgba(31,29,26,.06)
}
 .pd-sidebar-title{
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fff;
    background:#1f1d1a;
    padding:12px 20px;
    border-radius:12px 12px 0 0;
    margin:-1px -1px 0
}
 .pd-cat-list{
    list-style:none;
    margin:0;
    padding:8px 0
}
 .pd-cat-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 20px;
    font-size:14px;
    color:#4a4744;
    text-decoration:none;
    transition:background .15s,color .15s;
    border-left:3px solid transparent
}
 .pd-cat-link:hover{
    background:#faf9f7;
    color:#1f1d1a;
    border-left-color:#c9a96e
}
 .pd-cat-item.active .pd-cat-link{
    color:#1f1d1a;
    font-weight:700;
    border-left-color:#c9a96e;
    background:#fdf8f0
}
 .pd-cat-count{
    font-size:12px;
    background:#f0ede8;
    color:#6b6560;
    border-radius:20px;
    padding:2px 8px;
    font-weight:600
}
 .pd-cat-item.active .pd-cat-count{
    background:#c9a96e;
    color:#fff
}
 .pd-sidebar-related{
    padding:0;
    overflow:hidden
}
 .pd-related-list{
    list-style:none;
    margin:0;
    padding:0
}
 .pd-related-item{
    border-bottom:1px solid #f0ede8
}
 .pd-related-item:last-child{
    border-bottom:none
}
 .pd-related-link{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 18px;
    text-decoration:none;
    transition:background .18s
}
 .pd-related-link:hover{
    background:#faf9f7
}
 .pd-related-thumb{
    width:64px;
    height:80px;
    flex-shrink:0;
    border-radius:6px;
    overflow:hidden;
    background:#f0ede8
}
 .pd-related-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease
}
 .pd-related-link:hover .pd-related-thumb img{
    transform:scale(1.08)
}
 .pd-related-info{
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:1;
    min-width:0
}
 .pd-related-cat{
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#c9a96e
}
 .pd-related-title{
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    color:#1f1d1a;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    transition:color .15s
}
 .pd-related-link:hover .pd-related-title{
    color:#c9a96e
}
 .pd-sidebar-cta{
    position:relative;
    min-height:180px;
    border-radius:12px;
    overflow:hidden;
    padding:0
}
 .pd-sidebar-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:.22
}
 .pd-sidebar-cta-overlay{
    position:absolute;
    inset:0;
    background:#1f1d1a;
    opacity:.78
}
 .pd-sidebar-cta-content{
    position:relative;
    z-index:2;
    padding:28px 20px;
    text-align:center
}
 .pd-sidebar-cta-content p{
    color:rgba(255,255,255,.85);
    font-size:15px;
    line-height:1.5;
    margin:0 0 16px
}
 .pd-sidebar-cta-btn{
    display:inline-block;
    background:#c9a96e;
    color:#fff;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    text-decoration:none;
    padding:10px 22px;
    border-radius:6px;
    transition:background .2s,transform .2s
}
 .pd-sidebar-cta-btn:hover{
    background:#b8924e;
    transform:translateY(-1px)
}
 .pd-sidebar-products{
    padding-bottom:20px
}
 .pd-sidebar-product-grid{
    grid-template-columns:1fr;
    gap:16px;
    padding:18px
}
 .pd-sidebar-product-grid .pp-card{
    border:1px solid #f0ede8
}
 .pd-sidebar-product-grid .pp-card-body{
    padding:16px
}
 .pd-sidebar-product-grid .pp-card-title{
    font-size:16px
}
 .pd-sidebar-product-grid .pp-card-desc{
    font-size:13px;
    line-height:1.6
}
 .pd-main{
    display:flex;
    flex-direction:column;
    gap:0;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    /* background:#fff; */
    border-radius:14px;
    padding:32px;
    border: 1px solid #dddddd;
}
 .pd-sidebar-shell{
    min-width:0
}
 .pd-hero-section{
    background:#fff;
    padding:48px 0 56px;
    border-bottom:1px solid rgba(31,29,26,.08)
}
 #page_product_detail{
    padding-top:96px
}
 .pd-hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    min-width:0
}
 .pd-gallery{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
    overflow:hidden
}
 .pd-gallery-main{
    border-radius:10px;
    overflow:hidden;
    aspect-ratio:3/4;
    background:#f5f3f0;
    width:100%;
    min-width:0;
    max-width:100%
}
 .pd-gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 .pd-gallery-main .swiper-button-next,.pd-gallery-main .swiper-button-prev{
    color:#fff;
    background:rgba(31,29,26,.4);
    width:36px;
    height:36px;
    border-radius:50%;
    --swiper-navigation-size:16px
}
 .pd-gallery-main .swiper-button-next:hover,.pd-gallery-main .swiper-button-prev:hover{
    background:rgba(31,29,26,.7)
}
 .pd-gallery-thumbs{
    height:80px;
    width:100%;
    overflow:hidden
}
 .pd-gallery-thumbs .swiper-slide{
    border-radius:6px;
    overflow:hidden;
    cursor:pointer;
    opacity:.6;
    transition:opacity .2s;
    border:2px solid transparent
}
 .pd-gallery-thumbs .swiper-slide-thumb-active{
    opacity:1;
    border-color:#c9a96e
}
 .pd-gallery-thumbs img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 .pd-hero-info{
    display:flex;
    flex-direction:column;
    gap:14px
}
 .pd-hero-cat{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#c9a96e;
    background:#fdf8f0;
    padding:4px 12px;
    border-radius:20px;
    align-self:flex-start
}
 .pd-hero-title{
    font-size:36px;
    font-weight:600;
    color:#1f1d1a;
    line-height:1.3;
    margin:0
}
 .pd-hero-stars{
    display:flex;
    align-items:center;
    gap:4px
}
 .pd-star{
    font-size:18px;
    color:#d4d0cb
}
 .pd-star.filled{
    color:#c9a96e
}
 .pd-star.half{
    color:#c9a96e;
    opacity:.5
}
 .pd-star-count{
    font-size:14px;
    color:#6b6560;
    margin-left:4px
}
 .pd-hero-desc{
    font-size:15px;
    color:#5a5754;
    line-height:1.6
}
 .pd-hero-specs{
    list-style:none;
    overflow:hidden;
    margin-bottom:30px
}
 .pd-hero-specs li{
    display:flex;
    border-bottom:1px solid #f0ede8;
    font-size:14px
}
 .pd-hero-specs li:last-child{
    border-bottom:none
}
 .pd-spec-label{
    width:110px;
    flex-shrink:0;
    padding:9px 14px;
    background:#faf9f7;
    font-weight:600;
    color:#1f1d1a;
    font-size:14px
}
 .pd-spec-val{
    padding:9px 14px;
    color:#5a5754;
    flex:1
}
 .pd-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
 .pd-tag{
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#6b6560;
    background:#f0ede8;
    padding:4px 10px;
    border-radius:4px
}
 .pd-hero-actions{
    display:flex;
    gap:12px
}
 .pd-inquiry-btn{
    flex:1;
    text-align:center;
    margin-top:0
}
 .pd-quote-btn{
    flex:1;
    text-align:center
}
 .pd-hero-share{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    color:#9a9490
}
 .pd-share-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#f0ede8;
    color:#4a4744;
    transition:background .2s,color .2s
}
 .pd-share-icon svg{
    width:15px;
    height:15px;
    stroke:currentColor;
    stroke-width:1.8
}
 .pd-share-icon:hover{
    background:#1f1d1a;
    color:#fff
}
 .pd-section-divider{
    background:#1f1d1a;
    border-radius:10px;
    padding:18px 28px;
    margin-bottom:28px
}
 .pd-section-divider-title{
    font-size:20px;
    font-weight:600;
    color:#fff;
    margin:0;
    letter-spacing:1px
}
 .pd-factory-section,.pd-faq-section,.pd-inquiry-section{
    margin-bottom:36px
}
 .pd-section-header{
    margin-bottom:24px
}
 .pd-section-title{
    font-size:clamp(21px, 2.5vw, 28px);
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 8px
}
 .pd-section-subtitle{
    font-size:15px;
    color:#7a7570;
    margin:0
}
.pd-features-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .pd-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}
 .pd-gallery-card{
    background:#fff;
    border:1px solid #f0ede8;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(31,29,26,.05)
}
 .pd-gallery-media{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#faf9f7
}
 .pd-gallery-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 .pd-gallery-copy{
    padding:16px 16px 18px
}
 .pd-gallery-copy h4{
    font-size:17px;
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 8px
}
 .pd-gallery-copy p{
    font-size:14px;
    line-height:1.7;
    color:#5a5754;
    margin:0
}
 .pd-feature-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:16px;
    background:#faf9f7;
    border-radius:10px;
    border:1px solid #f0ede8
}
 .pd-feature-icon{
    width:40px;
    height:40px;
    flex-shrink:0;
    background:#1f1d1a;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center
}
 .pd-feature-icon svg{
    width:20px;
    height:20px;
    stroke:#c9a96e;
    stroke-width:1.6;
    fill:none
}
 .pd-feature-text{
    display:flex;
    flex-direction:column;
    gap:4px
}
 .pd-feature-text strong{
    font-size:15px;
    font-weight:700;
    color:#1f1d1a
}
 .pd-feature-text span{
    font-size:14px;
    color:#6b6560;
    line-height:1.5
}
 .pd-imgtext{
    display:flex;
    gap:32px;
    align-items:center
}
 .pd-imgtext-img{
    width:40%
}
 .pd-imgtext-text{
    width:55%
}
 .pd-imgtext-img{
    border-radius:12px;
    overflow:hidden;
    aspect-ratio:4/3
}
 .pd-imgtext-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s ease
}
 .pd-imgtext:hover .pd-imgtext-img img{
    transform:scale(1.04)
}
 .pd-imgtext-text h4{
    font-size:18px;
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 12px
}
 .pd-imgtext-text p{
    font-size:15px;
    color:#5a5754;
    line-height:1.75;
    margin:0 0 12px
}
 .pd-detail-list{
    list-style:none;
    margin:12px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:6px
}
 .pd-detail-list li{
    font-size:14px;
    color:#5a5754;
    padding-left:18px;
    position:relative
}
 .pd-detail-list li::before{
    content:'';
    position:absolute;
    left:0;
    color:#c9a96e;
    font-weight:700
}
 .pd-cert-badges{
    display:flex;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap
}
 .pd-cert-badge{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    background:#faf9f7;
    border:1px solid #f0ede8;
    border-radius:8px;
    padding:10px 14px
}
 .pd-cert-badge img{
    width:48px;
    height:48px;
    object-fit:contain
}
 .pd-cert-badge span{
    font-size:12px;
    font-weight:600;
    color:#4a4744
}
 .pd-block-intro{
    font-size:15px;
    color:#5a5754;
    line-height:1.7;
    margin:-8px 0 20px
}
 .pd-occasions-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}
 .pd-occasion-card{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:18px 16px;
    background:#faf9f7;
    border-radius:10px;
    border:1px solid #f0ede8;
    transition:box-shadow .2s,transform .2s
}
 .pd-occasion-card:hover{
    box-shadow:0 4px 20px rgba(31,29,26,.1);
    transform:translateY(-2px)
}
 .pd-occasion-icon{
    width:36px;
    height:36px;
    background:#1f1d1a;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:4px
}
 .pd-occasion-icon svg{
    width:18px;
    height:18px;
    stroke:#c9a96e;
    stroke-width:1.6;
    fill:none
}
 .pd-occasion-card strong{
    font-size:14px;
    font-weight:700;
    color:#1f1d1a
}
 .pd-occasion-card span{
    font-size:13px;
    color:#7a7570;
    line-height:1.4
}
 .pd-factory-block{
    margin-bottom:24px
}
 .pd-factory-block:nth-child(2n){
    display:flex;
    flex-direction:row-reverse
}
 .pd-factory-block h3{
    font-size:19px;
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 12px
}
 .pd-factory-block p{
    font-size:15px;
    color:#5a5754;
    line-height:1.75;
    margin:0 0 12px
}
 .pd-factory-stats{
    display:flex;
    gap:20px;
    margin-top:20px;
    flex-wrap:wrap
}
 .pd-stat{
    display:flex;
    flex-direction:column;
    gap:2px;
    background:#faf9f7;
    border:1px solid #f0ede8;
    border-radius:8px;
    padding:12px 18px;
    min-width:90px;
    text-align:center
}
 .pd-stat strong{
    font-size:20px;
    font-weight:800;
    color:#c9a96e
}
 .pd-stat span{
    font-size:12px;
    color:#7a7570
}
 .pd-factory-certs{
    display:flex;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap
}
 .pd-factory-cert{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    background:#faf9f7;
    border:1px solid #f0ede8;
    border-radius:8px;
    padding:10px 14px
}
 .pd-factory-cert img{
    width:48px;
    height:48px;
    object-fit:contain
}
 .pd-factory-cert span{
    font-size:12px;
    font-weight:600;
    color:#4a4744
}
 .pd-process-steps{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .pd-process-step{
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:18px;
    background:#faf9f7;
    border-radius:10px;
    border:1px solid #f0ede8
}
 .pd-process-num{
    font-size:23px;
    font-weight:900;
    color:#c9a96e;
    line-height:1;
    flex-shrink:0;
    width:40px
}
 .pd-process-content{
    display:flex;
    flex-direction:column;
    gap:4px
}
 .pd-process-content strong{
    font-size:15px;
    font-weight:700;
    color:#1f1d1a
}
 .pd-process-content span{
    font-size:14px;
    color:#6b6560;
    line-height:1.5
}
 .pd-inquiry-section{
    background:#fff;
    border-radius:14px;
    padding:90px 0;
    margin-bottom:0
}
 .pd-inquiry-wrap{
    display:flex;
    flex-direction:column;
    gap:32px;
    margin-top:8px
}
 .pd-inquiry-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    background:#faf9f7;
    border-radius:12px;
    padding:28px 32px;
    border:1px solid #f0ede8
}
 .pd-inquiry-info h3{
    font-size:17px;
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 16px
}
 .pd-inquiry-benefits{
    list-style:none;
    margin:0 0 24px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px
}
 .pd-inquiry-benefits li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:#5a5754;
    line-height:1.5
}
 .pd-inquiry-benefits li svg{
    width:18px;
    height:18px;
    flex-shrink:0;
    stroke:#c9a96e;
    stroke-width:1.8;
    fill:none;
    margin-top:1px
}
 .pd-inquiry-contact{
    border-top:1px solid #f0ede8;
    padding-top:20px
}
 .pd-inquiry-contact h4{
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#1f1d1a;
    margin:0 0 12px
}
 .pd-contact-row{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    color:#5a5754;
    text-decoration:none;
    padding:8px 0;
    border-bottom:1px solid #f5f3f0;
    transition:color .15s
}
 .pd-contact-row:last-child{
    border-bottom:none
}
 .pd-contact-row:hover{
    color:#c9a96e
}
 .pd-contact-row svg{
    width:16px;
    height:16px;
    flex-shrink:0;
    stroke:#c9a96e;
    stroke-width:1.8;
    fill:none
}
 .pd-inquiry-form{
    display:flex;
    flex-direction:column;
    gap:16px
}
 .pd-form-product-ref{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fdf8f0;
    border:1px solid #e8d9b8;
    border-radius:8px;
    padding:12px 16px
}
 .pd-form-ref-label{
    font-size:13px;
    font-weight:600;
    color:#7a7570
}
 .pd-form-ref-name{
    font-size:15px;
    font-weight:700;
    color:#1f1d1a
}
 .pd-form-row{
    display:flex;
    flex-direction:column;
    gap:0
}
 .pd-form-row--2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .pd-inquiry-form .input{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .pd-inquiry-form .textarea_box{
    display:flex;
    flex-direction:column;
    gap:0
}
 .pd-form-group{
    display:flex;
    flex-direction:column;
    gap:6px
}
 .pd-form-group label{
    font-size:14px;
    font-weight:600;
    color:#1f1d1a
}
 .pd-required{
    color:#c9a96e
}
 .pd-form-group input,.pd-form-group select,.pd-form-group textarea{
    width:100%;
    padding:11px 14px;
    border:2px solid #e8e4de;
    border-radius:8px;
    font-size:15px;
    color:#1f1d1a;
    background:#faf9f7;
    transition:border-color .2s,box-shadow .2s;
    box-sizing:border-box
}
 .pd-form-group input:focus,.pd-form-group select:focus,.pd-form-group textarea:focus{
    outline:0;
    border-color:#c9a96e;
    box-shadow:0 0 0 3px rgba(201,169,110,.12);
    background:#fff
}
 .pd-form-group textarea{
    resize:vertical;
    min-height:120px
}
 .pd-form-checkboxes{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:10px 0
}
 .pd-checkbox{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    color:#4a4744;
    cursor:pointer
}
 .pd-checkbox input[type=checkbox]{
    width:16px;
    height:16px;
    accent-color:#c9a96e;
    cursor:pointer;
    padding:0;
    border:none
}
 .pd-form-submit{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 28px;
    font-size:15px
}
 .pd-form-submit svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    stroke-width:1.8;
    fill:none
}
 .pd-form-note{
    font-size:13px;
    color:#9a9490;
    text-align:center;
    margin:0
}
 .pd-form-note a{
    color:#c9a96e;
    text-decoration:none
}
 .pd-recommend-section{
    padding: 0;
    padding-bottom: 0;
    /* background:#f7fafc; */
}
 .pd-recommend-header{
    text-align:center;
    margin-bottom:36px
}
 .pd-recommend-header h2{
    font-size:26px;
    font-weight:600;
    color:#1f1d1a;
    margin:0 0 8px
}
 .pd-recommend-header p{
    font-size:15px;
    color:#7a7570
}
 .pd-recommend-grid{
    grid-template-columns:repeat(4,1fr);
    gap:24px
}
 .pd-recommend-swiper-wrap{
    position:relative
}
 .pd-recommend-swiper{
    overflow:hidden;
    width:100%
}
 .pd-recommend-swiper .swiper-slide{
    height:auto
}
 .pd-recommend-swiper .pp-card{
    height:100%
}
 .pd-recommend-swiper .pp-card-title{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:47px
}
 .pd-recommend-swiper .pp-card-desc{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .pd-recommend-next,.pd-recommend-prev{
    width:36px;
    height:36px;
    background:#1f1d1a;
    border-radius:50%;
    color:#c9a96e;
    --swiper-navigation-size:14px;
    top:38%;
    z-index:3;
    box-shadow:0 6px 18px rgba(31,29,26,.18)
}
 .pd-recommend-prev{
    left:12px
}
 .pd-recommend-next{
    right:12px
}
 .pd-recommend-next:hover,.pd-recommend-prev:hover{
    background:#c9a96e;
    color:#fff
}
 .pd-recommend-pagination{
    position:relative;
    margin-top:24px;
    bottom:auto;
    z-index:3
}
 .pd-recommend-pagination .swiper-pagination-bullet{
    background:#c9a96e;
    opacity:.4;
    width:8px;
    height:8px
}
 .pd-recommend-pagination .swiper-pagination-bullet-active{
    opacity:1
}
 .pd-rec-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    border:1px solid #f0ede8;
    transition:box-shadow .25s,transform .25s;
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column
}
 .pd-rec-card:hover{
    box-shadow:0 8px 32px rgba(31,29,26,.12);
    transform:translateY(-4px)
}
 .pd-rec-img{
    aspect-ratio:3/4;
    overflow:hidden;
    position:relative
}
 .pd-rec-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease
}
 .pd-rec-card:hover .pd-rec-img img{
    transform:scale(1.06)
}
 .pd-rec-cat{
    position:absolute;
    top:12px;
    left:12px;
    background:#1f1d1a;
    color:#c9a96e;
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:4px
}
 .pd-rec-info{
    padding:16px 18px 20px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1
}
 .pd-rec-title{
    font-size:16px;
    font-weight:600;
    color:#1f1d1a;
    line-height:1.4;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .pd-rec-desc{
    font-size:13px;
    color:#7a7570;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .pd-rec-link{
    margin-top:auto;
    font-size:13px;
    font-weight:700;
    color:#c9a96e;
    letter-spacing:1px;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:4px;
    transition:gap .2s
}
 .pd-rec-card:hover .pd-rec-link{
    gap:8px
}
 #page_cases .cs-inner-banner{
    position:relative;
    height:420px;
    display:flex;
    align-items:center;
    overflow:hidden
}
 #page_cases .cs-banner-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    transition:transform 8s ease
}
 #page_cases .cs-inner-banner:hover .cs-banner-bg{
    transform:scale(1)
}
 #page_cases .cs-banner-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(20,18,15,.72) 0,rgba(20,18,15,.45) 100%)
}
 #page_cases .cs-banner-content{
    position:relative;
    z-index:2;
    text-align:center
}
 #page_cases .cs-banner-title{
    font-size:clamp(32px, 5vw, 52px);
    font-weight:600;
    color:#fff;
    letter-spacing:1px;
    margin-bottom:14px
}
 #page_cases .cs-breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:14px;
    color:rgba(255,255,255,.7)
}
 #page_cases .cs-breadcrumb a{
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:color .2s
}
 #page_cases .cs-breadcrumb a:hover{
    color:#c9a96e
}
 #page_cases .cs-breadcrumb span[aria-current]{
    color:#c9a96e
}
 #page_cases .cs-stats-bar{
    background:#1a1814;
    padding:28px 0
}
 #page_cases .cs-stats-inner{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    flex-wrap:wrap
}
 #page_cases .cs-stat-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 40px
}
 #page_cases .cs-stat-num{
    font-size:32px;
    font-weight:700;
    color:#c9a96e;
    line-height:1
}
 #page_cases .cs-stat-label{
    font-size:13px;
    color:rgba(255,255,255,.55);
    text-transform:uppercase;
    letter-spacing:2px;
    margin-top:5px
}
 #page_cases .cs-stat-divider{
    width:1px;
    height:40px;
    background:rgba(255,255,255,.12)
}
 #page_cases .cs-section-header{
    text-align:center;
    margin-bottom:48px
}
 #page_cases .cs-section-tag{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#c9a96e;
    background:rgba(201,169,110,.1);
    border:1px solid rgba(201,169,110,.3);
    padding:4px 14px;
    border-radius:20px;
    margin-bottom:12px
}
 #page_cases .cs-section-title{
    font-size:clamp(26px, 3vw, 36px);
    font-weight:600;
    margin-bottom:12px
}
 #page_cases .cs-section-desc{
    font-size:16px;
    color:#6b6560;
    max-width:560px;
    margin:0 auto;
    line-height:1.7
}
 #page_cases .cs-featured-section{
    padding:80px 0 60px;
    background:#faf9f7
}
 #page_cases .cs-featured-grid{
    display:flex;
    flex-direction:column;
    gap:60px
}
 #page_cases .cs-featured-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    align-items:stretch;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 4px 30px rgba(0,0,0,.07)
}
 #page_cases .cs-featured-card--reverse .cs-featured-img{
    order:2
}
 #page_cases .cs-featured-card--reverse .cs-featured-info{
    order:1
}
 #page_cases .cs-featured-img{
    position:relative;
    overflow:hidden
}
 #page_cases .cs-featured-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease
}
 #page_cases .cs-featured-card:hover .cs-featured-img img{
    transform:scale(1.04)
}
 #page_cases .cs-featured-overlay{
    position:absolute;
    inset:0;
    background:rgba(20,18,15,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .3s
}
 #page_cases .cs-featured-card:hover .cs-featured-overlay{
    opacity:1
}
 #page_cases .cs-featured-cta{
    display:inline-block;
    padding:12px 28px;
    background:#c9a96e;
    color:#fff;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    border-radius:4px;
    letter-spacing:1px;
    transition:background .2s
}
 #page_cases .cs-featured-cta:hover{
    background:#b8945a
}
 #page_cases .cs-featured-info{
    padding:40px 44px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
 #page_cases .cs-featured-meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:16px
}
 #page_cases .cs-cat-badge{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:3px 10px;
    border-radius:3px;
    background:#c9a96e;
    color:#fff
}
 #page_cases .cs-cat-badge--evening{
    background:#7c5cbf
}
 #page_cases .cs-cat-badge--private{
    background:#2d7a5f
}
 #page_cases .cs-cat-badge--oem{
    background:#1a6fa8
}
 #page_cases .cs-cat-badge--comfort{
    background:#c9a96e
}
 #page_cases .cs-meta-country{
    display:flex;
    align-items:center;
    gap:4px;
    font-size:13px;
    color:#6b6560;
    margin-left:auto
}
 #page_cases .cs-meta-country svg{
    width:14px;
    height:14px;
    stroke:#c9a96e;
    stroke-width:2
}
 #page_cases .cs-featured-title{
    font-size:23px;
    font-weight:600;
    margin-bottom:14px;
    line-height:1.4
}
 #page_cases .cs-featured-desc{
    font-size:15px;
    color:#6b6560;
    line-height:1.75;
    margin-bottom:24px
}
 #page_cases .cs-featured-results{
    display:flex;
    gap:24px;
    padding:20px 0;
    border-top:1px solid #f0ece6;
    border-bottom:1px solid #f0ece6;
    margin-bottom:24px
}
 #page_cases .cs-result-item{
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
 #page_cases .cs-result-num{
    font-size:24px;
    font-weight:700;
    color:#c9a96e;
    line-height:1
}
 #page_cases .cs-result-label{
    font-size:12px;
    color:#9a9490;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-top:4px
}
 #page_cases .cs-read-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    letter-spacing:1px;
    transition:color .2s,gap .2s
}
 #page_cases .cs-read-more svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:2;
    transition:transform .2s
}
 #page_cases .cs-read-more:hover{
    color:#c9a96e;
    gap:10px
}
 #page_cases .cs-read-more:hover svg{
    transform:translateX(3px)
}
 #page_cases .cs-grid-section{
    padding:72px 0 80px;
    background:#fff
}
 #page_cases .cs-filter-bar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:40px;
    padding-bottom:24px;
    border-bottom:1px solid #f0ece6
}
 #page_cases .cs-filter-btn{
    padding:8px 20px;
    border:2px solid #e0dbd4;
    background:0 0;
    color:#6b6560;
    font-size:14px;
    font-weight:500;
    border-radius:30px;
    cursor:pointer;
    transition:all .2s;
    letter-spacing:1px
}
 #page_cases .cs-filter-btn:hover{
    border-color:#c9a96e;
    color:#c9a96e
}
 #page_cases .cs-filter-btn.active{
    background:#1a1814;
    border-color:#1a1814;
    color:#fff
}
 #page_cases .cs-case-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    margin-bottom:48px
}
 #page_cases .cs-case-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 16px rgba(0,0,0,.06);
    transition:transform .3s,box-shadow .3s;
    display:flex;
    flex-direction:column
}
 #page_cases .cs-case-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 40px rgba(0,0,0,.12)
}
 #page_cases .cs-card-img-wrap{
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:4/3
}
 #page_cases .cs-card-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease
}
 #page_cases .cs-case-card:hover .cs-card-img-wrap img{
    transform:scale(1.05)
}
 #page_cases .cs-card-hover-overlay{
    position:absolute;
    inset:0;
    background:rgba(20,18,15,.5);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .3s
}
 #page_cases .cs-case-card:hover .cs-card-hover-overlay{
    opacity:1
}
 #page_cases .cs-card-hover-overlay span{
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    border:2px solid rgba(255,255,255,.7);
    padding:8px 20px;
    border-radius:3px
}
 #page_cases .cs-card-service-badge{
    position:absolute;
    top:14px;
    left:14px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:4px 10px;
    border-radius:3px;
    background:#c9a96e;
    color:#fff;
    z-index:2
}
 #page_cases .cs-badge--oem{
    background:#1a6fa8
}
 #page_cases .cs-badge--odm{
    background:#7c5cbf
}
 #page_cases .cs-badge--startup{
    background:#2d7a5f
}
 #page_cases .cs-card-body{
    padding:22px 22px 24px;
    flex:1;
    display:flex;
    flex-direction:column
}
 #page_cases .cs-card-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px
}
 #page_cases .cs-card-country{
    font-size:12px;
    font-weight:600;
    color:#c9a96e;
    text-transform:uppercase;
    letter-spacing:2px
}
 #page_cases .cs-card-date{
    font-size:12px;
    color:#b0aaa4
}
 #page_cases .cs-card-title{
    font-size:16px;
    font-weight:600;
    margin-bottom:10px;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 #page_cases .cs-card-title a{
    color:inherit;
    text-decoration:none;
    transition:color .2s
}
 #page_cases .cs-card-title a:hover{
    color:#c9a96e
}
 #page_cases .cs-card-desc{
    font-size:14px;
    color:#6b6560;
    line-height:1.65;
    margin-bottom:14px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 #page_cases .cs-card-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:16px
}
 #page_cases .cs-card-tags span{
    font-size:12px;
    color:#9a9490;
    background:#f5f2ee;
    padding:3px 9px;
    border-radius:3px;
    letter-spacing:1px
}
 #page_cases .cs-card-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    letter-spacing:1px;
    transition:color .2s,gap .2s;
    margin-top:auto
}
 #page_cases .cs-card-link svg{
    width:14px;
    height:14px;
    stroke:currentColor;
    stroke-width:2;
    transition:transform .2s
}
 #page_cases .cs-card-link:hover{
    color:#c9a96e;
    gap:8px
}
 #page_cases .cs-card-link:hover svg{
    transform:translateX(3px)
}
 #page_cases .cs-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px
}
 #page_cases .cs-page-btn,#page_cases .cs-page-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:2px solid #e0dbd4;
    border-radius:6px;
    font-size:14px;
    color:#6b6560;
    text-decoration:none;
    transition:all .2s
}
 #page_cases .cs-page-btn:hover,#page_cases .cs-page-num.active,#page_cases .cs-page-num:hover{
    background:#1a1814;
    border-color:#1a1814;
    color:#fff
}
 #page_cases .cs-page-btn svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:2
}
 #page_cases .cs-page-ellipsis{
    color:#b0aaa4;
    font-size:15px;
    padding:0 4px
}
 #page_cases .cs-testimonials-section{
    padding:80px 0;
    background:#1a1814
}
 #page_cases .cs-section-header--light .cs-section-tag--light{
    background:rgba(201,169,110,.15);
    border-color:rgba(201,169,110,.4);
    color:#c9a96e
}
 #page_cases .cs-section-title--light{
    color:#fff
}
 #page_cases .cs-section-header--light .cs-section-desc{
    color:rgba(255,255,255,.55)
}
 #page_cases .cs-testimonials-swiper{
    padding-bottom:48px!important;
    overflow:hidden
}
 #page_cases .cs-testi-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    padding:32px 28px;
    position:relative;
    height:auto
}
 #page_cases .cs-testi-quote{
    margin-bottom:16px
}
 #page_cases .cs-testi-quote svg{
    width:36px;
    height:auto
}
 #page_cases .cs-testi-text{
    font-size:15px;
    color:rgba(255,255,255,.75);
    line-height:1.75;
    margin-bottom:24px;
    font-style:italic
}
 #page_cases .cs-testi-author{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px
}
 #page_cases .cs-testi-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid rgba(201,169,110,.4)
}
 #page_cases .cs-testi-author strong{
    display:block;
    font-size:15px;
    color:#fff;
    font-weight:600
}
 #page_cases .cs-testi-author span{
    font-size:12px;
    color:rgba(255,255,255,.45)
}
 #page_cases .cs-testi-stars{
    font-size:14px;
    color:#c9a96e;
    letter-spacing:2px
}
 #page_cases .cs-testi-pagination.swiper-pagination{
    bottom:0!important
}
 #page_cases .cs-testi-pagination .swiper-pagination-bullet{
    background:rgba(255,255,255,.3);
    opacity:1
}
 #page_cases .cs-testi-pagination .swiper-pagination-bullet-active{
    background:#c9a96e
}
 #page_cases .cs-testi-next,#page_cases .cs-testi-prev{
    color:#c9a96e
}
 #page_cases .cs-testi-next::after,#page_cases .cs-testi-prev::after{
    font-size:16px
}
 #page_cases .cs-cta-section{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    text-align:center
}
 #page_cases .cs-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center
}
 #page_cases .cs-cta-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(20,18,15,.82) 0,rgba(20,18,15,.65) 100%)
}
 #page_cases .cs-cta-content{
    position:relative;
    z-index:2
}
 #page_cases .cs-cta-title{
    font-size:clamp(29px, 4vw, 45px);
    font-weight:600;
    color:#fff;
    margin-bottom:16px
}
 #page_cases .cs-cta-desc{
    font-size:16px;
    color:rgba(255,255,255,.7);
    max-width:520px;
    margin:0 auto 36px;
    line-height:1.7
}
 #page_cases .cs-cta-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap
}
 #page_cases .btn-gold{
    background:#c9a96e;
    color:#fff;
    border:2px solid #c9a96e;
    padding:14px 36px;
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    border-radius:4px;
    text-decoration:none;
    transition:background .2s,color .2s;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
 #page_cases .btn-gold:hover{
    background:#b8945a;
    border-color:#b8945a
}
 #page_cases .cs-cta-actions .btn-outline-light{
    background:0 0;
    color:#fff;
    border:2px solid rgba(255,255,255,.5);
    padding:14px 36px;
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    border-radius:4px;
    text-decoration:none;
    transition:border-color .2s,background .2s;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:unset
}
 #page_cases .cs-cta-actions .btn-outline-light:hover{
    border-color:#fff;
    background:rgba(255,255,255,.08)
}
 #page_cases .cs-cases-list{
    padding:90px 0;
    /* background:#f5f7fa; */
}
 #page_cases .cs-case-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-bottom:30px;
    border-bottom:1px solid #f0ece6
}
 #page_cases .cs-case-row:last-child{
    border-bottom:none
}
 #page_cases .cs-case-row--reverse .cs-case-img{
    order:2
}
 #page_cases .cs-case-row--reverse .cs-case-content{
    order:1
}
 #page_cases .cs-case-img{
    position:relative;
    overflow:hidden
}
 #page_cases .cs-case-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s ease;
    display:block;
    max-height:335px
}
 #page_cases .cs-case-row:hover .cs-case-img img{
    transform:scale(1.05)
}
 #page_cases .cs-case-img-overlay{
    position:absolute;
    inset:0;
    background:rgba(20,18,15,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .35s
}
 #page_cases .cs-case-row:hover .cs-case-img-overlay{
    opacity:1
}
 #page_cases .cs-case-view-btn{
    display:inline-block;
    padding:12px 30px;
    background:#c9a96e;
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    text-decoration:none;
    border-radius:4px;
    transition:background .2s,transform .2s
}
 #page_cases .cs-case-view-btn:hover{
    background:#b8945a;
    transform:scale(1.04)
}
 #page_cases .cs-case-content{
    padding:52px 52px 52px 60px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff
}
 #page_cases .cs-case-row--reverse .cs-case-content{
    padding:52px 60px 52px 52px;
    background:#fff
}
 #page_cases .cs-case-meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:18px
}
 #page_cases .cs-case-badge{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:4px 11px;
    border-radius:3px;
    color:#fff;
    background:#c9a96e
}
 #page_cases .cs-badge--evening{
    background:#7c5cbf
}
 #page_cases .cs-badge--private{
    background:#c9a96e
}
 #page_cases .cs-badge--oem{
    background:#1a6fa8
}
 #page_cases .cs-badge--odm{
    background:#7c5cbf
}
 #page_cases .cs-badge--comfort{
    background:#2d7a5f
}
 #page_cases .cs-badge--startup{
    background:#c0392b
}
 #page_cases .cs-case-country{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:13px;
    color:#6b6560;
    margin-left:auto
}
 #page_cases .cs-case-country svg{
    width:14px;
    height:14px;
    stroke:#c9a96e;
    stroke-width:2;
    fill:none;
    flex-shrink:0
}
 #page_cases .cs-case-title{
    font-size:clamp(20px, 2vw, 25px);
    font-weight:600;
    line-height:1.4;
    margin-bottom:16px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:calc(1em * 1.4 * 2)
}
 #page_cases .cs-case-title a{
    color:inherit;
    text-decoration:none;
    transition:color .2s
}
 #page_cases .cs-case-title a:hover{
    color:#c9a96e
}
 #page_cases .cs-case-desc{
    font-size:15px;
    color:#6b6560;
    line-height:1.8;
    margin-bottom:28px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    min-height:calc(15px * 1.8 * 3)
}
 #page_cases .cs-case-results{
    display:flex;
    gap:28px;
    padding:20px 0;
    border-top:1px solid #eae6e0;
    border-bottom:1px solid #eae6e0;
    margin-bottom:22px
}
 #page_cases .cs-result-item{
    display:flex;
    flex-direction:column
}
 #page_cases .cs-result-num{
    font-size:25px;
    font-weight:700;
    color:#c9a96e;
    line-height:1
}
 #page_cases .cs-result-label{
    font-size:12px;
    color:#9a9490;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-top:5px
}
 #page_cases .cs-case-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:22px
}
 #page_cases .cs-case-tags span{
    font-size:12px;
    color:#6b6560;
    background:#f0ece6;
    padding:4px 11px;
    border-radius:3px;
    letter-spacing:1px
}
 #page_cases .cs-case-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:color .2s,gap .2s
}
 #page_cases .cs-case-link svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    transition:transform .2s
}
 #page_cases .cs-case-link:hover{
    color:#c9a96e;
    gap:11px
}
 #page_cases .cs-case-link:hover svg{
    transform:translateX(4px)
}
 #page_cases .cs-cta-section{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    text-align:center
}
 #page_cases .cs-cta-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center
}
 #page_cases .cs-cta-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(20,18,15,.82) 0,rgba(20,18,15,.65) 100%)
}
 #page_cases .cs-cta-content{
    position:relative;
    z-index:2
}
 #page_cases .cs-cta-title{
    font-size:clamp(29px, 4vw, 45px);
    font-weight:600;
    color:#fff;
    margin-bottom:16px
}
 #page_cases .cs-cta-desc{
    font-size:16px;
    color:rgba(255,255,255,.7);
    max-width:520px;
    margin:0 auto 36px;
    line-height:1.75
}
 #page_cases .cs-cta-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap
}
 #page_cases .cs-btn-gold{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 38px;
    background:#c9a96e;
    color:#fff;
    border:2px solid #c9a96e;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    border-radius:4px;
    text-decoration:none;
    transition:background .2s,border-color .2s
}
 #page_cases .cs-btn-gold:hover{
    background:#b8945a;
    border-color:#b8945a
}
 #page_cases .cs-btn-outline-light{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 38px;
    background:0 0;
    color:#fff;
    border:2px solid rgba(255,255,255,.5);
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    border-radius:4px;
    text-decoration:none;
    transition:border-color .2s,background .2s
}
 #page_cases .cs-btn-outline-light:hover{
    border-color:#fff;
    background:rgba(255,255,255,.1)
}
 #page_cases .cs-list-header{
    text-align:center;
    padding-bottom:60px;
    margin:0 auto
}
 #page_cases .cs-list-tag{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#c9a96e;
    background:rgba(201,169,110,.1);
    border:1px solid rgba(201,169,110,.3);
    padding:4px 14px;
    border-radius:20px;
    margin-bottom:14px
}
 #page_cases .cs-list-title{
    font-size:clamp(29px, 3.5vw, 42px);
    font-weight:600;
    margin-bottom:16px;
    line-height:1.3
}
 #page_cases .cs-list-desc{
    font-size:16px;
    color:#6b6560;
    line-height:1.8
}
 #page_cases .cs-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:52px 0 16px
}
 #page_cases .cs-page-btn,#page_cases .cs-page-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:2px solid #e0dbd4;
    border-radius:6px;
    font-size:15px;
    color:#6b6560;
    text-decoration:none;
    transition:all .2s;
    background:#fff
}
 #page_cases .cs-page-num.active{
    background:#1a1814;
    border-color:#1a1814;
    color:#fff;
    font-weight:700
}
 #page_cases .cs-page-btn:hover,#page_cases .cs-page-num:hover:not(.active){
    background:#f5f0ea;
    border-color:#c9a96e;
    color:#c9a96e
}
 #page_cases .cs-page-btn svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:2;
    fill:none
}
 #page_cases .cs-page-ellipsis{
    color:#b0aaa4;
    font-size:16px;
    padding:0 2px;
    user-select:none
}
 #page_faq .faq-header-section{
    padding-top:90px
}
 #page_faq .faq-header-inner{
    text-align:center
}
 #page_faq .faq-header-tag{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#c9a96e;
    background:rgba(201,169,110,.1);
    border:1px solid rgba(201,169,110,.3);
    padding:4px 14px;
    border-radius:20px;
    margin-bottom:14px
}
 #page_faq .faq-header-title{
    font-size:clamp(29px, 3.5vw, 42px);
    font-weight:600;
    margin-bottom:16px;
    line-height:1.3
}
 #page_faq .faq-header-desc{
    font-size:16px;
    color:#6b6560;
    line-height:1.8
}
 #page_faq .faq-header-desc a{
    color:#c9a96e;
    text-decoration:underline;
    text-underline-offset:3px
}
 #page_faq .faq-header-desc a:hover{
    color:#b8945a
}
 #page_faq .faq-body-section{
    padding:90px 0
}
 #page_faq .faq-accordion{
    display:flex;
    flex-direction:column;
    gap:0
}
 #page_faq .faq-item{
    background:#fff;
    border:1px solid #e8e3dc;
    border-radius:8px;
    margin-bottom:12px;
    overflow:hidden;
    transition:box-shadow .2s
}
 #page_faq .faq-item:hover{
    box-shadow:0 4px 20px rgba(26,24,20,.07)
}
 #page_faq .faq-item.is-open{
    box-shadow:0 6px 28px rgba(26,24,20,.1);
    border-color:#c9a96e
}
 #page_faq .faq-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:22px 26px;
    background:0 0;
    border:none;
    cursor:pointer;
    text-align:left;
    font-size:16px;
    font-weight:600;
    line-height:1.45;
    color: var(--text);
    transition:color .2s
}
 #page_faq .faq-item.is-open .faq-question,#page_faq .faq-question:hover{
    color:#c9a96e
}
 #page_faq .faq-icon{
    flex-shrink:0;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5f0ea;
    border-radius:50%;
    transition:background .2s,transform .3s
}
 #page_faq .faq-icon svg{
    width:16px;
    height:16px;
    stroke:#6b6560;
    stroke-width:2;
    fill:none;
    transition:stroke .2s
}
 #page_faq .faq-item.is-open .faq-icon{
    background:#c9a96e;
    transform:rotate(180deg)
}
 #page_faq .faq-item.is-open .faq-icon svg{
    stroke:#fff
}
 #page_faq .faq-answer{
    display:none;
    overflow:hidden;
    padding:0 26px 26px
}
 #page_faq .faq-answer p{
    font-size:15px;
    color:#5a5550;
    line-height:1.85;
    margin-bottom:12px
}
 #page_faq .faq-answer p:last-child{
    margin-bottom:0
}
 #page_faq .faq-answer strong{
    font-weight:700
}
 #page_faq .faq-answer a{
    color:#c9a96e;
    text-decoration:underline;
    text-underline-offset:3px
}
 #page_faq .faq-answer a:hover{
    color:#b8945a
}
 #page_faq .faq-answer ul{
    padding-left:20px;
    margin:10px 0
}
 #page_faq .faq-answer ul li{
    font-size:15px;
    color:#5a5550;
    line-height:1.85;
    margin-bottom:6px
}
 #page_faq .faq-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:52px 0 0
}
 #page_faq .faq-page-btn,#page_faq .faq-page-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:2px solid #e0dbd4;
    border-radius:6px;
    font-size:15px;
    color:#6b6560;
    text-decoration:none;
    transition:all .2s;
    background:#fff
}
 #page_faq .faq-page-num.active{
    background:#1a1814;
    border-color:#1a1814;
    color:#fff;
    font-weight:700
}
 #page_faq .faq-page-btn:hover,#page_faq .faq-page-num:hover:not(.active){
    background:#f5f0ea;
    border-color:#c9a96e;
    color:#c9a96e
}
 #page_faq .faq-page-btn svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:2;
    fill:none
}
 #page_faq .faq-page-ellipsis{
    color:#b0aaa4;
    font-size:16px;
    padding:0 2px;
    user-select:none
}
 #page_blog_detail{
    --pbd-accent:var(--accent);
    --pbd-dark:var(--dark);
    --pbd-soft:var(--bg-soft);
    --pbd-panel:var(--bg-panel);
    --pbd-text:var(--text);
    --pbd-line:var(--line)
}
 #page_blog_detail .pbd-hero{
    padding:72px 0 44px;
    /* background:linear-gradient(180deg,rgba(247,243,239,.78) 0,rgba(255,255,255,0) 100%); */
}
 #page_blog_detail .pbd-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:40px;
    align-items:center
}
 #page_blog_detail .pbd-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin-bottom:18px;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--text-light)
}
 #page_blog_detail .pbd-chip{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(185,159,129,.18);
    color:#8c6854;
    font-weight:700
}
 #page_blog_detail .pbd-hero-copy h1{
    font-size:clamp(22px,4.2vw,30px);
    line-height:1.08;
    color:var(--pbd-dark);
    margin-bottom:18px
}
 #page_blog_detail .pbd-lead{
    font-size:15px;
    line-height:1.6;
    color:var(--pbd-text);
    max-width:720px;
    margin-bottom:28px
}
 #page_blog_detail .pbd-author-row{
    display:flex;
    align-items:center;
    gap:14px
}
 #page_blog_detail .pbd-author-row img{
    width:58px;
    height:58px;
    border-radius:50%;
    object-fit:cover;
    display:block
}
 #page_blog_detail .pbd-author-row strong{
    display:block;
    color:var(--pbd-dark);
    font-size:16px;
    margin-bottom:4px
}
 #page_blog_detail .pbd-author-row span{
    display:block;
    color:var(--text-light);
    font-size:14px
}
 #page_blog_detail .pbd-hero-media{
    position:relative
}
 #page_blog_detail .pbd-hero-media::before{
    content:"";
    position:absolute;
    inset:-18px 18px 18px -18px;
    background:linear-gradient(135deg,rgba(233,220,208,.85),rgba(247,242,234,.35));
    z-index:0
}
 #page_blog_detail .pbd-hero-media img{
    position:relative;
    z-index:1;
    width:100%;
    height:350px;
    object-fit:cover;
    display:block;
    border-radius:15px
}
 #page_blog_detail .pbd-content{
    padding:32px 0 84px
}
 #page_blog_detail .pbd-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:36px;
    align-items:start
}
 #page_blog_detail .pbd-article{
    min-width:0
}
 #page_blog_detail .pbd-body{
    border:1px solid rgba(51,41,34,.08);
    border-radius:10px;
    padding:30px
}
 #page_blog_detail .pbd-body>:first-child{
    margin-top:0
}
 #page_blog_detail .pbd-body p{
    margin:0 0 18px;
    font-size:15px;
    line-height:1.65;
    color:var(--pbd-text)
}
 #page_blog_detail .pbd-body h3{
    margin:36px 0 14px;
    font-size:22px;
    line-height:1.25;
    color:var(--pbd-dark);
    scroll-margin-top:110px
}
 #page_blog_detail .pbd-body h4{
    scroll-margin-top:110px
}
 #page_blog_detail .pbd-quote{
    margin:32px 0;
    padding:26px 28px 26px 32px;
    border-left:3px solid var(--pbd-accent);
    background:linear-gradient(135deg,rgba(244,237,227,.82),rgba(255,255,255,.9));
    font-size:22px;
    line-height:1.65;
    color:#544137
}
 #page_blog_detail .pbd-image-block{
    margin:30px 0 10px
}
 #page_blog_detail .pbd-image-block img{
    width:100%;
    height:440px;
    object-fit:cover;
    display:block;
    border-radius:20px
}
 #page_blog_detail .pbd-image-block p{
    margin-top:12px;
    font-size:13px;
    color:var(--text-light)
}
 #page_blog_detail .pbd-highlight{
    margin:34px 0;
    /* padding:28px 30px; */
    /* background:#f6f1eb; */
    /* border:1px solid rgba(51,41,34,.08); */
    /* border-radius:22px; */
}
 #page_blog_detail .pbd-highlight h4{
    margin:0 0 8px;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    /* color:#8c6854; */
}
 #page_blog_detail .pbd-highlight p{
    margin:0
}
 #page_blog_detail .pbd-sidebar{
    position:sticky;
    top:110px;
    display:grid;
    gap:18px
}
 #page_blog_detail .pbd-sidecard{
    background:#fff;
    border:1px solid rgba(51,41,34,.08);
    padding:24px 24px 26px;
    border-radius:15px;
    /* box-shadow:0 14px 32px rgba(30,22,17,.05); */
}
 #page_blog_detail .pbd-sidecard-tag{
    display:inline-block;
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#8c6854;
    font-weight:700
}
 #page_blog_detail .pbd-sidecard h3{
    margin:0 0 12px;
    font-size:18px;
    line-height:1.2;
    color:var(--pbd-dark)
}
 #page_blog_detail .pbd-sidecard p{
    margin:0;
    color:var(--pbd-text);
    line-height:1.8;
    font-size:14px
}
 #page_blog_detail .pbd-toc{
    list-style:none;
    padding:0;
    margin:8px 0 0;
    display:grid;
    gap:10px
}
 #page_blog_detail .pbd-toc a{
    display:block;
    color:var(--pbd-text);
    text-decoration:none;
    line-height:1.4;
    transition:color .2s,padding-left .2s
}
 #page_blog_detail .pbd-toc a:hover,
 #page_blog_detail .pbd-toc a.active{
    padding-left:8px;
    color:#8c6854
}
 #page_blog_detail .pbd-toc-subitem a{
    font-size:13px;
    padding-left:12px
}
 #page_blog_detail .pbd-toc-subitem a:hover,
 #page_blog_detail .pbd-toc-subitem a.active{
    padding-left:18px
}
 #page_blog_detail .pbd-sidecard-dark{
    background:#2c221d;
    color:#fff
}
 #page_blog_detail .pbd-sidecard-dark h3,#page_blog_detail .pbd-sidecard-dark p{
    color:#fff
}
 #page_blog_detail .pbd-sidecard-dark .pbd-sidecard-tag{
    color:#d6b998
}
 #page_blog_detail .pbd-side-btn{
    display:inline-flex;
    margin-top:18px;
    padding:8px 20px;
    background:#d6b998;
    color:#2c221d;
    text-decoration:none;
    font-weight:700;
    border-radius:999px
}
 #page_blog_detail .pbd-related-list{
    display:grid;
    gap:14px
}
 #page_blog_detail .pbd-related-item{
    display:grid;
    grid-template-columns:84px 1fr;
    gap:12px;
    align-items:center;
    text-decoration:none
}
 #page_blog_detail .pbd-related-item img{
    width:84px;
    height:84px;
    object-fit:cover;
    display:block;
    border-radius:16px
}
 #page_blog_detail .pbd-related-item strong{
    display:block;
    color:var(--pbd-dark);
    font-size:15px;
    line-height:1.5;
    margin-bottom:4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
 #page_blog_detail .pbd-related-item span{
    font-size:13px;
    color:var(--text-light)
}
 #page_blog_detail .pbd-post-nav{
    padding:0 0 90px
}
 #page_blog_detail .pbd-post-nav-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
}
 #page_blog_detail .pbd-post-nav-item{
    position:relative;
    display:grid;
    gap:10px;
    padding:26px 30px;
    text-decoration:none;
    color:var(--pbd-dark);
    background:#fff;
    border:1px solid rgba(51,41,34,.08);
    border-radius:24px;
    /* box-shadow:0 14px 32px rgba(30,22,17,.05); */
}
 #page_blog_detail .pbd-post-nav-label{
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#8c6854
}
 #page_blog_detail .pbd-post-nav-item strong{
    font-size:16px;
    line-height:1.35;
    font-weight:700
}
 #page_blog_detail .pbd-post-nav-arrow{
    font-size:22px;
    color:#8c6854
}

.loading-box{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.72);
    backdrop-filter:blur(2px);
    z-index:9999;
}
.loading-box img{
    width:56px;
    height:56px;
    object-fit:contain;
    display:block;
}

.page_quotation{
    padding:90px 0;
    background:linear-gradient(180deg,#fffaf4 0%,#f8f1e8 100%);
}
.page_quotation .auto-container{
    display:block;
}
.page_quotation .page_quotation_head{
    text-align:center;
    margin-bottom:90px;
}
.page_quotation .page_quotation_head h1{
    margin:0 0 10px;
    color:var(--dark);
    font-family:var(--font-display);
    font-size:40px;
    line-height:1.15;
    font-weight:700;
}
.page_quotation .page_quotation_head p{
    max-width:760px;
    margin:0 auto;
    color:var(--text-light);
    font-size:18px;
    line-height:1.7;
}
.page_quotation .page_quotation_box{
    display:flex;
    gap:50px;
    align-items:flex-start;
}
.page_quotation .page_quotation_box .left{
    flex:1.4;
    min-width:0;
}
.page_quotation .page_quotation_box .right{
    flex:1;
    position:sticky;
    top:100px;
    min-width:360px;
}
.page_quotation .page_quotation_box .left .left_head,
.page_quotation .page_quotation_box .right .left_head{
    margin-bottom:30px;
    color:var(--dark);
    font-family:var(--font-display);
    font-size:20px;
    line-height:1.35;
    font-weight:700;
}
.page_quotation .page_quotation_box .left .item_box .item{
    display:flex;
    align-items:center;
    margin-bottom:15px;
    padding:20px 25px;
    border:1px solid rgba(45,43,40,.08);
    border-radius:12px;
    background:rgba(255,255,255,.92);
    box-shadow:0 18px 44px rgba(44,34,25,.08);
    backdrop-filter:blur(5px);
    transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.page_quotation .page_quotation_box .left .item_box .item:hover{
    transform:translateY(-3px);
    background:#fff;
    box-shadow:0 24px 54px rgba(44,34,25,.12);
}
.page_quotation .page_quotation_box .left .item_box .item a{
    color:inherit;
    text-decoration:none;
}
.page_quotation .page_quotation_box .left .item_box .item .img{
    display:flex;
    flex:0 0 85px;
    align-items:center;
    justify-content:center;
    width:85px;
    height:85px;
    margin-right:25px;
    overflow:hidden;
    border:1px solid rgba(45,43,40,.08);
    border-radius:999px;
    background:#f5efe7;
}
.page_quotation .page_quotation_box .left .item_box .item .img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}
.page_quotation .page_quotation_box .left .item_box .item:hover .img img,
.page_quotation .scale:hover{
    transform:scale(1.06);
}
.page_quotation .page_quotation_box .left .item_box .item .text{
    flex:1;
    min-width:0;
}
.page_quotation .page_quotation_box .left .item_box .item .text h3{
    margin:0;
    color:var(--dark);
    font-size:18px;
    line-height:1.35;
    font-weight:700;
}
.page_quotation .line-3{
    display:-webkit-box;
    overflow:hidden;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}
.page_quotation .page_quotation_box .left .item_box .item .other{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:15px;
    margin-left:20px;
}
.page_quotation .page_quotation_box .left .item_box .item .other input{
    width:20px;
    height:20px;
    accent-color:var(--accent-deep);
}
.page_quotation .page_quotation_box .left .item_box .item .other .remove-btn{
    padding:0;
    border:0;
    background:transparent;
    color:var(--accent-deep);
    font:inherit;
    font-size:14px;
    cursor:pointer;
    text-decoration:underline;
}
.page_quotation .page_quotation_box .left .list-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:25px;
    padding:15px 25px;
    border:1px solid rgba(45,43,40,.08);
    border-radius:10px;
    background:rgba(255,255,255,.72);
    color:var(--text);
    font-size:18px;
}
.page_quotation .page_quotation_box .left .list-footer p{
    margin:0;
}
.page_quotation .page_quotation_box .left .list-footer div span{
    cursor:pointer;
    transition:color .2s ease;
}
.page_quotation .page_quotation_box .left .list-footer div span:hover,
.page_quotation .page_quotation_box .left .list-footer div span:last-child{
    color:var(--accent-deep);
}
.page_quotation .page_quotation_box .left .list-footer div span:last-child{
    margin-left:25px;
}
.page_quotation .page_quotation_box .right .from{
    margin-bottom:22px;
    padding:40px;
    border:1px solid rgba(45,43,40,.08);
    border-radius:20px;
    background:rgba(255,255,255,.95);
    box-shadow:0 20px 44px rgba(44,34,25,.1);
}
.page_quotation .page_quotation_box .right .from .input{
    display:flex;
    flex-wrap:wrap;
    gap:25px 10px;
    margin-bottom:20px;
}
.page_quotation .page_quotation_box .right .from .input>div{
    flex:0 0 100%;
}
.page_quotation .page_quotation_box .right .from .textarea_box{
    margin-bottom:20px;
}
.page_quotation .page_quotation_box .right .from .input>div p,
.page_quotation .page_quotation_box .right .from .textarea_box p{
    margin:0 0 10px;
    color:var(--dark);
    font-size:16px;
    line-height:1.35;
}
.page_quotation .page_quotation_box .right .from .input>div p span,
.page_quotation .page_quotation_box .right .from .textarea_box p span{
    color:#c43b2b;
}
.page_quotation .page_quotation_box .right .from .input>div input,
.page_quotation .page_quotation_box .right .from .textarea_box textarea{
    width:100%;
    padding:15px 30px;
    border:1px solid #d7d7d7;
    border-radius:6px;
    background:#fff;
    color:var(--text);
    font-size:16px;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease;
}
.page_quotation .page_quotation_box .right .from .input>div input:focus,
.page_quotation .page_quotation_box .right .from .textarea_box textarea:focus{
    border-color:var(--accent-deep);
    box-shadow:0 0 0 3px rgba(185,159,129,.18);
}
.page_quotation .page_quotation_box .right .from .textarea_box textarea{
    height:130px;
    resize:vertical;
}
.page_quotation .page_quotation_box .right .from .submit{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.page_quotation .page_quotation_box .right .from .submit .btn_effect4{
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.page_quotation .btn_small_wrap{
    position:relative;
    display:inline-flex;
    overflow:hidden;
    border-radius:999px;
}
.page_quotation .btn_small_list{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:126px;
    padding:8px 30px;
    border:1px solid var(--dark);
    border-radius:999px;
    background:var(--dark);
    color:#fff;
    font-size:13px;
    font-weight:700;
    line-height:1.3;
    text-transform:uppercase;
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.page_quotation .btn_small_list.hover{
    position:absolute;
    inset:0;
    background:#fff;
    color:var(--dark);
    opacity:0;
}
.page_quotation .btn_small_wrap:hover .btn_small_list.hover{
    opacity:1;
}
.page_quotation .page_quotation_box .right .from .submit .btn_effect4:last-child .btn_small_list{
    border-color:var(--accent-deep);
    background:var(--accent-deep);
}
.page_quotation .page_quotation_box .right .from .submit .btn_effect4:last-child .btn_small_list.hover{
    background:#fff;
    color:var(--accent-deep);
}
.page_quotation .hide{
    display:none!important;
}

.floating-contact-bar{
    position:fixed;
    right:22px;
    top:50%;
    z-index:998;
    display:grid;
    gap:10px;
    transform:translateY(-50%);
}
.floating-contact-btn{
    width:48px;
    height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(31,29,26,.12);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--dark);
    cursor:pointer;
    transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;
    backdrop-filter:blur(10px);
}
.floating-contact-btn:hover{
    transform:translateY(-2px);
    background:var(--dark);
    color:#fff;
    border-color:var(--dark);
    box-shadow:0 18px 40px rgba(21,18,15,.18);
}
.floating-contact-btn svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.floating-contact-whatsapp{
    color:#1f7a4d;
}
.floating-contact-email{
    color:#7a5b34;
}
#page_blog_detail .pbd-toc-fab{
    display: none;
}