/* ==========================================================
   SELLFORGE / PLAUTECH DESIGN SYSTEM
   ========================================================== */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

:root{
    --primary:#FF9800;
    --primary-dark:#E68900;
    --primary-medium:#FFAD33;
    --primary-light:#FFC166;
    --primary-soft:#FFF3E0;
    --primary-softer:#FFF8EE;

    --background:#F8F9FB;
    --white:#ffffff;

    --text:#1D1D1B;
    --text-light:#707172;
    --text-muted:#B0B1B2;
    --border:#E8E8E8;

    --container:1200px;
    --header-height:84px;

    --radius:18px;
    --radius-small:10px;

    --shadow-sm:0 5px 15px rgba(29,29,27,.05);
    --shadow:0 15px 40px rgba(29,29,27,.08);
    --shadow-lg:0 25px 60px rgba(29,29,27,.12);

    --space-xs:.5rem;
    --space-sm:1rem;
    --space-md:2rem;
    --space-lg:4rem;
    --space-xl:7rem;
	--space-xl2:14rem;

    --transition:.25s ease;
	
	--section-space:4.5rem;
}

html{scroll-behavior:smooth;}
body{font-family:"Inter",sans-serif;font-size:16px;line-height:1.7;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
/*ul{list-style:none;}*/

h1{font-size:3.8rem;line-height:1.1;font-weight:800;letter-spacing:-.04em;}
h2{font-size:2.5rem;font-weight:750;margin-bottom:1rem;letter-spacing:-.03em;}
h3{font-size:1.5rem;margin-bottom:1rem;margin-:1rem;line-height:1.25;}
p{color:var(--text-light);}

.container{width:min(var(--container),92%);margin:auto;}
section{padding:var(--space-md) 0;}

.grid{display:grid;gap:2rem;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}

.flex{display:flex;}
.flex-center{display:flex;justify-content:center;align-items:center;}
.flex-between{display:flex;justify-content:space-between;align-items:center;}
.flex-column{display:flex;flex-direction:column;}

.py-xs{padding:var(--space-xs) 0;}.py-sm{padding:var(--space-sm) 0;}.py-md{padding:var(--space-md) 0;}.py-lg{padding:var(--space-lg) 0;}.py-xl{padding:var(--space-xl) 0;}
.mt-xs{margin-top:var(--space-xs);}.mt-sm{margin-top:var(--space-sm);}.mt-md{margin-top:var(--space-md);}.mt-lg{margin-top:var(--space-lg);}.mt-xl{margin-top:var(--space-xl);}
.mb-xs{margin-bottom:var(--space-xs);}.mb-sm{margin-bottom:var(--space-sm);}.mb-md{margin-bottom:var(--space-md);}.mb-lg{margin-bottom:var(--space-lg);}.mb-xl{margin-bottom:var(--space-xl);}
.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}

.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.header .container{height:var(--header-height);display:flex;justify-content:space-between;align-items:center;}
.logo img{width:190px;height:auto;}
.main-nav{display:flex;align-items:center;gap:2rem;}
.main-nav a{font-weight:600;transition:var(--transition);}
.main-nav a:hover{color:var(--primary);}

.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:12px;background:var(--primary);color:white;transition:var(--transition);font-weight:700;border:2px solid transparent;box-shadow:0 12px 28px rgba(255,152,0,.20);}
.button:hover{background:var(--primary-dark);transform:translateY(-2px);}
.button.secondary{background:white;border-color:var(--primary);color:var(--primary);box-shadow:none;}
.button.secondary:hover{background:var(--primary-soft);}

.menu-toggle{display:none;width:44px;height:44px;border:0;background:white;border-radius:10px;cursor:pointer;box-shadow:var(--shadow-sm);}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px auto;transition:var(--transition);}
.mobile-overlay{position:fixed;inset:0;background:rgba(29,29,27,.45);opacity:0;visibility:hidden;transition:var(--transition);z-index:1500;}
.mobile-overlay.open{opacity:1;visibility:visible;}
.mobile-menu{position:fixed;top:0;right:0;width:min(380px,88vw);height:100vh;background:white;z-index:1600;transform:translateX(100%);transition:transform .3s ease;padding:1.5rem;box-shadow:-20px 0 60px rgba(29,29,27,.18);}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;}
.mobile-logo{width:170px;height:auto;}
.mobile-close{width:44px;height:44px;border:0;border-radius:12px;background:var(--background);font-size:2rem;line-height:1;cursor:pointer;color:var(--text);}
.mobile-nav{display:flex;flex-direction:column;gap:1rem;}
.mobile-nav a{padding:1rem;border-radius:12px;font-weight:700;color:var(--text);}
.mobile-nav a:hover{background:var(--primary-soft);color:var(--primary-dark);}
.mobile-nav .button{margin-top:1rem;color:white;}

