/* ============================================================
   REEDER'S BOOKKEEPING SERVICES — Main Stylesheet
   ============================================================ */

/* ===== DESIGN TOKENS ===== */
:root {
  --green:        #2B5E3A;
  --green-dark:   #1D4228;
  --green-light:  #3D7A4E;
  --green-bg:     #EEF5F0;
  --green-bg2:    #E3EFE7;
  --green-glow:   rgba(43,94,58,0.18);
  --white:        #FFFFFF;
  --off-white:    #FAFAFA;
  --black:        #141414;
  --text:         #2C2C2C;
  --text-light:   #5A5A5A;
  --text-muted:   #9A9A9A;
  --border:       #E2E2E2;
  --border-light: #EFEFEF;
  --shadow-xs:    0 1px 3px rgba(0,0,0,0.06);
  --shadow-sm:    0 2px 8px rgba(0,0,0,0.07);
  --shadow:       0 4px 16px rgba(0,0,0,0.09);
  --shadow-md:    0 8px 28px rgba(0,0,0,0.11);
  --shadow-hover: 0 16px 40px rgba(0,0,0,0.13);
  --shadow-green: 0 6px 20px rgba(43,94,58,0.28);
  --radius:       8px;
  --radius-lg:    12px;
  --radius-xl:    18px;
  --radius-2xl:   28px;
  --transition:   0.22s ease;
  --transition-md:0.38s ease;
  --nav-h:        80px;
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }
html  { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100% }
body  { font-family:'Inter',system-ui,sans-serif; color:var(--text); background:var(--white); line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden }
a     { color:var(--green); text-decoration:none; transition:color var(--transition) }
a:hover { color:var(--green-dark) }
img   { max-width:100%; height:auto; display:block }
ul    { list-style:none }
button { font-family:inherit }
input, select, textarea { font-family:inherit }

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4,h5 { font-family:'Playfair Display',Georgia,serif; color:var(--black); line-height:1.22; letter-spacing:-0.015em }
h1 { font-size:clamp(2rem,5vw,3.1rem); font-weight:700 }
h2 { font-size:clamp(1.6rem,3.5vw,2.35rem); font-weight:700 }
h3 { font-size:1.35rem; font-weight:700 }
h4 { font-size:1.05rem; font-weight:700 }
p  { margin-bottom:1rem }
.green { color:var(--green) }
.text-center { text-align:center }
.lead { font-size:1.1rem; color:var(--text-light); line-height:1.82 }

/* Section header */
.section-head { text-align:center; max-width:680px; margin:0 auto 3.5rem }
.section-head h2 { margin-bottom:0.65rem }
.section-head h2::after { content:''; display:block; width:48px; height:3px; background:var(--green); border-radius:2px; margin:0.65rem auto 0 }
.section-head p { color:var(--text-light); font-size:1.05rem }

/* ===== NAV ===== */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--white); border-bottom:1px solid var(--border-light);
  height:var(--nav-h); display:flex; align-items:center; padding:0 4%;
  transition:box-shadow var(--transition), background var(--transition), backdrop-filter var(--transition);
}
.navbar.scrolled {
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--border-light), var(--shadow-sm);
  border-bottom-color:transparent;
}
.navbar-inner  { max-width:1200px; margin:0 auto; width:100%; display:flex; align-items:center; justify-content:space-between }
.navbar-logo   { display:flex; align-items:center; gap:0.65rem }
.navbar-logo img { height:52px; width:auto; object-fit:contain }
.navbar-logo span { font-family:'Playfair Display',Georgia,serif; font-size:1rem; font-weight:700; color:var(--green-dark); line-height:1.2 }
.nav-links     { display:flex; align-items:center; gap:0.35rem }
.nav-links li a { font-size:0.82rem; font-weight:600; letter-spacing:1.1px; text-transform:uppercase; color:var(--text); padding:0.5rem 0.9rem; border-radius:6px; transition:all var(--transition) }
.nav-links li a:hover, .nav-links li a.active { color:var(--green) }
.nav-cta {
  background:var(--green) !important; color:var(--white) !important;
  padding:0.6rem 1.5rem !important; border-radius:50px !important;
  font-size:0.82rem !important; letter-spacing:0.5px !important;
  transition:background var(--transition), box-shadow var(--transition), transform var(--transition) !important;
}
.nav-cta:hover { background:var(--green-dark) !important; box-shadow:var(--shadow-green) !important; transform:translateY(-1px) !important }
.nav-pay {
  background:transparent !important; color:var(--green) !important;
  border:1.5px solid var(--green) !important;
  padding:0.55rem 1.4rem !important; border-radius:50px !important;
  font-size:0.82rem !important; letter-spacing:0.5px !important;
  transition:all var(--transition) !important;
}
.nav-pay:hover { background:var(--green) !important; color:var(--white) !important }
.nav-pay.active { background:var(--green) !important; color:var(--white) !important }

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; z-index:1100 }
.hamburger span { display:block; width:24px; height:2px; background:var(--black); border-radius:2px; transition:all var(--transition-md) }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px) }
.hamburger.active span:nth-child(2) { opacity:0; transform:scaleX(0) }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px) }

