:root{
	--navy:#0d2b45;
	--navy-2:#163b5a;
	--teal:#1d6f6a;
	--teal-dark:#155854;
	--gold:#d9a441;
	--gold-soft:#f3dfb0;
	--cream:#f8f5ef;
	--paper:#fffdfa;
	--ink:#173042;
	--muted:#60717d;
	--line:#d9e0e3;
	--white:#fff;
	--shadow:0 22px 65px rgba(13,43,69,.13);
	--radius:24px;
	--shell:min(1180px,calc(100% - 40px))
}
*{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth
}
body{
	margin:0;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
	color:var(--ink);
	background:var(--paper);
	line-height:1.65
}
img{
	display:block;
	max-width:100%
}
a{
	color:inherit
}
button,input,select,textarea{
	font:inherit
}
.shell{
	width:var(--shell);
	margin-inline:auto
}
.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0
}
.skip-link{
	position:fixed;
	top:-60px;
	left:16px;
	z-index:100;
	background:var(--gold);
	color:var(--navy);
	padding:10px 14px;
	border-radius:8px;
	font-weight:800
}
.skip-link:focus{
	top:16px
}
.topbar{
	background:var(--navy);
	color:#eaf1f5;
	font-size:.9rem
}
.topbar-inner{
	min-height:40px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px
}
.topbar a{
	text-decoration:none
}
.topbar-links{
	display:flex;
	gap:22px
}
.language-switcher{
	display:flex;
	align-items:center;
	gap:8px;
	color:var(--gold-soft);
	font-weight:800
}
.language-switcher>span{
	font-size:.82rem
}
.language-switcher select{
	min-height:31px;
	padding:4px 30px 4px 10px;
	border:1px solid rgba(255,255,255,.35);
	border-radius:8px;
	background:var(--navy);
	color:#fff;
	font-weight:800;
	cursor:pointer
}
.language-switcher select:focus-visible{
	outline:3px solid var(--gold);
	outline-offset:2px
}
.site-header{
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(255,253,250,.95);
	backdrop-filter:blur(16px);
	border-bottom:1px solid transparent;
	transition:.25s
}
.site-header.is-scrolled{
	border-color:var(--line);
	box-shadow:0 10px 35px rgba(13,43,69,.1)
}
.header-inner{
	min-height:88px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px
}
.brand{
	width:300px;
	flex:0 0 auto
}
.brand img{
	width:100%
}
.site-nav{
	display:flex;
	align-items:center;
	gap:26px;
	font-size:.94rem;
	font-weight:750
}
.site-nav a{
	text-decoration:none
}
.site-nav>a:not(.button){
	position:relative
}
.site-nav>a:not(.button)::after{
	content:"";
	position:absolute;
	left:0;
	right:100%;
	bottom:-7px;
	height:2px;
	background:var(--gold);
	transition:right .2s
}
.site-nav>a:hover::after,.site-nav>a:focus-visible::after{
	right:0
}
.nav-toggle{
	display:none;
	width:46px;
	height:46px;
	border:0;
	background:transparent;
	padding:9px
}
.nav-toggle span:not(.sr-only){
	display:block;
	height:2px;
	margin:6px 0;
	background:var(--navy);
	transition:.2s
}
.button{
	display:inline-flex;
	min-height:50px;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:11px 23px;
	border:2px solid var(--gold);
	border-radius:999px;
	background:var(--gold);
	color:var(--navy);
	font-weight:850;
	text-decoration:none;
	box-shadow:0 12px 28px rgba(217,164,65,.24);
	transition:.2s
}
.button:hover,.button:focus-visible{
	transform:translateY(-2px);
	background:#e6b553;
	border-color:#e6b553;
	box-shadow:0 16px 35px rgba(217,164,65,.3)
}
.button-small{
	min-height:42px;
	padding:8px 17px
}
.button-ghost{
	background:transparent;
	color:var(--navy);
	border-color:var(--navy);
	box-shadow:none
}
.button-ghost:hover,.button-ghost:focus-visible{
	background:var(--navy);
	color:#fff;
	border-color:var(--navy)
}
.hero{
	position:relative;
	overflow:hidden;
	background:linear-gradient(122deg,#f8f5ef 0 57%,#e8f0ef 57% 100%);
	padding:80px 0 90px
}
.hero:before{
	content:"";
	position:absolute;
	width:460px;
	height:460px;
	border:1px solid rgba(29,111,106,.18);
	border-radius:50%;
	right:-120px;
	top:-180px;
	box-shadow:0 0 0 52px rgba(29,111,106,.04),0 0 0 105px rgba(29,111,106,.025)
}
.hero-grid{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:clamp(48px,7vw,92px);
	align-items:center
}
.eyebrow{
	margin:0 0 14px;
	color:var(--teal);
	font-size:.76rem;
	font-weight:900;
	letter-spacing:.18em;
	text-transform:uppercase
}
h1,h2,h3{
	margin-top:0;
	line-height:1.08;
	letter-spacing:-.035em
}
h1{
	font-size:clamp(3.25rem,6vw,5.8rem);
	margin-bottom:24px;
	max-width:760px
}
h2{
	font-size:clamp(2.15rem,4vw,4rem);
	margin-bottom:20px
}
h3{
	font-size:1.45rem;
	margin-bottom:11px
}
.hero-lede{
	max-width:680px;
	color:var(--muted);
	font-size:clamp(1.08rem,1.7vw,1.3rem);
	margin:0 0 30px
}
.button-row{
	display:flex;
	flex-wrap:wrap;
	gap:13px
}
.trust-list{
	display:flex;
	flex-wrap:wrap;
	gap:10px 23px;
	list-style:none;
	margin:30px 0 0;
	padding:0;
	color:var(--muted);
	font-size:.93rem;
	font-weight:700
}
.trust-list li:before{
	content:"✓";
	color:var(--teal);
	margin-right:7px;
	font-weight:900
}
.hero-card{
	position:relative;
	padding:22px;
	border-radius:32px;
	background:var(--navy);
	box-shadow:var(--shadow)
}
.hero-card:before{
	content:"";
	position:absolute;
	inset:14px -18px -18px 18px;
	border:2px solid var(--gold);
	border-radius:30px;
	z-index:-1
}
.hero-card img{
	width:100%;
	aspect-ratio:1/.85;
	object-fit:cover;
	border-radius:20px;
	filter:saturate(.9)
}
.hero-badge{
	position:absolute;
	left:-24px;
	bottom:36px;
	max-width:265px;
	padding:17px 19px;
	border-radius:16px;
	background:var(--paper);
	box-shadow:0 18px 48px rgba(13,43,69,.2)
}
.hero-badge strong,.hero-badge span{
	display:block
}
.hero-badge span{
	color:var(--muted);
	font-size:.87rem
}
.status-dot{
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--gold);
	box-shadow:0 0 0 6px rgba(217,164,65,.19);
	margin-bottom:9px
}
.notice{
	background:var(--teal);
	color:#fff;
	padding:25px 0
}
.notice-grid{
	display:grid;
	grid-template-columns:.45fr 1.55fr;
	gap:35px;
	align-items:center
}
.notice .eyebrow{
	color:var(--gold-soft);
	margin:0
}
.notice p:last-child{
	margin:0;
	font-size:1.07rem;
	font-weight:650
}
.section{
	padding:105px 0
}
.section-heading{
	max-width:770px;
	margin-bottom:47px
}
.section-heading>p:last-child{
	color:var(--muted);
	font-size:1.08rem;
	margin-bottom:0
}
.service-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px
}
.service-card{
	position:relative;
	padding:30px 28px 32px;
	border:1px solid var(--line);
	border-radius:var(--radius);
	background:#fff;
	box-shadow:0 15px 44px rgba(13,43,69,.06)
}
.service-icon{
	display:grid;
	place-items:center;
	width:54px;
	height:54px;
	border-radius:16px;
	background:#e8f0ef;
	color:var(--teal);
	font-size:1.5rem;
	font-weight:900;
	margin-bottom:25px
}
.service-card p{
	color:var(--muted)
}
.service-card ul{
	margin:18px 0 0;
	padding-left:18px
}
.service-card li+li{
	margin-top:6px
}
.service-card li::marker{
	color:var(--gold)
}
.trust-section{
	background:var(--navy);
	color:#fff
}
.trust-grid{
	display:grid;
	grid-template-columns:.85fr 1.15fr;
	gap:clamp(45px,7vw,90px);
	align-items:center
}
.trust-photo{
	position:relative
}
.trust-photo img{
	width:100%;
	aspect-ratio:.95/1;
	object-fit:cover;
	border-radius:28px;
	box-shadow:0 25px 70px rgba(0,0,0,.28)
}
.trust-photo:after{
	content:"Since 1988";
	position:absolute;
	right:-20px;
	bottom:30px;
	padding:13px 17px;
	border-radius:12px;
	background:var(--gold);
	color:var(--navy);
	font-weight:900
}
.trust-section .eyebrow{
	color:var(--gold-soft)
}
.trust-section p{
	color:#cbd7df
}
.value-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:12px;
	margin-top:30px
}
.value{
	padding:18px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:14px;
	background:rgba(255,255,255,.045);
	font-weight:800
}
.value:before{
	content:"✓";
	color:var(--gold);
	margin-right:9px
}
.industry-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px
}
.industry{
	min-height:150px;
	padding:25px;
	border-radius:20px;
	background:linear-gradient(145deg,#fff,#f1f5f4);
	border:1px solid var(--line);
	display:flex;
	flex-direction:column;
	justify-content:flex-end
}
.industry span{
	color:var(--gold);
	font-size:.75rem;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase
}
.industry h3{
	margin:7px 0 0;
	font-size:1.28rem
}
.location-section{
	background:#edf3f2
}
.location-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:36px;
	align-items:stretch
}
.location-photo{
	overflow:hidden;
	border-radius:28px;
	box-shadow:var(--shadow)
}
.location-photo img{
	width:100%;
	height:100%;
	min-height:460px;
	object-fit:cover;
	object-position: 42% center
}
.location-card{
	padding:42px;
	border-radius:28px;
	background:#fff;
	border:1px solid var(--line)
}
.contact-list{
	display:grid;
	gap:17px;
	margin:30px 0
}
.contact-item{
	display:grid;
	grid-template-columns:42px 1fr;
	gap:13px;
	align-items:start
}
.contact-item b{
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border-radius:12px;
	background:#e8f0ef;
	color:var(--teal)
}
.contact-item p{
	margin:0;
	color:var(--muted)
}
.contact-item a{
	text-decoration:none;
	color:var(--navy);
	font-weight:800
}
.hours{
	width:100%;
	border-collapse:collapse;
	margin-top:18px
}
.hours td{
	padding:9px 0;
	border-bottom:1px solid var(--line)
}
.hours td:last-child{
	text-align:right;
	color:var(--muted)
}
.intake-section{
	background:linear-gradient(135deg,var(--teal) 0 38%,var(--navy) 38% 100%);
	color:#fff
}
.intake-grid{
	display:grid;
	grid-template-columns:.75fr 1.25fr;
	gap:clamp(40px,7vw,85px);
	align-items:start
}
.intake-copy{
	position:sticky;
	top:125px
}
.intake-section .eyebrow{
	color:var(--gold-soft)
}
.intake-copy>p:not(.eyebrow){
	color:#d7e6e4
}
.intake-form{
	padding:34px;
	border-radius:26px;
	background:#fff;
	color:var(--ink);
	box-shadow:0 25px 75px rgba(0,0,0,.26)
}
.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px
}
.field{
	display:grid;
	gap:7px
}
.field-wide{
	grid-column:1/-1
}
.field label{
	font-size:.88rem;
	font-weight:800;
	color:var(--navy)
}
input,select,textarea{
	width:100%;
	padding:13px 14px;
	border:1px solid #cfd9dd;
	border-radius:11px;
	background:#fff;
	color:var(--ink)
}
textarea{
	min-height:125px;
	resize:vertical
}
input:focus,select:focus,textarea:focus{
	outline:0;
	border-color:var(--teal);
	box-shadow:0 0 0 4px rgba(29,111,106,.13)
}
.form-note{
	font-size:.82rem;
	color:#6d7b85;
	margin:17px 0
}
.form-warning{
	padding:13px 14px;
	border-left:4px solid var(--gold);
	background:#fff8e8;
	color:#5b4b2c;
	font-size:.85rem;
	margin:17px 0
}
.honeypot{
	position:absolute;
	left:-5000px
}
.form-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px
}
.form-status{
	display:none;
	margin-top:17px;
	padding:12px 14px;
	border-radius:10px
}
.form-status.is-visible{
	display:block
}
.form-status.is-success{
	background:#e1f3e9;
	color:#145b37
}
.form-status.is-error{
	background:#fde8e5;
	color:#8c2f25
}
.resources-preview{
	background:var(--cream)
}
.resource-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px
}
.resource-card{
	display:flex;
	flex-direction:column;
	min-height:265px;
	padding:28px;
	border:1px solid var(--line);
	border-radius:var(--radius);
	background:#fff;
	text-decoration:none
}
.resource-card span{
	color:var(--teal);
	font-size:.73rem;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase
}
.resource-card h3{
	margin:16px 0 10px
}
.resource-card p{
	color:var(--muted)
}
.resource-card b{
	margin-top:auto;
	color:var(--teal)
}
.site-footer{
	background:#091f32;
	color:#d8e3e9;
	padding:68px 0 22px
}
.footer-grid{
	display:grid;
	grid-template-columns:1.3fr .7fr .9fr;
	gap:50px
}
.footer-logo{
	width:285px;
	margin-bottom:18px
}
.site-footer h2{
	font-size:.95rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--gold-soft)
}
.site-footer a,.site-footer span{
	display:block;
	color:#c3d0d8;
	text-decoration:none;
	margin:8px 0
}
.footer-bottom{
	display:flex;
	justify-content:space-between;
	gap:20px;
	margin-top:45px;
	padding-top:20px;
	border-top:1px solid rgba(255,255,255,.13);
	font-size:.87rem
}
.footer-bottom a{
	margin:0
}
.footer-bottom span {
  display: inline;
  margin: 0;
}
.page-hero{
	padding:74px 0;
	background:linear-gradient(130deg,var(--cream),#e8f0ef)
}
.page-hero p{
	max-width:700px;
	color:var(--muted)
}
.content-wrap{
	width:min(830px,calc(100% - 40px));
	margin:0 auto;
	padding:85px 0
}
.content-wrap h2{
	font-size:2rem;
	margin-top:50px
}
.content-wrap p,.content-wrap li{
	color:#526671
}
.content-wrap .callout{
	padding:24px;
	border-radius:18px;
	background:var(--cream);
	border-left:5px solid var(--gold);
	margin:30px 0
}
.reveal{
	opacity:0;
	transform:translateY(18px);
	transition:opacity .7s,transform .7s
}
.reveal.is-visible{
	opacity:1;
	transform:none
}
@media(max-width:980px){
	:root{
		--shell:min(100% - 30px,820px)
}
	.topbar-inner{
		min-height:44px
}
	.topbar-links span{
		display:none
}
	.header-inner{
		min-height:76px
}
	.brand{
		width:245px
}
	.nav-toggle{
		display:block;
		z-index:3
}
	.site-nav{
		position:fixed;
		inset:120px 0 auto;
		display:grid;
		gap:0;
		background:var(--paper);
		padding:14px 20px 24px;
		border-bottom:1px solid var(--line);
		box-shadow:0 20px 40px rgba(13,43,69,.14);
		transform:translateY(-140%);
		visibility:hidden;
		transition:.25s
}
	.site-nav.is-open{
		transform:translateY(0);
		visibility:visible
}
	.site-nav>a{
		padding:13px 5px
}
	.site-nav .button{
		margin-top:8px
}
	.nav-toggle[aria-expanded=true] span:nth-child(1){
		transform:translateY(8px) rotate(45deg)
}
	.nav-toggle[aria-expanded=true] span:nth-child(2){
		opacity:0
}
	.nav-toggle[aria-expanded=true] span:nth-child(3){
		transform:translateY(-8px) rotate(-45deg)
}
	.hero-grid,.trust-grid,.location-grid,.intake-grid{
		grid-template-columns:1fr
}
	.hero-card{
		width:min(92%,690px);
		margin:auto
}
	.notice-grid{
		grid-template-columns:1fr;
		gap:7px
}
	.service-grid,.resource-grid{
		grid-template-columns:1fr 1fr
}
	.service-card:last-child,.resource-card:last-child{
		grid-column:1/-1
}
	.industry-grid{
		grid-template-columns:1fr 1fr
}
	.trust-photo{
		width:min(82%,600px);
		margin:auto
}
	.trust-photo img{
		aspect-ratio:16/11
}
	.intake-copy{
		position:static
}
	.footer-grid{
		grid-template-columns:1.2fr .8fr
}
	.footer-grid>div:last-child{
		grid-column:1/-1
}
}
@media(max-width:680px){
	:root{
		--shell:calc(100% - 24px);
		--radius:19px
}
	.topbar-links{
		gap:12px
}
	.topbar-links a{
		display:none
}
	.brand{
		width:220px
}
	.site-nav{
		inset:120px 0 auto
}
	.hero{
		padding:58px 0 72px
}
	.hero-grid{
		gap:42px
}
	h1{
		font-size:clamp(2.7rem,14vw,4.2rem)
}
	h2{
		font-size:clamp(2rem,10vw,3.15rem)
}
	.button-row{
		display:grid
}
	.button{
		width:100%
}
	.trust-list{
		display:grid;
		gap:8px
}
	.hero-card{
		width:calc(100% - 8px);
		padding:14px
}
	.hero-card:before{
		right:-8px;
		bottom:-10px
}
	.hero-badge{
		left:10px;
		right:10px;
		bottom:10px;
		max-width:none
}
	.section{
		padding:78px 0
}
	.service-grid,.resource-grid,.industry-grid,.footer-grid{
		grid-template-columns:1fr
}
	.service-card:last-child,.resource-card:last-child,.footer-grid>div:last-child{
		grid-column:auto
}
	.value-grid{
		grid-template-columns:1fr
}
	.trust-photo{
		width:100%
}
	.trust-photo:after{
		right:8px
}
	.location-card,.intake-form{
		padding:24px 20px
}
	.form-grid{
		grid-template-columns:1fr
}
	.field-wide{
		grid-column:auto
}
	.form-footer{
		align-items:stretch;
		flex-direction:column
}
	.footer-bottom {
  		flex-direction: row;
  		align-items: center;
  		justify-content: space-between;
  		flex-wrap: wrap
}
	.content-wrap{
		width:calc(100% - 28px);
		padding:60px 0
}
}
@media(prefers-reduced-motion:reduce){
	html{
		scroll-behavior:auto
}
	*,*:before,*:after{
		transition-duration:.01ms!important;
		animation-duration:.01ms!important
}
	.reveal{
		opacity:1;
		transform:none
}
}
.hours-note{
	font-size:.82rem;
	color:var(--muted)
}
.intake-phone{
	color:#fff;
	font-size:1.3rem;
	font-weight:900
}
.footer-languages{
	margin-left:12px
}
.footer-languages a{
	margin-left:6px
}
.language-switcher option{
	color:#fff;
	background:var(--navy)
}
/* Footer language cleanup and social links */
.footer-social{
	margin-top:24px
}
.footer-social h2{
	margin-bottom:12px
}
.social-links{
	display:flex;
	align-items:center;
	gap:10px
}
.site-footer .social-links a{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	margin:0;
	border:1px solid rgba(255,255,255,.25);
	border-radius:50%;
	color:#e9f0f3;
	transition:transform .2s,border-color .2s,background .2s,color .2s
}
.site-footer .social-links a:hover,.site-footer .social-links a:focus-visible{
	transform:translateY(-2px);
	border-color:var(--gold);
	background:var(--gold);
	color:var(--navy)
}
.social-links svg{
	width:20px;
	height:20px;
	fill:currentColor
}
.footer-bottom>a{
	display:inline-block;
	margin:0
}

@media(max-width:680px){
	.footer-social{
		margin-top:20px
}
	.footer-bottom{
		align-items:flex-start
}
}
