/* ==========================================================================
   Gaud Consultancy — main stylesheet
   1. Tokens   2. Base   3. Header & footer   4. Buttons   5. Sections & layout
   6. Content components   7. Data blocks (services, clients, team)   8. Forms & contact
   9. Responsive   10. Menus, logo and languages   11. Icons and depth   12. Imagery, map and ticker
   13. WhatsApp and quick-contact bar   14. Motion   15. Gujarati and Hindi
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--surface: #ffffff;
	--surface-stone: #f5f3f0;
	--surface-sand: #ece4d8;
	--surface-deep: #2a1f18;
	--ink: #1e1712;
	--ink-muted: #625549;
	--on-deep: #f7f2ea;
	--on-deep-muted: #cdbca6;
	--espresso: #3a2a20;
	--espresso-deep: #2a1f18;
	--espresso-soft: #f2ece6;
	--gold: #d9a441;
	--gold-text: #8a5d14;
	--gold-soft: #fbf3e3;
	--line: #e6e0d8;
	--line-strong: #8c8076;
	--focus: #8a5d14;
	--success: #2e7a4b;
	--danger: #b42318;
	--shadow-raise: 0 1px 2px rgba(30, 23, 18, .06), 0 8px 24px rgba(30, 23, 18, .08);
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 16px;
	--radius-pill: 999px;
	--container: 1200px;
	--gutter: max(24px, calc((100% - var(--container)) / 2));
	--sec-y: 96px;
	--font-display: "Sora", "Segoe UI", system-ui, sans-serif;
	--font-text: "Hanken Grotesk", "Segoe UI", system-ui, sans-serif;
}

/* Local font files (also declared in theme.json for the editor). */
@font-face { font-family: "Sora"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/sora-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Sora"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/sora-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Sora"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/sora-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-weight: 500; font-style: normal; font-display: swap; src: url(../fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/hanken-grotesk-latin-600-normal.woff2) format("woff2"); }

/* 2. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--surface); color: var(--ink); font-family: var(--font-text); font-size: 17px; line-height: 27px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold-text); text-underline-offset: 3px; }
a:hover { color: var(--espresso); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; color: inherit; margin: 0; text-wrap: balance; }
h2 { font-size: 32px; line-height: 38px; letter-spacing: -0.01em; }
h3 { font-size: 19px; line-height: 26px; }
h4 { font-size: 17px; line-height: 24px; }
p { margin: 0; }
[id] { scroll-margin-top: 96px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.gc-skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--espresso); color: #fff; padding: 12px 16px; border-radius: var(--radius-md); font-weight: 600; text-decoration: none; }
.gc-skip:focus { top: 12px; color: #fff; }
.gc-main:focus { outline: none; }

/* Type helpers (block "Additional CSS class") */
.gc-display { font-size: 64px; line-height: 68px; letter-spacing: -0.02em; max-width: 13ch; }
.gc-h1 { font-size: 48px; line-height: 54px; letter-spacing: -0.015em; max-width: 20ch; }
.gc-h3 { font-size: 24px; line-height: 30px; }
.gc-h4 { font-size: 19px; line-height: 26px; }
.gc-eyebrow { font-size: 15px; line-height: 20px; font-weight: 600; color: var(--ink-muted); }
.gc-lead { font-size: 20px; line-height: 31px; color: var(--ink-muted); max-width: 36em; }
.gc-small { font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.gc-muted { color: var(--ink-muted); }
.gc-tagline { font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; }
.gc-link-strong a, a.gc-link-strong { font-size: 15px; font-weight: 600; text-decoration: none; }
.gc-link-strong a:hover { text-decoration: underline; }
.gc-meta { color: var(--ink-muted); font-size: 15px; }

/* 3. Header & footer ------------------------------------------------------- */
.gc-header-wrap { position: sticky; top: 0; z-index: 50; background: var(--surface); }
.admin-bar .gc-header-wrap { top: 32px; }
.gc-header-wrap.is-raised .gc-header { box-shadow: var(--shadow-raise); border-bottom-color: transparent; }
.gc-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 72px; padding: 0 24px; border-bottom: 1px solid var(--line); background: var(--surface); transition: box-shadow .2s; }
.gc-wordmark { font-family: var(--font-display); color: var(--ink); letter-spacing: -0.01em; white-space: nowrap; text-decoration: none; line-height: 1; display: inline-flex; align-items: center; gap: .5em; }
.gc-wordmark__mark { display: block; flex: none; width: 2em; height: 2em; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.gc-wordmark__mark svg, .gc-wordmark__mark img { display: block; width: 100%; height: 100%; border-radius: 50%; }
.gc-header .gc-wordmark__mark { width: 56px; height: 56px; }
.gc-footer .gc-wordmark__mark { width: 64px; height: 64px; }
.gc-wordmark:hover .gc-wordmark__mark { transform: rotate(-6deg); }
.gc-wordmark__text { display: inline-flex; align-items: baseline; gap: .28em; }
.gc-wordmark:hover { color: var(--ink); }
.gc-wordmark b { font-weight: 700; }
.gc-wordmark__text span { font-weight: 400; }
.gc-wordmark--sm { font-size: 20px; }
.gc-wordmark--md { font-size: 26px; }
.gc-wordmark--light, .gc-wordmark--light:hover { color: var(--on-deep); }
.custom-logo-link img { max-height: 48px; width: auto; }
.gc-nav { display: flex; gap: 4px; align-items: stretch; list-style: none; margin: 0; padding: 0; height: 100%; }
.gc-nav > li > a { display: block; padding: 10px 12px; font-size: 15px; line-height: 20px; font-weight: 600; color: var(--ink); text-decoration: none; background: linear-gradient(var(--gold), var(--gold)) left calc(100% - 2px) / 0 2px no-repeat; transition: background-size .3s cubic-bezier(.2,.7,.2,1), color .2s; }
.gc-nav > li > a:hover { color: var(--gold-text); background-size: 100% 2px; }
.gc-nav > li > a[aria-current="page"], .gc-nav > li > a[data-current="ancestor"] { background-size: 100% 2px; }
.gc-menu-btn { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; font: inherit; font-size: 15px; font-weight: 600; color: var(--ink); background: transparent; border: 1.5px solid var(--line-strong); border-radius: var(--radius-md); cursor: pointer; }
.gc-menu-btn .gc-icon { display: block; }
.gc-menu-btn__close { display: none; }
.gc-menu-btn[aria-expanded="true"] .gc-menu-btn__open { display: none; }
.gc-menu-btn[aria-expanded="true"] .gc-menu-btn__close { display: inline; }
.gc-mobile-nav { display: flex; flex-direction: column; gap: 24px; padding: 16px 16px 32px; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-raise); max-height: calc(100vh - 64px); overflow-y: auto; }
.gc-mobile-nav[hidden] { display: none; }
.gc-mobile-nav__list { list-style: none; margin: 0; padding: 0; }
.gc-mobile-nav__list > li { border-bottom: 1px solid var(--line); }
.gc-mobile-nav__list > li > a, .gc-mobile-nav__row > a { display: block; flex: 1 1 auto; padding: 14px 0; font-size: 19px; line-height: 24px; font-weight: 600; color: var(--ink); text-decoration: none; }
.gc-mobile-nav__list a[aria-current="page"], .gc-mobile-nav__list a[data-current="ancestor"] { color: var(--gold-text); }
.gc-mobile-nav__call { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.gc-mobile-nav__call a { color: var(--ink); text-decoration: none; }

.gc-footer { background: var(--surface-deep); color: var(--on-deep-muted); font-size: 15px; line-height: 23px; padding: 64px var(--gutter) 32px; }
.gc-footer a { color: var(--on-deep-muted); text-decoration: none; }
.gc-footer a:hover { color: var(--on-deep); text-decoration: underline; }
.gc-footer :focus-visible { outline-color: var(--gold); }
.gc-footer__inner { display: flex; flex-direction: column; gap: 48px; }
.gc-footer__top { display: flex; flex-wrap: wrap; gap: 48px; }
.gc-footer__brand { flex: 2 1 280px; display: flex; flex-direction: column; gap: 16px; }
.gc-footer__brand p { max-width: 32em; }
.gc-footer__col { flex: 1 1 180px; display: flex; flex-direction: column; gap: 8px; font-style: normal; }
.gc-footer__heading { font-size: 15px; line-height: 20px; color: var(--on-deep); margin-bottom: 4px; }
.gc-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.gc-footer__phone { color: var(--on-deep) !important; font-weight: 600; }
.gc-footer__line { display: flex; gap: 10px; align-items: flex-start; }
.gc-footer__line .gc-icon { flex: none; margin-top: 3px; color: var(--gold); }
.gc-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid rgba(205, 188, 166, .25); font-size: 13px; }
.gc-footer__legal { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; }
.gc-footer__legal a { text-decoration: underline; }

