:root{
  --primary:#10b981;
  --primary-dark:#059669;
  --bg:#ffffff;
  --surface:#fafafa;
  --text:#0f172a;
  --muted:#475569;
  --border:#e5e7eb;
  --accent:#ecfdf5;
  --gradient:linear-gradient(135deg, #10b981, #059669);
  --radius:12px;
}

[data-theme="dark"] {
  --bg: #0f172a;
  --surface: #1e293b;
  --text: #f8fafc;
  --muted: #94a3b8;
  --border: #334155;
  --accent: #132b26;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Poppins', system-ui, sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-dark)}
.container{max-width:1180px;margin:0 auto;padding:0 1.5rem}
h1,h2,h3,h4{font-family:'Poppins', system-ui, sans-serif;font-weight:700;line-height:1.15;color:var(--text);letter-spacing:-.02em}
h1{font-size:3.5rem;margin-bottom:1rem}
h2{font-size:2.25rem;margin-bottom:1rem}
h3{font-size:1.25rem;margin-bottom:.5rem}
p{color:var(--muted);margin-bottom:1rem}
section{padding:4.5rem 0}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);background:var(--accent);padding:.4rem .8rem;border-radius:99px;margin-bottom:1rem}

/* Animations */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.animate-float { animation: float 5s ease-in-out infinite; }

/* One Page Mode */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 100px; }


/* Header */
.site-header{background:color-mix(in oklab,var(--bg) 85%,transparent);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{font-weight:800;font-size:1.25rem;color:var(--text);letter-spacing:-.02em}
.nav-links{display:flex;gap:.25rem;list-style:none;flex-wrap:wrap}
.nav-links a{padding:.55rem 1rem;border-radius:99px;color:var(--muted);font-weight:500;font-size:.95rem;transition:all .2s}
.nav-links a:hover{background:var(--accent);color:var(--text)}
.nav-links a.active{background:var(--primary);color:#fff}
.nav-links a.active:hover{color:#fff;background:var(--primary-dark)}
.hamburger{display:none;background:transparent;border:0;cursor:pointer;padding:.5rem;color:var(--text);width:40px;height:40px;align-items:center;justify-content:center}
.hamburger span{display:block;width:22px;height:2px;background:currentColor;position:relative;transition:all .3s}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;transition:all .3s}
.hamburger span::before{top:-7px}
.hamburger span::after{top:7px}
.hamburger.open span{background:transparent}
.hamburger.open span::before{top:0;transform:rotate(45deg)}
.hamburger.open span::after{top:0;transform:rotate(-45deg)}
@media(max-width:768px){
  .hamburger{display:flex}
  .nav-links{position:fixed;top:0;right:0;height:100vh;width:min(85vw,320px);flex-direction:column;background:var(--bg);border-left:1px solid var(--border);padding:5rem 1.5rem 2rem;gap:.5rem;transform:translateX(100%);transition:transform .3s ease;z-index:100;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{width:100%;padding:.85rem 1.1rem}
  .nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s}
  .nav-overlay.open{opacity:1;pointer-events:auto}
}

/* Nav Controls: Dark Mode Toggle + Language Switcher */
.nav-controls{display:flex;align-items:center;gap:.5rem;margin-inline-start:auto;margin-inline-end:.75rem}
.nav-icon-btn{background:var(--accent);border:1px solid var(--border);border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;color:var(--text)}
.nav-icon-btn:hover{background:var(--border);transform:scale(1.1)}
.lang-switcher{display:flex;gap:.25rem}
.lang-btn{background:transparent;border:1px solid var(--border);border-radius:99px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;cursor:pointer;color:var(--muted);transition:all .2s;letter-spacing:.05em}
.lang-btn:hover{background:var(--accent);color:var(--text)}
.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* RTL Support */
[dir="rtl"] .testimonial::before {
  left: auto;
  right: 1.5rem;
}
@media(max-width:768px){
  [dir="rtl"] .nav-links{right:auto;left:0;border-left:0;border-right:1px solid var(--border);transform:translateX(-100%)}
  [dir="rtl"] .nav-links.open{transform:translateX(0)}
}

/* Image broken fallback */
img{background:linear-gradient(135deg,var(--accent),color-mix(in oklab,var(--primary) 15%,var(--surface)));min-height:1px}

/* Sticky mobile CTA */
.sticky-cta-container { display:none; position:fixed; bottom:1rem; left:1rem; right:1rem; z-index:90; gap:0.5rem; justify-content:center; align-items:center; }
.sticky-cta-call { flex:1; background:var(--primary); color:#fff; text-align:center; padding:1rem; border-radius:99px; font-weight:700; box-shadow:0 12px 30px -8px color-mix(in oklab,var(--primary) 60%,transparent); text-decoration:none; transition:all 0.2s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sticky-cta-call:hover { color:#fff; background:var(--primary-dark); }
.sticky-cta-fb { flex:0 0 54px; height:54px; background:#1877f2; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(24,119,242,0.6); transition:all 0.2s; }
.sticky-cta-fb:hover { background:#145db2; color:#fff; transform:translateY(-2px); }
@media(max-width:768px){ .sticky-cta-container { display:flex; } body { padding-bottom:5rem; } }

/* Testimonials */
.testimonials{padding:5rem 0;background:var(--surface)}
.testimonials .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.testimonials .grid{grid-template-columns:1fr}}
.testimonial{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;position:relative}
.testimonial::before{content:"\201C";position:absolute;top:0;left:1.5rem;font-size:5rem;line-height:1;color:var(--primary);opacity:.25;font-family:Georgia,serif}
.testimonial .quote{font-size:1.05rem;line-height:1.7;color:var(--text);margin-bottom:1.5rem;font-style:italic}
.testimonial .author{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--border);padding-top:1rem}
.testimonial .avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}
.testimonial .name{font-weight:700;color:var(--text);font-size:.95rem}
.testimonial .role{font-size:.82rem;color:var(--muted)}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}
.price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;transition:all .25s;position:relative}
.price-card.featured{border-color:var(--primary);box-shadow:0 20px 50px -20px color-mix(in oklab,var(--primary) 40%,transparent);transform:translateY(-8px)}
.price-card .badge-popular{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:.3rem 1rem;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.price-card .tier-name{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1rem}
.price-card .price{font-size:3rem;font-weight:800;color:var(--text);line-height:1}
.price-card .period{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem;display:block}
.price-card .features{list-style:none;text-align:left;margin:1.5rem 0;display:grid;gap:.6rem}
.price-card .features li{padding-left:1.5rem;position:relative;color:var(--text);font-size:.95rem}
.price-card .features li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}