.badge{display:inline-block;padding:8px 18px;background:var(--primary-soft);color:var(--primary-dark);border-radius:40px;font-weight:700;margin-bottom:1.5rem;}
.hero{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%, rgba(255,193,102,.38) 0, transparent 35%),radial-gradient(circle at 10% 80%, rgba(255,152,0,.12) 0, transparent 35%),linear-gradient(180deg,#ffffff 0%,#fffaf3 100%);}
.hero-content{position:relative;z-index:2;}
.hero-grid{align-items:center;}
.hero p{font-size:1.3rem;margin:2rem 0;}
.hero-buttons{display:flex;gap:1rem;}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;}
.hero-stats div{background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm);}
.hero-stats strong{display:block;color:var(--primary-dark);font-size:1.35rem;line-height:1.2;}
.hero-stats span{display:block;color:var(--text-light);font-size:.85rem;}

.hero-visual{position:relative;min-height:520px;}
.device{background:white;border:1px solid rgba(255,152,0,.18);box-shadow:0 35px 80px rgba(255,152,0,.16);}
.desktop-device{position:absolute;top:40px;right:0;width:520px;max-width:100%;border-radius:24px;overflow:hidden;}
.device-topbar{height:46px;background:var(--primary-softer);display:flex;align-items:center;gap:8px;padding:0 18px;}
.device-topbar span{width:10px;height:10px;border-radius:50%;background:var(--primary-light);}
.device-content{padding:2rem;}
.chart-line{height:130px;border-radius:18px;background:linear-gradient(135deg,rgba(255,152,0,.18),rgba(255,193,102,.10)),repeating-linear-gradient(to right,transparent,transparent 38px,rgba(255,152,0,.08) 39px);margin-bottom:1.5rem;position:relative;overflow:hidden;}
.chart-line::after{content:"";position:absolute;left:20px;right:20px;top:65px;height:4px;border-radius:20px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform:skewY(-8deg);}
.mock-row{height:12px;width:70%;border-radius:20px;background:#FFE8BF;margin-bottom:12px;}.mock-row.wide{width:90%;}.mock-row.short{width:45%;}
.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;}
.mock-grid span{height:70px;border-radius:16px;background:var(--primary-softer);border:1px solid #FFE4B5;}
.tablet-device{position:absolute;left:10px;bottom:35px;width:230px;height:310px;border-radius:28px;padding:1.2rem;}
.tablet-header{height:70px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--primary-light));margin-bottom:1.2rem;}
.tablet-list{display:grid;gap:.8rem;}.tablet-list span{height:16px;border-radius:20px;background:#FFE8BF;}
.cloud-badge,.sync-badge{position:absolute;background:white;border:1px solid var(--border);box-shadow:var(--shadow);}
.cloud-badge{right:70px;bottom:95px;width:82px;height:82px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:2rem;}
.sync-badge{left:100px;top:20px;border-radius:999px;padding:.8rem 1.2rem;color:var(--primary-dark);font-weight:800;}

.page-hero{background:radial-gradient(circle at 90% 10%, rgba(255,193,102,.32) 0, transparent 32%),linear-gradient(180deg,#ffffff 0%,#fffaf3 100%);text-align:center;padding:5rem 0;}
.page-hero h1{max-width:850px;margin:0 auto 1.5rem;}
.page-hero p{max-width:720px;margin:0 auto;font-size:1.25rem;}

.card{position:relative;background:white;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);transition:var(--transition);overflow:hidden;}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform:scaleX(0);transform-origin:left;transition:var(--transition);}
.card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);}
.card:hover::before{transform:scaleX(1);}
.card-icon{width:54px;height:54px;border-radius:16px;background:var(--primary-soft);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;}
.card-icon svg,.feature-icon svg{width:28px;height:28px;stroke-width:2;}
.card p{margin:1rem 0 2rem;}.card a{color:var(--primary-dark);font-weight:800;}.card-link-text{color:var(--primary-dark);font-weight:800;}

.features{background:var(--background);}
.feature{background:white;border-radius:16px;padding:2rem;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);}
.feature:hover{transform:translateY(-6px);}
.feature-icon{width:52px;height:52px;border-radius:15px;background:var(--primary-soft);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;}

.split-section{background:white;}.split-section .grid{align-items:center;}.split-section h2{text-align:left;margin-bottom:1.5rem;}.split-section p{font-size:1.15rem;}
.panel{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow);}
.panel ul{list-style:none;}
.check-list{display:grid;gap:1rem;}.check-list li{position:relative;padding-left:2rem;font-weight:700;}.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--primary-dark);font-weight:900;}

.product-feature{background:white;border-radius:16px;padding:2rem;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);}
.product-feature:hover{transform:translateY(-6px);}