/* Mobile nav overlay */
.nav-overlay {
  position:fixed; top:0; right:-100%; width:290px; height:100vh;
  background:var(--white); box-shadow:-4px 0 30px rgba(0,0,0,0.1);
  transition:right 0.36s cubic-bezier(0.4,0,0.2,1); z-index:1050;
  padding:5.5rem 1.75rem 2rem;
}
.nav-overlay.active { right:0 }
.nav-overlay ul { display:flex; flex-direction:column; gap:0.2rem }
.nav-overlay ul li a {
  display:block; padding:0.85rem 1rem; font-size:0.95rem;
  font-weight:600; color:var(--text); border-radius:var(--radius);
  transition:all var(--transition); border-left:3px solid transparent;
}
.nav-overlay ul li a:hover, .nav-overlay ul li a.active {
  background:var(--green-bg); color:var(--green); border-left-color:var(--green);
}
.nav-backdrop {
  position:fixed; top:0; left:0; width:100vw; height:100vh;
  background:rgba(0,0,0,0.3); z-index:1040;
  opacity:0; visibility:hidden; transition:all var(--transition-md); backdrop-filter:blur(2px);
}
.nav-backdrop.active { opacity:1; visibility:visible }

/* ===== LAYOUT ===== */
.page-wrap { padding-top:var(--nav-h) }
.container { max-width:1200px; margin:0 auto; padding:0 2rem }
.section    { padding:6rem 0 }
.section-sm { padding:4rem 0 }
.section-green-bg {
  background:var(--green-bg);
  background-image:radial-gradient(circle at 1.5px 1.5px, rgba(43,94,58,0.08) 1.5px, transparent 0);
  background-size:28px 28px;
}

/* ===== HERO ===== */
.hero {
  padding:5.5rem 0 4.5rem; background:var(--white);
  position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; top:-180px; right:-180px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle, var(--green-bg) 0%, transparent 68%);
  pointer-events:none; z-index:0;
}
.hero::after {
  content:''; position:absolute; bottom:-120px; left:-80px;
  width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, var(--green-bg2) 0%, transparent 70%);
  pointer-events:none; z-index:0;
}
.hero .container { position:relative; z-index:1 }
.hero-grid      { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }
.hero-text h1   { margin-bottom:1.25rem; line-height:1.13 }
.hero-text p    { font-size:1.1rem; color:var(--text-light); margin-bottom:2.25rem; line-height:1.85; max-width:520px }
.hero-visual    { display:flex; justify-content:center; align-items:center }

/* Sub-page hero */
.hero-sub {
  padding:4.5rem 0 3.5rem; background:var(--white);
  text-align:center; border-bottom:1px solid var(--border-light);
  position:relative; overflow:hidden;
}
.hero-sub::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--green-bg) 0%, transparent 60%);
  pointer-events:none; opacity:0.55;
}
.hero-sub .container { position:relative; z-index:1 }
.hero-sub h1 { margin-bottom:0.6rem }
.hero-sub p  { color:var(--text-light); font-size:1.1rem }
/* accent underline */
.hero-sub h1::after {
  content:''; display:block; width:56px; height:3px;
  background:var(--green); border-radius:2px; margin:0.7rem auto 0;
}

