/*
Theme Name: StratGrid FSE
Theme URI: https://stratgrid.ca/
Author: StratGrid Inc.
Description: A native Full Site Editing block theme for StratGrid, built entirely with core Gutenberg blocks and local assets.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: stratgrid-fse
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Copyright: 2026 StratGrid Inc.
Tags: block-patterns, block-styles, full-site-editing, wide-blocks
*/

:root {
	--sg-gutter: var(--wp--custom--layout--gutter, clamp(1.5rem, 8vw, 8.125rem));
	--sg-section: var(--wp--custom--layout--section, clamp(5rem, 12vw, 10rem));
	--sg-transition: var(--wp--custom--transition, 180ms cubic-bezier(.23, 1, .32, 1));
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.admin-bar .sg-header { top: 32px; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.sg-section, .sg-community, .sg-campus, .sg-risk, .sg-contact) p { margin-block-start: 0; }
strong { font-weight: 600; }
em { color: var(--wp--preset--color--signal); font-style: normal; }
a, button { -webkit-tap-highlight-color: transparent; }

/* Header */
.sg-header {
	position: sticky;
	top: 0;
	z-index: 50;
	min-height: 76px;
	padding: 0 clamp(1.25rem, 4vw, 4rem);
	border-bottom: 1px solid rgba(207, 210, 200, .7);
	background: rgba(243, 240, 232, .95);
	backdrop-filter: blur(14px);
}
.sg-brand { margin: 0; line-height: 1; }
.sg-brand a::after { content: "."; color: var(--wp--preset--color--signal); }
.sg-navigation { gap: clamp(1.125rem, 2.8vw, 2.625rem); }
.sg-navigation .wp-block-navigation-item__content {
	transition: color var(--sg-transition), transform var(--sg-transition);
}
.sg-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--signal);
	transform: translateY(-1px);
}
.sg-navigation .sg-nav-cta {
	border-left: 1px solid var(--wp--preset--color--border);
	padding-left: 1.5rem;
	color: var(--wp--preset--color--signal);
}