.gc-breadcrumb { padding: 24px var(--gutter) 0; font-size: 15px; line-height: 20px; color: var(--ink-muted); display: flex; gap: 8px; flex-wrap: wrap; }
.gc-breadcrumb a { font-weight: 600; text-decoration: none; }
.gc-breadcrumb + .gc-page > .gc-section:first-child { padding-top: 32px; }

/* 4. Buttons --------------------------------------------------------------- */
.gc-btn, .wp-block-button__link {
	font-family: var(--font-text); font-size: 16px; line-height: 20px; font-weight: 600;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 14px 24px; border-radius: var(--radius-md); border: 1.5px solid transparent;
	cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s;
}
.gc-btn--lg { min-height: 52px; padding: 16px 28px; font-size: 17px; }
.wp-block-button__link, .gc-btn--primary { background: var(--espresso); color: #fff; }
.wp-block-button__link:hover, .gc-btn--primary:hover { background: var(--espresso-deep); color: #fff; }
.gc-btn--accent, .is-style-gc-accent .wp-block-button__link { background: var(--gold); color: var(--ink); }
.gc-btn--accent:hover, .is-style-gc-accent .wp-block-button__link:hover { background: var(--gold-text); color: #fff; }
.is-style-gc-secondary .wp-block-button__link { background: transparent; color: var(--espresso); border-color: var(--espresso); }
.is-style-gc-secondary .wp-block-button__link:hover { background: var(--espresso-soft); color: var(--espresso-deep); }
.is-style-gc-quiet .wp-block-button__link { background: transparent; color: var(--gold-text); padding-left: 0; padding-right: 0; min-height: 44px; font-size: 15px; }
.is-style-gc-quiet .wp-block-button__link:hover { text-decoration: underline; background: transparent; color: var(--espresso); }
.gc-btn--whatsapp { background: transparent; color: var(--ink); border-color: var(--ink); border-radius: var(--radius-pill); min-height: 44px; padding: 10px 20px; font-size: 15px; }
.gc-btn--whatsapp:hover { background: var(--surface); color: var(--ink); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons > .wp-block-button { margin: 0; }

/* 5. Sections & layout ----------------------------------------------------- */
.gc-page > * { margin: 0; }
.gc-section { padding: var(--sec-y) var(--gutter); margin: 0 !important; }
.gc-section > * + * { margin-top: 24px; }
.gc-section--hero { padding-top: 80px; }
.gc-section--tight { padding-top: 64px; padding-bottom: 16px; }
.gc-section--flush-top { padding-top: 0; }
.gc-section--stone { background: var(--surface-stone); }
.gc-section--sand { background: var(--surface-sand); }
.gc-section--deep { background: var(--surface-deep); color: var(--on-deep); }
.gc-section--deep .gc-lead, .gc-section--deep .gc-small { color: var(--on-deep-muted); }
.gc-section--deep :focus-visible { outline-color: var(--gold); }
.gc-section--cta { padding-top: 0; }
.gc-section--stone + .gc-section--cta, .gc-section--sand + .gc-section--cta, .gc-section--deep + .gc-section--cta, .gc-section--photo-quote + .gc-section--cta { padding-top: var(--sec-y); }
.gc-section > h2 + .gc-lead { margin-top: 16px; }

.wp-block-columns { display: flex; flex-wrap: wrap; gap: 48px; margin: 0; }
.wp-block-columns.gc-gap-lg { gap: 48px 64px; }
.wp-block-columns.gc-gap-md { gap: 32px 40px; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column > * + * { margin-top: 24px; }
.wp-block-column > .gc-lead { margin-top: 16px; }
.gc-hero-cols .wp-block-column:first-child > * + * { margin-top: 28px; }
.wp-block-group > * + * { margin-top: 16px; }

.gc-photo { margin: 0; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-stone); }
.gc-photo img { width: 100%; height: 100%; object-fit: cover; }
.gc-ratio-4-5 img { aspect-ratio: 4 / 5; }
.gc-ratio-4-3 img { aspect-ratio: 4 / 3; }

.gc-prose { max-width: 720px; }
.gc-prose > * + * { margin-top: 16px; }
.gc-prose h2 { margin-top: 48px; font-size: 28px; line-height: 34px; }
.gc-prose h3 { margin-top: 24px; }
.gc-prose ul { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.wp-block-column.gc-prose > * + * { margin-top: 16px; }

/* 6. Content components ---------------------------------------------------- */
.gc-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.gc-head-row > * { margin: 0 !important; }
.gc-head-row > .wp-block-group > * + * { margin-top: 16px; }

/* Four steps on the dark band */
.gc-steps { list-style: none; margin: 48px 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; align-items: end; counter-reset: step; }
.gc-steps li { counter-increment: step; display: flex; flex-direction: column; gap: 6px; color: var(--on-deep-muted); }
.gc-steps li::before { content: "Step " counter(step); display: block; padding-top: calc(var(--bar) + 16px); background: linear-gradient(var(--gold), var(--gold)) top / 100% var(--bar) no-repeat; border-radius: 4px 4px 0 0; font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--gold); }
.gc-steps li:nth-child(1) { --bar: 32px; } .gc-steps li:nth-child(2) { --bar: 64px; } .gc-steps li:nth-child(3) { --bar: 96px; } .gc-steps li:nth-child(4) { --bar: 128px; }
.gc-steps strong { display: block; font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; color: var(--on-deep); }

/* Numbered steps on light backgrounds */
.gc-run { list-style: none; margin-left: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px 32px; counter-reset: run; }
.gc-run li { counter-increment: run; display: flex; flex-direction: column; gap: 6px; padding-top: 16px; border-top: 2px solid var(--ink); font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.gc-run li::before { content: "Step " counter(run); font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--gold-text); }
.gc-run strong { display: block; font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; color: var(--ink); }

/* Lists */
.gc-dots, .gc-lines, .gc-chips, .gc-jump, .gc-toc, .gc-why { list-style: none; padding: 0; margin-left: 0; }
.gc-dots li { position: relative; padding: 12px 0 12px 20px; border-top: 1px solid var(--line); }
.gc-dots li { padding-left: 28px; }
.gc-dots li::before { content: ""; position: absolute; left: 0; top: 15px; width: 18px; height: 18px; background: var(--ic-check) center / contain no-repeat; }
.gc-lines li { padding: 12px 0; border-top: 1px solid var(--line); }
.gc-cols-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); column-gap: 32px; }
.gc-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.gc-chips li { font-size: 15px; line-height: 20px; font-weight: 500; padding: 10px 16px; border-radius: var(--radius-pill); background: var(--surface-stone); border: 1px solid var(--line); }
.gc-jump { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 8px; }
.gc-jump a { display: inline-flex; font-size: 13px; line-height: 18px; font-weight: 600; padding: 6px 10px; border-radius: var(--radius-sm); background: var(--espresso-soft); color: var(--espresso-deep); text-decoration: none; }
.gc-jump a:hover { background: var(--gold-soft); color: var(--gold-text); }
.gc-jump li:nth-last-child(-n+2) a { background: var(--gold-soft); color: var(--gold-text); }
.gc-toc { position: sticky; top: 104px; display: flex; flex-direction: column; }
.gc-toc a { display: block; padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 20px; font-weight: 600; text-decoration: none; }

/* Cards and notes */
.gc-card { background: var(--surface); border-radius: var(--radius-lg); padding: 32px; display: flex; flex-direction: column; }
.gc-card--sand { background: var(--surface-sand); padding: 24px; }
.gc-card > * + * { margin-top: 12px; }
.gc-card__foot { margin-top: 24px !important; padding-top: 16px; border-top: 1px solid var(--line); text-align: right; font-size: 15px; font-weight: 600; }
.gc-card__foot a { text-decoration: none; }
.gc-note { padding: 20px 24px; border-radius: var(--radius-lg); background: var(--espresso-soft); }
.gc-note > * + * { margin-top: 8px; }
.gc-note h3 { font-size: 15px; line-height: 20px; }
.gc-note p { font-size: 15px; line-height: 23px; }
.gc-section--stone .gc-note { background: var(--surface); }

/* Sector counts (home) */
.gc-counts { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); column-gap: 24px; }
.gc-counts li { display: flex; align-items: baseline; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.gc-counts__n { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; color: var(--gold-text); min-width: 1.4em; }
.gc-counts__label { font-size: 15px; line-height: 21px; }

/* Network stats (home) */
.gc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 32px; }
.gc-stats > * { margin: 0 !important; }
.gc-stat { padding-top: 16px; border-top: 2px solid var(--ink); }
.gc-stat > * + * { margin-top: 12px; }
.gc-stat__num { font-family: var(--font-display); font-size: 40px; line-height: 46px; font-weight: 600; color: var(--gold-text); }
.gc-stat p:last-child { font-size: 15px; line-height: 23px; }

/* Big quote */
.gc-bigquote { margin: 0 auto !important; max-width: 960px; border: 0; padding: 0; text-align: center; }
.gc-bigquote::before { content: "\201C"; display: block; font-family: var(--font-display); font-size: 72px; line-height: 48px; font-weight: 700; color: var(--gold-text); }
.gc-bigquote p { font-family: var(--font-display); font-size: 44px; line-height: 52px; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); text-wrap: balance; }