/* ===== BUTTONS ===== */
.btn {
  display:inline-flex; align-items:center; gap:0.4rem;
  font-family:'Inter',sans-serif; font-weight:600; font-size:0.95rem;
  padding:0.85rem 2.25rem; border-radius:50px; border:2px solid transparent;
  cursor:pointer; transition:all var(--transition); text-align:center;
  letter-spacing:0.1px;
}
.btn-green { background:var(--green); color:var(--white); border-color:var(--green) }
.btn-green:hover {
  background:var(--green-dark); border-color:var(--green-dark); color:var(--white);
  transform:translateY(-2px); box-shadow:var(--shadow-green);
}
.btn-outline { background:transparent; color:var(--green); border-color:var(--green) }
.btn-outline:hover { background:var(--green); color:var(--white); transform:translateY(-1px) }
.btn-white { background:var(--white); color:var(--green); border-color:var(--white) }
.btn-white:hover { background:var(--green-bg); border-color:var(--green-bg); color:var(--green-dark) }
.btn-dark { background:var(--green-dark); color:var(--white); border-color:var(--green-dark) }
.btn-dark:hover { background:var(--green); border-color:var(--green); color:var(--white); transform:translateY(-1px) }
.btn-lg { padding:1.05rem 2.9rem; font-size:1rem }
.btn-row { display:flex; gap:1rem; flex-wrap:wrap }

/* ===== IMAGE SHADOW WRAP ===== */
.img-shadow-wrap { position:relative; padding:0 0 22px 0 }
.img-shadow-wrap img {
  position:relative; z-index:2; width:100%;
  border-radius:var(--radius-lg); display:block; object-fit:cover;
  box-shadow:var(--shadow-md);
}
.img-shadow-wrap::after {
  content:''; position:absolute; bottom:0; right:-22px;
  width:100%; height:100%; background:var(--green);
  border-radius:var(--radius-lg); z-index:1; opacity:0.85;
}
.img-shadow-left { padding:0 0 22px 0 }
.img-shadow-left::after { right:auto; left:-22px }

/* ===== SPLIT SECTION ===== */
.split { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:center }
.split-reverse { direction:rtl }
.split-reverse > * { direction:ltr }
.split-text h2 { color:var(--green); margin-bottom:1rem }
.split-text p  { color:var(--text); line-height:1.85 }
.split-text ul { list-style:disc; margin:1rem 0 1.5rem 1.5rem }
.split-text ul li { margin-bottom:0.5rem; color:var(--text); font-weight:500 }

/* ===== CARDS ===== */
.card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-xl); padding:2.5rem 2rem;
  transition:all var(--transition-md);
  position:relative; overflow:hidden;
}
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--green), var(--green-light));
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--transition-md); border-radius:var(--radius-xl) var(--radius-xl) 0 0;
}
.card:hover { border-color:transparent; box-shadow:var(--shadow-hover); transform:translateY(-4px) }
.card:hover::before { transform:scaleX(1) }
.card-icon { font-size:2.5rem; margin-bottom:1.25rem; display:block }
.card h3 { color:var(--green); margin-bottom:0.75rem; font-family:'Inter',sans-serif; font-weight:700; font-size:1.12rem }
.card p  { color:var(--text-light); font-size:0.95rem; margin-bottom:0; line-height:1.65 }
.card-left { text-align:left }
.card-left .card-icon {
  display:flex; align-items:center; justify-content:center;
  width:62px; height:62px; background:var(--green-bg);
  border-radius:var(--radius-lg); font-size:1.7rem;
  box-shadow:inset 0 1px 3px rgba(0,0,0,0.04);
}

/* ===== GRIDS ===== */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem }

/* Staggered reveal for grid children */
.grid-3.visible > *:nth-child(1) { transition-delay:0.05s }
.grid-3.visible > *:nth-child(2) { transition-delay:0.12s }
.grid-3.visible > *:nth-child(3) { transition-delay:0.19s }
.grid-3.visible > *:nth-child(4) { transition-delay:0.26s }
.grid-3.visible > *:nth-child(5) { transition-delay:0.33s }
.grid-3.visible > *:nth-child(6) { transition-delay:0.40s }

/* ===== INFO BAR ===== */
.info-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; padding:3rem 0 }
.info-item {
  text-align:center; background:var(--white);
  border:1px solid var(--border); border-radius:var(--radius-xl);
  padding:2.25rem 1.5rem; transition:all var(--transition-md);
}
.info-item:hover { border-color:var(--green); box-shadow:var(--shadow-hover); transform:translateY(-4px) }
.info-item-icon {
  width:58px; height:58px; background:var(--green-bg);
  border-radius:var(--radius-lg); display:flex; align-items:center;
  justify-content:center; margin:0 auto 1.1rem; color:var(--green); font-size:1.4rem;
  box-shadow:var(--shadow-xs);
}
.info-item h4 { font-family:'Inter',sans-serif; font-size:0.95rem; font-weight:700; color:var(--black); margin-bottom:0.5rem }
.info-item p  { color:var(--text-light); font-size:0.88rem; margin-bottom:0.2rem; line-height:1.6 }