/* ===========================
   CTA FLOATING
=========================== */

.cta-wrap{
    position:relative;
    z-index:10;
    padding:5rem 0 4rem;
    background:white;
}

.cta{
    background:
        radial-gradient(circle at 90% 20%, rgba(255,193,102,.22), transparent 32%),
        linear-gradient(135deg,#1D1D1B,#2A2A27);
    color:white;
    text-align:center;
    border-radius:32px;
    padding:4rem 2rem;
    box-shadow:0 35px 90px rgba(29,29,27,.22);
    margin-bottom:0;
}

.cta h2{
    color:white;
    margin-bottom:1rem;
}

.cta p{
    color:rgba(255,255,255,.78);
    max-width:720px;
    margin:0 auto 2rem;
    font-size:1.2rem;
}

.cta .button{
    background:var(--primary);
    color:white;
}

.cta .button:hover{
    background:var(--primary-dark);
}


/* ===========================
   FOOTER
=========================== */

.footer{
    background:#1D1D1B;
    color:white;
    padding:4rem 0 2rem;
}

.footer-top{
    display:grid;
    grid-template-columns:1.4fr 2fr;
    gap:4rem;
    padding-bottom:3rem;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.footer-brand img{
    width:80px;
    height:auto;
    margin-bottom:1.5rem;
}

.footer-brand p{
    color:rgba(255,255,255,.68);
    margin-bottom:1rem;
    max-width:340px;
}

.footer-brand a{
    display:block;
    color:rgba(255,255,255,.75);
    margin-bottom:.5rem;
    font-weight:600;
}

.footer-links{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}

.footer-column h4{
    color:white;
    margin-bottom:1rem;
    font-size:1rem;
}

.footer-column a{
    display:block;
    color:rgba(255,255,255,.68);
    margin-bottom:.65rem;
    transition:var(--transition);
}

.footer-column a:hover,
.footer-brand a:hover,
.footer-legal a:hover{
    color:var(--primary-light);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:2rem;
    padding-top:2rem;
    font-size:.9rem;
    color:rgba(255,255,255,.55);
}

.footer-legal{
    display:flex;
    gap:1.5rem;
    flex-wrap:wrap;
}

.footer-legal a{
    color:rgba(255,255,255,.55);
}

/* ===========================
   HOME STORY
=========================== */

.story-section{
    padding:var(--section-space) 0;
}

.story-problem,
.story-products,
.story-audience{
    background:var(--background);
}

.section-heading{
    text-align:center;
    max-width:780px;
    margin:0 auto 3rem;
}

.section-heading h2{
    margin-bottom:1rem;
}

.section-heading p{
    font-size:1.15rem;
}

.process-line{
    max-width:720px;
    margin:auto;
    display:grid;
    gap:1rem;
    text-align:center;
}

.process-item{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.25rem;
    font-weight:700;
    box-shadow:var(--shadow-sm);
}

.process-item.muted{
    color:var(--text-light);
}

.process-arrow{
    color:var(--primary);
    font-size:1.7rem;
    font-weight:800;
}

.platform-diagram{
    max-width:760px;
    margin:auto;
    text-align:center;
}

.diagram-node,
.diagram-center{
    border-radius:var(--radius);
    padding:1.5rem;
    font-weight:800;
    box-shadow:var(--shadow);
}

.diagram-node{
    background:white;
    border:1px solid var(--border);
}

.diagram-center{
    background:#1D1D1B;
    color:white;
    margin:2rem auto;
    max-width:360px;
    position:relative;
}

.diagram-center::before,
.diagram-center::after{
    content:"";
    display:block;
    width:2px;
    height:2rem;
    background:var(--primary);
    margin:auto;
}

.diagram-center::before{
    margin-bottom:1rem;
}

.diagram-center::after{
    margin-top:1rem;
}

.diagram-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
}

.audience-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    text-align:center;
    font-weight:800;
    box-shadow:var(--shadow-sm);
}

.resource-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow);
}

.resource-card span{
    color:var(--primary);
    font-weight:800;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.resource-card h3{
    margin:1rem 0 1.5rem;
	line-height: 1.5rem;
    min-height: 3rem;
}

.resource-card a{
    color:var(--primary);
    font-weight:800;
}

.resource-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius);
}

.resource-card a:first-child {
    display: block;
    overflow: hidden;
    border-radius: var(--radius);
}

.resource-card img {
    transition: transform .25s ease;
}

.resource-card a:first-child:hover img {
    transform: scale(1.03);
}

/* ===========================
   JOB BOARD
=========================== */

.notice-box{
    background:#FFF7EC;
    border:1px solid rgba(255,152,0,.25);
    border-radius:var(--radius);
    padding:1.25rem 1.5rem;
    color:var(--text);
    font-weight:600;
    margin-bottom:2rem;
}

