/*
Theme Name: NEPA Gammai
Theme URI: https://dev.nepadesigns.com/
Description: A warm, editorial public-relations landing page. Astra child theme replicating the Squarespace "Gammai" demo layout — serif display headings (Crimson Pro), Inter body, full-pill buttons, rounded imagery, and a dark footer.
Author: NEPA Designs
Template: astra
Version: 1.0.0
*/

/* ============ Tokens ============ */
:root{
  --bg:#fbfbfb;
  --ink:#342e2e;
  --ink-80:rgba(52,46,46,.80);
  --ink-55:rgba(52,46,46,.55);
  --card:#eae7e3;
  --line:rgba(52,46,46,.18);
  --maxw:1360px;
  --gutter:clamp(20px,5vw,72px);
  --img-radius:14px;
  --card-radius:30px;
}

/* ============ Reset / base ============ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.gammai{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:19px;line-height:1.6;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
}
.gammai img{display:block;max-width:100%;}
.gammai a{color:inherit;text-decoration:none;}
.gammai p{margin:0 0 1em;color:var(--ink-80);}
.gm-wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}

h1,h2,h3,h4,.gm-serif{
  font-family:"Crimson Pro",Georgia,"Times New Roman",serif;
  font-weight:300;color:var(--ink);letter-spacing:-.035em;line-height:1.02;margin:0;
}

/* ============ Buttons ============ */
.gm-btn{
  display:inline-block;background:#FE9400;color:var(--bg);
  font-family:"Inter",sans-serif;font-size:16px;font-weight:500;letter-spacing:-.01em;
  padding:16px 44px;border-radius:300px;border:1px solid #FE9400;
  cursor:pointer;transition:opacity .2s ease,transform .2s ease;
}
.gm-btn:hover{opacity:.82;}
.gm-btn--ghost{background:transparent;color:var(--ink);}
.gm-btn--ghost:hover{background:var(--ink);color:var(--bg);opacity:1;}
/* anchor buttons: beat `.gammai a{color:inherit}` specificity */
.gammai a.gm-btn{color:var(--bg);}
.gammai a.gm-btn--ghost{color:var(--ink);}

/* ============ Header ============ */
.gm-header{position:sticky;top:0;z-index:50;background:rgba(251,251,251,.88);backdrop-filter:saturate(1.2) blur(10px);}
.gm-header__inner{display:flex;align-items:center;gap:40px;padding:22px var(--gutter);}
.gm-logo__img{height:48px;width:auto;display:block;}
.gm-logo{font-family:"Crimson Pro",serif;font-weight:400;font-size:26px;letter-spacing:-.02em;white-space:nowrap;}
.gm-nav{display:flex;gap:30px;margin-left:12px;font-size:17px;}
.gm-nav a{color:var(--ink-80);transition:color .2s;}
.gm-nav a:hover{color:var(--ink);}
.gm-header .gm-btn{margin-left:auto;}
.gm-burger{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--ink);cursor:pointer;line-height:1;}

/* ============ Section rhythm ============ */
.gm-section{padding-block:clamp(56px,8vw,110px);}
.gm-rule{border:0;border-top:1px solid var(--line);margin:0;}
.gm-eyebrow{display:block;}

/* ============ Hero ============ */
.gm-hero{padding-top:clamp(28px,5vw,60px);}
.gm-hero__title{font-size:clamp(52px,9.5vw,90px);}
.gm-hero__sub{margin-top:30px;font-size:clamp(18px,2vw,21px);}
.gm-hero__img{margin-top:clamp(36px,5vw,60px);border-radius:var(--img-radius);width:100%;aspect-ratio:16/9;object-fit:cover;}

/* ============ Latest News ============ */
.gm-h2{font-size:clamp(40px,6vw,84px);margin-bottom:clamp(30px,4vw,54px);}
.gm-news__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,38px);}
.gm-news__card img{border-radius:var(--img-radius);width:100%;aspect-ratio:4/5;object-fit:cover;}
.gm-news__title{font-size:clamp(26px,2vw,32px);margin:22px 0 14px;line-height:1.08;}
.gm-news__card p{font-size:17px;}