/* ===== MAP ===== */
.map-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center }
.map-frame { border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow) }
.map-frame iframe { width:100%; height:380px; border:none; display:block }
.map-details h3  { margin-bottom:1rem }
.map-details p   { color:var(--text-light); margin-bottom:0.25rem; font-size:0.95rem }
.map-details .parking {
  margin-top:1rem; padding:0.85rem 1.1rem;
  background:var(--green-bg); border-radius:var(--radius); border-left:3px solid var(--green);
  font-size:0.88rem; color:var(--green-dark); font-style:italic;
}
.map-details .btn { margin-top:1.5rem }

/* ===== REVIEWS ===== */
.reviews-box {
  text-align:center; padding:3rem 2.5rem;
  border:1px solid var(--border); border-radius:var(--radius-xl);
  max-width:560px; margin:0 auto; background:var(--white);
  box-shadow:var(--shadow-sm);
}
.reviews-stars { color:var(--green); font-size:1.75rem; letter-spacing:4px; margin-bottom:1rem }
.reviews-box h3 { margin-bottom:0.75rem }
.reviews-box p  { color:var(--text-light); max-width:420px; margin:0 auto; font-size:0.95rem }

/* ===== CTA BLOCK ===== */
.cta {
  background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 100%);
  padding:5rem 3rem; text-align:center;
  border-radius:var(--radius-2xl); position:relative; overflow:hidden;
}
.cta::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:280px; height:280px; border-radius:50%;
  background:rgba(255,255,255,0.05); pointer-events:none;
}
.cta::after {
  content:''; position:absolute; bottom:-60px; left:-60px;
  width:200px; height:200px; border-radius:50%;
  background:rgba(255,255,255,0.04); pointer-events:none;
}
.cta h2 { color:var(--white); margin-bottom:0.75rem; position:relative; z-index:1 }
.cta p  { color:rgba(255,255,255,0.85); font-size:1.1rem; margin-bottom:2.25rem; position:relative; z-index:1 }
.cta .btn { position:relative; z-index:1 }

/* ===== CONTACT FORM ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4.5rem; align-items:start }
.contact-info h2 { margin-bottom:1rem }
.contact-info .lead { margin-bottom:2rem }
.contact-item { display:flex; gap:1rem; margin-bottom:1.5rem; align-items:flex-start }
.contact-item-icon {
  width:42px; height:42px; min-width:42px;
  background:var(--green-bg); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--green); font-size:1rem; box-shadow:var(--shadow-xs);
}
.contact-item h4 { font-family:'Inter',sans-serif; font-size:0.88rem; margin-bottom:0.1rem; color:var(--black) }
.contact-item p  { font-size:0.88rem; color:var(--text-light); margin-bottom:0 }

.form-box {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-xl); padding:2.75rem;
  box-shadow:var(--shadow);
}
.form-box h3 { text-align:center; margin-bottom:0.25rem }
.form-box .form-note { text-align:center; font-size:0.83rem; color:var(--text-muted); margin-bottom:1.75rem }
.form-standalone { max-width:660px; margin:0 auto }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.form-group { margin-bottom:1rem }
.form-group label { display:block; font-weight:600; font-size:0.83rem; color:var(--black); margin-bottom:0.35rem; letter-spacing:0.2px }
.form-group label .req { color:#C62828 }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:0.75rem 1rem;
  font-family:'Inter',sans-serif; font-size:0.92rem;
  border:1.5px solid var(--border); border-radius:var(--radius);
  transition:border-color var(--transition), box-shadow var(--transition);
  background:var(--off-white); color:var(--text);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline:none; border-color:var(--green);
  background:var(--white);
  box-shadow:0 0 0 3px var(--green-glow);
}
.form-group textarea { resize:vertical; min-height:90px }
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--text-muted) }
.form-submit { margin-top:1.25rem }
.form-submit .btn { width:100%; padding:0.9rem; justify-content:center }
.form-privacy { text-align:center; font-size:0.79rem; color:var(--text-muted); font-weight:600; margin-top:0.8rem }

/* ===== SERVICES PAGE ===== */
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0.75rem }
.svc-item {
  display:flex; align-items:center; gap:0.85rem;
  padding:0.95rem 1.25rem; border:1px solid var(--border);
  border-radius:var(--radius); transition:all var(--transition);
  background:var(--white);
}
.svc-item:hover { border-color:var(--green); transform:translateX(4px); background:var(--green-bg); box-shadow:var(--shadow-xs) }
.svc-check {
  width:28px; height:28px; min-width:28px;
  background:var(--green); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-weight:700; font-size:0.8rem;
}
.svc-item span { font-size:0.93rem; color:var(--text); font-weight:500 }