/* Hero */
.sg-hero {
	position: relative;
	min-height: min(780px, calc(100vh - 76px)) !important;
	background: var(--wp--preset--color--graphite);
	color: var(--wp--preset--color--warm-white);
}
.sg-hero .wp-block-cover__image-background { opacity: .77; }
.sg-hero .wp-block-cover__background {
	opacity: 1;
	background: linear-gradient(90deg, rgba(18, 23, 21, .9) 0%, rgba(18, 23, 21, .58) 48%, rgba(18, 23, 21, .2) 100%);
}
.sg-hero .wp-block-cover__inner-container {
	position: relative;
	width: 100%;
	min-height: min(780px, calc(100vh - 76px));
}
.sg-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 720px;
	padding: clamp(5.625rem, 14vh, 10.625rem) var(--sg-gutter) 5.938rem;
}
.sg-eyebrow,
.sg-section-label,
.sg-profile-meta,
.sg-group-label,
.sg-caption,
.sg-metric-label,
.sg-panel-top,
.sg-panel-bottom,
.sg-status,
.sg-table-head {
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.sg-eyebrow { color: var(--wp--preset--color--mineral); }
.sg-hero-title {
	margin: 1.6875rem 0 1.875rem !important;
	max-width: 700px;
	color: var(--wp--preset--color--warm-white) !important;
	font-size: var(--wp--preset--font-size--display) !important;
	font-weight: 600 !important;
	letter-spacing: -.07em !important;
	line-height: .88 !important;
}
.sg-hero-deck {
	max-width: 400px;
	color: #e8e8df;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.28;
}
.sg-line-link {
	display: inline-block;
	margin-top: 1.6875rem;
	padding-bottom: .625rem;
	border-bottom: 1px solid currentColor;
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: letter-spacing var(--sg-transition);
}
.sg-line-link:hover { letter-spacing: .11em; }
.sg-hero-panel {
	position: absolute;
	top: 13%;
	right: clamp(1.125rem, 3vw, 3.25rem);
	z-index: 3;
	width: min(350px, 30vw);
	padding: 1.063rem;
	border: 1px solid rgba(243, 240, 232, .38);
	background: rgba(24, 29, 26, .8);
	box-shadow: var(--wp--preset--shadow--signal-offset);
	backdrop-filter: blur(10px);
	color: #e9eee6;
}
.sg-panel-top,
.sg-panel-bottom { display: flex; justify-content: space-between; align-items: center; color: #b9c2b6; font-size: .5625rem; }
.sg-panel-live { color: var(--wp--preset--color--signal-light); }
.sg-panel-map {
	position: relative;
	height: 220px;
	margin: .875rem 0;
	overflow: hidden;
	border-block: 1px solid rgba(217, 223, 214, .25);
	background-color: rgba(217, 223, 214, .035);
	background-image: linear-gradient(rgba(217, 223, 214, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(217, 223, 214, .16) 1px, transparent 1px);
	background-size: 27px 27px;
}
.sg-panel-route {
	position: absolute;
	left: 7%;
	top: 66%;
	width: 78%;
	border-top: 1px dashed var(--wp--preset--color--signal);
	transform: rotate(-18deg);
}
.sg-panel-node {
	position: absolute;
	padding: .5rem;
	border: 1px solid var(--wp--preset--color--signal);
	background: rgba(25, 30, 27, .9);
	color: #b9c2b6;
	font-size: .5rem;
	letter-spacing: .1em;
	line-height: 1.35;
}
.sg-panel-node strong { color: var(--wp--preset--color--warm-white); font: 600 .625rem var(--wp--preset--font-family--display); }
.sg-panel-node--power { left: 8%; top: 25%; }
.sg-panel-node--shell { right: 8%; top: 22%; }
.sg-panel-node--land { left: 30%; bottom: 12%; border-color: rgba(217, 223, 214, .5); }
.sg-panel-bottom strong { color: var(--wp--preset--color--warm-white); font: 600 1.063rem var(--wp--preset--font-family--display); letter-spacing: -.04em; }
.sg-hero-status {
	position: absolute;
	left: var(--sg-gutter);
	bottom: 1.875rem;
	z-index: 2;
	width: 235px;
	color: var(--wp--preset--color--mineral);
	font-size: .625rem;
	letter-spacing: .12em;
}
.sg-status { color: var(--wp--preset--color--signal-light); font-size: .625rem; }
.sg-status::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--wp--preset--color--signal); box-shadow: 0 0 0 5px rgba(47, 143, 175, .16); }
.sg-status-rule { margin: .813rem 0; border-top: 1px solid rgba(242, 241, 232, .38); }
.sg-status-meta { display: flex; justify-content: space-between; }

/* Shared sections */
.sg-section { padding: var(--sg-section) var(--sg-gutter); }
.sg-section-inner { max-width: 1500px; margin-inline: auto; }
.sg-section-label { display: flex; gap: .875rem; align-items: center; color: var(--wp--preset--color--signal); }
.sg-section-label strong { font-family: var(--wp--preset--font-family--display); }
.sg-section-label span { color: #6c746c; }
.sg-section-title {
	max-width: 850px;
	margin: 1.375rem 0 1.875rem !important;
	font-size: var(--wp--preset--font-size--section-heading) !important;
	letter-spacing: -.065em !important;
}
.sg-body-copy { max-width: 570px; color: #586059; font-size: 1.063rem; line-height: 1.65; }
.sg-heading-note { max-width: 260px; color: #7b8179; font-size: .875rem; line-height: 1.45; }
.sg-dark .sg-heading-note { color: #b2b9af; }
.sg-dark .sg-section-title { color: var(--wp--preset--color--paper) !important; }
.sg-dark .sg-section-label span { color: #b2b9af; }

/* Metrics */
.sg-metrics { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 0 !important; background: var(--wp--preset--color--card); border-bottom: 1px solid var(--wp--preset--color--border); }
.sg-metric { padding: 1.688rem clamp(.938rem, 2.5vw, 2.25rem); border-right: 1px solid var(--wp--preset--color--border); }
.sg-metric:last-child { border-right: 0; }
.sg-metric-value { font: 600 clamp(1.563rem, 3vw, 2.625rem)/1 var(--wp--preset--font-family--display); letter-spacing: -.06em; }
.sg-metric-label { margin-top: .563rem; color: #737970; font-size: .625rem; }

/* Thesis */
.sg-thesis-grid { display: grid !important; grid-template-columns: 22% 1fr; gap: 10% !important; }
.sg-section-aside { display: flex; min-height: 310px; flex-direction: column; justify-content: space-between; }
.sg-aside-note { color: #7b8179; font-size: .8125rem; line-height: 1.45; }
.sg-kicker { color: var(--wp--preset--color--signal); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; }
.sg-thesis-copy { position: relative; }
.sg-quote { position: absolute; top: 25px; right: -10px; color: var(--wp--preset--color--signal); font: 150px/.6 Georgia, serif; opacity: .45; }

/* Community */
.sg-community { padding: clamp(5rem, 10vw, 8.125rem) var(--sg-gutter); background: var(--wp--preset--color--mineral); }
.sg-community-grid { display: grid !important; grid-template-columns: .85fr 1.15fr; gap: 8% !important; max-width: 1500px; margin-inline: auto; }
.sg-community-intro .sg-section-title { max-width: 470px; }
.sg-community-intro > p { max-width: 390px; color: #586359; }
.sg-neighbor-grid { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 0 30px !important; border-top: 1px solid #9ca99c; }
.sg-neighbor-card { padding: 1.438rem 0 1.875rem; border-bottom: 1px solid #9ca99c; }
.sg-index { margin-bottom: 1.375rem; color: var(--wp--preset--color--signal); font: .75rem var(--wp--preset--font-family--display); }
.sg-symbol { margin-bottom: 1.125rem; color: var(--wp--preset--color--signal); font: 500 2rem var(--wp--preset--font-family--display); }
.sg-card-title { margin-bottom: .625rem !important; font: 600 1.125rem/1.2 var(--wp--preset--font-family--display) !important; letter-spacing: -.025em !important; }
.sg-neighbor-card p:last-child { color: #5f6b61; font-size: .8125rem; line-height: 1.55; }

/* Advantages */
.sg-advantages { background: var(--wp--preset--color--graphite); color: var(--wp--preset--color--paper); }
.sg-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.875rem; }
.sg-feature-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0 !important; margin-top: 5.313rem; border-top: 1px solid #454a44; }
.sg-feature { min-height: 235px; padding: 1.875rem; border-right: 1px solid #454a44; border-bottom: 1px solid #454a44; }
.sg-feature:nth-child(3n + 1) { padding-left: 0; }
.sg-feature:nth-child(3n) { border-right: 0; }
.sg-feature .sg-index { margin-bottom: 1.75rem; }
.sg-feature .sg-card-title { color: var(--wp--preset--color--paper) !important; }
.sg-feature p:last-child { max-width: 320px; color: #9ca49a; font-size: .875rem; line-height: 1.55; }

/* Campus */
.sg-campus { display: grid !important; grid-template-columns: 1.1fr .9fr; gap: 0 !important; min-height: 680px; background: var(--wp--preset--color--mineral); }
.sg-campus-image { min-height: 600px !important; }
.sg-campus-image .wp-block-cover__image-background { object-position: center; }
.sg-caption { position: absolute; bottom: 1.5rem; left: 1.75rem; z-index: 2; color: var(--wp--preset--color--paper); font-size: .625rem; }
.sg-campus-copy { padding: clamp(4.063rem, 9vw, 8.125rem) clamp(1.75rem, 7vw, 6.25rem); }
.sg-system { position: relative; display: grid !important; grid-template-columns: repeat(4, 1fr); gap: .75rem !important; margin-top: 3.625rem; padding-top: 3rem; border-top: 1px solid #9ca99c; }
.sg-system::before { content: ""; position: absolute; top: 67%; left: 0; right: 0; border-top: 1px dashed var(--wp--preset--color--signal); }
.sg-system-node { position: relative; z-index: 1; background: var(--wp--preset--color--mineral); color: #566258; font-size: .5625rem; letter-spacing: .1em; }
.sg-system-node strong { color: var(--wp--preset--color--graphite); font: 600 .625rem var(--wp--preset--font-family--display); }

/* Infrastructure */
.sg-infrastructure { background: var(--wp--preset--color--card); }
.sg-network-image { width: min(600px, 42vw); margin: 0; }
.sg-network-image img { width: 100%; height: 280px; object-fit: cover; filter: saturate(.6); }
.sg-infra-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 3.438rem !important; margin-top: 5.625rem; padding-top: 1.875rem; border-top: 1px solid var(--wp--preset--color--border); }
.sg-infra-item p:last-child { color: #616961; font-size: .875rem; line-height: 1.55; }

/* Platform table */
.sg-platform { background: var(--wp--preset--color--mineral); }
.sg-platform-grid { display: grid !important; grid-template-columns: 22% 1fr; gap: 10% !important; }
.sg-site-table { width: 75%; margin-top: 3.75rem; border-top: 1px solid #869286; font-size: .8125rem; }
.sg-table-row { display: grid !important; grid-template-columns: 1.2fr 1.7fr .9fr .9fr 1fr; gap: .938rem !important; align-items: center; padding: 1.063rem 0; border-bottom: 1px solid #aeb7ad; }
.sg-table-head { color: #707c70; font-size: .5625rem; }
.sg-table-row strong { font: 600 .938rem var(--wp--preset--font-family--display); }
.sg-signal { color: var(--wp--preset--color--signal); }

/* Delivery */
.sg-timeline { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 0 !important; margin-top: 6.25rem; border-top: 1px solid #a6ada3; }
.sg-milestone { position: relative; min-height: 220px; padding: 2.375rem 1.375rem 0; border-right: 1px solid var(--wp--preset--color--border); }
.sg-milestone:first-child { padding-left: 0; }
.sg-milestone:last-child { border-right: 0; }
.sg-milestone::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border: 2px solid var(--wp--preset--color--signal); border-radius: 50%; background: var(--wp--preset--color--paper); }
.sg-milestone:last-child::before { background: var(--wp--preset--color--signal); }
.sg-date { color: var(--wp--preset--color--signal); font: 600 .75rem var(--wp--preset--font-family--display); }
.sg-milestone .sg-card-title { margin-top: 1.125rem !important; }
.sg-milestone p:last-child { max-width: 190px; color: #687067; font-size: .875rem; line-height: 1.5; }

/* Risk */
.sg-risk { padding: 6.875rem var(--sg-gutter); background: var(--wp--preset--color--graphite); color: var(--wp--preset--color--paper); border-top: 1px solid #454a44; }
.sg-risk-grid-wrap { display: grid !important; grid-template-columns: 30% 1fr; gap: 8% !important; max-width: 1500px; margin-inline: auto; }
.sg-risk .sg-section-title { color: var(--wp--preset--color--paper) !important; }
.sg-risk-grid { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 0 3.75rem !important; }
.sg-risk-item { padding: 1.375rem 0 1.875rem; border-top: 1px solid rgba(255, 249, 240, .4); }
.sg-risk-item .sg-index { margin-bottom: 1.5rem; color: var(--wp--preset--color--paper); }
.sg-risk-item .sg-card-title { color: var(--wp--preset--color--paper) !important; }
.sg-risk-item p:last-child { color: #9ca49a; font-size: .875rem; line-height: 1.55; }

/* Team */
.sg-team { background: var(--wp--preset--color--card); }
.sg-leadership { margin-top: 4.75rem; }
.sg-leadership + .sg-leadership { margin-top: 4.25rem; }
.sg-group-label { display: flex; justify-content: space-between; padding-bottom: .938rem; border-bottom: 1px solid var(--wp--preset--color--graphite); color: var(--wp--preset--color--signal); }
.sg-group-label span:last-child { color: #828a81; font-family: var(--wp--preset--font-family--display); }
.sg-profile-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0 1.875rem !important; }
.sg-profile-grid--management { grid-template-columns: repeat(2, 1fr); }
.sg-profile { padding: 1.625rem 0 2rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.sg-profile-meta { display: flex; justify-content: space-between; gap: .625rem; color: #7a8379; font-size: .625rem; line-height: 1.3; }
.sg-profile-meta span:last-child { color: var(--wp--preset--color--signal); text-align: right; }
.sg-profile-name { margin: 1.125rem 0 1rem !important; font: 600 clamp(1.438rem, 2.2vw, 2rem)/1 var(--wp--preset--font-family--display) !important; letter-spacing: -.045em !important; }
.sg-profile p { margin-bottom: .813rem; color: #626b62; font-size: .875rem; line-height: 1.6; }
.sg-profile-note { margin-top: 2.188rem; color: #858d84; font-size: .6875rem; }

/* Contact and footer */
.sg-contact { padding: 6.563rem var(--sg-gutter); background: var(--wp--preset--color--graphite); color: var(--wp--preset--color--paper); }
.sg-contact-inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.875rem; max-width: 1500px; margin-inline: auto; }
.sg-contact .sg-section-title { margin-bottom: 0 !important; color: var(--wp--preset--color--paper) !important; }
.sg-contact-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 1.125rem; }
.sg-contact .wp-block-button__link { transition: transform var(--sg-transition), filter var(--sg-transition); }
.sg-contact .wp-block-button__link:hover { transform: translateY(-3px); filter: brightness(1.08); }
.sg-footer { padding: 3.75rem var(--sg-gutter) 1.625rem; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--mineral); }
.sg-footer-main { display: grid !important; grid-template-columns: 1fr 1fr; gap: 5rem 1.875rem !important; max-width: 1500px; margin-inline: auto; }
.sg-footer .sg-brand a { color: var(--wp--preset--color--paper); }
.sg-footer-copy { margin-top: 1.5rem; color: #929b91; font-size: .8125rem; line-height: 1.5; }
.sg-footer-links { display: flex; justify-content: flex-end; gap: 3.125rem; }
.sg-footer-address { min-width: 230px; }
.sg-footer-address .sg-eyebrow { margin-bottom: .875rem; color: #929b91; }
.sg-footer-address p { color: var(--wp--preset--color--mineral); font-size: .875rem; line-height: 1.55; }
.sg-footer-address a { color: var(--wp--preset--color--signal); }
.sg-footer-disclosure { grid-column: 1 / -1; padding-top: 1.375rem; border-top: 1px solid #343b35; color: #707970; font-size: .6875rem; }

/* Content templates */
.sg-content-shell { padding: var(--sg-section) var(--sg-gutter); }
.sg-content-shell > * { max-width: var(--wp--style--global--content-size); margin-inline: auto; }
.sg-content-shell > .alignwide { max-width: var(--wp--style--global--wide-size); }
.sg-post-meta { margin: 1rem 0 2rem; color: var(--wp--preset--color--steel); font-size: var(--wp--preset--font-size--small); }
.sg-query-list { display: grid; gap: 3rem; margin-top: 3rem; }
.sg-query-item { padding-bottom: 3rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.sg-pagination { margin-top: 3rem; }

@media (max-width: 900px) {
	body.admin-bar .sg-header { top: 46px; }
	.sg-header { padding-inline: 1.5rem; }
	.sg-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--graphite); }
	.sg-navigation .sg-nav-cta { border-left: 0; padding-left: 0; }
	.sg-hero-panel { right: 1.5rem; width: min(360px, 44vw); }
	.sg-hero-copy { max-width: 58%; padding-left: 1.5rem; }
	.sg-metrics { grid-template-columns: repeat(3, 1fr); }
	.sg-metric:nth-child(3n) { border-right: 0; }
	.sg-metric:nth-child(-n + 3) { border-bottom: 1px solid var(--wp--preset--color--border); }
	.sg-thesis-grid,
	.sg-platform-grid,
	.sg-community-grid,
	.sg-risk-grid-wrap { grid-template-columns: 1fr; gap: 3rem !important; }
	.sg-section-aside { min-height: 0; gap: 2.188rem; }
	.sg-section-heading { align-items: flex-start; flex-direction: column; }
	.sg-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.sg-feature:nth-child(3n + 1) { padding-left: 1.875rem; }
	.sg-feature:nth-child(odd) { padding-left: 0; }
	.sg-feature:nth-child(even) { border-right: 0; }
	.sg-campus { grid-template-columns: 1fr; }
	.sg-campus-image { min-height: 400px !important; }
	.sg-network-image { width: min(100%, 620px); }
	.sg-infra-grid { grid-template-columns: 1fr; gap: 1.875rem !important; }
	.sg-site-table { width: 100%; }
	.sg-timeline { grid-template-columns: 1fr; margin-left: 7px; border-top: 0; border-left: 1px solid #a6ada3; }
	.sg-milestone,
	.sg-milestone:first-child { min-height: 0; padding: 0 0 2.188rem 1.875rem; border-right: 0; }
	.sg-milestone::before { top: 3px; left: -6px; }
	.sg-milestone p:last-child { max-width: 420px; }
	.sg-profile-grid { grid-template-columns: repeat(2, 1fr); }
	.sg-contact-inner { align-items: flex-start; flex-direction: column; }
	.sg-contact-actions { align-items: flex-start; }
	.sg-footer-main { grid-template-columns: 1fr; gap: 2.188rem !important; }
	.sg-footer-links { justify-content: flex-start; }
	.sg-footer-disclosure { grid-column: auto; }
}

@media (max-width: 600px) {
	body.admin-bar .sg-header { top: 0; }
	.sg-header { min-height: 68px; }
	.sg-hero,
	.sg-hero .wp-block-cover__inner-container { min-height: 720px !important; }
	.sg-hero-copy { max-width: none; padding: 4.375rem 1.5rem 17rem; }
	.sg-hero-title { font-size: 3.563rem !important; }
	.sg-hero-panel { top: auto; right: 1.5rem; bottom: 1.75rem; left: 1.5rem; width: auto; }
	.sg-panel-map { height: 145px; }
	.sg-hero-status { display: none; }
	.sg-metric { padding: 1.25rem .875rem; }
	.sg-metric-value { font-size: 1.688rem; }
	.sg-metric-label { font-size: .5625rem; }
	.sg-section { padding-top: 5rem; padding-bottom: 5rem; }
	.sg-neighbor-grid,
	.sg-feature-grid,
	.sg-risk-grid,
	.sg-profile-grid { grid-template-columns: 1fr; }
	.sg-feature,
	.sg-feature:nth-child(3n + 1),
	.sg-feature:nth-child(odd) { min-height: 0; padding: 1.625rem 0; border-right: 0; }
	.sg-system { grid-template-columns: repeat(2, 1fr); row-gap: 2.5rem !important; }
	.sg-system::before { display: none; }
	.sg-table-head { display: none !important; }
	.sg-table-row { grid-template-columns: 1fr 1fr; gap: .625rem !important; }
	.sg-table-row strong { grid-column: 1 / -1; }
	.sg-footer-links { flex-direction: column; gap: 1.25rem; }
}

@media (prefers-reduced-motion: no-preference) {
	.sg-hero-copy { animation: sg-rise .8s cubic-bezier(.23, 1, .32, 1) both; }
	@keyframes sg-rise {
		from { opacity: 0; transform: translateY(18px); }
		to { opacity: 1; transform: translateY(0); }
	}
}