/* Enquiry panel */
.gc-enquiry { background: var(--surface-deep); color: var(--on-deep); border-radius: var(--radius-lg); padding: 48px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
.gc-enquiry > * { margin: 0 !important; }
.gc-enquiry__title { font-size: 32px; line-height: 38px; color: var(--on-deep); }
.gc-enquiry__text { color: var(--on-deep-muted); max-width: 52ch; margin-top: 12px !important; }
.gc-enquiry__actions > * + * { margin-top: 12px; }
.gc-enquiry__contact { font-size: 15px; line-height: 23px; color: var(--on-deep-muted); }
.gc-enquiry__contact a { color: var(--on-deep); font-weight: 600; text-decoration: none; }
.gc-enquiry :focus-visible { outline-color: var(--gold); }

/* Services page areas */
.gc-area { padding: 48px 0; border-top: 1px solid var(--line); margin: 0 !important; }
.gc-area:first-child { border-top: 0; padding-top: 0; }

/* Tables */
.wp-block-table { margin: 0; overflow-x: auto; }
.gc-table { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 8px 8px 0; }
.gc-table table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; line-height: 23px; table-layout: fixed; }
.gc-table th, .gc-table td { text-align: left; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--ink-muted); }
.gc-table thead th { font-family: var(--font-display); font-size: 19px; line-height: 26px; color: var(--ink); border-bottom: 2px solid var(--ink); }
.gc-table thead th:first-child { width: 34%; }
.gc-table tbody td:first-child { font-weight: 600; color: var(--ink); }
.gc-table tbody tr:last-child td { border-bottom: 0; }
.gc-fees { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 32px 48px; margin-top: 40px !important; }
.gc-fees > * { margin: 0 !important; }
.gc-fee { padding-top: 20px; border-top: 2px solid var(--ink); }
.gc-fee > * + * { margin-top: 12px; }
.gc-fee-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; table-layout: auto; }
.gc-fee-table td { padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); vertical-align: baseline; }
.gc-fee-table td:last-child { text-align: right; font-weight: 600; color: var(--gold-text); padding-left: 16px; white-space: nowrap; }
.gc-note-text { font-size: 13px; line-height: 19px; color: var(--ink-muted); }
.gc-pricecards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 0 48px; }
.gc-pricecards > * { margin: 0 !important; }
.gc-pricecard { padding: 24px 0; border-top: 2px solid var(--ink); }
.gc-pricecard > * + * { margin-top: 8px; }
.gc-price { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 600; color: var(--espresso); }
.gc-pricecard .gc-muted { font-size: 15px; line-height: 23px; }

/* Tiles (AI uses, values) */
.gc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0 48px; }
.gc-tiles > * { margin: 0 !important; }
.gc-tile { padding: 20px 0; border-top: 1px solid var(--line); }
.gc-tile > * + * { margin-top: 6px; }
.gc-tile p { font-size: 15px; line-height: 23px; }

/* Online services */
.gc-svc-group { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px 64px; padding: 40px 0; border-top: 2px solid var(--ink); margin: 0 !important; }
.gc-svc-group:first-child { border-top: 0; padding-top: 0; }
.gc-svc-group > * { margin: 0 !important; }
.gc-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 0 40px; }
.gc-items > * { margin: 0 !important; }
.gc-item { padding: 16px 0; border-top: 1px solid var(--line); }
.gc-item > * + * { margin-top: 6px; }
.gc-item p { font-size: 15px; line-height: 23px; }
.gc-item .gc-item__price { font-weight: 600; color: var(--gold-text); line-height: 21px; }

/* About: at a glance timeline */
.gc-glance { background: var(--surface-sand); border-radius: var(--radius-lg); padding: 32px; }
.gc-glance > * + * { margin-top: 24px; }
.gc-tl > * { margin: 0 !important; }
.gc-tl__item { position: relative; padding: 0 0 24px 36px; }
.gc-tl__item > * { margin: 0 !important; }
.gc-tl__item:last-child { padding-bottom: 0; }
.gc-tl__item::before { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface-sand); border: 2px solid var(--gold-text); z-index: 1; }
.gc-tl__item:first-child::before { background: var(--gold-text); }
.gc-tl__item::after { content: ""; position: absolute; left: 6px; top: 20px; bottom: -2px; width: 2px; background: var(--line-strong); opacity: .45; }
.gc-tl__item:last-child::after { display: none; }
.gc-tl__k { font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gold-text); }
.gc-tl__v { font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; }
.gc-tl__d { font-size: 15px; line-height: 23px; color: var(--ink-muted); }