/* Bullet lists */
.bullets { list-style:none; margin:1rem 0 1.5rem }
.bullets li {
  padding:0.45rem 0 0.45rem 1.6rem; position:relative;
  color:var(--text); font-size:0.97rem; line-height:1.65;
  border-bottom:1px solid var(--border-light);
}
.bullets li:last-child { border-bottom:none }
.bullets li::before {
  content:''; position:absolute; left:0; top:0.95rem;
  width:8px; height:8px; border-radius:50%; background:var(--green);
}

/* Check list */
.check-list { list-style:none; margin:1rem 0 1.5rem }
.check-list li {
  padding:0.4rem 0 0.4rem 2rem; position:relative;
  color:var(--text); font-size:0.97rem; line-height:1.65;
}
.check-list li::before {
  content:'✓'; position:absolute; left:0; top:0.38rem;
  width:22px; height:22px;
  background:var(--green-bg); color:var(--green);
  border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:0.75rem; font-weight:700;
  line-height:22px; text-align:center;
}

/* Clause / callout */
.clause {
  background:var(--green-bg); border-left:4px solid var(--green);
  padding:1.4rem 1.85rem; border-radius:0 var(--radius-lg) var(--radius-lg) 0; margin:2rem 0;
}
.clause p { font-size:0.9rem; color:var(--text-light); margin:0; line-height:1.75 }

/* Process steps */
.process-row { display:grid; grid-template-columns:repeat(5,1fr); gap:1.5rem; position:relative }
.process-row::before {
  content:''; position:absolute; top:27px; left:10%; right:10%;
  height:2px; background:linear-gradient(90deg, var(--green-bg), var(--green-light), var(--green-bg));
  z-index:0;
}
.step { text-align:center; position:relative; z-index:1 }
.step-num {
  width:56px; height:56px; background:var(--green); color:var(--white);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'Inter',sans-serif; font-size:1.1rem; font-weight:700;
  margin:0 auto 0.85rem; box-shadow:var(--shadow-green);
  transition:transform var(--transition), box-shadow var(--transition);
}
.step:hover .step-num { transform:scale(1.1); box-shadow:0 8px 24px rgba(43,94,58,0.35) }
.step h4 { font-family:'Inter',sans-serif; font-size:0.9rem; color:var(--black); margin-bottom:0.2rem }
.step p  { font-size:0.78rem; color:var(--text-muted); font-style:italic; margin:0 }

/* Benefits */
.benefit { padding:2rem; border-top:3px solid var(--green) }
.benefit h3 { font-family:'Inter',sans-serif; color:var(--green); margin-bottom:0.5rem; font-size:1.05rem }
.benefit p  { color:var(--text-light); font-size:0.95rem; margin:0 }

/* ===== ABOUT PAGE ===== */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }

/* Timeline */
.timeline { position:relative; padding-left:2.75rem; margin:2rem 0 }
.timeline::before {
  content:''; position:absolute; left:10px; top:0; bottom:0;
  width:2px; background:linear-gradient(to bottom, var(--green), var(--green-bg));
  border-radius:2px;
}
.tl-item { position:relative; margin-bottom:2.75rem; padding-left:1.5rem }
.tl-item::before {
  content:''; position:absolute; left:-2.45rem; top:0.3rem;
  width:18px; height:18px; background:var(--white);
  border:3px solid var(--green); border-radius:50%;
  box-shadow:0 0 0 4px var(--green-bg);
}
.tl-item h3 { font-family:'Inter',sans-serif; color:var(--green); font-size:1.07rem; margin-bottom:0.4rem }
.tl-item p  { color:var(--text-light); margin:0; line-height:1.8 }

