:root {
  --primary: #5b21b6;
  --primary-light: #7c3aed;
  --primary-dark: #4c1d95;
  --accent: #8b5cf6;
  --dark: #0f172a;
  --text: #1e293b;
  --text-muted: #64748b;
  --bg: #f8fafc;
  --white: #fff;
  --border: #e2e8f0;
  --success: #10b981;
  --danger: #ef4444;
  --radius: 12px;
  --shadow: 0 4px 24px rgba(0,0,0,0.06);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);line-height:1.6;display:flex;flex-direction:column;min-height:100vh;overflow-x:clip}
body > *{flex:0 0 auto}
body > .footer{margin-top:auto}
a{text-decoration:none;color:inherit;transition:.25s}
img{max-width:100%;display:block}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Top Bar */
.topbar{
  background:linear-gradient(90deg,#4c1d95,#5b21b6,#6d28d9);
  color:#fff;font-size:.85rem;padding:8px 0;
}
.topbar-inner{display:flex;justify-content:space-between;align-items:center}
.topbar-left{display:flex;gap:24px;align-items:center}
.topbar-left a{color:rgba(255,255,255,.9);display:flex;align-items:center;gap:6px}
.topbar-left a:hover{color:#fff}
.topbar-right{display:flex;gap:14px}
.topbar-right a{color:rgba(255,255,255,.85);font-size:.95rem}
.topbar-right a:hover{color:#fff}

/* Main Header */
.header{
  background:var(--white);box-shadow:0 2px 12px rgba(0,0,0,.05);
  position:sticky;top:0;z-index:1000;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px;
}
.logo{font-size:1.55rem;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:6px;flex-shrink:0}
.logo span{color:var(--primary)}
.logo .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}

.nav{display:flex;gap:8px;align-items:center;flex:1;justify-content:center}
.nav a{
  font-weight:500;font-size:.95rem;color:var(--text);padding:8px 14px;border-radius:8px;
}
.nav a:hover,.nav a.active{color:var(--primary);background:rgba(91,33,182,.06)}

.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.search-box{
  display:flex;align-items:center;background:#f1f5f9;border-radius:50px;padding:6px 14px;gap:8px;
  border:1px solid transparent;transition:.25s;
}
.search-box:focus-within{border-color:var(--primary);background:#fff}
.search-box input{border:none;background:transparent;outline:none;font-size:.9rem;width:140px}
.search-box button{background:var(--primary);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}

.icon-btn{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;position:relative;background:#fff;
  color:var(--text);font-size:1.1rem;transition:.25s;
}
.icon-btn:hover{border-color:var(--primary);color:var(--primary)}
.cart-badge{
  position:absolute;top:-4px;right:-4px;background:var(--primary);color:#fff;
  font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.mobile-toggle{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:8px;
  font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:.25s;
}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(91,33,182,.35)}
.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-sm{padding:7px 14px;font-size:.82rem}
.btn-white{background:#fff;color:var(--primary)}
.btn-white:hover{background:#f1f5f9}
.btn-block{width:100%;justify-content:center}

/* Hero */
.hero{
  background:linear-gradient(135deg,#faf5ff 0%,#f5f3ff 40%,#ede9fe 100%);
  padding:80px 0 70px;position:relative;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:28px;align-items:center;}
/* Grid/flex children must be allowed to shrink below their content width,
   otherwise the Swiper carousel's intrinsic width blows the track out to a
   huge value and the whole hero overflows on small screens. */
.hero-grid > *{min-width:0;max-width:100%}
.hero-badge{
  display:inline-block;background:#fff;color:var(--primary);padding:6px 16px;
  border-radius:50px;font-size:.8rem;font-weight:600;margin-bottom:18px;
  box-shadow:0 2px 10px rgba(91,33,182,.1);
}
.hero h1{font-size:3rem;font-weight:800;line-height:1.15;margin-bottom:16px;color:var(--dark)}
.hero h1 span{color:var(--primary)}
.hero p{font-size:1.1rem;color:var(--text-muted);margin-bottom:28px;max-width:480px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-img-wrap{
  position:relative;display:flex;justify-content:center;
  min-width:0;max-width:100%;
}
.hero-img-wrap img{
  width:100%;max-width:420px;border-radius:50% 50% 50% 50% / 40% 40% 60% 60%;
  object-fit:cover;height:420px;border:6px solid #fff;
  box-shadow:0 20px 50px rgba(91,33,182,.2);
}
.hero-img-ring{
  position:absolute;inset:-12px;border:3px solid var(--accent);border-radius:50% 50% 50% 50% / 40% 40% 60% 60%;
  opacity:.5;pointer-events:none;
}

/* Section */
.section{padding:70px 0}
.section-header{text-align:center;margin-bottom:45px}
.section-header .badge{
  display:inline-block;background:rgba(91,33,182,.08);color:var(--primary);
  padding:5px 14px;border-radius:20px;font-size:.78rem;font-weight:600;margin-bottom:10px;
}
.section-header h2{font-size:2rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.section-header p{color:var(--text-muted);max-width:560px;margin:0 auto}

/* Services Grid - equal height cards */
.services-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;
}
.service-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);border:1px solid var(--border);transition:.35s;
  display:flex;flex-direction:column;height:100%;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(91,33,182,.2)}
.service-card .card-img{width:100%;height:190px;object-fit:cover;flex-shrink:0}
.service-body{padding:20px;display:flex;flex-direction:column;flex:1}
.service-cat{font-size:.72rem;color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.service-body h3{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:8px;line-height:1.3}
.service-body p{
  font-size:.88rem;color:var(--text-muted);margin-bottom:16px;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.service-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}
.service-price{font-size:1.25rem;font-weight:800;color:var(--primary)}
.service-price span{font-size:.8rem;font-weight:500;color:var(--text-muted)}

/* Why / Features */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.why-card{
  background:var(--white);padding:28px;border-radius:var(--radius);text-align:center;
  box-shadow:var(--shadow);border:1px solid var(--border);transition:.3s;
}
.why-card:hover{border-color:rgba(91,33,182,.25)}
.why-icon{
  width:56px;height:56px;background:linear-gradient(135deg,var(--primary),var(--accent));
  border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;font-size:1.35rem;color:#fff;
}
.why-card h3{font-size:1.05rem;margin-bottom:8px;color:var(--dark)}
.why-card p{font-size:.88rem;color:var(--text-muted)}

/* Payment */
.payment-section{background:var(--dark);color:#fff;padding:50px 0}
.payment-section h2{text-align:center;margin-bottom:8px;font-size:1.6rem}
.payment-section>.container>p{text-align:center;opacity:.75;margin-bottom:30px;font-size:.95rem}
.payment-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.pay-badge{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  padding:10px 20px;border-radius:10px;font-weight:600;font-size:.9rem;
  display:flex;align-items:center;gap:8px;
}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.testimonial-card{
  background:var(--white);padding:26px;border-radius:var(--radius);
  box-shadow:var(--shadow);border:1px solid var(--border);
}
.testimonial-card p{font-style:italic;color:var(--text-muted);margin-bottom:16px;font-size:.92rem}
.testimonial-author{display:flex;align-items:center;gap:12px}
.author-avatar{
  width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;
}
.author-info h4{font-size:.92rem}
.author-info span{font-size:.78rem;color:var(--text-muted)}

/* CTA */
.cta-section{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;
  padding:60px 0;text-align:center;
}
.cta-section h2{font-size:1.9rem;margin-bottom:10px}
.cta-section p{opacity:.9;margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}

/* Footer */
.footer{background:var(--dark);color:#94a3b8;padding:55px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.footer-brand h3{color:#fff;font-size:1.3rem;margin-bottom:12px}
.footer-brand p{font-size:.88rem;line-height:1.7}
.footer h4{color:#fff;font-size:.95rem;margin-bottom:14px}
.footer ul li{margin-bottom:9px;font-size:.88rem}
.footer ul a:hover{color:var(--accent)}
.footer-bottom a{color:var(--accent)}

/* Page Header */
.page-header{
  background:linear-gradient(135deg,#4c1d95,#5b21b6);color:#fff;
  padding:50px 0 42px;text-align:center;
}
.page-header h1{font-size:2.2rem;margin-bottom:6px}
.page-header p{opacity:.85}

/* Forms */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:8px;
  font-size:.92rem;font-family:inherit;transition:.25s;background:#fff;
}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,33,182,.12)}
.form-group textarea{min-height:110px;resize:vertical}
.auth-box{
  max-width:420px;margin:0 auto;background:#fff;padding:36px;border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
}
.auth-box h2{text-align:center;margin-bottom:6px;font-size:1.5rem}
.auth-box .subtitle{text-align:center;color:var(--text-muted);margin-bottom:24px;font-size:.9rem}
.auth-box .switch{text-align:center;margin-top:18px;font-size:.9rem;color:var(--text-muted)}
.auth-box .switch a{color:var(--primary);font-weight:600}

/* Cart & Checkout */
.cart-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.cart-table th,.cart-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}
.cart-table th{background:#f8fafc;font-size:.8rem;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.cart-table img{width:60px;height:45px;object-fit:cover;border-radius:6px}
.cart-summary{
  background:#fff;padding:22px 24px;border-radius:var(--radius);box-shadow:var(--shadow);
  border:1px solid var(--border);
}
.cart-summary h3{margin-bottom:14px;font-size:1.15rem;font-weight:700;color:var(--dark)}
.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:.92rem;color:var(--text)}
.summary-row span:last-child{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.summary-row.total{font-size:1.15rem;font-weight:800;color:var(--primary);border-top:1px solid var(--border);padding-top:14px;margin-top:12px;margin-bottom:0}
.summary-row.total span:last-child{font-size:1.2rem}

/* Alert */
.alert{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:.9rem}
.alert-success{background:#d1fae5;color:#065f46}
.alert-error{background:#fee2e2;color:#991b1b}
.alert-info{background:#ede9fe;color:#5b21b6}

/* Policy */
.policy-content{
  background:#fff;padding:36px;border-radius:var(--radius);box-shadow:var(--shadow);max-width:860px;margin:0 auto;
}
.policy-content h2{font-size:1.25rem;margin:24px 0 10px;color:var(--dark)}
.policy-content h2:first-child{margin-top:0}
.policy-content p,.policy-content li{color:var(--text-muted);margin-bottom:10px;font-size:.92rem}
.policy-content ul{padding-left:18px;list-style:disc}
.company-block{margin-top:26px;padding:16px 18px;background:#f8fafc;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;font-size:.88rem;line-height:1.8;color:var(--text-muted)}
.company-block strong{color:var(--text)}
.company-block a{color:var(--primary)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:36px}
.contact-info-card,.contact-form{background:#fff;padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-info-item{display:flex;gap:14px;margin-bottom:20px}
.contact-info-item .icon{
  width:42px;height:42px;background:rgba(91,33,182,.08);border-radius:10px;
  display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0;
}

/* Empty state */
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}
.empty-state i{font-size:3rem;margin-bottom:16px;opacity:.4}
.empty-state h3{margin-bottom:8px;color:var(--dark)}

/* ==========================================================================
   Payment icons — one consistent ratio everywhere (48x32 artwork)
   ========================================================================== */
.pay-ic{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0}
.pay-ic svg{display:block;width:100%;height:auto}
.pay-ic--xs{width:30px;height:20px}
.pay-ic--sm{width:38px;height:25.34px}
.pay-ic--md{width:48px;height:32px}
.pay-ic--lg{width:64px;height:42.67px}
.pay-ic-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}

/* ==========================================================================
   Footer — 5 explicit columns, sticky to the bottom on short pages
   ========================================================================== */
html{scroll-padding-bottom:90px}
.footer{background:var(--dark);color:#94a3b8;padding:56px 0 0;margin-top:auto}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr .9fr .9fr 1.15fr 1.5fr;
  gap:34px;align-items:start;margin-bottom:8px;
}
.footer-brand h3{color:#fff;font-size:1.32rem;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.footer-brand h3 i{color:var(--accent)}
.footer-brand h3 span{color:var(--accent)}
.footer-brand p{font-size:.87rem;line-height:1.7;margin-bottom:16px}
.footer-company{font-size:.82rem;line-height:1.7;color:#8494a8;margin-bottom:16px}
.footer-company strong{color:#cbd5e1}
.footer-company a{color:var(--accent)}
.footer-social{display:flex;gap:9px}
.footer-social a{
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.07);color:#cbd5e1;font-size:.9rem;transition:.25s;
}
.footer-social a:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.footer h4{color:#fff;font-size:.94rem;font-weight:700;margin-bottom:15px;letter-spacing:.2px}
.footer ul li{margin-bottom:9px;font-size:.87rem;line-height:1.5}
.footer ul a{color:#94a3b8}
.footer ul a:hover{color:var(--accent)}
.footer-contact li{display:flex;gap:9px;align-items:flex-start}
.footer-contact li i{color:var(--accent);margin-top:4px;width:14px;flex:0 0 auto}
.footer-pay .footer-pay-icons{justify-content:flex-start;gap:7px;margin-bottom:12px}
.footer-pay-note{font-size:.8rem;line-height:1.6;color:#8494a8;margin-bottom:10px}
.footer-pay-secure{font-size:.82rem;color:#a7f3c6;display:flex;align-items:center;gap:7px}
/* The <hr> carries its own colour (see .footer-divider); this wrapper just
   spaces the copy and the legal links, and stacks them on small screens. */
.footer-bottom{padding:20px 0 24px;font-size:.82rem}
.footer-bottom-inner{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.footer-copy{margin:0;color:#8494a8}
.footer-legal{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.footer-legal a{color:var(--accent)}
.footer-legal a:hover{color:#fff}
.footer-legal span{color:#475569}

/* Cookie bar — fixed, with space reserved so it never covers footer links */
.cookie-banner{
  display:none;position:fixed;bottom:0;left:0;right:0;background:#0f172a;color:#fff;
  padding:14px 20px;z-index:9990;box-shadow:0 -4px 20px rgba(0,0,0,.25);
  border-top:1px solid rgba(255,255,255,.08);
}
.cookie-banner.is-visible{display:block}
.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cookie-banner-inner p{margin:0;font-size:.87rem;flex:1;min-width:220px}
.cookie-banner-inner a{color:var(--accent);text-decoration:underline}
body.has-cookiebar{padding-bottom:78px}

/* ==========================================================================
   Star ratings + review widgets
   ========================================================================== */
.stars{display:inline-flex;gap:2px;color:#f59e0b;font-size:.9rem;line-height:1}
.stars .star-off{color:#cbd5e1;opacity:.55}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin-bottom:4px}
.star-input input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.star-input label{cursor:pointer;font-size:1.55rem;color:#cbd5e1;line-height:1;transition:.18s;margin:0}
.star-input label:hover,.star-input label:hover ~ label,
.star-input input:checked ~ label{color:#f59e0b}
.star-input input:focus-visible + label{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}

.review-summary{
  display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow);margin-bottom:36px;
}
.review-score{text-align:center}
.review-score strong{display:block;font-size:2.7rem;font-weight:800;color:var(--primary);line-height:1}
.review-score .stars{font-size:1rem;margin:6px 0 4px}
.review-bars{display:grid;gap:7px}
.review-bar{display:grid;grid-template-columns:46px 1fr 32px;gap:10px;align-items:center;font-size:.85rem}
.review-bar-track{height:8px;background:#e2e8f0;border-radius:20px;overflow:hidden;display:block}
.review-bar-fill{display:block;height:100%;background:#f59e0b;border-radius:20px}
.testimonial-title{font-size:.98rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.rating-inline{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.reviews-block{margin-top:50px}
.reviews-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.reviews-head h3{margin:0}

/* ==========================================================================
   Review modal
   ========================================================================== */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:10000;
  display:none;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.modal-backdrop.is-open{display:flex}
body.modal-open{overflow:hidden}
.modal{
  background:#fff;border-radius:var(--radius);width:100%;max-width:520px;
  box-shadow:var(--shadow-lg);animation:modalIn .22s ease-out;margin:auto 0;
}
@keyframes modalIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}
.modal-head h3{font-size:1.05rem;margin:0;color:var(--dark);display:flex;align-items:center;gap:8px}
.modal-head h3 i{color:#f59e0b}
.modal-close{background:none;border:none;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 4px}
.modal-close:hover{color:var(--danger)}
.modal-body{padding:22px 24px 24px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* ==========================================================================
   Checkout — gateway picker + card form
   ========================================================================== */
.checkout-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
.pay-list{display:grid;gap:10px}
.pay-option{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 16px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;
  transition:.2s;background:#fff;margin:0;
}
.pay-option:hover{border-color:rgba(91,33,182,.45);background:#faf9ff}
.pay-option.is-selected{border-color:var(--primary);background:rgba(91,33,182,.05);box-shadow:0 0 0 3px rgba(91,33,182,.1)}
.pay-option input[type=radio]{width:18px;height:18px;accent-color:var(--primary);margin:0;flex:0 0 auto}
.pay-option-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.pay-option-text{display:flex;flex-direction:column;min-width:0}
.pay-option-text strong{font-size:.95rem;font-weight:650;color:var(--text);line-height:1.3}
.pay-option-sub{font-size:.74rem;color:var(--text-muted);line-height:1.4;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pay-option-brands{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-items:center;flex:0 0 auto;max-width:140px}
.card-fields{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:16px 16px 6px;margin-bottom:16px}
.card-fields-head{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.9rem;margin-bottom:14px;color:var(--dark)}
.card-fields-head i{color:var(--success)}
.card-fields-head .pay-ic-row{margin-left:auto;gap:5px}
.card-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.accepted-cards{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}

/* ==========================================================================
   Billing address  (checkout)
   --------------------------------------------------------------------------
   Card networks verify the cardholder address through AVS, so this block is
   always visible — not tucked behind the "card details" accordion. Errors are
   reported per field, never as one blanket message.
   ========================================================================== */
.billing-block .card-fields-head i{color:var(--primary)}
.req-note{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--text-muted);
  background:#fff;border:1px solid var(--border);border-radius:20px;padding:2px 10px;white-space:nowrap}
.form-group .req{color:var(--danger);font-weight:700}
.form-group .opt{color:var(--text-muted);font-weight:500;font-size:.78rem}
.field-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:-8px;margin-bottom:4px}
.field-error{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;
  color:var(--danger);margin-top:-8px;margin-bottom:10px}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{
  border-color:var(--danger);background:#fff7f7}
.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{
  border-color:var(--danger);box-shadow:0 0 0 3px rgba(239,68,68,.14)}
.billing-row-3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.billing-block input[type=text],.billing-block select{max-width:100%}
#stateSelect,#stateTextInput{width:100%}
.billing-recap{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.billing-recap strong{display:block;font-size:.82rem;margin-bottom:5px}
.billing-recap span{display:block;line-height:1.55;word-break:break-word}
@media(max-width:640px){
  .billing-row-3{grid-template-columns:1fr}
  .req-note{margin-left:0;width:100%;text-align:center}
}

/* ==========================================================================
   Service detail
   ========================================================================== */
.service-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}
.service-gallery{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}
.service-gallery > img{width:100%;height:360px;object-fit:cover}
.gallery-thumbs{display:flex;gap:8px;padding:12px;flex-wrap:wrap}
.gallery-thumbs img{width:70px;height:55px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent}
.gallery-thumbs img.is-active{border-color:var(--primary)}
.service-detail-title{font-size:1.6rem;margin-bottom:12px;color:var(--dark)}
.service-detail-price{font-size:1.8rem;margin-bottom:16px}
.service-desc{color:var(--text-muted);margin-bottom:24px;line-height:1.7}
.service-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.service-perks{background:#f8fafc;padding:16px;border-radius:10px;font-size:.9rem;color:var(--text-muted)}
.service-perks p{margin-bottom:6px;display:flex;align-items:center;gap:8px}
.service-perks p:last-child{margin-bottom:0}
.service-perks i{color:var(--success)}

@media(max-width:991px){
  .hero{overflow:visible;padding:48px 0 40px}
  .hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    text-align:center;
    gap:28px;
  }
  .hero-grid > *{min-width:0;max-width:100%}
  /* Text first, image second — both always visible */
  .hero-grid > div:first-child{order:1;display:block !important;visibility:visible !important;width:100%}
  .hero-img-wrap{order:2;display:flex !important;visibility:visible !important;width:100%;max-width:100%;margin:0 auto}
  .hero p{margin-left:auto;margin-right:auto;max-width:100%}
  .hero-btns{justify-content:center}
  .hero-img-wrap img{max-width:280px;height:280px}
  .hero-swiper{width:100%;max-width:100%;min-width:0;margin:0 auto;border-radius:14px}
  .hero-swiper .swiper-slide{height:220px}
  .hero h1{font-size:2rem}
  .nav{display:none}
  .nav.open{
    display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;
    background:#fff;padding:16px;box-shadow:var(--shadow);gap:4px;z-index:999;
  }
  .mobile-toggle{display:block}
  .search-box{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .contact-grid{grid-template-columns:1fr}
  .checkout-grid{grid-template-columns:1fr}
  .service-detail{grid-template-columns:1fr}
  .review-summary{grid-template-columns:1fr;gap:18px}
  .pay-option{flex-wrap:wrap}
  .pay-option-brands{max-width:100%;justify-content:flex-start}
}
@media(max-width:640px){
  .footer-grid{grid-template-columns:1fr}
  .topbar-left a:first-child{display:none}
  .footer-bottom-inner{flex-direction:column;text-align:center;gap:8px}
  .card-row{grid-template-columns:1fr}
  .review-bar{grid-template-columns:40px 1fr 28px;gap:8px}
  .footer-pay .footer-pay-icons{justify-content:center}
  .footer-brand,.footer-pay{text-align:center}
  .footer-brand h3{justify-content:center}
  .footer-social{justify-content:center}
}
@media(max-width:420px){
  .pay-ic--md{width:40px;height:26.67px}
  .pay-ic--sm{width:32px;height:21.34px}
}

/* ==========================================================================
   Checkout layout — payment methods live in the RIGHT column
   --------------------------------------------------------------------------
   One <form> wraps both grid columns, so the gateway radios and the order
   summary sit together on the right while the billing address stays on the
   left. Each gateway is its own bordered option with its own radio; selecting
   one never marks another (native radio behaviour, same `name`).
   ========================================================================== */
.checkout-form{margin:0}
.checkout-left{min-width:0}
.payment-col{display:flex;flex-direction:column;gap:22px;min-width:0}
.payment-card{
  background:#fff;padding:22px 24px;border-radius:var(--radius);box-shadow:var(--shadow);
  border:1px solid var(--border);
}
.payment-card > h3{margin-bottom:4px;font-size:1.15rem;font-weight:700;color:var(--dark)}
.payment-card .payment-sub{font-size:.82rem;color:var(--text-muted);margin-bottom:16px;line-height:1.45}
.payment-card .pay-list{gap:10px}
/* Each gateway gets a clearly separable, clickable card of its own. Radio on left, brands on right. */
.payment-card .pay-option{align-items:center;gap:14px}
.payment-card .pay-option input[type=radio]{order:-1}
/* The Place Order bar sits under both columns, so the order of the fields
   above it (address -> payment -> confirm) reads the way the buyer works. */
.checkout-actions{grid-column:1 / -1;margin-top:4px}

/* ==========================================================================
   Footer divider
   --------------------------------------------------------------------------
   The footer <hr> used to inherit the browser default (a mid-grey hairline
   that looked like an unstyled leftover). Give it an intentional, branded
   gradient that fades at both ends, so it reads as a designed rule.
   ========================================================================== */
.footer-divider{
  border:none;height:1px;margin:0 0 24px;
  background:linear-gradient(90deg,
    rgba(139,92,246,0) 0%,
    rgba(139,92,246,.55) 18%,
    rgba(167,139,250,.85) 50%,
    rgba(139,92,246,.55) 82%,
    rgba(139,92,246,0) 100%);
}

/* ==========================================================================
   Terms & conditions (checkout)
   ========================================================================== */
.terms-group{margin-top:2px}
.terms-label{
  display:flex;gap:11px;align-items:flex-start;margin:0;cursor:pointer;
  font-weight:500;font-size:.75rem;line-height:1.55;color:var(--text-muted);
  background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:13px 15px;
  transition:.2s;
}
.terms-label:hover{border-color:rgba(91,33,182,.35)}
.terms-label input[type=checkbox]{
  width:18px;height:18px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--primary);cursor:pointer;
}
.terms-label a{color:var(--primary);font-weight:600;text-decoration:underline}
.terms-label a:hover{color:var(--primary-dark)}
.terms-label .req{color:var(--danger);font-weight:700}
.terms-group.has-error .terms-label{border-color:var(--danger);background:#fff7f7}
.terms-group .field-error{margin:8px 0 0}

/* ==========================================================================
   Address auto-suggest (checkout billing address)
   ========================================================================== */
.addr-hint{
  display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-muted);
  margin:-8px 0 10px;
}
.addr-hint i{color:var(--primary)}
.addr-suggest{
  display:none;position:relative;z-index:40;max-height:286px;overflow-y:auto;
  background:#fff;border:1px solid var(--border);border-radius:10px;
  box-shadow:0 10px 28px rgba(15,23,42,.13);margin:-6px 0 14px;
}
.addr-suggest.is-open{display:block}
.addr-suggest-item{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  background:none;border:none;font-family:inherit;font-size:.86rem;color:var(--text);
  padding:10px 14px;cursor:pointer;transition:.15s;
}
.addr-suggest-item + .addr-suggest-item{border-top:1px solid var(--border)}
.addr-suggest-item:hover,.addr-suggest-item:focus{background:rgba(91,33,182,.06);outline:none}
.addr-suggest-item i{color:var(--primary);font-size:.8rem;flex:0 0 auto}
.addr-suggest-city{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.addr-suggest-zip{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums;flex:0 0 auto}

/* ==========================================================================
   Marquee — scrolling news/offers strip above the footer
   --------------------------------------------------------------------------
   Two identical groups sit side by side inside a width:max-content track;
   animating the track to translateX(-50%) loops seamlessly with no gap and
   no JavaScript. Pauses on hover, and stops entirely for visitors who ask
   for reduced motion.
   ========================================================================== */
.marquee{
  position:relative;overflow:hidden;color:#fff;padding:15px 0;isolation:isolate;
}
.marquee--gradient{background:linear-gradient(90deg,var(--primary-dark),var(--primary) 42%,var(--accent))}
.marquee--dark{background:var(--dark);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.marquee--accent{
  background:repeating-linear-gradient(135deg,
    var(--primary) 0,var(--primary) 20px,var(--accent) 20px,var(--accent) 40px);
}
.marquee::before,.marquee::after{
  content:'';position:absolute;top:0;bottom:0;width:64px;z-index:2;pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,0))}
.marquee::after{right:0;background:linear-gradient(270deg,rgba(0,0,0,.25),rgba(0,0,0,0))}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee-scroll var(--marquee-duration,26s) linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;flex:0 0 auto}
.marquee-item{
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  font-weight:600;font-size:.92rem;letter-spacing:.2px;padding:0 26px;
}
.marquee-item i{color:#fde68a;font-size:.72rem;opacity:.95}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none;justify-content:center;width:100%}
  .marquee-group[aria-hidden="true"]{display:none}
}
@media(max-width:640px){
  .marquee{padding:12px 0}
  .marquee-item{font-size:.84rem;padding:0 18px}
  .marquee::before,.marquee::after{width:34px}
}
footer ul li a {
    display: flex;
    align-items: center;
    gap: 8px;
}

footer ul li a img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    flex-shrink: 0;
}
/* ==========================================================================
   Contact page — phone highlight box + lead text
   ========================================================================== */
.contact-lead{color:var(--text-muted);font-size:.92rem;line-height:1.55;margin-bottom:20px}
.contact-phone-box{
  display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:22px;
  background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 55%,#8b5cf6 100%);
  border-radius:14px;color:#fff;text-decoration:none;transition:.2s;
  box-shadow:0 8px 24px rgba(91,33,182,.28);
}
.contact-phone-box:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(91,33,182,.35);color:#fff}
.contact-phone-icon{
  width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex:0 0 auto;
}
.contact-phone-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.contact-phone-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.85}
.contact-phone-number{font-size:1.15rem;font-weight:700;letter-spacing:.01em;line-height:1.2}
.contact-phone-hint{font-size:.72rem;opacity:.75}
.contact-phone-arrow{opacity:.7;font-size:.9rem}
.contact-info-item a{color:var(--primary);font-weight:600}
.contact-info-item a:hover{text-decoration:underline}

/* ==========================================================================
   Stats / Counter section (scroll count-up)
   ========================================================================== */
.stats-section{
  position:relative;padding:70px 0;overflow:hidden;
  background:linear-gradient(120deg,rgba(14,116,200,.88) 0%,rgba(91,33,182,.9) 100%),
             url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=80') center/cover no-repeat;
  color:#fff;
}
.stats-section::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,116,200,.55),rgba(91,33,182,.45));
  pointer-events:none;
}
.stats-section .container{position:relative;z-index:1}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;
}
.stat-item{padding:12px 8px}
.stat-number{
  font-size:2.75rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;
  margin-bottom:6px;font-variant-numeric:tabular-nums;
}
.stat-label{
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  opacity:.92;
}
@media(max-width:991px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 20px}
  .stat-number{font-size:2.35rem}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:24px 12px}
  .stat-number{font-size:2rem}
  .stats-section{padding:50px 0}
}

/* ==========================================================================
   Services pagination (dots style)
   ========================================================================== */
.svc-pagination{
  display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px;flex-wrap:wrap;
}
.svc-pagination a,.svc-pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border-radius:50%;
  font-weight:700;font-size:.95rem;text-decoration:none;transition:.2s;
  border:2px solid var(--primary);color:var(--primary);background:#fff;
}
.svc-pagination a:hover{background:rgba(91,33,182,.08)}
.svc-pagination .is-active{
  background:var(--primary);color:#fff;border-color:var(--primary);
  box-shadow:0 4px 14px rgba(91,33,182,.3);
}
.svc-pagination .svc-next{
  border-radius:20px;padding:0 16px;gap:6px;
}

/* Section / card slide-in on scroll (agency-style) */
.reveal-on-scroll{
  opacity:0;
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.reveal-on-scroll.reveal-up{transform:translateY(36px)}
.reveal-on-scroll.reveal-left{transform:translateX(-40px)}
.reveal-on-scroll.reveal-right{transform:translateX(40px)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
/* On narrow screens a horizontal slide-in would push past the viewport edge,
   so the reveal becomes a vertical one (and the body clips any residue). */
@media(max-width:991px){
  .reveal-on-scroll.reveal-left,
  .reveal-on-scroll.reveal-right{transform:translateY(24px)}
}
@media(prefers-reduced-motion:reduce){
  .reveal-on-scroll{opacity:1;transform:none;transition:none}
}

.footer-brand-link{
  color:#e2e8f0;font-weight:700;text-decoration:none;border-bottom:1px solid transparent;
  transition:.2s;
}
.footer-brand-link:hover{color:#fff;border-bottom-color:var(--accent)}
.footer-copy a.footer-brand-link{color:#e2e8f0}

/* ==========================================================================
   About page
   ========================================================================== */
.about-story-grid{
  display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;
}
.about-story-text h2{font-size:1.75rem;margin:10px 0 16px;line-height:1.3;color:var(--dark)}
.about-story-text p{color:var(--text-muted);line-height:1.7;margin-bottom:14px}
.about-story-meta{
  display:flex;flex-wrap:wrap;gap:28px;margin-top:28px;padding-top:22px;
  border-top:1px solid var(--border);
}
.about-story-meta strong{display:block;font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1.1}
.about-story-meta span{font-size:.78rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.about-story-img-wrap{
  border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);
}
.about-story-img-wrap img{width:100%;height:380px;object-fit:cover;display:block}

.about-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.about-mv-card{
  background:#fff;padding:28px;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);
}
.about-mv-icon{
  width:48px;height:48px;border-radius:12px;background:rgba(91,33,182,.1);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:14px;
}
.about-mv-card h3{margin-bottom:12px;font-size:1.15rem}
.about-mv-card ul{padding-left:18px;margin:0}
.about-mv-card li{color:var(--text-muted);margin-bottom:8px;line-height:1.5;font-size:.92rem}

.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.about-value-card{
  background:#fff;padding:24px;border-radius:14px;border:1px solid var(--border);
  transition:.2s;
}
.about-value-card:hover{border-color:rgba(91,33,182,.35);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.about-value-icon{
  width:44px;height:44px;border-radius:10px;background:rgba(91,33,182,.09);color:var(--primary);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:1.1rem;
}
.about-value-card h3{font-size:1.02rem;margin-bottom:8px}
.about-value-card p{font-size:.88rem;color:var(--text-muted);line-height:1.55;margin:0}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.team-card{
  background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:24px 20px;text-align:center;
  transition:.2s;
}
.team-card:hover{background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.07);border-color:rgba(91,33,182,.25)}
.team-avatar{
  width:72px;height:72px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:1.25rem;letter-spacing:.02em;
}
.team-card h3{font-size:1.05rem;margin-bottom:4px}
.team-role{display:block;font-size:.78rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.team-card p{font-size:.86rem;color:var(--text-muted);line-height:1.5;margin:0}

.about-focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.about-focus-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 18px;text-align:center;
}
.about-focus-card i{font-size:1.5rem;color:var(--primary);margin-bottom:12px}
.about-focus-card h3{font-size:.98rem;margin-bottom:8px}
.about-focus-card p{font-size:.84rem;color:var(--text-muted);line-height:1.5;margin:0}

@media(max-width:991px){
  .about-story-grid{grid-template-columns:1fr;gap:28px}
  .about-story-img-wrap img{height:280px}
  .about-mv-grid{grid-template-columns:1fr}
  .about-values-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .about-focus-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .about-values-grid,.team-grid,.about-focus-grid{grid-template-columns:1fr}
  .about-story-meta{gap:18px}
}


/* Checkout legal / AVS notes — smaller */
.checkout-legal-note{font-size:.72rem!important;line-height:1.5;color:var(--text-muted);margin-top:6px}
.terms-group .terms-label{font-size:.74rem;line-height:1.5;padding:11px 13px}
.terms-group .terms-label a{font-size:inherit}
.card-fields .small.muted,.payment-card .small.muted{font-size:.72rem!important;line-height:1.45}

/* Hero Swiper */
.hero-swiper{width:100%;max-width:100%;min-width:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.hero-swiper .swiper-slide{position:relative;height:420px}
.hero-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-swiper .hero-slide-cap{
  position:absolute;left:0;right:0;bottom:0;padding:28px 24px 32px;
  background:linear-gradient(transparent,rgba(15,23,42,.82));color:#fff;
}
.hero-swiper .hero-slide-cap h3{font-size:1.25rem;margin-bottom:6px;font-weight:700}
.hero-swiper .hero-slide-cap p{font-size:.9rem;opacity:.9;margin:0;line-height:1.45}
.hero-swiper .swiper-pagination-bullet-active{background:#fff}
.hero-swiper .swiper-button-next,.hero-swiper .swiper-button-prev{color:#fff;--swiper-navigation-size:22px}
@media(max-width:640px){
  .hero{padding:36px 0 32px}
  .hero h1{font-size:1.75rem}
  .hero p{font-size:.95rem}
  .hero-swiper .swiper-slide{height:200px}
  .hero-swiper .hero-slide-cap{padding:14px 12px 18px}
  .hero-swiper .hero-slide-cap h3{font-size:.95rem}
  .hero-swiper .hero-slide-cap p{font-size:.8rem}
  .hero-img-wrap img{max-width:240px;height:240px}
}

/* Team photo on about */
.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.team-avatar.has-photo{padding:0;overflow:hidden;background:#e2e8f0}