.job-list{
    display:grid;
    gap:1.5rem;
}

.job-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow-sm);
}

.job-meta{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1rem;
}

.job-meta span{
    background:var(--background);
    border-radius:999px;
    padding:.4rem .8rem;
    color:var(--text-light);
    font-size:.9rem;
    font-weight:700;
}

.job-card h2{
    text-align:left;
    margin-bottom:1rem;
    font-size:1.5rem;
}

.job-contact{
    margin-top:1.5rem;
    padding-top:1.5rem;
    border-top:1px solid var(--border);
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    align-items:center;
}

.job-contact a{
    color:var(--primary);
    font-weight:800;
}

/*=============================
PRICING
=============================*/

.pricing-card,
.service-card{

    background:white;

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:2.5rem;

    box-shadow:var(--shadow);

    text-align:center;

}

.pricing-price,
.service-price{

    font-size:2.3rem;

    font-weight:800;

    color:var(--primary);

    margin:1rem 0;

}

.notice-big{

    background:#FFF8EF;

    border-left:6px solid var(--primary);

    padding:3rem;

    border-radius:var(--radius);

}

.notice-big ul{

    margin-top:2rem;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:1rem;

}

.notice-big li{

    list-style:none;

    font-weight:600;

}

.tax-note{
    color:#b91c1c;
    font-weight:700;
    text-align:center;
}

/* ===========================
   HELP CENTER
=========================== */

.help-product-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2.5rem;
    box-shadow:var(--shadow);
}

.help-product-label{
    color:var(--primary);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:.85rem;
}

.help-product-card h2{
    text-align:left;
    margin:1rem 0 2rem;
    font-size:1.7rem;
}

.help-links{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}

.help-links a{
    background:#FFF7EC;
    color:var(--primary);
    border:1px solid rgba(255,152,0,.25);
    border-radius:999px;
    padding:.55rem 1rem;
    font-weight:800;
}

.help-block{
    margin-top:3rem;
    scroll-margin-top:calc(var(--header-height) + 1rem);
}

.help-block > h3{
    font-size:1.8rem;
    margin-bottom:1.5rem;
}

.version-list{
    display:grid;
    gap:1rem;
}

.version-item{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.5rem;
    box-shadow:var(--shadow-sm);
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:flex-start;
}

.version-item-small{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.5rem;
    box-shadow:var(--shadow-sm);
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:flex-start;
    max-height: var(--space-xl2);
    overflow-y:auto;
}

.version-item strong{
    font-size:1.2rem;
}

.version-item span{
    background:var(--background);
    color:var(--text-light);
    border-radius:999px;
    padding:.45rem .8rem;
    font-weight:800;
    white-space:nowrap;
}

.version-item-small span{
    background:var(--background);
    color:var(--text-light);
    border-radius:999px;
    padding:.45rem .8rem;
    font-weight:800;
    white-space:nowrap;
}

.version-item ul {
    padding-left: 1.5rem;
    margin: 0;
}

.version-item-small ul {
    padding-left: 1.5rem;
    margin: 0;
}

.version-video-button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;

    background: var(--primary);
    color: white;

    border-radius: 999px;
    padding: .45rem .8rem;

    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;

    transition: background .2s ease;
}

.version-video-button:hover {
    background: var(--primary-dark);
    color: white;
}

.version-video-button i {
    font-size: 1rem;
}

.section-actions{
    margin-top:2rem;
    text-align:center;
}

/* ===========================
   VERSIONS ACCORDION
=========================== */

.versions-accordion{
    display:grid;
    gap:1rem;
}

.year-group{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    overflow:hidden;
}

.year-group summary{
    cursor:pointer;
    padding:1.25rem 1.5rem;
    font-size:1.4rem;
    font-weight:800;
    color:var(--text);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
}

.year-group summary::-webkit-details-marker{
    display:none;
}

.year-group summary::before{
    content:"+";
    width:32px;
    height:32px;
    border-radius:50%;
    background:#FFF7EC;
    color:var(--primary);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:.75rem;
    flex-shrink:0;
}

.year-group[open] summary::before{
    content:"−";
}

.year-group summary span{
    font-size:.9rem;
    color:var(--text-light);
    font-weight:700;
    margin-left:auto;
}

.year-group .version-list{
    padding:0 1.5rem 1.5rem;
}

/* ===========================
   TEAM
=========================== */

.team-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.5rem;
    text-align:center;
    box-shadow:var(--shadow-sm);
}

/*.team-photo{
    aspect-ratio:1 / 1;
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--background);
    margin-bottom:1.5rem;
}

.team-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}*/

.team-photo {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
	margin-bottom: 1rem;
}

