:root {
 --navy:#071d41;
 --navy2:#0d3268;
 --blue:#1769b0;
 --sky:#eaf5ff;
 --red:#e12632;
 --yellow:#ffc928;
 --gold:#f5a900;
 --green:#0b9a5a;
 --text:#172033;
 --muted:#667085;
 --line:#e6ebf2;
 --white:#fff;
 --soft:#f5f8fc;
 --shadow:0 14px 40px rgba(7,29,65,.10);
 --shadow2:0 24px 65px rgba(7,29,65,.18);
 --radius:22px;
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	color: var(--text);
	background: #fff;
	line-height: 1.55;
}
a {
	text-decoration: none;
	color: inherit;
}
button {
	font-family: inherit;
}
.container {
	width: min(1180px, 92%);
	margin: auto;
}
/* ================= TOP BAR ================= */

.topbar {
	background: linear-gradient(90deg, var(--navy), #123f7b);
	color: #fff;
	font-size: 12px;
	padding: 9px 0;
}
.topbar .container {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
/* ================= NAV ================= */

.nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(7,29,65,.08);
}
.nav-inner {
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.logo {
	font-size: 24px;
	font-weight: 900;
	color: var(--navy);
	letter-spacing: -1px;
}
.logo span {
	color: var(--red);
}
.navlinks {
	display: flex;
	gap: 25px;
	align-items: center;
	font-size: 14px;
	font-weight: 800;
	color: #344054;
}
.navlinks a {
	transition: .25s ease;
}
.navlinks a:hover {
	color: var(--red);
}
.nav-btn {
	background: var(--red);
	color: #fff!important;
	padding: 12px 20px;
	border-radius: 10px;
	box-shadow: 0 8px 18px rgba(225,38,50,.22);
}
.nav-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 25px rgba(225,38,50,.30);
}
/* ================= HERO ================= */

.hero {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 82% 15%, rgba(255,201,40,.30), transparent 20%),  radial-gradient(circle at 15% 80%, rgba(23,105,176,.12), transparent 30%),  linear-gradient(135deg, #eef7ff 0%, #fff 58%, #f8fbff 100%);
	padding: 78px 0 82px;
}
.hero:before {
	content: "";
	position: absolute;
	width: 430px;
	height: 430px;
	border-radius: 50%;
	border: 1px solid rgba(23,105,176,.10);
	right: -160px;
	bottom: -220px;
}
.hero:after {
	content: "";
	position: absolute;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: rgba(255,201,40,.09);
	left: -120px;
	top: -110px;
}
.hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
 grid-template-columns:1.05fr .95fr;
	align-items: center;
	gap: 45px;
}
.badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #dcecff;
	color: var(--red);
	padding: 8px 14px;
	border-radius: 30px;
	font-size: 12px;
	font-weight: 900;
	box-shadow: 0 8px 25px rgba(7,29,65,.06);
}
.hero h1 {
	font-size: 56px;
	line-height: 1.02;
	margin: 20px 0 18px;
	color: var(--navy);
	letter-spacing: -2.5px;
}
.hero h1 span {
	background: linear-gradient(90deg, var(--red), #f04c3d);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.hero p {
	font-size: 18px;
	color: #536174;
	max-width: 660px;
}
.hero-actions {
	display: flex;
	gap: 12px;
	margin-top: 29px;
	flex-wrap: wrap;
}
.btn {
	display: inline-block;
	padding: 14px 23px;
	border-radius: 11px;
	font-weight: 900;
	transition: .28s ease;
}
.btn-primary {
	background: var(--red);
	color: #fff;
	box-shadow: 0 10px 25px rgba(225,38,50,.20);
}
.btn-primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(225,38,50,.28);
}
.btn-secondary {
	background: #fff;
	border: 1px solid #d8e0eb;
	color: var(--navy);
}
.btn-secondary:hover {
	border-color: var(--blue);
	color: var(--blue);
	transform: translateY(-3px);
}
.hero-note {
	font-size: 13px;
	color: #667085;
	margin-top: 15px;
}
/* ================= MAGAZINE STACK ================= */

.magazine-stack {
	position: relative;
	min-height: 405px;
}
.cover-img {
	position: absolute;
	width: 245px;
	height: 335px;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	border: 5px solid #fff;
	box-shadow: 0 25px 55px rgba(7,29,65,.24);
	transition: .45s ease;
	cursor: pointer;
}
.cover-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.cover-img:hover {
	transform: translateY(-18px) rotate(0deg) scale(1.055);
	z-index: 8;
	box-shadow: 0 38px 78px rgba(7,29,65,.32);
}
.cover-img-one {
	right: 90px;
	top: 15px;
	transform: rotate(6deg);
}
.cover-img-two {
	right: 235px;
	top: 45px;
	transform: rotate(-7deg);
}
.cover-img-three {
	right: 15px;
	top: 85px;
	transform: rotate(15deg);
}
/* ================= SECTION ================= */

