/*
Theme Name: PropSalah
Theme URI: https://propsalah.com
Author: PropSalah
Description: Custom theme for PropSalah, focused on Aerocity Mohali and IT City Mohali, plus agricultural land, plots and project consultancy across the Tricity.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: propsalah
*/

@font-face{
  font-family:'Fraunces';
  font-weight:600;
  font-style:normal;
  src:url('assets/fonts/fraunces.woff2') format('woff2');
  font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  font-weight:900;
  font-style:normal;
  src:url('assets/fonts/fraunces.woff2') format('woff2');
  font-display:swap;
}
@font-face{
  font-family:'Work Sans';
  font-weight:400 700;
  font-style:normal;
  src:url('assets/fonts/worksans.woff2') format('woff2');
  font-display:swap;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-weight:500;
  font-style:normal;
  src:url('assets/fonts/plexmono.woff2') format('woff2');
  font-display:swap;
}

:root{
  --ink:#16302E;
  --teal:#24504C;
  --teal-deep:#123230;
  --teal-soft:#DDE9E4;
  --gold:#C99A3C;
  --gold-bright:#E3B559;
  --earth:#A8592F;
  --paper:#F4F6F1;
  --card:#FFFFFF;
  --line:#D6DDD3;
  --text:#1B2E2B;
  --text-dim:#52645F;
  --shadow: 0 20px 45px -25px rgba(18,50,48,0.35);
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#EEF3ED; --teal:#3E7972; --teal-deep:#0C1F1D; --teal-soft:#16302E;
    --gold:#E3B559; --gold-bright:#F2CA7A; --earth:#C97A4F; --paper:#0E1E1C;
    --card:#152B28; --line:#274541; --text:#EAF1EC; --text-dim:#9CB3AC;
    --shadow: 0 20px 45px -25px rgba(0,0,0,0.6);
  }
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:'Work Sans', ui-sans-serif, system-ui, sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
h1,h2,h3{font-family:'Fraunces', Georgia, serif;font-weight:600;text-wrap:balance;margin:0;color:var(--ink);}
.eyebrow{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:500;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .eyebrow{color:var(--gold-bright);}}
.mono-num{font-family:'IBM Plex Mono', ui-monospace, monospace;font-variant-numeric:tabular-nums;}

/* ribbon */
.ribbon{background:var(--teal-deep);color:var(--teal-soft);font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:12.5px;letter-spacing:.06em;padding:9px 0;overflow:hidden;}
.ribbon .wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;text-align:center;}
.ribbon b{color:var(--gold-bright);font-weight:500;}

/* header */
header.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(6px);}
header.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.brand img{height:44px;width:auto;}
nav.navlinks ul{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0;}
nav.navlinks li{margin:0;}
nav.navlinks a{font-size:13.5px;font-weight:500;text-decoration:none;color:var(--text);position:relative;padding-bottom:3px;white-space:nowrap;}
nav.navlinks a:hover{color:var(--teal);}
nav.navlinks li.current-menu-item > a{color:var(--teal);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) nav.navlinks a:hover, :root:not([data-theme="light"]) nav.navlinks li.current-menu-item > a{color:var(--gold-bright);}}
.cta{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#1B1305;font-weight:600;font-size:14px;padding:11px 20px;border-radius:3px;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow);transition:background .15s ease, transform .15s ease;}
.cta:hover{background:var(--gold-bright);transform:translateY(-1px);}
.cta-ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);color:var(--text);font-weight:500;font-size:14px;padding:10px 19px;border-radius:3px;text-decoration:none;}
.header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0;}
nav.navlinks{min-width:0;}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:9px 11px;cursor:pointer;}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:3px 0;}
@media (max-width:920px){
  nav.navlinks{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .25s ease;}
  nav.navlinks.is-open{max-height:400px;}
  nav.navlinks ul{flex-direction:column;align-items:flex-start;gap:0;padding:10px 0;}
  nav.navlinks a{padding:12px 28px;width:100%;display:block;}
  .menu-toggle{display:block;}
  header.site-header{position:sticky;}
  header.site-header .wrap{position:relative;flex-wrap:wrap;}
  .header-actions .cta-ghost{display:none;}
}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding-bottom:0;}
.hero .wrap{padding:76px 28px 0;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:48px;}}
.hero h1{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.01em;}
.hero h1 em{font-style:italic;color:var(--teal);font-weight:600;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero h1 em{color:var(--gold-bright);}}
.hero p.lede{margin-top:20px;font-size:18px;color:var(--text-dim);max-width:46ch;}
.tagset{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;}
.tag{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--text-dim);padding:6px 11px;border-radius:100px;text-decoration:none;display:inline-block;}
.tag.on{border-color:var(--gold);color:var(--ink);background:rgba(201,154,60,.10);}
.herobtns{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.hero-art{position:relative;aspect-ratio:1/1;max-width:480px;justify-self:end;}
@media (max-width:900px){.hero-art{justify-self:start;max-width:420px;width:100%;}}
.stats{border-top:1px solid var(--line);margin-top:64px;}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 28px;gap:20px;}
@media (max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr);}}
.stat b{display:block;font-family:'Fraunces';font-size:26px;font-weight:600;color:var(--ink);}
.stat span{font-size:12.5px;color:var(--text-dim);}

