/*
Theme Name: Crown Greens
Theme URI: https://satlabs.co
Author: SAT LABS CO
Author URI: https://satlabs.co
Description: Real estate landing page theme. Every section, image, color and popup is editable from Appearance > Customize. Pairs with the Crown Greens Core plugin for one-click demo import and lead capture.
Version: 2.1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: crown-greens
Tags: real-estate, landing-page, one-page, custom-colors
*/


/* ---------- brand fonts ----------
   The supplied Rossanova (personal-use) and Proxima Nova (Fontspring DEMO)
   OTFs are NOT production-usable: Rossanova ships EMPTY digit glyphs and the
   Proxima Nova DEMO replaces "4" and "*" with a "DEMO" watermark glyph, so
   any price / carpet-area / BHK number renders as a box. They are therefore
   not loaded. Headings fall back to Trirong, body to Mulish (both complete,
   enqueued from Google). When the client buys the FULL web licences, drop the
   licensed woff2 files in assets/fonts/ and re-add @font-face for
   'Rossanova' + 'Proxima Nova' - every heading/body rule already lists them
   first in the stack, so they light up automatically. */
:root{
  --navy:#1b3764;
  --navy-deep:#122a52;
  --blue:#2b6ca3;
  --royal:#2456a5;
  --sky:#1d9bd8;
  --cyan:#29abe2;
  --lime:#b6c94b;
  --lime-soft:#d7e39a;
  --footer-green:#aec74b;
  --orange:#f0863c;
  --orange-brand:#f7941d;
  --pink:#ec008c;
  --gold:#f2b21c;
  --ink:#333a45;
  --grey-bg:#f0f0f0;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
body{font-family:'Proxima Nova','Mulish',sans-serif;color:var(--ink);background:#fff;line-height:1.6;}
/* 'Proxima Nova' above is intentionally unresolved until the licensed font is added; browsers use Mulish. */
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1200px;margin:0 auto;--pad:24px;padding:0 var(--pad);}

/* admin bar offset */
body.admin-bar #cg-header{top:32px;}
@media(max-width:782px){body.admin-bar #cg-header{top:46px;}}

/* ---------- multicolor rule ---------- */
.rule{display:flex;height:5px;width:100%;max-width:640px;}
.rule span{flex:1;}
.rule .c1{background:var(--cyan);}
.rule .c2{background:var(--orange-brand);}
.rule .c3{background:var(--lime);}
.rule .c4{background:var(--navy);}
.rule .c5{background:var(--pink);}

/* ---------- header ---------- */
#cg-header{position:sticky;top:0;z-index:900;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1360px;margin:0 auto;}
/* wrapper is transparent on desktop (menu + CTA behave as direct nav children); becomes the dropdown on mobile */
.nav-menu-wrap{display:contents;}
.brand{display:flex;flex-direction:column;align-items:center;gap:2px;}
.brand-img{max-height:56px;width:auto;}
.brand .bars{display:flex;align-items:center;gap:4px;}
.brand .bars i{display:block;width:34px;height:3px;border-radius:2px;}
.brand .leaf{width:22px;height:16px;}
.brand .brand-name{font-size:17px;letter-spacing:2px;color:#5a5f66;font-weight:800;}
.brand .tag{display:flex;align-items:center;gap:8px;font-size:11px;color:#6a707a;letter-spacing:1px;font-weight:600;}
.brand .tag i{display:block;width:34px;height:3px;background:var(--lime);border-radius:2px;}
nav.menu,.menu{display:flex;align-items:center;gap:0;font-size:14px;font-weight:600;color:#3c4350;}
.menu a{padding:6px 14px;position:relative;transition:color .2s;}
.menu a:hover,.menu a.active{color:var(--sky);}
.menu a+a::before{content:"|";position:absolute;left:-3px;color:#c8ccd2;font-weight:400;}
.btn-enquiry{background:var(--navy);color:#fff;border:none;font-weight:700;font-size:12px;letter-spacing:.5px;padding:10px 14px;border-radius:3px;display:flex;align-items:center;gap:8px;}
.btn-enquiry .dot{width:18px;height:18px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font-size:11px;color:#fff;}
.hamburger{display:none;background:none;border:none;font-size:26px;color:var(--navy);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:520px;background:#2c3b2c center/cover no-repeat;display:flex;align-items:center;justify-content:center;}
.hero::before{content:"";position:absolute;inset:0;background:rgba(20,30,20,.25);}
.hero-rera{position:absolute;top:22px;right:28px;text-align:right;color:#fff;z-index:3;display:flex;gap:12px;align-items:flex-start;}
.hero-rera .txt strong{display:block;font-size:26px;letter-spacing:1px;font-weight:800;text-shadow:0 1px 6px rgba(0,0,0,.4);}
.hero-rera .txt span{font-size:13px;font-weight:600;opacity:.95;}
.hero-rera img{width:54px;height:54px;background:#fff;padding:3px;border-radius:3px;}
.hero-center{position:relative;z-index:2;text-align:center;padding:60px 20px 90px;}
.hero-ring{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(400px,46vw);aspect-ratio:1;height:auto;border-radius:50%;background:conic-gradient(#f7941d,#ef4136,#ec008c,#2e3192,#1b3764,#8cc63f,#f7941d);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%,#000 100%);mask:radial-gradient(circle,transparent 62%,#000 63%,#000 100%);opacity:.75;}
.hero h2{position:relative;color:#fff;font-size:clamp(26px,4vw,44px);font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.45);}
.hero h2 .still{font-family:'Caveat',cursive;font-size:1.9em;font-weight:700;padding:0 6px;position:relative;top:6px;}
.hero .pace{position:relative;color:#fff;font-family:'Caveat',cursive;font-size:clamp(26px,3vw,38px);margin-top:6px;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.hero-strip{position:absolute;bottom:0;left:0;right:0;display:flex;z-index:3;}
/* green sweeps into the black block with a convex curved edge (matches PSD) */
.hero-strip .launch{flex:1;background:var(--lime);color:#233;display:flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(15px,2vw,22px);padding:15px 78px 15px 20px;font-weight:500;position:relative;z-index:2;margin-right:-56px;border-radius:0 70px 150px 0 / 0 60% 100% 0;}
.hero-strip .launch b{font-weight:800;}
.hero-strip .bhk{background:#000;color:#fff;font-weight:800;font-size:clamp(16px,2.2vw,26px);display:flex;align-items:center;justify-content:center;padding:15px 40px 15px 74px;white-space:nowrap;min-width:38%;position:relative;z-index:1;}
.hero-figure{position:absolute;left:50%;bottom:58px;transform:translateX(-50%);z-index:2;max-height:82%;width:auto;pointer-events:none;}

/* ---------- full banner hero (single all-in-one image) ---------- */
.hero-full{display:block;line-height:0;background:#2c3b2c;}
.hero-full img,.hero-full picture{display:block;width:100%;height:auto;}
.hero-full picture img{width:100%;height:auto;}

/* ---------- doorstep bar ---------- */
.doorstep{background:#fff;}
.doorstep .in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;max-width:1360px;margin:0 auto;flex-wrap:wrap;}
.doorstep h3{font-size:clamp(15px,1.6vw,20px);color:#1c2430;font-weight:800;}
.doorstep .tel{font-size:clamp(17px,1.8vw,22px);font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px;}
.doorstep .div{width:1px;height:34px;background:#c9ccd2;}
.tcg-logo{display:flex;align-items:center;gap:8px;}
.tcg-logo-img{height:52px;width:auto;}
/* NOTE: never use "legacy" as a modifier here - it collides with the .legacy section
   block and would apply that section's padding/background to the image itself. */
.tcg-logo-img.on-about{height:44px;}
.tcg-logo .mark{width:40px;height:40px;}
.tcg-logo .txt b{display:block;font-size:15px;color:#1c2430;letter-spacing:.5px;}
.tcg-logo .txt span{font-size:9.5px;letter-spacing:1.5px;color:#5a616b;font-weight:600;}

/* ---------- USP strip ---------- */
.usp{background:var(--lime-soft);padding:26px 0 22px;}
.usp .grid{display:grid;grid-template-columns:repeat(6,1fr);max-width:1200px;margin:0 auto;padding:0 24px;}
.usp .item{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:#8f2b33;font-weight:600;font-size:14.5px;line-height:1.4;padding:0 10px;position:relative;}
.usp .item+.item::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:#9fb04a;}
.usp .item svg{width:44px;height:44px;stroke:var(--navy);fill:none;stroke-width:1.5;}
.usp .item img{width:52px;height:52px;object-fit:contain;}
.usp .item .r{font-size:34px;font-weight:600;line-height:44px;font-family:'Trirong',serif;}

/* whatsapp float */
.wa-float{position:fixed;right:26px;bottom:26px;z-index:950;width:62px;height:62px;border-radius:50% 50% 6px 50%;background:#25d366;border:4px solid #fff;box-shadow:0 5px 18px rgba(0,0,0,.28);display:grid;place-items:center;transition:transform .2s;}
.wa-float:hover{transform:scale(1.06);}
.wa-float svg{width:30px;height:30px;fill:#fff;}

/* ---------- section base ---------- */
section{scroll-margin-top:90px;}
.sec-pad{padding:70px 0;}
#homes{background:var(--grey-bg);}
h2.display{font-family:'Rossanova','Trirong',serif;color:var(--navy);font-weight:600;letter-spacing:3px;font-size:clamp(24px,3vw,34px);line-height:1.35;}
h2.display b{font-weight:700;color:var(--royal);}

/* ---------- choose home ---------- */
.choose-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;margin-bottom:50px;}
.choose-head p{font-size:14.5px;color:#555c66;margin-bottom:18px;}
.choose-head .rule{max-width:100%;}
.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch;}

/* unified card: white default, smooth navy hover (box1 -> box2) */
.home-card{position:relative;background:#fff;padding:12px;transition:background .35s ease,box-shadow .35s ease,transform .35s ease;box-shadow:0 0 0 rgba(0,0,0,0);}
.home-card .inner{border:1.5px solid var(--royal);height:100%;padding:40px 30px 64px;text-align:center;position:relative;transition:border-color .35s ease;}
.home-card h3{font-family:'Rossanova','Trirong',serif;font-size:36px;font-weight:400;letter-spacing:1px;line-height:1.1;color:var(--royal);transition:color .35s ease;}
.home-card h3 small{display:block;font-size:26px;font-weight:400;color:#5a616b;margin-top:2px;transition:color .35s ease;}
.home-card .meta{margin:22px 0 0;font-size:15px;color:#555c66;transition:color .35s ease;}
.home-card .meta b{color:#2c3440;transition:color .35s ease;}
.home-card .btn-dl{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);background:var(--royal);color:#fff;border:none;font-weight:700;font-size:13px;letter-spacing:.6px;padding:16px 30px;box-shadow:0 6px 16px rgba(0,0,0,.2);transition:background .35s ease,color .35s ease,transform .3s ease,box-shadow .3s ease;white-space:nowrap;}

/* hover state = box 2 */
.home-card:hover{background:var(--royal);box-shadow:0 18px 40px rgba(20,42,82,.28);transform:translateY(-4px);}
.home-card:hover .inner{border-color:var(--lime);}
.home-card:hover h3{color:var(--lime);}
.home-card:hover h3 small{color:#e3e7ea;}
.home-card:hover .meta{color:#dfe6f2;}
.home-card:hover .meta b{color:#fff;}
.home-card:hover .btn-dl{background:#fff;color:#1c2430;transform:translate(-50%,calc(50% - 7px));box-shadow:0 14px 26px rgba(0,0,0,.28);}
.btn-dl:hover{transform:translate(-50%,calc(50% - 10px))!important;box-shadow:0 16px 30px rgba(0,0,0,.3)!important;}

/* keyboard/touch focus mirrors hover */
.home-card:focus-within{background:var(--royal);box-shadow:0 18px 40px rgba(20,42,82,.28);}
.home-card:focus-within .inner{border-color:var(--lime);}
.home-card:focus-within h3{color:var(--lime);}
.home-card:focus-within .meta,.home-card:focus-within .meta b{color:#fff;}
.home-card:focus-within .btn-dl{background:#fff;color:#1c2430;}

.possession{border:1.5px solid var(--royal);margin-top:76px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:#fff;}
.possession h3{font-family:'Rossanova','Trirong',serif;font-size:32px;font-weight:400;color:var(--royal);letter-spacing:1px;}
.possession h3 b{color:var(--sky);font-weight:600;}
.possession p{font-size:15px;color:#555c66;margin-top:6px;}
.possession p b{color:#2c3440;}
.btn-solid{background:var(--royal);color:#fff;border:none;font-weight:700;font-size:13px;letter-spacing:.6px;padding:16px 30px;transition:background .2s;}
.btn-solid:hover{background:var(--navy);}

/* ---------- overview ---------- */
.overview .in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.overview p{font-size:14.5px;color:#555c66;margin-bottom:18px;}
/* rule bleeds from the left screen edge to the end of the first (text) column */
.overview .rule{margin-top:28px;--bleed:calc(max(0px,(100vw - 1200px)/2) + var(--pad,24px));margin-left:calc(-1 * var(--bleed));width:calc(100% + var(--bleed));max-width:none;}
.overview figure{position:relative;}
.overview figure figcaption{position:absolute;right:10px;bottom:8px;color:#fff;font-size:11px;text-shadow:0 1px 4px rgba(0,0,0,.6);}

/* ---------- both sides gradient ---------- */
.bothsides{background:linear-gradient(120deg,#f2803c 0%,#ee5a54 18%,#ec2a7e 42%,#d4359b 62%,#8b4bb0 82%,#5b4fa8 100%);padding:70px 0 80px;color:#fff;}
.bothsides h2{font-family:'Rossanova','Trirong',serif;text-align:center;font-weight:600;letter-spacing:5px;font-size:clamp(20px,2.6vw,30px);margin-bottom:56px;}
.panels{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.panel{display:flex;flex-direction:column;}
.panel .txt{border:1px solid rgba(255,255,255,.85);padding:22px 20px;font-size:14.5px;line-height:1.55;}
.panel .txt h3{font-size:19px;font-weight:800;margin-bottom:12px;}
.panel .img{flex:1;min-height:250px;background-size:cover;background-position:center;}
.panel.gold .txt{border-color:var(--gold);}
.panel .img.top{order:-1;}

/* ---------- amenities mosaic ---------- */
.amenities{padding:70px 0;background:#fff;}
/* row-by-row layout: each row sets its own split (top 40/60, bottom 60/40, middle in thirds) */
.mosaic{display:flex;flex-direction:column;gap:16px;}
.m-row{display:grid;gap:16px;}
.m-row-top{grid-template-columns:40fr 60fr;}
.m-row-mid{grid-template-columns:1fr 1.05fr 1fr;}
.m-row-bot{grid-template-columns:60fr 40fr;}
.m-col{display:grid;gap:16px;grid-template-rows:1fr 1fr;}
.tile{position:relative;overflow:hidden;background-repeat:no-repeat;background-position:center;background-size:cover;min-height:225px;}
.tile .label{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(20,30,50,.72));color:#fff;font-weight:700;font-size:13.5px;letter-spacing:.8px;padding:34px 18px 14px;display:flex;align-items:center;gap:9px;}
.tile .label svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2.4;}
.t-center{background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 32px;min-height:0;}
.t-center h3{font-family:'Rossanova','Trirong',serif;color:#fff;font-weight:500;letter-spacing:3px;font-size:22px;line-height:1.55;}
.t-center .bar{width:80px;height:4px;background:var(--gold);margin:20px 0;}
.t-center p{color:#dbe2ee;font-size:13.5px;line-height:1.7;margin-bottom:26px;}
/* transparent by default, solid white on hover */
.t-center button,.t-center .amc-btn{background:transparent;border:1.5px solid rgba(255,255,255,.9);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.6px;padding:13px 24px;display:inline-block;text-decoration:none;cursor:pointer;}
.t-center button:hover,.t-center .amc-btn:hover{background:#fff;color:#1c2430;border-color:#fff;transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.25);}
.t-walk{box-shadow:0 0 0 4px #f6e6b4;}

/* ---------- highlights ---------- */
.highlights{position:relative;background:center/cover no-repeat;padding:70px 0;}
.highlights::before{content:"";position:absolute;inset:0;background:rgba(29,101,168,.9);}
.highlights .wrap{position:relative;}
.highlights h2{font-family:'Rossanova','Trirong',serif;color:var(--gold);text-align:center;letter-spacing:6px;font-weight:600;font-size:clamp(20px,2.4vw,28px);margin-bottom:52px;}
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 90px;max-width:980px;margin:0 auto;}
.hl-item{display:flex;align-items:center;gap:22px;color:#fff;font-size:17px;font-weight:500;}
.hl-item .ic{width:62px;height:62px;border:1.5px solid rgba(255,255,255,.85);flex:0 0 62px;display:grid;place-items:center;}
.hl-item .ic svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:1.5;}
.hl-item .ic img{width:40px;height:40px;object-fit:contain;}

/* ---------- one space ---------- */
.onespace{position:relative;min-height:560px;overflow:hidden;background:#e9e6e1;}
/* single full-cover background, mirrored (scaleX) per the approved design */
/* supplied artwork already reads plant-left / desk-right, so no mirroring */
.onespace .os-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;}
/* gap above the card; the notch is CUT OUT of the card (photo shows through, not a white wedge) */
.onespace .bluecard{position:absolute;top:64px;bottom:0;left:7%;width:min(600px,54vw);background:#1789d6;color:#fff;padding:58px 54px;z-index:2;display:flex;flex-direction:column;justify-content:center;clip-path:polygon(0 0,11% 0,15% 28px,19% 0,100% 0,100% 100%,0 100%);}
.onespace .bluecard h3{font-family:'Rossanova','Trirong',serif;letter-spacing:2px;font-size:23px;font-weight:500;margin-bottom:26px;}
.onespace .bluecard p{font-size:13.5px;line-height:1.9;margin-bottom:20px;white-space:pre-line;}
.onespace .bluecard h4{font-size:18px;font-weight:600;margin:22px 0 18px;}
.onespace .tags{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;font-size:13px;font-weight:700;}
.onespace .tags span::before{content:"| ";font-weight:400;}

/* ---------- location ---------- */
/* solid light-grey base (tone of the supplied pattern) + a faint white diamond texture tiled on top */
.location{padding:70px 0;background-color:#e7e7e4;background-size:760px auto;background-position:center;background-repeat:repeat;}
.location .map{width:100%;height:400px;border:0;margin-bottom:60px;background:#dfe6df;}
.loc-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:start;margin-bottom:56px;}
.loc-intro p{font-size:14.5px;color:#555c66;margin-bottom:14px;}
.loc-intro .rule{margin-top:22px;max-width:100%;}
.loc-hl h3{color:#6a707a;font-size:25px;font-weight:700;letter-spacing:.5px;margin-bottom:36px;}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;gap:40px 80px;}
.loc-item{display:flex;gap:20px;align-items:flex-start;}
.loc-item .ic{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;}
.loc-item .ic svg{width:48px;height:48px;stroke:#5a616b;fill:none;stroke-width:1.3;}
.loc-item .ic img{width:52px;height:52px;object-fit:contain;}
.loc-item h4{color:var(--royal);font-size:16.5px;font-weight:800;margin-bottom:4px;}
.loc-item p{font-size:14px;color:#555c66;}

/* ---------- relevance ---------- */
.relevance{padding:80px 0;background:#fff;}
.relevance .in{display:grid;grid-template-columns:1fr 1.15fr;gap:0;align-items:center;}
.relevance figure{position:relative;z-index:2;}
.relevance figure img{width:100%;height:560px;object-fit:cover;box-shadow:0 8px 26px rgba(0,0,0,.14);}
.rel-card{background:var(--lime);padding:56px 48px 56px 72px;position:relative;margin-left:-40px;}
.rel-card::before{content:"";position:absolute;top:0;left:56px;border:24px solid transparent;border-top-color:#fff;}
.rel-card h2{font-family:'Rossanova','Trirong',serif;color:var(--navy);font-weight:400;letter-spacing:1px;font-size:clamp(22px,2.4vw,30px);line-height:1.4;margin-bottom:22px;}
.rel-card h2 b{color:var(--navy);font-weight:800;}
.rel-card p{font-size:14px;color:#2f3a2a;margin-bottom:12px;}
.rel-card h3{font-size:19px;color:#22452e;font-weight:800;margin:24px 0 16px;}
.rel-card ul{list-style:none;}
.rel-card li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#1c2430;font-weight:600;margin-bottom:12px;}
.rel-card li::before{content:"\27A4";color:var(--royal);font-size:14px;line-height:1.6;}
.rel-card .btn-solid{margin-top:16px;}

/* ---------- tower ---------- */
.tower{padding:20px 0 80px;background:#fff;}
.tower .in{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
.tower h2{margin-bottom:18px;color:#1789d6;}
.tower h2 b{color:#1789d6;font-weight:700;}
.tower p.lead{font-size:14px;color:#555c66;margin-bottom:30px;}
.tower h4{color:var(--navy);font-size:17px;font-weight:800;margin-top:20px;}
.tower .val{font-size:14.5px;color:#555c66;}
.tower .big{font-size:17px;color:var(--navy);font-weight:800;margin-top:22px;}
.tower .btn-blue{margin-top:36px;background:#1789d6;color:#fff;border:none;font-weight:700;font-size:13px;letter-spacing:.6px;padding:15px 26px;}
.tower figure img{width:100%;height:560px;object-fit:cover;}
.tower .rule{margin-top:60px;}

/* ---------- legacy ---------- */
/* anchor the family to the left edge so the copy sits on clear wall (no overlap) */
.legacy{position:relative;background:left center/cover no-repeat;padding:80px 0;}
/* light photo (family left, clear wall right): dark text on the right, subtle left vignette only */
/* photo stays clear on the left; the right fades to a clean panel so the copy never sits on the image */
.legacy::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,transparent 20%,rgba(247,246,244,0) 36%,rgb(255 255 255 / 70%) 52%,rgb(247 246 244 / 94%) 64%,rgb(247 246 244 / 26%) 100%);}
.legacy .in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:50px;}
.legacy .right{color:#333a45;}
/* align-items must be set: the flex default (stretch) collapses the logo to zero width */
.legacy .tcgl{display:flex;justify-content:flex-end;align-items:center;margin-bottom:26px;}
.legacy .tcgl .tcg-logo-img{height:54px;width:auto;flex:0 0 auto;align-self:center;}
.legacy h2{font-family:'Rossanova','Trirong',serif;font-weight:400;letter-spacing:2px;font-size:clamp(26px,3vw,36px);line-height:1.4;margin-bottom:22px;color:var(--navy);}
.legacy p{font-size:14px;line-height:1.75;margin-bottom:14px;color:#4a5058;}
.legacy p b{font-weight:800;}
.legacy .orange{background:var(--orange);padding:34px 32px;margin-top:26px;position:relative;}
.legacy .orange::before{content:"";position:absolute;top:0;right:56px;border:22px solid transparent;border-top-color:#fff;}
.legacy .orange ul{list-style:none;margin-bottom:22px;}
.legacy .orange li{font-size:14.5px;margin-bottom:9px;font-weight:500;}
.legacy .orange li::before{content:"| ";opacity:.85;}
.legacy .orange li b{font-weight:800;}
.legacy .orange h3{font-size:17px;font-weight:800;margin-bottom:16px;color:#fff;}
.legacy .chips{display:flex;flex-wrap:wrap;gap:12px;}
/* chips are peach by default and turn white only on hover */
.legacy .chips span{background:#f8c69a;color:#3c3126;font-size:13px;font-weight:600;padding:9px 16px;border-radius:6px;box-shadow:0 3px 6px rgba(0,0,0,.15);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;cursor:default;}
.legacy .chips span.lt{background:#f8c69a;}
.legacy .chips span:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.2);}
.legacy .chips span::before{content:"\2022  ";}

/* ---------- testimonials ---------- */
.testi{background:var(--grey-bg);padding:80px 0;text-align:center;}
.testi h2{font-family:'Rossanova','Trirong',serif;color:var(--navy);font-weight:600;letter-spacing:4px;font-size:clamp(20px,2.6vw,30px);margin-bottom:14px;}
.testi .sub{font-size:16px;color:#4a5058;margin-bottom:60px;}
.testi .sub b{color:#2c3440;}
.t-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;align-items:center;max-width:1060px;margin:0 auto;}
.t-card{background:#fff;padding:40px 30px 30px;box-shadow:0 6px 18px rgba(0,0,0,.08);position:relative;z-index:1;}
.t-card .stars{color:var(--gold);font-size:20px;letter-spacing:3px;margin-bottom:16px;}
.t-card p{font-size:13.5px;color:#555c66;line-height:1.8;min-height:150px;white-space:pre-line;}
.t-card .avatar{width:64px;height:64px;border-radius:50%;background:#e3e3e3;margin:22px auto 12px;display:grid;place-items:center;}
.t-card .avatar{overflow:hidden;}
.t-card .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.t-card .avatar svg{width:34px;height:34px;fill:#9aa0a8;}
.t-card .name{font-size:14px;color:#3c4350;font-weight:600;}
.t-card.mid{background:#1a3fa0;color:#fff;transform:translateY(-46px);z-index:2;padding-top:34px;box-shadow:0 14px 30px rgba(0,0,0,.2);}
.t-card.mid p{color:#e8edf6;}
.t-card.mid .quote{font-family:'Rossanova','Trirong',serif;font-size:70px;line-height:.6;color:#8fa6cf;margin-bottom:20px;}
.t-card.mid .avatar{background:#fff;}
.t-card.mid .name{color:#fff;}
.testi .btn-solid{margin-top:20px;}

/* ---------- footer ---------- */
footer#contact{background:var(--footer-green);font-family:'Quicksand',sans-serif;color:#2c3440;padding:70px 0 30px;}
.f-grid{display:grid;grid-template-columns:1.25fr .7fr 1.3fr;gap:50px;}
.f-item{display:flex;gap:16px;margin-bottom:26px;}
.f-item .ic{width:38px;flex:0 0 38px;}
.f-item .ic svg{width:32px;height:32px;stroke:var(--navy);fill:none;stroke-width:1.6;}
.f-item .ic img{width:34px;height:34px;object-fit:contain;}
.f-item h5{font-size:13px;letter-spacing:1px;font-weight:700;color:#2c3440;margin-bottom:4px;}
.f-item p{font-size:13.5px;line-height:1.65;font-weight:500;white-space:pre-line;}
.f-item p+p{margin-top:10px;}
.f-links h4{font-size:15px;letter-spacing:1.5px;font-weight:700;color:var(--navy);margin-bottom:24px;text-align:right;}
.f-links ul{list-style:none;text-align:right;}
.f-links li{margin-bottom:14px;font-size:14.5px;font-weight:600;}
.f-links a:hover{color:var(--navy);}
.f-form h4{font-size:24px;letter-spacing:2px;font-weight:700;color:#57633a;margin-bottom:24px;}
.f-form h4 b{color:#3e4a26;}
.f-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.f-form input,.f-form textarea{width:100%;border:none;background:#fff;padding:13px 16px;font-family:'Quicksand',sans-serif;font-size:13.5px;color:#3c4350;outline:none;border-radius:2px;}
.f-form textarea{resize:vertical;min-height:88px;margin-bottom:14px;}
.f-form .agree{display:flex;gap:14px;align-items:flex-start;font-size:13px;font-weight:500;margin-bottom:26px;cursor:pointer;position:relative;}
.f-form .agree input{position:absolute;opacity:0;width:26px;height:26px;margin:0;cursor:pointer;}
.f-form .agree .box{flex:0 0 26px;width:26px;height:26px;border:2px solid var(--navy);background:transparent;display:inline-block;position:relative;transition:background .15s;}
.f-form .agree input:checked + .box{background:var(--navy);}
.f-form .agree input:checked + .box::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.f-form .agree input:focus-visible + .box{outline:2px solid var(--navy);outline-offset:2px;}
.f-form .agree .txt{line-height:1.5;padding-top:2px;}
.f-form .send{display:flex;justify-content:flex-end;}
.f-form button{background:var(--navy);color:#fff;border:none;font-family:'Quicksand',sans-serif;font-weight:600;font-size:14px;letter-spacing:1.5px;padding:17px 32px;display:flex;align-items:center;gap:16px;transition:background .2s;}
.f-form button:hover{background:var(--navy-deep);}
.f-form button .arw{color:var(--lime);font-size:18px;line-height:1;}
.f-form button:disabled{opacity:.7;cursor:default;}
.f-social{display:flex;justify-content:flex-end;gap:14px;margin-top:30px;}
.f-social a{width:34px;height:34px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;}
.f-social svg{width:16px;height:16px;fill:var(--navy);}
.f-copy{display:flex;justify-content:flex-end;gap:8px;font-size:13px;font-weight:600;margin-top:26px;flex-wrap:wrap;}
.f-copy a:hover{color:var(--navy);}
.disclaimer{background:var(--navy-deep);color:#dfe5ef;padding:40px 0;font-family:'Quicksand',sans-serif;}
.disclaimer p{font-size:13px;line-height:1.8;margin-bottom:22px;}
.disclaimer .rera{font-size:19px;font-weight:600;color:#fff;letter-spacing:.5px;}

/* ---------- popups ---------- */
.overlay{position:fixed;inset:0;background:rgba(15,18,24,.62);z-index:99999;display:none;align-items:center;justify-content:center;padding:24px;}
.overlay.open{display:flex;}
.modal{background:#fff;width:100%;position:relative;max-height:92vh;overflow-y:auto;animation:cgpop .25s ease;}
@keyframes cgpop{from{transform:scale(.94);opacity:0;}to{transform:scale(1);opacity:1;}}
.modal .close{position:absolute;top:18px;right:20px;background:none;border:none;font-size:26px;font-weight:700;line-height:1;color:#1c2430;}
.modal-logo{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 auto 8px;}
.modal-brand{pointer-events:none;}
.modal-logo .brand-name{font-size:19px;letter-spacing:2.5px;}
/* whatsapp modal */
.modal.wa{max-width:620px;padding:44px 48px 52px;}
.modal.wa .close{color:var(--pink);}
.modal.wa .lead{text-align:center;font-size:16.5px;color:#2c3440;margin:26px 0 26px;font-weight:600;}
.modal.wa input,.modal.wa select{width:100%;border:1.5px solid #2c3440;padding:16px 16px;font-family:'Proxima Nova','Mulish',sans-serif;font-size:15px;color:#2c3440;margin-bottom:18px;outline:none;background:#fff;appearance:none;border-radius:0;}
.modal.wa .sel{position:relative;}
.modal.wa .sel::after{content:"\2228";position:absolute;right:18px;top:16px;font-size:16px;color:#2c3440;pointer-events:none;}
.modal.wa .budget-label{font-size:15.5px;color:#2c3440;font-weight:600;margin:2px 0 16px;padding-left:12px;}
.modal.wa .radio{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-left:12px;font-size:16px;color:#2c3440;cursor:pointer;}
.modal.wa .radio input{appearance:none;width:26px;height:26px;border:2.5px solid var(--royal);border-radius:50%;margin:0;cursor:pointer;display:grid;place-items:center;}
.modal.wa .radio input:checked::before{content:"";width:13px;height:13px;border-radius:50%;background:var(--royal);}
.btn-wa{width:75%;margin:26px auto 0;display:flex;align-items:center;justify-content:center;gap:12px;background:#c6d64d;border:none;color:#2c3440;font-weight:800;font-size:14px;letter-spacing:1px;padding:17px 20px;}
.btn-wa svg{width:22px;height:22px;fill:none;stroke:#2c3440;stroke-width:1.6;}
/* consent row inside the WhatsApp modal */
.modal.wa .agree{display:flex;gap:14px;align-items:flex-start;font-size:13.5px;color:#3c4350;margin:10px 0 4px;font-weight:400;cursor:pointer;position:relative;text-align:left;}
.modal.wa .agree input{position:absolute;opacity:0;width:24px;height:24px;margin:0;cursor:pointer;}
.modal.wa .agree .box{flex:0 0 24px;width:24px;height:24px;border:2px solid var(--navy);display:inline-block;position:relative;margin-top:1px;transition:background .15s;}
.modal.wa .agree input:checked + .box{background:var(--navy);}
.modal.wa .agree input:checked + .box::after{content:"";position:absolute;left:7px;top:2px;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.modal.wa .agree input:focus-visible + .box{outline:2px solid var(--navy);outline-offset:2px;}
.modal.wa .agree .txt{line-height:1.5;}

/* enquiry modal */
.modal.enq{max-width:940px;padding:44px 56px 56px;}
.modal.enq label{display:block;font-size:15.5px;color:#2c3440;font-weight:600;margin:0 0 10px;}
.modal.enq input,.modal.enq textarea,.modal.enq select{width:100%;border:1.5px solid #2c3440;padding:15px 16px;font-family:'Proxima Nova','Mulish',sans-serif;font-size:14.5px;color:#2c3440;outline:none;background:#fff;appearance:none;border-radius:0;}
.modal.enq .field{margin-bottom:22px;}
.modal.enq .row2{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
.modal.enq .sel{position:relative;}
.modal.enq .sel::after{content:"\2228";position:absolute;right:18px;top:14px;font-size:16px;color:#2c3440;pointer-events:none;}
.modal.enq textarea{min-height:96px;resize:vertical;}
.modal.enq .agree{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:#3c4350;margin:6px 0 30px;font-weight:400;cursor:pointer;position:relative;}
.modal.enq .agree input{position:absolute;opacity:0;width:26px;height:26px;margin:0;cursor:pointer;}
.modal.enq .agree .box{flex:0 0 26px;width:26px;height:26px;border:2px solid var(--navy);display:inline-block;position:relative;margin-top:1px;transition:background .15s;}
.modal.enq .agree input:checked + .box{background:var(--navy);}
.modal.enq .agree input:checked + .box::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.modal.enq .agree input:focus-visible + .box{outline:2px solid var(--navy);outline-offset:2px;}
.modal.enq .agree .txt{line-height:1.55;}
.btn-get{display:block;width:48%;margin:0 auto;background:#c6d64d;border:none;color:#2c3440;font-weight:800;font-size:14px;letter-spacing:1px;padding:17px 20px;}

/* ---------- construction progress popup + carousel ---------- */
.modal.cg-progress{max-width:860px;}
.cg-gal-title{font-family:'Rossanova','Trirong',serif;color:var(--navy);text-align:center;letter-spacing:2px;font-size:22px;font-weight:600;margin:14px 0 20px;}
.cg-carousel{position:relative;background:#0e1726;overflow:hidden;}
.cg-slides{position:relative;width:100%;aspect-ratio:16/10;}
.cg-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;}
.cg-slide.active{opacity:1;}
.cg-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.cg-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:none;width:44px;height:44px;font-size:20px;color:#1c2430;cursor:pointer;display:grid;place-items:center;transition:background .2s ease;}
.cg-nav:hover{background:#fff;}
.cg-nav.prev{left:12px;}
.cg-nav.next{right:12px;}
.cg-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;}
.cg-dot{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0;}
.cg-dot.active{background:#fff;}
@media(max-width:560px){
  .cg-nav{width:36px;height:36px;font-size:16px;}
  .cg-gal-title{font-size:18px;}
}

/* ---------- blog fallback ---------- */
.cg-blog{max-width:820px;margin:60px auto;padding:0 24px;}
.cg-blog article{margin-bottom:50px;}
.cg-blog h1,.cg-blog h2{font-family:'Trirong',serif;color:var(--navy);margin-bottom:16px;}
.cg-blog .entry-content p{margin-bottom:16px;}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .usp .grid{grid-template-columns:repeat(3,1fr);gap:26px 0;}
  .usp .item:nth-child(4)::before{display:none;}
  .hl-grid{gap:22px 40px;}
  .onespace .bluecard{left:8%;width:min(500px,70vw);}
}
@media(max-width:900px){
  /* mobile bar = logo + hamburger only; menu and CTA collapse into the dropdown */
  .nav-menu-wrap{display:none;}
  .hamburger{display:block;}
  #cg-header.open .nav-menu-wrap{display:flex;flex-direction:column;align-items:stretch;gap:4px;position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 24px 18px;box-shadow:0 12px 20px rgba(0,0,0,.12);}
  #cg-header.open .menu{display:flex;flex-direction:column;align-items:flex-start;width:100%;}
  #cg-header.open .menu a{padding:11px 4px;width:100%;}
  #cg-header.open .btn-enquiry{display:inline-flex;width:100%;justify-content:center;margin-top:12px;padding:13px 14px;}
  .menu a+a::before{display:none;}
  .menu a::after{display:none;}
  .choose-head,.home-cards,.overview .in,.loc-intro,.relevance .in,.tower .in,.legacy .in{grid-template-columns:1fr;}
  .legacy .in>div:first-child{display:none;} /* empty photo spacer */
  .legacy .right{background:rgba(255,255,255,.86);padding:26px 22px;border-radius:4px;}
  .legacy .tcgl{justify-content:flex-start;}
  .rel-card{margin-left:0;padding:48px 32px;}
  .hero-strip .launch{clip-path:none;margin-right:0;border-radius:0;padding:12px 18px;white-space:normal;text-align:center;line-height:1.35;}
  .home-cards{gap:64px;}
  .panels{grid-template-columns:1fr 1fr;}
  .m-row,.m-col{grid-template-columns:1fr;}
  .tile{min-height:230px;}
  .hl-grid,.loc-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;}
  .t-cards{grid-template-columns:1fr;gap:24px;max-width:480px;}
  .t-card.mid{transform:none;}
  .t-card p{min-height:0;}
  .onespace{display:block;min-height:0;}
  .onespace .os-bg{position:relative;height:300px;transform:none;}
  .onespace .bluecard{position:relative;inset:auto;left:auto;width:auto;}
  .onespace .tags{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr;}
  .f-links h4,.f-links ul{text-align:left;}
  .modal.enq .row2{grid-template-columns:1fr;}
  .hero-strip{flex-direction:column;}
  .hero-strip .bhk{justify-content:center;min-width:0;padding:12px 18px;}
  .relevance figure img,.tower figure img{height:380px;}
  /* doorstep stacks and centres; drop the vertical dividers */
  .doorstep .in{justify-content:center;text-align:center;gap:14px;}
  .doorstep .div{display:none;}
  .tcg-logo-img{height:46px;}
}
@media(max-width:560px){
  .wrap{--pad:18px;}
  .sec-pad{padding:48px 0;}
  .nav{padding:12px 18px;}
  .brand-img{max-height:46px;}
  .brand .brand-name{font-size:15px;}
  .panels{grid-template-columns:1fr;}
  .usp{padding:22px 0 18px;}
  .usp .grid{grid-template-columns:repeat(2,1fr);gap:22px 0;}
  .usp .item::before{display:none !important;}
  .usp .item{font-size:13.5px;}
  .modal.wa,.modal.enq{padding:36px 24px 40px;}
  .btn-wa,.btn-get{width:100%;}
  /* hero: keep the RERA badge inside the viewport and lift the headline */
  .hero{min-height:440px;}
  .hero-rera{top:12px;right:12px;gap:8px;}
  .hero-rera .txt strong{font-size:15px;letter-spacing:.3px;}
  .hero-rera .txt span{font-size:9px;}
  .hero-rera img{width:42px;height:42px;}
  .hero-center{padding:40px 16px 84px;}
  .hero h2{font-size:24px;}
  .hero h2 .still{font-size:1.7em;top:4px;}
  .hero .pace{font-size:22px;}
  /* headings breathe less on phones */
  h2.display,.bothsides h2,.highlights h2,.testi h2,.legacy h2{letter-spacing:1.5px;}
  .possession{padding:26px 22px;text-align:center;justify-content:center;}
  .rel-card,.legacy .orange{padding:40px 24px;}
  .legacy .in{gap:32px;}
  .onespace .bluecard{padding:40px 26px;}
  /* footer + modal form fields go single-column */
  .f-form .row,.f-form .row2{grid-template-columns:1fr;}
  .f-form h4{font-size:21px;}
  .t-card p{min-height:0;}
}
@media(max-width:430px){
  .usp .grid{grid-template-columns:1fr 1fr;gap:20px 0;}
  .hero h2{font-size:21px;}
  .hero h2 .still{font-size:1.55em;}
  .hero .pace{font-size:19px;}
  .doorstep h3{font-size:15px;}
  .home-card .inner{padding:34px 20px 60px;}
  .home-card h3{font-size:30px;}
  .btn-dl{font-size:12px;padding:14px 20px;white-space:normal;max-width:92%;}
  .possession h3{font-size:26px;}
  .choose-head{gap:24px;}
  .hero-rera .txt strong{font-size:13px;}
}

/* consent validation feedback */
@keyframes cgShake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-6px);}40%,80%{transform:translateX(6px);}}
.cg-shake{animation:cgShake .4s ease;}
.cg-shake .box{border-color:var(--pink);}


/* ---------- sticky header shrink ---------- */
#cg-header{transition:box-shadow .3s ease,padding .3s ease;}
#cg-header .nav{transition:padding .3s ease;}
#cg-header.scrolled{box-shadow:0 4px 18px rgba(0,0,0,.12);}
#cg-header.scrolled .nav{padding-top:8px;padding-bottom:8px;}
#cg-header.scrolled .brand-img{max-height:46px;}

/* ---------- hover polish ---------- */
.btn-enquiry,.btn-solid,.btn-dl,.btn-blue,.btn-get,.btn-wa,.t-center button,.f-form button,.amenities .tile{transition:all .3s ease;}
.btn-enquiry:hover{background:var(--navy-deep);transform:translateY(-1px);}
.btn-solid:hover,.btn-blue:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,42,82,.25);}
.tile{overflow:hidden;}
.tile{will-change:transform;}
.amenities .tile > .label{transition:padding .3s ease;}
/* hover tint only - must not swallow clicks on the centre card's button */
.amenities .tile::after{content:"";position:absolute;inset:0;background:rgba(27,55,100,0);transition:background .35s ease;pointer-events:none;}
.amenities .tile:hover::after{background:rgba(27,55,100,.12);}
.amenities .tile:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.18);}
.f-links a,.f-copy a,.menu a{transition:color .2s ease;}
.f-social a{transition:background .25s ease,transform .25s ease;}
.f-social a:hover{background:var(--navy);transform:translateY(-2px);}
.f-social a:hover svg{fill:#fff;}
.hl-item .ic,.loc-item .ic{transition:transform .3s ease,border-color .3s ease;}
.hl-item:hover .ic{transform:scale(1.06);border-color:var(--gold);}
.wa-float{will-change:transform;}

/* respect reduced motion globally */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .cg-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  *{scroll-behavior:auto !important;}
}

/* ---------- motion & hover polish ---------- */
.btn-solid,.btn-blue,.btn-enquiry,.btn-wa,.btn-get,.t-center button,.amc button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.btn-solid:hover,.btn-blue:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,42,82,.22);}
.btn-enquiry{transition:transform .2s ease,background .2s ease;}
.btn-enquiry:hover{background:var(--navy-deep);transform:translateY(-1px);}
.btn-get:hover,.btn-wa:hover{filter:brightness(1.04);transform:translateY(-2px);}

/* amenity tiles: subtle zoom + label lift */
.tile{transition:box-shadow .3s ease,background-size .6s ease;background-size:100% auto;}
.tile:hover{box-shadow:0 14px 30px rgba(0,0,0,.22);background-size:112% auto;}
.tile .label{transition:padding .3s ease;}
.tile:hover .label{padding-bottom:18px;}

/* menu underline grow */
.menu a{position:relative;}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.menu a:hover::after,.menu a.active::after{transform:scaleX(1);}

/* footer quick links slide */
.f-links a{display:inline-block;transition:transform .2s ease,color .2s ease;}
.f-links a:hover{transform:translateX(4px);}

/* social icons */
.f-social a{transition:transform .2s ease,background .2s ease;}
.f-social a:hover{background:var(--navy);transform:translateY(-2px);}
.f-social a:hover svg{fill:#fff;}

/* scroll reveal */
.cg-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform;}
.cg-reveal.cg-in{opacity:1;transform:none;}