.section {
	padding: 82px 0;
}
.section.alt {
	background: linear-gradient(180deg, #f6f9fd, #eef4fa);
}
.section-head {
	text-align: center;
	max-width: 770px;
	margin: 0 auto 44px;
}
.section-head h2 {
	font-size: 38px;
	line-height: 1.1;
	color: var(--navy);
	margin: 0 0 12px;
	letter-spacing: -1px;
}
.section-head p {
	color: var(--muted);
	margin: 0;
	font-size: 15px;
}
/* ================= FEATURES ================= */

.features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.feature {
	position: relative;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	box-shadow: 0 7px 25px rgba(7,29,65,.05);
	overflow: hidden;
	transition: .3s ease;
	cursor: pointer;
}
.feature:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, var(--red), var(--yellow));
	transform: scaleX(0);
	transform-origin: left;
	transition: .3s ease;
}
.feature:hover {
	transform: translateY(-9px);
	border-color: #c9dff4;
	box-shadow: var(--shadow2);
}
.feature:hover:before {
	transform: scaleX(1);
}
.icon {
	width: 52px;
	height: 52px;
	border-radius: 15px;
	background: #eef6ff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 25px;
	margin-bottom: 15px;
	transition: .3s ease;
}
.feature:hover .icon {
	background: var(--navy);
	transform: rotate(-4deg) scale(1.08);
}
.feature h3 {
	font-size: 18px;
	color:red;
	margin: 0 0 7px;
}
.feature p {
	font-size: 13px;
	color: var(--muted);
	margin: 0;
}
/* ================= GALLERY ================= */