/* Map */
.map-embed{width:100%;height:340px;border:0;border-radius:var(--radius);margin-top:1.5rem;filter:grayscale(.2)}

/* Social footer */
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;text-align:left;margin-bottom:2rem}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;text-align:center}}
.footer-grid h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:var(--text)}
.footer-grid p,.footer-grid a{font-size:.9rem;color:var(--muted);margin-bottom:.4rem;display:block}
.footer-grid a:hover{color:var(--primary)}
.social-links{display:flex;gap:.6rem;flex-wrap:wrap}
@media(max-width:700px){.social-links{justify-content:center}}
.social-links a{width:38px;height:38px;border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);transition:all .2s;font-weight:700;font-size:.85rem;text-decoration:none}
.social-links a:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}
.blog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,.18)}
.blog-card .thumb{aspect-ratio:16/10;overflow:hidden}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .thumb img{transform:scale(1.05)}
.blog-card .body{padding:1.5rem}
.blog-card .date{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.blog-card h3{margin-bottom:.6rem;font-size:1.2rem}

/* Buttons */
.btn{display:inline-block;padding:.95rem 1.8rem;border-radius:99px;font-weight:600;transition:all .2s;cursor:pointer;border:none;font-size:1rem}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 24px -8px color-mix(in oklab,var(--primary) 60%,transparent)}
.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px -8px color-mix(in oklab,var(--primary) 70%,transparent)}
.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}

/* Hero (default centered) */
.hero{padding:6rem 0 5rem;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);position:relative;overflow:hidden}
.hero-inner{text-align:center;max-width:780px;margin:0 auto;position:relative;z-index:2}
.hero p{font-size:1.2rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* Hero variants */
.hero-split{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}
.hero-split .hero-inner{text-align:left;margin:0;max-width:none}
.hero-split .hero-inner p{margin-left:0;margin-right:0}
.hero-split .hero-actions{justify-content:flex-start}
.hero-img{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -25px rgba(0,0,0,.25)}
.hero-img img{width:100%;height:100%;object-fit:cover}

.hero-showcase{padding:0;min-height:80vh;display:flex;align-items:center;position:relative;background:#000}
.hero-showcase .bg{position:absolute;inset:0}
.hero-showcase .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.75))}
.hero-showcase .container{position:relative;z-index:2}
.hero-showcase h1,.hero-showcase p{color:#fff}
.hero-showcase p{color:rgba(255,255,255,.85)}
.hero-showcase .eyebrow{background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(8px)}

.hero-editorial{padding:5rem 0}
.hero-editorial .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}
.hero-editorial h1{font-size:5rem;line-height:.95;letter-spacing:-.04em}
.hero-editorial .lead{font-size:1.15rem;border-left:3px solid var(--primary);padding-left:1.25rem}
.hero-editorial .img{aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden}
.hero-editorial .img img{width:100%;height:100%;object-fit:cover}