/* ============ About row / Expertise row (2-col) ============ */
.gm-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;}
.gm-split--text p{font-size:clamp(20px,2.2vw,27px);line-height:1.5;color:var(--ink);}
.gm-split__img{border-radius:var(--img-radius);width:100%;object-fit:cover;}
.gm-about__img{aspect-ratio:3/2;}

/* ============ Services ============ */
.gm-svc__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.4vw,34px);}
.gm-svc__card{background:var(--card);border-radius:var(--card-radius);padding:clamp(26px,2.4vw,40px);display:flex;flex-direction:column;}
.gm-svc__card img{border-radius:16px;width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:28px;}
.gm-svc__title{font-size:clamp(34px,3.4vw,52px);line-height:1.02;margin-bottom:18px;}
.gm-svc__card p{font-size:18px;margin-bottom:0;}

/* ============ Contact ============ */
.gm-contact__intro{max-width:52ch;font-size:clamp(18px,2vw,21px);margin-bottom:clamp(30px,4vw,50px);}
.gm-form{display:grid;gap:26px;max-width:760px;}
.gm-form__row{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.gm-field{display:flex;flex-direction:column;gap:8px;}
.gm-field label{font-size:14px;color:var(--ink-55);letter-spacing:0;}
.gm-field input,.gm-field textarea{
  font-family:inherit;font-size:17px;color:var(--ink);background:transparent;
  border:0;border-bottom:1px solid var(--line);padding:10px 2px;border-radius:0;
}
.gm-field input:focus,.gm-field textarea:focus{outline:none;border-bottom-color:var(--ink);}
.gm-field textarea{min-height:120px;resize:vertical;}
.gm-check{display:flex;align-items:center;gap:12px;}
.gm-check input{width:18px;height:18px;accent-color:var(--ink);}
.gm-check label{font-size:16px;color:var(--ink-80);}

/* ============ Social (dark) ============ */
.gm-dark{background:var(--card);color:var(--ink);}
.gm-dark h2,.gm-dark h3,.gm-dark h4{color:var(--ink);}
.gm-dark p,.gm-dark a{color:rgba(52,46,46,.78);}
.gm-social__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px);margin-top:clamp(30px,4vw,50px);}
.gm-social__grid img{border-radius:var(--img-radius);width:100%;aspect-ratio:4/5;object-fit:cover;}