.team-photo img {
    display: block;
    width: 100%;
    transition: opacity .35s ease, transform .35s ease;
}

.team-photo .photo-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.team-photo:hover .photo-default {
    opacity: 0;
}

.team-photo:hover .photo-hover {
    opacity: 1;
}

.team-photo:hover img {
    transform: scale(1.03);
}

.team-card h3{
    margin-bottom:.25rem;
}

.team-card p{
    color:var(--text-light);
}

/* ===========================
   CONTACT
=========================== */

.contact-info{
    display:grid;
    gap:1rem;
}

.contact-card{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1.5rem;
    box-shadow:var(--shadow-sm);
}

.contact-card strong{
    display:block;
    color:var(--primary);
    margin-bottom:.5rem;
}

.contact-card a{
    color:var(--text);
    font-weight:800;
}

.contact-form-box{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2.5rem;
    box-shadow:var(--shadow);
}

.contact-form{
    display:grid;
    gap:1.25rem;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
}

.contact-form label{
    display:block;
    font-weight:700;
    margin-bottom:.35rem;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    border:1px solid var(--border);
    border-radius:12px;
    padding:.9rem 1rem;
    font:inherit;
}

.contact-form textarea{
    resize:vertical;
}

.privacy-check{
    display:flex !important;
    gap:.75rem;
    align-items:flex-start;
    font-weight:500 !important;
}

.privacy-check input{
    width:auto;
    margin-top:.35rem;
}

.privacy-note{
    font-size:.85rem;
    color:var(--text-light);
}

.map-placeholder{
    background:white;
    border:1px dashed rgba(255,152,0,.45);
    border-radius:var(--radius);
    padding:5rem 2rem;
    text-align:center;
    color:var(--text-light);
}

/* ===========================
   LEGAL
=========================== */

.legal-content{

    max-width:900px;

    margin:auto;

}

.legal-content h2{

    margin-top:3rem;
    margin-bottom:1rem;

}

.legal-content h3{

    margin-top:2rem;

}

.legal-content p{

    margin-bottom:1.25rem;
    line-height:1.8;

}

.legal-content ul{

    margin:1rem 0 2rem 1.5rem;

}

.legal-content li{

    margin-bottom:.75rem;

}

.legal-content table{

    width:100%;
    border-collapse:collapse;
    margin:2rem 0;

}

.legal-content th,
.legal-content td{

    border:1px solid var(--border);

    padding:.8rem;

}

.honeypot{
    position:absolute;
    left:-9999px;
    opacity:0;
}

.notice-box.error{
    background:#FEF2F2;
    border-color:#FCA5A5;
    color:#991B1B;
}

.erp-carousel{
    overflow:hidden;
    position:relative;
    margin-top:3rem;
}

.erp-track{
    display:flex;
    align-items:center;
    gap:4rem;
    width:max-content;
    animation:erp-scroll 35s linear infinite;
	padding: .5rem 0;
}

.erp-track img{
    height:48px;
    width:auto;
    opacity:.65;
    filter:grayscale(100%);
    transition:var(--transition);
}

.erp-track img:hover{
    opacity:1;
    filter:none;
    transform:scale(1.08);
}

.erp-logo {
    width: 180px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.erp-logo img {
    max-width: 140px;
    max-height: 50px;
    width: auto;
    height: auto;
    object-fit: contain;
}

@keyframes erp-scroll{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

.store-buttons img {
    height: 56px;
    width: auto;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.grid-2-1 {
    grid-template-columns: 2fr 1fr;
}

.comparison-wrapper{

    margin-top:3rem;

    overflow-x:auto;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.comparison-table{

    width:100%;

    border-collapse:separate;
    border-spacing:0;

    background:white;

}

.comparison-table th{

    background:var(--primary);
    color:white;

    padding:1rem 1.25rem;

    font-weight:700;
    text-align:center;

}

.comparison-table th:first-child{

    text-align:left;

}

.comparison-table th.featured{

    background:var(--primary-dark);

}

.comparison-table td.featured{

    background: rgba(255, 138, 0, .06);

}

.comparison-table td{

    padding:1rem 1.25rem;

    border-bottom:1px solid var(--border);

    text-align:center;

}

.comparison-table td:first-child{

    text-align:left;
    font-weight:700;

}

.comparison-table tbody tr:nth-child(even){

    background:#fafafa;

}

.comparison-table tbody tr:hover{

    background:#f5f9ff;

}

.comparison-table tbody tr:last-child td{

    border-bottom:none;

}

.comparison-table th:first-child{

    border-top-left-radius:var(--radius);

}

.comparison-table th:last-child{

    border-top-right-radius:var(--radius);

}

.price-value{
	font-size:2rem;font-weight:800;
}



/* ===========================
   HOME 2026
=========================== */

.home-intro-grid,
.home-offline-grid,
.home-company-grid{
    align-items:center;
}

.home-intro-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:4rem;
    max-width:1040px;
    margin:0 auto;
}

.home-intro-copy p,
.home-offline p,
.home-company p{
    font-size:1.12rem;
}

.home-check-list{
    display:grid;
    gap:1rem;
    list-style:none;
}

.home-check-list li{
    position:relative;
    padding:1rem 1rem 1rem 3rem;
    background:white;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:var(--shadow-sm);
    font-weight:700;
}

.home-check-list li::before{
    content:"✓";
    position:absolute;
    left:1.1rem;
    color:var(--primary-dark);
    font-weight:900;
}

.home-management,
.home-reasons,
.home-screenshots{
    background:var(--background);
}

.home-info-card,
.home-reason{
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow-sm);
	transition:var(--transition)
}

.home-reason:hover{transform:translateY(-6px);}
.home-info-card:hover{transform:translateY(-6px);}

.home-info-card h3,
.home-reason h3{
    margin:.9rem 0 .7rem;
}

.home-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:15px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-weight:900;
    letter-spacing:.04em;
}

.home-process{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1.5rem;
    list-style:none;
    counter-reset:steps;
}

.home-process li:hover{transform:translateY(-6px);}

.home-process li{
    position:relative;
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow-sm);
	transition:var(--transition)
}