.hero-glass{padding:0;min-height:85vh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-glass .bg{position:absolute;inset:0}
.hero-glass .bg img{width:100%;height:100%;object-fit:cover}
.hero-glass::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 50%,transparent),color-mix(in oklab,var(--primary-dark) 60%,transparent))}
.hero-glass .glass-card{position:relative;z-index:2;background:rgba(255,255,255,.12);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:3.5rem;max-width:640px;color:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
.hero-glass .glass-card h1,.hero-glass .glass-card p{color:#fff}
.hero-glass .glass-card p{color:rgba(255,255,255,.9)}
.hero-glass .glass-card .eyebrow{background:rgba(255,255,255,.2);color:#fff}

@media(max-width:900px){
  .hero-split,.hero-editorial .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-split .hero-inner{text-align:center}
  .hero-split .hero-actions{justify-content:center}
  .hero-editorial h1{font-size:3rem}
  h1{font-size:2.5rem}
  .hero-glass .glass-card{padding:2rem}
}

/* Sections */
.section-title{text-align:center;margin-bottom:3rem;max-width:680px;margin-left:auto;margin-right:auto}
.section-title p{margin-top:.75rem}

/* Cards */
.grid{display:grid;gap:1.75rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -20px rgba(0,0,0,.18);border-color:var(--primary)}
.card .card-img{aspect-ratio:3/2;overflow:hidden;background:var(--accent)}
.card .card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.05)}
.card .card-body{padding:1.75rem}

/* Service list */
.service-list{list-style:none;display:grid;gap:.85rem;max-width:680px;margin:0 auto}
.service-list li{background:var(--surface);border:1px solid var(--border);padding:1.15rem 1.4rem;border-radius:var(--radius);display:flex;align-items:center;gap:1rem;font-weight:500;color:var(--text);transition:all .2s}
.service-list li:hover{border-color:var(--primary);transform:translateX(4px)}
.service-list li::before{content:"";width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--accent);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:bold;background-image:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;mask:none;background-clip:padding-box;content:"✓";font-size:1rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-card{text-align:center;padding:2rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.contact-card .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.5rem;font-weight:600}
.contact-card .value{font-size:1.1rem;font-weight:600;color:var(--text)}
.contact-form{max-width:600px;margin:0 auto;display:grid;gap:1rem;background:var(--surface);padding:2rem;border-radius:var(--radius);border:1px solid var(--border)}
.contact-form input,.contact-form textarea{width:100%;padding:.95rem 1.1rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--bg);color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary)}
.contact-form textarea{min-height:140px;resize:vertical}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}}
.gallery-item{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.35));opacity:0;transition:opacity .3s}
.gallery-item:hover::after{opacity:1}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}
.about-img{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 25px 50px -20px rgba(0,0,0,.2)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-content p{font-size:1.1rem;margin-bottom:1.25rem}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.about-stats .stat{padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}
.about-stats .num{font-size:2rem;font-weight:800;color:var(--primary);display:block}
.about-stats .lab{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}

/* Footer */
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:3rem 0;margin-top:5rem;text-align:center}
.site-footer p{margin:0;color:var(--muted);font-size:.92rem}

/* Template-specific */
















/* Template Specific Body Layouts */
.about-luxe{text-align:center;padding:8rem 0}
.about-luxe h2{font-family:var(--heading-font);font-size:3.5rem;margin-bottom:2rem}
.luxe-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;text-align:left}
.luxe-grid .paragraphs{font-size:1.2rem;line-height:1.8;color:var(--text-muted)}
.luxe-grid img{border-radius:2px;box-shadow:0 30px 60px rgba(0,0,0,0.1)}

.about-brut{background:var(--text);color:var(--bg);padding:0}
.about-brut .huge-title{font-size:15vw;line-height:0.8;letter-spacing:-0.05em;margin:0;padding:2rem;border-bottom:10px solid var(--primary)}
.brut-grid{display:grid;grid-template-columns:1.2fr 0.8fr}
.brut-grid .content-box{padding:4rem;font-size:1.5rem;font-weight:bold;border-right:10px solid var(--primary)}
.brut-grid .img-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2)}