.gc-plan { padding-top: 16px; border-top: 2px solid var(--ink); }
.gc-plan .gc-dots li { font-size: 15px; line-height: 23px; padding-top: 10px; padding-bottom: 10px; }
.gc-plan .gc-dots li::before { top: 12px; }
.gc-why { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 0 48px; counter-reset: why; margin-top: 32px !important; }
.gc-why li { counter-increment: why; display: flex; gap: 16px; align-items: baseline; padding: 18px 0; border-top: 1px solid rgba(30, 23, 18, .12); }
.gc-why li::before { content: counter(why, decimal-leading-zero); font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--gold-text); min-width: 24px; }
.gc-closing { font-family: var(--font-display); font-size: 24px; line-height: 34px; max-width: 30em; margin-top: 40px !important; }
.gc-status { display: inline-flex; align-items: center; gap: 12px; color: var(--success); font-weight: 600; font-size: 15px; }
.gc-status::before { content: ""; width: 24px; height: 24px; border-radius: 50%; border: 1.75px solid currentColor; background: radial-gradient(circle, currentColor 0 3px, transparent 4px); }

/* 7. Data blocks ----------------------------------------------------------- */
/* Service rows: home list (blocks) and [gaud_services] */
.gc-service-list, .gc-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); column-gap: 64px; margin-top: 32px !important; }
.gc-service-list > * { margin: 0 !important; }
.gc-service-row, .gc-service { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; padding: 24px 0; border-top: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.gc-service-row > * { margin: 0 !important; grid-column: 1; }
.gc-service-row::after { content: "See the service"; }
.gc-service-row::after, .gc-service__go { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 15px; font-weight: 600; color: var(--gold-text); white-space: nowrap; }
.gc-service-row__title, .gc-service__title { font-size: 24px; line-height: 30px; }
.gc-service-row__title a { color: var(--ink); text-decoration: none; }
.gc-service-row__title a::after { content: ""; position: absolute; inset: 0; }
.gc-service-row__text, .gc-service__summary { grid-column: 1; color: var(--ink-muted); max-width: 60ch; margin: 0; }
.gc-service__title { margin: 0; }
.gc-service-row:hover .gc-service-row__title a, .gc-service:hover .gc-service__title { color: var(--gold-text); }
.gc-service-row:hover::after, .gc-service:hover .gc-service__go { text-decoration: underline; text-underline-offset: 3px; }
.gc-service-row:focus-within { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: 4px; }
.gc-service-row__title a:focus-visible { outline: none; }

/* Clients by sector */
.gc-sectors { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 48px; margin-top: 32px; }
.gc-sector h3 { padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.gc-sector ul { list-style: none; margin: 0; padding: 0; }
.gc-sector li { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 23px; }

/* Team and mentors */
.gc-teams { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 40px 64px; margin-top: 40px !important; }
.gc-team h3 { padding-bottom: 12px; margin-bottom: 4px; border-bottom: 2px solid var(--ink); }
.gc-team ul { list-style: none; margin: 0; padding: 0; }
.gc-team li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 22px; }
.gc-team b { font-weight: 600; }
.gc-team span { color: var(--ink-muted); }
.gc-team--wide { grid-column: 1 / -1; }
.gc-team--wide ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); column-gap: 40px; }

