/* ============================================================
   PANDEC DIGITAL — Main Stylesheet
   ============================================================ */

/* ---------- Reset & Variables ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --bg:       #080c0a;
    --bg-2:     #0e1410;
    --bg-card:  rgba(255,255,255,.04);
    --text:     #eef2eb;
    --text-muted: #8a9b84;
    --accent:   #8bd040;
    --accent-2: #a8e860;
    --gradient: linear-gradient(135deg, #6abf20 0%, #8bd040 50%, #b8f060 100%);
    --glass-bg: rgba(255,255,255,.06);
    --glass-border: rgba(255,255,255,.1);

    /* Typography */
    --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --mono: 'Cascadia Code', 'Consolas', monospace;

    /* Spacing */
    --section-pad: clamp(80px, 10vw, 140px) clamp(20px, 5vw, 80px);
    --radius: 16px;
    --radius-sm: 10px;
}

html{scroll-behavior:smooth;font-size:16px}
body{
    font-family:var(--font);
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
    overflow-x:hidden;
    cursor:none;
}

/* ---------- Particle Canvas Background ---------- */
#particleCanvas{
    position:fixed;inset:0;z-index:0;pointer-events:none;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
em{font-style:normal;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}

/* ---------- Page Loader ---------- */
.page-loader{
    position:fixed;inset:0;z-index:9999;
    background:var(--bg);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:30px;
    transition:opacity .6s ease, visibility .6s ease;
}
.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{width:100px;animation:pulse 1.5s ease infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7}}
.loader-bar{width:200px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.loader-fill{width:0;height:100%;background:var(--gradient);border-radius:2px;animation:loaderFill 1.5s ease forwards}
@keyframes loaderFill{to{width:100%}}

/* ---------- Custom Cursor ---------- */
.cursor{
    width:20px;height:20px;border:2px solid var(--accent);border-radius:50%;
    position:fixed;top:0;left:0;pointer-events:none;z-index:10000;
    transition: width .2s, height .2s, border-color .2s, transform .05s;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
}
.cursor.hover{width:50px;height:50px;border-color:var(--accent-2)}

@media(pointer:coarse){.cursor{display:none}body{cursor:auto}}

/* ---------- Navbar ---------- */
.navbar{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    display:flex;align-items:center;justify-content:space-between;
    padding:16px clamp(20px,5vw,60px);
    background:rgba(10,10,20,.6);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:background .3s, padding .3s;
}
.navbar.scrolled{background:rgba(10,10,20,.95);padding:10px clamp(20px,5vw,60px)}
.nav-logo{display:flex;align-items:center;gap: 10px;transform:scale(1.5);transform-origin:left center}
.nav-logo-img{height:40px; width:40px}
.nav-logo-text{display:flex;flex-direction:column;line-height:1}
.logo-pandec{font-size:1.35rem;font-weight:800;color:#f0f0e8;letter-spacing:.5px}
.logo-digital{font-size:.55rem;font-weight:600;color:var(--accent);letter-spacing:5px;text-transform:uppercase}
.nav-links{list-style:none;display:flex;gap:30px}
.nav-links a{
    font-size:.9rem;font-weight:500;letter-spacing:.5px;
    position:relative;color:var(--text-muted);transition:color .3s;
}
.nav-links a::after{
    content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
    background:var(--gradient);transition:width .3s;
}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-cta{
    padding:10px 24px;border-radius:100px;font-size:.85rem;font-weight:600;
    background:var(--gradient);color:#fff;
    transition:transform .3s, box-shadow .3s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3)}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
.mobile-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.3s}

/* ---------- Hero ---------- */
.hero{
    min-height:100vh;position:relative;
    display:flex;align-items:center;
    padding:120px clamp(20px,5vw,80px) 80px;
    overflow:hidden;
}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-shape{
    position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;
    animation:float 15s ease-in-out infinite;
}
.shape-1{width:500px;height:500px;background:#8bd040;top:-100px;right:-100px;animation-delay:0s}
.shape-2{width:400px;height:400px;background:#5ea020;bottom:-100px;left:-100px;animation-delay:-5s}
.shape-3{width:300px;height:300px;background:#b8f060;top:40%;left:40%;animation-delay:-10s}
@keyframes float{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(30px,-40px) scale(1.1)}
    66%{transform:translate(-20px,30px) scale(.9)}
}

.hero-content{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr 1fr;gap:60px;
    width:100%;max-width:1400px;margin:0 auto;
    align-items:center;
}

/* Hero Left */
.reveal-mask{overflow:hidden}
.reveal-mask>*{transform:translateY(100%);opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1), opacity .8s ease}
.reveal-mask.visible>*{transform:translateY(0);opacity:1}

.hero-tag{
    display:inline-block;font-size:.85rem;font-weight:600;color:var(--accent-2);
    letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;
}
.hero-title{font-size:clamp(2.8rem,5vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-1px}
.hero-title.accent{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{
    font-size:1.1rem;color:var(--text-muted);line-height:1.8;
    max-width:520px;margin:24px 0 32px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn-primary{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 32px;background:var(--gradient);color:#fff;
    border-radius:100px;font-weight:600;font-size:.95rem;
    transition:transform .3s, box-shadow .3s;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(139,208,64,.35)}
.btn-outline{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 28px;border:1px solid var(--glass-border);
    border-radius:100px;font-weight:500;font-size:.95rem;color:var(--text-muted);
    transition:border-color .3s, color .3s;
}
.btn-outline:hover{border-color:var(--accent);color:var(--text)}
.play-circle{
    display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;background:var(--accent);color:#fff;
    border-radius:50%;font-size:.65rem;
}

/* Hero Stats */
.hero-stats{display:flex;gap:40px;margin-top:48px;padding-top:32px;border-top:1px solid var(--glass-border)}
.hero-stat{display:flex;flex-direction:column}
.stat-num{font-size:2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-plus{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:1.5rem}
.stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.5px}

/* Hero Right — Visual */
.hero-visual{position:relative;width:100%;aspect-ratio:1;max-width:540px;margin:0 auto}
.hero-mockup{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:80%;background:var(--bg-2);border-radius:var(--radius);
    border:1px solid var(--glass-border);overflow:hidden;
    box-shadow:0 40px 80px rgba(0,0,0,.5);
}
.mockup-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:rgba(0,0,0,.3)}
.dot{width:10px;height:10px;border-radius:50%}
.dot.red{background:#f87171}.dot.yellow{background:#fbbf24}.dot.green{background:#34d399}
.mockup-url{font-size:.7rem;color:var(--text-muted);margin-left:8px;font-family:var(--mono)}
.mockup-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.mockup-nav{height:8px;width:60%;background:rgba(255,255,255,.05);border-radius:4px}
.mockup-hero-block{height:60px;background:linear-gradient(135deg,rgba(139,208,64,.3),rgba(94,160,32,.2));border-radius:8px}
.mockup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.mockup-card{height:40px;background:rgba(255,255,255,.04);border-radius:6px}

/* Glass floating cards */
.glass-card{
    background:var(--glass-bg);
    border:1px solid var(--glass-border);
    border-radius:var(--radius);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.float-card{
    position:absolute;display:flex;align-items:center;gap:12px;padding:14px 18px;
    z-index:2;white-space:nowrap;
    animation:floatCard 6s ease-in-out infinite;
}
.float-card strong{font-size:.85rem;display:block}
.float-card span{font-size:.72rem;color:var(--text-muted)}
.fc-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}
.fc-1{top:5%;right:0;animation-delay:0s}
.fc-2{bottom:30%;left:-10%;animation-delay:-2s}
.fc-3{bottom:5%;right:5%;animation-delay:-4s}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Scroll indicator */
.scroll-indicator{
    position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:var(--text-muted);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;
}
.scroll-line{width:1px;height:40px;background:var(--glass-border);position:relative;overflow:hidden}
.scroll-line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;
    background:var(--accent);animation:scrollLine 2s ease infinite;
}
@keyframes scrollLine{0%{top:-50%}100%{top:150%}}

/* ---------- Marquee ---------- */
.marquee-section{
    padding:24px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);
    overflow:hidden;
}
.marquee-track{display:flex;width:max-content;animation:marquee 30s linear infinite}
.marquee-track span{
    font-size:clamp(1rem,2vw,1.4rem);font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
    color:rgba(255,255,255,.08);white-space:nowrap;padding:0 20px;
}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- Section Base ---------- */
.section{padding:var(--section-pad);max-width:1400px;margin:0 auto}
.section-header{text-align:center;margin-bottom:60px}
.section-header h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-1px;margin-top:12px}
.section-label{
    display:inline-block;font-size:.8rem;font-weight:600;
    letter-spacing:3px;text-transform:uppercase;
    color:var(--accent-2);
}
.section-header.light h2{color:#fff}

/* ---------- Diensten ---------- */
.diensten-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;
}
.dienst-card{
    position:relative;padding:40px 32px;
    background:var(--bg-card);border:1px solid var(--glass-border);
    border-radius:var(--radius);
    transition:transform .4s, border-color .4s, box-shadow .4s;
    overflow:hidden;
}
.dienst-card::before{
    content:'';position:absolute;inset:0;
    background:var(--gradient);opacity:0;transition:opacity .4s;
    border-radius:inherit;
}
.dienst-card:hover{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 20px 60px rgba(139,208,64,.15)}
.dienst-card:hover::before{opacity:.06}
.dienst-card>*{position:relative;z-index:1}
.dienst-icon{font-size:2rem;margin-bottom:20px}
.dienst-card h3{font-size:1.3rem;font-weight:700;margin-bottom:12px}
.dienst-card p{color:var(--text-muted);font-size:.95rem;line-height:1.7}
.dienst-arrow{
    position:absolute;top:32px;right:32px;font-size:1.4rem;color:var(--text-muted);
    transition:color .3s, transform .3s;
}
.dienst-card:hover .dienst-arrow{color:var(--accent);transform:translate(4px,-4px)}

/* ---------- Portfolio Bento Grid ---------- */
.bento-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:260px;
    gap:16px;
}
.bento-item{border-radius:var(--radius);overflow:hidden;position:relative;display:block}
.bento-item.bi-large{grid-column:span 2}
.bento-visual{
    width:100%;height:100%;position:relative;transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.bento-visual.has-preview{
    background:#0b120d;
}
.bento-shot{
    position:absolute;inset:0;background:#0b120d;overflow:hidden;
}
.bento-shot img{
    width:100%;height:100%;object-fit:cover;display:block;
    object-position:top center;background:#1a1a1a;
}
.bento-visual.has-preview::after{
    content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,rgba(5,8,6,.08) 0%,rgba(5,8,6,.2) 35%,rgba(5,8,6,.88) 100%);
}
.bento-item:not(.bi-large) .bento-visual.has-preview::after{
    background:linear-gradient(180deg,rgba(5,8,6,.12) 0%,rgba(5,8,6,.28) 38%,rgba(5,8,6,.92) 100%);
}
.bento-item:hover .bento-visual{transform:scale(1.05)}
.bento-overlay{
    position:absolute;inset:0;padding:28px;
    display:flex;flex-direction:column;justify-content:flex-end;
    background:linear-gradient(transparent 40%,rgba(0,0,0,.7));
    opacity:0;transition:opacity .4s;
}
.bento-overlay.visible{opacity:1}
.bento-visual.has-preview .bento-overlay{background:none;z-index:1}
.bento-item:hover .bento-overlay{opacity:1}
.bento-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.7);margin-bottom:8px}
.bento-overlay h3{font-size:1.3rem;font-weight:700;margin-bottom:4px}
.bento-overlay p{font-size:.85rem;color:rgba(255,255,255,.6)}

