:root{
	--primary:#ed7328;
	--primary2:#f19337;
	--navy:#434f71;
	--navy2:#2f3a56;

	--bg:#f9fafb;
	--surface:#ffffff;
	--muted:#eef1f5;

	--text:#1f2937;
	--text2:#4b5563;

	--success:#198754;
	--danger:#dc3545;

	--radius:20px;
	--shadow:0 14px 38px rgba(17,24,39,.12);
	--shadow2:0 8px 22px rgba(17,24,39,.08);
}

*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

html,
body{
	margin:0;
	padding:0;
}

body{
	font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
	background:var(--bg);
	color:var(--text);
	line-height:1.55;
}

a{
	color:inherit;
	text-decoration:none;
}

img{
	max-width:100%;
	display:block;
}

.container{
	width:min(1120px,92vw);
	margin:0 auto;
}

.header{
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(249,250,251,.84);
	backdrop-filter:blur(12px);
	border-bottom:1px solid rgba(67,79,113,.12);
}

.nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:13px 0;
	position:relative;
}

.brand{
	display:flex;
	align-items:center;
	gap:12px;
	color:var(--navy);
	font-weight:900;
}

.brand img{
	height:58px;
	width:auto;
}

.brand-text{
	display:grid;
	line-height:1.1;
}

.brand-text small{
	font-weight:700;
	color:var(--text2);
}

.navlinks{
	display:flex;
	align-items:center;
	gap:18px;
	color:var(--navy);
	font-weight:700;
}

.navlinks a{
	opacity:.86;
}

.navlinks a:hover{
	opacity:1;
	color:var(--primary);
}

.hamburger{
	display:none;
	width:44px;
	height:44px;
	border-radius:14px;
	border:1px solid rgba(67,79,113,.16);
	background:#fff;
	color:var(--navy);
	font-size:20px;
	cursor:pointer;
}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	padding:12px 17px;
	border-radius:999px;
	border:1px solid transparent;
	font-weight:800;
	cursor:pointer;
	transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
	font:inherit;
}

.btn:hover{
	transform:translateY(-1px);
}

.btn-primary{
	background:var(--primary);
	color:#fff;
	box-shadow:0 12px 24px rgba(237,115,40,.28);
}

.btn-primary:hover{
	background:var(--primary2);
}

.btn-ghost{
	background:rgba(67,79,113,.08);
	border-color:rgba(67,79,113,.12);
	color:var(--navy);
}

.btn-ghost:hover{
	background:rgba(67,79,113,.12);
}

.hero{
	position:relative;
	overflow:hidden;
	padding:64px 0 38px;
}

.hero::before{
	content:"";
	position:absolute;
	width:520px;
	height:520px;
	top:-240px;
	left:-230px;
	background:
		radial-gradient(circle at 35% 35%,rgba(237,115,40,.28),transparent 62%),
		radial-gradient(circle at 70% 65%,rgba(67,79,113,.20),transparent 58%);
	pointer-events:none;
}

.hero::after{
	content:"";
	position:absolute;
	width:520px;
	height:520px;
	bottom:-270px;
	right:-250px;
	background:
		radial-gradient(circle at 30% 30%,rgba(67,79,113,.24),transparent 60%),
		radial-gradient(circle at 70% 60%,rgba(237,115,40,.14),transparent 55%);
	pointer-events:none;
}

.hero-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:28px;
	align-items:center;
	position:relative;
	z-index:1;
}

.kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(241,147,55,.17);
	border:1px solid rgba(241,147,55,.35);
	color:var(--navy);
	font-weight:800;
}

.dot{
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--primary);
	box-shadow:0 0 0 6px rgba(237,115,40,.18);
}

h1{
	margin:16px 0 12px;
	font-size:clamp(36px,4.6vw,58px);
	line-height:1.04;
	color:var(--navy);
}

h2{
	margin:0 0 8px;
	color:var(--navy);
	font-size:clamp(25px,2.6vw,36px);
	line-height:1.15;
}

h3{
	color:var(--navy);
}

.lead{
	font-size:18px;
	color:var(--text2);
	max-width:58ch;
	margin:0 0 20px;
}

.hero-actions,
.pills{
	display:flex;
	gap:11px;
	flex-wrap:wrap;
}

.pills{
	margin-top:14px;
}

.pill{
	padding:9px 12px;
	border-radius:999px;
	background:rgba(67,79,113,.07);
	border:1px solid rgba(67,79,113,.12);
	color:var(--navy);
	font-size:14px;
	font-weight:800;
}

