/* ==========================================================================
   Ganadev Thapa theme
   Colours, type and spacing come from theme.json presets, so Global Styles
   in the Site Editor changes them everywhere. This file only adds what
   theme.json cannot express: block styles, section rhythm, the header
   breakpoint and a few signature components.
   ========================================================================== */

:root {
	--gt-navy: var(--wp--preset--color--primary);
	--gt-navy-dark: var(--wp--preset--color--primary-dark);
	--gt-gold: var(--wp--preset--color--secondary);
	--gt-gold-light: var(--wp--preset--color--secondary-light);
	--gt-accent: var(--wp--preset--color--accent);
	--gt-ink: var(--wp--preset--color--ink);
	--gt-muted: var(--wp--preset--color--muted);
	--gt-line: var(--wp--preset--color--line);
	--gt-paper: var(--wp--preset--color--paper);
	--gt-r-s: var(--wp--custom--radius--small, 4px);
	--gt-r-m: var(--wp--custom--radius--medium, 8px);
	--gt-ease: var(--wp--custom--transition, .28s ease);
	--gt-section-y: var(--wp--preset--spacing--80);
}

html { scroll-padding-top: 110px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, video, iframe { max-width: 100%; height: auto; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:focus-visible { outline: 2px solid var(--gt-gold); outline-offset: 3px; border-radius: 2px; }
::selection { background: var(--gt-gold-light); color: var(--gt-navy-dark); }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
a:hover { text-decoration-color: currentColor; }
.wp-element-button, .wp-block-button__link { transition: background var(--gt-ease), color var(--gt-ease), transform var(--gt-ease), box-shadow var(--gt-ease); }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }

/* Sections ---------------------------------------------------------------- */
.gt-main { margin-block: 0; }
.gt-main > * + *, .gt-main--front .wp-block-post-content > * + * { margin-block-start: 0; }
.gt-section, .gt-hero, .gt-cta-band { padding-block: var(--gt-section-y); }
.gt-section-head { margin-bottom: var(--wp--preset--spacing--60); }
.gt-section-head > * { margin-block: 0 .6rem; }
.gt-section-head--center { text-align: center; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content.is-layout-constrained > .alignfull { margin-block: 0; }

/* Eyebrow: Cinzel caps with a gold rule */
.is-style-gt-eyebrow {
	display: flex; align-items: center; gap: .65em;
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: .74rem !important; font-weight: 600 !important; line-height: 1.4 !important;
	letter-spacing: .2em !important; text-transform: uppercase;
	color: var(--gt-accent) !important; margin-bottom: .6rem !important;
}
.is-style-gt-eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .7; }
.has-text-align-center.is-style-gt-eyebrow, .gt-section-head--center .is-style-gt-eyebrow { display: flex; justify-content: center; }
.gt-eyebrow-light, .has-primary-background-color .is-style-gt-eyebrow, .has-primary-dark-background-color .is-style-gt-eyebrow, .is-style-gt-panel-dark .is-style-gt-eyebrow { color: var(--gt-gold-light) !important; }

/* Gold swoosh rule lifted from the mark */
.wp-block-separator.is-style-gt-swoosh {
	border: 0 !important; width: 132px !important; max-width: 132px; height: 14px; margin-inline: 0 !important; margin-block: 1rem 1.25rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 14'%3E%3Cpath d='M1 1C14 9.8 39.5 13.4 66 13.4S118 9.8 131 1' fill='none' stroke='%23BE8C32' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain !important;
	opacity: 1;
}
.has-text-align-center + .wp-block-separator.is-style-gt-swoosh, .gt-404 .wp-block-separator.is-style-gt-swoosh { margin-inline: auto !important; }

/* Header ------------------------------------------------------------------ */
.gt-header-shell { position: sticky; top: 0; z-index: 90; }
.admin-bar .gt-header-shell { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .gt-header-shell { top: 0; } }
.gt-site-header { border-bottom: 1px solid var(--gt-line); transition: box-shadow var(--gt-ease); }
.gt-is-scrolled .gt-site-header { box-shadow: var(--wp--preset--shadow--card); }
.gt-site-header__row { gap: 1.5rem; }
.gt-site-header__logo img { height: auto; max-height: 58px; width: auto !important; }
.gt-site-header__nav { gap: 1rem; min-width: 0; }
.gt-topbar { font-size: var(--wp--preset--font-size--x-small); }
.gt-topbar .wp-block-group { row-gap: .25rem; column-gap: 1.5rem; }
.gt-topbar__note { margin: 0; color: #C9D2E3; display: inline-flex; align-items: center; gap: .5rem; }
.gt-topbar__note::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gt-gold); }
.gt-topbar .gtc-contact a { color: #C9D2E3; }

/* Primary navigation */
.gt-primary-nav .wp-block-navigation-item__content { padding: .55rem .62rem; border-radius: var(--gt-r-s); color: var(--gt-ink); text-decoration: none; }
.gt-primary-nav .wp-block-navigation-item__content:hover { background: var(--gt-paper); color: var(--gt-navy); }
.gt-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.gt-primary-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--gt-navy); box-shadow: inset 0 -2px 0 var(--gt-gold); }
.gt-primary-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--gt-line) !important; border-top: 2px solid var(--gt-gold) !important;
	border-radius: 0 0 var(--gt-r-m) var(--gt-r-m); box-shadow: var(--wp--preset--shadow--lift); padding: .4rem !important; min-width: 290px !important;
	text-transform: none; letter-spacing: 0; font-size: .9rem;
}
.gt-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .75rem; display: block; }
.gt-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { border-left: 2px solid var(--gt-gold); }

