:root{
	--bg:#050505;
	--bg-soft:#0c0c0c;
	--panel:#121212;
	--panel-2:#181818;
	--panel-3:#1d1d1d;
	--text:#ffffff;
	--muted:#bdbdbd;
	--muted-2:#8d8d8d;
	--line:rgba(255,255,255,0.08);
	--line-strong:rgba(255,255,255,0.16);
	--accent:#ff7a00;
	--accent-2:#ff9100;
	--accent-dark:#d86000;
	--success:#22c55e;
	--danger:#ff4d4f;
	--shadow:0 20px 60px rgba(0,0,0,0.45);
	--radius:24px;
	--radius-sm:18px;
	--max:1320px;
	--header-h:82px;
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	background:
		radial-gradient(circle at top center, rgba(255,122,0,0.08), transparent 24%),
		linear-gradient(180deg, #030303 0%, #070707 36%, #050505 100%);
	color:var(--text);
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility
}

#services,
#problems,
#coverage,
#request-help,
#contact{
	scroll-margin-top: 110px;
}

img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{appearance:none}
.container{width:min(100% - 24px, var(--max));margin-inline:auto}
.sr-only{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important
}
.site-header{
	position:sticky;
	top:0;
	z-index:1000;
	background:rgba(5,5,5,0.84);
	backdrop-filter:blur(14px);
	border-bottom:1px solid var(--line)
}
.site-header-inner{
	min-height:var(--header-h);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px
}
.brand{
	display:flex;
	align-items:center;
	gap:14px;
	min-width:0
}
.brand img{
	display:block;
	max-height:54px;
	width:auto;
	max-width:160px;
	object-fit:contain;
	flex:0 0 auto
}
.brand-copy{min-width:0}
.brand-title{
	margin:0;
	font-size:1.05rem;
	font-weight:800;
	letter-spacing:-0.03em;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.brand-sub{
	margin:2px 0 0;
	font-size:.83rem;
	color:var(--muted);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.header-nav{display:none;align-items:center;gap:10px}
.header-link{
	padding:10px 14px;
	border-radius:999px;
	color:#e8e8e8;
	font-weight:600;
	font-size:.95rem;
	transition:background .2s ease,color .2s ease,transform .2s ease
}
.header-link:hover{background:#151515;color:#fff}
.header-actions{display:flex;align-items:center;gap:10px}
.header-phone{
	display:none;
	padding:12px 18px;
	border-radius:999px;
	background:linear-gradient(180deg,var(--accent-2),var(--accent));
	color:#111;
	font-weight:800;
	box-shadow:0 0 28px rgba(255,122,0,.25)
}

/* Mobile app shell */
.mobile-app-hero{padding:22px 0 18px}
.mobile-hero-card{
	background:
		linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
		linear-gradient(180deg, #080808, #040404);
	border:1px solid var(--line);
	border-radius:32px;
	box-shadow:var(--shadow);
	overflow:hidden
}
.mobile-hero-top{
	padding:28px 22px 26px;
	text-align:center;
	border-bottom:1px solid rgba(255,255,255,.04);
	background:
		linear-gradient(180deg, rgba(255,122,0,.06), transparent 52%),
		linear-gradient(180deg, #050505, #020202)
}
.mobile-hero-top h1{
	margin:0 0 8px;
	font-size:clamp(2rem,8vw,3rem);
	line-height:.98;
	letter-spacing:-.05em;
	font-weight:900
}
.mobile-hero-top p{
	margin:0;
	font-size:clamp(1rem,4vw,1.2rem);
	color:var(--muted)
}
.mobile-actions{padding:18px;display:grid;gap:14px}
.action-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	min-height:78px;
	border-radius:24px;
	font-weight:800;
	font-size:1.15rem;
	letter-spacing:-.02em;
	border:1px solid transparent;
	transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease
}
.action-btn:active,.card-tap:active,.mobile-bottom-link:active,.quick-card:active,.problem-card:active{transform:scale(.985)}
.action-btn-primary{
	background:linear-gradient(180deg,var(--accent-2),var(--accent));
	color:#111;
	box-shadow:0 0 28px rgba(255,122,0,.24)
}
.action-btn-secondary{
	background:linear-gradient(180deg,#1b1b1d,#131315);
	border-color:rgba(255,255,255,.05);
	color:#fff
}
.action-btn-secondary:hover{
	border-color:rgba(255,255,255,.12);
	background:linear-gradient(180deg,#1f1f22,#151518)
}
.action-note{
	margin:2px 8px 4px;
	text-align:center;
	color:var(--muted);
	font-size:.94rem;
	line-height:1.45
}
.location-status{
	margin:0 8px;
	padding:14px 16px;
	border-radius:18px;
	font-size:.94rem;
	color:#fff;
	background:#111;
	border:1px solid rgba(255,255,255,.06);
	display:none;
	word-break:break-word
}
.location-status.active{display:block}
.mobile-grid{
	padding:18px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
	background:linear-gradient(180deg, rgba(255,255,255,.01), transparent)
}
.quick-card{
	min-height:132px;
	border-radius:24px;
	border:1px solid rgba(255,255,255,.05);
	background:linear-gradient(180deg,#151515,#0f0f10);
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:16px;
	font-size:1.15rem;
	font-weight:800;
	letter-spacing:-.03em;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.03)
}
.mobile-how{padding:18px 18px 28px}
.mobile-how h2{
	margin:0 0 16px;
	font-size:2rem;
	line-height:1;
	letter-spacing:-.04em
}
.mobile-steps{display:grid;gap:14px}
.mobile-step{
	display:flex;
	gap:12px;
	align-items:flex-start;
	font-size:1.1rem
}
.mobile-step-num{
	width:36px;
	height:36px;
	border-radius:999px;
	flex:0 0 auto;
	display:grid;
	place-items:center;
	background:rgba(255,122,0,.14);
	color:var(--accent);
	font-weight:900;
	border:1px solid rgba(255,122,0,.22)
}
.mobile-bottom-bar{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:999;
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	background:rgba(12,12,12,.94);
	backdrop-filter:blur(12px);
	border-top:1px solid var(--line-strong);
	box-shadow:0 -10px 40px rgba(0,0,0,.35)
}
.mobile-bottom-link{
	min-height:76px;
	display:grid;
	place-items:center;
	font-size:1rem;
	font-weight:800;
	color:#f1f1f1;
	border-right:1px solid rgba(255,255,255,.06);
	background:none
}
.mobile-bottom-link:last-child{border-right:none}
.mobile-bottom-link.call{
	background:linear-gradient(180deg,var(--accent-2),var(--accent));
	color:#111
}

/* Desktop main */
.desktop-site{display:none;padding:28px 0 0}
.hero-layout{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:26px;
	align-items:stretch
}
.hero-copy,.hero-visual{
	border-radius:32px;
	border:1px solid var(--line);
	box-shadow:var(--shadow);
	overflow:hidden
}
.hero-copy{
	padding:clamp(28px,3vw,44px);
	background:
		radial-gradient(circle at top left, rgba(255,122,0,.12), transparent 26%),
		linear-gradient(180deg,#101010,#070707);
	display:flex;
	flex-direction:column;
	justify-content:center
}
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:10px 16px;
	border-radius:999px;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.08);
	color:#f4f4f4;
	font-weight:700;
	font-size:.92rem;
	width:max-content;
	margin-bottom:20px
}
.hero-copy h1{
	margin:0;
	font-size:clamp(2.7rem,5.2vw,5.3rem);
	line-height:.94;
	letter-spacing:-.06em;
	font-weight:900;
	max-width:14ch
}
.hero-lead{
	margin:14px 0 0;
	font-size:1.2rem;
	line-height:1.45;
	color:#fff;
	font-weight:600;
}
.hero-copy p{
	margin:18px 0 0;
	max-width:58ch;
	font-size:1.08rem;
	color:var(--muted)
}
.hero-cta-row{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px
}
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:58px;
	padding:0 22px;
	border-radius:18px;
	font-weight:800;
	border:1px solid transparent;
	transition:transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
	cursor:pointer
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
	background:linear-gradient(180deg,var(--accent-2),var(--accent));
	color:#111;
	box-shadow:0 0 28px rgba(255,122,0,.22)
}
.btn-secondary{
	background:linear-gradient(180deg,#191919,#121212);
	border-color:rgba(255,255,255,.08);
	color:#fff
}
.hero-meta{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	margin-top:28px
}
.meta-card{
	padding:18px;
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.06);
	border-radius:20px
}
.meta-card strong{
	display:block;
	font-size:1.2rem;
	letter-spacing:-.03em;
	margin-bottom:4px
}
.meta-card span{font-size:.94rem;color:var(--muted)}
.hero-visual{
	position:relative;
	min-height:640px;
	background:
		linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.34)),
		url('../img/fast-help-starts-here.jpg') center center/cover no-repeat
}
.hero-visual::after{
	content:"";
	position:absolute;
	inset:auto 0 0 0;
	height:45%;
	background:linear-gradient(180deg, transparent, rgba(0,0,0,.72))
}
.hero-visual-badge{
	position:absolute;
	left:24px;
	top:24px;
	z-index:2;
	padding:12px 16px;
	border-radius:999px;
	background:rgba(11,11,11,.8);
	border:1px solid rgba(255,255,255,.08);
	backdrop-filter:blur(8px);
	font-weight:800
}
.hero-visual-card{
	position:absolute;
	left:24px;
	right:24px;
	bottom:24px;
	z-index:2;
	padding:22px;
	border-radius:24px;
	background:rgba(9,9,9,.8);
	border:1px solid rgba(255,255,255,.08);
	backdrop-filter:blur(10px)
}
.hero-visual-card h3{
	margin:0 0 8px;
	font-size:1.5rem;
	letter-spacing:-.04em
}
.hero-visual-card p{margin:0;color:var(--muted)}

.section{padding:28px 0}
.section-title-row{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:18px
}
.section-title{
	margin:0;
	font-size:clamp(2rem,3vw,3rem);
	line-height:.98;
	letter-spacing:-.05em
}
.section-intro{
	max-width:64ch;
	color:var(--muted);
	margin:0
}
.trust-strip{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px
}
.trust-item{
	padding:22px;
	border-radius:24px;
	background:linear-gradient(180deg,#151515,#0f0f10);
	border:1px solid rgba(255,255,255,.05);
	text-align:center
}
.trust-item strong{
	display:block;
	font-size:1.1rem;
	margin-bottom:6px;
	letter-spacing:-.03em
}
.trust-item span{color:var(--muted);font-size:.95rem}

.services-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px
}
.service-card{
	display:flex;
	flex-direction:column;
	border-radius:28px;
	overflow:hidden;
	background:linear-gradient(180deg,#141414,#0e0e0f);
	border:1px solid rgba(255,255,255,.05);
	box-shadow:var(--shadow)
}
.service-media{
	aspect-ratio:16/11;
	background:#121212 center center/cover no-repeat;
	border-bottom:1px solid rgba(255,255,255,.05)
}
.service-body{padding:22px}
.service-body h3{
	margin:0 0 10px;
	font-size:1.4rem;
	letter-spacing:-.04em
}
.service-body p{margin:0;color:var(--muted)}

.problem-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px
}
.problem-card{
	padding:24px;
	border-radius:26px;
	background:
		linear-gradient(180deg, rgba(255,122,0,.05), rgba(255,122,0,0)),
		linear-gradient(180deg,#131313,#0c0c0d);
	border:1px solid rgba(255,255,255,.05)
}
.problem-card h3{
	margin:0 0 10px;
	font-size:1.28rem;
	letter-spacing:-.04em
}
.problem-card p{margin:0;color:var(--muted)}

.steps-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px
}
.step-card{
	padding:24px;
	border-radius:26px;
	background:linear-gradient(180deg,#141414,#0d0d0e);
	border:1px solid rgba(255,255,255,.05)
}
.step-num{
	width:44px;
	height:44px;
	border-radius:999px;
	display:grid;
	place-items:center;
	background:rgba(255,122,0,.12);
	color:var(--accent);
	font-weight:900;
	margin-bottom:16px;
	border:1px solid rgba(255,122,0,.2)
}
.step-card h3{
	margin:0 0 10px;
	font-size:1.28rem;
	letter-spacing:-.04em
}
.step-card p{margin:0;color:var(--muted)}

.coverage-card{
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:0;
	border-radius:32px;
	overflow:hidden;
	border:1px solid var(--line);
	box-shadow:var(--shadow);
	background:linear-gradient(180deg,#121212,#0a0a0a)
}
.coverage-copy{padding:34px}
.coverage-copy h2{
	margin:0 0 14px;
	font-size:clamp(2rem,3vw,2.9rem);
	line-height:.98;
	letter-spacing:-.05em
}
.coverage-copy p{
	margin:0 0 18px;
	color:var(--muted);
	max-width:58ch
}
.area-list{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:6px
}
.area-chip{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:10px 14px;
	border-radius:999px;
	background:#151515;
	border:1px solid rgba(255,255,255,.07);
	font-weight:700;
	color:#ededed;
	transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.area-chip:hover{
	transform:translateY(-2px);
	border-color:rgba(255,122,0,.35);
	background:linear-gradient(180deg, #1c1c1c, #131313);
	box-shadow:0 0 18px rgba(255,122,0,.14);
	color:#fff;
}
.area-chip:focus-visible{
	outline:none;
	border-color:rgba(255,122,0,.5);
	box-shadow:0 0 0 4px rgba(255,122,0,.14);
}
.coverage-map{
	min-height:380px;
	background:
		linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28)),
		url('../img/coverage-area.jpg') center center/cover no-repeat
}

/* Shared request section */
.request-help-shared{padding:28px 0 110px}
.contact-grid{
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:18px
}
.contact-card,.form-card{
	border-radius:28px;
	background:linear-gradient(180deg,#141414,#0c0c0d);
	border:1px solid rgba(255,255,255,.05);
	box-shadow:var(--shadow);
	padding:28px
}
.contact-card h2,.form-card h2{
	margin:0 0 16px;
	font-size:2rem;
	line-height:1;
	letter-spacing:-.05em
}
.contact-stack{display:grid;gap:12px}
.contact-item{
	padding:16px 18px;
	border-radius:18px;
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.05)
}
.contact-item strong{
	display:block;
	margin-bottom:4px;
	font-size:1rem
}
.contact-item span,.contact-item a{color:var(--muted)}

.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px
}
.form-field{
	display:flex;
	flex-direction:column;
	gap:8px
}
.form-field.full{grid-column:1 / -1}
.form-label{
	font-weight:700;
	font-size:.95rem
}
.input,.select,.textarea{
	width:100%;
	background:#111;
	border:1px solid rgba(255,255,255,.09);
	color:#fff;
	border-radius:16px;
	padding:16px 16px;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease
}
.input:focus,.select:focus,.textarea:focus{
	border-color:rgba(255,122,0,.5);
	box-shadow:0 0 0 4px rgba(255,122,0,.12)
}
.textarea{
	min-height:140px;
	resize:vertical
}
.form-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:16px
}
.form-note{
	margin-top:14px;
	color:var(--muted);
	font-size:.94rem
}

.alert{
	margin:0 0 18px;
	padding:14px 16px;
	border-radius:18px;
	border:1px solid
}
.alert-success{
	background:rgba(34,197,94,.08);
	border-color:rgba(34,197,94,.28);
	color:#d9ffe6
}
.alert-error{
	background:rgba(255,77,79,.08);
	border-color:rgba(255,77,79,.28);
	color:#ffe0e1
}

.footer{
	padding:30px 0 110px;
	color:var(--muted)
}
.footer-card{
	padding:24px;
	border-radius:24px;
	background:linear-gradient(180deg,#111,#0b0b0c);
	border:1px solid rgba(255,255,255,.05);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:16px
}
.footer-brand{
	display:flex;
	align-items:center;
	gap:14px
}
.footer-brand img{
	height:248px;
	width:auto;
	object-fit:contain
}

.desktop-sticky-cta{
	position:fixed;
	right:22px;
	bottom:22px;
	z-index:998;
	display:none;
	flex-direction:column;
	gap:12px
}
.floating-btn{
	min-width:220px;
	min-height:58px;
	padding:0 20px;
	border-radius:999px;
	box-shadow:0 16px 34px rgba(0,0,0,.34)
}

.footer-legal{
	width:100%;
	padding-top:10px;
	border-top:1px solid rgba(255,255,255,.06);
	text-align:center;
}

.footer-legal p{
	margin:6px 0;
	font-size:.92rem;
	color:var(--muted);
}

.footer-legal a{
	color:#fff;
	text-decoration:underline;
	text-underline-offset:3px;
}

.footer-legal a:hover{
	color:#ffb066;
}

.location-section{
	padding:28px 0;
}

.location-card{
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:18px;
	align-items:stretch;
}

.location-copy,
.location-map-wrap{
	border-radius:28px;
	background:linear-gradient(180deg,#141414,#0c0c0d);
	border:1px solid rgba(255,255,255,.05);
	box-shadow:var(--shadow);
	overflow:hidden;
}

.location-copy{
	padding:28px;
}

.location-map{
	display:block;
	width:100%;
	height:100%;
	min-height:420px;
	border:0;
}

@media (max-width:1080px){
	.location-card{
		grid-template-columns:1fr;
	}

	.location-map{
		min-height:340px;
	}
}

@media (min-width:768px){
	.header-nav{display:flex}
	.header-phone{
		display:inline-flex;
		align-items:center;
		justify-content:center
	}
	.mobile-app-shell{display:none}
	.desktop-site{display:block}
	.desktop-sticky-cta{display:flex}
}

@media (min-width:768px) and (max-width:1080px){
	.hero-layout,.coverage-card,.contact-grid{grid-template-columns:1fr}
	.hero-visual{min-height:460px}
	.services-grid,.problem-grid,.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767.98px){
	body{padding-bottom:92px}
	.site-header{display:none}
	.request-help-shared{padding:22px 0 110px}
	.request-help-shared .contact-grid{grid-template-columns:1fr}
	.request-help-shared .contact-card,
	.request-help-shared .form-card{
		padding:22px;
		border-radius:24px
	}
	.request-help-shared .form-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
	.mobile-grid{grid-template-columns:1fr 1fr}
	.quick-card{min-height:118px;font-size:1.02rem}
	.mobile-hero-top{padding:26px 18px 22px}
	.mobile-actions,.mobile-grid,.mobile-how{
		padding-left:16px;
		padding-right:16px
	}
	.footer-brand img{height:160px}
}

@media (max-width:1080px){
	.hero-copy h1{max-width:none}
	.hero-meta,.trust-strip,.services-grid,.problem-grid,.steps-grid,.form-grid{grid-template-columns:1fr}
}