.cover-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: end;
}
.gallery-card {
	position: relative;
	background: linear-gradient(180deg, #f7faff, #fff);
	border: 1px solid #e2e9f2;
	border-radius: 22px;
	padding: 25px;
	text-align: center;
	box-shadow: 0 10px 32px rgba(7,29,65,.07);
	transition: .35s ease;
	overflow: hidden;
}
.gallery-card:hover {
	transform: translateY(-12px);
	box-shadow: 0 28px 60px rgba(7,29,65,.16);
	border-color: #bfd8ee;
}
.gallery-card img {
	width: min(210px, 72%);
	aspect-ratio: 600/820;
	object-fit: cover;
	border-radius: 7px;
	box-shadow: 0 20px 35px rgba(7,29,65,.22);
	transition: .35s ease;
	margin-bottom: 20px;
}
.gallery-card:hover img {
	transform: scale(1.035) rotate(-1deg);
}
.gallery-card div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.gallery-card b {
	color: var(--navy);
	font-size: 17px;
}
.gallery-card span {
	font-size: 13px;
	color: var(--muted);
}
.gallery-badge {
	position: absolute;
	right: 17px;
	top: 17px;
	background: var(--red);
	color: #fff!important;
	font-size: 10px!important;
	font-weight: 900;
	padding: 6px 9px;
	border-radius: 15px;
	z-index: 2;
}
/* ================= TABS ================= */

.tabs {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.tab {
	border: 1px solid #d6deea;
	background: #fff;
	color: var(--navy);
	padding: 11px 23px;
	border-radius: 30px;
	font-weight: 900;
	cursor: pointer;
	transition: .25s ease;
}
.tab:hover {
	border-color: var(--red);
	color: var(--red);
	transform: translateY(-2px);
}
.tab.active {
	background: var(--navy);
	color: #fff;
	border-color: var(--navy);
	box-shadow: 0 9px 22px rgba(7,29,65,.18);
}
/* ================= SUBSCRIPTION SLIDER ================= */

.subscription-slider {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
}
.plans-window{
	overflow:hidden;
	width:100%;
	padding:18px 0 20px;
}
.plan-grid{
	display:flex;
	gap:22px;
	padding:5px 0 8px;
	transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.plan {
	flex: 0 0 calc((100% - 44px)/3);
	min-width: 0;
	background: #fff;
	border: 1px solid #e1e7ef;
	border-radius: 21px;
	padding: 35px 16px;
	box-shadow: var(--shadow);
	position: relative;
	transition: .35s cubic-bezier(.2, .8, .2, 1);
	overflow: hidden;
}
.plan:after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 21px;
	border: 2px solid transparent;
	pointer-events: none;
	transition: .3s ease;
}
.plan:hover{
	transform:translateY(-5px);
	box-shadow:var(--shadow2);
	border-color:#c4d9ed;
}
.plan:hover:after {
	border-color: rgba(23,105,176,.25);
}
.plan.popular {
	border: 2px solid var(--red);
	box-shadow: 0 22px 55px rgba(225,38,50,.14);
}
.plan.popular:hover{
	transform:translateY(-5px);
	box-shadow:0 28px 70px rgba(225,38,50,.20);
}
.ribbon {
	position: absolute;
	right: 18px;
	top: 5px;
	background: var(--red);
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	padding: 6px 10px;
	border-radius: 20px;
	letter-spacing: .5px;
}
.plan h3 {
	font-size: 20px;
	color: var(--navy);
	margin: 0 0 8px;
}
.plan .sub {
	font-size: 13px;
	color: var(--muted);
}
.price {
	font-size: 35px;
	font-weight: 900;
	color: var(--navy);
	margin: 7px 0 2px;
}
.price del {
	font-size: 15px;
	color: #98a2b3;
	font-weight: 500;
	margin-left: 7px;
}
.save {
	color: var(--green);
	font-size: 12px;
	font-weight: 900;
}
.plan ul {
	list-style: none;
	padding: 0;
	margin: 22px 0;
}
.plan li {
	padding: 10px 0;
	border-bottom: 1px solid #eef1f5;
	font-size: 13px;
	color: #465365;
	transition: .2s ease;
}
.plan li:before {
	content: "✓";
	color: var(--green);
	font-weight: 900;
	margin-right: 9px;
}
.plan:hover li {
	color: var(--navy);
}
.full-btn {
	width: 100%;
	text-align: center;
	background: var(--navy);
	color: #fff;
	padding: 13px;
	border-radius: 10px;
	font-weight: 900;
	display: block;
	transition: .25s ease;
}
.full-btn:hover {
	background: var(--red);
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(225,38,50,.20);
}
/* ================= SLIDER ARROWS ================= */

.slider-arrow {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border: 1px solid #d6deea;
	background: #fff;
	color: var(--navy);
	border-radius: 50%;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(7,29,65,.10);
	transition: .25s ease;
	z-index: 5;
}
.slider-arrow:hover {
	background: var(--navy);
	color: #fff;
	transform: scale(1.06);
}
.slider-arrow:disabled {
	opacity: .35;
	cursor: not-allowed;
	transform: none;
}
.slider-status {
	text-align: center;
	margin-top: 22px;
	font-size: 13px;
	font-weight: 800;
	color: var(--muted);
}
/* ================= COMBOS ================= */

.combo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.combo {
	position: relative;
	background: #fff;
	border-radius: 21px;
	padding: 28px;
	border: 1px solid #e2e8f0;
	box-shadow: var(--shadow);
	transition: .35s ease;
	overflow: hidden;
}
.combo:before {
	content: "";
	position: absolute;
	left: -40px;
	top: -40px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: rgba(255,201,40,.16);
	transition: .35s ease;
}
.combo:hover {
	transform: translateY(-10px);
	box-shadow: var(--shadow2);
	border-color: #c9dff4;
}
.combo:hover:before {
	transform: scale(1.7);
}
.combo .tag {
	position: relative;
	display: inline-block;
	background: #fff4c9;
	color: red;
	font-size: 17px;
	font-weight: 900;
	padding: 6px 9px;
	border-radius: 15px;
}
.combo h3 {
	position: relative;
	color: var(--navy);
	font-size: 20px;
	margin: 15px 0 8px;
}
.combo p {
	position: relative;
	color: #667085;
	font-size: 13px;
}
.combo .price {
	position: relative;
	font-size: 30px;
	margin: 15px 0 20px;
}
/* ================= STEPS ================= */

.steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.step {
	text-align: center;
	padding: 25px 15px;
	border-radius: 18px;
	transition: .3s ease;
}
.step:hover {
	background: #fff;
	box-shadow: var(--shadow);
	transform: translateY(-7px);
}
.step-no {
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: var(--navy);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
	font-weight: 900;
	font-size: 18px;
	transition: .3s ease;
}
.step:hover .step-no {
	background: var(--red);
	transform: scale(1.1);
}
.step h3 {
	font-size: 16px;
	margin: 0 0 6px;
	color: var(--navy);
}
.step p {
	font-size: 13px;
	color: var(--muted);
	margin: 0;
}
/* ================= FAQ ================= */

.faq {
	max-width: 850px;
	margin: auto;
}
details {
	background: #fff;
	border: 1px solid transparent;
	border-bottom: 1px solid #e6eaf0;
	padding: 18px 20px;
	margin-bottom: 7px;
	border-radius: 12px;
	transition: .25s ease;
}
details:hover {
	border-color: #dce8f5;
	background: #f9fcff;
}
details[open] {
	border-color: #cfe0f1;
	box-shadow: 0 8px 25px rgba(7,29,65,.06);
}
summary {
	cursor: pointer;
	font-weight: 900;
	color: var(--navy);
	list-style: none;
}
 summary::-webkit-details-marker {
 display:none;
}
summary:after {
	content: "+";
	float: right;
	font-size: 20px;
	color: var(--red);
}
details[open] summary:after {
	content: "−";
}
details p {
	color: var(--muted);
	font-size: 14px;
	padding-right: 30px;
	margin-bottom: 2px;
}
/* ================= CTA ================= */

.cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--navy), #135da1);
	color: #fff;
	padding: 15px 0 65px 0;
}
.cta:before, .cta:after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.12);
}
.cta:before {
	width: 350px;
	height: 350px;
	left: -150px;
	top: -180px;
}
.cta:after {
	width: 430px;
	height: 430px;
	right: -220px;
	bottom: -280px;
}
.cta .container {
	position: relative;
	z-index: 1;
}
.cta h2 {
	font-size: 38px;
	margin: 0 0 10px;
}
.cta p {
	color: var(--navy);
	margin: 0 0 10px;
	font-size:16px;
}
.cta .btn-primary {
	background: var(--yellow);
	color: var(--navy);
	box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.cta .btn-primary:hover {
	background: #ffd94f;
}
/* ================= FOOTER ================= */

.footer {
	background: #061833;
	color: #c8d3e3;
	padding: 42px 0 20px;
	font-size: 13px;
}
.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
}
.footer h3 {
	color: #fff;
	margin-top: 0;
}
.footer a {
	display: block;
	margin: 8px 0;
	transition: .2s ease;
}
.footer a:hover {
	color: #fff;
	transform: translateX(4px);
}
.copyright {
	border-top: 1px solid rgba(255,255,255,.12);
	margin-top: 30px;
	padding-top: 18px;
	text-align: center;
	color: #8fa1bb;
}