/* ---------- Werkwijze / Process ---------- */
.werkwijze-section{
    background:var(--bg-2);border-radius:var(--radius);
    padding:var(--section-pad);margin:80px auto;max-width:1400px;
}
.process-timeline{display:flex;flex-direction:column;gap:0;position:relative}
.process-timeline::before{
    content:'';position:absolute;top:0;bottom:0;left:42px;width:2px;
    background:var(--glass-border);
}
.process-step{
    display:grid;grid-template-columns:84px 1fr auto;gap:24px;
    align-items:center;padding:32px 0;
    border-bottom:1px solid var(--glass-border);
    opacity:0;transform:translateX(-30px);
    transition:opacity .6s, transform .6s;
}
.process-step.visible{opacity:1;transform:translateX(0)}
.process-step:last-child{border-bottom:none}
.step-number{
    width:84px;height:84px;display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;font-weight:800;background:var(--bg);
    border:2px solid var(--glass-border);border-radius:50%;
    position:relative;z-index:1;
    transition:border-color .3s, color .3s;
}
.process-step.visible .step-number{border-color:var(--accent);color:var(--accent)}
.step-content h3{font-size:1.3rem;font-weight:700;margin-bottom:8px}
.step-content p{color:var(--text-muted);font-size:.95rem;max-width:500px}
.step-duration{
    font-size:.8rem;font-weight:600;color:var(--accent-2);
    background:rgba(139,208,64,.1);padding:6px 16px;border-radius:100px;
    white-space:nowrap;
}

/* ---------- Over Ons ---------- */
.over-ons-content{
    display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;
}
.over-ons-left h2{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;margin:12px 0 20px;letter-spacing:-1px}
.over-ons-intro{font-size:1.05rem;color:var(--text-muted);line-height:1.8;margin-bottom:36px}
.usp-grid{display:flex;flex-direction:column;gap:20px}
.usp-item{display:flex;gap:16px;align-items:flex-start}
.usp-icon{
    width:32px;height:32px;min-width:32px;border-radius:8px;
    background:rgba(139,208,64,.15);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:.9rem;margin-top:2px;
}
.usp-item strong{font-size:.95rem;display:block;margin-bottom:2px}
.usp-item p{font-size:.85rem;color:var(--text-muted);margin:0}

/* About card */
.about-card{
    padding:48px;text-align:center;
    display:flex;flex-direction:column;align-items:center;gap:16px;
}
.about-logo{width:160px;margin-bottom:100px}
.about-card h3{font-size:1.5rem;font-weight:700}
.about-card>p{color:var(--text-muted);font-size:.9rem}
.about-stats{
    display:flex;gap:32px;margin-top:24px;
    padding-top:24px;border-top:1px solid var(--glass-border);
    width:100%;justify-content:center;
}
.about-stats div{display:flex;flex-direction:column;align-items:center}
.about-stats strong{font-size:1.5rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-stats span{font-size:.75rem;color:var(--text-muted);letter-spacing:.5px}

/* ---------- Prijzen ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}
.pricing-card{
    background:var(--bg-card);border:1px solid var(--glass-border);
    border-radius:var(--radius);padding:40px 32px;
    position:relative;transition:transform .4s, box-shadow .4s;
}
.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(139,208,64,.12)}
.pricing-card.featured{
    border-color:var(--accent);
    background:linear-gradient(180deg,rgba(139,208,64,.08),transparent);
    box-shadow:0 0 80px rgba(139,208,64,.1);
}
.pricing-badge{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    padding:6px 20px;background:var(--gradient);color:#fff;
    font-size:.75rem;font-weight:700;border-radius:100px;text-transform:uppercase;letter-spacing:1px;
}
.pricing-header{text-align:center;margin-bottom:28px}
.pricing-header h3{font-size:1.2rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}
.pricing-price{font-size:3rem;font-weight:800;letter-spacing:-1px}
.pricing-period{font-size:.85rem;color:var(--text-muted)}
.pricing-features{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.pricing-features li{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:10px}
.pricing-features li::before{display:none} /* Override any default */
.btn-pricing{
    display:block;text-align:center;
    padding:14px;border:1px solid var(--glass-border);
    border-radius:100px;font-weight:600;font-size:.9rem;
    transition:all .3s;
}
.btn-pricing:hover{border-color:var(--accent);color:var(--accent)}
.featured-btn{background:var(--gradient);color:#fff;border-color:transparent}
.featured-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3);color:#fff;border-color:transparent}

/* ---------- Testimonials ---------- */
.testimonials-section{background:var(--bg-2);border-radius:var(--radius);padding:var(--section-pad);margin:0 auto;max-width:1400px}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.testimonial-card{padding:32px;display:flex;flex-direction:column;gap:16px}
.stars{color:#fbbf24;font-size:1.1rem;letter-spacing:2px}
blockquote{font-size:1.05rem;line-height:1.8;color:var(--text);font-style:normal}
.testimonial-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.author-avatar{
    width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:.85rem;font-weight:700;color:#fff;
}
.testimonial-author strong{font-size:.9rem;display:block}
.testimonial-author span{font-size:.78rem;color:var(--text-muted)}

/* ---------- Contact ---------- */
.contact-section{padding-bottom:60px}
.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-left h2{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;margin:12px 0 20px;letter-spacing:-1px}
.contact-left p{color:var(--text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:36px}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-item{display:flex;align-items:center;gap:14px;font-size:.95rem;color:var(--text-muted)}
.ci-icon{
    width:44px;height:44px;min-width:44px;border-radius:12px;
    background:rgba(139,208,64,.1);color:var(--accent);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
}

/* Form */
.contact-form{padding:40px;display:flex;flex-direction:column;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.5px;color:var(--text-muted)}
.form-group input,
.form-group select,
.form-group textarea{
    padding:14px 16px;background:rgba(255,255,255,.04);
    border:1px solid var(--glass-border);border-radius:var(--radius-sm);
    color:var(--text);font-size:.95rem;font-family:var(--font);
    outline:none;transition:border-color .3s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--accent)}
.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239898b0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form-group select option{background:var(--bg);color:var(--text)}
.form-group textarea{resize:vertical;min-height:100px}
.btn-submit{
    padding:16px;background:var(--gradient);color:#fff;
    border:none;border-radius:100px;font-size:1rem;font-weight:600;
    cursor:none;font-family:var(--font);
    transition:transform .3s, box-shadow .3s;
}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(139,208,64,.3)}

/* ---------- Footer ---------- */
.footer{
    border-top:1px solid var(--glass-border);
    padding:60px clamp(20px,5vw,80px) 30px;
    max-width:1400px;margin:0 auto;
}
.footer-top{display:grid;grid-template-columns:1.5fr 2fr;gap:60px;margin-bottom:40px}
.footer-logo-img{height:36px;margin-bottom:16px}
.footer-brand p{font-size:.9rem;color:var(--text-muted);line-height:1.7;max-width:320px}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-col h4{font-size:.85rem;font-weight:700;margin-bottom:16px;color:var(--text)}
.footer-col a{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:10px;transition:color .3s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:24px;border-top:1px solid var(--glass-border);
    font-size:.8rem;color:var(--text-muted);
}

/* ---------- Scroll Reveal ---------- */
.sr{opacity:0;transform:translateY(40px);transition:opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1)}
.sr.visible{opacity:1;transform:translateY(0)}
.sr-delay-1{transition-delay:.1s}
.sr-delay-2{transition-delay:.2s}
.sr-delay-3{transition-delay:.3s}
.sr-delay-4{transition-delay:.4s}
.sr-delay-5{transition-delay:.5s}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
    .hero-content{grid-template-columns:1fr;text-align:center}
    .hero-left{order:2}
    .hero-right{order:1}
    .hero-desc{margin-left:auto;margin-right:auto}
    .hero-actions{justify-content:center}
    .hero-stats{justify-content:center}
    .hero-visual{max-width:400px}

    .bento-grid{grid-template-columns:1fr 1fr}
    .bento-item.bi-large{grid-column:span 2}

    .over-ons-content{grid-template-columns:1fr}
    .over-ons-right{order:-1}

    .contact-content{grid-template-columns:1fr}
}

@media(max-width:768px){
    .nav-logo{transform:scale(1.08)}
    .nav-links{
        position:fixed;top:0;right:-100%;width:70%;height:100vh;
        flex-direction:column;justify-content:center;align-items:center;gap:28px;
        background:rgba(10,10,20,.97);backdrop-filter:blur(20px);
        transition:right .4s cubic-bezier(.16,1,.3,1);z-index:999;
    }
    .nav-links.open{right:0}
    .mobile-toggle{display:block;z-index:1001}
    .mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    .mobile-toggle.active span:nth-child(2){opacity:0}
    .mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
    .nav-cta{display:none}

    .bento-grid{grid-template-columns:1fr;grid-auto-rows:200px}
    .bento-item.bi-large{grid-column:span 1}
    .bento-item.bi-large{grid-row:span 1}
    .bento-overlay{opacity:1}

    .process-step{grid-template-columns:60px 1fr;gap:16px}
    .step-number{width:60px;height:60px;font-size:1.2rem}
    .step-duration{grid-column:2}
    .process-timeline::before{left:30px}

    .pricing-grid{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr}
    .footer-cols{grid-template-columns:1fr 1fr}
    .footer-bottom{flex-direction:column;gap:8px;text-align:center}

    .hero-stats{flex-wrap:wrap;gap:24px}
    .float-card{display:none}
}