.hero-panel{
	background:linear-gradient(145deg,#fff,rgba(255,255,255,.82));
	border:1px solid rgba(67,79,113,.12);
	border-radius:var(--radius);
	box-shadow:var(--shadow);
	padding:18px;
}

.showcase{
	min-height:360px;
	border-radius:18px;
	padding:18px;
	background:
		radial-gradient(900px 420px at 18% 0%,rgba(237,115,40,.22),transparent 56%),
		radial-gradient(700px 420px at 92% 22%,rgba(67,79,113,.22),transparent 58%),
		linear-gradient(135deg,rgba(67,79,113,.08),rgba(241,147,55,.10));
	border:1px dashed rgba(67,79,113,.25);
	display:grid;
	align-content:end;
	gap:12px;
}

.showcase-card{
	background:rgba(255,255,255,.86);
	border:1px solid rgba(67,79,113,.12);
	border-radius:16px;
	padding:14px;
	box-shadow:var(--shadow2);
}

.showcase-card h3{
	margin:0;
}

.showcase-row{
	display:flex;
	align-items:center;
	gap:10px;
	margin-top:9px;
	color:var(--text2);
	font-weight:700;
}

.showcase-row i{
	color:var(--primary);
}

.wave{
	height:36px;
	background:linear-gradient(to right,rgba(237,115,40,.10),rgba(67,79,113,.08),rgba(241,147,55,.10));
	border-top:1px solid rgba(67,79,113,.08);
	border-bottom:1px solid rgba(67,79,113,.08);
	clip-path:polygon(0 50%,8% 60%,18% 40%,28% 62%,40% 38%,52% 60%,62% 40%,74% 62%,86% 38%,100% 55%,100% 100%,0 100%);
}

.section{
	padding:54px 0;
}

.section.alt{
	background:var(--muted);
}

.sub{
	margin:0 0 20px;
	color:var(--text2);
	max-width:74ch;
}

.grid-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:16px;
}

.grid-2{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
	align-items:start;
}

.card{
	background:var(--surface);
	border:1px solid rgba(67,79,113,.10);
	border-radius:var(--radius);
	box-shadow:var(--shadow2);
	padding:20px;
	transition:transform .14s ease,box-shadow .14s ease;
}

.card:hover{
	transform:translateY(-3px);
	box-shadow:var(--shadow);
}

.icon{
	width:46px;
	height:46px;
	border-radius:15px;
	display:grid;
	place-items:center;
	background:rgba(237,115,40,.12);
	border:1px solid rgba(237,115,40,.22);
	color:var(--primary);
	font-size:22px;
	margin-bottom:12px;
}

.card h3{
	margin:0 0 7px;
}

.card p{
	margin:0;
	color:var(--text2);
}

.list{
	display:grid;
	gap:10px;
	margin-top:14px;
}

.li{
	display:flex;
	gap:10px;
	background:rgba(255,255,255,.75);
	border:1px solid rgba(67,79,113,.10);
	padding:13px 14px;
	border-radius:15px;
}

.check{
	width:26px;
	height:26px;
	border-radius:999px;
	background:rgba(237,115,40,.18);
	border:1px solid rgba(237,115,40,.30);
	display:grid;
	place-items:center;
	color:var(--primary);
	flex:0 0 auto;
}

.small{
	font-size:14px;
	color:var(--text2);
}

.product-feature{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	align-items:center;
	background:linear-gradient(135deg,rgba(67,79,113,.98),rgba(47,58,86,.98));
	color:#fff;
	border-radius:28px;
	padding:28px;
	box-shadow:var(--shadow);
	margin-top:22px;
}

.product-feature h3{
	font-size:clamp(28px,3vw,42px);
	line-height:1.1;
	margin:12px 0;
	color:#fff;
}

.product-feature p{
	color:rgba(255,255,255,.78);
	font-size:17px;
}

.product-feature .pill{
	background:rgba(255,255,255,.10);
	border-color:rgba(255,255,255,.18);
	color:#fff;
}

.product-feature .btn{
	margin-top:18px;
}

.product-preview{
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.16);
	border-radius:22px;
	padding:14px;
}

.product-preview img{
	border-radius:18px;
	width:100%;
}

.product-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
	margin-top:18px;
}

.product-card{
	position:relative;
	min-height:230px;
}

.coming-soon{
	position:absolute;
	top:16px;
	right:16px;
	padding:7px 11px;
	border-radius:999px;
	background:rgba(237,115,40,.13);
	border:1px solid rgba(237,115,40,.25);
	color:var(--primary);
	font-size:13px;
	font-weight:800;
}

.badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.08);
	font-weight:800;
}

.contact-info{
	display:grid;
	gap:11px;
}

.contact-line{
	display:flex;
	gap:10px;
	align-items:flex-start;
	background:rgba(255,255,255,.75);
	border:1px solid rgba(67,79,113,.10);
	border-radius:15px;
	padding:13px 14px;
	color:var(--text2);
}

.contact-line i{
	color:var(--primary);
	margin-top:4px;
	width:18px;
	text-align:center;
}

form{
	background:var(--surface);
	border:1px solid rgba(67,79,113,.10);
	border-radius:var(--radius);
	box-shadow:var(--shadow2);
	padding:20px;
}

.field{
	display:grid;
	gap:6px;
	margin-bottom:13px;
}

label{
	font-weight:800;
	color:var(--navy);
}

input,
textarea{
	width:100%;
	padding:12px;
	border-radius:14px;
	border:1px solid rgba(67,79,113,.18);
	font:inherit;
	outline:none;
	background:#fff;
}

input:focus,
textarea:focus{
	border-color:rgba(237,115,40,.65);
	box-shadow:0 0 0 4px rgba(237,115,40,.14);
}

textarea{
	min-height:135px;
	resize:vertical;
}

.privacy-check{
	display:flex;
	gap:9px;
	align-items:flex-start;
	margin-bottom:15px;
	font-size:14px;
	color:var(--text2);
	font-weight:600;
}

.privacy-check input{
	width:auto;
	margin-top:4px;
}

.hp-field{
	position:absolute;
	left:-9999px;
	opacity:0;
	pointer-events:none;
}

.form-message{
	padding:12px 14px;
	border-radius:14px;
	margin-bottom:14px;
	font-weight:700;
}

.form-message.success{
	background:rgba(25,135,84,.11);
	border:1px solid rgba(25,135,84,.25);
	color:var(--success);
}

.form-message.error{
	background:rgba(220,53,69,.10);
	border:1px solid rgba(220,53,69,.22);
	color:var(--danger);
}

.footer{
	background:var(--navy);
	color:rgba(255,255,255,.88);
	padding:36px 0;
}

.footer-grid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:18px;
}

.footer p{
	margin:8px 0;
	color:rgba(255,255,255,.72);
}

.footer a{
	text-decoration:underline;
	text-decoration-color:rgba(255,255,255,.35);
}

.footer .badge{
	border-color:rgba(255,255,255,.18);
	background:rgba(255,255,255,.08);
	color:#fff;
}

.to-top{
	position:fixed;
	right:18px;
	bottom:18px;
	width:44px;
	height:44px;
	border:0;
	border-radius:999px;
	background:var(--primary);
	color:#fff;
	box-shadow:var(--shadow2);
	cursor:pointer;
	display:none;
}

.to-top.show{
	display:block;
}

.pagehead{
	padding:44px 0 16px;
}

.page-content{
	background:#fff;
	border-radius:var(--radius);
	box-shadow:var(--shadow2);
	border:1px solid rgba(67,79,113,.10);
	padding:24px;
	margin-bottom:54px;
}

.page-content h1{
	font-size:clamp(32px,4vw,48px);
	margin-top:0;
}

.page-content h2{
	margin-top:30px;
	font-size:24px;
}

.page-content p,
.page-content li{
	color:var(--text2);
}

.page-content a{
	color:var(--navy);
	font-weight:700;
	text-decoration:underline;
}

@media(max-width:1040px){
	.navlinks{
		display:none;
	}

	.hamburger{
		display:inline-grid;
		place-items:center;
	}

	.nav.open .navlinks{
		display:flex;
		position:absolute;
		top:72px;
		left:0;
		right:0;
		flex-direction:column;
		align-items:flex-start;
		background:rgba(255,255,255,.96);
		border:1px solid rgba(67,79,113,.14);
		border-radius:18px;
		padding:16px;
		box-shadow:var(--shadow);
	}
}

@media(max-width:900px){
	.hero-grid,
	.grid-2,
	.grid-3,
	.product-feature,
	.product-grid,
	.footer-grid{
		grid-template-columns:1fr;
	}

	.hero{
		padding-top:42px;
	}

	.showcase{
		min-height:280px;
	}

	.brand-text{
		display:none;
	}
}

@media(max-width:560px){
	.nav-cta{
		display:none;
	}

	.section{
		padding:42px 0;
	}

	.hero-actions .btn{
		width:100%;
	}

	.product-feature{
		padding:22px;
	}
}