.home-process li:not(:last-child)::after{
    content:"→";
    position:absolute;
    top:2.15rem;
    right:-1.05rem;
    width:2rem;
    height:2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--primary);
    color:white;
    font-weight:900;
    z-index:2;
}

.home-step-number{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-bottom:1.25rem;
    border-radius:50%;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-weight:900;
}

.home-product-card{
    display:block;
    background:white;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.home-product-card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,152,0,.45);
}

.home-product-card > span{
    color:var(--primary-dark);
    font-size:.82rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.home-product-card h3{
    margin:.8rem 0;
}

.home-product-card strong{
    display:inline-block;
    margin-top:1rem;
    color:var(--primary-dark);
}

.home-offline{
    overflow:hidden;
}

.offline-visual{
    position:relative;
    min-height:380px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:32px;
    background:
        radial-gradient(circle at 70% 25%, rgba(255,193,102,.32), transparent 30%),
        linear-gradient(145deg,#fff7ec,#ffffff);
    border:1px solid rgba(255,152,0,.20);
}

.offline-device{
    width:220px;
    height:300px;
    padding:14px;
    border-radius:28px;
    background:#252522;
    box-shadow:0 30px 65px rgba(29,29,27,.22);
    transform:rotate(-4deg);
}

.offline-device-bar{
    width:44px;
    height:5px;
    margin:0 auto 13px;
    border-radius:999px;
    background:#555;
}

.offline-device-content{
    height:255px;
    display:grid;
    gap:13px;
    align-content:start;
    padding:25px 18px;
    border-radius:18px;
    background:white;
}

.offline-device-content span{
    display:block;
    height:34px;
    border-radius:10px;
    background:linear-gradient(90deg,var(--primary-soft),#f2f2ef);
}

.offline-status{
    position:absolute;
    right:7%;
    bottom:14%;
    display:flex;
    flex-direction:column;
    padding:1rem 1.25rem;
    border-radius:15px;
    background:white;
    border:1px solid var(--border);
    box-shadow:var(--shadow);
}

.offline-status strong{
    color:var(--primary-dark);
}

.offline-status span{
    color:var(--text-light);
    font-size:.9rem;
}

.screenshot-placeholder{
    margin:0;
	display:flex;
    flex-direction:column;
}

.screenshot-placeholder img{
	object-fit:contain;
	aspect-ratio:16 / 10;
}

.screenshot-placeholder > div,
.company-photo-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:250px;
    border:2px dashed rgba(255,152,0,.40);
    border-radius:var(--radius);
    background:linear-gradient(145deg,#fff,#fff8ef);
    color:var(--primary-dark);
    font-weight:800;
    text-align:center;
    padding:2rem;
}

.screenshot-placeholder figcaption{
    padding:1rem .25rem 0;
    font-weight:700;
    color:var(--text);
}

.company-photo-placeholder{
    min-height:360px;
}

.text-link{
    display:inline-block;
    margin-top:1rem;
    color:var(--primary-dark);
    font-weight:900;
}

/* Hero synchronization diagram */

.hero-sync-flow{
    min-height:580px;
    padding:1.5rem;
    border:1px solid rgba(255,152,0,.20);
    border-radius:32px;
    background:
        radial-gradient(circle at 50% 35%, rgba(255,193,102,.24), transparent 34%),
        linear-gradient(145deg,#ffffff,#fffaf3);
    box-shadow:var(--shadow-lg);
    display:grid;
    grid-template-columns:1fr 1.25fr 1fr;
    grid-template-rows:auto 54px auto 1fr auto;
    gap:1rem;
    align-items:center;
}

.sync-system{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:105px;
    padding:1rem;
    border-radius:20px;
    background:white;
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
    text-align:center;
}

.sync-system strong{
    font-size:1.35rem;
}

.sync-system small{
    color:var(--text-light);
}

.sync-label{
    color:var(--primary-dark);
    font-size:.76rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.sync-erp{
    grid-column:2;
    grid-row:1;
}

.sync-server{
    grid-column:2;
    grid-row:3;
    border-color:rgba(255,152,0,.42);
}

.sync-connector{
    grid-column:2;
    grid-row:2;
    align-self:stretch;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary-dark);
    font-size:.76rem;
    font-weight:800;
}

.sync-connector::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    border-left:2px dashed var(--primary);
}

.sync-connector::after{
    content:"â†“";
    position:absolute;
    bottom:-7px;
    left:calc(50% - 9px);
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--primary);
    color:white;
}

.sync-connector span{
    position:relative;
    z-index:1;
    padding:.25rem .55rem;
    background:#fffaf3;
}

.sync-data{
    align-self:stretch;
    padding:1rem;
    border-radius:18px;
    background:white;
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
    display:flex;
    flex-direction:column;
    gap:.3rem;
    font-size:.78rem;
}

.sync-data strong{
    margin-bottom:.25rem;
    color:var(--primary-dark);
    font-size:.72rem;
    text-transform:uppercase;
}

.sync-data-out{
    grid-column:1;
    grid-row:3 / span 2;
}

.sync-data-in{
    grid-column:3;
    grid-row:3 / span 2;
}

.sync-branches{
    grid-column:1 / 4;
    grid-row:4;
    align-self:stretch;
    position:relative;
    min-height:58px;
}

.sync-branches::before{
    content:"";
    position:absolute;
    left:18%;
    right:18%;
    top:14px;
    border-top:2px dashed var(--primary);
}

.sync-branches span{
    position:absolute;
    top:14px;
    height:44px;
    border-left:2px dashed var(--primary);
}

.sync-branches span:first-child{left:18%;}
.sync-branches span:last-child{right:18%;}

.sync-commercials{
    grid-column:1 / 4;
    grid-row:5;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
}

.sync-device{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.55rem;
    font-size:.8rem;
}

.sync-device-screen{
    width:92px;
    height:64px;
    padding:9px;
    border:6px solid #292927;
    border-radius:10px;
    background:white;
    box-shadow:var(--shadow-sm);
    display:grid;
    gap:5px;
}

.sync-device-phone .sync-device-screen{
    width:48px;
    height:82px;
    border-radius:12px;
}

.sync-device-screen i{
    display:block;
    border-radius:4px;
    background:var(--primary-soft);
}

.sync-action{
    grid-column:2;
    grid-row:4;
    justify-self:center;
    align-self:start;
    position:relative;
    z-index:2;
    padding:.55rem 1rem;
    border-radius:999px;
    background:var(--primary);
    color:white;
    font-size:.8rem;
    font-weight:900;
    box-shadow:0 10px 22px rgba(255,152,0,.24);
}

.sync-transfer{

    display:flex;

    justify-content:center;
    align-items:flex-start;

    width:100%;

}

.sync-flow-center{

    grid-column:2;
    grid-row:1 / 4;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:1.5rem;

}

.transfer-down,
.transfer-up{

    display:flex;
    flex-direction:column;
    align-items:center;

    width:120px;

    text-align:center;

    font-size:.85rem;
    font-weight:600;

}

.transfer-down{

    color:var(--primary);

}

.transfer-up{

    color:var(--primary);

}

.arrow-down{

    width:2px;
    height:40px;

    background:var(--primary);

    position:relative;

    margin-top:1.5rem;
	margin-bottom:1.5rem;

}

.arrow-down::after{

    content:"";

    position:absolute;

    bottom:-9px;
    left:50%;

    transform:translateX(-50%);

    border-left:7px solid transparent;
    border-right:7px solid transparent;
    border-top:10px solid var(--primary);

}

.arrow-up{

    width:2px;
    height:40px;

    background:var(--primary);

    position:relative;

    margin-top:1.5rem;
	margin-bottom:1.5rem;

}

.arrow-up::before{

    content:"";

    position:absolute;

    top:-9px;
    left:50%;

    transform:translateX(-50%);

    border-left:7px solid transparent;
    border-right:7px solid transparent;
    border-bottom:10px solid var(--primary);

}

.floating-images{

    display:flex;
    align-items:flex-start;

    margin-top:2rem;

}

.floating-images-reverse{

    display:flex;
    align-items:flex-start;

    margin-top:5.5rem;

}

.floating-image{

    display:block;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow-lg);

    background:white;
	
	cursor:pointer;
	
	position:relative;

    transition:
        transform .35s ease,
        opacity .35s ease,
        box-shadow .35s ease;
}

.floating-image-vertical{

    display:block;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow-lg);

    background:white;
	
	cursor:pointer;
	
	position:relative;

    transition:
        transform .35s ease,
        opacity .35s ease,
        box-shadow .35s ease;
}