@media(max-width:480px){
    .diensten-grid{grid-template-columns:1fr}
    .testimonials-grid{grid-template-columns:1fr}
    .footer-cols{grid-template-columns:1fr}
}

/* ============================================================
    WEBSITES PAGE — moved from websites.html
    ============================================================ */
.ws-hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:140px 24px 100px;overflow:hidden}
.ws-hero-content{position:relative;z-index:1;text-align:center;max-width:900px}
.ws-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:slideUp .7s .3s forwards}
.ws-eyebrow::before,.ws-eyebrow::after{content:'';width:32px;height:1.5px;background:var(--accent)}
.ws-hero-title{font-size:clamp(3.2rem,8vw,6.5rem);font-weight:900;line-height:1;letter-spacing:-3px;margin-bottom:28px}
.ws-hero-title .line{display:block;overflow:hidden}
.ws-hero-title .line span{display:inline-block;opacity:0;transform:translateY(110%);animation:revealLine .9s cubic-bezier(.22,1,.36,1) forwards}
.ws-hero-title .line:nth-child(1) span{animation-delay:.4s}
.ws-hero-title .line:nth-child(2) span{animation-delay:.55s}
.ws-hero-title .line:nth-child(3) span{animation-delay:.7s}
@keyframes revealLine{to{opacity:1;transform:translateY(0)}}
.ws-hero-desc{font-size:1.15rem;color:var(--text-muted);line-height:1.85;max-width:580px;margin:0 auto 40px;opacity:0;animation:slideUp .8s .9s forwards;transform:translateY(24px)}
@keyframes slideUp{to{opacity:1;transform:translateY(0)}}
.ws-hero-cta{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:1rem;text-decoration:none;opacity:0;animation:slideUp .7s 1.1s forwards;transform:translateY(20px);transition:transform .35s,box-shadow .35s}
.ws-hero-cta:hover{transform:translateY(-3px) !important;box-shadow:0 16px 48px rgba(139,208,64,.35)}
.ws-hero-cta svg{transition:transform .3s}
.ws-hero-cta:hover svg{transform:translateX(4px)}
.ws-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);font-size:.7rem;letter-spacing:3px;text-transform:uppercase;opacity:0;animation:slideUp .6s 1.6s forwards}
.ws-scroll-hint .scroll-bar{width:1px;height:48px;background:var(--glass-border);position:relative;overflow:hidden}
.ws-scroll-hint .scroll-bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--accent);animation:scrollLine 2.2s ease infinite}
.ws-marquee{padding:28px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);overflow:hidden}
.ws-marquee-track{display:flex;width:max-content;animation:marqueeScroll 40s linear infinite}
.ws-marquee-track span{font-size:clamp(.9rem,1.5vw,1.2rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.06);white-space:nowrap;padding:0 24px}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ws-services{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.ws-services .section-header{margin-bottom:64px}
.ws-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ws-service-card{position:relative;padding:44px 32px 36px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.ws-service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ws-service-card:hover{transform:translateY(-10px);border-color:rgba(139,208,64,.3);box-shadow:0 24px 64px rgba(0,0,0,.3),0 0 0 1px rgba(139,208,64,.1)}
.ws-service-card:hover::before{transform:scaleX(1)}
.ws-service-icon{width:52px;height:52px;border-radius:14px;background:rgba(139,208,64,.1);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.4rem;transition:background .4s,transform .4s}
.ws-service-card:hover .ws-service-icon{background:rgba(139,208,64,.2);transform:scale(1.1) rotate(-5deg)}
.ws-service-card h3{font-size:1.2rem;font-weight:700;margin-bottom:12px;letter-spacing:-.3px}
.ws-service-card p{font-size:.9rem;color:var(--text-muted);line-height:1.75}
.ws-service-tag{display:inline-block;margin-top:18px;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);opacity:.7}
.ws-portfolio{padding:clamp(60px,8vw,100px) 0}
.ws-portfolio .section-header{padding:0 clamp(20px,5vw,80px);margin-bottom:48px}
.ws-showcase{display:flex;gap:20px;padding:0 clamp(20px,5vw,80px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.ws-showcase::-webkit-scrollbar{display:none}
.ws-showcase-card{flex:0 0 380px;scroll-snap-align:start;border-radius:20px;overflow:hidden;border:1px solid var(--glass-border);background:var(--bg-2);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;position:relative}
.ws-showcase-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 32px 64px rgba(0,0,0,.4)}
.ws-showcase-preview{height:240px;position:relative;overflow:hidden}
.ws-showcase-preview .preview-gradient{position:absolute;inset:0;transition:opacity .4s}
.ws-showcase-card:hover .preview-gradient{opacity:.85}
.ws-showcase-tag{position:absolute;top:16px;left:16px;padding:5px 14px;border-radius:100px;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ws-showcase-info{padding:24px}
.ws-showcase-info h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.ws-showcase-info p{font-size:.85rem;color:var(--text-muted);line-height:1.6}
.ws-showcase-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.82rem;font-weight:600;color:var(--accent);transition:gap .3s}
.ws-showcase-card:hover .ws-showcase-link{gap:10px}
.ws-process{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.ws-process .section-header{margin-bottom:64px}
.ws-steps{position:relative}
.ws-steps::before{content:'';position:absolute;top:0;bottom:0;left:39px;width:2px;background:linear-gradient(to bottom,transparent,var(--glass-border) 10%,var(--glass-border) 90%,transparent)}
.ws-step{display:grid;grid-template-columns:80px 1fr;gap:32px;align-items:start;padding:36px 0;position:relative;opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.ws-step.visible{opacity:1;transform:translateX(0)}
.ws-step-num{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;background:var(--bg);border:2px solid var(--glass-border);border-radius:50%;position:relative;z-index:1;transition:border-color .5s,color .5s,box-shadow .5s}
.ws-step.visible .ws-step-num{border-color:var(--accent);color:var(--accent);box-shadow:0 0 24px rgba(139,208,64,.15)}
.ws-step-content h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;letter-spacing:-.3px}
.ws-step-content p{font-size:.92rem;color:var(--text-muted);line-height:1.8;max-width:520px}
.ws-step-badge{display:inline-block;margin-top:12px;padding:5px 16px;border-radius:100px;background:rgba(139,208,64,.08);font-size:.72rem;font-weight:600;color:var(--accent);letter-spacing:1px;text-transform:uppercase}
.ws-layouts{padding:clamp(80px,10vw,120px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.ws-layouts .section-header{margin-bottom:48px}
.ws-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.ws-layout-item{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--glass-border);background:var(--bg-2);cursor:pointer;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.ws-layout-item:hover{transform:scale(1.03);box-shadow:0 24px 56px rgba(0,0,0,.35)}
.ws-layout-thumb{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ws-layout-thumb iframe{width:320%;height:320%;border:0;display:block;pointer-events:none;transform:scale(.31);transform-origin:0 0;background:#0b100c;position:absolute;inset:0}
.ws-layout-item:hover .ws-layout-thumb{transform:scale(1.08)}
.ws-layout-overlay{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(8,12,10,.88));display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:1;transition:opacity .4s}
.ws-layout-item.has-preview .ws-layout-overlay{opacity:1}
.ws-layout-item:hover .ws-layout-overlay{opacity:1}
.ws-layout-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,10,.08),rgba(8,12,10,.2));pointer-events:none}
.ws-layout-overlay h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.ws-layout-overlay p{font-size:.8rem;color:rgba(255,255,255,.6)}
.ws-cta-banner{margin:0 clamp(20px,5vw,80px) clamp(60px,8vw,100px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.08),rgba(106,191,32,.04));border:1px solid rgba(139,208,64,.15);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.ws-cta-banner::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.1),transparent 70%);animation:blobDrift 15s ease-in-out infinite}
.ws-cta-banner h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.ws-cta-banner p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
.ws-cta-banner .ws-hero-cta{opacity:1;transform:none}
@media(max-width:1024px){.ws-service-grid{grid-template-columns:repeat(2,1fr)}.ws-showcase-card{flex:0 0 320px}}
@media(max-width:768px){.ws-hero-title{letter-spacing:-1.5px}.ws-service-grid{grid-template-columns:1fr}.ws-showcase-card{flex:0 0 85vw}.ws-layout-grid{grid-template-columns:1fr}.ws-step{grid-template-columns:60px 1fr;gap:20px}.ws-step-num{width:60px;height:60px;font-size:1.1rem}.ws-steps::before{left:29px}}

/* ============================================================
    WEBSHOPS PAGE — moved from webshops.html
    ============================================================ */
