
:root{
  --ring: 0 0 0 3px rgba(204, 0, 0, .25);
  --brand-primary: #cc0000;
  --brand-secondary: #ffcc00;
  --brand-accent: #ffcc00;
  --surface: #ffffff;
  --surface-muted: #fdf8f8;
  --ink-900: #1a0000;
  --ink-600: #4a2c2c;
  --ink-400: #7a5a5a;
  --shadow-lg: 0 12px 48px rgba(204, 0, 0, .18);
  --shadow-sm: 0 4px 24px rgba(204, 0, 0, .13);
}

html,body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--surface-muted);color:var(--ink-900);overflow-x:hidden}

.site-logo{height:42px;width:auto;display:block;object-fit:contain}

/* brand palette helpers */
.bg-ink-50{background:var(--surface-muted)}
.bg-ink-900{background:var(--ink-900)}
.text-ink-900{color:var(--ink-900)}
.text-ink-600{color:var(--ink-600)}
.text-ink-400{color:var(--ink-400)}
.text-ink-300{color:#d6c6c6}
.text-ink-200{color:#ebdada}
.text-ink-100{color:#fdf8f8}
.text-brand-700{color:var(--brand-primary)}
.text-brand-600{color:var(--brand-primary)}
.text-brand-500{color:var(--brand-primary)}
.text-brand-300{color:#ff8888}
.bg-brand-100{background:rgba(204,0,0,.12)}
.bg-brand-400{background:#ff2222}
.bg-brand-500{background:var(--brand-primary)}
.bg-brand-600{background:#a00000}
.bg-brand-50{background:rgba(255,204,0,.15)}
.border-brand-500{border-color:var(--brand-primary)}
.border-brand-600{border-color:#a00000}
.hover\:bg-brand-600:hover{background:#a00000}
.shadow-soft{box-shadow:var(--shadow-sm)}

a{transition:color .2s ease, background .2s ease, opacity .2s ease, transform .2s ease}

/* utility flourishes */
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,204,0,.15);color:var(--brand-primary);font-weight:600;border:1px solid rgba(255,204,0,.4)}
.badge svg{height:14px;width:14px}

.pill-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--brand-primary)}
.pill-link::after{content:"→";font-size:.85rem}

.surface-card{background:var(--surface);border:1px solid rgba(26,0,0,.08);border-radius:1.5rem;box-shadow:var(--shadow-sm);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.surface-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(204,0,0,.24)}

.metric-card{position:relative;padding:1.75rem;border-radius:1.5rem;background:linear-gradient(145deg,#ffffff,rgba(255,204,0,.1));border:1px solid rgba(204,0,0,.18);box-shadow:0 25px 70px rgba(26,0,0,.12)}
.metric-card .metric-value{font-size:2.8rem;font-weight:800;color:var(--brand-primary)}
.metric-card .metric-label{color:var(--ink-600);font-size:.9rem;letter-spacing:.03em;margin-top:.25rem}

.service-grid{display:grid;gap:1.75rem}
@media(min-width:768px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.service-card{border-radius:1.5rem;overflow:hidden;background:var(--surface);border:1px solid rgba(26,0,0,.08);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(255,204,0,.4)}
.service-card img{height:200px;width:100%;object-fit:cover}
.service-card .body{padding:1.5rem;display:flex;flex-direction:column;gap:.65rem}
.service-card .chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,204,0,.2);color:var(--brand-primary);font-weight:600}

.process-lane{display:grid;gap:1.25rem}
@media(min-width:768px){.process-lane{grid-template-columns:repeat(3,minmax(0,1fr))}}
.process-step{background:var(--surface);border:1px solid rgba(26,0,0,.08);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-sm);position:relative;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(204,0,0,.2)}
.process-step .step-id{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:12px;background:rgba(204,0,0,.12);color:var(--brand-primary);font-weight:700;font-size:.9rem;margin-bottom:.75rem}

.media-feature{display:grid;gap:1.5rem}
@media(min-width:992px){.media-feature{grid-template-columns:repeat(3,minmax(0,1fr))}}
.media-tile{position:relative;border-radius:1.5rem;overflow:hidden;background:var(--surface);border:1px solid rgba(26,0,0,.06);box-shadow:var(--shadow-sm);transition:transform .25s ease, box-shadow .25s ease}
.media-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.media-tile img,.media-tile video{height:220px;width:100%;object-fit:cover}
.media-tile figcaption{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;color:#fff;background:linear-gradient(0deg,rgba(26,0,0,.75),rgba(26,0,0,0))}

.testimonial-shell{position:relative;overflow:hidden;border-radius:1.5rem;background:linear-gradient(145deg,#ffffff,#fff3f3);border:1px solid rgba(204,0,0,.18);box-shadow:var(--shadow-sm)}

.cta-banner{border-radius:1.75rem;background:linear-gradient(120deg,rgba(204,0,0,.95),rgba(160,0,0,.9));color:#fff;box-shadow:0 32px 90px rgba(204,0,0,.25)}

.floating-buttons a,.floating-buttons button{box-shadow:var(--shadow-sm)}

/* subtle card hover for legacy sections */
.card{transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(26,0,0,.12)}

/* animations */
@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}
.animate-fadeUp{animation:fadeUp .5s ease-out both}

/* gallery layout retained */
.media-masonry{column-count:1;column-gap:1.5rem}
@media(min-width:640px){.media-masonry{column-count:2}}
@media(min-width:1024px){.media-masonry{column-count:3}}
.media-masonry .media-card{display:block;overflow:hidden;border-radius:1rem;background:#fff;border:1px solid rgba(122,90,90,.2);box-shadow:0 10px 26px rgba(26,0,0,.08);margin-bottom:1.5rem;break-inside:avoid;transition:transform .25s ease, box-shadow .25s ease}
.media-masonry .media-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(26,0,0,.12)}
.media-card img{width:100%;display:block}
.media-card figcaption{padding:.75rem 1rem;font-size:.75rem;letter-spacing:.01em;text-transform:uppercase;color:var(--ink-400);background:var(--surface-muted)}

.media-video-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.media-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.media-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.media-video{display:flex;flex-direction:column;overflow:hidden;border-radius:1rem;background:#000;border:1px solid rgba(122,90,90,.2);box-shadow:0 10px 26px rgba(26,0,0,.08);transition:transform .25s ease, box-shadow .25s ease}
.media-video:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(26,0,0,.12)}
.media-video video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:#000}
.media-video figcaption{padding:.75rem 1rem;font-size:.75rem;letter-spacing:.01em;text-transform:uppercase;color:var(--ink-400);background:var(--surface-muted)}

/* details open animation */
details summary::-webkit-details-marker{display:none}
details[open]>div{animation:fadeUp .3s ease-out both}
