/*!
 * tw-patch.css — supplemental Tailwind utilities.
 *
 * This site ships Tailwind PRE-COMPILED and inlined in each page's <style>
 * block; there is no build step, no tailwind.config.js and no node_modules.
 * Any utility class that was not present in the original markup therefore has
 * no CSS behind it. This file supplies exactly those missing rules — both the
 * ones introduced by the rebuild and a few that were already missing in the
 * original template.
 *
 * Values follow Tailwind v3 defaults (spacing = 0.25rem per step).
 * Breakpoints: sm 640px, md 768px, lg 1024px.
 */

/* ---------- spacing ---------- */
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.pt-12 { padding-top: 3rem; }
.pb-14 { padding-bottom: 3.5rem; }
.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-9 { padding-left: 2.25rem; padding-right: 2.25rem; }
.gap-x-7 { column-gap: 1.75rem; }
.gap-y-2 { row-gap: 0.5rem; }
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.625rem; }

/* ---------- position ---------- */
.-top-3 { top: -0.75rem; }
.left-8 { left: 2rem; }

/* ---------- display / layout ---------- */
.block { display: block; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.max-w-xl { max-width: 36rem; }
.max-w-\[420px\] { max-width: 420px; }

/* ---------- typography ---------- */
.not-italic { font-style: normal; }
.text-\[12px\] { font-size: 12px; }
.text-\[17px\] { font-size: 17px; }
.text-amber-700 { --tw-text-opacity: 1; color: rgb(180 83 9 / var(--tw-text-opacity, 1)); }
.text-green-700 { --tw-text-opacity: 1; color: rgb(21 128 61 / var(--tw-text-opacity, 1)); }
.text-\[\#fbbc04\] { --tw-text-opacity: 1; color: rgb(251 188 4 / var(--tw-text-opacity, 1)); }

/* ---------- borders ---------- */
.rounded-t-xl { border-top-left-radius: 0.75rem; border-top-right-radius: 0.75rem; }
.rounded-b-xl { border-bottom-left-radius: 0.75rem; border-bottom-right-radius: 0.75rem; }
.border-\[\#4753BF\] { --tw-border-opacity: 1; border-color: rgb(71 83 191 / var(--tw-border-opacity, 1)); }
.border-\[\#0B1030\]\/15 { border-color: rgba(11, 16, 48, 0.15); }
.border-white\/25 { border-color: rgba(255, 255, 255, 0.25); }
.hover\:border-\[\#4753BF\]:hover { --tw-border-opacity: 1; border-color: rgb(71 83 191 / var(--tw-border-opacity, 1)); }

/* ---------- transitions ---------- */
.duration-400 { transition-duration: 400ms; }

/* ---------- responsive ---------- */
@media (min-width: 640px) {
  .sm\:flex-row { flex-direction: row; }
}

@media (min-width: 1024px) {
  .lg\:pt-16 { padding-top: 4rem; }
  .lg\:pb-20 { padding-bottom: 5rem; }
  .lg\:text-5xl { font-size: 3rem; line-height: 1; }
  .lg\:min-h-auto { min-height: auto; }
}

/* ---------- added with the per-service landing pages ---------- */
.aspect-square { aspect-ratio: 1 / 1; }
.max-w-\[820px\] { max-width: 820px; }
.max-w-\[1000px\] { max-width: 1000px; }
.max-w-\[1100px\] { max-width: 1100px; }
.max-w-\[1200px\] { max-width: 1200px; }
.text-\[\#999\] { --tw-text-opacity: 1; color: rgb(153 153 153 / var(--tw-text-opacity, 1)); }
.shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); }

@media (min-width: 1024px) {
  .lg\:pt-14 { padding-top: 3.5rem; }
  .lg\:gap-14 { gap: 3.5rem; }
  .lg\:gap-16 { gap: 4rem; }
}

/* wider services dropdown (eight items, longer labels) */
.w-\[290px\] { width: 290px; }

/* contact page */
.mb-7 { margin-bottom: 1.75rem; }
.mt-9 { margin-top: 2.25rem; }
.pb-12 { padding-bottom: 3rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
@media (min-width: 1024px) { .lg\:pb-16 { padding-bottom: 4rem; } }

/* ---------- homepage service-card style, ported for services.html ---------- */
.pointer-events-none { pointer-events:none }
.-left-\[25\%\] { left:-25% }
.-top-\[20\%\] { top:-20% }
.-z-10 { z-index:-10 }
.mb-\[10px\] { margin-bottom:10px }
.mb-\[15px\] { margin-bottom:15px }
.mb-\[30px\] { margin-bottom:30px }
.mb-\[50px\] { margin-bottom:50px }
.mt-\[25px\] { margin-top:25px }
.h-\[150\%\] { height:150% }
.h-\[330px\] { height:330px }
.w-\[150\%\] { width:150% }
.max-w-\[200px\] { max-width:200px }
.max-w-\[800px\] { max-width:800px }
.rounded-\[20px\] { border-radius:20px }
.rounded-\[30px\] { border-radius:30px }
.rounded-\[60px\] { border-radius:60px }
.border-\[\#516fb5\] { --tw-border-opacity:1;border-color:rgb(81 111 181/var(--tw-border-opacity,1)) }
.border-black\/5 { border-color:rgba(0,0,0,.05) }
.bg-\[\#1d24340a\] { background-color:#1d24340a }
.bg-transparent { background-color:transparent }
.bg-\[url\(\'img\/bgimg1\.png\'\)\] { background-image:url(img/bgimg1.png) }
.bg-contain { background-size:contain }
.bg-no-repeat { background-repeat:no-repeat }
.p-\[30px\] { padding:30px }
.px-\[10px\] { padding-left:10px;padding-right:10px }
.px-\[20px\] { padding-left:20px;padding-right:20px }
.py-\[10px\] { padding-top:10px;padding-bottom:10px }
.text-\[25px\] { font-size:25px }
.leading-\[1\.2\] { line-height:1.2 }
.text-\[\#211E1C\] { --tw-text-opacity:1;color:rgb(33 30 28/var(--tw-text-opacity,1)) }
.text-\[\#555555\] { --tw-text-opacity:1;color:rgb(85 85 85/var(--tw-text-opacity,1)) }
.opacity-15 { opacity:.15 }
.hover\:bg-\[\#343148\]:hover { --tw-bg-opacity:1;background-color:rgb(52 49 72/var(--tw-bg-opacity,1)) }

@media (min-width:768px) {
  .md\:text-\[40px\] { font-size:40px }
}

@media (min-width:1024px) {
  .lg\:mb-\[60px\] { margin-bottom:60px }
  .lg\:py-\[100px\] { padding-top:100px;padding-bottom:100px }
}

/* group-hover variants used by the service cards */
.group:hover .group-hover\:border-\[\#1d2434\] { --tw-border-opacity:1;border-color:rgb(29 36 52/var(--tw-border-opacity,1)) }
.group:hover .group-hover\:bg-\[\#1d2434\] { --tw-bg-opacity:1;background-color:rgb(29 36 52/var(--tw-bg-opacity,1)) }
.group:hover .group-hover\:text-\[\#d5b981\] { --tw-text-opacity:1;color:rgb(213 185 129/var(--tw-text-opacity,1)) }
.group:hover .group-hover\:hover\:text-\[\#343148\]:hover { --tw-text-opacity:1;color:rgb(52 49 72/var(--tw-text-opacity,1)) }

/* logo sizing: 4rem tall in header, mobile drawer and footer */
.h-16 { height: 4rem; }