.shop-hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:140px clamp(20px,5vw,80px) 100px;overflow:hidden}
.shop-hero-left{position:relative;z-index:1}
.shop-hero-right{position:relative;z-index:1;display:flex;justify-content:center}
.shop-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeIn .7s .3s forwards}
.shop-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dotPulse 2s ease infinite}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.shop-hero-title{font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.05;letter-spacing:-2px;margin-bottom:24px}
.shop-hero-title .word{display:inline-block;opacity:0;transform:translateY(50px) rotateZ(-2deg);animation:wordPop .8s cubic-bezier(.22,1,.36,1) forwards}
.shop-hero-title .word:nth-child(1){animation-delay:.4s}.shop-hero-title .word:nth-child(2){animation-delay:.5s}.shop-hero-title .word:nth-child(3){animation-delay:.6s}.shop-hero-title .word:nth-child(4){animation-delay:.7s}.shop-hero-title .word:nth-child(5){animation-delay:.8s}.shop-hero-title .word:nth-child(6){animation-delay:.9s}
@keyframes wordPop{to{opacity:1;transform:translateY(0) rotateZ(0)}}
@keyframes fadeIn{to{opacity:1}}
.shop-hero-desc{font-size:1.1rem;color:var(--text-muted);line-height:1.85;max-width:500px;margin-bottom:36px;opacity:0;animation:slideUp .8s 1s forwards;transform:translateY(20px)}
.shop-hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:slideUp .7s 1.2s forwards;transform:translateY(16px)}
.shop-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .35s,box-shadow .35s}
.shop-btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(139,208,64,.35)}
.shop-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;border:1px solid var(--glass-border);border-radius:100px;font-weight:500;font-size:.95rem;color:var(--text-muted);text-decoration:none;transition:border-color .3s,color .3s}
.shop-btn-outline:hover{border-color:var(--accent);color:var(--text)}
.shop-mockup{width:340px;max-width:100%;background:var(--bg-2);border-radius:20px;border:1px solid var(--glass-border);overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.5);opacity:0;animation:mockupReveal 1s 1s forwards;transform:translateY(40px) rotateY(-8deg)}
@keyframes mockupReveal{to{opacity:1;transform:translateY(0) rotateY(0)}}
.shop-mockup-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:rgba(0,0,0,.3)}
.shop-mockup-bar .dot{width:10px;height:10px;border-radius:50%}
.sm-body{padding:20px;display:flex;flex-direction:column;gap:14px}
.sm-header{height:10px;width:55%;background:rgba(255,255,255,.06);border-radius:4px}
.sm-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sm-product{border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.sm-product-img{height:70px;background:var(--gradient);opacity:.2}
.sm-product-info{padding:8px}
.sm-product-info .sm-line{height:6px;border-radius:3px;background:rgba(255,255,255,.06);margin-bottom:5px}
.sm-product-info .sm-line.short{width:60%}
.sm-product-info .sm-price{height:8px;width:40%;border-radius:3px;background:rgba(139,208,64,.3);margin-top:6px}
.sm-cart-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;background:rgba(139,208,64,.08);border:1px solid rgba(139,208,64,.12)}
.sm-cart-text{height:7px;width:80px;background:rgba(255,255,255,.08);border-radius:3px}
.sm-cart-btn{height:28px;width:28px;border-radius:8px;background:var(--gradient);opacity:.6}
.shop-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);white-space:nowrap;animation:badgeFloat 5s ease-in-out infinite}
.shop-badge strong{font-size:.85rem}
.shop-badge span{font-size:.7rem;color:var(--text-muted)}
.shop-badge-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}
.sb-1{top:8%;right:-15%;animation-delay:0s}.sb-2{bottom:20%;left:-12%;animation-delay:-1.8s}.sb-3{bottom:2%;right:5%;animation-delay:-3.5s}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.shop-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}
.shop-stat{padding:40px 24px;text-align:center;border-right:1px solid var(--glass-border);transition:background .4s}
.shop-stat:last-child{border-right:none}
.shop-stat:hover{background:rgba(139,208,64,.03)}
.shop-stat-num{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:6px}
.shop-stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}
.shop-features{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.shop-features .section-header{margin-bottom:64px}
.shop-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.shop-feat-card{position:relative;padding:40px 32px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;display:flex;gap:20px;align-items:flex-start;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.shop-feat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient);transform:scaleX(0);transform-origin:center;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.shop-feat-card:hover{transform:translateY(-6px);border-color:rgba(139,208,64,.25);box-shadow:0 20px 56px rgba(0,0,0,.25)}
.shop-feat-card:hover::after{transform:scaleX(1)}
.shop-feat-num{font-size:3rem;font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.15;line-height:1;min-width:60px}
.shop-feat-content h3{font-size:1.15rem;font-weight:700;margin-bottom:8px;letter-spacing:-.2px}
.shop-feat-content p{font-size:.9rem;color:var(--text-muted);line-height:1.75}
.shop-packages{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1300px;margin:0 auto}
.shop-packages .section-header{margin-bottom:56px}
.shop-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.shop-pack{background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;padding:40px 32px;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.shop-pack:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.shop-pack.featured{border-color:var(--accent);background:linear-gradient(180deg,rgba(139,208,64,.06),transparent);box-shadow:0 0 80px rgba(139,208,64,.08)}
.shop-pack-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);padding:6px 22px;background:var(--gradient);color:#fff;font-size:.72rem;font-weight:700;border-radius:0 0 12px 12px;text-transform:uppercase;letter-spacing:1.5px}
.shop-pack-header{text-align:center;margin-bottom:32px}
.shop-pack-header h3{font-size:1.1rem;font-weight:600;color:var(--text-muted);margin-bottom:10px}
.shop-pack-price{font-size:2.8rem;font-weight:900;letter-spacing:-1px}
.shop-pack-period{font-size:.85rem;color:var(--text-muted)}
.shop-pack-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.shop-pack-features li{font-size:.88rem;color:var(--text-muted);display:flex;align-items:center;gap:10px}
.shop-pack-features li .check{color:var(--accent);font-weight:700;font-size:.9rem;min-width:18px}
.shop-pack-btn{display:block;text-align:center;padding:14px;border:1px solid var(--glass-border);border-radius:100px;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--text-muted);transition:all .3s}
.shop-pack-btn:hover{border-color:var(--accent);color:var(--accent)}
.shop-pack.featured .shop-pack-btn{background:var(--gradient);color:#fff;border-color:transparent}
.shop-pack.featured .shop-pack-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3);color:#fff;border-color:transparent}
.shop-integrations{padding:clamp(60px,6vw,80px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto;text-align:center}
.shop-integrations h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.5px;margin-bottom:16px}
.shop-integrations>p{font-size:.95rem;color:var(--text-muted);margin-bottom:40px}
.shop-logo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.shop-logo-item{padding:20px 32px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:14px;font-size:.9rem;font-weight:700;color:var(--text-muted);letter-spacing:.5px;transition:border-color .3s,color .3s,transform .3s}
.shop-logo-item:hover{border-color:rgba(139,208,64,.3);color:var(--text);transform:translateY(-4px)}
.shop-testimonials{padding:clamp(80px,10vw,120px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.shop-testimonials .section-header{margin-bottom:48px}
.shop-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.shop-testi{padding:32px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:20px;display:flex;flex-direction:column;gap:16px;transition:transform .4s,box-shadow .4s}
.shop-testi:hover{transform:translateY(-6px);box-shadow:0 20px 56px rgba(0,0,0,.2)}
.shop-testi-stars{color:#fbbf24;font-size:1rem;letter-spacing:2px}
.shop-testi blockquote{font-size:1rem;line-height:1.8;color:var(--text);font-style:normal;margin:0}
.shop-testi-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.shop-testi-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}
.shop-testi-author strong{font-size:.88rem;display:block}
.shop-testi-author span{font-size:.75rem;color:var(--text-muted)}
.shop-cta{margin:0 clamp(20px,5vw,80px) clamp(60px,8vw,100px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.07),rgba(106,191,32,.03));border:1px solid rgba(139,208,64,.12);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.shop-cta::before{content:'';position:absolute;bottom:-40%;left:-15%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.08),transparent 70%);animation:orbFloat 20s ease-in-out infinite}
.shop-cta h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.shop-cta>p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
@media(max-width:1100px){.shop-hero{grid-template-columns:1fr;text-align:center;padding-bottom:60px}.shop-hero-desc{margin-left:auto;margin-right:auto}.shop-hero-actions{justify-content:center}.shop-hero-right{margin-top:40px}.sb-1,.sb-2,.sb-3{display:none}.shop-stats{grid-template-columns:repeat(2,1fr)}.shop-stat:nth-child(2){border-right:none}}
@media(max-width:768px){.shop-feat-grid{grid-template-columns:1fr}.shop-pack-grid{grid-template-columns:1fr}.shop-stats{grid-template-columns:1fr}.shop-stat{border-right:none;border-bottom:1px solid var(--glass-border)}.shop-stat:last-child{border-bottom:none}.shop-mockup{width:280px}}

/* ============================================================
    OVER PAGE — moved from Over.html
    ============================================================ */
