/* ==========================================================================
   GT_Patterns — styles for every pattern (front end + editor)
   Colours follow the Blocksy palette; the values after the commas are the
   fallbacks used on other themes. Change the variables below to restyle all.
   ========================================================================== */
:root{
  --gt-primary:var(--theme-palette-color-1,#2563eb);
  --gt-primary-d:var(--theme-palette-color-2,#1d4ed8);
  --gt-text:var(--theme-palette-color-3,#475569);
  --gt-heading:var(--theme-palette-color-4,#0f172a);
  --gt-border:var(--theme-palette-color-5,#e2e8f0);
  --gt-soft:var(--theme-palette-color-6,#f1f5f9);
  --gt-white:var(--theme-palette-color-8,#fff);
  --gt-tint:#eef4ff;
  --gt-radius:20px;
  --gt-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 30px rgba(15,23,42,.06);
  --gt-max:1200px;
}
@supports (color:color-mix(in srgb,red,blue)){
  :root{--gt-tint:color-mix(in srgb,var(--gt-primary) 10%,var(--gt-white))}
}

/* ---------- Section shell + vertical rhythm ---------- */
.gt-s,.gt-card,.gt-item,.gt-head,.gt-row,.gt-stat,.gt-s .wp-block-column{
  display:flex;flex-direction:column;gap:var(--gt-gap,1.1rem);
}
.gt-s{--gt-gap:clamp(1.1rem,2.2vw,1.6rem);box-sizing:border-box;padding:clamp(48px,7vw,96px) clamp(20px,4vw,56px);border-radius:var(--gt-radius);color:var(--gt-text)}
.gt-card,.gt-item,.gt-stat{--gt-gap:.8rem}
.gt-stat{--gt-gap:.35rem}
:is(.gt-s,.gt-card,.gt-item,.gt-head,.gt-row,.gt-stat,.gt-s .wp-block-column)>*{margin-block:0!important}
.gt-s>*{box-sizing:border-box;width:100%;max-width:var(--gt-max);margin-left:auto;margin-right:auto}
.gt-s:not(.gt-center)>:is(h1,h2,p,.wp-block-buttons){margin-left:0;margin-right:auto}
.gt-s>.gt-head{padding-bottom:clamp(.5rem,2vw,1.25rem);max-width:720px}
.gt-s>.gt-head--left{margin-left:0;margin-right:auto}
.gt-s>.gt-lead{max-width:680px}
.gt-s>.gt-statement{max-width:920px}
.gt-s :is(h1,h2,h3,h4,h5,h6,p,ul){margin:0}
.gt-s :is(h1,h2,h3,h4){color:var(--gt-heading);line-height:1.15;letter-spacing:-.02em}
.gt-s h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.08;letter-spacing:-.03em}
.gt-s h2{font-size:clamp(1.75rem,3.4vw,2.6rem);font-weight:800}
.gt-s h3{font-size:clamp(1.1rem,1.8vw,1.3rem);font-weight:700}
.gt-s p{line-height:1.65}
.gt-s .gt-columns-gap,.gt-s .wp-block-columns{margin:0;gap:clamp(1.5rem,5vw,4.5rem)}

/* ---------- Backgrounds ---------- */
.gt-soft{background:var(--gt-soft)}
.gt-tintbg{background:var(--gt-tint)}
.gt-line{border-bottom:1px solid var(--gt-border);border-radius:0}
.gt-dark{background:var(--gt-heading);background-image:radial-gradient(60% 90% at 90% 0,rgba(255,255,255,.10),transparent 60%)}
.gt-primary{background:var(--gt-primary)}
.gt-grad{background:linear-gradient(135deg,var(--gt-primary-d),var(--gt-primary));background-image:radial-gradient(circle at 88% 12%,rgba(255,255,255,.28),transparent 45%),linear-gradient(135deg,var(--gt-primary-d),var(--gt-primary))}
:is(.gt-dark,.gt-grad,.gt-primary){color:rgba(255,255,255,.82)}
:is(.gt-dark,.gt-grad,.gt-primary) :is(h1,h2,h3,h4,h5,h6,.gt-name,.gt-quote,.gt-statement,.gt-stat-num,.gt-price){color:#fff!important}
:is(.gt-dark,.gt-grad,.gt-primary) :is(p,li,summary,td,th){color:rgba(255,255,255,.82)}
:is(.gt-dark,.gt-grad,.gt-primary) :is(.gt-stars){color:#fbbf24}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-eyebrow{color:rgba(255,255,255,.75)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-badge{background:rgba(255,255,255,.14);color:#fff}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-check li::before{color:#fff}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-icon{background:rgba(255,255,255,.14)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:none}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-card.gt-feat{background:var(--gt-primary);border-color:var(--gt-primary)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-rows .gt-row{border-color:rgba(255,255,255,.18)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-logo{color:#fff}

/* ---------- Text helpers ---------- */
.gt-center,.gt-tc{text-align:center}
.gt-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gt-primary)}
.gt-lead{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.65;max-width:640px}
.gt-center .gt-lead{margin-left:auto;margin-right:auto}
.gt-small{font-size:.9rem;opacity:.85}
.gt-crumb{font-size:.9rem;opacity:.75}
.gt-badge{display:block;width:fit-content;padding:.3em .95em;border-radius:999px;background:var(--gt-tint);color:var(--gt-primary);font-size:.85rem;font-weight:600;line-height:1.5}
.gt-s>.gt-badge{width:fit-content}
.gt-center :is(.gt-badge,.gt-icon,.gt-avatar,.gt-num){margin-left:auto;margin-right:auto}
.gt-s>.gt-center>.gt-badge{margin-left:auto;margin-right:auto}
.gt-center>.gt-badge,.gt-s.gt-center>.gt-badge{margin-left:auto;margin-right:auto}
.gt-hero{padding-top:clamp(64px,10vw,128px);padding-bottom:clamp(64px,10vw,128px)}
.gt-hero>h1{max-width:900px}
.gt-hero h1{font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.04;letter-spacing:-.035em}
.gt-hero .gt-xl{font-size:clamp(2.8rem,7vw,5.4rem)}
.gt-pagehead{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.gt-pagehead h1{font-size:clamp(2rem,4.5vw,3.1rem)}
.gt-statement{font-size:clamp(1.6rem,3.6vw,2.8rem);line-height:1.2;font-weight:700;letter-spacing:-.025em;color:var(--gt-heading)}
.gt-announce{padding:14px 20px;font-weight:600;border-radius:12px}

/* ---------- Grids (responsive, no media-query surprises) ---------- */
.gt-grid{display:grid!important;gap:clamp(16px,2.5vw,28px);grid-template-columns:repeat(2,minmax(0,1fr))}
.gt-grid>*{margin:0!important;min-width:0}
.gt-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gt-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gt-g5{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}
@media (max-width:960px){.gt-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-g5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.gt-g3{grid-template-columns:1fr}.gt-g3.gt-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.gt-g2{grid-template-columns:1fr}}
@media (max-width:560px){.gt-g3.gt-wrap,.gt-g4{grid-template-columns:1fr}.gt-g5{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-g4.gt-keep2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Cards, boxes, icons ---------- */
.gt-card{background:var(--gt-white);border:1px solid var(--gt-border);border-radius:var(--gt-radius);padding:clamp(22px,3vw,34px);box-shadow:var(--gt-shadow);transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box;height:100%}
.gt-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(15,23,42,.10)}
.gt-card--flat{box-shadow:none}
.gt-card--flat:hover{transform:none;box-shadow:none}
.gt-card--soft{background:var(--gt-soft);border-color:transparent;box-shadow:none}
.gt-card--soft:hover{transform:none}
.gt-box{background:var(--gt-white);border:1px solid var(--gt-border);border-radius:var(--gt-radius);padding:clamp(20px,3vw,32px);box-shadow:var(--gt-shadow);box-sizing:border-box}
.gt-card .wp-block-buttons,.gt-card .gt-person{margin-top:auto!important}
.gt-feat{border-color:var(--gt-primary);box-shadow:0 0 0 1px var(--gt-primary),0 24px 50px rgba(15,23,42,.14)}
.gt-s .gt-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--gt-tint);font-size:1.6rem;line-height:1}
.gt-s .gt-icon svg{width:1.6rem;height:1.6rem;color:var(--gt-primary)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-icon svg{color:#fff}
.gt-s .gt-num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gt-primary);color:#fff;font-weight:700;line-height:1;flex:0 0 auto}
.gt-s .gt-rownum{font-size:.85rem;font-weight:700;letter-spacing:.12em;color:var(--gt-primary)}
.gt-rows{display:flex;flex-direction:column}
.gt-rows .gt-row{padding:clamp(1.25rem,2.5vw,2rem) 0;border-top:1px solid var(--gt-border)}
.gt-rows .gt-row:last-child{border-bottom:1px solid var(--gt-border)}
.gt-rows .gt-row .wp-block-columns{margin:0}
.gt-step .wp-block-columns{gap:1.25rem}
.gt-s .gt-steps{display:flex;flex-direction:column;gap:clamp(1.25rem,2.5vw,2rem)}
.gt-steps>*{margin:0!important}

/* ---------- Check list ---------- */
.gt-s .gt-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.gt-check li{position:relative;padding-left:1.9em;margin:0;line-height:1.5}
.gt-check li::before{content:"✓";position:absolute;left:0;top:0;width:1.35em;height:1.35em;border-radius:50%;background:var(--gt-tint);color:var(--gt-primary);font-size:.8em;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.1em}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-check li::before{background:rgba(255,255,255,.18)}

/* ---------- Buttons ---------- */
.gt-s .wp-block-buttons {
	gap: .75rem;
}

.gt-center .wp-block-buttons {
	justify-content: center;
}

.gt-s .wp-block-button__link {
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}

.gt-s .wp-block-button__link:hover {
	transform: translateY(-1px);
}

.gt-s .is-style-outline>.wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	padding: calc(.85em - 2px) calc(1.7em - 2px);
}

.gt-btn-full,
.gt-btn-full .wp-block-button__link {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* ---------- Pricing ---------- */
.gt-s .gt-price{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--gt-heading)}

/* ---------- Stats ---------- */
.gt-s .gt-stat-num{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--gt-primary)}
.gt-stat-label{font-size:.95rem}
.gt-mini .gt-stat-num{font-size:clamp(1.6rem,3vw,2.2rem)}
.gt-stats-line .gt-stat{padding-top:1.25rem;border-top:2px solid var(--gt-border)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-stats-line .gt-stat,:is(.gt-dark,.gt-grad,.gt-primary) .gt-mini .gt-stat{border-color:rgba(255,255,255,.25)}
.gt-mini .gt-stat{padding-top:1rem;border-top:1px solid rgba(255,255,255,.25)}

/* ---------- Testimonials ---------- */
.gt-s .gt-quote{font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.6;color:var(--gt-heading);font-weight:500}
.gt-s .gt-quote-lg{font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.35;letter-spacing:-.015em}
.gt-stars{color:#f59e0b;letter-spacing:.15em;font-size:1.1rem;line-height:1}
.gt-name{font-weight:700;color:var(--gt-heading)}
.gt-role{font-size:.9rem;opacity:.8}
.gt-person{display:flex;align-items:center;gap:.9rem}
.gt-person>div{display:flex;flex-direction:column;gap:.1rem}
.gt-center .gt-person{justify-content:center}

/* ---------- Images + avatars (empty image blocks show a soft placeholder) ---------- */
.gt-img{margin:0;overflow:hidden;border-radius:var(--gt-radius);background:linear-gradient(135deg,var(--gt-tint),var(--gt-soft));aspect-ratio:4/3;width:100%;box-sizing:border-box}
.gt-img img{width:100%;height:100%;object-fit:cover;display:block}
.gt-img--tall{aspect-ratio:4/5}
.gt-img--wide{aspect-ratio:16/10}
.gt-img--sq{aspect-ratio:1}
.gt-img.gt-avatar{width:56px;height:56px;aspect-ratio:1;border-radius:50%;flex:0 0 auto}
.gt-img.gt-avatar--lg{width:112px;height:112px}
.gt-card>.gt-img{border-radius:calc(var(--gt-radius) - 6px)}

/* ---------- Logos ---------- */
.gt-s .gt-logo{font-weight:800;font-size:clamp(1.05rem,2vw,1.4rem);letter-spacing:-.02em;opacity:.55;text-align:center;color:var(--gt-heading)}

/* ---------- FAQ (core Details block) ---------- */
/* ---------- FAQ (core Details block) ---------- */
.gt-faqs {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	/* Space between accordion items */
}

.gt-faqs>* {
	margin: 0 !important;
}

.gt-faq {
	--gt-gap: 0;
	display: block;
	background: var(--gt-white);
	border: 1px solid var(--gt-border);
	border-radius: 16px;
	overflow: hidden;
}

.gt-faq summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 1.05rem;
	padding: 1.1rem 3.2rem 1.1rem 1.4rem;
	position: relative;
	list-style: none;
	color: var(--gt-heading);
}

.gt-faq summary::-webkit-details-marker {
	display: none;
}

.gt-faq summary::marker {
	content: "";
}

.gt-faq summary::after {
	content: "+";
	position: absolute;
	right: 1.4rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	line-height: 1;
	color: var(--gt-primary);
}

.gt-faq[open] summary::after {
	content: "−";
}

.gt-faq> :not(summary) {
	padding: 0 1.4rem 1rem;
	margin: 0 !important;
}

:is(.gt-dark, .gt-grad, .gt-primary) .gt-faq {
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .16);
}

:is(.gt-dark, .gt-grad, .gt-primary) .gt-faq summary {
	color: #fff;
}
/* ---------- Table (pricing comparison) ---------- */
.gt-table{overflow-x:auto;margin:0}
.gt-table table{width:100%;min-width:560px;border-collapse:collapse;text-align:center}
.gt-table :is(th,td){padding:1rem 1.1rem;border:0;border-bottom:1px solid var(--gt-border)}
.gt-table :is(th,td):first-child{text-align:left;font-weight:600}
.gt-table thead th{background:var(--gt-soft);color:var(--gt-heading);font-weight:700}
.gt-table thead th:first-child{border-radius:12px 0 0 12px}
.gt-table thead th:last-child{border-radius:0 12px 12px 0}

/* ---------- Latest posts (Query Loop) ---------- */
.gt-posts .wp-block-post-template{gap:clamp(16px,2.5vw,28px)}
.gt-posts .wp-block-post-featured-image img{border-radius:14px;width:100%;aspect-ratio:16/10;object-fit:cover}
.gt-posts .wp-block-post-title{font-size:1.2rem;line-height:1.3;margin:.6rem 0 .4rem}
.gt-posts .wp-block-post-title a{text-decoration:none}
.gt-posts .wp-block-post-date{font-size:.85rem;opacity:.75}

/* ---------- Small screens ---------- */
@media (max-width:600px){
  .gt-s{padding-left:18px;padding-right:18px}
  .gt-s .wp-block-buttons{flex-direction:column;align-items:stretch}
  .gt-s .wp-block-buttons .wp-block-button,.gt-s .wp-block-buttons .wp-block-button__link{width:100%;text-align:center;box-sizing:border-box}
  .gt-step .wp-block-columns{flex-wrap:nowrap}
}
@media (prefers-reduced-motion:reduce){
  .gt-card,.gt-s .wp-block-button__link{transition:none}
  .gt-card:hover,.gt-s .wp-block-button__link:hover{transform:none}
}

/* ---------- Single centered card (pricing-single) ---------- */
.gt-s>.gt-single{max-width:460px;margin-left:auto;margin-right:auto}
.gt-single>.gt-card{height:auto}

/* ==========================================================================
   v3 additions: church patterns, overlays, carousels, animations
   ========================================================================== */
.gt-tight{--gt-gap:.3rem}
.gt-compact{padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(20px,3vw,32px)}
.gt-s .gt-plain{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem}
.gt-plain li{margin:0}
.gt-s .gt-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:.35rem}
.gt-links a{display:block;padding:.55rem .8rem;border-radius:10px;text-decoration:none;font-weight:600}
.gt-links a:hover{background:var(--gt-tint);color:var(--gt-primary)}
.gt-link a{font-weight:700;text-decoration:none;color:var(--gt-primary)}
.gt-link a:hover{text-decoration:underline}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-link a{color:#fff!important}
.gt-sticky{position:sticky;top:110px}
.gt-s .gt-year{font-size:1.25rem;font-weight:800;color:var(--gt-primary)}
.gt-s .gt-rotate{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--gt-primary);min-height:1.2em}
.gt-rotate span{display:inline-block;transition:opacity .35s ease,transform .35s ease}
.gt-rot-out{opacity:0;transform:translateY(-10px)}

/* image overlay sections and cards */
.gt-overlay,.gt-ocard{position:relative;isolation:isolate;overflow:hidden}
.gt-overlay.gt-dark,.gt-ocard.gt-dark{background:linear-gradient(135deg,#1e293b,#0b1220)}
.gt-overlay>.gt-ov-img,.gt-ocard>.gt-ov-img{position:absolute!important;inset:0;width:100%;height:100%;max-width:none;margin:0!important;aspect-ratio:auto;border-radius:0;z-index:-2;background:none}
.gt-overlay::after,.gt-ocard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,18,32,.25),rgba(11,18,32,.78));pointer-events:none}
.gt-overlay.gt-hero{min-height:clamp(480px,70vh,720px);justify-content:center}
.gt-banner{min-height:clamp(260px,38vw,420px);justify-content:center}
.gt-ocard{display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;min-height:340px;padding:clamp(20px,3vw,28px);border-radius:var(--gt-radius);box-sizing:border-box}
.gt-ocard>*{margin-block:0!important}
.gt-ocard .gt-ov-img img{transition:transform .6s ease}
.gt-ocard:hover .gt-ov-img img{transform:scale(1.05)}

/* play button on video thumbnails */
.gt-play{position:relative}
.gt-play::after{content:"▶";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.93);color:var(--gt-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;padding-left:4px;box-sizing:border-box;box-shadow:0 10px 30px rgba(0,0,0,.25);pointer-events:none;transition:transform .2s ease}
.gt-card:hover .gt-play::after,.gt-item:hover .gt-play::after{transform:scale(1.08)}

/* date boxes, event heads */
.gt-datebox{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:68px;padding:.7rem .5rem;border-radius:16px;background:var(--gt-tint);flex:0 0 auto;text-align:center;box-sizing:border-box}
.gt-datebox>*{margin:0!important}
.gt-s .gt-day{font-size:1.6rem;font-weight:800;line-height:1;color:var(--gt-primary)}
.gt-s .gt-mon{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gt-evhead{display:flex;align-items:center;gap:1rem}
.gt-evhead>*{margin:0!important}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-datebox{background:rgba(255,255,255,.14)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-day{color:#fff}

/* horizontal cards / rows */
.gt-hrow{flex-direction:row!important;align-items:center;gap:1.1rem;flex-wrap:wrap}
.gt-hrow>*{margin:0!important}
.gt-hrow>.gt-img{width:180px;flex:0 0 180px;aspect-ratio:1}
.gt-hrow>.gt-icon{flex:0 0 56px}
.gt-hrow>.gt-item,.gt-hrow>.gt-tight{flex:1 1 200px}
.gt-hrow>.wp-block-buttons{margin-top:0!important;margin-left:auto!important}
.gt-hrow.gt-item{align-items:flex-start;flex-wrap:nowrap}

/* swipe carousels (CSS only) */
.gt-snap{display:flex!important;gap:clamp(14px,2vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.gt-snap>*{flex:0 0 min(86%,360px);scroll-snap-align:start;margin:0!important}
.gt-snap>.gt-img{flex:0 0 min(86%,440px)}

/* galleries */
.gt-masonry{column-count:3;column-gap:16px;display:block}
.gt-masonry>*{break-inside:avoid;margin:0 0 16px!important;display:block}
@media (max-width:800px){.gt-masonry{column-count:2}}
@media (max-width:480px){.gt-masonry{column-count:1}}
.gt-asym{grid-template-columns:2fr 1fr 1fr}
.gt-asym>:first-child{grid-row:span 2}
.gt-asym .gt-img{aspect-ratio:auto;height:100%;min-height:180px}
@media (max-width:680px){.gt-asym{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-asym>:first-child{grid-column:span 2;grid-row:auto}}

/* special layouts */
.gt-splitscreen{padding:0!important;overflow:hidden}
.gt-splitscreen>*{max-width:none}
.gt-splitscreen .wp-block-columns{gap:0}
.gt-splitscreen .wp-block-column>.gt-img{border-radius:0;aspect-ratio:auto;min-height:420px;height:100%;flex:1}
.gt-splitscreen .wp-block-column:last-child{padding:clamp(28px,5vw,64px)}
.gt-s .gt-overlap.wp-block-columns{gap:0}
.gt-overlap .gt-box{position:relative;z-index:2}
@media (min-width:782px){.gt-overlap .wp-block-column:last-child{margin-left:-90px}}
.gt-notice{display:flex;gap:1rem;align-items:flex-start;padding:18px 22px;border-radius:16px;background:var(--gt-tint);border:1px solid var(--gt-border)}
.gt-notice>*{margin:0!important}
.gt-notice .gt-icon{width:44px;height:44px;font-size:1.2rem;flex:0 0 44px;background:var(--gt-white)}
.gt-wave{height:clamp(48px,8vw,100px);background:var(--gt-soft);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'><path d='M0,60 C200,120 400,0 600,60 C800,120 1000,0 1200,60 L1200,120 L0,120 Z'/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'><path d='M0,60 C200,120 400,0 600,60 C800,120 1000,0 1200,60 L1200,120 L0,120 Z'/></svg>") center/100% 100% no-repeat}
.gt-table--left :is(th,td){text-align:left}
.gt-s .wp-block-search{max-width:560px;margin-left:auto;margin-right:auto}
.gt-s .wp-block-search__inside-wrapper{border-radius:999px;overflow:hidden}
/* ---------- Convention information ribbon ---------- */
.gt-info-ribbon {
	--gt-gap: 0;
	background: var(--gt-soft);
	border: 1px solid var(--gt-border);
}

.gt-info-ribbon__columns {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0 !important;
}

.gt-info-ribbon__columns>.wp-block-column {
	min-width: 0;
	padding: 1.25rem;
	gap: .55rem;
	border-right: 1px solid var(--gt-border);
}

.gt-info-ribbon__columns>.wp-block-column:last-child {
	border-right: 0;
}

.gt-info-ribbon .gt-eyebrow {
	margin: 0;
}

.gt-info-ribbon h3 {
	overflow-wrap: anywhere;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.35;
}

.gt-info-ribbon a {
	color: inherit;
	text-decoration-color: var(--gt-primary);
	text-underline-offset: 3px;
}

@media (max-width: 900px) {
	.gt-info-ribbon__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gt-info-ribbon__columns>.wp-block-column:nth-child(2) {
		border-right: 0;
	}

	.gt-info-ribbon__columns>.wp-block-column:nth-child(-n+2) {
		border-bottom: 1px solid var(--gt-border);
	}
}

@media (max-width: 520px) {
	.gt-info-ribbon__columns {
		grid-template-columns: 1fr;
	}

	.gt-info-ribbon__columns>.wp-block-column {
		padding: 1rem 0;
		border-right: 0;
		border-bottom: 1px solid var(--gt-border);
	}

	.gt-info-ribbon__columns>.wp-block-column:nth-child(2) {
		border-bottom: 1px solid var(--gt-border);
	}

	.gt-info-ribbon__columns>.wp-block-column:last-child {
		border-bottom: 0;
	}
}

/* ---------- Signal announcement bar ---------- */
.gt-signal-bar {
	--gt-gap: 0;
	background: var(--gt-tint);
	border: 1px solid var(--gt-border);
}

.gt-signal-bar__content {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.gt-signal-bar__text {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	min-width: 0;
}

.gt-signal-bar h3 {
	font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	line-height: 1.25;
}

.gt-signal-bar .wp-block-buttons {
	flex: 0 0 auto;
}

.gt-signal-bar .wp-block-button {
	white-space: nowrap;
}

@media (max-width: 680px) {
	.gt-signal-bar__content {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}

	.gt-signal-bar .wp-block-buttons,
	.gt-signal-bar .wp-block-button,
	.gt-signal-bar .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}
/* ---------- Map embed ---------- */
.gt-map{overflow:hidden;border-radius:var(--gt-radius);box-shadow:var(--gt-shadow);aspect-ratio:16/9;width:100%;box-sizing:border-box}
.gt-map-frame{display:block;width:100%;height:100%;border:0}

/* countdown (built by JS on the front end) */
.gt-countdown{display:flex;gap:clamp(10px,2vw,20px);justify-content:center;flex-wrap:wrap;font-weight:700}
.gt-cd{min-width:80px;padding:14px 10px;border-radius:16px;background:var(--gt-tint);display:flex;flex-direction:column;align-items:center;gap:.25rem;box-sizing:border-box}
.gt-cd b{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;line-height:1;color:var(--gt-heading)}
.gt-cd i{font-style:normal;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-weight:600}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-cd{background:rgba(255,255,255,.14)}
:is(.gt-dark,.gt-grad,.gt-primary) .gt-cd b{color:#fff}

/* ---------- Animations (front end only; the editor never hides anything) ---------- */
.gt-ticker{overflow:hidden;white-space:nowrap}
.gt-ticker p{display:inline-block;padding-left:100%;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .gt-js .gt-ticker p{animation:gt-marquee 38s linear infinite}
  .gt-js .gt-ticker:hover p{animation-play-state:paused}
  @keyframes gt-marquee{to{transform:translateX(-100%)}}
  .gt-js :is(.gt-s>*:not(.gt-grid),.gt-grid>*):not(.gt-in):not(.gt-done){opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--gt-d,0s)}
  .gt-js .gt-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--gt-d,0s)}
}
@media (prefers-reduced-motion:reduce){.gt-ticker p{padding-left:0;white-space:normal}.gt-ticker{white-space:normal}}