/* Mission quote */
.mission { background:linear-gradient(135deg, var(--green-dark) 0%, #254d34 100%); padding:5.5rem 0; text-align:center; position:relative; overflow:hidden }
.mission::before {
  content:'\201C'; position:absolute; top:-0.2em; left:50%; transform:translateX(-50%);
  font-family:'Playfair Display',serif; font-size:12rem; color:rgba(255,255,255,0.04);
  line-height:1; pointer-events:none;
}
.mission h2 { color:var(--white); margin-bottom:1.5rem; position:relative; z-index:1 }
.mission blockquote {
  max-width:780px; margin:0 auto; position:relative; z-index:1;
  font-family:'Playfair Display',Georgia,serif; font-size:1.2rem;
  font-style:italic; line-height:1.95; color:rgba(255,255,255,0.9);
}
.mission blockquote footer {
  font-family:'Inter',sans-serif; margin-top:1.5rem;
  font-style:normal; font-size:0.82rem; color:rgba(255,255,255,0.45);
  letter-spacing:1.5px; text-transform:uppercase;
}

/* Dark section */
.section-dark { background:var(--green-dark); color:var(--white); padding:5rem 0 }
.section-dark h2, .section-dark h3 { color:var(--white) }
.section-dark p { color:rgba(255,255,255,0.8) }

/* ===== INDUSTRIES PAGE ===== */
.ind-card {
  text-align:center; padding:2.75rem 2rem;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-xl); transition:all var(--transition-md);
  position:relative; overflow:hidden;
}
.ind-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--green-bg) 0%, transparent 60%);
  opacity:0; transition:opacity var(--transition-md);
}
.ind-card:hover { border-color:var(--green); box-shadow:var(--shadow-hover); transform:translateY(-5px) }
.ind-card:hover::before { opacity:1 }
.ind-icon {
  width:68px; height:68px; background:var(--green-bg);
  border-radius:var(--radius-xl); display:flex; align-items:center;
  justify-content:center; margin:0 auto 1.25rem; font-size:1.9rem;
  box-shadow:var(--shadow-xs); transition:transform var(--transition-md);
  position:relative; z-index:1;
}
.ind-card:hover .ind-icon { transform:scale(1.08) }
.ind-card h3 {
  color:var(--green); margin-bottom:0.6rem;
  font-family:'Inter',sans-serif; font-weight:700; font-size:1.08rem;
  position:relative; z-index:1;
}
.ind-card p  { color:var(--text-light); font-size:0.9rem; margin-bottom:1.25rem; line-height:1.65; position:relative; z-index:1 }
.ind-card .btn { font-size:0.83rem; padding:0.5rem 1.5rem; position:relative; z-index:1 }

/* Feature row */
.feat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; text-align:center }
.feat-icon  { font-size:2rem; margin-bottom:0.75rem }
.feat-row h3 { color:var(--white); font-family:'Inter',sans-serif; font-size:1.05rem; margin-bottom:0.4rem }
.feat-row p  { font-size:0.9rem; color:rgba(255,255,255,0.75); margin:0 }

/* Industry detail page */
.ind-detail-hero { padding:3rem 0; background:var(--green-bg); text-align:center }
.ind-detail-hero h1 { margin-bottom:0.5rem }
.ind-detail-hero p  { color:var(--text-light); font-size:1.1rem }
.ind-content        { max-width:800px; margin:0 auto }
.ind-content h2     { margin-bottom:1rem; margin-top:2rem }
.ind-content h2:first-child { margin-top:0 }
.ind-content p      { line-height:1.85 }
.ind-content ul     { margin:1rem 0 1.5rem 1.5rem; list-style:disc }
.ind-content ul li  { margin-bottom:0.5rem; color:var(--text-light); line-height:1.65 }

/* ===== PAYMENT PAGE (shared) ===== */
.payment-wrap { display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; align-items:start }
.payment-info h2 { margin-bottom:1rem; color:var(--green) }
.payment-info > p { color:var(--text-light); line-height:1.85; margin-bottom:2rem }
.payment-trust  { display:flex; flex-direction:column; gap:1.25rem }
.trust-item {
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.1rem 1.25rem; background:var(--green-bg);
  border-radius:var(--radius); border:1px solid var(--border);
}
.trust-icon { font-size:1.4rem; min-width:2rem; text-align:center; margin-top:0.1rem }
.trust-item strong { display:block; font-size:0.93rem; color:var(--black); margin-bottom:0.15rem }
.trust-item p { font-size:0.87rem; color:var(--text-light); margin:0; line-height:1.6 }
.payment-form-box {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-xl); padding:2.5rem; box-shadow:var(--shadow);
}
.payment-form-box h3 { text-align:center; margin-bottom:0.25rem }
.amount-input-wrap  { position:relative }
.amount-dollar { position:absolute; left:1rem; top:50%; transform:translateY(-50%); font-weight:700; color:var(--text); font-size:0.95rem; pointer-events:none }
.amount-input-wrap input { padding-left:1.8rem }

