/*
Theme Name: Sree Krishna Agencies
Theme URI: https://sreekrishnagencies.com
Author: Built for Sree Krishna Power Press & Krishna Agencies
Description: A custom WordPress theme for Sree Krishna Power Press & Krishna Agencies — a printing, digital printing & office supplies company trading since 1921. Includes Home, Who We Are, Management, Services (custom post type), Why Choose Us, Customer Segmentation and Contact pages.
Version: 1.0
Requires PHP: 7.4
Text Domain: ska
*/

/* -----------------------------------------------------------
   TOKENS
   Palette pulled from the company's own brand book (profile PDF):
   - Parchment cream backgrounds, deep ink-maroon panels, brass/gold
     rule lines standing in for the gold-foiling the press itself does.
----------------------------------------------------------- */
:root{
  --cream:        #F2E8D5;
  --cream-soft:   #F8F2E4;
  --ink-maroon:   #3A1712;
  --ink-maroon-2: #58231A;
  --brass:        #B8863B;
  --brass-light:  #D9B872;
  --text-dark:    #3A2A1E;
  --text-mute:    #6E5D4C;
  --white:        #FFFFFF;
  --line:         #D8C6A3;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-script:  'Cormorant Garamond', Georgia, serif;
  --font-body:    'Jost', 'Segoe UI', sans-serif;

  --radius: 2px;
  --container: 1180px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--cream);
  color: var(--text-dark);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family: var(--font-display);
  color: var(--ink-maroon);
  line-height: 1.15;
  margin: 0 0 .5em;
  font-weight: 700;
}
h1{ font-size: clamp(2.2rem, 4vw, 3.4rem); }
h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); }
h3{ font-size: 1.3rem; }
p{ margin: 0 0 1em; }
.container{ max-width: var(--container); margin: 0 auto; padding: 0 28px; }
.eyebrow{
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .78rem;
  font-weight: 600;
  color: var(--brass);
}
.rule{ height:1px; background: var(--line); border:0; margin: 18px 0 34px; }
.script{ font-family: var(--font-script); font-style: italic; color: var(--brass); }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 30px;
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: .03em;
  border: 1px solid var(--ink-maroon);
  border-radius: var(--radius);
  transition: all .25s ease;
}
.btn-primary{ background: var(--ink-maroon); color: var(--cream-soft); }
.btn-primary:hover{ background: var(--ink-maroon-2); }
.btn-outline{ background: transparent; color: var(--ink-maroon); }
.btn-outline:hover{ background: var(--ink-maroon); color: var(--cream-soft); }
.btn-light{ border-color: var(--brass-light); color: var(--cream-soft); }
.btn-light:hover{ background: var(--brass); border-color: var(--brass); color: var(--ink-maroon); }
.arrow-mark{ display:inline-block; transform: rotate(45deg); font-size:1.1em; }

/* -----------------------------------------------------------
   HEADER
----------------------------------------------------------- */
.site-header{
  position: sticky; top:0; z-index: 100;
  background: rgba(242,232,213,.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top: 16px; padding-bottom:16px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand-logo img{ display:block; height:44px; width:auto; border-radius: var(--radius); }
.brand-mark{
  width:44px; height:44px; border-radius:50%;
  background: var(--ink-maroon); color:var(--brass-light);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-display); font-weight:700; font-size:1.1rem;
  flex: 0 0 auto;
}
.brand-text .name{ font-family: var(--font-display); font-weight:700; color:var(--ink-maroon); font-size:1.05rem; line-height:1.1; }
.brand-text .sub{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-mute); }

.main-nav ul{ display:flex; gap:30px; align-items:center; }
.main-nav a{ font-size:.92rem; font-weight:500; letter-spacing:.02em; position:relative; padding: 6px 0; }
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--brass);
  transition: width .25s ease;
}
.main-nav a:hover::after, .main-nav .current-menu-item a::after{ width:100%; }
.main-nav .cta{
  padding:10px 20px; background:var(--ink-maroon); color:var(--cream-soft); border-radius:var(--radius);
}
.main-nav .cta::after{ display:none; }

.nav-toggle{ display:none; background:none; border:0; cursor:pointer; }
.nav-toggle span{ display:block; width:26px; height:2px; background:var(--ink-maroon); margin:5px 0; }

