/*
   Wartek Mampang Prapatan — Theme Override
   Design philosophy: Teras Mampang.
   The original css/style.css and css/responsive.css structures remain unchanged.
*/
:root {
    --primary-dark: #284438;
    --primary: #386650;
    --primary-light: #b7ceaf;
    --accent-green: #c55f3c;
    --accent-green-dark: #984329;
    --gray-50: #fffaf1;
    --gray-100: #f0e4d2;
    --gray-200: #e2ceb7;
    --gray-300: #ceb39a;
    --gray-500: #7b766b;
    --gray-600: #636158;
    --gray-700: #45564a;
    --gray-800: #31463a;
    --gray-900: #284438;
}

body { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #fffaf1; }
h1, h2, h3, h4 { font-family: 'Fraunces', Georgia, serif; letter-spacing: -.025em; }
.btn, .nav-list { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.header { border-bottom-color: var(--gray-100); }
.logo-mark { background: linear-gradient(135deg, #c55f3c 0%, #f1b844 100%); }
.hero, .service-hero { background: linear-gradient(118deg, #284438 0%, #386650 57%, #b7ceaf 100%); }
.hero::before { background-image: radial-gradient(circle at 20% 18%, rgba(241,184,68,.33) 0 2px, transparent 3px), radial-gradient(circle at 75% 65%, rgba(197,95,60,.27) 0 3px, transparent 4px); background-size: 38px 38px, 64px 64px; opacity: .52; }
.hero-content h1 span { color: #f1b844; }
.hero-image { border: 8px solid rgba(241,184,68,.36); border-radius: 1.75rem 1.75rem 1.75rem .35rem; box-shadow: 17px 19px 0 rgba(197,95,60,.21); }
.service-icon { background: linear-gradient(145deg, #c55f3c 0%, #f1b844 100%); color: #284438; }
.service-card:hover { border-color: #c55f3c; }
.feature-icon { background: #fffaf1; border-color: #e2ceb7; color: #386650; }
.process-step::before { background: #f1b844; color: #284438; }
.area-card:hover { border-color: #c55f3c; color: #284438; }
.area-card svg { color: #c55f3c; }
.author-avatar { background: linear-gradient(135deg, #c55f3c 0%, #f1b844 100%); color: #284438; }
.testimonial-card::before { color: #c55f3c; }
.faq-item[open] { border-color: #c55f3c; }
.faq-question::after { color: #c55f3c; }
.cta-section { background: linear-gradient(to right, #284438, #386650) !important; }
.contact-info-icon { background: #386650; }
.footer { background: #284438; }
.footer a:hover { color: #f1b844; }
.btn { transition: all .2s cubic-bezier(.23,1,.32,1); cursor: pointer; }
.btn:active { transform: scale(.97); }
.btn-primary { background: #386650; border-color: #386650; }
.btn-primary:hover { background: #284438; border-color: #284438; }
.btn-secondary:hover { background: #386650; border-color: #386650; }
.btn-whatsapp { background: #168b54; border-color: #168b54; }
.btn-whatsapp:hover { background: #0f6f42; border-color: #0f6f42; }
@media (min-width: 769px) { .hero-image { transform: rotate(.8deg); transition: transform .25s cubic-bezier(.23,1,.32,1); } .hero-image:hover { transform: rotate(0deg) translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