/* ===== STOCK IMAGES ===== */
.stock-img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius) }
.img-tall   { min-height:420px }
.img-medium { min-height:320px }

/* ===== FOOTER ===== */
.footer {
  background:var(--black); color:var(--white);
  padding:5rem 0 1.75rem; position:relative;
}
.footer::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--green-dark), var(--green), var(--green-light), var(--green));
}
.footer-grid {
  display:grid; grid-template-columns:1.5fr 0.8fr 1fr;
  gap:3.5rem; margin-bottom:3rem;
}
.footer h4 {
  font-family:'Inter',sans-serif; font-size:0.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:1.8px;
  color:rgba(255,255,255,0.45); margin-bottom:1.35rem;
}
.footer p, .footer a   { color:rgba(255,255,255,0.6); font-size:0.9rem; line-height:1.85 }
.footer a:hover { color:var(--white) }
.footer-links li { margin-bottom:0.5rem }
.footer-links li a { transition:color var(--transition), padding-left var(--transition) }
.footer-links li a:hover { padding-left:4px }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.07); padding-top:1.75rem;
  text-align:center; font-size:0.8rem; color:rgba(255,255,255,0.3);
}
.footer-tagline { font-family:'Playfair Display',Georgia,serif; font-style:italic; color:rgba(255,255,255,0.38); font-size:0.92rem; margin-bottom:1.1rem }
.footer-designed { margin-top:0.4rem; font-size:0.78rem; color:rgba(255,255,255,0.22) }
.footer-designed a { color:rgba(255,255,255,0.38); transition:color var(--transition) }
.footer-designed a:hover { color:rgba(255,255,255,0.75) }
address { font-style:normal }

/* ===== SCROLL REVEAL ===== */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.65s ease, transform 0.65s ease }
.reveal.visible { opacity:1; transform:none }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .hero-grid, .split, .about-grid { grid-template-columns:1fr; gap:2.75rem }
  .split-reverse { direction:ltr }
  .hero-text { text-align:center }
  .hero-text p { margin:0 auto 2rem }
  .contact-grid { grid-template-columns:1fr }
  .map-grid { grid-template-columns:1fr }
  .info-bar { grid-template-columns:repeat(2,1fr) }
  .process-row { grid-template-columns:repeat(3,1fr) }
  .process-row::before { display:none }
  .img-shadow-wrap { max-width:520px; margin:0 auto }
  .payment-wrap { grid-template-columns:1fr; max-width:580px; margin:0 auto }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2.5rem }
}
@media (max-width:768px) {
  :root { --nav-h:64px }
  .nav-links { display:none }
  .hamburger { display:flex }
  .navbar { height:var(--nav-h); padding:0 1.5rem }
  .navbar-logo img { height:44px }
  .section { padding:4rem 0 }
  .section-sm { padding:3rem 0 }
  .hero { padding:3rem 0 2.5rem }
  .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr }
  .services-grid { grid-template-columns:1fr }
  .process-row { grid-template-columns:repeat(2,1fr) }
  .info-bar { grid-template-columns:1fr; gap:1.25rem }
  .form-row { grid-template-columns:1fr }
  .footer-grid { grid-template-columns:1fr; text-align:center }
  .feat-row { grid-template-columns:1fr; gap:2rem }
  .cta { padding:3.5rem 1.75rem; border-radius:var(--radius-xl) }
  .container { padding:0 1.25rem }
  .btn-row { flex-direction:column; align-items:stretch }
  .img-shadow-wrap::after { right:-12px }
  .img-shadow-left::after { left:-12px; right:auto }
  .section-head { margin-bottom:2.5rem }
}
@media (max-width:480px) {
  .navbar-logo span { font-size:0.85rem }
  h1 { font-size:1.85rem }
  .form-box { padding:1.75rem }
  .process-row { grid-template-columns:1fr }
  .hero-sub { padding:3rem 0 2.5rem }
  .footer-grid { gap:2rem }
  .info-bar { padding:2rem 0 }
}