@media (max-width: 880px){
  .nav-toggle{ display:block; }
  .main-nav{
    position:absolute; top:100%; left:0; right:0;
    background: var(--cream-soft); border-bottom:1px solid var(--line);
    max-height:0; overflow:hidden; transition: max-height .3s ease;
  }
  .main-nav.open{ max-height: 480px; }
  .main-nav ul{ flex-direction:column; align-items:flex-start; padding: 10px 28px 24px; gap:14px; }
}

/* -----------------------------------------------------------
   HERO
----------------------------------------------------------- */
.hero{
  position:relative;
  background: var(--cream);
  overflow:hidden;
  padding: 90px 0 70px;
}
.hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:50px; align-items:center; }
.hero .eyebrow{ margin-bottom:14px; display:block; }
.hero h1{ margin-bottom: 22px; }
.hero-lede{ font-size:1.1rem; color:var(--text-mute); max-width: 46ch; margin-bottom: 30px; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:36px; margin-top:44px; }
.hero-stats div strong{ display:block; font-family:var(--font-display); font-size:2rem; color:var(--ink-maroon); }
.hero-stats div span{ font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-mute); }

.hero-emblem{
  position:relative; aspect-ratio:1/1; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--ink-maroon-2), var(--ink-maroon) 70%);
  display:flex; align-items:center; justify-content:center;
  overflow: hidden;
}
.hero-emblem svg{ width:70%; height:70%; }
.hero-emblem::before{
  content:""; position:absolute; inset:-14px; border:1px dashed var(--brass-light); border-radius:50%; opacity:.5;
}
.hero-emblem-photo{ overflow:hidden; background:none; }
.hero-emblem-photo img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  object-position: center;
  border-radius: 50%;
  position: absolute;
  inset: 0;
}

/* -----------------------------------------------------------
   SECTIONS shared
----------------------------------------------------------- */
.section{ padding: 76px 0; }
.section-dark{ background: var(--ink-maroon); color: var(--cream-soft); }
.section-dark h2, .section-dark h3{ color: var(--cream-soft); }
.section-dark .eyebrow{ color: var(--brass-light); }
.section-soft{ background: var(--cream-soft); }
.section-header{ max-width: 700px; margin-bottom: 44px; }
.section-header.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Two-col intro (Who We Are style) */
.split{ display:grid; grid-template-columns: 1fr 1fr; gap:56px; align-items:start; }
.split img{ border-radius: var(--radius); }
.vm-block + .vm-block{ margin-top: 26px; }
.vm-block h4{ color:var(--ink-maroon); margin-bottom:6px; font-family:var(--font-body); text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; }

/* Services grid */
.services-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.service-card{
  background: var(--white); border:1px solid var(--line); border-radius: var(--radius);
  padding: 30px 26px; transition: transform .25s ease, box-shadow .25s ease;
}
.service-card:hover{ transform: translateY(-6px); box-shadow: 0 18px 34px rgba(58,23,18,.12); }
.service-icon{
  width:52px; height:52px; border-radius:50%; background: var(--cream);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--brass);
  font-size:1.4rem;
}
.service-card h3{ margin-bottom:8px; font-size:1.15rem; }
.service-card p{ color:var(--text-mute); font-size:.95rem; margin-bottom:0; }
.service-card a.card-link{ display:block; }

@media (max-width: 900px){
  .services-grid{ grid-template-columns: repeat(2,1fr); }
  .split, .hero-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .services-grid{ grid-template-columns: 1fr; }
}

/* Why choose us */
.why-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 36px 40px; }
.why-item strong{ display:block; font-family:var(--font-display); font-size:1.3rem; color:var(--cream-soft); }
.why-item span{ font-size:.88rem; color: var(--brass-light); text-transform:uppercase; letter-spacing:.05em; }
@media (max-width: 700px){ .why-grid{ grid-template-columns: 1fr 1fr; } }