/* Hamburger below 1280px. Core collapses only below 600px, which would
   overflow a header with seven items, two dropdowns and a CTA. */
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--gt-navy); }
.gt-primary-nav .wp-block-navigation__responsive-container-open {
	background: var(--gt-navy); color: #fff; border-radius: var(--gt-r-s); width: 44px; height: 44px; align-items: center; justify-content: center;
}
@media (min-width: 600px) and (max-width: 1280px) {
	.gt-primary-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.gt-primary-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem clamp(1rem, 5vw, 2rem) 2rem !important; background: #fff !important; color: var(--gt-ink) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--gt-line); align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .85rem .25rem !important; font-size: 1rem; text-transform: none; letter-spacing: 0; box-shadow: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .5rem 1rem !important; border: 0 !important; border-left: 2px solid var(--gt-gold-light) !important; box-shadow: none; min-width: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem .25rem !important; font-size: .92rem; }
@media (max-width: 1400px) { .gt-primary-nav .wp-block-navigation-item__content { padding-inline: .45rem; } .gt-primary-nav { font-size: .76rem !important; letter-spacing: .035em !important; } }
@media (max-width: 1280px) { .gt-topbar__note { display: none; } }
@media (max-width: 600px) {
	.gt-site-header__cta { display: none; }
	.gt-site-header__logo img { max-height: 44px; }
	.gt-topbar { display: none; }
}

/* Hero -------------------------------------------------------------------- */
.gt-hero { position: relative; isolation: isolate; overflow: hidden; }
.gt-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(110% 90% at 85% 5%, rgba(190,140,50,.20), transparent 58%),
		radial-gradient(90% 70% at 5% 100%, rgba(30,70,140,.45), transparent 62%);
}
.gt-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
	background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
	background-size: 64px 64px; mask-image: radial-gradient(80% 70% at 50% 40%, #000 20%, transparent 100%);
	-webkit-mask-image: radial-gradient(80% 70% at 50% 40%, #000 20%, transparent 100%);
}
.gt-hero__grid { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.gt-hero__title { color: #fff !important; font-size: var(--wp--preset--font-size--huge) !important; line-height: 1.12 !important; max-width: 17ch; }
.gt-hero__title mark, .gt-gold-text { background: none; color: var(--gt-gold-light); }
.gt-hero__lede { color: #C9D2E3; font-size: var(--wp--preset--font-size--large); max-width: 56ch; }
.gt-hero__badges { list-style: none; padding: 1.25rem 0 0 !important; margin-top: 1.75rem !important; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: var(--wp--preset--font-size--small); color: #C9D2E3; }
.gt-hero__badges li { display: inline-flex; align-items: center; gap: .45rem; margin: 0; }
.gt-hero__badges li::before { content: ""; width: 15px; height: 15px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DDB86E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E") no-repeat center / contain; }

.gt-offices { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--gt-r-m); padding: clamp(1.25rem, 2.5vw, 1.85rem); backdrop-filter: blur(6px); }
.gt-offices__title { font-family: var(--wp--preset--font-family--display) !important; font-size: .72rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--gt-gold-light) !important; padding-bottom: .85rem; border-bottom: 1px solid rgba(255,255,255,.12); margin: 0 0 .25rem !important; }
.gt-offices__list { list-style: none; padding: 0 !important; margin: 0; }
.gt-offices__list li { display: grid; gap: 2px; padding: .62rem 5.5rem .62rem 0; border-bottom: 1px solid rgba(255,255,255,.07); margin: 0; font-size: .76rem; color: #A9B6CC; position: relative; }
.gt-offices__list li:last-child { border-bottom: 0; }
.gt-offices__list strong { font-size: .88rem; font-weight: 500; color: #fff; }
.gt-offices__list li::after { content: "Online"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); padding: .22rem .6rem .22rem 1.35rem; border-radius: 999px; border: 1px solid rgba(190,140,50,.45); background: rgba(190,140,50,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DDB86E' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m20 6-11 11-5-5'/%3E%3C/svg%3E") no-repeat .5rem center / 9px; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gt-gold-light); }
.gt-offices__foot { margin-top: .9rem !important; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .76rem; color: #A9B6CC; }
.gt-offices .is-style-gt-checklist li { color: #fff; }

.gt-ribbon { padding-block: 0 !important; }
.gt-ribbon__grid { gap: 0 !important; margin-block: 0 !important; }
.gt-ribbon__grid > .wp-block-column { padding: 1.5rem clamp(.9rem, 2vw, 1.6rem); border-left: 1px solid rgba(255,255,255,.1); }
.gt-ribbon__grid > .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.gt-ribbon__k { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 600; line-height: 1; color: var(--gt-gold-light); margin: 0 !important; }
.gt-ribbon__v { margin: .45rem 0 0 !important; font-size: .8rem; color: #A9B6CC; }
@media (max-width: 781px) {
	.gt-ribbon__grid { display: grid !important; grid-template-columns: 1fr 1fr; }
	.gt-ribbon__grid > .wp-block-column { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); padding-left: 0; }
}

/* Cards ------------------------------------------------------------------- */
.is-style-gt-card, .gt-card-item {
	background: #fff; border: 1px solid var(--gt-line); border-radius: var(--gt-r-m);
	padding: clamp(1.15rem, 2.2vw, 1.6rem); height: 100%;
	transition: transform var(--gt-ease), box-shadow var(--gt-ease), border-color var(--gt-ease);
}
.is-style-gt-card > :first-child { margin-top: 0; }
.gt-card-item { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.gt-card-item:hover, .is-style-gt-card:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--card); border-color: var(--gt-gold-light); }
.gt-card-item .wp-block-post-featured-image { margin: 0; }
.gt-card-item .wp-block-post-featured-image img { transition: transform .5s ease; }
.gt-card-item:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.gt-card-item__body { padding: clamp(1.15rem, 2vw, 1.5rem); display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.gt-card-item__body > * { margin: 0 !important; }
.gt-card-item .wp-block-post-title a { text-decoration: none; color: var(--gt-navy); }
.gt-card-item .wp-block-post-title a:hover { color: var(--gt-accent); }
.gt-card-item .wp-block-post-terms a { color: var(--gt-accent); text-decoration: none; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.gt-read-more, .gt-card-item .wp-block-read-more { margin-top: auto !important; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gt-accent); text-decoration: none; padding-top: .35rem; }
.gt-read-more::after { content: " \2192"; }
.wp-block-post-template.is-style-gt-cards { gap: var(--wp--preset--spacing--40) !important; }
.wp-block-post-template.is-style-gt-cards > li { margin: 0 !important; }
.gt-card-item--practice .gt-card-item__body { padding-left: calc(clamp(1.15rem, 2vw, 1.5rem) + 64px); position: relative; }
.gt-card-item--practice .gtc-meta-field--code { position: absolute; left: clamp(1.15rem, 2vw, 1.5rem); top: clamp(1.15rem, 2vw, 1.5rem); }
.gt-grid-3 { gap: var(--wp--preset--spacing--40) !important; margin-bottom: var(--wp--preset--spacing--40) !important; }
.gt-card-cta { background: var(--wp--preset--color--paper-warm); border-style: dashed; }

/* Panels and callouts ------------------------------------------------------ */
.is-style-gt-panel-dark { background: linear-gradient(155deg, var(--gt-navy), var(--gt-navy-dark)); color: #E7ECF4; border-radius: var(--gt-r-m); padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.is-style-gt-panel-dark :where(h1,h2,h3,h4) { color: #fff; }
.is-style-gt-panel-dark p { color: #C9D2E3; }
.is-style-gt-panel-dark > * + * { margin-top: .85rem; }
.gt-cta-inline__title { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); font-weight: 600; color: inherit; margin: 0; }
.is-style-gt-panel-dark .gt-cta-inline__title { color: #fff; }

.is-style-gt-note, .is-style-gt-tip, .is-style-gt-warning, .is-style-gt-insight, .is-style-gt-example, .is-style-gt-direct-answer, .is-style-gt-definition, .is-style-gt-takeaways, .is-style-gt-sources {
	--gt-c: var(--gt-navy); --gt-cb: #EEF2F8;
	border-left: 3px solid var(--gt-c); background: var(--gt-cb); border-radius: 0 var(--gt-r-m) var(--gt-r-m) 0;
	padding: 1.1rem 1.3rem; margin-block: 1.75rem !important;
}
.is-style-gt-note > *, .is-style-gt-tip > *, .is-style-gt-warning > *, .is-style-gt-insight > *, .is-style-gt-example > *, .is-style-gt-direct-answer > *, .is-style-gt-definition > *, .is-style-gt-takeaways > *, .is-style-gt-sources > * { margin-block: 0 .5rem; }
.is-style-gt-note > :last-child, .is-style-gt-tip > :last-child, .is-style-gt-warning > :last-child, .is-style-gt-insight > :last-child, .is-style-gt-example > :last-child, .is-style-gt-direct-answer > :last-child, .is-style-gt-definition > :last-child, .is-style-gt-takeaways > :last-child, .is-style-gt-sources > :last-child { margin-bottom: 0; }
.is-style-gt-tip { --gt-c: #17794F; --gt-cb: #EAF6EF; }
.is-style-gt-warning { --gt-c: #B54708; --gt-cb: #FEF4E6; }
.is-style-gt-insight { --gt-c: var(--gt-gold); --gt-cb: var(--wp--preset--color--paper-warm); }
.is-style-gt-example { --gt-c: #5B4BB6; --gt-cb: #F2F0FB; }
.is-style-gt-direct-answer { --gt-c: var(--gt-gold); --gt-cb: var(--wp--preset--color--paper-warm); border-left-width: 4px; font-size: 1.05rem; }
.is-style-gt-definition { --gt-c: var(--gt-line); --gt-cb: #fff; border: 1px solid var(--gt-line); border-left: 3px solid var(--gt-navy); }
.is-style-gt-takeaways { --gt-c: var(--gt-navy); --gt-cb: var(--gt-paper); border-left: 0; border-top: 3px solid var(--gt-gold); border-radius: var(--gt-r-m); }
.is-style-gt-sources { --gt-c: var(--gt-line); --gt-cb: transparent; font-size: var(--wp--preset--font-size--small); color: var(--gt-muted); }
.gt-callout-label { font-size: .72rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gt-c); }
.is-style-gt-insight .gt-callout-label, .is-style-gt-direct-answer .gt-callout-label { color: var(--gt-accent); }

.is-style-gt-metric { background: #fff; border: 1px solid var(--gt-line); border-top: 3px solid var(--gt-gold); border-radius: var(--gt-r-m); padding: 1.25rem; }
.gt-metric__k { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--gt-navy); font-weight: 600; line-height: 1; margin: 0 !important; }
.gt-metric__v { margin: .5rem 0 0 !important; font-size: var(--wp--preset--font-size--small); color: var(--gt-muted); }

/* Lists ------------------------------------------------------------------- */
.is-style-gt-checklist, .is-style-gt-pros, .is-style-gt-cons { list-style: none; padding-left: 0 !important; }
.is-style-gt-checklist li, .is-style-gt-pros li, .is-style-gt-cons li { position: relative; padding-left: 1.85rem; margin-bottom: .6rem; }
.is-style-gt-checklist li::before, .is-style-gt-pros li::before, .is-style-gt-cons li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.2rem; height: 1.2rem; background: no-repeat center / contain; }
.is-style-gt-checklist li::before, .is-style-gt-pros li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BE8C32' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.is-style-gt-pros li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317794F' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E"); }
.is-style-gt-cons li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B42318' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E"); }
.gt-checklist-light li { color: #fff; }

.is-style-gt-steps { list-style: none; counter-reset: gtstep; padding-left: 0 !important; }
.is-style-gt-steps > li { counter-increment: gtstep; position: relative; padding: 1.15rem 0 1.15rem 4.25rem; border-top: 1px solid var(--gt-line); margin: 0; }
.is-style-gt-steps > li:last-child { border-bottom: 1px solid var(--gt-line); }
.is-style-gt-steps > li::before { content: counter(gtstep, decimal-leading-zero); position: absolute; left: 0; top: .9rem; font-family: var(--wp--preset--font-family--display); font-size: 1.85rem; font-weight: 600; color: var(--gt-gold); line-height: 1; }
.is-style-gt-steps strong { color: var(--gt-navy); }

.is-style-gt-timeline { list-style: none; padding-left: 0 !important; position: relative; }
.is-style-gt-timeline::before { content: ""; position: absolute; left: 7px; top: .4rem; bottom: .4rem; width: 2px; background: var(--gt-line); }
.is-style-gt-timeline > li { position: relative; padding-left: 2rem; margin-bottom: 1.1rem; }
.is-style-gt-timeline > li::before { content: ""; position: absolute; left: 0; top: .45em; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--gt-gold); }

.gt-chips { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.gt-chips li { margin: 0; padding: .4rem .85rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); font-size: .8rem; color: #E7ECF4; }
.gt-chips li:first-child { background: var(--gt-gold); border-color: var(--gt-gold); color: var(--gt-navy-dark); font-weight: 600; }

/* Tables ------------------------------------------------------------------ */
.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { min-width: 520px; border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-gt-table th, .wp-block-table.is-style-gt-comparison th, .wp-block-table.is-style-gt-table td, .wp-block-table.is-style-gt-comparison td { border: 0; border-bottom: 1px solid var(--gt-line); padding: .7rem .85rem; text-align: left; vertical-align: top; }
.wp-block-table.is-style-gt-table thead th, .wp-block-table.is-style-gt-comparison thead th { background: var(--gt-navy); color: #fff; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.wp-block-table.is-style-gt-table tbody tr:nth-child(even) { background: var(--gt-paper); }
.wp-block-table.is-style-gt-comparison tbody td:first-child { font-weight: 600; color: var(--gt-navy); background: var(--gt-paper); }
.wp-block-table thead { border-bottom: 0; }

/* Buttons ----------------------------------------------------------------- */
.wp-block-button.is-style-gt-navy .wp-block-button__link { background: var(--gt-navy); color: #fff; }
.wp-block-button.is-style-gt-ghost .wp-block-button__link { background: transparent; color: var(--gt-navy); box-shadow: inset 0 0 0 1px var(--gt-line); }
.wp-block-button.is-style-gt-ghost .wp-block-button__link:hover { background: var(--gt-navy); color: #fff; }
.wp-block-button.is-style-gt-ghost-light .wp-block-button__link { background: rgba(255,255,255,.07); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
.wp-block-button.is-style-gt-text .wp-block-button__link { background: none; padding: 0; color: var(--gt-accent); text-decoration: none; }
.wp-block-button.is-style-gt-text .wp-block-button__link::after { content: " \2192"; }

/* Accordion and FAQ */
.wp-block-details.is-style-gt-accordion { border-bottom: 1px solid var(--gt-line); padding: 0; margin: 0 !important; }
.is-style-gt-faq > .wp-block-details:first-of-type, .wp-block-details.is-style-gt-accordion:first-child { border-top: 1px solid var(--gt-line); }
.wp-block-details.is-style-gt-accordion summary { list-style: none; cursor: pointer; padding: 1.1rem 2.5rem 1.1rem 0; position: relative; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); font-weight: 600; color: var(--gt-navy); line-height: 1.35; }
.wp-block-details.is-style-gt-accordion summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-gt-accordion summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--gt-line); border-radius: 50%; font-family: var(--wp--preset--font-family--body); font-size: 1.1rem; color: var(--gt-navy); transition: all var(--gt-ease); }
.wp-block-details.is-style-gt-accordion[open] summary::after { content: "\2212"; background: var(--gt-gold); border-color: var(--gt-gold); color: #fff; }
.wp-block-details.is-style-gt-accordion > :not(summary) { color: var(--gt-muted); margin: 0 0 1.1rem; max-width: 72ch; }

/* Tabs (progressively enhanced; readable as stacked sections without JS) */
.is-style-gt-tabs .gt-tabs__list { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--gt-line); margin-bottom: 1.25rem; }
.is-style-gt-tabs .gt-tabs__tab { appearance: none; border: 0; background: none; cursor: pointer; padding: .7rem 1rem; font: 600 .9rem/1.2 var(--wp--preset--font-family--body); color: var(--gt-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.is-style-gt-tabs .gt-tabs__tab[aria-selected="true"] { color: var(--gt-navy); border-bottom-color: var(--gt-gold); }
.is-style-gt-tabs.is-enhanced .gt-tab__label { display: none; }
.is-style-gt-tabs.is-enhanced .gt-tab[hidden] { display: none; }

/* Images, quotes, before and after */
.wp-block-image.is-style-gt-framed img { border-radius: var(--gt-r-m); box-shadow: var(--wp--preset--shadow--card); }
.wp-block-image.is-style-gt-screenshot img { border-radius: var(--gt-r-m); border: 1px solid var(--gt-line); box-shadow: var(--wp--preset--shadow--lift); }
.wp-block-quote.is-style-gt-testimonial { border: 1px solid var(--gt-line); border-top: 3px solid var(--gt-gold); border-radius: var(--gt-r-m); padding: 1.5rem; background: #fff; font-size: 1.05rem; }
.wp-block-quote.is-style-gt-testimonial cite { display: block; margin-top: .85rem; font-style: normal; font-family: var(--wp--preset--font-family--body); font-size: .82rem; color: var(--gt-muted); }
.wp-block-columns.is-style-gt-before-after > .wp-block-column { border-radius: var(--gt-r-m); padding: 1.25rem; border: 1px solid var(--gt-line); }
.wp-block-columns.is-style-gt-before-after > .wp-block-column:last-child { border-color: var(--gt-gold); background: var(--wp--preset--color--paper-warm); }
.wp-block-categories.is-style-gt-pills { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.wp-block-categories.is-style-gt-pills li { margin: 0; }
.wp-block-categories.is-style-gt-pills a { display: inline-block; padding: .4rem .85rem; border-radius: 999px; border: 1px solid var(--gt-line); background: #fff; color: var(--gt-navy); text-decoration: none; font-size: .82rem; }
.wp-block-categories.is-style-gt-pills a:hover { border-color: var(--gt-gold); }
.has-primary-background-color .wp-block-categories.is-style-gt-pills a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); color: #fff; }

/* Page heads -------------------------------------------------------------- */
.gt-page-head { position: relative; isolation: isolate; overflow: hidden; }
.gt-page-head::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .45; background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(80% 90% at 25% 50%, #000 10%, transparent 100%); -webkit-mask-image: radial-gradient(80% 90% at 25% 50%, #000 10%, transparent 100%); }
.gt-page-head h1, .gt-page-head .wp-block-post-title, .gt-page-head .wp-block-query-title { color: #fff; font-size: var(--wp--preset--font-size--xx-large); margin: .5rem 0 .75rem; }
.gt-page-head__lede { margin: 0; max-width: 68ch; }
.gt-page-head__lede p { margin: 0; }
.gt-search-form .wp-block-search__inside-wrapper { border: 1px solid var(--gt-line); border-radius: var(--gt-r-s); padding: 4px; background: #fff; }
.gt-search-form .wp-block-search__input { border: 0; padding: .6rem .75rem; }
.gt-search-form .wp-block-search__button { margin: 0; }
.gt-blog-filters { margin-top: 1.25rem !important; }

/* Article ----------------------------------------------------------------- */
.gt-entry { font-size: 1.04rem; line-height: 1.78; }
.gt-entry > * { margin-block-start: 1.15rem; }
.gt-entry :where(h2) { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.4rem; }
.gt-entry :where(h3) { font-size: var(--wp--preset--font-size--large); margin-top: 1.9rem; }
.gt-entry li::marker { color: var(--gt-gold); }
.gt-article-head .wp-block-post-terms a { color: var(--gt-accent); text-decoration: none; }
.gt-article-deck p { margin: 0; }
.gt-article-tools { margin-block: 1.5rem 1rem !important; padding-block: 1rem; border-block: 1px solid var(--gt-line); gap: .75rem 1.5rem; }
.is-style-gt-lede { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--x-large); line-height: 1.4; color: var(--gt-navy); }

/* Sidebar layout */
.gt-layout-sidebar > .gt-sidebar > * + * { margin-top: 1.25rem; }
.gt-layout-sidebar > .gt-sidebar { position: sticky; top: 120px; align-self: flex-start; }
@media (max-width: 781px) { .gt-layout-sidebar > .gt-sidebar { position: static; } }

/* Contact block */
.gt-contact { gap: 0 !important; border: 1px solid var(--gt-line); border-radius: var(--gt-r-m); overflow: hidden; box-shadow: var(--wp--preset--shadow--card); background: #fff; }
.gt-contact__aside, .gt-contact__form { padding: clamp(1.5rem, 3.5vw, 2.75rem) !important; }
.gt-contact__aside > * + * { margin-top: 1rem; }
.gt-landing-form { background: #fff; color: var(--gt-ink); border-radius: var(--gt-r-m); padding: clamp(1.25rem, 3vw, 2rem) !important; box-shadow: var(--wp--preset--shadow--lift); }

/* CTA band */
.gt-cta-band { background-image: radial-gradient(70% 130% at 90% 50%, rgba(190,140,50,.22), transparent 62%); }
.gt-cta-band__title { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xx-large); line-height: 1.15; font-weight: 600; color: #fff; margin: 0 0 .6rem; }
.gt-cta-band__actions > * + * { margin-top: .7rem; }

/* Footer ------------------------------------------------------------------ */
.gt-site-footer { font-size: var(--wp--preset--font-size--small); }
.gt-site-footer a { text-decoration: none; }
.gt-site-footer a:hover { color: var(--gt-gold-light) !important; }
.gt-footer-heading { font-family: var(--wp--preset--font-family--body) !important; font-size: .74rem !important; font-weight: 700 !important; letter-spacing: .15em !important; text-transform: uppercase; color: #fff !important; margin-bottom: 1rem !important; }
.gt-footer-about { color: #A9B6CC; }
.gt-footer-list .wp-block-post-template { gap: .55rem; display: grid; }
.gt-footer-list .wp-block-post-title { font-family: var(--wp--preset--font-family--body); font-weight: 400; margin: 0; letter-spacing: 0; line-height: 1.45; }
.gt-footer-list .wp-block-post-title a { color: #A9B6CC !important; }
.gt-footer-rule { margin-block: var(--wp--preset--spacing--60) 1.25rem !important; height: 1px; border: 0; }
.gt-footer-disclaimer { color: #8996AF; max-width: 110ch; }
.gt-footer-bottom { padding-top: 1rem; color: #A9B6CC; gap: .75rem 1.5rem; }
.gt-legal-nav .wp-block-navigation-item__content { color: #A9B6CC; }

/* 404 */
.gt-404__code { font-family: var(--wp--preset--font-family--display); font-size: clamp(4rem, 14vw, 8.5rem); line-height: .9; color: #E3E8F1; margin: 0 !important; }

/* Responsive -------------------------------------------------------------- */
@media (max-width: 781px) {
	:root { --gt-section-y: var(--wp--preset--spacing--70); }
	.gt-hero__title { max-width: none; }
	.gt-offices__list li { padding-right: 0; }
	.gt-offices__list li::after { position: static; transform: none; justify-self: start; margin-top: .3rem; }
	.is-style-gt-steps > li { padding-left: 3.25rem; }
	.is-style-gt-steps > li::before { font-size: 1.45rem; }
}

/* Motion ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* Print */
@media print {
	.gt-header-shell, .gt-site-footer, .gtc-rail, .gtc-share, .gtc-ai, .gt-cta-band { display: none !important; }
	body { color: #000; }
}

/* Copy code button */
.gt-copy-code { position: absolute; top: .6rem; right: .6rem; padding: .3rem .65rem; border: 1px solid rgba(255,255,255,.25); border-radius: var(--gt-r-s); background: rgba(255,255,255,.08); color: #fff; font: 600 .72rem/1 var(--wp--preset--font-family--body); cursor: pointer; }
.gt-copy-code:hover { background: var(--gt-gold); color: var(--gt-navy-dark); }