/* page hero (interior pages) */
.page-hero{border-bottom:1px solid var(--line);position:relative;}
.page-hero .art{height:340px;background-size:cover;background-position:center;position:relative;}
.page-hero .art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, var(--teal-deep) 0%, rgba(18,50,48,0.25) 55%, rgba(18,50,48,0) 100%);}
.page-hero .caption{position:absolute;left:0;right:0;bottom:0;padding:36px 0;}
.page-hero .caption h1{color:#fff;font-size:clamp(30px,4vw,46px);}
.page-hero .caption p.eyebrow{color:var(--gold-bright);}

/* section shell */
section{padding:88px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);max-width:22ch;}
.section-head p{color:var(--text-dim);max-width:38ch;font-size:15.5px;}

/* flagship project cards */
.flagships{display:flex;flex-direction:column;gap:26px;}
.flagship{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);}
@media (max-width:860px){.flagship{grid-template-columns:1fr;}}
.flagship .art{position:relative;min-height:280px;background-size:cover;background-position:center;}
.flagship .body{padding:40px 44px;display:flex;flex-direction:column;gap:18px;}
.flagship .num{font-family:'IBM Plex Mono';font-size:12px;color:var(--gold);letter-spacing:.1em;}
.flagship h3{font-size:30px;}
.flagship p{color:var(--text-dim);font-size:15.5px;max-width:52ch;}
.specs{display:grid;grid-template-columns:repeat(3,auto);gap:22px 34px;padding-top:14px;border-top:1px solid var(--line);margin-top:6px;}
.specs div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:4px;}
.specs div b{font-family:'IBM Plex Mono';font-weight:500;font-size:14.5px;color:var(--ink);}
@media (max-width:560px){.specs{grid-template-columns:1fr;}}
.flagship .foot{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap;}

/* three-up */
.threeup{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:860px){.threeup{grid-template-columns:1fr;}}
.offer{border:1px solid var(--line);border-radius:6px;padding:32px 28px;background:var(--card);display:flex;flex-direction:column;gap:14px;}
.offer .ic{width:42px;height:42px;color:var(--teal);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .offer .ic{color:var(--gold-bright);}}
.offer h3{font-size:20px;font-weight:600;}
.offer p{font-size:14.5px;color:var(--text-dim);}
.offer a{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--teal);text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .offer a{color:var(--gold-bright);}}

/* process */
.process{background:var(--teal-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
@media (max-width:860px){.steps{grid-template-columns:1fr;gap:36px;}}
.step{padding:0 26px 0 0;position:relative;}
.step .n{font-family:'Fraunces';font-weight:900;font-size:44px;color:var(--gold);line-height:1;}
.step h4{margin-top:14px;font-size:16.5px;font-weight:600;color:var(--ink);font-family:'Work Sans';}
.step p{font-size:14px;color:var(--text-dim);margin-top:8px;}
.step:not(:last-child)::after{content:"";position:absolute;top:22px;right:0;width:1px;height:56px;background:var(--line);}
@media (max-width:860px){.step:not(:last-child)::after{display:none;}}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media (max-width:760px){.quotes{grid-template-columns:1fr;}}
.quote{border-left:2px solid var(--gold);padding:6px 0 6px 24px;}
.quote p{font-family:'Fraunces';font-style:italic;font-weight:600;font-size:19px;color:var(--ink);line-height:1.4;}
.quote cite{display:block;margin-top:14px;font-style:normal;font-size:13px;color:var(--text-dim);font-family:'IBM Plex Mono';letter-spacing:.03em;}

/* CTA band */
.ctaband{background:var(--teal-deep);color:var(--teal-soft);}
.ctaband .wrap{padding:70px 28px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.ctaband h2{color:#fff;font-size:clamp(26px,3.6vw,38px);max-width:18ch;}
.ctaband p{color:var(--teal-soft);opacity:.8;margin-top:10px;max-width:40ch;font-size:15px;}

/* generic page/content (About, Contact, single posts) */
.content-page .wrap{padding-top:64px;padding-bottom:88px;max-width:820px;}
.content-page h1{font-size:clamp(30px,4vw,44px);margin-bottom:22px;}
.content-page .entry-content{font-size:16.5px;color:var(--text);}
.content-page .entry-content p{margin:0 0 20px;}
.content-page .entry-content h2{margin-top:40px;margin-bottom:14px;font-size:24px;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{border:1px solid var(--line);border-radius:6px;padding:28px;background:var(--card);}
.contact-card h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;font-family:'IBM Plex Mono';color:var(--text-dim);margin-bottom:16px;font-weight:500;}
.contact-card a.big{font-family:'Fraunces';font-size:22px;color:var(--ink);text-decoration:none;display:block;margin-bottom:10px;}

/* footer */
footer.site-footer{padding:56px 0 40px;border-top:1px solid var(--line);margin-top:0;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-grid h5{font-family:'IBM Plex Mono';font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0 0 14px;font-weight:500;}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.foot-grid a{text-decoration:none;font-size:14px;color:var(--text);}
.foot-brand p{color:var(--text-dim);font-size:14px;max-width:32ch;margin-top:14px;}
.foot-bottom{margin-top:50px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--text-dim);font-size:12.5px;flex-wrap:wrap;gap:10px;}

/* blog listing */
.post-list{display:flex;flex-direction:column;gap:36px;}
.post-list article{border-bottom:1px solid var(--line);padding-bottom:36px;}
.post-list h2{font-size:24px;margin-bottom:10px;}
.post-list h2 a{text-decoration:none;}
.post-list .entry-meta{font-family:'IBM Plex Mono';font-size:12px;color:var(--text-dim);margin-bottom:12px;}

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