.about-retro{padding:4rem 0;background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:20px 20px}
.retro-window{background:#c0c0c0;border:3px solid #fff;border-right-color:#808080;border-bottom-color:#808080;box-shadow:4px 4px 0 #000}
.retro-window .title-bar{background:linear-gradient(90deg, #000080, #1084d0);color:#fff;padding:4px 8px;font-weight:bold;display:flex;align-items:center}
.retro-window .window-body{padding:2rem;color:#000}
.retro-window h2{font-family:monospace;border-bottom:2px solid #000;margin-bottom:1rem}

/* ===== Per-template inner-page signatures ===== */
body.template-modern .page-content > section:first-child{background:radial-gradient(ellipse at top,var(--accent),var(--bg) 75%)}
body.template-modern .page-content .eyebrow{background:var(--gradient);color:#fff}

body.template-classic .section-title h2{display:inline-block;border-bottom:3px solid var(--primary);padding-bottom:.5rem}
body.template-classic .card{border-top:4px solid var(--primary);border-radius:0}
body.template-classic .contact-card{border-left:4px solid var(--primary);text-align:left}

body.template-split .page-content > section > .container{border-left:4px solid var(--primary);padding-left:2rem}
body.template-split .section-title{text-align:left;margin-left:0}
@media(max-width:700px){body.template-split .page-content > section > .container{border-left-width:2px;padding-left:1rem}}

body.template-showcase .page-content > section:first-of-type{background:linear-gradient(180deg,var(--surface),var(--bg))}
body.template-showcase .section-title h2{font-size:3rem}
body.template-showcase .card{border-radius:18px;border:0;box-shadow:0 18px 40px -20px rgba(0,0,0,.25)}

body.template-glass .card,body.template-glass .contact-card,body.template-glass .price-card,body.template-glass .blog-card,body.template-glass .testimonial{background:color-mix(in oklab,var(--surface) 60%,transparent);backdrop-filter:blur(14px);border:1px solid color-mix(in oklab,var(--text) 8%,transparent)}
body.template-glass .page-content > section{background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 5%,var(--bg)),var(--bg))}

body.template-corporate .page-content > section:nth-of-type(even){background:var(--surface)}
body.template-corporate .card{border-top:3px solid var(--primary);border-radius:4px}
body.template-corporate .section-title{text-align:left;margin-left:0;max-width:none}
body.template-corporate .section-title h2{position:relative;padding-left:1rem;border-left:4px solid var(--primary)}

body.template-playful .card:nth-child(odd){transform:rotate(-1deg)}
body.template-playful .card:nth-child(even){transform:rotate(1deg)}
body.template-playful .contact-card{border-radius:24px}
body.template-playful .section-title h2{display:inline-block;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}

body.template-saas .page-content > section{border-bottom:1px dashed var(--border)}
body.template-saas .card,body.template-saas .price-card,body.template-saas .blog-card{box-shadow:0 20px 40px -28px rgba(0,0,0,.18);border-color:transparent}
body.template-saas .eyebrow{background:linear-gradient(90deg,var(--primary),var(--primary-dark));color:#fff}
body.template-saas .section-title h2{font-weight:800;letter-spacing:-.03em}

body.template-minimalist .page-content > section{padding:7rem 0;border-bottom:1px solid var(--border)}
body.template-minimalist .card,body.template-minimalist .contact-card,body.template-minimalist .blog-card{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:1.5rem 0}
body.template-minimalist .section-title h2{font-weight:300;font-size:3rem;letter-spacing:-.04em}
body.template-minimalist .eyebrow{background:transparent;border:0;color:var(--primary);padding:0;letter-spacing:.3em}
body.template-minimalist .service-list li{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:1.25rem 0}

body.template-event .page-content{background:#0a0a0a;color:#fff}
body.template-event .page-content h1,body.template-event .page-content h2,body.template-event .page-content h3{color:#fff}
body.template-event .page-content p{color:rgba(255,255,255,.75)}
body.template-event .card,body.template-event .contact-card,body.template-event .price-card{background:#1a1a1a;border:1px solid #2a2a2a;color:#fff;border-radius:0;border-left:4px solid var(--primary)}
body.template-event .eyebrow{background:var(--primary);color:#000;border-radius:0;letter-spacing:.2em}

body.template-dark-agency .page-content{background:#050505;color:#fff}
body.template-dark-agency .page-content h1,body.template-dark-agency .page-content h2,body.template-dark-agency .page-content h3{color:#fff}
body.template-dark-agency .page-content p{color:rgba(255,255,255,.7)}
body.template-dark-agency .card,body.template-dark-agency .contact-card,body.template-dark-agency .price-card,body.template-dark-agency .blog-card,body.template-dark-agency .testimonial{background:#0d0d0d;border:1px solid rgba(255,255,255,.08);color:#fff}
body.template-dark-agency .card:hover{border-color:#00f2ff;box-shadow:0 0 30px rgba(0,242,255,.15)}
body.template-dark-agency .eyebrow{background:rgba(0,242,255,.12);color:#00f2ff;border:1px solid rgba(0,242,255,.3)}
body.template-dark-agency .contact-form input,body.template-dark-agency .contact-form textarea{background:#0d0d0d;color:#fff;border-color:rgba(255,255,255,.1)}

body.template-agency .card{transform:rotate(-1deg);transition:transform .3s}
body.template-agency .card:nth-child(even){transform:rotate(1deg)}
body.template-agency .card:hover{transform:rotate(0) translateY(-6px)}
body.template-agency .section-title h2{font-size:3.5rem;letter-spacing:-.03em}

body.template-editorial .section-title{text-align:left;margin-left:0;max-width:none}
body.template-editorial .section-title h2{font-size:4rem;line-height:1.05;font-weight:700}
body.template-editorial .card{border:0;background:transparent;border-top:2px solid var(--text);border-radius:0;padding-top:1rem}
body.template-editorial .contact-card{border:0;border-top:2px solid var(--text);border-radius:0;text-align:left;padding:1.5rem 0}

body.template-brutalist .page-content > section{border-bottom:6px solid var(--text)}
body.template-brutalist .section-title{text-align:left;margin-left:0;max-width:none}
body.template-brutalist .section-title h2{text-transform:uppercase;font-size:3.5rem;border-bottom:6px solid var(--text);padding-bottom:.5rem}

body.template-luxury .section-title h2{font-weight:400;font-size:3rem;letter-spacing:-.01em}
body.template-luxury .card{border:1px solid var(--border);border-radius:2px;background:var(--bg)}

body.template-retro .page-content > section{background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:20px 20px}
body.template-retro .card{border:3px solid var(--text);box-shadow:6px 6px 0 var(--text);border-radius:0;background:#fdf6e3;color:#000}

/* ===== NEW TEMPLATES ===== */
/* Clinic — calm, pill-shaped trust cards */
.hero-clinic{background:linear-gradient(180deg,color-mix(in oklab,var(--primary) 8%,var(--bg)),var(--bg));padding:5rem 0 6rem}
.hero-clinic .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.hero-clinic .visual{aspect-ratio:1;border-radius:50% 50% 50% 12%;overflow:hidden;box-shadow:0 30px 60px -20px color-mix(in oklab,var(--primary) 35%,transparent)}
.hero-clinic .visual img{width:100%;height:100%;object-fit:cover}
.hero-clinic .trust-row{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}
.hero-clinic .trust-row .pill{background:var(--bg);border:1px solid var(--border);padding:.5rem 1rem;border-radius:99px;font-size:.85rem;font-weight:600;color:var(--text)}
@media(max-width:900px){.hero-clinic .grid{grid-template-columns:1fr}}
body.template-clinic .card,body.template-clinic .contact-card{border-radius:24px;border:1px solid var(--border);background:var(--bg)}
body.template-clinic .page-content > section:nth-of-type(even){background:color-mix(in oklab,var(--primary) 4%,var(--bg))}
body.template-clinic .eyebrow{background:color-mix(in oklab,var(--primary) 12%,var(--bg));border-radius:99px}
body.template-clinic .service-list li{border-radius:99px;border-left:4px solid var(--primary)}

/* Wellness — soft, organic */
.hero-wellness{background:radial-gradient(ellipse at top right,color-mix(in oklab,var(--primary) 15%,var(--bg)),var(--bg) 60%);padding:5rem 0 7rem;position:relative;overflow:hidden}
.hero-wellness::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:color-mix(in oklab,var(--primary) 20%,transparent);filter:blur(60px)}
.hero-wellness .container{position:relative;z-index:1}
.hero-wellness .grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hero-wellness .visual{aspect-ratio:4/5;border-radius:200px 200px 24px 24px;overflow:hidden}
.hero-wellness .visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.hero-wellness .grid{grid-template-columns:1fr}}
body.template-wellness h1,body.template-wellness h2{font-weight:300;letter-spacing:-.02em}
body.template-wellness .card,body.template-wellness .contact-card,body.template-wellness .price-card{border-radius:32px;border:0;background:color-mix(in oklab,var(--primary) 5%,var(--surface))}
body.template-wellness .eyebrow{background:transparent;border:1px solid var(--primary);color:var(--primary);border-radius:99px}

/* Pharma — sterile grid */
.hero-pharma{background:var(--bg);border-bottom:1px solid var(--border);padding:4rem 0}
.hero-pharma .grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--border)}
.hero-pharma .grid > div{padding:2.5rem;border-right:1px solid var(--border)}
.hero-pharma .grid > div:last-child{border-right:0}
.hero-pharma .grid .visual{padding:0;background:var(--surface)}
.hero-pharma .grid .visual img{width:100%;height:100%;object-fit:cover;min-height:320px}
.hero-pharma .stat{font-size:2rem;font-weight:800;color:var(--primary);display:block;margin-bottom:.25rem}
@media(max-width:900px){.hero-pharma .grid{grid-template-columns:1fr}.hero-pharma .grid > div{border-right:0;border-bottom:1px solid var(--border)}}
body.template-pharma .page-content > section{border-bottom:1px solid var(--border)}
body.template-pharma .card,body.template-pharma .contact-card{border-radius:0;border:1px solid var(--border);box-shadow:none}
body.template-pharma .section-title h2{font-weight:600;letter-spacing:-.02em}
body.template-pharma .eyebrow{border-radius:0;background:var(--primary);color:#fff}

/* Dental — bright, cheerful */
.hero-dental{background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 18%,#fff),var(--bg));padding:5rem 0 6rem;position:relative}
.hero-dental .grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-dental .visual{aspect-ratio:1;border-radius:40px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.15)}
.hero-dental .visual img{width:100%;height:100%;object-fit:cover}
.hero-dental .smile-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem 1rem;border-radius:99px;font-weight:700;font-size:.9rem;box-shadow:0 8px 20px rgba(0,0,0,.08);margin-bottom:1rem}
.hero-dental .smile-badge::before{content:"★★★★★";color:#fbbf24;font-size:.85rem}
@media(max-width:900px){.hero-dental .grid{grid-template-columns:1fr}}
body.template-dental .card,body.template-dental .contact-card,body.template-dental .price-card{border-radius:28px;border:0;background:var(--bg);box-shadow:0 12px 30px -15px rgba(0,0,0,.1)}
body.template-dental .eyebrow{background:#fff;color:var(--primary);border-radius:99px;box-shadow:0 4px 12px rgba(0,0,0,.06)}
body.template-dental .page-content > section:nth-of-type(even){background:color-mix(in oklab,var(--primary) 6%,var(--bg))}

/* Magazine — columns + drop caps */
.hero-magazine{padding:4rem 0;border-bottom:3px double var(--text)}
.hero-magazine .masthead{text-align:center;border-top:3px double var(--text);border-bottom:1px solid var(--text);padding:1rem 0;margin-bottom:3rem;font-family:Georgia,serif;letter-spacing:.5em;text-transform:uppercase;font-size:.75rem}
.hero-magazine .grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
.hero-magazine h1{font-family:Georgia,serif;font-size:4.5rem;line-height:1;font-weight:800;letter-spacing:-.02em}
.hero-magazine .lead{font-family:Georgia,serif;font-size:1.15rem;line-height:1.7;column-count:1}
.hero-magazine .lead::first-letter{font-size:4rem;float:left;line-height:.9;padding-right:.5rem;font-weight:700}
.hero-magazine .visual img{aspect-ratio:3/4;object-fit:cover;width:100%;filter:grayscale(.3)}
@media(max-width:900px){.hero-magazine .grid{grid-template-columns:1fr}.hero-magazine h1{font-size:3rem}}
body.template-magazine .page-content{font-family:Georgia,serif}
body.template-magazine .section-title h2{font-family:Georgia,serif;font-size:3rem;border-top:3px double var(--text);padding-top:1.5rem}
body.template-magazine .card{border:0;border-top:1px solid var(--text);border-radius:0;background:transparent;padding-top:1rem}
body.template-magazine .eyebrow{background:transparent;border:0;color:var(--text);font-family:Georgia,serif;letter-spacing:.4em;padding:0}

/* Portfolio — oversized type, asymmetric */
.hero-portfolio{padding:6rem 0 4rem}
.hero-portfolio h1{font-size:clamp(3rem,9vw,8rem);line-height:.95;font-weight:900;letter-spacing:-.04em;margin-bottom:2rem}
.hero-portfolio .meta{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:end;border-top:1px solid var(--border);padding-top:1.5rem;margin-top:2rem}
.hero-portfolio .meta > div{font-size:.85rem;color:var(--muted)}
.hero-portfolio .meta strong{display:block;color:var(--text);font-size:1rem;margin-bottom:.25rem}
.hero-portfolio .visual{margin-top:3rem;aspect-ratio:21/9;overflow:hidden;border-radius:4px}
.hero-portfolio .visual img{width:100%;height:100%;object-fit:cover}
body.template-portfolio .section-title{text-align:left;margin-left:0;max-width:none}
body.template-portfolio .section-title h2{font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:-.03em}
body.template-portfolio .card{border:0;background:transparent;padding:0}
body.template-portfolio .card:hover{transform:translateY(-4px)}
body.template-portfolio .gallery-grid{grid-template-columns:repeat(2,1fr)}
body.template-portfolio .gallery-grid img{aspect-ratio:4/5}

/* Startup — gradient mesh */
.hero-startup{background:radial-gradient(circle at 20% 0%,color-mix(in oklab,var(--primary) 25%,var(--bg)),transparent 50%),radial-gradient(circle at 80% 100%,color-mix(in oklab,var(--primary-dark) 25%,var(--bg)),transparent 50%),var(--bg);padding:7rem 0 5rem;text-align:center}
.hero-startup h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:800;letter-spacing:-.04em;background:linear-gradient(180deg,var(--text),color-mix(in oklab,var(--text) 60%,var(--bg)));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-startup p{font-size:1.2rem;max-width:640px;margin:1.5rem auto 2rem}
.hero-startup .badges{display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}
.hero-startup .badge-item{background:var(--surface);border:1px solid var(--border);padding:.4rem 1rem;border-radius:99px;font-size:.8rem;font-weight:600}
.hero-startup .visual{margin-top:4rem;border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.25);max-width:1000px;margin-inline:auto}
body.template-startup .card,body.template-startup .price-card,body.template-startup .blog-card{border:1px solid var(--border);border-radius:16px;background:var(--bg);box-shadow:0 8px 24px -12px rgba(0,0,0,.08)}
body.template-startup .eyebrow{background:linear-gradient(90deg,var(--primary),var(--primary-dark));color:#fff;border-radius:99px}

/* Boutique — warm, hand-crafted */
.hero-boutique{padding:5rem 0;background:color-mix(in oklab,var(--primary) 4%,var(--bg))}
.hero-boutique .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center}
.hero-boutique .script{font-family:'Brush Script MT','Lucida Handwriting',cursive;font-size:1.5rem;color:var(--primary);margin-bottom:.5rem;display:block}
.hero-boutique h1{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:4rem;line-height:1.1}
.hero-boutique .visual{aspect-ratio:3/4;overflow:hidden;border-radius:8px;border:8px solid var(--bg);box-shadow:0 20px 50px -20px rgba(0,0,0,.2)}
.hero-boutique .visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.hero-boutique .grid{grid-template-columns:1fr}.hero-boutique h1{font-size:2.5rem}}
body.template-boutique .section-title h2{font-family:Georgia,serif;font-style:italic;font-weight:400}
body.template-boutique .card{border:1px solid var(--border);border-radius:4px;background:var(--bg)}
body.template-boutique .eyebrow{background:transparent;border:0;color:var(--primary);font-family:Georgia,serif;font-style:italic;text-transform:none;letter-spacing:0;padding:0}

/* Newspaper — black & white columns */
.hero-newspaper{background:#fdfcf7;color:#111;padding:3rem 0;border-bottom:5px double #111}
.hero-newspaper .container{max-width:1100px}
.hero-newspaper .nameplate{text-align:center;font-family:'Times New Roman',serif;font-size:3.5rem;font-weight:900;letter-spacing:-.02em;border-top:4px solid #111;border-bottom:1px solid #111;padding:1rem 0;margin-bottom:.5rem}
.hero-newspaper .dateline{text-align:center;font-family:'Times New Roman',serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.2em;border-bottom:3px solid #111;padding-bottom:.75rem;margin-bottom:2rem}
.hero-newspaper h1{font-family:'Times New Roman',serif;font-weight:900;font-size:3rem;line-height:1.05;margin-bottom:1rem;color:#111}
.hero-newspaper .columns{column-count:2;column-gap:2rem;column-rule:1px solid #111;font-family:'Times New Roman',serif;font-size:1rem;line-height:1.6;color:#111}
.hero-newspaper .columns p{color:#111}
.hero-newspaper .visual{margin:1.5rem 0;filter:grayscale(1) contrast(1.1)}
@media(max-width:700px){.hero-newspaper .columns{column-count:1}.hero-newspaper .nameplate{font-size:2rem}}
body.template-newspaper .page-content{background:#fdfcf7;color:#111;font-family:'Times New Roman',serif}
body.template-newspaper .page-content h1,body.template-newspaper .page-content h2,body.template-newspaper .page-content h3{color:#111;font-family:'Times New Roman',serif}
body.template-newspaper .page-content p{color:#222}
body.template-newspaper .card,body.template-newspaper .contact-card{background:#fdfcf7;border:1px solid #111;border-radius:0;color:#111}
body.template-newspaper .eyebrow{background:#111;color:#fdfcf7;border-radius:0;font-family:'Times New Roman',serif}
body.template-newspaper .section-title h2{border-top:3px solid #111;border-bottom:1px solid #111;padding:.75rem 0;text-transform:uppercase}

/* Neumorphic — soft 3D */
.hero-neu{background:var(--surface);padding:5rem 0 6rem}
.hero-neu .grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-neu .visual{aspect-ratio:1;border-radius:36px;overflow:hidden;background:var(--surface);padding:1.5rem;box-shadow:20px 20px 40px color-mix(in oklab,var(--text) 12%,transparent),-20px -20px 40px color-mix(in oklab,#fff 80%,transparent)}
.hero-neu .visual img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.hero-neu h1{font-weight:700}
@media(max-width:900px){.hero-neu .grid{grid-template-columns:1fr}}
body.template-neumorphic .page-content{background:var(--surface)}
body.template-neumorphic .card,body.template-neumorphic .contact-card,body.template-neumorphic .price-card,body.template-neumorphic .blog-card{background:var(--surface);border:0;border-radius:24px;box-shadow:12px 12px 24px color-mix(in oklab,var(--text) 10%,transparent),-12px -12px 24px color-mix(in oklab,#fff 70%,transparent)}
body.template-neumorphic .btn-primary{box-shadow:8px 8px 16px color-mix(in oklab,var(--text) 15%,transparent),-8px -8px 16px color-mix(in oklab,#fff 70%,transparent)}
body.template-neumorphic .eyebrow{background:var(--surface);box-shadow:inset 4px 4px 8px color-mix(in oklab,var(--text) 10%,transparent),inset -4px -4px 8px color-mix(in oklab,#fff 70%,transparent);border-radius:99px}
body.template-neumorphic .contact-form input,body.template-neumorphic .contact-form textarea{background:var(--surface);border:0;border-radius:14px;box-shadow:inset 5px 5px 10px color-mix(in oklab,var(--text) 10%,transparent),inset -5px -5px 10px color-mix(in oklab,#fff 70%,transparent)}

@media(max-width:900px){
  .luxe-grid,.brut-grid{grid-template-columns:1fr}
  .about-brut .huge-title{font-size:20vw}
}

/* RTL adjustments */
[dir="rtl"] .price-card .features li {
  padding-left: 0;
  padding-right: 1.5rem;
}
[dir="rtl"] .price-card .features li::before {
  left: auto;
  right: 0;
}
[dir="rtl"] .hero-editorial .lead {
  border-left: 0;
  border-right: 3px solid var(--primary);
  padding-left: 0;
  padding-right: 1.25rem;
}
[dir="rtl"] body.template-split .page-content > section > .container {
  border-left: 0;
  border-right: 4px solid var(--primary);
  padding-left: 0;
  padding-right: 2rem;
}
@media(max-width:700px){
  [dir="rtl"] body.template-split .page-content > section > .container {
    border-right-width: 2px;
    padding-right: 1rem;
  }
}
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
@media (max-width: 1024px) { .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .grid-4 { grid-template-columns: 1fr; } }

.contact-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: stretch;
}
@media (max-width: 900px) {
  .contact-split { grid-template-columns: 1fr; }
}

/* Toggle Switch Styling */
.theme-toggle, .lang-toggle {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 0.5rem;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  width: 40px;
  height: 40px;
}

.theme-toggle:hover, .lang-toggle:hover {
  background: var(--accent);
  transform: scale(1.1);
}

.controls-wrapper {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

select.lang-select {
  appearance: none;
  background-color: var(--surface);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1em;
  color: var(--text);
  border: 1px solid var(--border);
  padding: 0.5rem 2rem 0.5rem 1rem;
  border-radius: 99px;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  transition: all 0.2s ease;
  outline: none;
}
[dir="rtl"] select.lang-select {
  background-position: left 0.75rem center;
  padding: 0.5rem 1rem 0.5rem 2rem;
}
select.lang-select:hover, select.lang-select:focus {
  border-color: var(--primary);
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.15);
}