/* ============ Footer ============ */
.gm-footer{background:#013271;color:var(--bg);padding-block:clamp(50px,6vw,80px);}
.gm-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,48px);}
.gm-footer h4{font-size:26px;margin-bottom:20px;color:var(--bg);}
.gm-footer p,.gm-footer a{color:rgba(251,251,251,.78);font-size:16px;line-height:1.7;}
.gm-footer a:hover{color:var(--bg);}
.gm-footer__links{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:center;}
.gm-footer__links a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.gm-footer__links svg{width:26px;height:26px;fill:currentColor;display:block;}
.gm-footer__links a:hover svg{opacity:.8;}
.gm-news-form{display:flex;flex-direction:column;gap:16px;margin-top:6px;}
.gm-news-form input{background:#fbfbfb;border:0;border-radius:6px;padding:16px 18px;font-family:inherit;font-size:16px;color:var(--ink);}
.gm-news-form .gm-btn{background:#d9d4cd;color:var(--ink);border-color:#d9d4cd;align-self:flex-start;}
.gm-news-form .gm-btn:hover{opacity:.85;}
.gm-foot-bottom{max-width:var(--maxw);margin:48px auto 0;padding-inline:var(--gutter);font-size:14px;color:rgba(251,251,251,.6);}

/* ============ Responsive ============ */
@media (max-width:900px){
  .gm-nav{display:none;}
  .gm-header .gm-btn{display:none;}
  .gm-burger{display:block;}
  .gm-news__grid,.gm-social__grid{grid-template-columns:1fr 1fr;}
  .gm-split{grid-template-columns:1fr;}
  .gm-about--reverse .gm-split__img{order:-1;}
  .gm-svc__grid{grid-template-columns:1fr;}
  .gm-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  body.gammai{font-size:17px;}
  .gm-news__grid,.gm-social__grid,.gm-footer__grid{grid-template-columns:1fr;}
  .gm-form__row{grid-template-columns:1fr;}
}
/* collapse Astra's default containers so our full-bleed sections work */
.gammai .site-content .ast-container{max-width:none;padding:0;}
.gammai #primary{margin:0;padding:0;}
.gammai .entry-header,.gammai .ast-single-related-posts-container{display:none;}

/* ============ Inner pages ============ */
.gm-page-hero{padding-top:clamp(44px,6vw,96px);padding-bottom:clamp(24px,3vw,44px);}
.gm-kicker{font-family:"Inter",sans-serif;font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);margin-bottom:22px;}
.gm-page-title{font-size:clamp(44px,7vw,96px);}
.gm-h3{font-family:"Crimson Pro",Georgia,serif;font-weight:300;letter-spacing:-.03em;line-height:1.05;font-size:clamp(28px,3vw,40px);margin:0 0 18px;}

/* News/service card links */
.gm-news__card a{display:block;color:inherit;text-decoration:none;}
.gm-news__card a:hover .gm-news__title{opacity:.7;}
.gm-post-meta{font-size:14px;color:var(--ink-55);letter-spacing:0;margin:0 0 8px;}

/* Prose blocks */
.gm-prose p{font-size:clamp(17px,1.5vw,19px);color:var(--ink-80);}
.gm-prose h2,.gm-prose h3{margin-top:1.4em;}
.gm-prose h2:first-child,.gm-prose h3:first-child{margin-top:0;}
.gm-prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.gm-prose strong{color:var(--ink);}
.gm-prose ul,.gm-prose ol{color:var(--ink-80);font-size:clamp(17px,1.5vw,19px);padding-left:1.2em;}
.gm-prose li{margin-bottom:.5em;}
.gm-svc__card ul,.gm-svc__card ol{font-size:16px;}

/* Stats */
.gm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,40px);}
.gm-stat{background:var(--card);border-radius:var(--card-radius);padding:clamp(28px,3vw,48px);text-align:center;}
.gm-stat__num{display:block;font-family:"Crimson Pro",serif;font-weight:300;letter-spacing:-.03em;font-size:clamp(56px,7vw,96px);line-height:1;color:var(--ink);}
.gm-stat__label{display:block;margin-top:14px;font-size:17px;color:var(--ink-80);}

/* Service icons (brand illustrations, shown contained not cropped) */
.gm-svc__card img.gm-icon{object-fit:contain;background:transparent;aspect-ratio:3/2;padding:clamp(6px,1.4vw,18px);}

/* Text-only service grid */
.gm-svc__grid--text{grid-template-columns:repeat(3,1fr);}
.gm-svc__grid--text .gm-svc__title{font-size:clamp(26px,2.2vw,34px);}
.gm-svc__grid--text .gm-svc__card p{font-size:17px;}

/* Dark CTA band */
.gm-cta{text-align:center;max-width:740px;margin-inline:auto;}
.gm-cta p{color:rgba(251,251,251,.80);font-size:clamp(18px,2vw,21px);max-width:52ch;margin-inline:auto;}
.gm-btn--light{background:#fbfbfb;color:var(--ink);border-color:#fbfbfb;}
.gammai a.gm-btn--light{color:var(--ink);}
.gm-btn--light:hover{opacity:.85;}

/* Contact info column */
.gm-contact-info strong{color:var(--ink);}

@media (max-width:900px){
  .gm-stats{grid-template-columns:1fr 1fr;}
  .gm-svc__grid--text{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .gm-stats,.gm-svc__grid--text{grid-template-columns:1fr;}
}
