/* Brooklyn Home Help — minimal utility CSS (replaces full Tailwind CDN ~400KB) */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100%}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;max-width:100%}
button,input,select,textarea{font:inherit;margin:0}
/* iOS: 16px prevents auto-zoom on focus */
input,select,textarea{font-size:16px;max-width:100%}
button{cursor:pointer;touch-action:manipulation}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;touch-action:manipulation}
table{border-collapse:collapse;width:100%}

/* Layout */
.container{width:100%;max-width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.flex-1{flex:1 1 0%;min-width:0}
.flex-wrap{flex-wrap:wrap}
.grid{display:grid}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
#app{max-width:100%;overflow-x:hidden}
.hidden{display:none}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}
.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.divide-y>:not([hidden])~:not([hidden]){border-top:1px solid #e2e8f0}
.sticky{position:sticky}
/* CWV: stable header (CLS), list paint containment */
header.bg-slate-900{min-height:56px}
.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 120px}
.contain-card{contain:layout style}
.top-4{top:1rem}
.min-h-screen{min-height:100vh}
.w-full{width:100%}
.w-12{width:3rem}
.w-16{width:4rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-28{height:7rem}
.max-w-md{max-width:28rem}
.max-w-2xl{max-width:42rem}
.max-w-4xl{max-width:56rem}
.max-w-6xl{max-width:72rem}
.max-h-64{max-height:16rem}
.mx-auto{margin-left:auto;margin-right:auto}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list-disc{list-style-type:disc}
.pl-4{padding-left:1rem}

/* Spacing */
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.m-0{margin:0}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-12{margin-top:3rem}
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.ml-2{margin-left:.5rem}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.tracking-tight{letter-spacing:-.025em}
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.underline{text-decoration:underline}

/* Colors */
.text-white{color:#fff}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-emerald-600{color:#059669}
.text-emerald-700{color:#047857}
.text-emerald-800{color:#065f46}
.text-blue-600{color:#2563eb}
.text-blue-800{color:#1e40af}
.text-red-600{color:#dc2626}
.text-yellow-400{color:#facc15}
.bg-white{background-color:#fff}
.bg-slate-50{background-color:#f8fafc}
.bg-slate-100{background-color:#f1f5f9}
.bg-slate-200{background-color:#e2e8f0}
.bg-slate-700{background-color:#334155}
.bg-slate-800{background-color:#1e293b}
.bg-slate-900{background-color:#0f172a}
.bg-emerald-50{background-color:#ecfdf5}
.bg-emerald-100{background-color:#d1fae5}
.bg-emerald-600{background-color:#059669}
.bg-blue-100{background-color:#dbeafe}

/* Borders & radius */
.border{border:1px solid #e2e8f0}
.border-t{border-top:1px solid #e2e8f0}
.border-slate-200{border-color:#e2e8f0}
.border-emerald-200{border-color:#a7f3d0}
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.opacity-60{opacity:.6}
.cursor-pointer{cursor:pointer}
.transition{transition-property:color,background-color,border-color,box-shadow,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}

/* Hover */
.hover\:bg-emerald-500:hover{background-color:#10b981}
.hover\:bg-slate-600:hover{background-color:#475569}
.hover\:bg-slate-700:hover{background-color:#334155}
.hover\:border-emerald-400:hover{border-color:#34d399}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1)}
.hover\:text-emerald-400:hover{color:#34d399}
.hover\:text-yellow-400:hover{color:#facc15}

/* Mobile nav */
.nav-toggle{
  display:none;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:.5rem;
  background:#334155;color:#fff;border:0;border-radius:.5rem;font-size:1.25rem;line-height:1
}
.main-nav a,.main-nav button{min-height:44px;display:inline-flex;align-items:center;padding:.5rem .75rem}
.lang-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.5rem}

/* Responsive */
@media (min-width:640px){
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .nav-toggle{display:none !important}
  .main-nav{display:flex !important;flex-direction:row;flex-wrap:wrap;align-items:center;width:auto}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* iPhone / small screens */
@media (max-width:767px){
  .nav-toggle{display:inline-flex}
  .main-nav{
    display:none;flex-direction:column;align-items:stretch;
    width:100%;gap:.25rem;padding-top:.5rem
  }
  .main-nav.is-open{display:flex}
  .main-nav a,.main-nav button{width:100%;justify-content:flex-start}
  .main-nav .lang-switch{margin-left:0;padding:.25rem 0}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta a{width:100%;text-align:center;justify-content:center}
  .text-4xl{font-size:1.75rem;line-height:2rem}
  .text-xl{font-size:1.05rem;line-height:1.5rem}
  /* forms: avoid horizontal overflow */
  input,select,textarea,button{max-width:100%}
  /* cards / lead rows */
  .lead-card-actions{flex-direction:column;align-items:stretch}
  .lead-card-actions button{width:100%}
}

/* Safe area (notch) */
@supports (padding: max(0px)) {
  body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  header{padding-top:max(0px,env(safe-area-inset-top))}
}

/* Word break for long RU strings / emails */
.break-words{overflow-wrap:anywhere;word-break:break-word}
.top-0{top:0}
.z-10{z-index:10}

.object-cover{object-fit:cover}
.min-h-\[120px\]{min-height:120px}
.h-28{height:7rem}


.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}
.lightbox-overlay img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:.5rem}
.lightbox-close{position:absolute;top:1rem;right:1rem;min-width:44px;min-height:44px;background:#fff;border:0;border-radius:.5rem;font-size:1.5rem;line-height:1}
.min-h-\[44px\]{min-height:44px}
.min-w-\[44px\]{min-width:44px}
.h-32{height:8rem}
.text-base{font-size:1rem;line-height:1.5rem}