.over-hero{min-height:90vh;position:relative;display:flex;align-items:center;justify-content:center;padding:160px 24px 120px;overflow:hidden}
.over-hero-content{position:relative;z-index:1;text-align:center;max-width:800px}
.over-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:fadeSlide .7s .3s forwards;transform:translateY(12px)}
.over-eyebrow::before,.over-eyebrow::after{content:'';width:28px;height:1.5px;background:var(--accent)}
@keyframes fadeSlide{to{opacity:1;transform:translateY(0)}}
.over-hero-title{font-size:clamp(3rem,7vw,5.5rem);font-weight:900;line-height:1.05;letter-spacing:-3px;margin-bottom:24px}
.over-hero-title .oh-line{display:block;overflow:hidden}
.over-hero-title .oh-line span{display:inline-block;opacity:0;transform:translateY(100%);animation:lineUp .9s cubic-bezier(.22,1,.36,1) forwards}
.over-hero-title .oh-line:nth-child(1) span{animation-delay:.4s}
.over-hero-title .oh-line:nth-child(2) span{animation-delay:.55s}
@keyframes lineUp{to{opacity:1;transform:translateY(0)}}
.over-hero-desc{font-size:1.15rem;color:var(--text-muted);line-height:1.85;max-width:560px;margin:0 auto;opacity:0;animation:fadeSlide .8s .85s forwards;transform:translateY(20px)}
.over-scroll-cue{position:absolute;bottom:40px;left:50%;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeSlide .6s 1.4s forwards;transform:translateX(-50%) translateY(10px)}
.over-scroll-cue .cue-line{width:1px;height:44px;background:var(--glass-border);position:relative;overflow:hidden}
.over-scroll-cue .cue-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--accent);animation:scrollLine 2.2s ease infinite}
.over-scroll-cue span{font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}
.over-marquee{padding:24px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);overflow:hidden}
.over-marquee-track{display:flex;width:max-content;animation:marqueeRun 45s linear infinite}
.over-marquee-track span{font-size:clamp(.85rem,1.5vw,1.1rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.05);white-space:nowrap;padding:0 28px}
@keyframes marqueeRun{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.over-story{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1100px;margin:0 auto}
.over-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.over-story-visual{position:relative}
.over-story-card{padding:48px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:24px;text-align:center;position:relative;overflow:hidden;transition:transform .5s,box-shadow .5s}
.over-story-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,0,0,.3)}
.over-story-card img{width:140px;margin:0 auto 24px;opacity:.85}
.over-story-card h3{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.over-story-card>p{font-size:.85rem;color:var(--text-muted)}
.over-story-card .card-stats{display:flex;justify-content:center;gap:32px;margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-border)}
.card-stats div{display:flex;flex-direction:column;align-items:center}
.card-stats strong{font-size:1.5rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.card-stats span{font-size:.72rem;color:var(--text-muted);letter-spacing:.5px}
.over-story-visual::before{content:'';position:absolute;top:-20px;right:-20px;width:100px;height:100px;background-image:radial-gradient(rgba(139,208,64,.2) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.4;z-index:-1}
.over-story-text h2{font-size:clamp(2rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-1px;margin-bottom:20px;line-height:1.15}
.over-story-text p{font-size:1rem;color:var(--text-muted);line-height:1.85;margin-bottom:18px}
.over-story-text p:last-of-type{margin-bottom:0}
.over-values{padding:clamp(60px,8vw,100px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.over-values .section-header{margin-bottom:56px}
.over-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.over-value-card{padding:36px 28px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;text-align:center;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.over-value-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--gradient);border-radius:0 0 4px 4px;transition:width .5s cubic-bezier(.16,1,.3,1)}
.over-value-card:hover{transform:translateY(-8px);border-color:rgba(139,208,64,.2);box-shadow:0 20px 56px rgba(0,0,0,.25)}
.over-value-card:hover::before{width:100%}
.over-value-icon{width:56px;height:56px;border-radius:16px;background:rgba(139,208,64,.08);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 20px;transition:background .4s,transform .4s}
.over-value-card:hover .over-value-icon{background:rgba(139,208,64,.15);transform:scale(1.1) rotate(-5deg)}
.over-value-card h3{font-size:1.05rem;font-weight:700;margin-bottom:10px;letter-spacing:-.2px}
.over-value-card p{font-size:.85rem;color:var(--text-muted);line-height:1.7}
.over-timeline{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1000px;margin:0 auto}
.over-timeline .section-header{margin-bottom:56px}
.timeline-track{position:relative}
.timeline-track::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,var(--glass-border) 10%,var(--glass-border) 90%,transparent)}
.tl-item{display:flex;align-items:flex-start;gap:0;position:relative;margin-bottom:48px;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.tl-item.visible{opacity:1;transform:translateY(0)}
.tl-item:last-child{margin-bottom:0}
.tl-item:nth-child(odd){flex-direction:row;text-align:right}
.tl-item:nth-child(even){flex-direction:row-reverse;text-align:left}
.tl-content{flex:1;padding:0 36px}
.tl-content h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.tl-content p{font-size:.88rem;color:var(--text-muted);line-height:1.7}
.tl-dot{position:relative;z-index:1;width:18px;height:18px;min-width:18px;border-radius:50%;background:var(--bg);border:3px solid var(--glass-border);margin-top:4px;transition:border-color .5s,box-shadow .5s}
.tl-item.visible .tl-dot{border-color:var(--accent);box-shadow:0 0 16px rgba(139,208,64,.25)}
.tl-year{display:inline-block;padding:4px 14px;border-radius:100px;background:rgba(139,208,64,.08);font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:1.5px;margin-bottom:8px}
.tl-content-spacer{flex:1}
.over-team{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.over-team .section-header{margin-bottom:56px}
.over-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.over-team-card{padding:40px 28px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;text-align:center;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.over-team-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.over-team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;position:relative}
.over-team-avatar::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(139,208,64,.2);animation:ringPulse 3s ease infinite}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:0}}
.over-team-card h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.over-team-role{font-size:.8rem;color:var(--accent);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;display:block}
.over-team-card p{font-size:.88rem;color:var(--text-muted);line-height:1.7}
.over-usp-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}
.over-usp{padding:40px 28px;text-align:center;border-right:1px solid var(--glass-border);transition:background .4s}
.over-usp:last-child{border-right:none}
.over-usp:hover{background:rgba(139,208,64,.025)}
.over-usp-icon{font-size:1.5rem;margin-bottom:12px;display:block}
.over-usp h4{font-size:.95rem;font-weight:700;margin-bottom:6px}
.over-usp p{font-size:.82rem;color:var(--text-muted);line-height:1.6}
.over-cta{margin:clamp(60px,8vw,100px) clamp(20px,5vw,80px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.07),rgba(106,191,32,.03));border:1px solid rgba(139,208,64,.12);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.over-cta::before{content:'';position:absolute;top:-40%;right:-20%;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.08),transparent 70%);animation:ohFloat 18s ease-in-out infinite}
.over-cta h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.over-cta>p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
.over-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:1rem;text-decoration:none;position:relative;transition:transform .35s,box-shadow .35s}
.over-cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(139,208,64,.35)}
@media(max-width:1024px){.over-values-grid{grid-template-columns:repeat(2,1fr)}.over-team-grid{grid-template-columns:repeat(2,1fr)}.over-usp-strip{grid-template-columns:repeat(2,1fr)}.over-usp:nth-child(2){border-right:none}}
@media(max-width:768px){.over-story-grid{grid-template-columns:1fr;gap:40px}.over-story-visual{order:-1}.over-values-grid{grid-template-columns:1fr}.over-team-grid{grid-template-columns:1fr}.over-usp-strip{grid-template-columns:1fr}.over-usp{border-right:none;border-bottom:1px solid var(--glass-border)}.over-usp:last-child{border-bottom:none}.timeline-track::before{left:9px}.tl-item,.tl-item:nth-child(odd),.tl-item:nth-child(even){flex-direction:row;text-align:left}.tl-content-spacer{display:none}.tl-content{padding:0 0 0 24px}.tl-dot{min-width:18px}}

/* ============================================================
   WEBSHOP TEMPLATE SET (UNIQUE)
   ============================================================ */
.ws-page{
    --ws-text:#111111;
    --ws-muted:rgba(17,17,17,.65);
    --ws-bg:#f5f3ee;
    --ws-bg-2:#ece7de;
    --ws-accent:#111111;
    --ws-line:rgba(17,17,17,.12);
    --ws-font:"Space Grotesk","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 12% 12%,rgba(255,255,255,.55),transparent 55%);
    --ws-grid:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);
    margin:0;
    min-height:100vh;
    font-family:var(--ws-font);
    color:var(--ws-text);
    background:linear-gradient(135deg,var(--ws-bg),var(--ws-bg-2));
    position:relative;
    overflow-x:hidden;
    cursor:auto;
}
.ws-page *,.ws-page *::before,.ws-page *::after{box-sizing:border-box}
.ws-page::before,.ws-page::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}
.ws-page::before{background:var(--ws-glow);filter:blur(18px);opacity:.9}
.ws-page::after{background:var(--ws-grid);background-size:90px 90px;opacity:.35}
.ws-page a{color:inherit;text-decoration:none}
.ws-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:24px 0 90px;position:relative;z-index:1}
.ws-section{padding:clamp(48px,8vw,96px) 0}
.ws-btn,.ws-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-weight:700;letter-spacing:.04em;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.ws-btn:hover,.ws-btn-secondary:hover{transform:translateY(-2px)}

/* ---------- Index Overview ---------- */
.ws-index{
    --ws-text:#f4f3ef;
    --ws-muted:rgba(244,243,239,.7);
    --ws-bg:#0d0f14;
    --ws-bg-2:#171b22;
    --ws-accent:#7bd0ff;
    --ws-line:rgba(255,255,255,.14);
    --ws-font:"Space Grotesk","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 20% 10%,rgba(123,208,255,.35),transparent 55%);
    --ws-grid:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
}
.index-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.index-brand{font-weight:800;letter-spacing:.18em;text-transform:uppercase;display:flex;flex-direction:column}
.index-brand span{font-size:.72rem;color:var(--ws-muted);letter-spacing:.25em;margin-top:6px}
.index-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.index-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:48px 0}
.index-title{margin:0 0 12px;font-size:clamp(2.6rem,4.8vw,4.6rem);letter-spacing:-.03em}
.index-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.index-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.index-summary{display:grid;gap:16px}
.index-card{border:1px solid var(--ws-line);border-radius:24px;padding:18px;background:rgba(255,255,255,.06)}
.index-card h3{margin:0 0 8px;font-size:1.05rem}
.index-card p{margin:0;color:var(--ws-muted);line-height:1.7}
.index-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.index-template{display:grid;grid-template-columns:140px 1fr;gap:16px;border:1px solid var(--ws-line);border-radius:24px;padding:16px;background:rgba(255,255,255,.06)}
.index-preview{min-height:120px;border-radius:18px;background:linear-gradient(140deg,rgba(255,255,255,.18),rgba(255,255,255,.02))}
.index-template h4{margin:0 0 6px;font-size:1rem}
.index-template p{margin:0;color:var(--ws-muted);line-height:1.6}
.index-band{margin-top:32px;padding:24px;border:1px solid var(--ws-line);border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.06)}
.index-band h3{margin:0 0 6px;font-size:1.3rem}
.index-band p{margin:0;color:var(--ws-muted);line-height:1.7}
.index-footer{margin-top:36px;padding-top:18px;border-top:1px solid var(--ws-line);font-size:.85rem;color:var(--ws-muted)}
.ws-index .ws-btn{background:var(--ws-accent);color:#0d0f14}
.ws-index .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:rgba(255,255,255,.02)}