/* ================= RESPONSIVE ================= */

@media(max-width:900px) {
.hero-grid,  .combo-grid {
	grid-template-columns: 1fr;
}
.features {
	grid-template-columns: repeat(2, 1fr);
}
.steps {
	grid-template-columns: repeat(2, 1fr);
}
.hero h1 {
	font-size: 43px;
}
.magazine-stack {
	margin-top: 15px;
}
.navlinks {
	display: none;
}
.plan {
	flex: 0 0 calc((100% - 22px)/2);
}
.cover-gallery {
	grid-template-columns: 1fr;
}
.gallery-card img {
	width: 210px;
}
.footer-grid {
	grid-template-columns: 1fr 1fr;
}
}
 @media(max-width:560px) {
.features,  .steps {
	grid-template-columns: 1fr;
}
.hero {
	padding: 48px 0;
}
.hero h1 {
	font-size: 36px;
}
.hero p {
	font-size: 16px;
}
.magazine-stack {
	min-height: 330px;
	transform: scale(.80);
	transform-origin: center;
}
.section {
	padding: 58px 0;
}
.section-head h2 {
	font-size: 29px;
}
.topbar .container {
	justify-content: center;
}
.topbar .right {
	display: none;
}
.subscription-slider {
	gap: 7px;
}
.slider-arrow {
	width: 38px;
	height: 38px;
	flex-basis: 38px;
	font-size: 23px;
}
.plan {
	flex: 0 0 100%;
}
.footer-grid {
	grid-template-columns: 1fr;
}
}

/* ================= EXTRA MOBILE NAV ================= */

@media(max-width:700px) {
.nav-inner {
	height: 68px;
}
.logo {
	font-size: 18px;
}
.hero-actions .btn {
	width: 100%;
	text-align: center;
}
}
/* ================= HIDDEN PLAN CONTAINER ================= */

#onlinePlans {
	display: none;
}
/* Mobile devices */
@media screen and (max-width: 767px) {
    .cover-img-one {
       right: 20px;
       top: -35px;
    }
    .cover-img-two {
        right: 90px;
    top: 45px;
    }
    .cover-img-three {
    right: -45px;
    top: 85px;
    }
}