/*
Theme Name: Gracestone Considered Capital
Theme URI: https://www.gracestonesa.co.za
Author: Gracestone Advisory
Author URI: https://www.gracestonesa.co.za
Description: A bespoke single-file WordPress theme for Gracestone Advisory. Reproduces the "Floating Logo" design as a fluid, animated single-page experience with a slide-out menu and book-flip page transitions. Every page — Home, What We Do, Approach, Company and Contact — is fully editable from Appearance to Customize, so the site works on a clean install with no pages created.
Version: 2.14.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gracestone
*/

/* =========================================================
   Design tokens (colour values are overridden inline from
   the Customizer in header.php — these are the fallbacks)
   ========================================================= */
:root{
  --bg:#f4f5f3;
  --ink:#0a0f11;
  --accent:#c2673b;
  --accent-dark:#a3512a;
  --menu:#e2500f;
  --footer:#945738;
  --line:#e2e5e1;
  --muted:#586460;
  --muted-2:#6b7573;
  --band-a:#141b23;
  --band-b:#2b3a4a;
  --band-c:#11171d;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{
  font-family:Archivo,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  color:var(--ink);
}
img{max-width:100%;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-dark);}
input,textarea,button{font-family:inherit;}
.mono{font-family:Archivo,Helvetica,Arial,sans-serif;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* =========================================================
   Shell + chrome (floating logo, menu button)
   ========================================================= */
.gs-shell{position:relative;min-height:100vh;background:var(--bg);color:var(--ink);overflow-x:hidden;}

.gs-logo{
  position:fixed;top:40px;left:52px;z-index:40;
  display:flex;align-items:center;padding:4px 10px;border-radius:999px;
  background:#ffffff;border:1px solid rgba(10,16,20,.06);box-shadow:0 8px 24px rgba(10,16,20,.16);cursor:pointer;
}
.gs-logo:hover{box-shadow:0 10px 30px rgba(10,16,20,.22);}
.gs-logo img{height:64px;width:auto;display:block;}
/* The logo sits beneath the slide-out menu, so the panel covers it when open. */
.gs-logo{transition:box-shadow 200ms ease;}

.gs-menubtn{
  position:fixed;top:42px;right:52px;z-index:70;
  display:flex;align-items:center;gap:14px;padding:12px 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);background:#12191b;
  box-shadow:0 14px 40px rgba(6,14,16,.28);cursor:pointer;
}
.gs-menubtn:hover{background:#1e2e30;}
.gs-menubtn .lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f2f6f4;}
.gs-menubtn .bars{display:flex;flex-direction:column;gap:4px;width:18px;}
.gs-menubtn .bars span{height:1px;background:#f2f6f4;transition:transform 380ms cubic-bezier(.2,.8,.2,1);}

.gs-open .gs-menubtn .bars span:nth-child(1){transform:translateY(2.5px) rotate(9deg);}
.gs-open .gs-menubtn .bars span:nth-child(2){transform:translateY(-2.5px) rotate(-9deg);}

/* =========================================================
   Scrim + slide-out menu panel
   ========================================================= */
.gs-scrim{position:fixed;inset:0;z-index:50;background:rgba(14,18,22,.62);transition:opacity 520ms ease;opacity:0;pointer-events:none;}
.gs-open .gs-scrim{opacity:1;pointer-events:auto;}

.gs-nav{
  position:fixed;top:0;bottom:0;z-index:60;width:min(1040px,82vw);background:var(--menu);
  display:flex;flex-direction:column;transition:transform 620ms cubic-bezier(.16,.9,.2,1);
  left:0;right:auto;transform:translateX(-102%);
}
.gs-nav[data-side="right"]{left:auto;right:0;transform:translateX(102%);}
.gs-open .gs-nav{transform:translateX(0);}

.gs-nav-top{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.28);flex-shrink:0;}
.gs-nav-top .contact{
  flex:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 28px;
  background:none;border:none;border-right:1px solid rgba(255,255,255,.28);cursor:pointer;color:#fff;
  font-size:19px;letter-spacing:-.01em;transition:background 280ms ease;
}
.gs-nav-top .contact:hover{background:rgba(255,255,255,.1);}
.gs-nav-top .close{width:82px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#fff;font-size:26px;line-height:1;transition:background 280ms ease;}
.gs-nav-top .close:hover{background:rgba(255,255,255,.1);}

.gs-nav-body{flex:1;display:flex;min-height:0;}
.gs-nav-rail{width:26%;border-right:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column;justify-content:space-between;padding:38px 0 40px 34px;}
.gs-nav-rail .rail-top{display:flex;flex-direction:column;align-items:flex-start;gap:26px;}
.gs-nav-rail img{width:110px;height:auto;}
.gs-login-btn{display:flex;align-items:center;gap:10px;padding:11px 20px 11px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;font-size:13.5px;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background 260ms ease;}
.gs-login-btn:hover{background:rgba(255,255,255,.22);}
.gs-login-btn svg{flex-shrink:0;}
.gs-nav-rail .copyright .yr{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.55);padding-bottom:18px;}
.gs-nav-rail .copyright .rr{font-size:15px;line-height:1.45;color:#fff;}

.gs-nav-mlogin{display:none;}
.gs-nav-main{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:34px 44px 32px 40px;min-height:0;overflow-y:auto;}
.gs-nav-links{display:flex;flex-direction:column;}
.gs-nav-links button{
  display:block;width:100%;text-align:left;padding:2px 0 14px 0;background:none;border:none;
  border-bottom:1px solid rgba(255,255,255,.5);cursor:pointer;
  transition:opacity 620ms cubic-bezier(.16,.9,.2,1),transform 620ms cubic-bezier(.16,.9,.2,1);
  opacity:0;transform:translateX(-28px);
}
.gs-nav[data-side="right"] .gs-nav-links button{transform:translateX(28px);}
.gs-open .gs-nav-links button{opacity:1;transform:translateX(0);}
.gs-nav-links button span{display:block;font-size:clamp(44px,5.4vw,76px);font-weight:500;letter-spacing:-.035em;line-height:1.06;color:#fff;}
.gs-nav-links button.is-active span{color:rgba(255,255,255,.45);}

.gs-nav-cta{display:flex;gap:26px;padding-top:28px;}
.gs-nav-cta .bar{width:1px;background:rgba(255,255,255,.6);flex-shrink:0;}
.gs-nav-cta .txt{display:flex;flex-direction:column;gap:2px;}
.gs-nav-cta .txt div,.gs-nav-cta .txt a{font-size:clamp(22px,2.2vw,34px);font-weight:500;letter-spacing:-.02em;color:#fff;}
.gs-nav-cta .txt a{text-decoration:underline;text-underline-offset:5px;}

/* =========================================================
   Transition layers (veil + spinning mark)
   ========================================================= */
.gs-veil{position:fixed;inset:0;z-index:45;pointer-events:none;background:#e7ebe7;transition:opacity 420ms ease;opacity:0;}
.gs-mark{position:fixed;inset:0;z-index:46;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.gs-mark img{width:96px;height:96px;will-change:transform,opacity;transition:opacity 320ms ease,transform 760ms cubic-bezier(.65,.02,.28,1);opacity:0;transform:rotate(0deg) scale(.72);}

/* =========================================================
   Page content wrapper + book-flip
   ========================================================= */
.gs-main{transition:opacity 420ms ease,filter 420ms ease,transform 640ms cubic-bezier(.2,.8,.2,1);opacity:1;filter:blur(0);transform:scale(1);}
.gs-main.is-out{opacity:0;filter:blur(16px);transform:scale(1.015);}

.gs-page{display:none;}
.gs-page.is-current{display:block;}

/* =========================================================
   Header band
   ========================================================= */
.gs-band{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--band-a) 0%,var(--band-b) 46%,var(--band-c) 100%);height:54vh;transition:height 640ms cubic-bezier(.2,.8,.2,1);}
.gs-band.tall{height:70vh;}
.gs-band .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--band-focus,26%);transform:scale(var(--band-zoom,1));transform-origin:50% 24%;opacity:1;filter:grayscale(.02) contrast(1.03) brightness(1.03);}
.gs-band .weave{position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(72deg,rgba(194,103,59,.22) 0 1px,transparent 1px 22px);}
.gs-band .fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,12,13,.60) 0%,rgba(6,12,13,.14) 44%,rgba(6,12,13,0) 68%);}
.gs-band .inner{position:absolute;left:0;right:0;bottom:0;padding:0 44px 44px 44px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;}
.gs-band .headline{display:flex;flex-direction:column;gap:6px;}
.gs-band .l1{font-size:34px;letter-spacing:-.015em;color:#eef4f2;line-height:1.22;font-weight:400;}
.gs-band.tall .l1{font-weight:600;}
.gs-band .l2{font-size:30px;letter-spacing:-.015em;color:#eef4f2;line-height:1.28;font-weight:400;}
.gs-band .social{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.gs-band .social .lab{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,242,240,.62);}
.gs-band .social .row{display:flex;gap:8px;}
.gs-band .social a{width:32px;height:32px;border-radius:8px;background:#f1f5f3;display:flex;align-items:center;justify-content:center;font-size:10px;color:#0a1416;}

/* =========================================================
   Generic section pieces
   ========================================================= */
.gs-sec{position:relative;overflow:hidden;padding:56px 44px;border-bottom:1px solid var(--line);}
.watermark{position:absolute;z-index:0;right:-70px;top:-50px;width:430px;height:auto;opacity:.55;pointer-events:none;}
.gs-eyebrow{position:relative;z-index:1;display:inline-flex;flex-wrap:wrap;gap:22px;padding:9px 16px;border-radius:999px;border:1px solid #d5dad5;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#5d6a67;margin-bottom:34px;}
.gs-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:64px;align-items:end;position:relative;z-index:1;}
.gs-hero-grid h1{margin:0;font-size:clamp(38px,5.2vw,74px);font-weight:400;letter-spacing:-.035em;line-height:1.03;text-wrap:pretty;}
.gs-hero-grid .aside{display:flex;flex-direction:column;gap:26px;padding-bottom:10px;}
.gs-hero-grid .aside p{margin:0;font-size:15px;line-height:1.65;color:#4c5854;}

.gs-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border-radius:999px;border:none;background:var(--accent);color:#fff8f3;font-size:13.5px;letter-spacing:.02em;cursor:pointer;text-decoration:none;}
.gs-btn:hover{background:var(--accent-dark);color:#fff8f3;}

.gs-tri{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--bg);}
.gs-tri .cell{padding:44px;border-right:1px solid var(--line);}
.gs-tri .cell:last-child{border-right:none;}
.gs-tri .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;}
.gs-tri h3{margin:0 0 12px;font-size:22px;font-weight:500;letter-spacing:-.02em;}
.gs-tri p{margin:0;font-size:14px;line-height:1.65;color:var(--muted);}

.gs-split{padding:80px 44px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center;border-bottom:1px solid var(--line);}
.gs-split h2{margin:0;font-size:34px;font-weight:400;letter-spacing:-.03em;line-height:1.12;}
.gs-split p{margin:0;font-size:15px;line-height:1.7;color:#4c5854;}
.gs-split .col{display:flex;flex-direction:column;gap:20px;}
.gs-stats{display:flex;gap:44px;padding-top:12px;flex-wrap:wrap;}
.gs-stats .n{font-size:38px;font-weight:400;letter-spacing:-.03em;}
.gs-stats .s{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding-top:6px;}
.gs-figure{height:340px;border-radius:14px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:20px;}
.gs-figure.plain{background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-figure .tag{font-size:10.5px;letter-spacing:.08em;color:var(--muted-2);}

/* two column intro (services / approach / company heroes) */
.gs-intro{padding:56px 44px 80px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;position:relative;overflow:hidden;}
.gs-intro h1{position:relative;z-index:1;margin:0;font-size:clamp(34px,4.4vw,62px);font-weight:400;letter-spacing:-.035em;line-height:1.05;}
.gs-intro .body{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;padding-top:8px;}
.gs-intro .body p{margin:0;font-size:15px;line-height:1.7;color:#4c5854;}

/* card grid (services) */
.gs-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.gs-cards .card{padding:52px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.gs-cards .card:nth-child(2n){border-right:none;}
.gs-cards .card.shade{background:#eef1ee;}
.gs-cards .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.gs-cards .card.shade .k{color:var(--muted-2);}
.gs-cards h3{margin:0 0 10px;font-size:26px;font-weight:500;letter-spacing:-.02em;color:var(--ink);}
.gs-cards p{margin:0;font-size:14px;line-height:1.7;color:var(--muted);}
.gs-cards a.card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:background 200ms ease;}
.gs-cards a.card:hover{background:#eef1ee;}
.gs-cards .more{margin-top:18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px;}
.gs-cards a.card:hover .more{gap:12px;}

/* service detail — what's included */
.gs-incl{padding:4px 44px 48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;position:relative;z-index:1;}
.gs-incl .it{display:flex;gap:16px;align-items:baseline;padding:19px 0;border-bottom:1px solid var(--line);font-size:17px;letter-spacing:-.01em;color:var(--ink);}
.gs-incl .it .n{font-size:11px;letter-spacing:.14em;color:var(--accent);min-width:24px;}
.gs-detail-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:8px 44px 60px;border-bottom:1px solid var(--line);}
.gs-backlink{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);cursor:pointer;background:none;border:none;padding:15px 4px;}
.gs-backlink:hover{color:var(--ink);}

/* service detail — when relevant / intended outcome */
.gs-svc-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gs-svc-blocks .blk{padding:44px;border-right:1px solid var(--line);}
.gs-svc-blocks .blk:last-child{border-right:none;}
.gs-svc-blocks .bh{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.gs-svc-blocks .blk p{margin:0;font-size:15px;line-height:1.75;color:#4c5854;}

/* service 04 — diagnostic determination */
.gs-determ{padding:48px 44px;border-bottom:1px solid var(--line);}
.gs-determ h2{margin:0 0 26px;font-size:26px;font-weight:400;letter-spacing:-.03em;}
.gs-determ .determ-grid{display:flex;flex-direction:column;}
.gs-determ .determ-it{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:24px;padding:20px 0;border-top:1px solid var(--line);align-items:baseline;}
.gs-determ .determ-it .dk{font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--accent);}
.gs-determ .determ-it .dv{font-size:15px;line-height:1.65;color:#4c5854;}

/* list rows (approach / clients) */
.gs-rows{display:flex;flex-direction:column;}
.gs-row{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr) 120px;gap:40px;align-items:center;padding:34px 44px;border-bottom:1px solid var(--line);transition:background 200ms ease;}
.gs-row:hover{background:#eef1ee;}
.gs-row .t{font-size:24px;font-weight:500;letter-spacing:-.02em;}
.gs-row p{margin:0;font-size:14px;line-height:1.6;color:var(--muted);}
.gs-row .yr{font-size:10.5px;color:var(--muted-2);text-align:right;}

/* team / founder grid */
.gs-people{padding:64px 44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-bottom:1px solid var(--line);}
.gs-person{display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none;cursor:pointer;}
.gs-person:hover .nm{color:var(--accent);}
.gs-person .pic{aspect-ratio:3/4;border-radius:12px;background-size:cover;background-position:center;background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-person .nm{font-size:16px;font-weight:500;}
.gs-person .rl{font-size:10px;letter-spacing:.06em;color:var(--muted-2);}
.gs-person .bio{margin:2px 0 0;font-size:13px;line-height:1.6;color:var(--muted);}

/* team section wrapper */
.gs-team-sec{border-bottom:1px solid var(--line);}
.gs-team-head{padding:60px 44px 0;}
.gs-team-head h2{margin:0 0 8px;font-size:30px;font-weight:400;letter-spacing:-.03em;}
.gs-team-head .lede{margin:0;font-size:15px;line-height:1.7;color:#4c5854;max-width:70ch;}
.gs-team-sec .gs-people{border-bottom:none;}

/* founder — dedicated full profile page */
.gs-profile{position:relative;overflow:hidden;padding:64px 44px 72px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:56px;align-items:start;}
.gs-profile .pic{position:relative;z-index:1;aspect-ratio:3/4;border-radius:16px;background-size:cover;background-position:center;background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-profile .who{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;}
.gs-profile .rl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.gs-profile h1{margin:0;font-size:clamp(34px,4.4vw,54px);font-weight:400;letter-spacing:-.035em;line-height:1.04;}
.gs-profile .sub{font-size:16px;font-weight:500;color:var(--accent);}
.gs-profile .lede{margin:0;font-size:19px;line-height:1.55;color:#3f4b48;max-width:60ch;}
.gs-profile .who p{margin:0;font-size:15px;line-height:1.75;color:#4c5854;}
.gs-profile .hl{margin-top:10px;padding-top:22px;border-top:1px solid var(--line);}
.gs-profile .hl-h{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px;}
.gs-profile .hl ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.gs-profile .hl li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;color:#39433f;}
.gs-profile .hl li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--accent);}

/* founder feature (company) */
.gs-founder{padding:72px 44px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;border-bottom:1px solid var(--line);align-items:start;}
.gs-founder .pic{aspect-ratio:3/4;border-radius:14px;background-size:cover;background-position:center;background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-founder .who{display:flex;flex-direction:column;gap:16px;}
.gs-founder .nm{font-size:30px;font-weight:500;letter-spacing:-.02em;}
.gs-founder .rl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.gs-founder p{margin:0;font-size:15px;line-height:1.7;color:#4c5854;}

/* institutional perspective chips */
.gs-chips{padding:64px 44px;border-bottom:1px solid var(--line);}
.gs-chips h2{margin:0 0 8px;font-size:30px;font-weight:400;letter-spacing:-.03em;}
.gs-chips .lede{margin:0 0 30px;font-size:15px;line-height:1.7;color:#4c5854;max-width:70ch;}
.gs-chips .grid{display:flex;flex-wrap:wrap;gap:12px;}
.gs-chips .chip{font-size:13px;padding:10px 16px;border:1px solid #d5dad5;border-radius:999px;color:#3f4b48;background:#fbfcfa;}

/* contact */
.gs-contact{position:relative;overflow:hidden;padding:56px 44px 88px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:72px;}
.gs-contact .left{position:relative;z-index:1;display:flex;flex-direction:column;gap:26px;}
.gs-contact h1{margin:0;font-size:clamp(34px,4.4vw,58px);font-weight:400;letter-spacing:-.035em;line-height:1.05;}
.gs-contact .left p{margin:0;font-size:15px;line-height:1.7;color:#4c5854;max-width:44ch;}
.gs-contact .facts{display:flex;flex-direction:column;gap:10px;padding-top:8px;font-size:12px;color:#4c5854;line-height:1.8;}
.gs-form{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;padding:34px;border:1px solid #dfe3df;border-radius:16px;background:#fbfcfa;}
.gs-form .field{display:flex;flex-direction:column;gap:7px;}
.gs-form label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);}
.gs-form input,.gs-form textarea{padding:13px 14px;border:1px solid #dfe3df;border-radius:9px;background:#fff;font-size:14px;color:#0a1416;}
.gs-form textarea{resize:vertical;}
.gs-form .submit{margin-top:6px;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border-radius:999px;border:none;background:var(--accent);color:#fff8f3;font-size:13.5px;cursor:pointer;}
.gs-form .submit:hover{background:var(--accent-dark);}
.gs-form .note{font-size:13px;line-height:1.6;color:var(--muted);margin:0;}

/* =========================================================
   Footer
   ========================================================= */
.gs-footer{position:relative;overflow:hidden;background:var(--footer);color:#f0eae5;padding:60px 44px 34px;}
.gs-footer .fmark{position:absolute;right:6%;top:14%;width:min(460px,38vw);height:auto;opacity:.14;pointer-events:none;z-index:0;filter:brightness(0) invert(1);}
.gs-footer .top,.gs-footer .base{position:relative;z-index:1;}
.gs-footer-pages{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:26px 0 2px;font-size:13px;}
.gs-footer-pages a{color:rgba(255,255,255,.82);text-decoration:none;}
.gs-footer-pages a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px;}
.gs-footer-pages .sep{color:rgba(255,255,255,.4);}
.gs-footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;}
.gs-footer-menu li{margin:0;padding:0;}
.gs-footer-menu a{color:rgba(255,255,255,.82);text-decoration:none;}
.gs-footer-menu a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px;}
/* standalone WordPress page body */
.gs-pagewrap{padding:4px 44px 60px;position:relative;z-index:1;}
.gs-pagewrap .art-rich{max-width:780px;}
@media(max-width:860px){ .gs-pagewrap{padding-left:22px;padding-right:22px;} }
.gs-footer .top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
.gs-footer .top .msg{font-size:30px;font-weight:400;letter-spacing:-.03em;max-width:24ch;line-height:1.15;}
.gs-footer .top .acts{display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.gs-footer .top .cta{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:none;color:#f4ede8;font-size:13.5px;cursor:pointer;white-space:nowrap;transition:background 180ms ease,color 180ms ease;}
.gs-footer .top .cta:hover{background:rgba(255,255,255,.1);}
.gs-footer .top .cta.solid{display:inline-block;text-align:center;gap:0;background:#fff;border-color:#fff;color:#22282a;font-size:19px;letter-spacing:-.005em;padding:15px 30px;font-weight:400;}
.gs-footer .top .cta.solid strong{font-weight:600;color:#161b1d;}
.gs-footer .top .cta.solid:hover{background:#f2e6de;color:#22282a;}
.gs-footer .base{display:flex;justify-content:space-between;gap:24px;padding-top:22px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,235,227,.86);flex-wrap:wrap;}

/* =========================================================
   Insights & Reports — home feed, list cards, single article
   ========================================================= */
/* home — above-footer strip: Considered Capital + Latest Insights */
.gs-strip{background:#f1f1ef;border-top:1px solid var(--line);padding:72px 44px 76px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:64px;align-items:start;}
.gs-strip .col{display:flex;flex-direction:column;gap:22px;}
.gs-strip .col h2{margin:0;font-size:clamp(30px,3.2vw,44px);font-weight:400;letter-spacing:-.03em;line-height:1.06;}
.gs-strip .col p{margin:0;font-size:14.5px;line-height:1.75;color:#6d7674;max-width:52ch;}
.gs-strip .gs-stats{display:flex;gap:52px;flex-wrap:wrap;padding-top:14px;}
.gs-strip .gs-stats .n{font-size:38px;font-weight:600;letter-spacing:-.035em;line-height:1;}
.gs-strip .gs-stats .s{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding-top:10px;}
.gs-latest{display:flex;flex-direction:column;gap:22px;width:100%;}
.gs-latest-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.gs-latest-head h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:#a4552c;}
.gs-latest-head .viewall{font-size:13.5px;color:#a4552c;cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.gs-latest-head .viewall:hover{color:#7f3f1e;}
.gs-latest-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.gs-latest .lcard{display:flex;flex-direction:column;gap:16px;min-height:180px;padding:26px 24px 22px;background:#fff;border:none;border-radius:20px;box-shadow:0 1px 2px rgba(16,24,28,.05);color:inherit;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;}
.gs-latest .lcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,24,28,.09);}
.gs-latest .lcard .meta{font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:#1b2224;}
.gs-latest .lcard h3{margin:0;font-size:20px;font-weight:600;line-height:1.16;letter-spacing:-.025em;color:#141a1c;}
.gs-latest .lcard .read{margin-top:auto;font-size:13px;color:#4b5453;display:inline-flex;align-items:center;gap:5px;}
.gs-latest .lcard:hover .read{color:var(--accent);}

/* insights listing — filters, featured, grid */
.gs-ins-filters{display:flex;gap:10px;flex-wrap:wrap;padding:44px 44px 0;}
.gs-ins-filters .chip{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#5d6a67;font-size:11px;letter-spacing:.05em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.gs-ins-filters .chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff8f3;}
.gs-featured{padding:36px 44px 26px;}
.gs-featured .feat-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;width:100%;padding:30px;border:1px solid var(--line);border-radius:18px;background:#fbfcfa;cursor:pointer;align-items:center;color:inherit;transition:border-color .26s ease;}
.gs-featured .feat-card:hover{border-color:var(--accent);}
.gs-featured .feat-media{aspect-ratio:16/10;border-radius:12px;background-size:cover;background-position:center;background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-featured .feat-body{display:flex;flex-direction:column;gap:14px;}
.gs-featured .kick{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.gs-featured h2{margin:0;font-size:clamp(26px,2.6vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.1;color:var(--ink);}
.gs-featured p{margin:0;font-size:14.5px;line-height:1.7;color:#586460;max-width:52ch;}
.gs-featured .read{font-size:13.5px;color:var(--accent);}
.gs-ins-grid{padding:0 44px 80px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.gs-ins-grid .ins-card{display:flex;flex-direction:column;gap:14px;text-align:left;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;color:inherit;transition:border-color .26s ease,transform .32s cubic-bezier(.2,.8,.2,1);}
.gs-ins-grid .ins-card:hover{border-color:var(--accent);transform:translateY(-3px);}
.gs-ins-grid .ins-card.is-hidden{display:none;}
.gs-ins-grid .meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a9491;}
.gs-ins-grid .ins-card h3{margin:0;font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.22;color:var(--ink);}
.gs-ins-grid .ins-card p{margin:0;font-size:13.5px;line-height:1.65;color:var(--muted);}
.gs-ins-grid .read{margin-top:auto;font-size:13px;color:var(--accent);}

/* single article */
.gs-article{position:relative;}
.gs-article .art-head{position:relative;overflow:hidden;padding:52px 44px 44px;border-bottom:1px solid var(--line);}
.gs-article .art-head .gs-backlink{position:relative;z-index:1;margin-bottom:30px;padding:0;}
.gs-article .kick{position:relative;z-index:1;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;}
.gs-article h1{position:relative;z-index:1;margin:0;max-width:68%;font-size:clamp(34px,4.4vw,62px);font-weight:500;letter-spacing:-.035em;line-height:1.04;white-space:normal;}
.gs-article .art-facts{position:relative;z-index:1;display:flex;gap:44px;flex-wrap:wrap;padding-top:34px;}
.gs-article .art-facts .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a9491;padding-bottom:6px;}
.gs-article .art-facts .v{font-size:15px;color:var(--ink);}
.gs-article .art-cover-wrap{padding:0 44px;}
.gs-article .art-cover{height:clamp(260px,38vw,520px);border-radius:0 0 16px 16px;background-size:cover;background-position:center;background-image:repeating-linear-gradient(58deg,#dfe4e0 0 2px,#eef1ee 2px 9px);}
.gs-article .art-body{padding:64px 44px 80px;display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:56px;align-items:start;border-bottom:1px solid var(--line);}
.gs-article .art-toc{display:flex;flex-direction:column;gap:0;position:sticky;top:100px;}
.gs-article .art-toc .toc-h{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8a9491;padding-bottom:12px;}
.gs-article .art-toc .toc-i{font-size:14px;line-height:1.5;color:#4c5854;padding:7px 0;border-top:1px solid var(--line);}
.gs-article .art-prose{display:flex;flex-direction:column;gap:26px;max-width:70ch;}
.gs-article .art-prose p{margin:0;font-size:15.5px;line-height:1.8;color:#4c5854;}
.gs-article .art-prose p.lead{font-size:20px;line-height:1.6;letter-spacing:-.015em;color:#243033;}
.gs-article .pullquote{margin:0;padding:28px 32px;border-left:2px solid var(--accent);background:#f7f4f1;font-size:19px;line-height:1.55;letter-spacing:-.015em;color:#243033;}
/* rich (post-driven) article content */
.gs-article .art-rich{display:flex;flex-direction:column;gap:22px;}
.gs-article .art-rich > *{margin:0;}
.gs-article .art-rich p{font-size:15.5px;line-height:1.8;color:#4c5854;}
.gs-article .art-rich > p:first-of-type{font-size:20px;line-height:1.6;letter-spacing:-.015em;color:#243033;}
.gs-article .art-rich h2{font-size:26px;font-weight:500;letter-spacing:-.025em;color:var(--ink);margin-top:10px;}
.gs-article .art-rich h3{font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin-top:6px;}
.gs-article .art-rich img{max-width:100%;height:auto;border-radius:12px;display:block;}
.gs-article .art-rich figure{margin:0;}
.gs-article .art-rich figcaption{font-size:12.5px;color:var(--muted-2);margin-top:8px;}
.gs-article .art-rich a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.gs-article .art-rich ul,.gs-article .art-rich ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;}
.gs-article .art-rich li{font-size:15.5px;line-height:1.7;color:#4c5854;}
.gs-article .art-rich blockquote{margin:0;padding:20px 28px;border-left:2px solid var(--accent);background:#f7f4f1;font-size:18px;line-height:1.55;color:#243033;}
.gs-article .art-rich .wp-block-image{margin:0;}
.gs-related{padding:64px 44px 80px;}
.gs-related .rel-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:26px;}
.gs-related .rel-head h2{margin:0;font-size:26px;font-weight:500;letter-spacing:-.025em;}
.gs-related .rel-all{background:none;border:none;padding:0;cursor:pointer;font-size:13.5px;color:var(--accent);}

/* member profile */
.gs-profile.member{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);}
.gs-profile.member .pic-col{display:flex;flex-direction:column;gap:20px;position:relative;z-index:1;}
.gs-profile.member .links{display:flex;flex-direction:column;gap:10px;font-size:11.5px;line-height:1.8;color:#4c5854;}
.gs-profile.member .links a{color:#4c5854;}
.gs-profile.member .links a:hover{color:var(--accent);}
.gs-profile.member .mfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);margin-top:14px;}
.gs-profile.member .mfact{padding:20px 24px 20px 0;border-bottom:1px solid var(--line);}
.gs-profile.member .mfact .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a9491;padding-bottom:8px;}
.gs-profile.member .mfact .v{font-size:15px;line-height:1.5;color:#243033;}
.gs-people-4{grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:none;}

/* =========================================================
   Corporate-profile modal + confirmation toast
   ========================================================= */
.gs-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:24px;}
.gs-modal.is-open{display:flex;}
.gs-modal-scrim{position:absolute;inset:0;background:rgba(10,14,17,.58);backdrop-filter:blur(2px);}
.gs-modal-card{position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:18px;padding:34px 32px 32px;box-shadow:0 30px 80px rgba(6,14,16,.35);animation:gs-pop 240ms cubic-bezier(.2,.8,.2,1);}
/* auth modal specifics */
.gs-auth .gs-modal-card{width:min(430px,100%);background:#fbfcfa;border-radius:20px;}
.gs-auth .gs-auth-pane .kick{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.gs-auth .gs-auth-pane h3{margin:0 0 10px;}
.gs-auth .gs-auth-switch{align-self:center;display:block;margin:10px auto 0;padding:6px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.gs-auth .gs-auth-switch:hover{color:var(--accent);}
.gs-auth .gs-auth-ok{margin:0 0 14px;font-size:13px;color:#2f8a4e;}
@keyframes gs-pop{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.gs-modal-x{position:absolute;top:14px;right:16px;background:none;border:none;font-size:16px;color:var(--muted-2);cursor:pointer;line-height:1;}
.gs-modal-x:hover{color:var(--ink);}
.gs-modal-card h3{margin:0 0 10px;font-size:24px;font-weight:500;letter-spacing:-.02em;color:var(--ink);}
.gs-modal-card .intro{margin:0 0 22px;font-size:14px;line-height:1.65;color:var(--muted);}
.gs-modal-card .field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.gs-modal-card label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);}
.gs-modal-card input{padding:13px 14px;border:1px solid #dfe3df;border-radius:9px;background:#fff;font-size:14px;color:#0a1416;}
.gs-modal-card input:focus{outline:none;border-color:var(--accent);}
.gs-modal-card .submit{margin-top:6px;width:100%;justify-content:center;display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border-radius:999px;border:none;background:var(--accent);color:#fff8f3;font-size:13.5px;cursor:pointer;}
.gs-modal-card .submit:hover{background:var(--accent-dark);}
.gs-modal-card .submit.is-busy{opacity:.6;cursor:progress;}
.gs-profile-err{margin:2px 0 0;font-size:13px;color:#b23c3c;}
.gs-modal-sent{text-align:center;padding:10px 4px 4px;}
.gs-modal-sent .tick{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:#eef6ef;color:#2f8a4e;display:flex;align-items:center;justify-content:center;font-size:24px;}
.gs-modal-sent .tick.is-err{background:#fbeae5;color:#b23c3c;}
.gs-modal-sent p{margin:0;font-size:15px;line-height:1.65;color:#39433f;}

.gs-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:115;max-width:min(520px,92vw);background:#12191b;color:#eef3f1;padding:18px 44px 18px 22px;border-radius:14px;box-shadow:0 22px 60px rgba(6,14,16,.4);display:flex;flex-direction:column;gap:12px;animation:gs-pop 260ms ease;}
.gs-toast p{margin:0;font-size:14px;line-height:1.6;}
.gs-toast .gs-btn{align-self:flex-start;}
.gs-toast-x{position:absolute;top:12px;right:14px;background:none;border:none;color:rgba(238,243,241,.7);font-size:14px;cursor:pointer;}
.gs-toast-x:hover{color:#fff;}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:900px){
  .gs-hero-grid,.gs-intro,.gs-split,.gs-contact,.gs-founder,.gs-profile{grid-template-columns:1fr;gap:32px;}
  .gs-tri{grid-template-columns:1fr;}
  .gs-tri .cell{border-right:none;}
  .gs-cards{grid-template-columns:1fr;}
  .gs-cards .card{border-right:none;}
  .gs-people{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gs-row{grid-template-columns:1fr;gap:10px;}
  .gs-row .yr{text-align:left;}
  .gs-band{height:52vh;}
  .gs-band.tall{height:58vh;}
  .gs-band .l1{font-size:26px;}
  .gs-band .l2{font-size:23px;}
  .gs-band .inner{padding:0 22px 24px 22px;flex-direction:column;align-items:flex-start;gap:18px;}
  .gs-band .social{align-items:flex-start;}
  .gs-logo img{height:46px;}
  .gs-sec,.gs-intro,.gs-split,.gs-contact,.gs-chips,.gs-people,.gs-founder,.gs-profile,.gs-team-head{padding-left:22px;padding-right:22px;}
  .gs-incl{grid-template-columns:1fr;padding-left:22px;padding-right:22px;}
  .gs-svc-blocks{grid-template-columns:1fr;}
  .gs-svc-blocks .blk{border-right:none;border-bottom:1px solid var(--line);padding:30px 22px;}
  .gs-svc-blocks .blk:last-child{border-bottom:none;}
  .gs-determ{padding-left:22px;padding-right:22px;}
  .gs-determ .determ-it{grid-template-columns:1fr;gap:8px;}
  .gs-detail-actions{padding-left:22px;padding-right:22px;}
  .gs-articles{grid-template-columns:1fr;}
  .gs-latest-cards{grid-template-columns:1fr;}
  .gs-strip{grid-template-columns:1fr;gap:40px;padding-left:22px;padding-right:22px;}
  .gs-featured .feat-card{grid-template-columns:1fr;gap:22px;}
  .gs-featured,.gs-ins-grid,.gs-ins-filters{padding-left:22px;padding-right:22px;}
  .gs-ins-grid{grid-template-columns:1fr;}
  .gs-article .art-head,.gs-article .art-cover-wrap,.gs-article .art-body,.gs-related{padding-left:22px;padding-right:22px;}
  .gs-article h1{max-width:100%;}
  .gs-article .art-body{grid-template-columns:1fr;gap:30px;}
  .gs-article .art-toc{position:static;}
  .gs-article .art-toc-empty{display:none;}
  .gs-profile.member{grid-template-columns:1fr;}
  .gs-people-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gs-footer .top .acts{align-items:stretch;}
  .gs-article{padding-left:0;padding-right:0;}
  .gs-footer .top .acts{justify-content:flex-start;}
  .gs-nav-rail{display:none;}
  .gs-nav-mlogin{display:block;margin:18px 0 4px;}
  .gs-nav-mlogin .gs-login-btn{width:auto;}
  .gs-logo{top:24px;left:24px;}
  .gs-menubtn{top:26px;right:24px;}
  .gs-footer{padding:40px 22px 28px;}
  .gs-footer .top{flex-direction:column;}
}
@media (max-width:520px){
  .gs-people{grid-template-columns:1fr;}
  .gs-logo{top:14px;left:14px;}
  .gs-menubtn{top:14px;right:14px;padding:10px 16px;}
}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:1ms!important;animation-duration:1ms!important;}
}