/* 8. Forms & contact ------------------------------------------------------- */
.gc-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.gc-form__notice { grid-column: 1 / -1; padding: 14px 16px; border-radius: var(--radius-md); background: #fdecea; color: var(--danger); font-weight: 600; border: 1px solid #f5c2bd; }
.gc-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gc-field { display: flex; flex-direction: column; gap: 8px; }
.gc-field--wide { grid-column: 1 / -1; }
.gc-field__label { font-size: 15px; line-height: 20px; font-weight: 600; }
.gc-field__optional { font-weight: 400; color: var(--ink-muted); }
.gc-field__hint { font-size: 15px; line-height: 21px; color: var(--ink-muted); }
.gc-field__control { font: inherit; font-size: 17px; line-height: 24px; color: var(--ink); background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); padding: 11px 16px; min-height: 48px; width: 100%; }
.gc-field__control:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
textarea.gc-field__control { min-height: 140px; resize: vertical; }
.gc-form__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.gc-form__privacy { font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.gc-bigphone { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; color: var(--ink); text-decoration: none; }
.gc-bigphone:hover { color: var(--gold-text); }
.gc-details { margin: 0; }
.gc-details__row { padding: 16px 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; }
.gc-details dt { font-size: 15px; line-height: 20px; font-weight: 600; }
.gc-details dd { margin: 0; color: var(--ink-muted); }
.gc-details dd a { color: var(--ink-muted); }
.gc-map { position: relative; display: block; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: var(--surface-stone); }
.gc-map img { width: 100%; min-height: 280px; object-fit: cover; object-position: 48% 52%; transition: transform .3s ease; }
.gc-map:hover img { transform: scale(1.02); }
.gc-map__pill { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--radius-pill); background: var(--espresso); color: #fff; font-size: 15px; font-weight: 600; box-shadow: var(--shadow-raise); }
.gc-map:hover .gc-map__pill { background: var(--espresso-deep); }
.gc-map__fallback { display: flex; align-items: center; justify-content: center; min-height: 280px; padding: 24px; color: var(--ink-muted); }
.gc-postlist { list-style: none; padding: 0; margin: 32px 0 0; }
.gc-postlist li { padding: 16px 0; border-top: 1px solid var(--line); }
.gc-postlist a { font-family: var(--font-display); font-size: 21px; font-weight: 600; text-decoration: none; }
.gc-404-links { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; }
.gc-404-links a { display: inline-flex; padding: 10px 16px; border: 1.5px solid var(--espresso); border-radius: var(--radius-md); font-weight: 600; text-decoration: none; color: var(--espresso); }

/* 9. Responsive ------------------------------------------------------------ */
@media (max-width: 1279px) {
	.gc-header__nav, .gc-header__cta { display: none; }
	.gc-menu-btn { display: inline-flex; }
	.gc-header { height: 64px; padding: 0 16px; }
}
@media (min-width: 1280px) { .gc-mobile-nav { display: none !important; } }
@media (max-width: 899px) {
	.gc-enquiry { grid-template-columns: 1fr; padding: 32px; }
	.gc-svc-group { grid-template-columns: 1fr; }
	.gc-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 781px) {
	.wp-block-columns { flex-direction: column; }
	.wp-block-column { flex-basis: 100% !important; }
	.gc-toc { position: static; }
}
@media (max-width: 782px) { .admin-bar .gc-header-wrap { top: 46px; } }
@media (max-width: 767px) {
	:root { --gutter: 16px; --sec-y: 64px; }
	.gc-section--hero { padding-top: 48px; }
	.gc-display { font-size: 40px; line-height: 44px; }
	.gc-h1 { font-size: 34px; line-height: 40px; }
	h2 { font-size: 26px; line-height: 32px; }
	.gc-bigquote p { font-size: 30px; line-height: 38px; }
	.gc-service-row, .gc-service { grid-template-columns: 1fr; }
	.gc-service-row::after, .gc-service__go { grid-column: 1; grid-row: auto; }
	.gc-enquiry__title { font-size: 26px; line-height: 32px; }
	.gc-card, .gc-glance { padding: 24px; }
}
@media (max-width: 480px) { .gc-steps { grid-template-columns: 1fr; } .gc-steps li { --bar: 12px !important; } }

/* Block editor tweaks: show sections clearly while editing */
.editor-styles-wrapper .gc-section { padding: 48px 24px; }
.editor-styles-wrapper .gc-service-row__title a::after { display: none; }

/* 10. Menus, logo and languages -------------------------------------------- */
.gc-header { position: relative; background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }
.gc-header-wrap { background: transparent; }
.gc-header__nav { align-self: stretch; display: flex; }
.gc-nav__item { display: flex; align-items: center; }
.gc-nav__item--drop { position: relative; }
.gc-nav__item--menu > a { padding-right: 2px; }
.gc-nav__toggle { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 32px; margin-right: 4px; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink-muted); cursor: pointer; }
.gc-nav__toggle .gc-icon { transition: transform .25s ease; }
.gc-nav__toggle:hover { color: var(--gold-text); }
.gc-nav__item--menu:hover .gc-nav__toggle .gc-icon, .gc-nav__item--menu.is-open .gc-nav__toggle .gc-icon { transform: rotate(180deg); }
.gc-menu { position: absolute; top: 100%; z-index: 60; visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.gc-nav__item--menu:hover > .gc-menu, .gc-nav__item--menu.is-open > .gc-menu { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.gc-nav__item--menu.is-suppressed > .gc-menu { visibility: hidden; opacity: 0; }
.gc-menu__inner { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 24px 48px rgba(30, 23, 18, .14), 0 2px 6px rgba(30, 23, 18, .06); }
.gc-menu--drop { left: -8px; min-width: 340px; }
.gc-menu--drop .gc-menu__inner { padding: 12px; }
.gc-menu--mega { left: 0; right: 0; }
.gc-menu--mega .gc-menu__inner { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 24px; max-width: 1200px; margin: 0 auto; padding: 24px 24px 32px; border-top: 0; border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.gc-menu__group--wide .gc-menu__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
.gc-menu__title { margin: 0 0 8px 12px; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); }
.gc-menu__list { list-style: none; margin: 0; padding: 0; }
.gc-menu__link { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: var(--radius-md); text-decoration: none; color: var(--ink); transition: background-color .15s ease; }
.gc-menu__link:hover, .gc-menu__link[aria-current="page"] { background: var(--gold-soft); color: var(--ink); }
.gc-menu__ic { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(145deg, #fdf7ea, #f4e4c4); color: var(--gold-text); transition: background .15s ease, color .15s ease; }
.gc-menu__link:hover .gc-menu__ic, .gc-menu__link[aria-current="page"] .gc-menu__ic { background: var(--espresso); color: var(--gold); }
.gc-menu__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gc-menu__label { font-size: 15px; line-height: 20px; font-weight: 600; }
.gc-menu__desc { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.gc-menu__feature { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 24px; border-radius: var(--radius-lg); color: var(--on-deep); background: radial-gradient(120% 90% at 100% 0%, rgba(217, 164, 65, .28) 0%, rgba(217, 164, 65, 0) 55%), linear-gradient(160deg, var(--espresso) 0%, var(--surface-deep) 100%); }
.gc-menu__feature-mark { display: block; width: 44px; height: 44px; margin-bottom: 8px; }
.gc-menu__feature-mark svg, .gc-menu__feature-mark img { display: block; width: 100%; height: 100%; border-radius: 50%; }
.gc-menu__feature-title { font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; color: var(--on-deep); }
.gc-menu__feature-text { margin-bottom: 12px !important; font-size: 15px; line-height: 22px; color: var(--on-deep-muted); }
.gc-header__end { display: flex; align-items: center; gap: 16px; }
.gc-lang { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 3px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--surface); }
.gc-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 30px; padding: 0 8px; border-radius: var(--radius-pill); font-size: 13px; line-height: 1; font-weight: 600; color: var(--ink-muted); text-decoration: none; }
.gc-lang a[lang="gu"] { font-family: "Noto Sans Gujarati", var(--font-text); font-size: 14px; }
.gc-lang a[lang="hi"] { font-family: "Noto Sans Devanagari", var(--font-text); font-size: 14px; }
.gc-lang a:hover { color: var(--ink); background: var(--surface-stone); }
.gc-lang a[aria-current="true"] { color: #fff; background: var(--espresso); }
.gc-lang--mobile { align-self: flex-start; }
.gc-lang--mobile a { min-width: 44px; height: 40px; font-size: 15px; }
.gc-mobile-nav__row { display: flex; align-items: center; gap: 8px; }
.gc-mobile-nav__toggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); cursor: pointer; }
.gc-mobile-nav__toggle .gc-icon { transition: transform .25s ease; }
.gc-mobile-nav__toggle[aria-expanded="true"] .gc-icon { transform: rotate(180deg); }
.gc-mobile-nav__sub { list-style: none; margin: 0 0 12px; padding: 0; }
.gc-mobile-nav__sub[hidden] { display: none; }
.gc-mobile-nav__sublink { display: flex; gap: 12px; align-items: center; padding: 10px 0; text-decoration: none; color: var(--ink); }
.gc-mobile-nav__sublink .gc-menu__desc { display: none; }
.gc-mobile-nav__sublink .gc-menu__label { font-size: 17px; line-height: 22px; font-weight: 500; }
.gc-mobile-nav__sublink[aria-current="page"] .gc-menu__label { color: var(--gold-text); font-weight: 600; }
.gc-mobile-nav__sublink .gc-menu__ic { width: 32px; height: 32px; border-radius: 9px; }
@media (max-width: 1279px) { .gc-header__end, .gc-header__nav { display: none; } }
.gc-menu-btn { white-space: nowrap; }
@media (max-width: 400px) { .gc-header .gc-wordmark--sm { font-size: 17px; } .gc-menu-btn { padding: 0 12px; } }

/* 11. Icons and depth ------------------------------------------------------ */
:root { --tile: linear-gradient(145deg, #fdf7ea 0%, #f4e4c4 100%); --tile-deep: linear-gradient(145deg, rgba(217, 164, 65, .22) 0%, rgba(217, 164, 65, .08) 100%); }
/* Top tile: cards, tiles, plans, items, stats */
.wp-block-group[class*="gc-ic-"]::before, .wp-block-heading.gc-ic-top::before, .wp-block-heading.gc-ic-hero::before {
	content: ""; display: block; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px;
	background: var(--ic) center / 22px no-repeat, var(--tile); transition: background .25s, transform .35s cubic-bezier(.2,.7,.2,1);
}
.wp-block-heading.gc-ic-hero::before { width: 56px; height: 56px; border-radius: 16px; background-size: 28px, auto; margin-bottom: 4px; }
/* Inline tile: headings, list items, sector and team headings */
.wp-block-heading[class*="gc-ic-"]:not(.gc-ic-top):not(.gc-ic-hero), .gc-sector h3[class*="gc-ic-"], .gc-team h3[class*="gc-ic-"], .gc-who li { display: flex; align-items: center; gap: 12px; }
.wp-block-heading[class*="gc-ic-"]:not(.gc-ic-top):not(.gc-ic-hero)::before, .gc-sector h3[class*="gc-ic-"]::before, .gc-team h3[class*="gc-ic-"]::before, .gc-who li[class*="gc-ic-"]::before {
	content: ""; flex: none; width: 32px; height: 32px; border-radius: 9px; background: var(--ic) center / 18px no-repeat, var(--tile);
}
.gc-section--deep .wp-block-heading[class*="gc-ic-"]::before, .gc-section--deep .wp-block-group[class*="gc-ic-"]::before { background: var(--ic-on) center / 18px no-repeat, var(--tile-deep); }
.gc-note h3[class*="gc-ic-"]::before { width: 28px; height: 28px; background-size: 16px, auto; }
/* Service rows (home list and [gaud_services]) */
.gc-service-row[class*="gc-ic-"], .gc-service[class*="gc-ic-"] { padding-left: 76px; }
.gc-service-row[class*="gc-ic-"]::before, .gc-service[class*="gc-ic-"]::before { position: absolute; left: 0; top: 28px; width: 52px; height: 52px; margin: 0; border-radius: 14px; content: ""; background: var(--ic) center / 24px no-repeat, var(--tile); transition: background .25s, transform .35s cubic-bezier(.2,.7,.2,1); }
.gc-service-row:hover::before, .gc-service:hover::before { background: var(--ic-on) center / 24px no-repeat, var(--espresso); transform: rotate(-6deg); }
.gc-service-row::after { content: "See the service"; display: inline-flex; align-items: center; gap: 6px; padding-right: 22px; background: var(--ic-arrow) right center / 16px no-repeat; transition: background-position .3s cubic-bezier(.2,.7,.2,1); }
.gc-service__go { padding-right: 22px; background: var(--ic-arrow) right center / 16px no-repeat; transition: background-position .3s; }
.gc-service-row:hover::after, .gc-service:hover .gc-service__go { background-position: right -4px center; text-decoration: none; }
/* Stats: tile at the top right */
.gc-stat[class*="gc-ic-"] { position: relative; }
.gc-stat[class*="gc-ic-"]::before { position: absolute; right: 0; top: 18px; margin: 0; }
/* Cards for tiles and items */
.gc-tiles, .gc-items { gap: 20px; }
.gc-tile, .gc-item { padding: 24px; border: 1px solid var(--line); border-top: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(180deg, #fff 0%, #fcfaf6 100%); box-shadow: 0 1px 2px rgba(30, 23, 18, .04), 0 8px 24px -12px rgba(30, 23, 18, .12); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .25s; }
.gc-tile:hover, .gc-item:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 14px 32px rgba(30, 23, 18, .08); }
.gc-tile:hover::before, .gc-item:hover::before, .gc-plan:hover::before, .gc-stat:hover::before { background: var(--ic-on) center / 22px no-repeat, var(--espresso); transform: translateY(-2px) rotate(-4deg); }
/* Step lists: icon beside "Step n" */
.gc-run li { position: relative; }
.gc-run li::before { padding-left: 32px; min-height: 22px; line-height: 22px; background: var(--step-ic) left center / 22px no-repeat; }
.gc-steps li::before { background: var(--step-ic-on) left calc(var(--bar) + 15px) / 20px no-repeat, linear-gradient(180deg, #e9bd63 0%, #c48a28 100%) top / 100% var(--bar) no-repeat; padding-left: 0; text-indent: 30px; box-shadow: none; }
/* Contact details */
.gc-details dt { display: flex; align-items: center; gap: 10px; }
.gc-tile-ic { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px; background: var(--tile); color: var(--gold-text); }
/* Depth: gradients and shadows */
.gc-section--hero { background: radial-gradient(55% 75% at 88% 18%, rgba(217, 164, 65, .16) 0%, rgba(217, 164, 65, 0) 62%), radial-gradient(45% 60% at 0% 100%, rgba(205, 188, 166, .22) 0%, rgba(205, 188, 166, 0) 60%), linear-gradient(180deg, #fbf8f3 0%, #fff 100%); }
.gc-section--stone.gc-section--hero { background: radial-gradient(55% 75% at 88% 18%, rgba(217, 164, 65, .18) 0%, rgba(217, 164, 65, 0) 62%), linear-gradient(180deg, #f3efe9 0%, #f9f7f4 100%); }
.gc-section--stone:not(.gc-section--hero) { background: radial-gradient(50% 70% at 100% 0%, rgba(217, 164, 65, .07) 0%, rgba(217, 164, 65, 0) 60%), linear-gradient(180deg, #f3f0ec 0%, #f8f6f3 100%); }
.gc-section--sand { background: radial-gradient(60% 90% at 50% 0%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 60%), linear-gradient(180deg, #efe7dc 0%, #e7ddcf 100%); }
.gc-section--deep, .gc-enquiry, .gc-footer { background: var(--grain), radial-gradient(70% 90% at 92% 0%, rgba(217, 164, 65, .18) 0%, rgba(217, 164, 65, 0) 58%), radial-gradient(55% 80% at 0% 100%, rgba(205, 188, 166, .10) 0%, rgba(205, 188, 166, 0) 60%), linear-gradient(160deg, #3a2a20 0%, #241a14 100%); }
:root { --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.gc-enquiry { position: relative; overflow: hidden; isolation: isolate; }
.gc-enquiry::after { content: ""; position: absolute; z-index: -1; right: -120px; top: -160px; width: 420px; height: 420px; border-radius: 50%; border: 2px dashed rgba(217, 164, 65, .28); box-shadow: inset 0 0 0 40px rgba(217, 164, 65, .04); }
.gc-btn--accent, .is-style-gc-accent .wp-block-button__link { background-image: linear-gradient(180deg, #e4b65c 0%, #d39a33 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1px 2px rgba(138, 93, 20, .25); transition: background-color .2s, box-shadow .25s, transform .25s cubic-bezier(.2,.7,.2,1); }
.gc-btn--accent:hover, .is-style-gc-accent .wp-block-button__link:hover { background-image: linear-gradient(180deg, #ebc16d 0%, #d9a441 100%); color: var(--ink); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(138, 93, 20, .22); }
.is-style-gc-quiet .wp-block-button__link, .gc-card__foot a, .gc-link-strong a { padding-right: 22px; background: var(--ic-arrow) right center / 16px no-repeat; transition: background-position .3s; }
.is-style-gc-quiet .wp-block-button__link:hover, .gc-card__foot a:hover, .gc-link-strong a:hover { background: var(--ic-arrow) right -4px center / 16px no-repeat; }
.gc-photo { position: relative; box-shadow: 0 30px 60px -28px rgba(30, 23, 18, .45), 0 8px 18px -8px rgba(30, 23, 18, .12); }
.gc-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(180deg, rgba(30, 23, 18, 0) 55%, rgba(30, 23, 18, .22) 100%), radial-gradient(80% 60% at 20% 0%, rgba(255, 236, 200, .14) 0%, rgba(255, 236, 200, 0) 60%); }
.gc-photo img { transition: scale .9s cubic-bezier(.2,.7,.2,1); }
.gc-photo:hover img { scale: 1.04; }
.gc-chips li { transition: background-color .2s, border-color .2s, transform .25s; }
.gc-chips li:hover { background: var(--gold-soft); border-color: var(--gold); transform: translateY(-2px); }

/* 12. Imagery, map and ticker ---------------------------------------------- */
.gc-has-badge { overflow: visible !important; }
.gc-has-badge img { border-radius: var(--radius-lg); }
.gc-has-badge::before { content: ""; position: absolute; z-index: 2; left: -40px; bottom: 40px; width: 136px; height: 136px; border-radius: 50%; background: url(../images/gaud-logo-badge.png) center / contain no-repeat; box-shadow: 0 0 0 8px var(--surface), 0 18px 40px -10px rgba(30, 23, 18, .45); }
.gc-mosaic { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; aspect-ratio: 5 / 4; }
.gc-mosaic > * { margin: 0 !important; }
.gc-mosaic .gc-photo:first-child { grid-row: 1 / span 2; }
.gc-mosaic .gc-photo img { height: 100%; }
.gc-section--band-above { padding-bottom: calc(var(--sec-y) + 260px); }
.gc-band { margin: -356px 0 72px !important; aspect-ratio: 21 / 8; }
.gc-band img { height: 100%; }
.gc-section--photo-quote { position: relative; overflow: hidden; isolation: isolate; background: var(--surface-deep); padding-top: 120px; padding-bottom: 120px; }
.gc-photo-quote__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.gc-photo-quote__bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.gc-section--photo-quote::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(36, 26, 20, .94) 0%, rgba(36, 26, 20, .82) 45%, rgba(36, 26, 20, .55) 100%), radial-gradient(60% 80% at 85% 10%, rgba(217, 164, 65, .25) 0%, rgba(217, 164, 65, 0) 60%); }
.gc-section--photo-quote .gc-bigquote p { color: var(--on-deep); }
.gc-section--photo-quote .gc-bigquote::before { color: var(--gold); }
.gc-ticker { overflow: hidden; background: var(--surface-sand); border-block: 1px solid var(--line); }
.gc-ticker__track { display: flex; width: max-content; }
.gc-ticker__list { display: flex; align-items: center; gap: 48px; margin: 0; padding: 18px 24px 18px 48px; list-style: none; }
.gc-ticker__list li { white-space: nowrap; font-family: var(--font-display); font-size: 17px; line-height: 24px; font-weight: 600; }
.gc-ticker__list li, .gc-ticker__list a { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.gc-ticker__list a:hover { color: var(--gold-text); }
.gc-ticker__list .gc-icon { color: var(--gold-text); }
.gc-reach { display: flex; flex-direction: column; gap: 20px; margin: 48px 0 0 !important; }
.gc-reach__frame { position: relative; border-radius: var(--radius-lg); overflow: hidden; padding: 24px 16px; background: radial-gradient(40% 60% at 62% 40%, rgba(217, 164, 65, .14) 0%, rgba(217, 164, 65, 0) 70%), linear-gradient(180deg, #fbf8f3 0%, #f5f1eb 100%); border: 1px solid var(--line); }
.reach-map__svg { display: block; width: 100%; height: auto; }
.rm-land { stroke: #d9cfc2; }
.rm-hl { stroke: var(--gold); }
.rm-arc { stroke: var(--gold-text); stroke-width: 2; opacity: .85; stroke-dasharray: 1; stroke-dashoffset: 0; }
.rm-city { fill: var(--espresso); }
.rm-dot { fill: var(--espresso); stroke: #fff; stroke-width: 2; }
.rm-hub { fill: var(--gold-text); stroke: #fff; stroke-width: 3; }
.rm-pulse { fill: rgba(217, 164, 65, .28); transform-box: fill-box; transform-origin: center; }
.gc-map-label { position: absolute; transform: translate(-50%, -50%); font-family: var(--font-display); font-size: 14px; line-height: 18px; font-weight: 600; color: var(--ink); white-space: nowrap; padding: 5px 10px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, .92); box-shadow: 0 4px 14px -6px rgba(30, 23, 18, .35); }
.gc-map-label--hub { transform: translate(12px, 14px); color: var(--gold-text); }
.gc-map-label--uae { transform: translate(calc(-100% - 14px), -120%); }
.gc-map-label--uk { transform: translate(-50%, calc(-100% - 16px)); }
.gc-reach__legend { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: 15px; line-height: 22px; color: var(--ink-muted); }
.gc-reach__legend span { display: inline-flex; align-items: center; gap: 10px; }
.gc-reach__key { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex: none; }
.gc-reach__key--hub { background: var(--gold-text); box-shadow: 0 0 0 4px rgba(217, 164, 65, .3); }
.gc-reach__key--city { width: 8px; height: 8px; background: var(--espresso); }
.gc-reach__key--abroad { background: var(--espresso); box-shadow: 0 0 0 3px rgba(217, 164, 65, .35); }
@media (max-width: 767px) {
	.gc-has-badge::before { left: 12px; bottom: -28px; width: 104px; height: 104px; }
	.gc-section--band-above { padding-bottom: calc(var(--sec-y) + 140px); }
	.gc-band { margin: -200px 0 48px !important; aspect-ratio: 4 / 3; }
	.gc-map-label { display: none; }
	.gc-reach__frame { padding: 12px 8px; }
	.gc-service-row[class*="gc-ic-"], .gc-service[class*="gc-ic-"] { padding-left: 60px; }
	.gc-service-row[class*="gc-ic-"]::before, .gc-service[class*="gc-ic-"]::before { width: 44px; height: 44px; top: 26px; border-radius: 12px; background-size: 22px, auto; }
}

/* 13. WhatsApp and quick-contact bar --------------------------------------- */
.gc-fab-wa { position: fixed; right: 24px; bottom: 24px; z-index: 70; display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 20px 0 16px; border-radius: 999px; background: linear-gradient(180deg, #2bd66d 0%, #1ebe5a 100%); color: #fff; text-decoration: none; font-size: 15px; font-weight: 600; box-shadow: 0 12px 28px -8px rgba(18, 90, 45, .55), 0 2px 6px rgba(0, 0, 0, .12); transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; }
.gc-fab-wa:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 34px -10px rgba(18, 90, 45, .6), 0 2px 6px rgba(0, 0, 0, .12); }
.gc-fab-wa:focus-visible { outline-color: var(--ink); outline-offset: 3px; }
.gc-action-bar { display: none; }
@media (max-width: 767px) {
	.gc-fab-wa { display: none; }
	.gc-action-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px -12px rgba(30, 23, 18, .25); }
	.gc-action-bar a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 14px; border-radius: var(--radius-md); font-size: 15px; font-weight: 600; text-decoration: none; }
	.gc-action-bar__book { background: linear-gradient(180deg, #e4b65c 0%, #d39a33 100%); color: var(--ink); }
	.gc-action-bar__call { border: 1.5px solid var(--line-strong); color: var(--ink); }
	.gc-action-bar__wa { width: 48px; padding: 0 !important; background: #1ebe5a; color: #fff; }
	body { padding-bottom: 76px; }
	.gc-menu-open .gc-action-bar { display: none; }
}

/* 14. Motion (switched off when the visitor asks for reduced motion) -------- */
@keyframes gc-up { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes gc-settle { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: none; } }
@keyframes gc-pop { 0% { opacity: 0; transform: scale(.6); } 70% { opacity: 1; transform: scale(1.06); } 100% { opacity: 1; transform: none; } }
@keyframes gc-ticker { to { transform: translateX(-50%); } }
@keyframes gc-spin { to { transform: rotate(360deg); } }
@keyframes gc-ping { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.2); opacity: 0; } }
@keyframes gc-grow { from { transform: scaleY(0); } to { transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.gc-section--hero .wp-block-column:first-child > *, .gc-section--hero > .wp-block-heading, .gc-section--hero > p { animation: gc-up .8s cubic-bezier(.2,.7,.2,1) both; }
	.gc-section--hero .wp-block-column:first-child > :nth-child(2) { animation-delay: .08s; }
	.gc-section--hero .wp-block-column:first-child > :nth-child(3) { animation-delay: .18s; }
	.gc-section--hero .wp-block-column:first-child > :nth-child(4) { animation-delay: .28s; }
	.gc-section--hero .wp-block-column:first-child > :nth-child(n+5) { animation-delay: .38s; }
	.gc-section--hero .gc-photo img { animation: gc-settle 1.4s cubic-bezier(.2,.7,.2,1) both; }
	.gc-has-badge::before { animation: gc-pop .8s .7s cubic-bezier(.2,.7,.2,1) both; }
	.gc-ticker__track { animation: gc-ticker 48s linear infinite; }
	.gc-ticker:hover .gc-ticker__track, .gc-ticker:focus-within .gc-ticker__track { animation-play-state: paused; }
	.gc-enquiry::after { animation: gc-spin 60s linear infinite; }
	.rm-pulse { animation: gc-ping 2.4s ease-out infinite; }
	/* Reveal on scroll: site.js adds .gc-reveal and then .is-in as each element comes into view. */
	.js .gc-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0s); }
	.js .gc-reveal.is-in { opacity: 1; transform: none; }
	.js .rm-arc { stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s .3s cubic-bezier(.2,.7,.2,1); }
	.js .gc-reach.is-in .rm-arc { stroke-dashoffset: 0; }
	.js .gc-steps li::before { transition: background-size 1s cubic-bezier(.2,.7,.2,1); }
}

/* 15. Gujarati and Hindi ---------------------------------------------------- */
@font-face { font-family: "Noto Sans Gujarati"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/noto-sans-gujarati-gujarati-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans Gujarati"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/noto-sans-gujarati-gujarati-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans Devanagari"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans Devanagari"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/noto-sans-devanagari-devanagari-600-normal.woff2) format("woff2"); }
:lang(gu) { --font-text: "Hanken Grotesk", "Noto Sans Gujarati", system-ui, sans-serif; --font-display: "Sora", "Noto Sans Gujarati", system-ui, sans-serif; }
:lang(hi) { --font-text: "Hanken Grotesk", "Noto Sans Devanagari", system-ui, sans-serif; --font-display: "Sora", "Noto Sans Devanagari", system-ui, sans-serif; }
:lang(gu) body, :lang(hi) body { font-family: var(--font-text); }
:lang(gu) h1, :lang(hi) h1, :lang(gu) .gc-display, :lang(hi) .gc-display, :lang(gu) .gc-h1, :lang(hi) .gc-h1 { line-height: 1.3; letter-spacing: 0; }
:lang(gu) h2, :lang(hi) h2, :lang(gu) h3, :lang(hi) h3, :lang(gu) .gc-bigquote p, :lang(hi) .gc-bigquote p, :lang(gu) .gc-closing, :lang(hi) .gc-closing { line-height: 1.4; letter-spacing: 0; }
:lang(gu) p, :lang(hi) p, :lang(gu) li, :lang(hi) li { line-height: 1.7; }
:lang(gu) .gc-tl__k, :lang(hi) .gc-tl__k, :lang(gu) .gc-menu__title, :lang(hi) .gc-menu__title { letter-spacing: 0; }
:lang(gu) .gc-steps li::before { content: "પગલું " counter(step); }
:lang(hi) .gc-steps li::before { content: "चरण " counter(step); }
:lang(gu) .gc-run li::before { content: "પગલું " counter(run); }
:lang(hi) .gc-run li::before { content: "चरण " counter(run); }
:lang(gu) .gc-service-row::after { content: "સેવા જુઓ"; }
:lang(hi) .gc-service-row::after { content: "सेवा देखें"; }
.gc-run--next li::before { content: counter(run); }

/* Seven-item main menu: the header button shows only on wide screens */
@media (max-width: 1499px) { .gc-header__cta { display: none; } }
@media (max-width: 1279px) { .gc-header .gc-wordmark__mark { width: 48px; height: 48px; } }

/* 10. About, Future plans and Insights (November 2026) --------------------- */
.gc-pull { margin-top: 8px !important; padding-top: 16px; border-top: 2px solid var(--gold); font-family: var(--font-display); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--ink); max-width: 28em; }
.gc-motto { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; color: var(--gold) !important; }
.gc-section--what .gc-area:first-of-type { border-top: 1px solid var(--line); padding-top: 48px; margin-top: 32px !important; }
.gc-area .wp-block-heading.gc-h3 { font-size: 24px; line-height: 30px; }
.gc-area .gc-small { color: var(--ink); }
.gc-area .gc-small strong { color: var(--ink-muted); font-weight: 600; }
.gc-serve { list-style: none; padding: 0; margin-left: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 0 40px; }
.gc-serve li { position: relative; padding: 16px 0 16px 28px; border-top: 1px solid var(--line); font-size: 17px; line-height: 25px; }
.gc-serve li::before { content: ""; position: absolute; left: 0; top: 23px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--gold-text); box-sizing: border-box; }
.gc-align-end { align-items: flex-end !important; }
.gc-section--sign { padding-top: 0; padding-bottom: 72px; }
.gc-sign { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.gc-sign > * { margin: 0 !important; }
.gc-sign__t { font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; color: var(--ink); }
.gc-sign__t span { color: var(--gold-text); font-weight: 400; }
.gc-sign__s { font-size: 17px; line-height: 25px; font-style: italic; color: var(--ink-muted); }
.gc-toc--numbered { position: static; }
.gc-toc--numbered a { display: flex; gap: 12px; align-items: baseline; font-weight: 500; color: var(--ink); }
.gc-toc--numbered a:hover { color: var(--gold-text); }
.gc-toc--numbered span { font-family: var(--font-display); font-size: 13px; font-weight: 600; color: var(--gold-text); min-width: 20px; }
.gc-fps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: 24px; }
.gc-fps > * { margin: 0 !important; }
.gc-fp { position: relative; padding: 32px !important; scroll-margin-top: 104px; }
.gc-fp > * + * { margin-top: 10px !important; }
.gc-fp .gc-fp__n { position: absolute; top: 28px; right: 32px; margin: 0 !important; font-family: var(--font-display); font-size: 40px; line-height: 40px; font-weight: 600; color: transparent; -webkit-text-stroke: 1px var(--line-strong); }
.gc-fp .gc-fp__t { margin-top: 20px !important; font-size: 22px; line-height: 29px; padding-right: 64px; }
.gc-fp .gc-dots li { font-size: 15px; line-height: 22px; padding-top: 9px; padding-bottom: 9px; }
.gc-fp .gc-small { color: var(--ink-muted); }
.gc-fp .gc-small strong { color: var(--ink); font-weight: 600; }
.gc-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 32px 24px; margin-top: 32px !important; }
.gc-posts > * { margin: 0 !important; }
.gc-post { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); overflow: hidden; }
.gc-post > * { margin: 0 !important; }
.gc-post .gc-photo { border-radius: 0; box-shadow: none; }
.gc-ratio-3-2 img { aspect-ratio: 3 / 2; }
.gc-post__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 20px 20px 0; font-size: 13px; line-height: 18px; font-weight: 600; }
.gc-post__cat { padding: 3px 8px; border-radius: var(--radius-sm); background: var(--gold-soft); color: var(--gold-text); }
.gc-post__soon { color: var(--ink-muted); align-self: center; }
.gc-post .gc-post__t { padding: 10px 20px 0; font-size: 19px; line-height: 26px; }
.gc-post .gc-muted { padding: 8px 20px 24px; font-size: 15px; line-height: 23px; }
:lang(gu) .gc-pull, :lang(hi) .gc-pull, :lang(gu) .gc-motto, :lang(hi) .gc-motto, :lang(gu) .gc-fp__t, :lang(hi) .gc-fp__t, :lang(gu) .gc-post__t, :lang(hi) .gc-post__t { line-height: 1.45; }