/* Management / people */
.person-card{
  display:grid; grid-template-columns: 320px 1fr; gap:44px; align-items:start;
  background: var(--white); border:1px solid var(--line); border-radius: var(--radius); padding: 8px;
}
.person-photo{ border-radius: var(--radius); overflow:hidden; }
.person-photo img{ width:100%; height:100%; object-fit:cover; }
.person-copy{ padding: 30px 30px 30px 0; }
.person-copy .role{ color:var(--brass); text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; font-weight:600; margin-bottom:6px; }
.person-copy .signature{ font-family: var(--font-script); font-style:italic; font-size:1.6rem; color:var(--ink-maroon); margin-top:20px; }
@media (max-width: 760px){ .person-card{ grid-template-columns: 1fr; } .person-copy{ padding: 0 24px 24px; } }

/* Segmentation / industries */
.industry-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; }
.industry-chip{
  border:1px solid var(--line); background: var(--white); padding: 22px 18px; border-radius: var(--radius);
  text-align:center; font-weight:600; font-size:.95rem;
}
@media (max-width: 800px){ .industry-grid{ grid-template-columns: repeat(2,1fr); } }

/* Quote / trust band */
.quote-band{
  background: linear-gradient(120deg, var(--ink-maroon), var(--ink-maroon-2));
  color: var(--cream-soft); padding: 60px 0; text-align:center;
}
.quote-band p{ font-family: var(--font-display); font-style:italic; font-size:1.4rem; max-width: 820px; margin:0 auto; }

/* Timeline (Experience) */
.timeline{ position:relative; margin-left: 20px; padding-left: 40px; border-left: 2px solid var(--line); }
.timeline-item{ position:relative; padding-bottom: 40px; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:""; position:absolute; left:-49px; top:4px; width:14px; height:14px; border-radius:50%;
  background: var(--brass); border: 3px solid var(--cream);
}
.timeline-item strong{ font-family:var(--font-display); color:var(--ink-maroon); font-size:1.1rem; display:block; margin-bottom:4px; }

/* Contact */
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.contact-info-item{ margin-bottom: 26px; }
.contact-info-item .eyebrow{ display:block; margin-bottom:6px; }
.form-row{ margin-bottom: 18px; }
.form-row label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-mute); }
.form-row input, .form-row textarea, .form-row select{
  width:100%; padding: 13px 14px; border:1px solid var(--line); border-radius: var(--radius);
  background: var(--white); font-family: var(--font-body); font-size:1rem; color: var(--text-dark);
}
.form-row textarea{ min-height: 140px; resize: vertical; }
.form-note{ font-size:.85rem; color:var(--text-mute); margin-top:10px; }
.map-embed{ border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; }
.map-embed iframe{ width:100%; height:100%; min-height:340px; border:0; }

/* CTA band */
.cta-band{ background: var(--cream-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding: 56px 0; }
.cta-band .container{ display:flex; align-items:center; justify-content:space-between; gap: 30px; flex-wrap:wrap; }
.cta-band h2{ margin:0; }

/* Footer */
.site-footer{ background: var(--ink-maroon); color: var(--cream-soft); padding: 60px 0 26px; }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; margin-bottom: 40px; }
.site-footer h4{ color: var(--brass-light); font-family: var(--font-body); text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; margin-bottom:16px; }
.site-footer a{ opacity:.85; }
.site-footer a:hover{ opacity:1; color: var(--brass-light); }
.footer-links li{ margin-bottom:10px; font-size:.94rem; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.15); padding-top: 22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.85rem; opacity:.75; }
@media (max-width: 900px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .footer-grid{ grid-template-columns: 1fr; } }

/* Page banner (interior pages) */
.page-banner{ padding: 60px 0 20px; }
.page-photo{ margin: 34px 0 0; border-radius: var(--radius); overflow:hidden; }
.page-photo img{ width:100%; height:auto; max-height: 460px; object-fit: cover; }
.page-photo.rounded{ border-radius: 8px; }
.page-banner .eyebrow{ display:block; margin-bottom: 10px; }
.breadcrumb{ font-size:.85rem; color: var(--text-mute); margin-top:10px; }
.breadcrumb a{ color: var(--brass); }

/* Utility */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.mb-0{ margin-bottom:0; }
.two-col-list{ columns: 2; column-gap: 40px; }
.two-col-list li{ margin-bottom: 10px; break-inside: avoid; }

@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; scroll-behavior: auto !important; }
}