/* ---------- Template 01: Atelier Noir ---------- */
.ws01{
    --ws-text:#f6f1ea;
    --ws-muted:rgba(246,241,234,.7);
    --ws-bg:#0b0a0c;
    --ws-bg-2:#141216;
    --ws-accent:#d7b46c;
    --ws-line:rgba(255,255,255,.12);
    --ws-font:"Playfair Display","Georgia",serif;
    --ws-glow:radial-gradient(circle at 20% 20%,rgba(215,180,108,.35),transparent 55%);
    --ws-grid:linear-gradient(135deg,rgba(255,255,255,.06) 1px,transparent 1px);
}
.noir-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.noir-logo{display:flex;flex-direction:column;letter-spacing:.25em;text-transform:uppercase;font-size:.95rem}
.noir-logo span{font-size:.7rem;color:var(--ws-muted);letter-spacing:.3em;margin-top:6px}
.noir-nav{display:flex;gap:20px;font-family:"Sora","Segoe UI",system-ui,sans-serif;font-size:.85rem;color:var(--ws-muted);text-transform:uppercase;letter-spacing:.18em}
.noir-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:50px 0}
.noir-title{margin:0 0 14px;font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:.95;letter-spacing:-.01em}
.noir-sub{margin:0;color:var(--ws-muted);line-height:1.8;max-width:56ch}
.ws-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.noir-lookbook{display:grid;gap:16px}
.noir-look-card{border:1px solid var(--ws-line);border-radius:24px;padding:18px;background:rgba(255,255,255,.05)}
.noir-look-card h3{margin:0 0 8px;font-size:1.1rem}
.noir-look-card p{margin:0;color:var(--ws-muted);line-height:1.6}
.noir-collection-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:24px}
.noir-collection-main{border:1px solid var(--ws-line);border-radius:28px;padding:24px;min-height:260px;background:linear-gradient(140deg,rgba(215,180,108,.22),rgba(0,0,0,.2))}
.noir-collection-main h3{margin:0 0 8px;font-size:1.3rem}
.noir-collection-main p{margin:0;color:var(--ws-muted);line-height:1.6}
.noir-collection-stack{display:grid;gap:16px}
.noir-product{border:1px solid var(--ws-line);border-radius:22px;padding:16px;background:rgba(255,255,255,.04)}
.noir-product h4{margin:0 0 6px;font-size:1rem}
.noir-product span{color:var(--ws-accent);font-weight:700;font-size:.9rem}
.noir-drops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.noir-drop{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.noir-drop h4{margin:0 0 6px;font-size:.95rem}
.noir-drop p{margin:0;color:var(--ws-muted);line-height:1.6}
.ws01 .ws-btn{background:var(--ws-accent);color:#1a140c;box-shadow:0 14px 30px rgba(0,0,0,.3)}
.ws01 .ws-btn-secondary{border-color:var(--ws-accent);color:var(--ws-accent);background:transparent}

/* ---------- Template 02: Nova Grid ---------- */
.ws02{
    --ws-text:#e9f6ff;
    --ws-muted:rgba(233,246,255,.7);
    --ws-bg:#0b1320;
    --ws-bg-2:#12263a;
    --ws-accent:#56d0ff;
    --ws-line:rgba(86,208,255,.22);
    --ws-font:"Space Grotesk","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 20%,rgba(86,208,255,.35),transparent 60%);
    --ws-grid:linear-gradient(rgba(86,208,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(86,208,255,.08) 1px,transparent 1px);
}
.nova-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.nova-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.nova-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.nova-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:center;padding:48px 0}
.nova-title{margin:0 0 14px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.nova-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.nova-panel{border:1px solid var(--ws-line);border-radius:26px;padding:22px;background:rgba(6,12,20,.6)}
.nova-panel h3{margin:0 0 10px;font-size:1.1rem}
.nova-spec-table{display:grid;gap:10px}
.nova-spec-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--ws-line);color:var(--ws-muted);font-size:.9rem}
.nova-spec-row strong{color:var(--ws-text);font-weight:700}
.nova-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.nova-data-card{border:1px solid var(--ws-line);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
.nova-data-card h4{margin:0 0 6px;font-size:.95rem}
.nova-data-card span{color:var(--ws-muted);font-size:.85rem}
.nova-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.nova-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.nova-card h4{margin:0 0 8px;font-size:1rem}
.nova-card p{margin:0;color:var(--ws-muted);line-height:1.6}
.ws02 .ws-btn{background:var(--ws-accent);color:#06121b}
.ws02 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 03: Maison Forma ---------- */
.ws03{
    --ws-text:#1b1813;
    --ws-muted:rgba(27,24,19,.68);
    --ws-bg:#f2ede4;
    --ws-bg-2:#e6dccb;
    --ws-accent:#7f8656;
    --ws-line:rgba(27,24,19,.14);
    --ws-font:"Cormorant Garamond","Georgia",serif;
    --ws-glow:radial-gradient(circle at 18% 18%,rgba(127,134,86,.25),transparent 60%);
    --ws-grid:radial-gradient(rgba(27,24,19,.08) 1px,transparent 1px);
}
.forma-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.forma-logo{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase}
.forma-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.forma-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:50px 0}
.forma-title{margin:0 0 12px;font-size:clamp(2.6rem,4.6vw,4.8rem)}
.forma-lead{margin:0;color:var(--ws-muted);line-height:1.8;font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif}
.forma-hero-card{border:1px solid var(--ws-line);border-radius:28px;padding:24px;min-height:300px;background:linear-gradient(140deg,rgba(255,255,255,.7),rgba(127,134,86,.12))}
.forma-room-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:24px}
.forma-room{border:1px solid var(--ws-line);border-radius:24px;padding:18px;min-height:180px;background:rgba(255,255,255,.6)}
.forma-room.large{min-height:320px;background:linear-gradient(140deg,rgba(255,255,255,.8),rgba(127,134,86,.15))}
.forma-swatch-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.forma-swatch{width:44px;height:44px;border-radius:12px;border:1px solid var(--ws-line)}
.forma-swatch.a{background:#f1e7da}
.forma-swatch.b{background:#ddcfba}
.forma-swatch.c{background:#c5b49e}
.forma-swatch.d{background:#a69078}
.forma-swatch.e{background:#7f6a54}
.ws03 .ws-btn{background:var(--ws-accent);color:#f7f1e8}
.ws03 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 04: Saffron Table ---------- */
.ws04{
    --ws-text:#fff6f0;
    --ws-muted:rgba(255,246,240,.72);
    --ws-bg:#130d0c;
    --ws-bg-2:#2a1714;
    --ws-accent:#ff8b6b;
    --ws-line:rgba(255,255,255,.16);
    --ws-font:"Fraunces","Georgia",serif;
    --ws-glow:radial-gradient(circle at 15% 20%,rgba(255,139,107,.3),transparent 60%);
    --ws-grid:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
}
.saffron-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.saffron-logo{letter-spacing:.2em;text-transform:uppercase;font-size:.95rem}
.saffron-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.saffron-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:50px 0}
.saffron-title{margin:0 0 12px;font-size:clamp(2.6rem,4.6vw,4.8rem)}
.saffron-lead{margin:0;color:var(--ws-muted);line-height:1.8;font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif}
.saffron-menu{border:1px solid var(--ws-line);border-radius:26px;padding:22px;background:rgba(255,255,255,.06);display:grid;gap:12px}
.saffron-menu h3{margin:0 0 6px;font-size:1.1rem}
.saffron-menu-item{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--ws-muted)}
.saffron-taste{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.saffron-tag{padding:8px 12px;border-radius:999px;border:1px solid var(--ws-line);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ws-muted)}
.saffron-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.saffron-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.05)}
.ws04 .ws-btn{background:var(--ws-accent);color:#2a1714}
.ws04 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 05: Northline ---------- */
.ws05{
    --ws-text:#eef7f0;
    --ws-muted:rgba(238,247,240,.72);
    --ws-bg:#0a110d;
    --ws-bg-2:#17261d;
    --ws-accent:#8ee38a;
    --ws-line:rgba(142,227,138,.3);
    --ws-font:"Barlow Semi Condensed","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 20%,rgba(142,227,138,.3),transparent 60%);
    --ws-grid:linear-gradient(rgba(142,227,138,.1) 1px,transparent 1px);
}
.northline-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.northline-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.northline-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.northline-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:48px 0}
.northline-title{margin:0 0 12px;font-size:clamp(2.5rem,4.8vw,4.6rem)}
.northline-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.northline-meter{border:1px solid var(--ws-line);border-radius:24px;padding:20px;background:rgba(255,255,255,.05)}
.northline-meter h3{margin:0 0 10px;font-size:1.05rem}
.northline-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:10px}
.northline-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--ws-accent),#c6ffc2)}
.northline-bar-88{width:88%}
.northline-bar-72{width:72%}
.northline-bar-64{width:64%}
.northline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.northline-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.northline-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.northline-check{padding:12px;border-radius:16px;border:1px solid var(--ws-line);font-size:.85rem;color:var(--ws-muted);background:rgba(255,255,255,.04)}
.ws05 .ws-btn{background:var(--ws-accent);color:#0a110d}
.ws05 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 06: Velour Skin ---------- */
.ws06{
    --ws-text:#fff3f7;
    --ws-muted:rgba(255,243,247,.72);
    --ws-bg:#140f12;
    --ws-bg-2:#26181f;
    --ws-accent:#ff9db7;
    --ws-line:rgba(255,157,183,.28);
    --ws-font:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 25% 15%,rgba(255,157,183,.28),transparent 60%);
    --ws-grid:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
}
.velour-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.velour-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.velour-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.velour-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:50px 0}
.velour-title{margin:0 0 12px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.velour-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.velour-steps{border:1px solid var(--ws-line);border-radius:26px;padding:20px;background:rgba(255,255,255,.05);display:grid;gap:14px}
.velour-step{border:1px solid var(--ws-line);border-radius:18px;padding:14px;background:rgba(255,255,255,.04)}
.velour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.velour-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.velour-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.velour-stat{border:1px solid var(--ws-line);border-radius:16px;padding:12px;background:rgba(255,255,255,.04);text-align:center}
.velour-stat strong{display:block;font-size:1.4rem}
.velour-stat span{font-size:.8rem;color:var(--ws-muted)}
.ws06 .ws-btn{background:var(--ws-accent);color:#2a141d}
.ws06 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 07: Terra Trail ---------- */
.ws07{
    --ws-text:#f1fbf4;
    --ws-muted:rgba(241,251,244,.72);
    --ws-bg:#0b1610;
    --ws-bg-2:#162820;
    --ws-accent:#78d39b;
    --ws-line:rgba(120,211,155,.28);
    --ws-font:"Rubik","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 70% 25%,rgba(120,211,155,.28),transparent 60%);
    --ws-grid:linear-gradient(rgba(120,211,155,.08) 1px,transparent 1px);
}
.terra-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.terra-logo{letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.terra-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.terra-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:48px 0}
.terra-filters{border:1px solid var(--ws-line);border-radius:22px;padding:18px;background:rgba(255,255,255,.04);display:grid;gap:12px}
.terra-filter{padding:10px 12px;border-radius:14px;border:1px solid var(--ws-line);font-size:.85rem;color:var(--ws-muted)}
.terra-main h1{margin:0 0 12px;font-size:clamp(2.4rem,4.4vw,4.2rem)}
.terra-main p{margin:0;color:var(--ws-muted);line-height:1.7}
.terra-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.terra-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.terra-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.terra-step{border:1px solid var(--ws-line);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
.ws07 .ws-btn{background:var(--ws-accent);color:#0b1610}
.ws07 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 08: Aureline ---------- */
.ws08{
    --ws-text:#f4f4f1;
    --ws-muted:rgba(244,244,241,.7);
    --ws-bg:#121214;
    --ws-bg-2:#1c1d22;
    --ws-accent:#d8d3c4;
    --ws-line:rgba(216,211,196,.22);
    --ws-font:"Cormorant Garamond","Georgia",serif;
    --ws-glow:radial-gradient(circle at 18% 18%,rgba(216,211,196,.25),transparent 60%);
    --ws-grid:linear-gradient(rgba(216,211,196,.12) 1px,transparent 1px);
}
.aureline-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.aureline-logo{letter-spacing:.25em;text-transform:uppercase;font-size:.95rem}
.aureline-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.aureline-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:50px 0}
.aureline-title{margin:0 0 12px;font-size:clamp(2.5rem,4.6vw,4.8rem)}
.aureline-lead{margin:0;color:var(--ws-muted);line-height:1.7;font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif}
.aureline-gallery{display:grid;gap:14px}
.aureline-piece{border:1px solid var(--ws-line);border-radius:22px;padding:16px;background:rgba(255,255,255,.04)}
.aureline-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.aureline-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.aureline-process{position:relative;margin-top:24px;padding-left:22px;display:grid;gap:16px}
.aureline-process::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--ws-line)}
.aureline-step{border:1px solid var(--ws-line);border-radius:18px;padding:14px;background:rgba(255,255,255,.04)}
.ws08 .ws-btn{background:var(--ws-accent);color:#1b1b1f}
.ws08 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 09: Mini Bloom ---------- */
.ws09{
    --ws-text:#181312;
    --ws-muted:rgba(24,19,18,.68);
    --ws-bg:#f7f1ee;
    --ws-bg-2:#efe6df;
    --ws-accent:#f38f7a;
    --ws-line:rgba(24,19,18,.12);
    --ws-font:"Nunito","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 15%,rgba(243,143,122,.25),transparent 60%);
    --ws-grid:radial-gradient(rgba(24,19,18,.08) 1px,transparent 1px);
}
.bloom-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.bloom-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.bloom-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.bloom-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:50px 0}
.bloom-title{margin:0 0 12px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.bloom-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.bloom-bubbles{display:grid;gap:12px}
.bloom-bubble{border:1px solid var(--ws-line);border-radius:24px;padding:16px;background:rgba(255,255,255,.8)}
.bloom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.bloom-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.7)}
.bloom-gift{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.bloom-step{border:1px solid var(--ws-line);border-radius:18px;padding:14px;background:rgba(255,255,255,.7)}
.bloom-age{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.bloom-age span{padding:8px 12px;border-radius:999px;border:1px solid var(--ws-line);font-size:.8rem;color:var(--ws-muted);background:rgba(255,255,255,.7)}
.ws09 .ws-btn{background:var(--ws-accent);color:#fff}
.ws09 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 10: Mono Supply ---------- */
.ws10{
    --ws-text:#111111;
    --ws-muted:rgba(17,17,17,.65);
    --ws-bg:#f8f8f6;
    --ws-bg-2:#e6e5e0;
    --ws-accent:#111111;
    --ws-line:rgba(17,17,17,.14);
    --ws-font:"IBM Plex Mono","Consolas",monospace;
    --ws-glow:radial-gradient(circle at 20% 20%,rgba(17,17,17,.08),transparent 60%);
    --ws-grid:linear-gradient(rgba(17,17,17,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.08) 1px,transparent 1px);
}
.mono-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.mono-logo{letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.mono-nav{display:flex;gap:18px;font-size:.85rem;color:var(--ws-muted)}
.mono-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:48px 0}
.mono-title{margin:0 0 12px;font-size:clamp(2.3rem,4.4vw,4.1rem)}
.mono-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.mono-table{border:1px solid var(--ws-line);border-radius:0;overflow:hidden;background:#fff}
.mono-row{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ws-line);font-size:.85rem}
.mono-row strong{font-weight:700}
.mono-row:last-child{border-bottom:none}
.mono-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.mono-card{border:1px solid var(--ws-line);border-radius:0;padding:16px;background:#fff}
.mono-card h4{margin:0 0 6px;font-size:.95rem}
.mono-card p{margin:0;color:var(--ws-muted);line-height:1.6}
.ws10 .ws-btn{background:var(--ws-accent);color:#ffffff}
.ws10 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

@media(max-width:1080px){
    .index-hero,.noir-hero,.nova-hero,.forma-hero,.saffron-hero,.northline-hero,.velour-hero,.aureline-hero,.bloom-hero,.mono-hero{grid-template-columns:1fr}
    .terra-layout{grid-template-columns:1fr}
    .noir-collection-grid,.forma-room-grid{grid-template-columns:1fr}
    .northline-checklist,.velour-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .terra-catalog,.nova-catalog,.saffron-grid,.northline-grid,.velour-grid,.aureline-collection,.bloom-grid,.bloom-gift,.mono-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .index-template-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
    .ws-shell{width:min(100% - 20px,100%)}
    .index-header,.noir-header,.nova-header,.forma-header,.saffron-header,.northline-header,.velour-header,.terra-header,.aureline-header,.bloom-header,.mono-header{flex-direction:column;align-items:flex-start;gap:14px}
    .index-nav,.noir-nav,.nova-nav,.forma-nav,.saffron-nav,.northline-nav,.velour-nav,.terra-nav,.aureline-nav,.bloom-nav,.mono-nav{flex-wrap:wrap}
    .index-template{grid-template-columns:1fr}
    .index-band{flex-direction:column;align-items:flex-start}
    .noir-drops,.northline-checklist,.velour-stats,.terra-route{grid-template-columns:1fr}
    .terra-catalog,.nova-catalog,.saffron-grid,.northline-grid,.velour-grid,.aureline-collection,.bloom-grid,.bloom-gift,.mono-grid{grid-template-columns:1fr}
    .nova-data{grid-template-columns:1fr}
}

/* ============================================================
   WEBSHOP TEMPLATE SET (11-20)
   ============================================================ */
/* ---------- Template 11: Harbor Market ---------- */
.ws11{
    --ws-text:#f5f1ea;
    --ws-muted:rgba(245,241,234,.72);
    --ws-bg:#0b1116;
    --ws-bg-2:#17222c;
    --ws-accent:#7ed0c6;
    --ws-line:rgba(126,208,198,.28);
    --ws-font:"Manrope","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 12% 18%,rgba(126,208,198,.28),transparent 60%);
    --ws-grid:linear-gradient(rgba(126,208,198,.08) 1px,transparent 1px);
}
.harbor-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:32px 0}
.harbor-sidebar{border:1px solid var(--ws-line);border-radius:24px;padding:18px;background:rgba(255,255,255,.04);display:grid;gap:16px}
.harbor-brand{font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.harbor-nav{display:grid;gap:10px;font-size:.85rem;color:var(--ws-muted)}
.harbor-meta{display:grid;gap:8px;font-size:.8rem;color:var(--ws-muted)}
.harbor-hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.harbor-title{margin:0 0 10px;font-size:clamp(2.4rem,4.6vw,4.6rem)}
.harbor-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.harbor-card{border:1px solid var(--ws-line);border-radius:24px;padding:20px;background:rgba(255,255,255,.05)}
.harbor-card h3{margin:0 0 6px;font-size:1.05rem}
.harbor-card p{margin:0;color:var(--ws-muted);line-height:1.6}
.harbor-list{display:grid;gap:14px;margin-top:24px}
.harbor-row{display:grid;grid-template-columns:1.4fr .8fr .6fr;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--ws-line);background:rgba(255,255,255,.04);font-size:.9rem;color:var(--ws-muted)}
.harbor-row strong{color:var(--ws-text)}
.ws11 .ws-btn{background:var(--ws-accent);color:#0b1116}
.ws11 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 12: Studio Pulse ---------- */
.ws12{
    --ws-text:#111111;
    --ws-muted:rgba(17,17,17,.66);
    --ws-bg:#f7f3ef;
    --ws-bg-2:#efe7de;
    --ws-accent:#ff7a50;
    --ws-line:rgba(17,17,17,.12);
    --ws-font:"Bebas Neue","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 12%,rgba(255,122,80,.25),transparent 60%);
    --ws-grid:linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px);
}
.pulse-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.pulse-logo{letter-spacing:.3em;text-transform:uppercase;font-size:1.2rem}
.pulse-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted);font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif}
.pulse-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:50px 0}
.pulse-title{margin:0 0 8px;font-size:clamp(2.6rem,5vw,5rem);letter-spacing:.04em}
.pulse-lead{margin:0;color:var(--ws-muted);line-height:1.7;font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif}
.pulse-stack{border:1px solid var(--ws-line);border-radius:28px;padding:22px;background:#fff;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.08)}
.pulse-stack::before{content:"";position:absolute;inset:12px;border:1px dashed rgba(0,0,0,.12);border-radius:22px}
.pulse-number{font-size:5rem;letter-spacing:.08em;color:var(--ws-accent);margin:0}
.pulse-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif}
.pulse-panel{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:#fff}
.ws12 .ws-btn{background:var(--ws-accent);color:#fff}
.ws12 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 13: Arcade Supply ---------- */
.ws13{
    --ws-text:#f5f5fb;
    --ws-muted:rgba(245,245,251,.72);
    --ws-bg:#14121a;
    --ws-bg-2:#251f2c;
    --ws-accent:#8a7dff;
    --ws-line:rgba(138,125,255,.28);
    --ws-font:"Syne","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 20% 15%,rgba(138,125,255,.3),transparent 60%);
    --ws-grid:radial-gradient(rgba(245,245,251,.08) 1px,transparent 1px);
}
.arcade-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.arcade-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.arcade-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.arcade-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:48px 0}
.arcade-title{margin:0 0 12px;font-size:clamp(2.4rem,4.6vw,4.5rem)}
.arcade-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.arcade-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.arcade-card{min-width:220px;border:1px solid var(--ws-line);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
.arcade-card h4{margin:0 0 6px;font-size:1rem}
.arcade-card p{margin:0;color:var(--ws-muted);line-height:1.6}
.arcade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.arcade-tile{border:1px solid var(--ws-line);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
.ws13 .ws-btn{background:var(--ws-accent);color:#16121a}
.ws13 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 14: Mosaic Atelier ---------- */
.ws14{
    --ws-text:#f8f5f0;
    --ws-muted:rgba(248,245,240,.72);
    --ws-bg:#1a1412;
    --ws-bg-2:#2a1f1b;
    --ws-accent:#e2b27a;
    --ws-line:rgba(226,178,122,.26);
    --ws-font:"Italiana","Georgia",serif;
    --ws-glow:radial-gradient(circle at 18% 20%,rgba(226,178,122,.28),transparent 60%);
    --ws-grid:linear-gradient(rgba(248,245,240,.06) 1px,transparent 1px);
}
.mosaic-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.mosaic-logo{letter-spacing:.24em;text-transform:uppercase;font-size:1rem}
.mosaic-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.mosaic-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:48px 0}
.mosaic-title{margin:0 0 10px;font-size:clamp(2.5rem,4.8vw,4.8rem)}
.mosaic-lead{margin:0;color:var(--ws-muted);line-height:1.7;font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif}
.mosaic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"hero hero side" "tile1 tile2 side";gap:16px;margin-top:24px}
.mosaic-hero-tile{grid-area:hero;border:1px solid var(--ws-line);border-radius:26px;padding:22px;background:rgba(255,255,255,.05)}
.mosaic-side{grid-area:side;border:1px solid var(--ws-line);border-radius:26px;padding:22px;background:rgba(255,255,255,.03)}
.mosaic-tile{border:1px solid var(--ws-line);border-radius:22px;padding:18px;background:rgba(255,255,255,.04)}
.mosaic-strip{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.mosaic-pill{padding:8px 12px;border-radius:999px;border:1px solid var(--ws-line);font-size:.8rem;color:var(--ws-muted)}
.ws14 .ws-btn{background:var(--ws-accent);color:#1a1412}
.ws14 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 15: Ledger Co ---------- */
.ws15{
    --ws-text:#f4f4f4;
    --ws-muted:rgba(244,244,244,.68);
    --ws-bg:#0f1114;
    --ws-bg-2:#1a1e24;
    --ws-accent:#f0c36d;
    --ws-line:rgba(240,195,109,.25);
    --ws-font:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 20% 20%,rgba(240,195,109,.24),transparent 60%);
    --ws-grid:linear-gradient(rgba(240,195,109,.08) 1px,transparent 1px);
}
.ledger-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--ws-line)}
.ledger-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.ledger-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.ledger-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:48px 0}
.ledger-title{margin:0 0 10px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.ledger-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.ledger-summary{border:1px solid var(--ws-line);border-radius:24px;padding:20px;background:rgba(255,255,255,.04)}
.ledger-steps{display:grid;gap:16px;margin-top:24px;border-left:2px solid var(--ws-line);padding-left:18px}
.ledger-step{border:1px solid var(--ws-line);border-radius:18px;padding:14px;background:rgba(255,255,255,.04);position:relative}
.ledger-step::before{content:"";position:absolute;left:-25px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--ws-accent)}
.ledger-table{display:grid;gap:12px;margin-top:18px}
.ledger-row{display:grid;grid-template-columns:1.3fr .7fr .6fr;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--ws-line);font-size:.9rem;color:var(--ws-muted)}
.ledger-row strong{color:var(--ws-text)}
.ws15 .ws-btn{background:var(--ws-accent);color:#111}
.ws15 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 16: Lane Studio ---------- */
.ws16{
    --ws-text:#101012;
    --ws-muted:rgba(16,16,18,.66);
    --ws-bg:#f3f4f6;
    --ws-bg-2:#e6e9ef;
    --ws-accent:#4d6aff;
    --ws-line:rgba(16,16,18,.12);
    --ws-font:"Urbanist","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 10%,rgba(77,106,255,.2),transparent 60%);
    --ws-grid:radial-gradient(rgba(16,16,18,.06) 1px,transparent 1px);
}
.lane-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:36px 0}
.lane-aside{border:1px solid var(--ws-line);border-radius:24px;padding:18px;background:#fff;position:sticky;top:24px;height:fit-content;display:grid;gap:16px}
.lane-badge{font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}
.lane-menu{display:grid;gap:10px;font-size:.85rem;color:var(--ws-muted)}
.lane-hero{border:1px solid var(--ws-line);border-radius:26px;padding:24px;background:#fff}
.lane-title{margin:0 0 8px;font-size:clamp(2.3rem,4.6vw,4.2rem)}
.lane-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.lane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.lane-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:#fff}
.lane-highlight{margin-top:20px;border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(77,106,255,.08)}
.ws16 .ws-btn{background:var(--ws-accent);color:#fff}
.ws16 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 17: Orbit Home ---------- */
.ws17{
    --ws-text:#f1f7ff;
    --ws-muted:rgba(241,247,255,.72);
    --ws-bg:#0d141d;
    --ws-bg-2:#172537;
    --ws-accent:#75b8ff;
    --ws-line:rgba(117,184,255,.28);
    --ws-font:"Sora","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 30% 12%,rgba(117,184,255,.28),transparent 60%);
    --ws-grid:linear-gradient(rgba(117,184,255,.08) 1px,transparent 1px);
}
.orbit-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.orbit-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.orbit-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.orbit-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:48px 0}
.orbit-title{margin:0 0 10px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.orbit-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.orbit-ring{border:2px dashed var(--ws-line);border-radius:50%;width:280px;height:280px;display:grid;place-items:center;margin:0 auto;position:relative}
.orbit-core{width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.06);display:grid;place-items:center;text-align:center;padding:12px}
.orbit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.orbit-card{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}
.ws17 .ws-btn{background:var(--ws-accent);color:#0d141d}
.ws17 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 18: Summit Subscriptions ---------- */
.ws18{
    --ws-text:#f5fff7;
    --ws-muted:rgba(245,255,247,.72);
    --ws-bg:#0c1510;
    --ws-bg-2:#1a2a21;
    --ws-accent:#9ee6b2;
    --ws-line:rgba(158,230,178,.28);
    --ws-font:"Lexend","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 70% 18%,rgba(158,230,178,.3),transparent 60%);
    --ws-grid:linear-gradient(rgba(158,230,178,.08) 1px,transparent 1px);
}
.summit-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.summit-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.summit-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.summit-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:48px 0}
.summit-title{margin:0 0 10px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.summit-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.summit-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.summit-plan{border:1px solid var(--ws-line);border-radius:24px;padding:18px;background:rgba(255,255,255,.04)}
.summit-plan.highlight{background:rgba(158,230,178,.12);border-color:rgba(158,230,178,.5)}
.summit-plan h4{margin:0 0 8px;font-size:1.05rem}
.summit-plan p{margin:0;color:var(--ws-muted);line-height:1.6}
.ws18 .ws-btn{background:var(--ws-accent);color:#0c1510}
.ws18 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 19: Gridline Tools ---------- */
.ws19{
    --ws-text:#f5f5f5;
    --ws-muted:rgba(245,245,245,.68);
    --ws-bg:#131313;
    --ws-bg-2:#1f1f1f;
    --ws-accent:#f2c94c;
    --ws-line:rgba(245,245,245,.18);
    --ws-font:"Oswald","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 20% 18%,rgba(242,201,76,.25),transparent 60%);
    --ws-grid:linear-gradient(rgba(245,245,245,.08) 1px,transparent 1px);
}
.gridline-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:2px solid var(--ws-line)}
.gridline-logo{letter-spacing:.3em;text-transform:uppercase;font-size:1rem}
.gridline-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.gridline-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:48px 0}
.gridline-title{margin:0 0 10px;font-size:clamp(2.6rem,5vw,4.8rem);text-transform:uppercase}
.gridline-lead{margin:0;color:var(--ws-muted);line-height:1.6}
.gridline-table{border:2px solid var(--ws-line);display:grid}
.gridline-row{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ws-line);font-size:.9rem;color:var(--ws-muted)}
.gridline-row strong{color:var(--ws-text)}
.gridline-row:last-child{border-bottom:none}
.gridline-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.gridline-metric{border:2px solid var(--ws-line);padding:16px;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.ws19 .ws-btn{background:var(--ws-accent);color:#1a1a1a}
.ws19 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

/* ---------- Template 20: Eden Market ---------- */
.ws20{
    --ws-text:#102015;
    --ws-muted:rgba(16,32,21,.68);
    --ws-bg:#eef5ef;
    --ws-bg-2:#dde9e0;
    --ws-accent:#4f8b63;
    --ws-line:rgba(16,32,21,.12);
    --ws-font:"DM Sans","Segoe UI",system-ui,sans-serif;
    --ws-glow:radial-gradient(circle at 80% 12%,rgba(79,139,99,.22),transparent 60%);
    --ws-grid:radial-gradient(rgba(16,32,21,.08) 1px,transparent 1px);
}
.eden-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.eden-logo{letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.eden-nav{display:flex;gap:18px;font-size:.9rem;color:var(--ws-muted)}
.eden-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:48px 0}
.eden-title{margin:0 0 10px;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.eden-lead{margin:0;color:var(--ws-muted);line-height:1.7}
.eden-stack{display:grid;gap:12px}
.eden-card{border:1px solid var(--ws-line);border-radius:22px;padding:16px;background:#fff}
.eden-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.eden-tile{border:1px solid var(--ws-line);border-radius:20px;padding:16px;background:#fff}
.eden-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.eden-tag{padding:8px 12px;border-radius:999px;border:1px solid var(--ws-line);font-size:.8rem;color:var(--ws-muted);background:#fff}
.ws20 .ws-btn{background:var(--ws-accent);color:#fff}
.ws20 .ws-btn-secondary{border-color:var(--ws-line);color:var(--ws-text);background:transparent}

@media(max-width:1080px){
    .harbor-layout,.lane-layout,.terra-layout{grid-template-columns:1fr}
    .harbor-hero,.pulse-hero,.arcade-hero,.mosaic-hero,.ledger-hero,.summit-hero,.orbit-hero,.gridline-hero,.eden-hero{grid-template-columns:1fr}
    .harbor-row,.ledger-row,.gridline-row{grid-template-columns:1fr}
    .arcade-grid,.mosaic-grid,.summit-plans,.orbit-grid,.gridline-metrics,.eden-grid,.northline-grid,.velour-grid,.aureline-collection,.bloom-grid,.bloom-gift,.mono-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nova-data,.pulse-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .harbor-hero,.pulse-hero,.arcade-hero,.mosaic-hero,.ledger-hero,.summit-hero,.orbit-hero,.gridline-hero,.eden-hero{grid-template-columns:1fr}
    .arcade-grid,.mosaic-grid,.summit-plans,.orbit-grid,.gridline-metrics,.eden-grid,.pulse-panels,.nova-data{grid-template-columns:1fr}
    .harbor-layout,.lane-layout{grid-template-columns:1fr}
    .lane-aside{position:static}
}