.floating-image-vertical-small{

    display:block;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow-lg);

    background:white;
	
	cursor:pointer;
	
	position:relative;

    transition:
        transform .35s ease,
        opacity .35s ease,
        box-shadow .35s ease;
		
	width: 50% !important;
}

.floating-image:hover{

    transform:scale(1.03);
	opacity:1;

    z-index:10;
}

.floating-image img{

    display:block;

    width:100%;
    height:auto;

}

.floating-images-reverse img{

    display:block;

    width:100%;
    height:auto;

}

.floating-image-offset{

    margin-left:-2rem;
    margin-top:3rem;

}

.floating-image-offset-horizontal{

    margin-left:-2rem;

}

.floating-image-offset-reverse{

    margin-left:-2rem;
    margin-top:-3rem;

}

.floating-image-offset-reverse-vertical{

    margin-left:3rem;
    margin-top:-3rem;

}

.image-lightbox{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.85);

    opacity:0;
    visibility:hidden;

    transition:.25s;

    z-index:999999;

}

.image-lightbox.open{

    opacity:1;
    visibility:visible;

}

.image-lightbox img{

    max-width:90vw;
    max-height:90vh;

    border-radius:16px;

    box-shadow:0 20px 50px rgba(0,0,0,.45);

}

.lightbox-close{

    position:absolute;
    top:2rem;
    right:2rem;

    width:48px;
    height:48px;

    border:none;
    border-radius:50%;

    background:white;
    color:#333;

    font-size:1.5rem;
    cursor:pointer;

    box-shadow:var(--shadow-md);
	
	transition:.2s;

}

