@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:#F8F9FA;color:#111827;line-height:1.6}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;border:none;background:none}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.section{padding:5rem 0}.section--gray{background:#F8F9FA}.section--dark{background:#0D1117}
.section-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:#111827}
.section-sub{color:#6B7280;margin-top:.5rem}.text-center{text-align:center}.mb-12{margin-bottom:3rem}.mb-8{margin-bottom:2rem}.mb-4{margin-bottom:1rem}
/* Header */
.sg-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0D1117;border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .3s}
.sg-header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.4)}
.sg-header .container{display:flex;align-items:center;gap:1rem;height:64px}
.logo-wrap{display:flex;align-items:center;gap:.6rem}
.logo-mark{width:36px;height:36px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.logo-mark img{width:30px;height:30px;object-fit:contain}
.logo-text{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.1rem;color:#fff;letter-spacing:-.02em}
.logo-text span{color:#3B82F6}
.main-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.main-nav a{color:rgba(255,255,255,.55);font-size:.875rem;font-weight:500;padding:.5rem .875rem;border-radius:8px;transition:all .2s}
.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(255,255,255,.08)}
.header-actions{display:flex;align-items:center;gap:.75rem}
.cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);transition:all .2s}
.cart-btn:hover{background:rgba(255,255,255,.15);color:#fff}
.cart-badge{position:absolute;top:-4px;right:-4px;background:#F97316;color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.btn-wa{display:flex;align-items:center;gap:.4rem;background:#25D366;color:#fff;font-size:.8rem;font-weight:600;padding:.5rem .875rem;border-radius:10px;transition:background .2s}
.btn-wa:hover{background:#1fba5d}
.hamburger{display:none;flex-direction:column;gap:5px;padding:.5rem;border-radius:8px;background:rgba(255,255,255,.08)}
.hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px}
/* Hero */
.hero{background:linear-gradient(135deg,#0D1117 0%,#1A1E6B 50%,#0D1117 100%);min-height:90vh;display:flex;align-items:center;padding-top:64px}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:4rem 0}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);color:#F97316;font-size:.75rem;font-weight:700;padding:.4rem .875rem;border-radius:999px;margin-bottom:1.5rem}
.hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:1.25rem}
.hero h1 span{background:linear-gradient(135deg,#60A5FA,#818CF8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{color:rgba(255,255,255,.5);font-size:1.05rem;line-height:1.7;margin-bottom:2rem;max-width:520px}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:#F97316;color:#fff;font-weight:700;padding:.875rem 1.75rem;border-radius:12px;font-size:.95rem;transition:background .2s}
.btn-primary:hover{background:#EA580C}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border:2px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-weight:600;padding:.875rem 1.75rem;border-radius:12px;font-size:.95rem;transition:all .2s}
.btn-outline:hover{border-color:rgba(255,255,255,.5);color:#fff}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap}
.hero-stat strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;color:#fff}
.hero-stat span{font-size:.75rem;color:rgba(255,255,255,.4)}
.hero-right{display:flex;flex-direction:column;gap:1rem}
.hero-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem}
.hero-card__title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:#fff;margin-bottom:.25rem}
.hero-card__sub{font-size:.8rem;color:rgba(255,255,255,.4)}
.hero-card__price{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:800;color:#F97316;margin:.5rem 0}
.hero-card .progress{height:4px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden}
.hero-card .progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#3B82F6,#60A5FA)}
/* Stats Bar */
.stats-bar{background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.stats-bar .container{display:flex;justify-content:space-around;flex-wrap:wrap;padding:1.5rem 1.25rem;gap:1rem}
.stat-item{text-align:center}
.stat-item strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.75rem;font-weight:800;color:#111827}
.stat-item span{font-size:.8rem;color:#6B7280;font-weight:500}
/* Category Grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.cat-card{background:#fff;border-radius:16px;padding:1.5rem 1rem;text-align:center;border:1px solid rgba(0,0,0,.06);cursor:pointer;transition:all .25s;display:block}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.cat-icon{width:52px;height:52px;border-radius:14px;margin:0 auto .875rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.cat-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:.875rem;font-weight:700;color:#111827;margin-bottom:.25rem}
.cat-card span{font-size:.75rem;color:#6B7280}
/* Service Cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.services-grid--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.svc-card{background:#fff;border-radius:20px;border:1px solid rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s}
.svc-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.1)}
.svc-card--compact{padding:1rem;gap:.75rem}
.svc-card--full .svc-card__body{padding:1.25rem;flex:1;display:flex;flex-direction:column;gap:.875rem}
.svc-card--popular{position:relative;margin-top:.875rem}
.popular-label{position:absolute;top:-12px;left:1rem;font-size:.7rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;color:#fff}
.svc-top-bar{height:4px;flex-shrink:0}
.svc-card__top{display:flex;align-items:flex-start;gap:.75rem}
.svc-card__head{display:flex;align-items:flex-start;gap:.75rem;width:100%}
.svc-cat-badge{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}
.svc-cat-badge--lg{width:40px;height:40px;border-radius:12px}
.svc-card__info{flex:1}
.svc-cat-label{font-size:.7rem;font-weight:700;margin-bottom:.2rem}
.svc-card__name{font-family:'Plus Jakarta Sans',sans-serif;font-size:.9rem;font-weight:700;color:#111827;line-height:1.3}
.svc-popular-badge{font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;color:#fff;white-space:nowrap;flex-shrink:0}
.svc-rating{margin-left:auto;font-size:.75rem;font-weight:700;color:#F59E0B;flex-shrink:0}
.svc-desc{font-size:.8rem;color:#6B7280;line-height:1.6;flex:1}
.svc-features{display:flex;flex-wrap:wrap;gap:.4rem}
.svc-feature{font-size:.7rem;font-weight:600;padding:.25rem .625rem;border-radius:8px}
.svc-price-row{display:flex;align-items:baseline;gap:.5rem}
.svc-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.25rem;font-weight:800;color:#111827}
.svc-price--lg{font-size:1.5rem}
.svc-orig{font-size:.8rem;color:#9CA3AF;text-decoration:line-through}
.svc-disc,.svc-savings{font-size:.7rem;font-weight:700;color:#059669}
.svc-card__footer{display:flex;align-items:flex-end;justify-content:space-between;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.06)}
.svc-time{font-size:.7rem;color:#9CA3AF}
/* Variants */
.svc-variants{display:flex;gap:.5rem}
.variant-btn{flex:1;font-size:.72rem;font-weight:600;padding:.35rem .25rem;border-radius:8px;border:1.5px solid rgba(0,0,0,.1);color:#6B7280;background:transparent;cursor:pointer;transition:all .15s}
.variant-btn.active{border-color:var(--vc);background:color-mix(in srgb,var(--vc) 15%,transparent);color:var(--vc)}
.variants-label{font-size:.75rem;font-weight:600;color:#9CA3AF;margin-bottom:.5rem}
.variants-grid{display:flex;gap:.625rem}
.variant-btn-full{flex:1;font-size:.8rem;font-weight:600;padding:.5rem .25rem;border-radius:10px;border:2px solid rgba(0,0,0,.1);color:#6B7280;background:transparent;cursor:pointer;transition:all .15s;text-align:center}
.variant-btn-full .vl{display:block;font-size:.72rem}
.variant-btn-full .vp{display:block;font-size:.85rem;font-weight:800}
.variant-btn-full.active{border-color:var(--vc);background:color-mix(in srgb,var(--vc) 12%,transparent);color:var(--vc)}
/* Action Buttons */
.svc-actions{display:flex;gap:.5rem;margin-top:auto}
.svc-actions--2col{display:grid;grid-template-columns:1fr 1fr}
.svc-actions--full{flex-direction:column}
.btn-add-cart{padding:.625rem .5rem;border-radius:12px;color:#fff;font-weight:700;font-size:.8rem;transition:opacity .2s}
.btn-add-cart:hover{opacity:.85}
.btn-add-cart--full{padding:.875rem;font-size:.9rem;width:100%}
.btn-wa-query{display:flex;align-items:center;justify-content:center;gap:.4rem;background:#25D366;color:#fff;font-size:.8rem;font-weight:600;padding:.625rem .5rem;border-radius:12px;transition:background .2s;text-align:center}
.btn-wa-query:hover{background:#1fba5d}
.btn-wa-query--full{padding:.75rem;font-size:.85rem}
/* Why / Process / Reviews */
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.why-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.06)}
.why-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.3rem}
.why-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:700;color:#111827;margin-bottom:.375rem}
.why-card p{font-size:.82rem;color:#6B7280;line-height:1.6}
.process-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}
.step{text-align:center;padding:1.5rem 1rem}
.step-num{width:52px;height:52px;border-radius:50%;background:rgba(249,115,22,.12);border:2px solid rgba(249,115,22,.3);color:#F97316;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.step h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:#111827;margin-bottom:.375rem}
.step p{font-size:.82rem;color:#6B7280}
.reviews-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.stars{color:#F59E0B;letter-spacing:.1em}
.review-score{font-weight:800}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.review-card{background:#F8F9FA;border-radius:20px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.review-card__top{display:flex;align-items:center;gap:.75rem}
.review-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#fff;flex-shrink:0}
.review-name{font-weight:700;font-size:.875rem;color:#111827}
.review-time{font-size:.7rem;color:#9CA3AF}
.review-google{margin-left:auto;flex-shrink:0}
.review-stars{font-size:.75rem;color:#F59E0B;letter-spacing:.1em}
.review-text{font-size:.82rem;color:#4B5563;line-height:1.6}
.reviews-cta{text-align:center;margin-top:2rem}
/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.testimonial-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.5rem}
.testimonial-stars{color:#F59E0B;margin-bottom:.75rem}
.testimonial-text{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:1rem}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.t-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}
.t-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:#fff;font-size:.875rem}
.t-role{font-size:.72rem;color:rgba(255,255,255,.4)}
/* CTA Banner */
.cta-banner{background:linear-gradient(135deg,#1A1E6B,#2563EB);border-radius:24px;padding:3rem 2rem;text-align:center}
.cta-banner h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:.75rem}
.cta-banner p{color:rgba(255,255,255,.65);margin-bottom:1.75rem}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.875rem}
/* Page Hero */
.page-hero{background:#0D1117;padding:5rem 0 3.5rem;margin-top:64px;text-align:center}
.page-hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;margin-bottom:.75rem}
.page-hero p{color:rgba(255,255,255,.5);font-size:1.05rem;max-width:540px;margin:0 auto 1.5rem}
/* Services Page */
.cat-filter{background:#fff;border-bottom:1px solid rgba(0,0,0,.07);position:sticky;top:64px;z-index:40}
.cat-filter .container{display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.25rem;scrollbar-width:none}
.cat-filter-btn{flex-shrink:0;padding:.5rem 1rem;border-radius:999px;font-size:.82rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;background:#F3F4F6;color:#374151;text-decoration:none;display:inline-block}
.cat-filter-btn.active{background:var(--cc);color:#fff}
.search-wrap input{width:100%;border:1.5px solid rgba(0,0,0,.12);border-radius:12px;padding:.75rem 1rem;font-size:.875rem;font-family:inherit;transition:border-color .2s;outline:none}
.search-wrap input:focus{border-color:#F97316}
.services-count{font-size:.85rem;color:#9CA3AF;font-weight:500;margin-bottom:1.25rem}
/* About */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;text-align:left}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.team-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.07);text-align:center}
.team-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.2rem;color:#fff;margin:0 auto 1rem}
.team-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:#111827;margin-bottom:.25rem}
.team-card .role{font-size:.8rem;font-weight:600;color:#F97316;margin-bottom:.5rem}
.team-card p{font-size:.78rem;color:#6B7280;line-height:1.5}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#2563EB,#7C3AED);border-radius:2px}
.timeline-item{position:relative;margin-bottom:2rem}
.timeline-item::before{content:'';position:absolute;left:-1.6rem;top:.25rem;width:12px;height:12px;border-radius:50%;background:#2563EB;border:2px solid #fff;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.timeline-year{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:.85rem;color:#2563EB;margin-bottom:.25rem}
.timeline-event{font-size:.85rem;color:#4B5563;line-height:1.6}
/* Contact */
.contact-grid{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem;align-items:start}
.contact-form{background:#fff;border-radius:24px;padding:2rem;border:1px solid rgba(0,0,0,.07)}
.contact-form h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.4rem;color:#111827;margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1.125rem}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:#374151;margin-bottom:.4rem}
.form-group input,.form-group textarea,.form-group select{width:100%;border:1.5px solid #E5E7EB;border-radius:12px;padding:.75rem 1rem;font-size:.875rem;font-family:inherit;transition:border-color .2s;outline:none;background:#fff}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#F97316}
.form-group textarea{resize:vertical;min-height:120px}
.btn-submit{width:100%;background:#F97316;color:#fff;font-weight:700;padding:.875rem;border-radius:12px;font-size:.95rem;transition:background .2s;cursor:pointer;border:none;font-family:inherit}
.btn-submit:hover{background:#EA580C}
.contact-sidebar{display:flex;flex-direction:column;gap:1rem}
.contact-info-card{background:#fff;border-radius:20px;padding:1.25rem;border:1px solid rgba(0,0,0,.07)}
.contact-info-card h4{font-size:.7rem;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.contact-info-item{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:.625rem;font-size:.85rem;color:#4B5563}
.contact-info-item a{color:#2563EB}
.social-links-card{display:flex;flex-wrap:wrap;gap:.5rem}
.social-link-pill{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:10px;border:1px solid rgba(0,0,0,.08);font-size:.78rem;font-weight:600;color:#374151;transition:all .2s}
.social-link-pill:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.gbiz-card{display:flex;align-items:center;gap:.875rem;cursor:pointer;transition:box-shadow .2s}
.gbiz-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1)}
.gbiz-icon{width:40px;height:40px;border-radius:12px;background:#F8F9FA;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gbiz-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9CA3AF;margin-bottom:.2rem}
.gbiz-name{font-weight:700;font-size:.88rem;color:#111827;transition:color .2s}
.gbiz-card:hover .gbiz-name{color:#4285F4}
.gbiz-stars{font-size:.7rem;color:#F59E0B;margin-top:.2rem}
.free-consult{background:linear-gradient(135deg,#1A1E6B,#2563EB);border-radius:20px;padding:1.5rem;color:#fff}
.free-consult h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:.5rem}
.free-consult p{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:.875rem}
.success-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}
.success-icon{width:64px;height:64px;border-radius:50%;background:#ECFDF5;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:2rem}
.success-msg h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.4rem;color:#111827;margin-bottom:.625rem}
.success-msg p{color:#6B7280;max-width:340px}
/* Policy */
.policy-tabs{display:flex;gap:.5rem;border-bottom:2px solid rgba(0,0,0,.07);margin-bottom:2rem}
.policy-tab{padding:.75rem 1.25rem;font-weight:600;font-size:.875rem;color:#6B7280;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}
.policy-tab.active{color:#F97316;border-bottom-color:#F97316}
.policy-content h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.05rem;color:#111827;margin:1.5rem 0 .5rem}
.policy-content p{font-size:.875rem;color:#4B5563;line-height:1.8;margin-bottom:.75rem}
.policy-content ul{font-size:.875rem;color:#4B5563;line-height:1.8;padding-left:1.25rem;margin-bottom:.75rem}
/* Cart */
.cart-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}
.cart-items{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.07)}
.cart-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.06)}
.cart-item:last-child{border-bottom:none}
.cart-item__color{width:6px;align-self:stretch;border-radius:3px;flex-shrink:0}
.cart-item__info{flex:1}
.cart-item__name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;color:#111827;margin-bottom:.2rem}
.cart-item__cat{font-size:.72rem;font-weight:600}
.cart-item__price{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1rem;color:#111827}
.qty-ctrl{display:flex;align-items:center;gap:.5rem}
.qty-btn{width:28px;height:28px;border-radius:8px;border:1.5px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;background:transparent}
.qty-btn:hover{background:#F3F4F6}
.qty-val{font-weight:700;min-width:20px;text-align:center;font-size:.875rem}
.remove-btn{padding:.3rem .6rem;border-radius:8px;color:#EF4444;border:1.5px solid rgba(239,68,68,.2);font-size:.75rem;cursor:pointer;transition:all .2s;background:transparent}
.remove-btn:hover{background:#FEF2F2}
.cart-summary{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.07);position:sticky;top:80px}
.cart-summary h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;margin-bottom:1.25rem}
.summary-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.625rem;color:#4B5563}
.summary-row.total{font-weight:800;font-size:1rem;color:#111827;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08);margin-top:.5rem}
.gst-note{font-size:.72rem;color:#9CA3AF;margin:.625rem 0 1rem}
.btn-checkout{display:block;width:100%;background:#F97316;color:#fff;font-weight:700;padding:.875rem;border-radius:12px;font-size:.95rem;text-align:center;transition:background .2s;margin-top:.75rem}
.btn-checkout:hover{background:#EA580C}
.empty-cart{text-align:center;padding:4rem 2rem}
.empty-cart .icon{font-size:3rem;margin-bottom:1rem}
.empty-cart h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.1rem;color:#9CA3AF;margin-bottom:.5rem}
.empty-cart p{font-size:.85rem;color:#9CA3AF;margin-bottom:1.25rem}
/* Checkout */
.checkout-layout{display:grid;grid-template-columns:3fr 2fr;gap:2rem;align-items:start}
.checkout-form{background:#fff;border-radius:24px;padding:2rem;border:1px solid rgba(0,0,0,.07)}
.checkout-form h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.4rem;margin-bottom:1.5rem}
.section-divider{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;color:#9CA3AF;text-transform:uppercase;letter-spacing:.08em;margin:1.25rem 0 .875rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.07)}
.payment-opts{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}
.payment-opt{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:12px;border:1.5px solid rgba(0,0,0,.1);cursor:pointer;transition:all .15s}
.payment-opt.selected{border-color:#F97316;background:rgba(249,115,22,.05)}
.payment-opt input{accent-color:#F97316}
.payment-opt-label{font-weight:600;font-size:.875rem}
.order-summary-sticky{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.07);position:sticky;top:80px}
.order-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.83rem}
.order-item:last-of-type{border-bottom:none}
.order-item-name{color:#374151;flex:1;padding-right:.5rem}
.order-item-price{font-weight:700;color:#111827;flex-shrink:0}
/* Thank You */
.thankyou-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2rem;margin-top:64px}
.thankyou-card{background:#fff;border-radius:24px;padding:3rem 2rem;text-align:center;max-width:520px;width:100%;border:1px solid rgba(0,0,0,.07)}
.ty-icon{font-size:3.5rem;margin-bottom:1rem}
.thankyou-card h1{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.75rem;color:#111827;margin-bottom:.625rem}
.thankyou-card p{color:#6B7280;font-size:.9rem;margin-bottom:1.5rem}
.ty-steps{text-align:left;background:#F8F9FA;border-radius:16px;padding:1.25rem;margin-bottom:1.75rem}
.ty-step{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}
.ty-step-num{width:24px;height:24px;border-radius:50%;background:#F97316;color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.ty-step-text{font-size:.83rem;color:#4B5563;line-height:1.5}
/* Footer */
.sg-footer{background:#080C18;color:rgba(255,255,255,.6);padding:4rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem;margin-bottom:2.5rem}
.footer-logo{height:36px;object-fit:contain;object-position:left;filter:brightness(0) invert(1);opacity:.85;margin-bottom:1rem}
.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.3);line-height:1.7;margin-bottom:1.25rem}
.social-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.25);margin-bottom:.625rem}
.social-icons{display:flex;flex-wrap:wrap;gap:.5rem}
.social-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:all .2s}
.social-icon:hover{background:rgba(255,255,255,.12);color:#fff;transform:scale(1.1)}
.footer-col h4{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-col ul li a{font-size:.82rem;color:rgba(255,255,255,.3);transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:.625rem}
.contact-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:rgba(255,255,255,.3)}
.contact-list li a{color:rgba(255,255,255,.3);transition:color .2s}
.contact-list li a:hover{color:rgba(255,255,255,.7)}
.office-hours{font-size:.72rem;color:rgba(255,255,255,.2);margin:.625rem 0;line-height:1.8}
.google-biz-link{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:rgba(255,255,255,.25);margin-top:.5rem;transition:color .2s}
.google-biz-link:hover{color:rgba(255,255,255,.6)}
.footer-social-strip{border-top:1px solid rgba(255,255,255,.06);padding:1.5rem 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.footer-social-strip p{font-size:.82rem;color:rgba(255,255,255,.25)}
.social-strip-icons{display:flex;flex-wrap:wrap;gap:1.25rem}
.strip-social{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.25);font-size:.78rem;transition:color .2s}
.strip-social:hover{color:var(--sc)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.15)}
/* Nav Dropdown */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown__trigger{display:flex;align-items:center;gap:.3rem;cursor:pointer;background:none;border:none;color:rgba(255,255,255,.55);font-size:.875rem;font-weight:500;font-family:inherit;padding:.5rem .875rem;border-radius:8px;transition:all .2s}
.nav-dropdown__trigger:hover,.nav-dropdown.active .nav-dropdown__trigger{color:#fff;background:rgba(255,255,255,.08)}
.nav-dropdown__trigger svg{transition:transform .2s}
.nav-dropdown__menu{display:none;position:absolute;top:calc(100% + .625rem);left:50%;transform:translateX(-50%);background:#13182A;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.5rem;min-width:220px;box-shadow:0 24px 60px rgba(0,0,0,.5);z-index:500}
.nav-dropdown:hover .nav-dropdown__menu,.nav-dropdown.dd-open .nav-dropdown__menu{display:block}
.nav-dropdown:hover .nav-dropdown__trigger svg,.nav-dropdown.dd-open .nav-dropdown__trigger svg{transform:rotate(180deg)}
.nav-dropdown__all{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem .75rem;border-radius:10px 10px 0 0;font-size:.75rem;font-weight:700;color:rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:.375rem;transition:color .15s}
.nav-dropdown__all:hover{color:#fff}
.nav-dropdown__item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:10px;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.55);transition:all .15s}
.nav-dropdown__item:hover,.nav-dropdown__item.active{background:color-mix(in srgb,var(--dc,#3B82F6) 18%,transparent);color:#fff}
.nav-dropdown__icon{font-size:.95rem;width:22px;text-align:center;flex-shrink:0}
/* Toast */
.toast{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;background:#111827;color:#fff;font-size:.85rem;font-weight:600;padding:.875rem 1.25rem;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.25);display:flex;align-items:center;gap:.625rem;transform:translateY(100px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);max-width:320px}
.toast.show{transform:translateY(0);opacity:1}
/* Alert */
.alert{padding:.875rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.85rem}
.alert-success{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0}
.alert-error{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA}
/* Responsive */
@media(max-width:768px){
  .main-nav{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:#0D1117;padding:1rem;gap:.25rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .main-nav.open{display:flex}
  .hamburger{display:flex}
  .hero-inner{grid-template-columns:1fr}
  .hero-right{display:none}
  .about-hero,.contact-grid,.cart-layout,.checkout-layout{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .services-grid,.services-grid--3{grid-template-columns:1fr}
  .variants-grid{flex-direction:column}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
}