.lightbox-close:hover{

    background:var(--primary);
    color:#fff;
    transform:rotate(90deg);

}

/* Contenedor flotante */

.gt_float_wrapper{

    top:1rem !important;
    right:1.5rem !important;

    z-index:1000 !important;

}


/* Selector */

.gt_float_switcher{

    font-family:inherit !important;
    font-size:.9rem !important;
    line-height:1 !important;

    border:1px solid var(--border) !important;
    border-radius:12px !important;

    background:#fff !important;

    box-shadow:var(--shadow-sm) !important;

    overflow:hidden;

}


/* Al pasar el ratón */

.gt_float_switcher:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow-lg) !important;

}


/* Idioma seleccionado */

.gt_float_switcher .gt-selected{

    padding:.45rem .8rem !important;

    min-height:auto !important;

    line-height:1.2 !important;

    display:flex !important;
    align-items:center;

}


/* Lista desplegable */

.gt_float_switcher .gt_options{

    border:none !important;

    border-top:1px solid var(--border) !important;

    border-radius:0 0 16px 16px !important;

}


/* Cada idioma */

.gt_float_switcher .gt_options a{

    padding:.75rem 1rem !important;

    color:var(--text) !important;

    transition:background .2s;

}


/* Hover */

.gt_float_switcher .gt_options a:hover{

    background:var(--primary-soft) !important;

    color:var(--primary-dark) !important;

}

.gt_float_switcher .gt-selected img{

    width:1.5rem;
    height:1.5rem;

}

.gt_float_switcher .gt-selected a{

    line-height:1.2 !important;

}

.gt_float_switcher .gt-selected .gt_arrow{

    margin-left:auto !important;

}

.scroll-top-button{

    position:fixed;

    right:2rem;
    bottom:2rem;

    width:54px;
    height:54px;

    border:none;
    border-radius:50%;

    background:var(--primary);
    color:white;

    font-size:1.5rem;
    font-weight:700;

    cursor:pointer;

    box-shadow:var(--shadow-lg);

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;

    transform:translateY(12px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease,
        background .2s ease;

    z-index:1000;

}

.scroll-top-button:hover{

    background:var(--primary-dark);

    transform:translateY(8px) scale(1.08);

}

.scroll-top-button.visible{

    opacity:1;
    visibility:visible;

    transform:translateY(0);

}

.scroll-top-button svg{

    width:24px;
    height:24px;

    stroke:currentColor;
    stroke-width:2.5;

    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;

}

@media (max-width:768px){

    .scroll-top-button{

        right:1rem;
        bottom:1rem;

        width:48px;
        height:48px;

        font-size:1.3rem;

    }

}